MOM6
MOM_CVMix_KPP.F90 File Reference
#include "MOM_memory.h"
#include "version_variable.h"
Include dependency graph for MOM_CVMix_KPP.F90:

Go to the source code of this file.

Data Types

type  mom_cvmix_kpp::kpp_cs
 Control structure for containing KPP parameters/data. More...
 

Modules

module  mom_cvmix_kpp
 Provides the K-Profile Parameterization (KPP) of Large et al., 1994, via CVMix.
 

Macros

#define __DO_SAFETY_CHECKS__
 

Functions/Subroutines

logical function, public mom_cvmix_kpp::kpp_init (paramFile, G, GV, US, diag, Time, CS, passive, Waves)
 Initialize the CVMix KPP module and set up diagnostics Returns True if KPP is to be used, False otherwise. More...
 
subroutine, public mom_cvmix_kpp::kpp_calculate (CS, G, GV, US, h, uStar, buoyFlux, Kt, Ks, Kv, nonLocalTransHeat, nonLocalTransScalar, waves)
 KPP vertical diffusivity/viscosity and non-local tracer transport. More...
 
subroutine, public mom_cvmix_kpp::kpp_compute_bld (CS, G, GV, US, h, Temp, Salt, u, v, EOS, uStar, buoyFlux, Waves)
 Compute OBL depth. More...
 
subroutine mom_cvmix_kpp::kpp_smooth_bld (CS, G, GV, h)
 Apply a 1-1-4-1-1 Laplacian filter one time on BLD to reduce any horizontal two-grid-point noise. More...
 
subroutine, public mom_cvmix_kpp::kpp_get_bld (CS, BLD, G)
 Copies KPP surface boundary layer depth into BLD. More...
 
subroutine, public mom_cvmix_kpp::kpp_nonlocaltransport_temp (CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar, C_p)
 Apply KPP non-local transport of surface fluxes for temperature. More...
 
subroutine, public mom_cvmix_kpp::kpp_nonlocaltransport_saln (CS, G, GV, h, nonLocalTrans, surfFlux, dt, scalar)
 Apply KPP non-local transport of surface fluxes for salinity. This routine is a useful prototype for other material tracers. More...
 
subroutine, public mom_cvmix_kpp::kpp_end (CS)
 Clear pointers, deallocate memory. More...
 

Variables

integer, parameter, private mom_cvmix_kpp::nlt_shape_cvmix = 0
 Use the CVMix profile. More...
 
integer, parameter, private mom_cvmix_kpp::nlt_shape_linear = 1
 Linear, \( G(\sigma) = 1-\sigma \). More...
 
integer, parameter, private mom_cvmix_kpp::nlt_shape_parabolic = 2
 Parabolic, \( G(\sigma) = (1-\sigma)^2 \). More...
 
integer, parameter, private mom_cvmix_kpp::nlt_shape_cubic = 3
 Cubic, \( G(\sigma) = 1 + (2\sigma-3) \sigma^2\). More...
 
integer, parameter, private mom_cvmix_kpp::nlt_shape_cubic_lmd = 4
 Original shape, \( G(\sigma) = \frac{27}{4} \sigma (1-\sigma)^2 \). More...
 
integer, parameter, private mom_cvmix_kpp::sw_method_all_sw = 0
 Use all shortwave radiation. More...
 
integer, parameter, private mom_cvmix_kpp::sw_method_mxl_sw = 1
 Use shortwave radiation absorbed in mixing layer. More...
 
integer, parameter, private mom_cvmix_kpp::sw_method_lv1_sw = 2
 Use shortwave radiation absorbed in layer 1. More...
 
integer, parameter, private mom_cvmix_kpp::lt_k_constant = 1
 Constant enhance K through column. More...
 
integer, parameter, private mom_cvmix_kpp::lt_k_scaled = 2
 Enhance K scales with G(sigma) More...
 
integer, parameter, private mom_cvmix_kpp::lt_k_mode_constant = 1
 Prescribed enhancement for K. More...
 
integer, parameter, private mom_cvmix_kpp::lt_k_mode_vr12 = 2
 Enhancement for K based on. More...
 
integer, parameter, private mom_cvmix_kpp::lt_k_mode_rw16 = 3
 Enhancement for K based on. More...
 
integer, parameter, private mom_cvmix_kpp::lt_vt2_mode_constant = 1
 Prescribed enhancement for Vt2. More...
 
integer, parameter, private mom_cvmix_kpp::lt_vt2_mode_vr12 = 2
 Enhancement for Vt2 based on. More...
 
integer, parameter, private mom_cvmix_kpp::lt_vt2_mode_rw16 = 3
 Enhancement for Vt2 based on. More...
 
integer, parameter, private mom_cvmix_kpp::lt_vt2_mode_lf17 = 4
 Enhancement for Vt2 based on. More...
 
integer mom_cvmix_kpp::ncall_smooth = 0
 

Macro Definition Documentation

◆ __DO_SAFETY_CHECKS__

#define __DO_SAFETY_CHECKS__