6. Vertical mixing and convection parameterizations¶
Vertical mixing options are set by the namelist vertical_mix_nml
Todo
add link for vertical_mix_nml Vertical Mixing Namelist
Several vertical mixing parameterizations are available
and are described in much more detail in the Reference Manual. The
value of vmix_choice
determines whether a simple constant mixing, a
Richardson-number dependent mixing or the KPP mixing parameterization is
used. Additional mixing parameters for each of these schemes are set in
individual namelists shown below; only the namelist associated with the
mixing choice is actually read.
The treatment of convection is also specified in the vertical mixing
namelist through the convection_type
variable. Convection can be
treated using either convective adjustment or by specifying large
diffusion coefficients in convectively unstable regions. The KPP
vertical mixing parameterization must use the diffusion option. If
convective adjustment is chosen, the number of passes through the
vertical column to adjust is determined by the parameter nconvad
.
The treatment of convection by diffusion is governed by the input
diffusion coefficients convect_diff
and convect_visc
. Note that
for constant vertical mixing, you can apply diffusion to tracers only by
setting convect_visc
to zero; this is not true for Richardson
number mixing or KPP.
Some vertical and horizontal mixing parameterizations (e.g. KPP and
Gent-McWilliams to be discussed later) create large vertical mixing
coefficients. In addition, when diffusion is used as the method for
treating convection, the diffusion coefficients are large. In such
cases, implicit vertical mixing must be enabled
(implicit_vertical_mix = .true.
) to avoid severe restrictions on the
model time step.
If implicit vertical mixing is chosen, the parameter aidif
governs
the time-centering of the implicit scheme. The bottom_drag
coefficient is used to compute bottom drag. To simulate geothermal
heating at the bottom of the ocean, a constant heat flux can be applied
below a fixed depth in the ocean. A heat flux of zero turns off this
option.
6.1. Constant coefficients¶
Constant vertical mixing options are set by the namelist vmix_const_nml
Todo
add link for vmix_const_nml Constant vertical Mixing Namelist
Constant vertical mixing simply uses a constant diffusion coefficient for mixing everywhere in the domain.
6.2. Richardson-number mixing¶
Richardson-number vertical mixing options are set by the namelist vmix_rich_nml
Todo
add link for vmix_rich_nml Richardson-number vertical mixing namelist
The Pacanowski and Philander [PacanowskiPhilander] mixing scheme was developed primarily for use in tropical ocean and, although it is often used elsewhere in the global ocean, the user should be aware of the possible need to adjust its parameters ([Peters et al],[Gent]).
6.3. KPP mixing¶
KPP mixing options are set by the namelist vmix_kpp_nml
Todo
add link for vmix_kpp_nml KPP namelist
The k-profile parameterization (KPP) [13] is relatively complex and only
the parameters that are routinely changed are shown here in the
namelist. It is possible to change other parameters by editing the KPP
module, but this should not be necessary and is discouraged. As
described previously, KPP utilizes enhanced diffusion for convection so
implicit vertical mixing must be enabled and diffusion must be specified
as the convection method. Note that the constants
convect_diff, convect_visc
are used for convection within KPP.
A recent change to the KPP implementation is to allow a depth dependent background diffusivity and viscosity . The form of this dependence is
(1)¶
where is the model depth, is the depth at which reaches , is a length scale over which the transition between and takes place and is the Prandtl number. If a constant diffusivity and viscosity are required, simply set vdc2 to zero and vdc1 to the appropriate diffusivity.
6.4. Tidal mixing¶
The tidally driven mixing parameterization is described in Jayne (2009). See the POP Reference Manual for details.
Todo
add link for tidal_nml Tidal mixing namelist