Home Contact Us Site Map  
 
       
    next up previous contents
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 SEAICE configuration, compiling & running


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).

6.6.2.3.1 Enabling the package

 
A package is switched on/off at runtime by setting (e.g. for SEAICE) useSEAICE = .TRUE. in data.pkg.

6.6.2.3.2 General flags and parameters

 


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:  
\begin{table}\centering
{\footnotesize
\begin{verbatim}---------+----+----+---...
... \vert Meridional Diffusive Flux of seaice salinity\end{verbatim}
}\end{table}



6.6.2.7 Experiments and tutorials that use seaice

  • Labrador Sea experiment in lab_sea verification directory.


next up previous contents
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