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 + κ_2 arctan((z - d)/L) | (3.1) |
&vmix_kpp_nml | LANL default |
CESM1 default |
Valid values |
KPP mixing |
bckgrnd_vdc1 | 0.1 | 0.1 | base background vertical diffusivity (cm2/s) | |
bckgrnd_vdc2 | 0.0 | 0.0 | variation in background vertical diffusivity (cm2/s) | |
bckgrnd_vdc_eq (CESM1 only) |
N/A | resolution- and option-dependent value determined by CESM1 scripts | equatorial diffusivity (Gregg) | |
bckgrnd_vdc_psim (CESM1 only) |
N/A | resolution- and option-dependent value determined by CESM1 scripts | maximum PSI induced diffusivity (MacKinnon) | |
bckgrnd_vdc_ban (CESM1 only) |
N/A | resolution- and option-dependent value determined by CESM1 scripts | Banda Sea diffusivity (Gordon) | |
bckgrnd_vdc_dpth | 250000.0 | 250000.0 | depth (cm) at which background vertical diffusivity is vdc1 | |
bckgrnd_vdc_linv | 0.000045 | 0.000045 | inverse of the length scale (1/L in cm-1) over which diffusivity transition takes place | |
Prandtl | 10.0 | 10.0 | (unitless) ratio of background vertical viscosity and diffusivity | |
rich_mix | 50.0 | 50.0 | Coefficient for Richardson-number function | |
lrich | .true. | .true. | .true., .false. | use Richardson-number for interior mixing |
ldbl_diff | .false. | .false. | .true., .false. | add double-diffusive parameterization |
lshort_wave | .false. | .false. | .true., .false. | use penetrative shortwave forcing |
lcheckekmo | .false. | .false. | .true., .false. | check whether boundary layer exceeds Ekman or Monin-Obukhov limit |
num_v_smooth_Ri | 1 | 1 | Number of passes to smooth Richardson number | |
lhoriz_varying_bckgrnd (CESM1 only) |
N/A | .true. | .true., .false. | |
llangmuir (CESM1 only) |
N/A | .false. | .true., .false. | flag to activate Langmuir parameterization |
linertial (CESM1 only) |
N/A | .false. | .true., .false. | flag to activate inertial mixing parameterization |
/ |
ν = (PR)κ | (3.2) |
2010-02-16