Module ocean_frazil_mod
OVERVIEW
This module computes the heating of seawater due to
frazil ice formation.
Frazil can generally form at any vertical level, although
it is common for climate models to assume it is formed
only at k=1. In this case, pressure is assumed to be
atmospheric for purposes of computing the freezing
temperature of seawater.
The freezing temperature of seawater is computed one of two
possible ways:
(1) simple way uses a linear function of salinity
and assumes zero (i.e. atmospheric) pressure,
tfreeze(deg C) = a1*salinity(psu)
with a1 = -0.054
(2) accurate way uses a nonlinear function of
salinity(psu) and gauge pressure(dbar), where
gauge pressure=absolute pressure - 10.1325 dbar.
tfreeze (deg C) = tf_num/tf_den
tf_num = a0 + s*(a1 + sqrt(s)*(a2 + sqrt(s)*a3)) + p*(a4 + p*(a5 + s*a6))
tf_dem = b0 + p*(b1 + p*b2) + s*s*sqrt(s)*b3
check value : fp_theta(35,200,'air-sat') = -2.076426227617581 deg C
fp_theta(35,200,'air-free') = -2.074408175943127 deg C
This method results in a more accurate freezing
temperature than the simpler approach. It is also
important for ice-shelf modelling to include a
pressure dependence when the shelf penetrates
into the water column.
OTHER MODULES USED
constants_mod
diag_manager_mod
fms_mod
mpp_mod
ocean_domains_mod
ocean_parameters_mod
ocean_tpm_util_mod
ocean_types_mod
PUBLIC INTERFACE
PUBLIC DATA
None.
PUBLIC ROUTINES
-
ocean_frazil_init
-
DESCRIPTION
- Initialization code for the frazil diagnostic tracer.
-
compute_frazil_heating
-
DESCRIPTION
- Compute ocean heating due to formation of frazil-ice (Joules/m^2)
Note that "frazil_factor" accounts for possibly different time
stepping used in ocean model and the sea ice model. With mom4
using a leap-frog, and the GFDL ocean model SIS using forward,
then frazil_factor=0.5. If use recommended tendency=twolevel
in mom4, then frazil_factor=1.0
NAMELIST
&ocean_frazil_nml
-
use_this_module
If true, then compute frazil heating.
[logical]
-
debug_this_module
For debugging this module
[logical]
-
frazil_factor
This factor accounts for possibly different time stepping used
in the sea ice model relative to the ocean model. If sea-ice
and ocean use same time stepping schemes, then frazil_factor=1.0.
If sea-ice uses a twolevel scheme and ocean a threelevel leap-frog,
then frazil_factor=0.5. Default is 1.0 since the GFDL sea ice model
SIS uses a two-level time stepping scheme and mom4 defaults to
a staggered two-level scheme.
[real, units: dimensionless]
-
freezing_temp_simple
To use the simplefied freezing point temperature of seawater,
as used in mom4p0. This is the default, since it is
the equation used in the GFDL ice model.
[logical]
-
freezing_temp_accurate
To use the accurate freezing point temperature of seawater,
which is a nonlinear function of salinity and pressure.
This equation is recommended for use with ice-shelf modelling.
[logical]
-
frazil_only_in_surface
For typical case where compute frazil heating only in
the surface grid cell. Will assume the gauge
pressure is zero in this case when computing freezing
temperature.
[logical]
DATA SETS
None.
ERROR MESSAGES
None.
REFERENCES
- "Updated algorithms for density, potential temperature,
conservative temperature and freezing temperature of
seawater", Jackett, McDougall, Feistel, Wright, and Griffies
Journal of Atmospheric and Oceanic Technology, in press 2005.
COMPILER SPECIFICS
None.
PRECOMPILER OPTIONS
None.
LOADER OPTIONS
None.
TEST PROGRAM
None.
KNOWN BUGS
None.
NOTES
None.
FUTURE PLANS
None.