Mixed Layer
The mixed_layer_nml
only ever needs to be specified if
mixed_layer_bc = .true.
in
idealized_moist_phys_nml
.
It contains options which deal with the mixed layer boundary condition, including the difference
between ocean and land.
It is described on Isca's website and is
used in numerous
example scripts.
Some of the most common options are described below:
Options
evaporation
bool Switch for surface evaporation.
Default: True
depth
float Depth of mixed layer (\(m\)).
Default: 40.0
Q-flux
do_qflux
bool Switch to calculate time-independent Q-flux.
Default: False
qflux_amp
float Amplitude of time-independent Q-flux.
Only ever required if do_qflux = .true.
.
Default: 0.0
qflux_width
float Width of time-independent Q-flux.
Only ever required if do_qflux = .true.
.
Default: 16.0
load_qflux
bool Switch to use input file to load in a time-independent or time-dependent Q-flux.
Default: False
qflux_file_name
string
Name of file among input files, from which to get Q-flux.
Only ever required if load_qflux = .true.
.
Default: 16.0
time_varying_qflux
bool
Flag that determines whether input Q-flux file is time dependent.
Only ever required if load_qflux = .true.
.
Default: False
qflux_field_name
string
Name of field name in Q-flux file name, from which to get Q-flux.
Only ever required if time_varying_qflux = .false.
, otherwise assumes
field_name=file_name.
Default: 16.0
Surface Temperature
prescribe_initial_dist
bool
If True
, an
initial surface temperature distribution is set
up which is then allowed to evolve based on the surface fluxes.
Default: False
tconst
float
The parameter \(T_{surf}\) for the initial temperature distribution which follows:
\(T_s = T_{surf} -\frac{1}{3} dT \left(3\sin(\lambda)^2-1\right)\)
Only ever required if prescribe_initial_dist = .true.
.
Default: 305.0
delta_T
float
The parameter \(dT\) for the initial temperature distribution which follows:
\(T_s = T_{surf} -\frac{1}{3} dT \left(3\sin(\lambda)^2-1\right)\)
Only ever required if prescribe_initial_dist = .true.
.
Default: 40.0
do_read_sst
bool
If True
, surface temperatures will be prescribed from an input file and will be fixed.
Default: False
do_sc_sst
bool
As far as I can tell, this is exactly the same as do_read_sst
.
Default: False
sst_file
string
Name of NetCDF file containing fixed surface temperatures.
The file can be time independent or
vary with time.
Only ever required if do_read_sst = .true.
.
Default: N/A
specify_sst_over_ocean_only
bool
Flag to specify surface temperature only over ocean.
Only ever required if do_read_sst = .true.
.
Default: N/A
do_ape_sst
bool
If True
, surface temperatures will be fixed and prescribed from the
APE aquaplanet equation:
\(T_s = 27 \left( 1 - \sin^2\left( \frac{3}{2} \lambda \right) \right)\)
Default: False
add_latent_heat_flux_anom
bool
Flag to add an anomalous latent heat flux.
Default: False
do_warmpool
bool
Flag to call the warmpool
routine from the
qflux
module,
which returns ocean_qflux
.
Default: False
Surface Albedo
albedo_choice
integer There are 5 choices of surface albedo, \(\alpha\), which can be specified by the indices below:
- Constant\(\alpha\) set to the constant indicated by
albedo_value
. -
Glacier (One hemisphere)
-
- \(\lambda\) >
lat_glacier
: \(\alpha\) =higher_albedo
- \(\lambda\) <
lat_glacier
: \(\alpha\) =albedo_value
- \(\lambda\) >
-
- \(\lambda\) <
lat_glacier
: \(\alpha\) =higher_albedo
- \(\lambda\) >
lat_glacier
: \(\alpha\) =albedo_value
- \(\lambda\) <
-
-
Glacier (Both hemispheres)
- \(\lambda\) > \(|\)
lat_glacier
\(|\): \(\alpha\) =higher_albedo
- \(\lambda\) < \(|\)
lat_glacier
\(|\): \(\alpha\) =albedo_value
- \(\lambda\) > \(|\)
-
Exponent \(\alpha\) =
albedo_value
+ (higher_albedo
-albedo_value
) \(\times (\frac{\lambda}{90})\)^albedo_exp
- Tanh
This is an increase in \(\alpha\) at latitude indicated by
albedo_cntr
with widthalbedo_wdth
.α(λ) = albedo_value + (higher_albedo-albedo_value)* 0.5 *(1+tanh((λ-albedo_cntr)/albedo_wdth))
Default: 1
albedo_value
float
Parameter to determine the surface albedo.
Required for every value of albedo_choice
.
Default: 0.06
higher_albedo
float
Parameter to determine the surface albedo.
Only ever required if albedo_choice
is 2
, 3
, 4
or 5
.
Default: 0.10
lat_glacier
float
Parameter that sets the glacier ice latitude for determining the surface albedo.
Only ever required if albedo_choice
is 2
or 3
.
Default: 60.0
albedo_exp
float
Parameter that sets the latitude dependence for determining the surface albedo.
Only ever required if albedo_choice
is 4
.
Default: 2.
albedo_cntr
float
Parameter that sets the central latitude for determining the surface albedo.
Only ever required if albedo_choice
is 5
.
Default: 45.
albedo_wdth
float
Parameter that sets the latitude width for determining the surface albedo.
Only ever required if albedo_choice
is 5
.
Default: 10.
Ice
update_albedo_from_ice
bool
Flag to set the surface albedo to ice_albedo_value
where there is ice as specified by ice_file_name
.
Default: False
ice_albedo_value
float
Value for the ice albedo.
Expect this to be much larger than albedo_value
because ice is more reflective than ocean.
Only ever required if update_albedo_from_ice=.true.
.
Default: 0.7
ice_file_name
string
Name of file containing sea ice concentration.
Only ever required if update_albedo_from_ice=.true.
.
Default: siconc_clim_amip
ice_concentration_threshold
float
Value of sea ice concentration above which albedo should be set to ice_albedo_value
.
Default: 0.5
Land
There are 4 ways that land is implemented in Isca.
land_option
string
There are 4 choices of the land mask in Isca given below. This parameter should be set to the same value
as land_option
in the
idealized_moist_phys_nml
namelist. If it is not specified here but is
elsewhere, then none of the land parameters set in this module will be used.
Heat capacity calculation
The heat capacity calculation is different over land for the different options of land_option
.
If it is input
, the heat capacity at a particular location is
set
to land_h_capacity_prefactor
multiplied
by the ocean heat capacity at that location.
If it is either zsurf
or lonlat
, it is
computed
as for ocean but with a different depth.
input
- Read land mask from input file indicated by theland_file_name
parameter in theidealized_moist_phys_nml
namelist.zsurf
- Define land where surface geopotential height at model initialisation exceeds a threshold of 10.lonlat
- Define land to be in the longitude/latitude box set byslandlon[k]
,elandlon[k]
,slandlat[k]
,elandlat[k]
for all \(k\).none
- Do not apply land mask.
Default: none
land_h_capacity_prefactor
float
Factor by which to multiply ocean heat capacity to get land heat capacity.
Would expect this to be less than 1
as land has a smaller heat capacity than ocean.
Only ever required if land_option='input'
.
Default: 1.0
land_albedo_prefactor
float
Factor by which to multiply ocean albedo to get land albedo.
Would expect this to be more than 1
as land is more reflective than ocean.
Only ever required if land_option='input'
.
Default: 1.0
land_depth
float
Depth of land mixed layer (\(m\)).
Only ever required if land_option
is 'zsurf'
or 'lonlat'
.
If it is
negative,
it just uses the ocean depth
.
Default: -1
slandlon
list - float
slandlon[k]
is the start longitude of land box \(k\).
Only ever required if land_option
is 'lonlat'
.
Default: 0
slandlat
list - float
slandlat[k]
is the start latitude of land box \(k\).
Only ever required if land_option
is 'lonlat'
.
Default: 0
elandlon
list - float
elandlon[k]
is the end longitude of land box \(k\).
Only ever required if land_option
is 'lonlat'
.
Default: -1
elandlat
list - float
elandlat[k]
is the end latitude of land box \(k\).
Only ever required if land_option
is 'lonlat'
.
Default: -1
Diagnostics
The diagnostics for
this module
can be specified using the module_name
of mixed_layer
in the
diagnostic table file. The list of available diagnostics is available on
Isca's website.
They are also given below:
t_surf
Surface temperature. Dimensions: time, lat, lon Units: \(K\)
delta_t_surf
Surface temperature change. Dimensions: time, lat, lon Units: \(K\)
flux_t
Surface sensible heat flux (up is positive). Dimensions: time, lat, lon Units: \(Wm^{-2}\)
flux_lhe
Surface latent heat flux (up is positive). Dimensions: time, lat, lon Units: \(Wm^{-2}\)
flux_oceanq
Oceanic Q-flux (will be \(0\) if do_qflux=False
).
Dimensions: time, lat, lon
Units: \(Wm^{-2}\)
ml_heat_cap
Mixed layer heat capacity.
On the website, it calls this
land_sea_heat_capacity
but in the
code,
I think it is ml_heat_cap
so I am not sure which is correct.
Dimensions: time, lat, lon
Units: \(Jm^{-2}K^{-1}\)
albedo
Surface albedo.
I think this will remain constant in time unless update_albedo_from_ice=True
.
Dimensions: time, lat, lon
Units: N/A
ice_conc
Sea ice concentration.
Can only be returned if update_albedo_from_ice=True
.
Dimensions: time, lat, lon
Units: N/A