MOM6
|
Variable mixing coefficients.
Definition at line 26 of file MOM_lateral_mixing_coeffs.F90.
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. | |