MOM6
mom_thickness_diffuse::thickness_diffuse_cs Type Reference

Detailed Description

Control structure for thickness diffusion.

Definition at line 37 of file MOM_thickness_diffuse.F90.

Collaboration diagram for mom_thickness_diffuse::thickness_diffuse_cs:
[legend]

Public variables and constants

real khth
 Background interface depth diffusivity [L2 T-1 ~> m2 s-1]. More...
 
real khth_slope_cff
 Slope dependence coefficient of Khth [nondim]. More...
 
real max_khth_cfl
 Maximum value of the diffusive CFL for thickness diffusion. More...
 
real khth_min
 Minimum value of Khth [L2 T-1 ~> m2 s-1]. More...
 
real khth_max
 Maximum value of Khth [L2 T-1 ~> m2 s-1], or 0 for no max. More...
 
real slope_max
 Slopes steeper than slope_max are limited in some way [nondim]. More...
 
real kappa_smooth
 Vertical diffusivity used to interpolate more sensible values of T & S into thin layers [Z2 T-1 ~> m2 s-1]. More...
 
logical thickness_diffuse
 If true, interfaces heights are diffused. More...
 
logical use_fgnv_streamfn
 If true, use the streamfunction formulation of Ferrari et al., 2010, which effectively emphasizes graver vertical modes by smoothing in the vertical. More...
 
real fgnv_scale
 A coefficient scaling the vertical smoothing term in the Ferrari et al., 2010, streamfunction formulation [nondim]. More...
 
real fgnv_c_min
 A minimum wave speed used in the Ferrari et al., 2010, streamfunction formulation [L T-1 ~> m s-1]. More...
 
real n2_floor
 A floor for Brunt-Vasaila frequency in the Ferrari et al., 2010, streamfunction formulation [T-2 ~> s-2]. More...
 
logical detangle_interfaces
 If true, add 3-d structured interface height diffusivities to horizontally smooth jagged layers. More...
 
real detangle_time
 If detangle_interfaces is true, this is the timescale over which maximally jagged grid-scale thickness variations are suppressed [T ~> s]. This must be longer than DT, or 0 (the default) to use DT. More...
 
integer nkml
 number of layers within mixed layer More...
 
logical debug
 write verbose checksums for debugging purposes More...
 
logical use_gme_thickness_diffuse
 If true, passes GM coefficients to MOM_hor_visc for use with GME closure. More...
 
logical meke_geometric
 If true, uses the GM coefficient formulation from the GEOMETRIC framework (Marshall et al., 2012) More...
 
real meke_geometric_alpha
 The nondimensional coefficient governing the efficiency of the GEOMETRIC thickness difussion [nondim]. More...
 
real meke_geometric_epsilon
 Minimum Eady growth rate for the GEOMETRIC thickness diffusivity [T-1 ~> s-1]. More...
 
logical use_kh_in_meke
 If true, uses the thickness diffusivity calculated here to diffuse MEKE. More...
 
logical gm_src_alt
 If true, use the GM energy conversion form S^2*N^2*kappa rather than the streamfunction for the GM source term. More...
 
type(diag_ctrl), pointer diag => NULL()
 structure used to regulate timing of diagnostics More...
 
real, dimension(:,:), pointer gmwork => NULL()
 Work by thickness diffusivity [R Z L2 T-3 ~> W m-2]. More...
 
real, dimension(:,:,:), pointer diagslopex => NULL()
 Diagnostic: zonal neutral slope [nondim]. More...
 
real, dimension(:,:,:), pointer diagslopey => NULL()
 Diagnostic: zonal neutral slope [nondim]. More...
 
real, dimension(:,:,:), pointer kh_u_gme => NULL()
 interface height diffusivities in u-columns [L2 T-1 ~> m2 s-1] More...
 
real, dimension(:,:,:), pointer kh_v_gme => NULL()
 interface height diffusivities in v-columns [L2 T-1 ~> m2 s-1] More...
 
integer id_uhgm = -1
 Diagnostic identifier. More...
 
integer id_vhgm = -1
 Diagnostic identifier. More...
 
integer id_gmwork = -1
 Diagnostic identifier. More...
 
integer id_kh_u = -1
 Diagnostic identifier. More...
 
integer id_kh_v = -1
 Diagnostic identifier. More...
 
integer id_kh_t = -1
 Diagnostic identifier. More...
 
integer id_kh_u1 = -1
 Diagnostic identifier. More...
 
integer id_kh_v1 = -1
 Diagnostic identifier. More...
 
integer id_kh_t1 = -1
 Diagnostic identifier. More...
 
integer id_slope_x = -1
 Diagnostic identifier. More...
 
integer id_slope_y = -1
 Diagnostic identifier. More...
 
integer id_sfn_unlim_x = -1
 Diagnostic identifier. More...
 
integer id_sfn_unlim_y = -1
 Diagnostic identifier. More...
 
integer id_sfn_x = -1
 Diagnostic identifier. More...
 
integer id_sfn_y = -1
 Diagnostic identifier. More...
 

Variables and constants

◆ debug

logical mom_thickness_diffuse::thickness_diffuse_cs::debug

write verbose checksums for debugging purposes

Definition at line 63 of file MOM_thickness_diffuse.F90.

63  logical :: debug !< write verbose checksums for debugging purposes

◆ detangle_interfaces

logical mom_thickness_diffuse::thickness_diffuse_cs::detangle_interfaces

If true, add 3-d structured interface height diffusivities to horizontally smooth jagged layers.

Definition at line 56 of file MOM_thickness_diffuse.F90.

56  logical :: detangle_interfaces !< If true, add 3-d structured interface height

◆ detangle_time

real mom_thickness_diffuse::thickness_diffuse_cs::detangle_time

If detangle_interfaces is true, this is the timescale over which maximally jagged grid-scale thickness variations are suppressed [T ~> s]. This must be longer than DT, or 0 (the default) to use DT.

Definition at line 58 of file MOM_thickness_diffuse.F90.

58  real :: detangle_time !< If detangle_interfaces is true, this is the

◆ diag

type(diag_ctrl), pointer mom_thickness_diffuse::thickness_diffuse_cs::diag => NULL()

structure used to regulate timing of diagnostics

Definition at line 75 of file MOM_thickness_diffuse.F90.

75  type(diag_ctrl), pointer :: diag => null() !< structure used to regulate timing of diagnostics

◆ diagslopex

real, dimension(:,:,:), pointer mom_thickness_diffuse::thickness_diffuse_cs::diagslopex => NULL()

Diagnostic: zonal neutral slope [nondim].

Definition at line 77 of file MOM_thickness_diffuse.F90.

77  real, pointer :: diagSlopeX(:,:,:) => null() !< Diagnostic: zonal neutral slope [nondim]

◆ diagslopey

real, dimension(:,:,:), pointer mom_thickness_diffuse::thickness_diffuse_cs::diagslopey => NULL()

Diagnostic: zonal neutral slope [nondim].

Definition at line 78 of file MOM_thickness_diffuse.F90.

78  real, pointer :: diagSlopeY(:,:,:) => null() !< Diagnostic: zonal neutral slope [nondim]

◆ fgnv_c_min

real mom_thickness_diffuse::thickness_diffuse_cs::fgnv_c_min

A minimum wave speed used in the Ferrari et al., 2010, streamfunction formulation [L T-1 ~> m s-1].

Definition at line 52 of file MOM_thickness_diffuse.F90.

52  real :: FGNV_c_min !< A minimum wave speed used in the Ferrari et al., 2010,

◆ fgnv_scale

real mom_thickness_diffuse::thickness_diffuse_cs::fgnv_scale

A coefficient scaling the vertical smoothing term in the Ferrari et al., 2010, streamfunction formulation [nondim].

Definition at line 50 of file MOM_thickness_diffuse.F90.

50  real :: FGNV_scale !< A coefficient scaling the vertical smoothing term in the

◆ gm_src_alt

logical mom_thickness_diffuse::thickness_diffuse_cs::gm_src_alt

If true, use the GM energy conversion form S^2*N^2*kappa rather than the streamfunction for the GM source term.

Definition at line 73 of file MOM_thickness_diffuse.F90.

73  logical :: GM_src_alt !< If true, use the GM energy conversion form S^2*N^2*kappa rather

◆ gmwork

real, dimension(:,:), pointer mom_thickness_diffuse::thickness_diffuse_cs::gmwork => NULL()

Work by thickness diffusivity [R Z L2 T-3 ~> W m-2].

Definition at line 76 of file MOM_thickness_diffuse.F90.

76  real, pointer :: GMwork(:,:) => null() !< Work by thickness diffusivity [R Z L2 T-3 ~> W m-2]

◆ id_gmwork

integer mom_thickness_diffuse::thickness_diffuse_cs::id_gmwork = -1

Diagnostic identifier.

Definition at line 86 of file MOM_thickness_diffuse.F90.

◆ id_kh_t

integer mom_thickness_diffuse::thickness_diffuse_cs::id_kh_t = -1

Diagnostic identifier.

Definition at line 87 of file MOM_thickness_diffuse.F90.

◆ id_kh_t1

integer mom_thickness_diffuse::thickness_diffuse_cs::id_kh_t1 = -1

Diagnostic identifier.

Definition at line 88 of file MOM_thickness_diffuse.F90.

◆ id_kh_u

integer mom_thickness_diffuse::thickness_diffuse_cs::id_kh_u = -1

Diagnostic identifier.

Definition at line 87 of file MOM_thickness_diffuse.F90.

87  integer :: id_KH_u = -1, id_kh_v = -1, id_kh_t = -1

◆ id_kh_u1

integer mom_thickness_diffuse::thickness_diffuse_cs::id_kh_u1 = -1

Diagnostic identifier.

Definition at line 88 of file MOM_thickness_diffuse.F90.

88  integer :: id_KH_u1 = -1, id_kh_v1 = -1, id_kh_t1 = -1

◆ id_kh_v

integer mom_thickness_diffuse::thickness_diffuse_cs::id_kh_v = -1

Diagnostic identifier.

Definition at line 87 of file MOM_thickness_diffuse.F90.

◆ id_kh_v1

integer mom_thickness_diffuse::thickness_diffuse_cs::id_kh_v1 = -1

Diagnostic identifier.

Definition at line 88 of file MOM_thickness_diffuse.F90.

◆ id_sfn_unlim_x

integer mom_thickness_diffuse::thickness_diffuse_cs::id_sfn_unlim_x = -1

Diagnostic identifier.

Definition at line 90 of file MOM_thickness_diffuse.F90.

90  integer :: id_sfn_unlim_x = -1, id_sfn_unlim_y = -1, id_sfn_x = -1, id_sfn_y = -1

◆ id_sfn_unlim_y

integer mom_thickness_diffuse::thickness_diffuse_cs::id_sfn_unlim_y = -1

Diagnostic identifier.

Definition at line 90 of file MOM_thickness_diffuse.F90.

◆ id_sfn_x

integer mom_thickness_diffuse::thickness_diffuse_cs::id_sfn_x = -1

Diagnostic identifier.

Definition at line 90 of file MOM_thickness_diffuse.F90.

◆ id_sfn_y

integer mom_thickness_diffuse::thickness_diffuse_cs::id_sfn_y = -1

Diagnostic identifier.

Definition at line 90 of file MOM_thickness_diffuse.F90.

◆ id_slope_x

integer mom_thickness_diffuse::thickness_diffuse_cs::id_slope_x = -1

Diagnostic identifier.

Definition at line 89 of file MOM_thickness_diffuse.F90.

89  integer :: id_slope_x = -1, id_slope_y = -1

◆ id_slope_y

integer mom_thickness_diffuse::thickness_diffuse_cs::id_slope_y = -1

Diagnostic identifier.

Definition at line 89 of file MOM_thickness_diffuse.F90.

◆ id_uhgm

integer mom_thickness_diffuse::thickness_diffuse_cs::id_uhgm = -1

Diagnostic identifier.

Definition at line 86 of file MOM_thickness_diffuse.F90.

86  integer :: id_uhGM = -1, id_vhgm = -1, id_gmwork = -1

◆ id_vhgm

integer mom_thickness_diffuse::thickness_diffuse_cs::id_vhgm = -1

Diagnostic identifier.

Definition at line 86 of file MOM_thickness_diffuse.F90.

◆ kappa_smooth

real mom_thickness_diffuse::thickness_diffuse_cs::kappa_smooth

Vertical diffusivity used to interpolate more sensible values of T & S into thin layers [Z2 T-1 ~> m2 s-1].

Definition at line 44 of file MOM_thickness_diffuse.F90.

44  real :: kappa_smooth !< Vertical diffusivity used to interpolate more

◆ kh_u_gme

real, dimension(:,:,:), pointer mom_thickness_diffuse::thickness_diffuse_cs::kh_u_gme => NULL()

interface height diffusivities in u-columns [L2 T-1 ~> m2 s-1]

Definition at line 80 of file MOM_thickness_diffuse.F90.

80  real, dimension(:,:,:), pointer :: &
81  KH_u_GME => null(), & !< interface height diffusivities in u-columns [L2 T-1 ~> m2 s-1]
82  kh_v_gme => null() !< interface height diffusivities in v-columns [L2 T-1 ~> m2 s-1]

◆ kh_v_gme

real, dimension(:,:,:), pointer mom_thickness_diffuse::thickness_diffuse_cs::kh_v_gme => NULL()

interface height diffusivities in v-columns [L2 T-1 ~> m2 s-1]

Definition at line 80 of file MOM_thickness_diffuse.F90.

◆ khth

real mom_thickness_diffuse::thickness_diffuse_cs::khth

Background interface depth diffusivity [L2 T-1 ~> m2 s-1].

Definition at line 38 of file MOM_thickness_diffuse.F90.

38  real :: Khth !< Background interface depth diffusivity [L2 T-1 ~> m2 s-1]

◆ khth_max

real mom_thickness_diffuse::thickness_diffuse_cs::khth_max

Maximum value of Khth [L2 T-1 ~> m2 s-1], or 0 for no max.

Definition at line 42 of file MOM_thickness_diffuse.F90.

42  real :: Khth_Max !< Maximum value of Khth [L2 T-1 ~> m2 s-1], or 0 for no max

◆ khth_min

real mom_thickness_diffuse::thickness_diffuse_cs::khth_min

Minimum value of Khth [L2 T-1 ~> m2 s-1].

Definition at line 41 of file MOM_thickness_diffuse.F90.

41  real :: Khth_Min !< Minimum value of Khth [L2 T-1 ~> m2 s-1]

◆ khth_slope_cff

real mom_thickness_diffuse::thickness_diffuse_cs::khth_slope_cff

Slope dependence coefficient of Khth [nondim].

Definition at line 39 of file MOM_thickness_diffuse.F90.

39  real :: Khth_Slope_Cff !< Slope dependence coefficient of Khth [nondim]

◆ max_khth_cfl

real mom_thickness_diffuse::thickness_diffuse_cs::max_khth_cfl

Maximum value of the diffusive CFL for thickness diffusion.

Definition at line 40 of file MOM_thickness_diffuse.F90.

40  real :: max_Khth_CFL !< Maximum value of the diffusive CFL for thickness diffusion

◆ meke_geometric

logical mom_thickness_diffuse::thickness_diffuse_cs::meke_geometric

If true, uses the GM coefficient formulation from the GEOMETRIC framework (Marshall et al., 2012)

Definition at line 66 of file MOM_thickness_diffuse.F90.

66  logical :: MEKE_GEOMETRIC !< If true, uses the GM coefficient formulation from the GEOMETRIC

◆ meke_geometric_alpha

real mom_thickness_diffuse::thickness_diffuse_cs::meke_geometric_alpha

The nondimensional coefficient governing the efficiency of the GEOMETRIC thickness difussion [nondim].

Definition at line 68 of file MOM_thickness_diffuse.F90.

68  real :: MEKE_GEOMETRIC_alpha!< The nondimensional coefficient governing the efficiency of

◆ meke_geometric_epsilon

real mom_thickness_diffuse::thickness_diffuse_cs::meke_geometric_epsilon

Minimum Eady growth rate for the GEOMETRIC thickness diffusivity [T-1 ~> s-1].

Definition at line 70 of file MOM_thickness_diffuse.F90.

70  real :: MEKE_GEOMETRIC_epsilon !< Minimum Eady growth rate for the GEOMETRIC thickness

◆ n2_floor

real mom_thickness_diffuse::thickness_diffuse_cs::n2_floor

A floor for Brunt-Vasaila frequency in the Ferrari et al., 2010, streamfunction formulation [T-2 ~> s-2].

Definition at line 54 of file MOM_thickness_diffuse.F90.

54  real :: N2_floor !< A floor for Brunt-Vasaila frequency in the Ferrari et al., 2010,

◆ nkml

integer mom_thickness_diffuse::thickness_diffuse_cs::nkml

number of layers within mixed layer

Definition at line 62 of file MOM_thickness_diffuse.F90.

62  integer :: nkml !< number of layers within mixed layer

◆ slope_max

real mom_thickness_diffuse::thickness_diffuse_cs::slope_max

Slopes steeper than slope_max are limited in some way [nondim].

Definition at line 43 of file MOM_thickness_diffuse.F90.

43  real :: slope_max !< Slopes steeper than slope_max are limited in some way [nondim].

◆ thickness_diffuse

logical mom_thickness_diffuse::thickness_diffuse_cs::thickness_diffuse

If true, interfaces heights are diffused.

Definition at line 46 of file MOM_thickness_diffuse.F90.

46  logical :: thickness_diffuse !< If true, interfaces heights are diffused.

◆ use_fgnv_streamfn

logical mom_thickness_diffuse::thickness_diffuse_cs::use_fgnv_streamfn

If true, use the streamfunction formulation of Ferrari et al., 2010, which effectively emphasizes graver vertical modes by smoothing in the vertical.

Definition at line 47 of file MOM_thickness_diffuse.F90.

47  logical :: use_FGNV_streamfn !< If true, use the streamfunction formulation of

◆ use_gme_thickness_diffuse

logical mom_thickness_diffuse::thickness_diffuse_cs::use_gme_thickness_diffuse

If true, passes GM coefficients to MOM_hor_visc for use with GME closure.

Definition at line 64 of file MOM_thickness_diffuse.F90.

64  logical :: use_GME_thickness_diffuse !< If true, passes GM coefficients to MOM_hor_visc for use

◆ use_kh_in_meke

logical mom_thickness_diffuse::thickness_diffuse_cs::use_kh_in_meke

If true, uses the thickness diffusivity calculated here to diffuse MEKE.

Definition at line 72 of file MOM_thickness_diffuse.F90.

72  logical :: Use_KH_in_MEKE !< If true, uses the thickness diffusivity calculated here to diffuse MEKE.

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