MOM6
mom_thickness_diffuse::thickness_diffuse_cs Type Reference

Detailed Description

Control structure for thickness diffusion.

Definition at line 28 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 (m2 s-1) More...
 
real khth_slope_cff
 Slope dependence coefficient of Khth (m2 s-1) More...
 
real max_khth_cfl
 Maximum value of the diffusive CFL for thickness diffusion. More...
 
real khth_min
 Minimum value of Khth (m2 s-1) More...
 
real khth_max
 Maximum value of Khth (m2 s-1), or 0 for no max. More...
 
real slope_max
 Slopes steeper than slope_max are limited in some way. More...
 
real kappa_smooth
 Vertical diffusivity used to interpolate more sensible values of T & S into thin layers. 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. More...
 
real fgnv_c_min
 A minium wave speed used in the Ferrari et al., 2010, streamfunction formulation (m s-1). More...
 
real n2_floor
 A floor for Brunt-Vasaila frequency in the Ferrari et al., 2010, streamfunction formulation (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. 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...
 
type(diag_ctrl), pointer diag
 
real, dimension(:,:), pointer gmwork => NULL()
 Work by thickness diffusivity (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...
 
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 54 of file MOM_thickness_diffuse.F90.

54  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 47 of file MOM_thickness_diffuse.F90.

47  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. This must be longer than DT, or 0 (the default) to use DT.

Definition at line 49 of file MOM_thickness_diffuse.F90.

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

◆ diag

type(diag_ctrl), pointer mom_thickness_diffuse::thickness_diffuse_cs::diag

Definition at line 55 of file MOM_thickness_diffuse.F90.

55  type(diag_ctrl), pointer :: diag ! 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 57 of file MOM_thickness_diffuse.F90.

57  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 58 of file MOM_thickness_diffuse.F90.

58  real, pointer :: diagslopey(:,:,:) => null() !< Diagnostic: zonal neutral slope (nondim)

◆ fgnv_c_min

real mom_thickness_diffuse::thickness_diffuse_cs::fgnv_c_min

A minium wave speed used in the Ferrari et al., 2010, streamfunction formulation (m s-1).

Definition at line 43 of file MOM_thickness_diffuse.F90.

43  real :: fgnv_c_min !< A minium 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.

Definition at line 41 of file MOM_thickness_diffuse.F90.

41  real :: fgnv_scale !< A coefficient scaling the vertical smoothing term in the

◆ gmwork

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

Work by thickness diffusivity (W m-2)

Definition at line 56 of file MOM_thickness_diffuse.F90.

56  real, pointer :: gmwork(:,:) => null() !< Work by thickness diffusivity (W m-2)

◆ id_gmwork

integer mom_thickness_diffuse::thickness_diffuse_cs::id_gmwork = -1

Diagnostic identifier.

Definition at line 62 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 63 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 64 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 63 of file MOM_thickness_diffuse.F90.

63  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 64 of file MOM_thickness_diffuse.F90.

64  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 63 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 64 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 66 of file MOM_thickness_diffuse.F90.

66  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 66 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 66 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 66 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 65 of file MOM_thickness_diffuse.F90.

65  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 65 of file MOM_thickness_diffuse.F90.

◆ id_uhgm

integer mom_thickness_diffuse::thickness_diffuse_cs::id_uhgm = -1

Diagnostic identifier.

Definition at line 62 of file MOM_thickness_diffuse.F90.

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

Definition at line 35 of file MOM_thickness_diffuse.F90.

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

◆ khth

real mom_thickness_diffuse::thickness_diffuse_cs::khth

Background interface depth diffusivity (m2 s-1)

Definition at line 29 of file MOM_thickness_diffuse.F90.

29  real :: khth !< Background interface depth diffusivity (m2 s-1)

◆ khth_max

real mom_thickness_diffuse::thickness_diffuse_cs::khth_max

Maximum value of Khth (m2 s-1), or 0 for no max.

Definition at line 33 of file MOM_thickness_diffuse.F90.

33  real :: khth_max !< Maximum value of Khth (m2 s-1), or 0 for no max

◆ khth_min

real mom_thickness_diffuse::thickness_diffuse_cs::khth_min

Minimum value of Khth (m2 s-1)

Definition at line 32 of file MOM_thickness_diffuse.F90.

32  real :: khth_min !< Minimum value of Khth (m2 s-1)

◆ khth_slope_cff

real mom_thickness_diffuse::thickness_diffuse_cs::khth_slope_cff

Slope dependence coefficient of Khth (m2 s-1)

Definition at line 30 of file MOM_thickness_diffuse.F90.

30  real :: khth_slope_cff !< Slope dependence coefficient of Khth (m2 s-1)

◆ 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 31 of file MOM_thickness_diffuse.F90.

31  real :: max_khth_cfl !< Maximum value of the diffusive CFL for thickness diffusion

◆ 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 (s-2).

Definition at line 45 of file MOM_thickness_diffuse.F90.

45  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 53 of file MOM_thickness_diffuse.F90.

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

Definition at line 34 of file MOM_thickness_diffuse.F90.

34  real :: slope_max !< Slopes steeper than slope_max are limited in some way.

◆ thickness_diffuse

logical mom_thickness_diffuse::thickness_diffuse_cs::thickness_diffuse

If true, interfaces heights are diffused.

Definition at line 37 of file MOM_thickness_diffuse.F90.

37  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 38 of file MOM_thickness_diffuse.F90.

38  logical :: use_fgnv_streamfn !< If true, use the streamfunction formulation of

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