MOM6
mom_lateral_mixing_coeffs::varmix_cs Type Reference

Detailed Description

Variable mixing coefficients.

Definition at line 26 of file MOM_lateral_mixing_coeffs.F90.

Collaboration diagram for mom_lateral_mixing_coeffs::varmix_cs:
[legend]

Public variables and constants

logical use_variable_mixing
 If true, use the variable mixing.
 
logical resoln_scaled_kh
 If true, scale away the Laplacian viscosity when the deformation radius is well resolved.
 
logical resoln_scaled_khth
 If true, scale away the thickness diffusivity when the deformation radius is well resolved.
 
logical resoln_scaled_khtr
 If true, scale away the tracer diffusivity when the deformation radius is well resolved.
 
logical interpolate_res_fn
 If true, interpolate the resolution function to the velocity points from the thickness points; otherwise interpolate the wave speed and calculate the resolution function independently at each point.
 
logical use_stored_slopes
 If true, stores isopycnal slopes in this structure.
 
logical resoln_use_ebt
 If true, uses the equivalent barotropic wave speed instead of first baroclinic wave for calculating the resolution fn.
 
logical khth_use_ebt_struct
 If true, uses the equivalent barotropic structure as the vertical structure of thickness diffusivity.
 
logical calculate_cg1
 If true, calls wave_speed() to calculate the first baroclinic wave speed and populate CScg1. This parameter is set depending on other parameters.
 
logical calculate_rd_dx
 If true, calculates Rd/dx and populate CSRd_dx_h. This parameter is set depending on other parameters.
 
logical calculate_res_fns
 If true, calculate all the resolution factors. This parameter is set depending on other parameters.
 
logical calculate_eady_growth_rate
 If true, calculate all the Eady growth rate. This parameter is set depending on other parameters.
 
real, dimension(:,:), pointer sn_u => NULL()
 S*N at u-points [s-1].
 
real, dimension(:,:), pointer sn_v => NULL()
 S*N at v-points [s-1].
 
real, dimension(:,:), pointer l2u => NULL()
 Length scale^2 at u-points [m2].
 
real, dimension(:,:), pointer l2v => NULL()
 Length scale^2 at v-points [m2].
 
real, dimension(:,:), pointer cg1 => NULL()
 The first baroclinic gravity wave speed [m s-1].
 
real, dimension(:,:), pointer res_fn_h => NULL()
 Non-dimensional function of the ratio the first baroclinic.
 
real, dimension(:,:), pointer res_fn_q => NULL()
 Non-dimensional function of the ratio the first baroclinic.
 
real, dimension(:,:), pointer res_fn_u => NULL()
 Non-dimensional function of the ratio the first baroclinic.
 
real, dimension(:,:), pointer res_fn_v => NULL()
 Non-dimensional function of the ratio the first baroclinic.
 
real, dimension(:,:), pointer beta_dx2_h => NULL()
 The magnitude of the gradient of the Coriolis parameter.
 
real, dimension(:,:), pointer beta_dx2_q => NULL()
 The magnitude of the gradient of the Coriolis parameter.
 
real, dimension(:,:), pointer beta_dx2_u => NULL()
 The magnitude of the gradient of the Coriolis parameter.
 
real, dimension(:,:), pointer beta_dx2_v => NULL()
 The magnitude of the gradient of the Coriolis parameter.
 
real, dimension(:,:), pointer f2_dx2_h => NULL()
 The Coriolis parameter squared times the grid.
 
real, dimension(:,:), pointer f2_dx2_q => NULL()
 The Coriolis parameter squared times the grid.
 
real, dimension(:,:), pointer f2_dx2_u => NULL()
 The Coriolis parameter squared times the grid.
 
real, dimension(:,:), pointer f2_dx2_v => NULL()
 The Coriolis parameter squared times the grid.
 
real, dimension(:,:), pointer rd_dx_h => NULL()
 Deformation radius over grid spacing [nondim].
 
real, dimension(:,:,:), pointer slope_x => NULL()
 Zonal isopycnal slope [nondim].
 
real, dimension(:,:,:), pointer slope_y => NULL()
 Meridional isopycnal slope [nondim].
 
real, dimension(:,:,:), pointer n2_u => NULL()
 Brunt-Vaisala frequency at u-points [s-2].
 
real, dimension(:,:,:), pointer n2_v => NULL()
 Brunt-Vaisala frequency at v-points [s-2].
 
real, dimension(:,:,:), pointer ebt_struct => NULL()
 Vertical structure function to scale diffusivities with [nondim].
 
real, dimension(:, :), allocatable laplac3_const_u
 Laplacian metric-dependent constants [nondim].
 
real, dimension(:, :), allocatable laplac3_const_v
 Laplacian metric-dependent constants [nondim].
 
real, dimension(:, :, :), allocatable kh_u_qg
 QG Leith GM coefficient at u-points [m2 s-1].
 
real, dimension(:, :, :), allocatable kh_v_qg
 QG Leith GM coefficient at v-points [m2 s-1].
 
logical use_visbeck
 Use Visbeck formulation for thickness diffusivity.
 
integer varmix_ktop
 Top layer to start downward integrals.
 
real visbeck_l_scale
 Fixed length scale in Visbeck formula.
 
real res_coef_khth
 A non-dimensional number that determines the function of resolution, used for thickness and tracer mixing, as: F = 1 / (1 + (Res_coef_khth*Ld/dx)^Res_fn_power)
 
real res_coef_visc
 A non-dimensional number that determines the function of resolution, used for lateral viscosity, as: F = 1 / (1 + (Res_coef_visc*Ld/dx)^Res_fn_power)
 
real kappa_smooth
 A diffusivity for smoothing T/S in vanished layers [m2 s-1].
 
integer res_fn_power_khth
 The power of dx/Ld in the KhTh resolution function. Any positive integer power may be used, but even powers and especially 2 are coded to be more efficient.
 
integer res_fn_power_visc
 The power of dx/Ld in the Kh resolution function. Any positive integer power may be used, but even powers and especially 2 are coded to be more efficient.
 
real visbeck_s_max
 Upper bound on slope used in Eady growth rate [nondim].
 
logical use_qg_leith_gm
 If true, uses the QG Leith viscosity as the GM coefficient.
 
logical use_beta_in_qg_leith
 If true, includes the beta term in the QG Leith GM coefficient.
 
type(wave_speed_cs), pointer wave_speed_csp => NULL()
 Wave speed control structure.
 
type(group_pass_type) pass_cg1
 For group halo pass.
 
logical debug
 If true, write out checksums of data for debugging.
 
integer id_sn_u =-1
 Diagnostic identifier.
 
integer id_sn_v =-1
 Diagnostic identifier.
 
integer id_l2u =-1
 Diagnostic identifier.
 
integer id_l2v =-1
 Diagnostic identifier.
 
integer id_res_fn = -1
 Diagnostic identifier.
 
integer id_n2_u =-1
 Diagnostic identifier.
 
integer id_n2_v =-1
 Diagnostic identifier.
 
integer id_s2_u =-1
 Diagnostic identifier.
 
integer id_s2_v =-1
 Diagnostic identifier.
 
integer id_rd_dx =-1
 Diagnostic identifier.
 
integer id_kh_u_qg = -1
 Diagnostic identifier.
 
integer id_kh_v_qg = -1
 Diagnostic identifier.
 
type(diag_ctrl), pointer diag
 A structure that is used to regulate the timing of diagnostic output.
 

The documentation for this type was generated from the following file: