Module idealized_ic_mod
OVERVIEW
For preparing idealized mom4 initial conditions
This program prepares idealized initial conditions (active and passive tracer).
Results are netcdf files that are then read into mom4.
Various idealized options are available as selected by a namelist.
OTHER MODULES USED
fms_mod
mpp_mod
mpp_io_mod
mpp_domains_mod
constants_mod
PUBLIC INTERFACE
PUBLIC ROUTINES
-
idealized_ic_init
-
DESCRIPTION
-
Initialize the module generating ideal initial conditions.
-
write_idealized_ic_data
-
DESCRIPTION
-
Write out tracer data to netcdf file
-
idealized_ic_end
-
DESCRIPTION
-
Release memory.
NAMELIST
&idealized_ic_nml
-
temp_type
Control the iealized initial temperature condition options.
There are various options available and the default value is
"constant_temp_ic". When temp_type is
1. = "constant_temp_ic", use spatially constant initial potential temperature.
2. = "exponential_temp_ic", use initial potential temperature that is
exponential in the vertical.
3. = "equatorial_temp_ic", use initial temp condition for idealized equatorial studies.
4. = "shelfbowl_temp_ic", Initial conditions for Winton etal shelf-bowl test case.
Use tanh transition between cold shelf and warm bowl waters, instead of Heaviside.
5. = "zonal_levitus_temp_ic", use zonal average Levitus temp as initial conditions.
6. = "zonal_levitus_temp_dome_ic" zonal Levitus, except constant_temp_value in embayment
7. = "temp_for_dome_ic" linear stratification with special treatment within embayment
8. = "ideal_thermocline", idealized thermocline with profile from Smith and Vallis (2001).
[character(len=128)]
-
salt_type
Control the idealized initial salinity condition options.
The following options for salt_type are available, with default
"constant_salt_ic".
"constant_salt_ic", use spatially constant initial salinity.
"exponential_salt_ic", use initial salinity that is exponential in the vertical.
"salinity_profile_ic", use initial salinity condition as set by profile in function salt0
"salinity_for_dome_ic", salinity=1.0 for inflow in dome embayment and 0.0 elsewhere.
"salinity_layer_ic" , salinity=1.0 in a layer and 0.0 elsewhere. For passive salinity experiments.
"salinity_patch_ic" , salinity=1.0 in a patch and 0.0 elsewhere. For passive salinity experiments.
"shelfbowl_salinity_ic", salinity=1.0 on shelf, and 0.0 elsewhere. For passive salinity experiments.
[character(len=128)]
-
age_type
Control the idealized initial age condition options.
There is only one option now available, and the default value is
"constant_age_ic".
[character(len=128)]
-
constant_temp_value
Value for uniform initial temp.
[real]
-
constant_salt_value
Value for uniform initial salinity.
[real]
-
efold_depth
The efolding depth used for exponential temp or salinity profile.
Default=1000.0
[real, units: metre]
-
ideal_thermocline_deltaT
Difference in temperature between bottom and surface for
the ideal thermocline initial conditions. Default
ideal_thermocline_deltaT=20.0
[real, units: degC]
-
ideal_thermocline_scale_thick
Dimensionless scale thickness for the ideal thermocline profile. The dimensionful
scale thickness is Hscale = H*ideal_thermocline_scale_thick, with H the ocean bottom.
Default ideal_thermocline_scale_thick=0.10 (range of 0.05 to 0.15 recommended by
Smith and Vallis (2001).
[real, units: dimensionless]
-
ideal_thermocline_rho0
Density scale for use with the ideal thermocline configuration.
Default ideal_thermocline_rho0=1035.
[real, units: kg/m3]
-
ideal_thermocline_alpha
Linear scaling for thermocline. Default is ideal_thermocline_alpha=0.0005.
[real, units: dimensionless]
-
ideal_thermocline_alpha_eos
Linear equation of state parameter for ideal thermocline, assuming
rho = rho0 - ideal_thermocline_alpha_eos*theta. Default
ideal_thermocline_alpha_eos=0.255.
[real, units: kg/(m3*C)]
-
ideal_thermocline_offset
Offset to make the temperature profile realistic.
Default ideal_thermocline_offset=22.0.
[real, units: C]
-
linear_theta_strat
The linear vertical stratification for theta for reference in DOME configuration.
[real, units: degreesC/metre]
-
dome_debug
For debugging DOME conditions.
[logical]
-
dome_embayment_west
western edge of dome embayment. Default=18.75
[real, units: dimensionless]
-
dome_embayment_east
eastern edge of dome embayment. Default=20.75
[real, units: dimensionless]
-
dome_embayment_north
northern edge of dome embayment. Default=69.75. This is a resolution dependent
value, and should be determined for each grid used.
[real, units: dimensionless]
-
dome_embayment_south
southern edge of dome embayment. Default=69.0. This is a resolution dependent
value, and should be determined for each grid used.
[real, units: dimensionless]
-
dome_embayment_depth
Depth of the embayment. Default=600.0
[real, units: m]
-
dome_bottom
Depth of the deepest water in DOME configuration. Default=3600.0
[real, units: m]
-
dome_embayment_interface
Depth (m) determining the inflow mass flux. Default=300.0
[real, units: m]
-
dome_embayment_coriolis
reference Coriolis parameter for determining Rossby radius in
the DOME inflow. Default taken at 70N.
[real, units: 1/s]
-
dome_crit_richardson
Critical Richardson number used for dome. When running with
coarse models, dome_crit_richardson=1/1000 is what Legg recommends,
whereas in refined models (finer than 50km), dome_crit_richardson=1/3.
Default is dome_crit_richardson=.001.
[real, units: 1/s]
-
dome_drho_inflow
Density difference between inflow and reference for DOME
configuration. Default dome_drho_ref=2.0
[real, units: kg/m3]
-
salinity_layer_ztop
Depth at the top of the salinity layer.
[real]
-
salinity_layer_zbot
Depth at the bottom of the salinity layer.
[real]
-
salinity_patch_ztop
Depth at the top of the salinity patch.
[real]
-
salinity_patch_zbot
Depth at the bottom of the salinity patch.
[real]
-
salinity_patch_ratio1
For setting position of salinity patch.
[real]
-
salinity_patch_ratio2
For setting position of salinity patch.
[real]
-
constant_age_value
Value for uniform initial age.
[real]
-
generate_zonal_velocity_ic
For generating the zonal velocity at the t-cell.
[logical]
-
generate_merid_velocity_ic
For generating the meridional velocity at the t-cell.
[logical]
-
zonal_velocity_name
name array of the zonal velocity component
to be generated. Its default value is 'ut_inflow'.
[character(len=128)]
-
merid_velocity_name
name array of the meridional velocity component
to be generated. Its default value is 'vt'.
[character(len=128)]
-
zonal_velocity_file
zonal velocity output file. Default is 'ut.res.nc'
[character(len=128)]
-
merid_velocity_file
meridional velocity output file. Default is 'vt.res.nc'
[character(len=128)]
-
num_active_tracer
Number of active tracers will be generated. Its value should be 0, 1, 2.
Its default value is 2. ( temp and salt )
[integer]
-
active_tracer
name array of the active tracers will be generated.
Its element value should be 'temp' or 'salt'
[character(len=128),dimension(2)]
-
active_tracer_file
active tracer output file.
[character(len=128)]
-
num_passive_tracer
Number of passive tracers will be generated. Its value should be no more than max_tracer.
Its default value is 1 (age).
[integer]
-
name array of the passive tracers will be generated.
Its element value should be 'age'.
[character(len=128),dimension(max_tracer)]
-
passive_tracer_file
passive tracer output file.
[character(len=128)]
-
grid_file
grid descriptor file.
[character(len=128)]
-
t1
For setting idealized vertical profile
[real]
-
t0
For setting idealized vertical profile
[real]
-
z0
For setting idealized vertical profile
[real]
-
thk
For setting idealized vertical profile
[real]
-
write_time_axis
For writing a time axis for the IC. This is useful if
wish to use the IC as a static dataset for sponges.
Default write_time_axis=.true.
[logical]