Next: 6.7 Packages Related to
Up: 6.6 Sea Ice Packages
Previous: 6.6.1 THSICE: The Thermodynamic
Contents
Subsections
6.6.2 SEAICE Package
Authors: Martin Losch, Dimitris Menemenlis, An Nguyen, Jean-Michel Campin,
Patrick Heimbach, Chris Hill and Jinlun Zhang
6.6.2.1 Introduction
Package ``seaice'' provides a dynamic and thermodynamic interactive
sea-ice model.
CPP options enable or disable different aspects of the package
(Section 6.6.2.2).
Runtime options, flags, filenames and field-related dates/times are
set in data.seaice
(Section 6.6.2.3).
A description of key subroutines is given in Section
6.6.2.5.
Input fields, units and sign conventions are summarized in
Section , and available diagnostics
output is listed in Section .
6.6.2.2.1 Compile-time options
As with all MITgcm packages, SEAICE can be turned on or off at compile time
- using the packages.conf file by adding seaice to it,
- or using genmake2 adding
-enable=seaice or -disable=seaice switches
- required packages and CPP options:
SEAICE requires the external forcing package exf to be enabled;
no additional CPP options are required.
(see Section 3.4).
Parts of the SEAICE code can be enabled or disabled at compile time
via CPP preprocessor flags. These options are set in either
SEAICE_OPTIONS.h or in ECCO_CPPOPTIONS.h.
Table 6.6.2.2 summarizes these options.
Table 6.15:
|
CPP option |
Description |
|
SEAICE_DEBUG |
Enhance STDOUT for debugging |
|
SEAICE_ALLOW_DYNAMICS |
sea-ice dynamics code |
|
SEAICE_CGRID |
LSR solver on C-grid (rather than original B-grid |
|
SEAICE_ALLOW_EVP |
use EVP rather than LSR rheology solver |
|
SEAICE_EXTERNAL_FLUXES |
use EXF-computed fluxes as starting point |
|
SEAICE_MULTICATEGORY |
enable 8-category thermodynamics |
|
SEAICE_VARIABLE_FREEZING_POINT |
enable linear dependence of the freezing point on salinity |
|
ALLOW_SEAICE_FLOODING |
enable snow to ice conversion for submerged sea-ice |
|
SEAICE_SALINITY |
enable "salty" sea-ice |
|
SEAICE_CAP_HEFF |
enable capping of sea-ice thickness to MAX_HEFF |
|
6.6.2.3 Run-time parameters
Run-time parameters are set in files
data.pkg (read in packages_readparms.F),
and data.seaice (read in seaice_readparms.F).
A package is switched on/off at runtime by setting
(e.g. for SEAICE) useSEAICE = .TRUE. in data.pkg.
|
|
|
|
|
|
Name |
Default value
|
Description |
Reference |
|
|
|
|
|
|
SEAICEwriteState |
T
|
write sea ice state to file
|
|
|
SEAICEuseDYNAMICS |
T
|
use dynamics
|
|
|
LAD |
2
|
time stepping scheme
|
|
|
IMAX_TICE |
10
|
iterations for ice heat budget
|
|
|
SEAICE_deltaTtherm |
3.60000E+03
|
thermodynamic timestep
|
|
|
SEAICE_deltaTdyn |
3.60000E+03
|
dynamic timestep
|
|
|
SEAICE_dumpFreq |
0.00000E+00
|
dump frequency
|
|
|
SEAICE_taveFreq |
3.60000E+04
|
time-averaging frequency
|
|
|
SEAICE_dump_mdsio |
T
|
write snap-shot using MDSIO
|
|
|
SEAICE_tave_mdsio |
T
|
write TimeAverage using MDSIO
|
|
|
SEAICE_dump_mnc |
F
|
write snap-shot using MNC
|
|
|
SEAICE_tave_mnc |
F
|
write TimeAverage using MNC
|
|
|
SEAICE_initialHEFF |
1.00000E+00
|
initial sea-ice thickness
|
|
|
SEAICE_drag |
2.00000E-03
|
air-ice drag coefficient
|
|
|
OCEAN_drag |
1.00000E-03
|
air-ocean drag coefficient
|
|
|
SEAICE_waterDrag |
5.50000E+00
|
water-ice drag
|
|
|
SEAICE_dryIceAlb |
7.50000E-01
|
winter albedo
|
|
|
SEAICE_wetIceAlb |
6.60000E-01
|
summer albedo
|
|
|
SEAICE_drySnowAlb |
8.40000E-01
|
dry snow albedo
|
|
|
SEAICE_wetSnowAlb |
7.00000E-01
|
wet snow albedo
|
|
|
SEAICE_waterAlbedo |
1.00000E-01
|
water albedo
|
|
|
SEAICE_strength |
2.75000E+04
|
sea-ice strength Pstar
|
|
|
SEAICE_sensHeat |
2.28400E+00
|
sensible heat transfer
|
|
|
SEAICE_latentWater |
5.68750E+03
|
latent heat transfer for water
|
|
|
SEAICE_latentIce |
6.44740E+03
|
latent heat transfer for ice
|
|
|
SEAICE_iceConduct |
2.16560E+00
|
sea-ice conductivity
|
|
|
SEAICE_snowConduct |
3.10000E-01
|
snow conductivity
|
|
|
SEAICE_emissivity |
5.50000E-08
|
Stefan-Boltzman
|
|
|
SEAICE_snowThick |
1.50000E-01
|
cutoff snow thickness
|
|
|
SEAICE_shortwave |
3.00000E-01
|
penetration shortwave radiation
|
|
|
SEAICE_freeze |
-1.96000E+00
|
freezing temp. of sea water
|
|
|
LSR_ERROR |
1.00000E-12
|
sets accuracy of LSR solver
|
|
|
DIFF1 |
4.00000E-03
|
parameter used in advect.F
|
|
|
A22 |
1.50000E-01
|
parameter used in growth.F
|
|
|
HO |
5.00000E-01
|
demarcation ice thickness
|
|
|
MAX_HEFF |
1.00000E+01
|
maximum ice thickness
|
|
|
MIN_ATEMP |
-5.00000E+01
|
minimum air temperature
|
|
|
MIN_LWDOWN |
6.00000E+01
|
minimum downward longwave
|
|
|
MAX_TICE |
3.00000E+01
|
maximum ice temperature
|
|
|
MIN_TICE |
-5.00000E+01
|
minimum ice temperature
|
|
|
SEAICE_EPS |
1.00000E-10
|
reduce derivative singularities
|
|
6.6.2.4 Description
[TO BE CONTINUED/MODIFIED]
Sea-ice model thermodynamics are based on Hibler
Hibler, III [1980], that is, a 2-category model that simulates ice thickness
and concentration. Snow is simulated as per Zhang et al.
Zhang et al. [1998]. Although recent years have seen an increased use of
multi-category thickness distribution sea-ice models for climate
studies, the Hibler 2-category ice model is still the most widely used
model and has resulted in realistic simulation of sea-ice variability
on regional and global scales. Being less complicated, compared to
multi-category models, the 2-category model permits easier application
of adjoint model optimization methods.
Note, however, that the Hibler 2-category model and its variants use a
so-called zero-layer thermodynamic model to estimate ice growth and
decay. The zero-layer thermodynamic model assumes that ice does not
store heat and, therefore, tends to exaggerate the seasonal
variability in ice thickness. This exaggeration can be significantly
reduced by using Semtner's Semtner [1976] three-layer thermodynamic
model that permits heat storage in ice. Recently, the three-layer
thermodynamic model has been reformulated by Winton Winton [2000]. The
reformulation improves model physics by representing the brine content
of the upper ice with a variable heat capacity. It also improves
model numerics and consumes less computer time and memory. The Winton
sea-ice thermodynamics have been ported to the MIT GCM; they currently
reside under pkg/thsice. At present pkg/thsice is not fully
compatible with pkg/seaice and with pkg/exf. But the eventual
objective is to have fully compatible and interchangeable
thermodynamic packages for sea-ice, so that it becomes possible to use
Hibler dynamics with Winton thermodyanmics.
The ice dynamics models that are most widely used for large-scale
climate studies are the viscous-plastic (VP) model Hibler, III [1979], the
cavitating fluid (CF) model Flato and Hibler, III [1992], and the
elastic-viscous-plastic (EVP) model Hunke and Dukowicz [1997]. Compared to the VP
model, the CF model does not allow ice shear in calculating ice
motion, stress, and deformation. EVP models approximate VP by adding
an elastic term to the equations for easier adaptation to parallel
computers. Because of its higher accuracy in plastic solution and
relatively simpler formulation, compared to the EVP model, we decided
to use the VP model as the dynamic component of our ice model. To do
this we extended the alternating-direction-implicit (ADI) method of
Zhang and Rothrock Zhang and Rothrock [2000] for use in a parallel configuration.
The sea ice model requires the following input fields: 10-m winds, 2-m
air temperature and specific humidity, downward longwave and shortwave
radiations, precipitation, evaporation, and river and glacier runoff.
The sea ice model also requires surface temperature from the ocean
model and third level horizontal velocity which is used as a proxy for
surface geostrophic velocity. Output fields are surface wind stress,
evaporation minus precipitation minus runoff, net surface heat flux,
and net shortwave flux. The sea-ice model is global: in ice-free
regions bulk formulae are used to estimate oceanic forcing from the
atmospheric fields.
6.6.2.5 Key subroutines
Top-level routine: exf_getforcing.F
C !CALLING SEQUENCE:
c ...
c seaice_model (TOP LEVEL ROUTINE)
c |
c |-- #ifdef SEAICE_CGRID
c | SEAICE_DYNSOLVER
c | |
c | |-- < compute proxy for geostrophic velocity >
c | |
c | |-- < set up mass per unit area and Coriolis terms >
c | |
c | |-- < dynamic masking of areas with no ice >
c | |
c | |
c | #ELSE
c | DYNSOLVER
c | #ENDIF
c |
c |-- if ( useOBCS )
c | OBCS_APPLY_UVICE
c |
c |-- if ( SEAICEadvHeff .OR. SEAICEadvArea .OR. SEAICEadvSnow .OR. SEAICEadvSalt )
c | SEAICE_ADVDIFF
c |
c |-- if ( usePW79thermodynamics )
c | SEAICE_GROWTH
c |
c |-- if ( useOBCS )
c | if ( SEAICEadvHeff ) OBCS_APPLY_HEFF
c | if ( SEAICEadvArea ) OBCS_APPLY_AREA
c | if ( SEAICEadvSALT ) OBCS_APPLY_HSALT
c | if ( SEAICEadvSNOW ) OBCS_APPLY_HSNOW
c |
c |-- < do various exchanges >
c |
c |-- < do additional diagnostics >
c |
c o
6.6.2.6 EXF diagnostics
Diagnostics output is available via the diagnostics package
(see Section 7.1).
Available output fields are summarized in
Table 6.6.2.6.
Table 6.16:
 |
6.6.2.7 Experiments and tutorials that use seaice
- Labrador Sea experiment in lab_sea verification directory.
Next: 6.7 Packages Related to
Up: 6.6 Sea Ice Packages
Previous: 6.6.1 THSICE: The Thermodynamic
Contents
mitgcm-support@mitgcm.org
| Copyright © 2006
Massachusetts Institute of Technology |
Last update 2008-09-06 |
 |
|