where is specific heat of liquid fresh water, is the specific heat of fresh ice, is latent heat of freezing, is density of ice and is melting temperature of ice with salinity of 1. The height of a new layer of ice is The surface skin temperature and ice temperatures , and the sea surface temperature are set at . ( There is provision for fractional ice: new ice is formed over open water; the first freezing in the cell must have a height of himin0; this determines the ice fraction compact. If there is already ice in the grid cell, the new ice must have the same height and the new ice fraction is
The main subroutine of this package is ice_therm.F where the ice temperatures are calculated and the changes in ice and snow thicknesses are determined. Output provides the net heat and fresh water fluxes that force the top layer of the ocean model. If the current ice height is less than himin then the ice layer is set to zero and the ocean model upper layer temperature is allowed to drop lower than its freezing temperature; and atmospheric fluxes are allowed to effect the grid cell. If the ice height is greater than himin we proceed with the ice model calculation. We follow the procedure of Winton (1999) - see equations 3 to 21 - to calculate the surface and internal ice temperatures. The surface temperature is found from the balance of the flux at the surface , the shortwave heat flux absorbed by the ice, fswint, and the upward conduction of heat through the snow and/or ice, . We linearize about the surface temperature, , at the previous timestep (where indicates the value at the previous timestep): The conductive flux to the surface is
From the above equations we can develop a system of equations to
find the skin surface temperature, and the two ice layer
temperatures (see Winton, 1999, for details). We solve these
equations iteratively until the change in is small.
When the surface temperature is greater then
the melting temperature of the surface, the temperatures are
recalculated setting to 0. The enthalpy
of the ice layers are calculated in order to keep track of the energy in the
ice model. Enthalpy is defined, here, as the energy required to melt a
unit mass of seaice with temperature .
For the upper layer (1) with brine pockets and
the lower fresh layer (2):
where is specific heat of liquid fresh water, is the specific heat of fresh ice, and is latent heat of melting fresh ice.
From the new ice temperatures, we can calculate
the energy flux at the surface available for melting (if =0)
and the energy at the ocean-ice interface for either melting or freezing.
where is the heat flux at the ice bottom due to the sea surface temperature variations from freezing. If is above freezing, , is the heat transfer coefficient and is frictional velocity between ice and water. If is below freezing, and set to . We also include the energy from lower layers that drop below freezing, and set those layers to . If we melt snow from the surface, if all the snow is melted and there is energy left, we melt the ice. If the ice is all gone and there is still energy left, we apply the left over energy to heating the ocean model upper layer (See Winton, 1999, equations 27-29). Similarly if we melt ice from the bottom. If all the ice is melted, the snow is melted (with energy from the ocean model upper layer if necessary). If we grow ice at the bottom If there is a ice layer and the overlying air temperature is below 0C then any precipitation, joins the snow layer: For practical reasons we limit the ice growth to hilim and snow is limited to hslim. We converts any ice and/or snow above these limits back to water, maintaining the salt balance. Note however, that heat is not conserved in this conversion; sea surface temperatures below the ice are not recalculated. If the snow/ice interface is below the waterline, snow is converted to ice (see Winton, 1999, equations 35 and 36). The subroutine new_layers_winton.F, described below, repartitions the ice into equal thickness layers while conserving energy. The subroutine ice_therm.F now calculates the heat and fresh water fluxes affecting the ocean model surface layer. The heat flux: (There is a provision for fractional ice: If ice height is above hihig then all energy from freezing at sea surface is used only in the open water aparts of the cell (ie. will only have the conduction term). The melt energy is partitioned by frac_energy between melting ice height and ice extent. However, once ice height drops below himon0 then all energy melts ice extent.
subroutine SFC_ALBEDO The routine ice_therm.F calls this routine to determine the surface albedo. There are two calculations provided here: 1) from LANL CICE model 2) From GISS model (Hansen et al 1983)
subroutine NEW_LAYERS_WINTON The subroutine new_layers_winton.F repartitions the ice into equal thickness layers while conserving energy. We pass to this subroutine, the ice layer enthalpies after melting/growth and the new height of the ice layers. The ending layer height should be half the sum of the new ice heights from ice_therm.F. The enthalpies of the ice layers are adjusted accordingly to maintain total energy in the ice model. If layer 2 height is greater than layer 1 height then layer 2 gives ice to layer 1 and:
Initializing subroutines ice_init.F: Set ice variables to zero, or reads in pickup information from pickup.ic (which was written out in checkpoint.F) ice_readparms.F: Reads data.ice
Diagnostic subroutines ice_ave.F: Keeps track of means of the ice variables ice_diags.F: Finds averages and writes out diagnostics
Common Blocks ICE.h: Ice Varibles, also relaxlat and startIceModel ICE_DIAGS.h: matrices for diagnostics: averages of fields from ice_diags.F BULKF_ICE_CONSTANTS.h (in BULKF package): all the parameters need by the ice model
Input file DATA.ICE Here we need to set StartIceModel: which is 1 if the model starts from no ice; and 0 if there is a pickup file with the ice matrices (pickup.ic) which is read in ice_init.F and written out in checkpoint.F. The parameter relaxlat defines the latitude poleward of which there is no relaxing of surface or to observations. This avoids the relaxation forcing the ice model at these high latitudes. (Note: hicemin is set to 0 here. If the provision for allowing grid cells to have both open water and seaice is ever implemented, this would be greater than 0)
Important Notes 1) heat fluxes have different signs in the ocean and ice models. 2) StartIceModel must be changed in data.ice: 1 (if starting from no ice), 0 (if using pickup.ic file).
References Bitz, C.M. and W.H. Lipscombe, 1999: An Energy-Conserving Thermodynamic Model of Sea Ice. Journal of Geophysical Research, 104, 15,669 - 15,677.
Hansen, J., G. Russell, D. Rind, P. Stone, A. Lacis, S. Lebedeff, R. Ruedy and L.Travis, 1983: Efficient Three-Dimensional Global Models for Climate Studies: Models I and II. Monthly Weather Review, 111, 609 - 662.
Hunke, E.C and W.H. Lipscomb, circa 2001: CICE: the Los Alamos
Sea Ice Model Documentation and Software User's Manual.
LACC-98-16v.2.
Winton, M, 2000: A reformulated Three-layer Sea Ice Model. Journal of Atmospheric and Ocean Technology, 17, 525 - 531.
Next: 6.7 Sea Ice Package: Up: 6. Physical Parameterization and Previous: 6.5 Ocean vertical mixing Contents mitgcm-support@dev.mitgcm.org |
|
|
|
|