Several vertical mixing parameterizations are available within the POP model 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.
&vertical_mix_nml | LANL default |
CESM1 default |
Valid values |
Vertical mixing parameterizations |
vmix_choice | 'const' | ''kpp' | 'const', 'kpp', 'rich' | method of computing vertical diffusion |
implicit_vertical_mix | .true. | .true. | .true., .false. | if .true., vertical mixing is solved implicitly in time |
aidif | 1.0 | 1.0 | 0.5-1.0 | time-centering parameter for implicit vertical mixing; use of the default value [1.0] is recommended |
bottom_drag | 1.0E-03 | 1.0E-03 | (dimensionless) coefficient used in quadratic bottom drag formula | |
convection_type | 'diffusion' | 'diffusion' | 'adjustment', 'diffusion' | Convection treated by adjustment or by large mixing coefficients |
nconvad | 2 | 2 | integer | number of passes through the convective adjustment algorithm |
convect_diff | 1000.0 | 10000.0 | tracer mixing coefficient to use with diffusion option | |
convect_visc | 1000.0 | 10000.0 | momentum mixing coefficient to use with diffusion option | |
bottom_heat_flx | 0.0 | 0.0 | constant (geothermal) heat flux (W/m2) to apply to bottom layers | |
bottom_heat_flx_depth | 100000.0 | 100000.0 | depth (cm) below which to apply bottom heat flux | |
/ |
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.