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 \chi and viscosity nu. The form of this dependence is

(1)\chi & = \chi _1 + \chi _2 * \arctan ({(z - D)/L})

  \nu & = ({PR}) \chi

where z is the model depth, d is the depth at which \chi reaches \chi_1, L is a length scale over which the transition between \chi_1 and \chi_2 takes place and {Pr} 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