|
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. | |