MOM6
mom_diabatic_driver::diabatic_cs Type Reference

Detailed Description

Control structure for this module.

Definition at line 78 of file MOM_diabatic_driver.F90.

Collaboration diagram for mom_diabatic_driver::diabatic_cs:
[legend]

Public variables and constants

logical bulkmixedlayer
 If true, a refined bulk mixed layer is used with nkml sublayers (and additional buffer layers). More...
 
logical use_energetic_pbl
 If true, use the implicit energetics planetary boundary layer scheme to determine the diffusivity in the surface boundary layer. More...
 
logical use_kappa_shear
 If true, use the kappa_shear module to find the shear-driven diapycnal diffusivity. More...
 
logical use_cvmix_shear
 If true, use the CVMix module to find the shear-driven diapycnal diffusivity. More...
 
logical use_sponge
 If true, sponges may be applied anywhere in the domain. The exact location and properties of those sponges are set by calls to initialize_sponge and set_up_sponge_field. More...
 
logical use_geothermal
 If true, apply geothermal heating. More...
 
logical use_int_tides
 If true, use the code that advances a separate set of equations for the internal tide energy density. More...
 
logical epbl_is_additive
 If true, the diffusivity from ePBL is added to all other diffusivities. Otherwise, the larger of kappa- shear and ePBL diffusivities are used. More...
 
integer nmode = 1
 Number of baroclinic modes to consider. More...
 
logical int_tide_source_test
 If true, apply an arbitrary generation site for internal tide testing (BDM) More...
 
real int_tide_source_x
 X Location of generation site for internal tide for testing (BDM) More...
 
real int_tide_source_y
 Y Location of generation site for internal tide for testing (BDM) More...
 
integer tlen_days
 Time interval from start for adding wave source for testing internal tides (BDM) More...
 
logical uniform_cg
 If true, set cg = cg_test everywhere for testing internal tides (BDM) More...
 
real cg_test
 Uniform group velocity of internal tide for testing internal tides (BDM) More...
 
type(time_type) time_max_source
 For use in testing internal tides (BDM) More...
 
type(time_type) time_end
 For use in testing internal tides (BDM) More...
 
logical usealealgorithm
 If true, use the ALE algorithm rather than layered isopycnal/stacked shallow water mode. This logical passed by argument to diabatic_driver_init. More...
 
logical aggregate_fw_forcing
 Determines whether net incoming/outgoing surface FW fluxes are applied separately or combined before being applied. More...
 
real ml_mix_first
 The nondimensional fraction of the mixed layer algorithm that is applied before diffusive mixing. The default is 0, while 0.5 gives Strang splitting and 1 is a sensible value too. Note that if there are convective instabilities in the initial state, the first call may do much more than the second. More...
 
integer nkbl
 The number of buffer layers (if bulk_mixed_layer) More...
 
logical massless_match_targets
 If true (the default), keep the T & S consistent with the target values. More...
 
logical mix_boundary_tracers
 If true, mix the passive tracers in massless layers at the bottom into the interior as though a diffusivity of Kd_min_tr (see below) were operating. More...
 
real kd_bbl_tr
 A bottom boundary layer tracer diffusivity that will allow for explicitly specified bottom fluxes in m2 s-1. The entrainment at the bottom is at least sqrt(Kd_BBL_tr*dt) over the same distance. More...
 
real kd_min_tr
 A minimal diffusivity that should always be applied to tracers, especially in massless layers near the bottom, in m2 s-1. More...
 
real minimum_forcing_depth = 0.001
 The smallest depth over which heat and freshwater fluxes is applied, in m. More...
 
real evap_cfl_limit = 0.8
 The largest fraction of a layer that can be evaporated in one time-step (non-dim). More...
 
logical usekpp
 use CVmix/KPP diffusivities and non-local transport More...
 
logical salt_reject_below_ml
 If true, add salt below mixed layer (layer mode only) More...
 
logical kppispassive
 If true, KPP is in passive mode, not changing answers. More...
 
logical useconvection
 If true, calculate large diffusivities when column is statically unstable. More...
 
logical debug
 If true, write verbose checksums for debugging purposes. More...
 
logical debugconservation
 If true, monitor conservation and extrema. More...
 
logical tracer_tridiag
 If true, use tracer_vertdiff instead of tridiagTS for vertical diffusion of T and S. More...
 
logical debug_energy_req
 
type(diag_ctrl), pointer diag
 structure used to regulate timing of diagnostic output More...
 
real mlddensitydifference
 Density difference used to determine MLD_user. More...
 
integer nsw
 SW_NBANDS. More...
 
integer id_cg1 = -1
 
integer, dimension(:), allocatable id_cn
 
integer id_dudt_dia = -1
 
integer id_dvdt_dia = -1
 
integer id_wd = -1
 
integer id_ea = -1
 
integer id_eb = -1
 
integer id_kd_z = -1
 
integer id_kd_heat = -1
 
integer id_kd_salt = -1
 
integer id_kd_interface = -1
 
integer id_kd_epbl = -1
 
integer id_tdif_z = -1
 
integer id_tadv_z = -1
 
integer id_sdif_z = -1
 
integer id_sadv_z = -1
 
integer id_tdif = -1
 
integer id_tadv = -1
 
integer id_sdif = -1
 
integer id_sadv = -1
 
integer id_mld_003 = -1
 
integer id_mld_0125 = -1
 
integer id_mld_user = -1
 
integer id_mlotstsq = -1
 
integer id_submln2 = -1
 
integer id_brine_lay = -1
 
integer id_diabatic_diff_temp_tend = -1
 
integer id_diabatic_diff_saln_tend = -1
 
integer id_diabatic_diff_heat_tend = -1
 
integer id_diabatic_diff_salt_tend = -1
 
integer id_diabatic_diff_heat_tend_2d = -1
 
integer id_diabatic_diff_salt_tend_2d = -1
 
logical diabatic_diff_tendency_diag = .false.
 
integer id_boundary_forcing_temp_tend = -1
 
integer id_boundary_forcing_saln_tend = -1
 
integer id_boundary_forcing_heat_tend = -1
 
integer id_boundary_forcing_salt_tend = -1
 
integer id_boundary_forcing_heat_tend_2d = -1
 
integer id_boundary_forcing_salt_tend_2d = -1
 
logical boundary_forcing_tendency_diag = .false.
 
integer id_frazil_temp_tend = -1
 
integer id_frazil_heat_tend = -1
 
integer id_frazil_heat_tend_2d = -1
 
logical frazil_tendency_diag = .false.
 
real, dimension(:,:,:), allocatable frazil_heat_diag
 diagnose 3d heat tendency from frazil More...
 
real, dimension(:,:,:), allocatable frazil_temp_diag
 diagnose 3d temp tendency from frazil More...
 
real ppt2mks = 0.001
 
type(diabatic_aux_cs), pointer diabatic_aux_csp => NULL()
 
type(entrain_diffusive_cs), pointer entrain_diffusive_csp => NULL()
 
type(bulkmixedlayer_cs), pointer bulkmixedlayer_csp => NULL()
 
type(energetic_pbl_cs), pointer energetic_pbl_csp => NULL()
 
type(regularize_layers_cs), pointer regularize_layers_csp => NULL()
 
type(geothermal_cs), pointer geothermal_csp => NULL()
 
type(int_tide_cs), pointer int_tide_csp => NULL()
 
type(int_tide_input_cs), pointer int_tide_input_csp => NULL()
 
type(int_tide_input_type), pointer int_tide_input => NULL()
 
type(opacity_cs), pointer opacity_csp => NULL()
 
type(set_diffusivity_cs), pointer set_diff_csp => NULL()
 
type(sponge_cs), pointer sponge_csp => NULL()
 
type(ale_sponge_cs), pointer ale_sponge_csp => NULL()
 
type(tracer_flow_control_cs), pointer tracer_flow_csp => NULL()
 
type(optics_type), pointer optics => NULL()
 
type(diag_to_z_cs), pointer diag_to_z_csp => NULL()
 
type(kpp_cs), pointer kpp_csp => NULL()
 
type(diffconvection_cs), pointer conv_csp => NULL()
 
type(diapyc_energy_req_cs), pointer diapyc_en_rec_csp => NULL()
 
type(group_pass_type) pass_hold_eb_ea
 For group halo pass. More...
 
real, dimension(:,:,:), allocatable kpp_nltheat
 KPP non-local transport for heat (m/s) More...
 
real, dimension(:,:,:), allocatable kpp_nltscalar
 KPP non-local transport for scalars (m/s) More...
 
real, dimension(:,:,:), allocatable kpp_buoy_flux
 KPP forcing buoyancy flux (m^2/s^3) More...
 
real, dimension(:,:), allocatable kpp_temp_flux
 KPP effective temperature flux (K m/s) More...
 
real, dimension(:,:), allocatable kpp_salt_flux
 KPP effective salt flux (ppt m/s) More...
 

Variables and constants

◆ aggregate_fw_forcing

logical mom_diabatic_driver::diabatic_cs::aggregate_fw_forcing

Determines whether net incoming/outgoing surface FW fluxes are applied separately or combined before being applied.

Definition at line 116 of file MOM_diabatic_driver.F90.

116  logical :: aggregate_fw_forcing !< Determines whether net incoming/outgoing surface

◆ ale_sponge_csp

type(ale_sponge_cs), pointer mom_diabatic_driver::diabatic_cs::ale_sponge_csp => NULL()

Definition at line 205 of file MOM_diabatic_driver.F90.

205  type(ale_sponge_cs), pointer :: ale_sponge_csp => null()

◆ boundary_forcing_tendency_diag

logical mom_diabatic_driver::diabatic_cs::boundary_forcing_tendency_diag = .false.

Definition at line 182 of file MOM_diabatic_driver.F90.

182  logical :: boundary_forcing_tendency_diag = .false.

◆ bulkmixedlayer

logical mom_diabatic_driver::diabatic_cs::bulkmixedlayer

If true, a refined bulk mixed layer is used with nkml sublayers (and additional buffer layers).

Definition at line 79 of file MOM_diabatic_driver.F90.

79  logical :: bulkmixedlayer !< If true, a refined bulk mixed layer is used with

◆ bulkmixedlayer_csp

type(bulkmixedlayer_cs), pointer mom_diabatic_driver::diabatic_cs::bulkmixedlayer_csp => NULL()

Definition at line 195 of file MOM_diabatic_driver.F90.

195  type(bulkmixedlayer_cs), pointer :: bulkmixedlayer_csp => null()

◆ cg_test

real mom_diabatic_driver::diabatic_cs::cg_test

Uniform group velocity of internal tide for testing internal tides (BDM)

Definition at line 109 of file MOM_diabatic_driver.F90.

109  real :: cg_test !< Uniform group velocity of internal tide

◆ conv_csp

type(diffconvection_cs), pointer mom_diabatic_driver::diabatic_cs::conv_csp => NULL()

Definition at line 210 of file MOM_diabatic_driver.F90.

210  type(diffconvection_cs), pointer :: conv_csp => null()

◆ debug

logical mom_diabatic_driver::diabatic_cs::debug

If true, write verbose checksums for debugging purposes.

Definition at line 149 of file MOM_diabatic_driver.F90.

149  logical :: debug !< If true, write verbose checksums for debugging purposes.

◆ debug_energy_req

logical mom_diabatic_driver::diabatic_cs::debug_energy_req

Definition at line 153 of file MOM_diabatic_driver.F90.

153  logical :: debug_energy_req ! If true, test the mixing energy requirement code.

◆ debugconservation

logical mom_diabatic_driver::diabatic_cs::debugconservation

If true, monitor conservation and extrema.

Definition at line 150 of file MOM_diabatic_driver.F90.

150  logical :: debugconservation !< If true, monitor conservation and extrema.

◆ diabatic_aux_csp

type(diabatic_aux_cs), pointer mom_diabatic_driver::diabatic_cs::diabatic_aux_csp => NULL()

Definition at line 193 of file MOM_diabatic_driver.F90.

193  type(diabatic_aux_cs), pointer :: diabatic_aux_csp => null()

◆ diabatic_diff_tendency_diag

logical mom_diabatic_driver::diabatic_cs::diabatic_diff_tendency_diag = .false.

Definition at line 174 of file MOM_diabatic_driver.F90.

174  logical :: diabatic_diff_tendency_diag = .false.

◆ diag

type(diag_ctrl), pointer mom_diabatic_driver::diabatic_cs::diag

structure used to regulate timing of diagnostic output

Definition at line 154 of file MOM_diabatic_driver.F90.

154  type(diag_ctrl), pointer :: diag !< structure used to regulate timing of diagnostic output

◆ diag_to_z_csp

type(diag_to_z_cs), pointer mom_diabatic_driver::diabatic_cs::diag_to_z_csp => NULL()

Definition at line 208 of file MOM_diabatic_driver.F90.

208  type(diag_to_z_cs), pointer :: diag_to_z_csp => null()

◆ diapyc_en_rec_csp

type(diapyc_energy_req_cs), pointer mom_diabatic_driver::diabatic_cs::diapyc_en_rec_csp => NULL()

Definition at line 211 of file MOM_diabatic_driver.F90.

211  type(diapyc_energy_req_cs), pointer :: diapyc_en_rec_csp => null()

◆ energetic_pbl_csp

type(energetic_pbl_cs), pointer mom_diabatic_driver::diabatic_cs::energetic_pbl_csp => NULL()

Definition at line 196 of file MOM_diabatic_driver.F90.

196  type(energetic_pbl_cs), pointer :: energetic_pbl_csp => null()

◆ entrain_diffusive_csp

type(entrain_diffusive_cs), pointer mom_diabatic_driver::diabatic_cs::entrain_diffusive_csp => NULL()

Definition at line 194 of file MOM_diabatic_driver.F90.

194  type(entrain_diffusive_cs), pointer :: entrain_diffusive_csp => null()

◆ epbl_is_additive

logical mom_diabatic_driver::diabatic_cs::epbl_is_additive

If true, the diffusivity from ePBL is added to all other diffusivities. Otherwise, the larger of kappa- shear and ePBL diffusivities are used.

Definition at line 95 of file MOM_diabatic_driver.F90.

95  logical :: epbl_is_additive !< If true, the diffusivity from ePBL is added to all

◆ evap_cfl_limit

real mom_diabatic_driver::diabatic_cs::evap_cfl_limit = 0.8

The largest fraction of a layer that can be evaporated in one time-step (non-dim).

Definition at line 141 of file MOM_diabatic_driver.F90.

141  real :: evap_cfl_limit = 0.8 !< The largest fraction of a layer that can be

◆ frazil_heat_diag

real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::frazil_heat_diag

diagnose 3d heat tendency from frazil

Definition at line 188 of file MOM_diabatic_driver.F90.

188  real, allocatable, dimension(:,:,:) :: frazil_heat_diag !< diagnose 3d heat tendency from frazil

◆ frazil_temp_diag

real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::frazil_temp_diag

diagnose 3d temp tendency from frazil

Definition at line 189 of file MOM_diabatic_driver.F90.

189  real, allocatable, dimension(:,:,:) :: frazil_temp_diag !< diagnose 3d temp tendency from frazil

◆ frazil_tendency_diag

logical mom_diabatic_driver::diabatic_cs::frazil_tendency_diag = .false.

Definition at line 187 of file MOM_diabatic_driver.F90.

187  logical :: frazil_tendency_diag = .false.

◆ geothermal_csp

type(geothermal_cs), pointer mom_diabatic_driver::diabatic_cs::geothermal_csp => NULL()

Definition at line 198 of file MOM_diabatic_driver.F90.

198  type(geothermal_cs), pointer :: geothermal_csp => null()

◆ id_boundary_forcing_heat_tend

integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_heat_tend = -1

Definition at line 178 of file MOM_diabatic_driver.F90.

178  integer :: id_boundary_forcing_heat_tend = -1

◆ id_boundary_forcing_heat_tend_2d

integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_heat_tend_2d = -1

Definition at line 180 of file MOM_diabatic_driver.F90.

180  integer :: id_boundary_forcing_heat_tend_2d = -1

◆ id_boundary_forcing_saln_tend

integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_saln_tend = -1

Definition at line 177 of file MOM_diabatic_driver.F90.

177  integer :: id_boundary_forcing_saln_tend = -1

◆ id_boundary_forcing_salt_tend

integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_salt_tend = -1

Definition at line 179 of file MOM_diabatic_driver.F90.

179  integer :: id_boundary_forcing_salt_tend = -1

◆ id_boundary_forcing_salt_tend_2d

integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_salt_tend_2d = -1

Definition at line 181 of file MOM_diabatic_driver.F90.

181  integer :: id_boundary_forcing_salt_tend_2d = -1

◆ id_boundary_forcing_temp_tend

integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_temp_tend = -1

Definition at line 176 of file MOM_diabatic_driver.F90.

176  integer :: id_boundary_forcing_temp_tend = -1

◆ id_brine_lay

integer mom_diabatic_driver::diabatic_cs::id_brine_lay = -1

Definition at line 166 of file MOM_diabatic_driver.F90.

◆ id_cg1

integer mom_diabatic_driver::diabatic_cs::id_cg1 = -1

Definition at line 158 of file MOM_diabatic_driver.F90.

158  integer :: id_cg1 = -1 ! diag handle for mode-1 speed (BDM)

◆ id_cn

integer, dimension(:), allocatable mom_diabatic_driver::diabatic_cs::id_cn

Definition at line 159 of file MOM_diabatic_driver.F90.

159  integer, allocatable, dimension(:) :: id_cn ! diag handle for all mode speeds (BDM)

◆ id_diabatic_diff_heat_tend

integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_heat_tend = -1

Definition at line 170 of file MOM_diabatic_driver.F90.

170  integer :: id_diabatic_diff_heat_tend = -1

◆ id_diabatic_diff_heat_tend_2d

integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_heat_tend_2d = -1

Definition at line 172 of file MOM_diabatic_driver.F90.

172  integer :: id_diabatic_diff_heat_tend_2d = -1

◆ id_diabatic_diff_saln_tend

integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_saln_tend = -1

Definition at line 169 of file MOM_diabatic_driver.F90.

169  integer :: id_diabatic_diff_saln_tend = -1

◆ id_diabatic_diff_salt_tend

integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_salt_tend = -1

Definition at line 171 of file MOM_diabatic_driver.F90.

171  integer :: id_diabatic_diff_salt_tend = -1

◆ id_diabatic_diff_salt_tend_2d

integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_salt_tend_2d = -1

Definition at line 173 of file MOM_diabatic_driver.F90.

173  integer :: id_diabatic_diff_salt_tend_2d = -1

◆ id_diabatic_diff_temp_tend

integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_temp_tend = -1

Definition at line 168 of file MOM_diabatic_driver.F90.

168  integer :: id_diabatic_diff_temp_tend = -1

◆ id_dudt_dia

integer mom_diabatic_driver::diabatic_cs::id_dudt_dia = -1

Definition at line 160 of file MOM_diabatic_driver.F90.

160  integer :: id_dudt_dia = -1, id_dvdt_dia = -1, id_wd = -1

◆ id_dvdt_dia

integer mom_diabatic_driver::diabatic_cs::id_dvdt_dia = -1

Definition at line 160 of file MOM_diabatic_driver.F90.

◆ id_ea

integer mom_diabatic_driver::diabatic_cs::id_ea = -1

Definition at line 161 of file MOM_diabatic_driver.F90.

161  integer :: id_ea = -1, id_eb = -1, id_kd_z = -1

◆ id_eb

integer mom_diabatic_driver::diabatic_cs::id_eb = -1

Definition at line 161 of file MOM_diabatic_driver.F90.

◆ id_frazil_heat_tend

integer mom_diabatic_driver::diabatic_cs::id_frazil_heat_tend = -1

Definition at line 185 of file MOM_diabatic_driver.F90.

185  integer :: id_frazil_heat_tend = -1

◆ id_frazil_heat_tend_2d

integer mom_diabatic_driver::diabatic_cs::id_frazil_heat_tend_2d = -1

Definition at line 186 of file MOM_diabatic_driver.F90.

186  integer :: id_frazil_heat_tend_2d = -1

◆ id_frazil_temp_tend

integer mom_diabatic_driver::diabatic_cs::id_frazil_temp_tend = -1

Definition at line 184 of file MOM_diabatic_driver.F90.

184  integer :: id_frazil_temp_tend = -1

◆ id_kd_epbl

integer mom_diabatic_driver::diabatic_cs::id_kd_epbl = -1

Definition at line 162 of file MOM_diabatic_driver.F90.

◆ id_kd_heat

integer mom_diabatic_driver::diabatic_cs::id_kd_heat = -1

Definition at line 162 of file MOM_diabatic_driver.F90.

162  integer :: id_kd_heat = -1, id_kd_salt = -1, id_kd_interface = -1, id_kd_epbl = -1

◆ id_kd_interface

integer mom_diabatic_driver::diabatic_cs::id_kd_interface = -1

Definition at line 162 of file MOM_diabatic_driver.F90.

◆ id_kd_salt

integer mom_diabatic_driver::diabatic_cs::id_kd_salt = -1

Definition at line 162 of file MOM_diabatic_driver.F90.

◆ id_kd_z

integer mom_diabatic_driver::diabatic_cs::id_kd_z = -1

Definition at line 161 of file MOM_diabatic_driver.F90.

◆ id_mld_003

integer mom_diabatic_driver::diabatic_cs::id_mld_003 = -1

Definition at line 165 of file MOM_diabatic_driver.F90.

165  integer :: id_mld_003 = -1, id_mld_0125 = -1, id_mld_user = -1, id_mlotstsq = -1

◆ id_mld_0125

integer mom_diabatic_driver::diabatic_cs::id_mld_0125 = -1

Definition at line 165 of file MOM_diabatic_driver.F90.

◆ id_mld_user

integer mom_diabatic_driver::diabatic_cs::id_mld_user = -1

Definition at line 165 of file MOM_diabatic_driver.F90.

◆ id_mlotstsq

integer mom_diabatic_driver::diabatic_cs::id_mlotstsq = -1

Definition at line 165 of file MOM_diabatic_driver.F90.

◆ id_sadv

integer mom_diabatic_driver::diabatic_cs::id_sadv = -1

Definition at line 164 of file MOM_diabatic_driver.F90.

◆ id_sadv_z

integer mom_diabatic_driver::diabatic_cs::id_sadv_z = -1

Definition at line 163 of file MOM_diabatic_driver.F90.

◆ id_sdif

integer mom_diabatic_driver::diabatic_cs::id_sdif = -1

Definition at line 164 of file MOM_diabatic_driver.F90.

◆ id_sdif_z

integer mom_diabatic_driver::diabatic_cs::id_sdif_z = -1

Definition at line 163 of file MOM_diabatic_driver.F90.

◆ id_submln2

integer mom_diabatic_driver::diabatic_cs::id_submln2 = -1

Definition at line 166 of file MOM_diabatic_driver.F90.

166  integer :: id_submln2 = -1, id_brine_lay = -1

◆ id_tadv

integer mom_diabatic_driver::diabatic_cs::id_tadv = -1

Definition at line 164 of file MOM_diabatic_driver.F90.

◆ id_tadv_z

integer mom_diabatic_driver::diabatic_cs::id_tadv_z = -1

Definition at line 163 of file MOM_diabatic_driver.F90.

◆ id_tdif

integer mom_diabatic_driver::diabatic_cs::id_tdif = -1

Definition at line 164 of file MOM_diabatic_driver.F90.

164  integer :: id_tdif = -1, id_tadv = -1, id_sdif = -1, id_sadv = -1

◆ id_tdif_z

integer mom_diabatic_driver::diabatic_cs::id_tdif_z = -1

Definition at line 163 of file MOM_diabatic_driver.F90.

163  integer :: id_tdif_z = -1, id_tadv_z = -1, id_sdif_z = -1, id_sadv_z = -1

◆ id_wd

integer mom_diabatic_driver::diabatic_cs::id_wd = -1

Definition at line 160 of file MOM_diabatic_driver.F90.

◆ int_tide_csp

type(int_tide_cs), pointer mom_diabatic_driver::diabatic_cs::int_tide_csp => NULL()

Definition at line 199 of file MOM_diabatic_driver.F90.

199  type(int_tide_cs), pointer :: int_tide_csp => null()

◆ int_tide_input

type(int_tide_input_type), pointer mom_diabatic_driver::diabatic_cs::int_tide_input => NULL()

Definition at line 201 of file MOM_diabatic_driver.F90.

201  type(int_tide_input_type), pointer :: int_tide_input => null()

◆ int_tide_input_csp

type(int_tide_input_cs), pointer mom_diabatic_driver::diabatic_cs::int_tide_input_csp => NULL()

Definition at line 200 of file MOM_diabatic_driver.F90.

200  type(int_tide_input_cs), pointer :: int_tide_input_csp => null()

◆ int_tide_source_test

logical mom_diabatic_driver::diabatic_cs::int_tide_source_test

If true, apply an arbitrary generation site for internal tide testing (BDM)

Definition at line 99 of file MOM_diabatic_driver.F90.

99  logical :: int_tide_source_test !< If true, apply an arbitrary generation site

◆ int_tide_source_x

real mom_diabatic_driver::diabatic_cs::int_tide_source_x

X Location of generation site for internal tide for testing (BDM)

Definition at line 101 of file MOM_diabatic_driver.F90.

101  real :: int_tide_source_x !< X Location of generation site

◆ int_tide_source_y

real mom_diabatic_driver::diabatic_cs::int_tide_source_y

Y Location of generation site for internal tide for testing (BDM)

Definition at line 103 of file MOM_diabatic_driver.F90.

103  real :: int_tide_source_y !< Y Location of generation site

◆ kd_bbl_tr

real mom_diabatic_driver::diabatic_cs::kd_bbl_tr

A bottom boundary layer tracer diffusivity that will allow for explicitly specified bottom fluxes in m2 s-1. The entrainment at the bottom is at least sqrt(Kd_BBL_tr*dt) over the same distance.

Definition at line 132 of file MOM_diabatic_driver.F90.

132  real :: kd_bbl_tr !< A bottom boundary layer tracer diffusivity that

◆ kd_min_tr

real mom_diabatic_driver::diabatic_cs::kd_min_tr

A minimal diffusivity that should always be applied to tracers, especially in massless layers near the bottom, in m2 s-1.

Definition at line 136 of file MOM_diabatic_driver.F90.

136  real :: kd_min_tr !< A minimal diffusivity that should always be

◆ kpp_buoy_flux

real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_buoy_flux

KPP forcing buoyancy flux (m^2/s^3)

Definition at line 218 of file MOM_diabatic_driver.F90.

218  real, allocatable, dimension(:,:,:) :: kpp_buoy_flux !< KPP forcing buoyancy flux (m^2/s^3)

◆ kpp_csp

type(kpp_cs), pointer mom_diabatic_driver::diabatic_cs::kpp_csp => NULL()

Definition at line 209 of file MOM_diabatic_driver.F90.

209  type(kpp_cs), pointer :: kpp_csp => null()

◆ kpp_nltheat

real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_nltheat

KPP non-local transport for heat (m/s)

Definition at line 216 of file MOM_diabatic_driver.F90.

216  real, allocatable, dimension(:,:,:) :: kpp_nltheat !< KPP non-local transport for heat (m/s)

◆ kpp_nltscalar

real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_nltscalar

KPP non-local transport for scalars (m/s)

Definition at line 217 of file MOM_diabatic_driver.F90.

217  real, allocatable, dimension(:,:,:) :: kpp_nltscalar !< KPP non-local transport for scalars (m/s)

◆ kpp_salt_flux

real, dimension(:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_salt_flux

KPP effective salt flux (ppt m/s)

Definition at line 220 of file MOM_diabatic_driver.F90.

220  real, allocatable, dimension(:,:) :: kpp_salt_flux !< KPP effective salt flux (ppt m/s)

◆ kpp_temp_flux

real, dimension(:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_temp_flux

KPP effective temperature flux (K m/s)

Definition at line 219 of file MOM_diabatic_driver.F90.

219  real, allocatable, dimension(:,:) :: kpp_temp_flux !< KPP effective temperature flux (K m/s)

◆ kppispassive

logical mom_diabatic_driver::diabatic_cs::kppispassive

If true, KPP is in passive mode, not changing answers.

Definition at line 146 of file MOM_diabatic_driver.F90.

146  logical :: kppispassive !< If true, KPP is in passive mode, not changing answers.

◆ massless_match_targets

logical mom_diabatic_driver::diabatic_cs::massless_match_targets

If true (the default), keep the T & S consistent with the target values.

Definition at line 126 of file MOM_diabatic_driver.F90.

126  logical :: massless_match_targets !< If true (the default), keep the T & S

◆ minimum_forcing_depth

real mom_diabatic_driver::diabatic_cs::minimum_forcing_depth = 0.001

The smallest depth over which heat and freshwater fluxes is applied, in m.

Definition at line 139 of file MOM_diabatic_driver.F90.

139  real :: minimum_forcing_depth = 0.001 !< The smallest depth over which heat and freshwater

◆ mix_boundary_tracers

logical mom_diabatic_driver::diabatic_cs::mix_boundary_tracers

If true, mix the passive tracers in massless layers at the bottom into the interior as though a diffusivity of Kd_min_tr (see below) were operating.

Definition at line 128 of file MOM_diabatic_driver.F90.

128  logical :: mix_boundary_tracers !< If true, mix the passive tracers in massless

◆ ml_mix_first

real mom_diabatic_driver::diabatic_cs::ml_mix_first

The nondimensional fraction of the mixed layer algorithm that is applied before diffusive mixing. The default is 0, while 0.5 gives Strang splitting and 1 is a sensible value too. Note that if there are convective instabilities in the initial state, the first call may do much more than the second.

Definition at line 119 of file MOM_diabatic_driver.F90.

119  real :: ml_mix_first !< The nondimensional fraction of the mixed layer

◆ mlddensitydifference

real mom_diabatic_driver::diabatic_cs::mlddensitydifference

Density difference used to determine MLD_user.

Definition at line 155 of file MOM_diabatic_driver.F90.

155  real :: mlddensitydifference !< Density difference used to determine MLD_user

◆ nkbl

integer mom_diabatic_driver::diabatic_cs::nkbl

The number of buffer layers (if bulk_mixed_layer)

Definition at line 125 of file MOM_diabatic_driver.F90.

125  integer :: nkbl !< The number of buffer layers (if bulk_mixed_layer)

◆ nmode

integer mom_diabatic_driver::diabatic_cs::nmode = 1

Number of baroclinic modes to consider.

Definition at line 98 of file MOM_diabatic_driver.F90.

98  integer :: nmode = 1 !< Number of baroclinic modes to consider

◆ nsw

integer mom_diabatic_driver::diabatic_cs::nsw

SW_NBANDS.

Definition at line 156 of file MOM_diabatic_driver.F90.

156  integer :: nsw !< SW_NBANDS

◆ opacity_csp

type(opacity_cs), pointer mom_diabatic_driver::diabatic_cs::opacity_csp => NULL()

Definition at line 202 of file MOM_diabatic_driver.F90.

202  type(opacity_cs), pointer :: opacity_csp => null()

◆ optics

type(optics_type), pointer mom_diabatic_driver::diabatic_cs::optics => NULL()

Definition at line 207 of file MOM_diabatic_driver.F90.

207  type(optics_type), pointer :: optics => null()

◆ pass_hold_eb_ea

type(group_pass_type) mom_diabatic_driver::diabatic_cs::pass_hold_eb_ea

For group halo pass.

Definition at line 213 of file MOM_diabatic_driver.F90.

213  type(group_pass_type) :: pass_hold_eb_ea !< For group halo pass

◆ ppt2mks

real mom_diabatic_driver::diabatic_cs::ppt2mks = 0.001

Definition at line 191 of file MOM_diabatic_driver.F90.

191  real :: ppt2mks = 0.001

◆ regularize_layers_csp

type(regularize_layers_cs), pointer mom_diabatic_driver::diabatic_cs::regularize_layers_csp => NULL()

Definition at line 197 of file MOM_diabatic_driver.F90.

197  type(regularize_layers_cs), pointer :: regularize_layers_csp => null()

◆ salt_reject_below_ml

logical mom_diabatic_driver::diabatic_cs::salt_reject_below_ml

If true, add salt below mixed layer (layer mode only)

Definition at line 145 of file MOM_diabatic_driver.F90.

145  logical :: salt_reject_below_ml !< If true, add salt below mixed layer (layer mode only)

◆ set_diff_csp

type(set_diffusivity_cs), pointer mom_diabatic_driver::diabatic_cs::set_diff_csp => NULL()

Definition at line 203 of file MOM_diabatic_driver.F90.

203  type(set_diffusivity_cs), pointer :: set_diff_csp => null()

◆ sponge_csp

type(sponge_cs), pointer mom_diabatic_driver::diabatic_cs::sponge_csp => NULL()

Definition at line 204 of file MOM_diabatic_driver.F90.

204  type(sponge_cs), pointer :: sponge_csp => null()

◆ time_end

type(time_type) mom_diabatic_driver::diabatic_cs::time_end

For use in testing internal tides (BDM)

Definition at line 112 of file MOM_diabatic_driver.F90.

112  type(time_type) :: time_end !< For use in testing internal tides (BDM)

◆ time_max_source

type(time_type) mom_diabatic_driver::diabatic_cs::time_max_source

For use in testing internal tides (BDM)

Definition at line 111 of file MOM_diabatic_driver.F90.

111  type(time_type) :: time_max_source !< For use in testing internal tides (BDM)

◆ tlen_days

integer mom_diabatic_driver::diabatic_cs::tlen_days

Time interval from start for adding wave source for testing internal tides (BDM)

Definition at line 105 of file MOM_diabatic_driver.F90.

105  integer :: tlen_days !< Time interval from start for adding wave source

◆ tracer_flow_csp

type(tracer_flow_control_cs), pointer mom_diabatic_driver::diabatic_cs::tracer_flow_csp => NULL()

Definition at line 206 of file MOM_diabatic_driver.F90.

206  type(tracer_flow_control_cs), pointer :: tracer_flow_csp => null()

◆ tracer_tridiag

logical mom_diabatic_driver::diabatic_cs::tracer_tridiag

If true, use tracer_vertdiff instead of tridiagTS for vertical diffusion of T and S.

Definition at line 151 of file MOM_diabatic_driver.F90.

151  logical :: tracer_tridiag !< If true, use tracer_vertdiff instead of tridiagTS for

◆ uniform_cg

logical mom_diabatic_driver::diabatic_cs::uniform_cg

If true, set cg = cg_test everywhere for testing internal tides (BDM)

Definition at line 107 of file MOM_diabatic_driver.F90.

107  logical :: uniform_cg !< If true, set cg = cg_test everywhere

◆ use_cvmix_shear

logical mom_diabatic_driver::diabatic_cs::use_cvmix_shear

If true, use the CVMix module to find the shear-driven diapycnal diffusivity.

Definition at line 86 of file MOM_diabatic_driver.F90.

86  logical :: use_cvmix_shear !< If true, use the CVMix module to find the

◆ use_energetic_pbl

logical mom_diabatic_driver::diabatic_cs::use_energetic_pbl

If true, use the implicit energetics planetary boundary layer scheme to determine the diffusivity in the surface boundary layer.

Definition at line 81 of file MOM_diabatic_driver.F90.

81  logical :: use_energetic_pbl !< If true, use the implicit energetics planetary

◆ use_geothermal

logical mom_diabatic_driver::diabatic_cs::use_geothermal

If true, apply geothermal heating.

Definition at line 92 of file MOM_diabatic_driver.F90.

92  logical :: use_geothermal !< If true, apply geothermal heating.

◆ use_int_tides

logical mom_diabatic_driver::diabatic_cs::use_int_tides

If true, use the code that advances a separate set of equations for the internal tide energy density.

Definition at line 93 of file MOM_diabatic_driver.F90.

93  logical :: use_int_tides !< If true, use the code that advances a separate set

◆ use_kappa_shear

logical mom_diabatic_driver::diabatic_cs::use_kappa_shear

If true, use the kappa_shear module to find the shear-driven diapycnal diffusivity.

Definition at line 84 of file MOM_diabatic_driver.F90.

84  logical :: use_kappa_shear !< If true, use the kappa_shear module to find the

◆ use_sponge

logical mom_diabatic_driver::diabatic_cs::use_sponge

If true, sponges may be applied anywhere in the domain. The exact location and properties of those sponges are set by calls to initialize_sponge and set_up_sponge_field.

Definition at line 88 of file MOM_diabatic_driver.F90.

88  logical :: use_sponge !< If true, sponges may be applied anywhere in the

◆ usealealgorithm

logical mom_diabatic_driver::diabatic_cs::usealealgorithm

If true, use the ALE algorithm rather than layered isopycnal/stacked shallow water mode. This logical passed by argument to diabatic_driver_init.

Definition at line 113 of file MOM_diabatic_driver.F90.

113  logical :: usealealgorithm !< If true, use the ALE algorithm rather than layered

◆ useconvection

logical mom_diabatic_driver::diabatic_cs::useconvection

If true, calculate large diffusivities when column is statically unstable.

Definition at line 147 of file MOM_diabatic_driver.F90.

147  logical :: useconvection !< If true, calculate large diffusivities when column

◆ usekpp

logical mom_diabatic_driver::diabatic_cs::usekpp

use CVmix/KPP diffusivities and non-local transport

Definition at line 144 of file MOM_diabatic_driver.F90.

144  logical :: usekpp !< use CVmix/KPP diffusivities and non-local transport

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