MOM6
mom_hor_visc::hor_visc_cs Type Reference

Detailed Description

Control structure for horizontal viscosity.

Definition at line 29 of file MOM_hor_visc.F90.

Collaboration diagram for mom_hor_visc::hor_visc_cs:
[legend]

Public variables and constants

logical laplacian
 Use a Laplacian horizontal viscosity if true.
 
logical biharmonic
 Use a biharmonic horizontal viscosity if true.
 
logical no_slip
 If true, no slip boundary conditions are used. Otherwise free slip boundary conditions are assumed. The implementation of the free slip boundary conditions on a C-grid is much cleaner than the no slip boundary conditions. The use of free slip b.c.s is strongly encouraged. The no slip b.c.s are not implemented with the biharmonic viscosity.
 
logical bound_kh
 If true, the Laplacian coefficient is locally limited to guarantee stability.
 
logical better_bound_kh
 If true, use a more careful bounding of the Laplacian viscosity to guarantee stability.
 
logical bound_ah
 If true, the biharmonic coefficient is locally limited to guarantee stability.
 
logical better_bound_ah
 If true, use a more careful bounding of the biharmonic viscosity to guarantee stability.
 
real bound_coef
 The nondimensional coefficient of the ratio of the viscosity bounds to the theoretical maximum for stability without considering other terms [nondim]. The default is 0.8.
 
logical smagorinsky_kh
 If true, use Smagorinsky nonlinear eddy viscosity. KH is the background value.
 
logical smagorinsky_ah
 If true, use a biharmonic form of Smagorinsky nonlinear eddy viscosity. AH is the background.
 
logical leith_kh
 If true, use 2D Leith nonlinear eddy viscosity. KH is the background value.
 
logical modified_leith
 If true, use extra component of Leith viscosity to damp divergent flow. To use, still set Leith_Kh=.TRUE.
 
logical use_beta_in_leith
 If true, includes the beta term in the Leith viscosity.
 
logical leith_ah
 If true, use a biharmonic form of 2D Leith nonlinear eddy viscosity. AH is the background.
 
logical use_qg_leith_visc
 If true, use QG Leith nonlinear eddy viscosity. KH is the background value.
 
logical bound_coriolis
 If true & SMAGORINSKY_AH is used, the biharmonic viscosity is modified to include a term that scales quadratically with the velocity shears.
 
logical use_kh_bg_2d
 Read 2d background viscosity from a file.
 
real kh_bg_min
 The minimum value allowed for Laplacian horizontal viscosity [m2 T-1 ~> m2 s-1]. The default is 0.0.
 
logical use_land_mask
 Use the land mask for the computation of thicknesses at velocity locations. This eliminates the dependence on arbitrary values over land or outside of the domain. Default is False to maintain answers with legacy experiments but should be changed to True for new experiments.
 
logical anisotropic
 If true, allow anisotropic component to the viscosity.
 
real kh_aniso
 The anisotropic viscosity [m2 T-1 ~> m2 s-1].
 
logical dynamic_aniso
 If true, the anisotropic viscosity is recomputed as a function of state. This is set depending on ANISOTROPIC_MODE.
 
logical res_scale_meke
 If true, the viscosity contribution from MEKE is scaled by the resolution function.
 
logical use_gme
 If true, use GME backscatter scheme.
 
logical answers_2018
 If true, use the order of arithmetic and expressions that recover the answers from the end of 2018. Otherwise, use updated and more robust forms of the same expressions.
 
real, dimension(:, :), allocatable kh_bg_xx
 The background Laplacian viscosity at h points [m2 T-1 ~> m2 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities.
 
real, dimension(:, :), allocatable kh_bg_2d
 The background Laplacian viscosity at h points [m2 T-1 ~> m2 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities.
 
real, dimension(:, :), allocatable ah_bg_xx
 The background biharmonic viscosity at h points [m4 T-1 ~> m4 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities.
 
real, dimension(:, :), allocatable biharm5_const2_xx
 A constant relating the biharmonic viscosity to the square of the velocity shear [m4 s]. This value is set to be the magnitude of the Coriolis terms once the velocity differences reach a value of order 1/2 MAXVEL.
 
real, dimension(:, :), allocatable reduction_xx
 The amount by which stresses through h points are reduced due to partial barriers. Nondimensional.
 
real, dimension(:, :), allocatable kh_max_xx
 The maximum permitted Laplacian viscosity [m2 T-1 ~> m2 s-1].
 
real, dimension(:, :), allocatable ah_max_xx
 The maximum permitted biharmonic viscosity [m4 T-1 ~> m4 s-1].
 
real, dimension(:, :), allocatable n1n2_h
 Factor n1*n2 in the anisotropic direction tensor at h-points.
 
real, dimension(:, :), allocatable n1n1_m_n2n2_h
 Factor n1**2-n2**2 in the anisotropic direction tensor at h-points.
 
real, dimension(:, :), allocatable kh_bg_xy
 The background Laplacian viscosity at q points [m2 T-1 ~> m2 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities.
 
real, dimension(:, :), allocatable ah_bg_xy
 The background biharmonic viscosity at q points [m4 T-1 ~> m4 s-1]. The actual viscosity may be the larger of this viscosity and the Smagorinsky and Leith viscosities.
 
real, dimension(:, :), allocatable biharm5_const2_xy
 A constant relating the biharmonic viscosity to the square of the velocity shear [m4 s]. This value is set to be the magnitude of the Coriolis terms once the velocity differences reach a value of order 1/2 MAXVEL.
 
real, dimension(:, :), allocatable reduction_xy
 The amount by which stresses through q points are reduced due to partial barriers [nondim].
 
real, dimension(:, :), allocatable kh_max_xy
 The maximum permitted Laplacian viscosity [m2 T-1 ~> m2 s-1].
 
real, dimension(:, :), allocatable ah_max_xy
 The maximum permitted biharmonic viscosity [m4 T-1 ~> m4 s-1].
 
real, dimension(:, :), allocatable n1n2_q
 Factor n1*n2 in the anisotropic direction tensor at q-points.
 
real, dimension(:, :), allocatable n1n1_m_n2n2_q
 Factor n1**2-n2**2 in the anisotropic direction tensor at q-points.
 
real, dimension(:, :), allocatable dx2h
 Pre-calculated dx^2 at h points [m2].
 
real, dimension(:, :), allocatable dy2h
 Pre-calculated dy^2 at h points [m2].
 
real, dimension(:, :), allocatable dx_dyt
 Pre-calculated dx/dy at h points [nondim].
 
real, dimension(:, :), allocatable dy_dxt
 Pre-calculated dy/dx at h points [nondim].
 
real, dimension(:, :), allocatable dx2q
 Pre-calculated dx^2 at q points [m2].
 
real, dimension(:, :), allocatable dy2q
 Pre-calculated dy^2 at q points [m2].
 
real, dimension(:, :), allocatable dx_dybu
 Pre-calculated dx/dy at q points [nondim].
 
real, dimension(:, :), allocatable dy_dxbu
 Pre-calculated dy/dx at q points [nondim].
 
real, dimension(:, :), allocatable idx2dycu
 1/(dx^2 dy) at u points [m-3]
 
real, dimension(:, :), allocatable idxdy2u
 1/(dx dy^2) at u points [m-3]
 
real, dimension(:, :), allocatable idx2dycv
 1/(dx^2 dy) at v points [m-3]
 
real, dimension(:, :), allocatable idxdy2v
 1/(dx dy^2) at v points [m-3]
 
real, dimension(:, :), allocatable laplac2_const_xx
 Laplacian metric-dependent constants [m2].
 
real, dimension(:, :), allocatable biharm5_const_xx
 Biharmonic metric-dependent constants [m5].
 
real, dimension(:, :), allocatable laplac3_const_xx
 Laplacian metric-dependent constants [m3].
 
real, dimension(:, :), allocatable biharm_const_xx
 Biharmonic metric-dependent constants [m4].
 
real, dimension(:, :), allocatable biharm_const2_xx
 Biharmonic metric-dependent constants [T m4 ~> s m4].
 
real, dimension(:, :), allocatable laplac2_const_xy
 Laplacian metric-dependent constants [m2].
 
real, dimension(:, :), allocatable biharm5_const_xy
 Biharmonic metric-dependent constants [m5].
 
real, dimension(:, :), allocatable laplac3_const_xy
 Laplacian metric-dependent constants [m3].
 
real, dimension(:, :), allocatable biharm_const_xy
 Biharmonic metric-dependent constants [m4].
 
real, dimension(:, :), allocatable biharm_const2_xy
 Biharmonic metric-dependent constants [T m4 ~> s m4].
 
type(diag_ctrl), pointer diag => NULL()
 structure to regulate diagnostics
 
integer id_diffu = -1
 Diagnostic id.
 
integer id_diffv = -1
 Diagnostic id.
 
integer id_ah_h = -1
 Diagnostic id.
 
integer id_ah_q = -1
 Diagnostic id.
 
integer id_kh_h = -1
 Diagnostic id.
 
integer id_kh_q = -1
 Diagnostic id.
 
integer id_gme_coeff_h = -1
 Diagnostic id.
 
integer id_gme_coeff_q = -1
 Diagnostic id.
 
integer id_vort_xy_q = -1
 Diagnostic id.
 
integer id_div_xx_h = -1
 Diagnostic id.
 
integer id_frictwork = -1
 Diagnostic id.
 
integer id_frictworkintz = -1
 Diagnostic id.
 
integer id_frictworkmax = -1
 Diagnostic id.
 
integer id_frictwork_diss = -1
 Diagnostic id.
 
integer id_frictwork_gme = -1
 Diagnostic id.
 

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