MOM6
|
Control structure for this module.
Definition at line 92 of file MOM_diabatic_driver.F90.
Public variables and constants | |
logical | use_legacy_diabatic |
If true (default), use the a legacy version of the diabatic algorithm. This is temporary and is needed to avoid change in answers. More... | |
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_kpp |
If true, use CVMix/KPP boundary layer scheme to determine the OBLD and the diffusivities within this 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_cvmix_ddiff |
If true, use the CVMix double diffusion module. More... | |
logical | use_tidal_mixing |
If true, activate tidal mixing diffusivity. More... | |
logical | use_cvmix_conv |
If true, use the CVMix module to get enhanced mixing due to convection. 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... | |
real | uniform_test_cg |
Uniform group velocity of internal tide for testing internal tides [L T-1 ~> m s-1]. 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 [Z2 T-1 ~> 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 [Z2 T-1 ~> m2 s-1]. More... | |
real | minimum_forcing_depth |
The smallest depth over which heat and freshwater fluxes are applied [H ~> m or kg m-2]. More... | |
real | evap_cfl_limit = 0.8 |
The largest fraction of a layer that can be evaporated in one time-step [nondim]. More... | |
integer | halo_ts_diff = 0 |
The temperature, salinity and thickness halo size that must be valid for the diffusivity calculations. More... | |
logical | usekpp = .false. |
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 | 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 |
If true, test the mixing energy requirement code. More... | |
type(diag_ctrl), pointer | diag |
structure used to regulate timing of diagnostic output More... | |
real | mlddensitydifference |
Density difference used to determine MLD_user [R ~> kg m-3]. More... | |
real | dz_subml_n2 |
The distance over which to calculate a diagnostic of the average stratification at the base of the mixed layer [Z ~> m]. More... | |
integer | id_cg1 = -1 |
Diagnostic IDs. More... | |
integer, dimension(:), allocatable | id_cn |
Diagnostic IDs. More... | |
integer | id_wd = -1 |
Diagnostic IDs. More... | |
integer | id_ea = -1 |
Diagnostic IDs. More... | |
integer | id_eb = -1 |
Diagnostic IDs. More... | |
integer | id_dudt_dia = -1 |
Diagnostic IDs. More... | |
integer | id_dvdt_dia = -1 |
Diagnostic IDs. More... | |
integer | id_ea_s = -1 |
Diagnostic IDs. More... | |
integer | id_eb_s = -1 |
Diagnostic IDs. More... | |
integer | id_ea_t = -1 |
Diagnostic IDs. More... | |
integer | id_eb_t = -1 |
Diagnostic IDs. More... | |
integer | id_kd_heat = -1 |
Diagnostic IDs. More... | |
integer | id_kd_salt = -1 |
Diagnostic IDs. More... | |
integer | id_kd_interface = -1 |
Diagnostic IDs. More... | |
integer | id_kd_epbl = -1 |
Diagnostic IDs. More... | |
integer | id_tdif = -1 |
Diagnostic IDs. More... | |
integer | id_tadv = -1 |
Diagnostic IDs. More... | |
integer | id_sdif = -1 |
Diagnostic IDs. More... | |
integer | id_sadv = -1 |
Diagnostic IDs. More... | |
integer | id_mld_003 = -1 |
Diagnostic IDs. More... | |
integer | id_mld_0125 = -1 |
Diagnostic IDs. More... | |
integer | id_mld_user = -1 |
Diagnostic IDs. More... | |
integer | id_mlotstsq = -1 |
Diagnostic IDs. More... | |
integer | id_submln2 = -1 |
Diagnostic IDs. More... | |
integer | id_brine_lay = -1 |
Diagnostic IDs. More... | |
integer | id_u_predia = -1 |
Diagnostic IDs. More... | |
integer | id_v_predia = -1 |
Diagnostic IDs. More... | |
integer | id_h_predia = -1 |
Diagnostic IDs. More... | |
integer | id_t_predia = -1 |
Diagnostic IDs. More... | |
integer | id_s_predia = -1 |
Diagnostic IDs. More... | |
integer | id_e_predia = -1 |
Diagnostic IDs. More... | |
integer | id_diabatic_diff_temp_tend = -1 |
Diagnostic IDs. More... | |
integer | id_diabatic_diff_saln_tend = -1 |
Diagnostic IDs. More... | |
integer | id_diabatic_diff_heat_tend = -1 |
Diagnostic IDs. More... | |
integer | id_diabatic_diff_salt_tend = -1 |
Diagnostic IDs. More... | |
integer | id_diabatic_diff_heat_tend_2d = -1 |
Diagnostic IDs. More... | |
integer | id_diabatic_diff_salt_tend_2d = -1 |
Diagnostic IDs. More... | |
integer | id_diabatic_diff_h = -1 |
Diagnostic IDs. More... | |
integer | id_boundary_forcing_h = -1 |
Diagnostic IDs. More... | |
integer | id_boundary_forcing_h_tendency = -1 |
Diagnostic IDs. More... | |
integer | id_boundary_forcing_temp_tend = -1 |
Diagnostic IDs. More... | |
integer | id_boundary_forcing_saln_tend = -1 |
Diagnostic IDs. More... | |
integer | id_boundary_forcing_heat_tend = -1 |
Diagnostic IDs. More... | |
integer | id_boundary_forcing_salt_tend = -1 |
Diagnostic IDs. More... | |
integer | id_boundary_forcing_heat_tend_2d = -1 |
Diagnostic IDs. More... | |
integer | id_boundary_forcing_salt_tend_2d = -1 |
Diagnostic IDs. More... | |
integer | id_frazil_h = -1 |
Diagnostic IDs. More... | |
integer | id_frazil_temp_tend = -1 |
Diagnostic IDs. More... | |
integer | id_frazil_heat_tend = -1 |
Diagnostic IDs. More... | |
integer | id_frazil_heat_tend_2d = -1 |
Diagnostic IDs. More... | |
logical | diabatic_diff_tendency_diag = .false. |
If true calculate diffusive tendency diagnostics. More... | |
logical | boundary_forcing_tendency_diag = .false. |
If true calculate frazil diagnostics. More... | |
logical | frazil_tendency_diag = .false. |
If true calculate frazil tendency diagnostics. More... | |
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... | |
type(diabatic_aux_cs), pointer | diabatic_aux_csp => NULL() |
Control structure for a child module. More... | |
type(entrain_diffusive_cs), pointer | entrain_diffusive_csp => NULL() |
Control structure for a child module. More... | |
type(bulkmixedlayer_cs), pointer | bulkmixedlayer_csp => NULL() |
Control structure for a child module. More... | |
type(energetic_pbl_cs), pointer | energetic_pbl_csp => NULL() |
Control structure for a child module. More... | |
type(regularize_layers_cs), pointer | regularize_layers_csp => NULL() |
Control structure for a child module. More... | |
type(geothermal_cs), pointer | geothermal_csp => NULL() |
Control structure for a child module. More... | |
type(int_tide_cs), pointer | int_tide_csp => NULL() |
Control structure for a child module. More... | |
type(int_tide_input_cs), pointer | int_tide_input_csp => NULL() |
Control structure for a child module. More... | |
type(int_tide_input_type), pointer | int_tide_input => NULL() |
Control structure for a child module. More... | |
type(opacity_cs), pointer | opacity_csp => NULL() |
Control structure for a child module. More... | |
type(set_diffusivity_cs), pointer | set_diff_csp => NULL() |
Control structure for a child module. More... | |
type(sponge_cs), pointer | sponge_csp => NULL() |
Control structure for a child module. More... | |
type(ale_sponge_cs), pointer | ale_sponge_csp => NULL() |
Control structure for a child module. More... | |
type(tracer_flow_control_cs), pointer | tracer_flow_csp => NULL() |
Control structure for a child module. More... | |
type(optics_type), pointer | optics => NULL() |
Control structure for a child module. More... | |
type(kpp_cs), pointer | kpp_csp => NULL() |
Control structure for a child module. More... | |
type(tidal_mixing_cs), pointer | tidal_mixing_csp => NULL() |
Control structure for a child module. More... | |
type(cvmix_conv_cs), pointer | cvmix_conv_csp => NULL() |
Control structure for a child module. More... | |
type(diapyc_energy_req_cs), pointer | diapyc_en_rec_csp => NULL() |
Control structure for a child module. More... | |
type(group_pass_type) | pass_hold_eb_ea |
For group halo pass. More... | |
type(group_pass_type) | pass_kv |
For group halo pass. More... | |
type(diag_grid_storage) | diag_grids_prev |
Stores diagnostic grids at some previous point in the algorithm. More... | |
real, dimension(:,:,:), allocatable | kpp_nltheat |
KPP non-local transport for heat [m s-1]. More... | |
real, dimension(:,:,:), allocatable | kpp_nltscalar |
KPP non-local transport for scalars [m s-1]. More... | |
real, dimension(:,:,:), allocatable | kpp_buoy_flux |
KPP forcing buoyancy flux [L2 T-3 ~> m2 s-3]. More... | |
real, dimension(:,:), allocatable | kpp_temp_flux |
KPP effective temperature flux [degC m s-1]. More... | |
real, dimension(:,:), allocatable | kpp_salt_flux |
KPP effective salt flux [ppt m s-1]. More... | |
type(time_type), pointer | time |
Pointer to model time (needed for sponges) More... | |
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 128 of file MOM_diabatic_driver.F90.
type(ale_sponge_cs), pointer mom_diabatic_driver::diabatic_cs::ale_sponge_csp => NULL() |
Control structure for a child module.
Definition at line 226 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::boundary_forcing_tendency_diag = .false. |
If true calculate frazil diagnostics.
Definition at line 209 of file MOM_diabatic_driver.F90.
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 97 of file MOM_diabatic_driver.F90.
type(bulkmixedlayer_cs), pointer mom_diabatic_driver::diabatic_cs::bulkmixedlayer_csp => NULL() |
Control structure for a child module.
Definition at line 216 of file MOM_diabatic_driver.F90.
type(cvmix_conv_cs), pointer mom_diabatic_driver::diabatic_cs::cvmix_conv_csp => NULL() |
Control structure for a child module.
Definition at line 231 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::debug |
If true, write verbose checksums for debugging purposes.
Definition at line 160 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::debug_energy_req |
If true, test the mixing energy requirement code.
Definition at line 164 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::debugconservation |
If true, monitor conservation and extrema.
Definition at line 161 of file MOM_diabatic_driver.F90.
type(diabatic_aux_cs), pointer mom_diabatic_driver::diabatic_cs::diabatic_aux_csp => NULL() |
Control structure for a child module.
Definition at line 214 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::diabatic_diff_tendency_diag = .false. |
If true calculate diffusive tendency diagnostics.
Definition at line 208 of file MOM_diabatic_driver.F90.
type(diag_ctrl), pointer mom_diabatic_driver::diabatic_cs::diag |
structure used to regulate timing of diagnostic output
Definition at line 165 of file MOM_diabatic_driver.F90.
type(diag_grid_storage) mom_diabatic_driver::diabatic_cs::diag_grids_prev |
Stores diagnostic grids at some previous point in the algorithm.
Definition at line 236 of file MOM_diabatic_driver.F90.
type(diapyc_energy_req_cs), pointer mom_diabatic_driver::diabatic_cs::diapyc_en_rec_csp => NULL() |
Control structure for a child module.
Definition at line 232 of file MOM_diabatic_driver.F90.
real mom_diabatic_driver::diabatic_cs::dz_subml_n2 |
The distance over which to calculate a diagnostic of the average stratification at the base of the mixed layer [Z ~> m].
Definition at line 167 of file MOM_diabatic_driver.F90.
type(energetic_pbl_cs), pointer mom_diabatic_driver::diabatic_cs::energetic_pbl_csp => NULL() |
Control structure for a child module.
Definition at line 217 of file MOM_diabatic_driver.F90.
type(entrain_diffusive_cs), pointer mom_diabatic_driver::diabatic_cs::entrain_diffusive_csp => NULL() |
Control structure for a child module.
Definition at line 215 of file MOM_diabatic_driver.F90.
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 119 of file MOM_diabatic_driver.F90.
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 [nondim].
Definition at line 153 of file MOM_diabatic_driver.F90.
real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::frazil_heat_diag |
diagnose 3d heat tendency from frazil
Definition at line 211 of file MOM_diabatic_driver.F90.
real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::frazil_temp_diag |
diagnose 3d temp tendency from frazil
Definition at line 212 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::frazil_tendency_diag = .false. |
If true calculate frazil tendency diagnostics.
Definition at line 210 of file MOM_diabatic_driver.F90.
type(geothermal_cs), pointer mom_diabatic_driver::diabatic_cs::geothermal_csp => NULL() |
Control structure for a child module.
Definition at line 219 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::halo_ts_diff = 0 |
The temperature, salinity and thickness halo size that must be valid for the diffusivity calculations.
Definition at line 155 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_h = -1 |
Diagnostic IDs.
Definition at line 193 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_h_tendency = -1 |
Diagnostic IDs.
Definition at line 194 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_heat_tend = -1 |
Diagnostic IDs.
Definition at line 197 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_heat_tend_2d = -1 |
Diagnostic IDs.
Definition at line 199 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_saln_tend = -1 |
Diagnostic IDs.
Definition at line 196 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_salt_tend = -1 |
Diagnostic IDs.
Definition at line 198 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_salt_tend_2d = -1 |
Diagnostic IDs.
Definition at line 200 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_boundary_forcing_temp_tend = -1 |
Diagnostic IDs.
Definition at line 195 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_brine_lay = -1 |
Diagnostic IDs.
Definition at line 179 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_cg1 = -1 |
Diagnostic IDs.
Definition at line 171 of file MOM_diabatic_driver.F90.
integer, dimension(:), allocatable mom_diabatic_driver::diabatic_cs::id_cn |
Diagnostic IDs.
Definition at line 172 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_h = -1 |
Diagnostic IDs.
Definition at line 191 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_heat_tend = -1 |
Diagnostic IDs.
Definition at line 187 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_heat_tend_2d = -1 |
Diagnostic IDs.
Definition at line 189 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_saln_tend = -1 |
Diagnostic IDs.
Definition at line 186 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_salt_tend = -1 |
Diagnostic IDs.
Definition at line 188 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_salt_tend_2d = -1 |
Diagnostic IDs.
Definition at line 190 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_diabatic_diff_temp_tend = -1 |
Diagnostic IDs.
Definition at line 185 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_dudt_dia = -1 |
Diagnostic IDs.
Definition at line 174 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_dvdt_dia = -1 |
Diagnostic IDs.
Definition at line 174 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_e_predia = -1 |
Diagnostic IDs.
Definition at line 183 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_ea = -1 |
Diagnostic IDs.
Definition at line 173 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_ea_s = -1 |
Diagnostic IDs.
Definition at line 174 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_ea_t = -1 |
Diagnostic IDs.
Definition at line 175 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_eb = -1 |
Diagnostic IDs.
Definition at line 173 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_eb_s = -1 |
Diagnostic IDs.
Definition at line 174 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_eb_t = -1 |
Diagnostic IDs.
Definition at line 175 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_frazil_h = -1 |
Diagnostic IDs.
Definition at line 202 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_frazil_heat_tend = -1 |
Diagnostic IDs.
Definition at line 204 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_frazil_heat_tend_2d = -1 |
Diagnostic IDs.
Definition at line 205 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_frazil_temp_tend = -1 |
Diagnostic IDs.
Definition at line 203 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_h_predia = -1 |
Diagnostic IDs.
Definition at line 182 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_kd_epbl = -1 |
Diagnostic IDs.
Definition at line 176 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_kd_heat = -1 |
Diagnostic IDs.
Definition at line 176 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_kd_interface = -1 |
Diagnostic IDs.
Definition at line 176 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_kd_salt = -1 |
Diagnostic IDs.
Definition at line 176 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_mld_003 = -1 |
Diagnostic IDs.
Definition at line 178 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_mld_0125 = -1 |
Diagnostic IDs.
Definition at line 178 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_mld_user = -1 |
Diagnostic IDs.
Definition at line 178 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_mlotstsq = -1 |
Diagnostic IDs.
Definition at line 178 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_s_predia = -1 |
Diagnostic IDs.
Definition at line 183 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_sadv = -1 |
Diagnostic IDs.
Definition at line 177 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_sdif = -1 |
Diagnostic IDs.
Definition at line 177 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_submln2 = -1 |
Diagnostic IDs.
Definition at line 179 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_t_predia = -1 |
Diagnostic IDs.
Definition at line 183 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_tadv = -1 |
Diagnostic IDs.
Definition at line 177 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_tdif = -1 |
Diagnostic IDs.
Definition at line 177 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_u_predia = -1 |
Diagnostic IDs.
Definition at line 182 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_v_predia = -1 |
Diagnostic IDs.
Definition at line 182 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::id_wd = -1 |
Diagnostic IDs.
Definition at line 173 of file MOM_diabatic_driver.F90.
type(int_tide_cs), pointer mom_diabatic_driver::diabatic_cs::int_tide_csp => NULL() |
Control structure for a child module.
Definition at line 220 of file MOM_diabatic_driver.F90.
type(int_tide_input_type), pointer mom_diabatic_driver::diabatic_cs::int_tide_input => NULL() |
Control structure for a child module.
Definition at line 222 of file MOM_diabatic_driver.F90.
type(int_tide_input_cs), pointer mom_diabatic_driver::diabatic_cs::int_tide_input_csp => NULL() |
Control structure for a child module.
Definition at line 221 of file MOM_diabatic_driver.F90.
real mom_diabatic_driver::diabatic_cs::kd_bbl_tr |
A bottom boundary layer tracer diffusivity that will allow for explicitly specified bottom fluxes [Z2 T-1 ~> m2 s-1]. The entrainment at the bottom is at least sqrt(Kd_BBL_tr*dt) over the same distance.
Definition at line 144 of file MOM_diabatic_driver.F90.
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 [Z2 T-1 ~> m2 s-1].
Definition at line 148 of file MOM_diabatic_driver.F90.
real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_buoy_flux |
KPP forcing buoyancy flux [L2 T-3 ~> m2 s-3].
Definition at line 240 of file MOM_diabatic_driver.F90.
type(kpp_cs), pointer mom_diabatic_driver::diabatic_cs::kpp_csp => NULL() |
Control structure for a child module.
Definition at line 229 of file MOM_diabatic_driver.F90.
real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_nltheat |
KPP non-local transport for heat [m s-1].
Definition at line 238 of file MOM_diabatic_driver.F90.
real, dimension(:,:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_nltscalar |
KPP non-local transport for scalars [m s-1].
Definition at line 239 of file MOM_diabatic_driver.F90.
real, dimension(:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_salt_flux |
KPP effective salt flux [ppt m s-1].
Definition at line 242 of file MOM_diabatic_driver.F90.
real, dimension(:,:), allocatable mom_diabatic_driver::diabatic_cs::kpp_temp_flux |
KPP effective temperature flux [degC m s-1].
Definition at line 241 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::kppispassive |
If true, KPP is in passive mode, not changing answers.
Definition at line 159 of file MOM_diabatic_driver.F90.
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 138 of file MOM_diabatic_driver.F90.
real mom_diabatic_driver::diabatic_cs::minimum_forcing_depth |
The smallest depth over which heat and freshwater fluxes are applied [H ~> m or kg m-2].
Definition at line 151 of file MOM_diabatic_driver.F90.
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 140 of file MOM_diabatic_driver.F90.
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 131 of file MOM_diabatic_driver.F90.
real mom_diabatic_driver::diabatic_cs::mlddensitydifference |
Density difference used to determine MLD_user [R ~> kg m-3].
Definition at line 166 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::nkbl |
The number of buffer layers (if bulk_mixed_layer)
Definition at line 137 of file MOM_diabatic_driver.F90.
integer mom_diabatic_driver::diabatic_cs::nmode = 1 |
Number of baroclinic modes to consider.
Definition at line 122 of file MOM_diabatic_driver.F90.
type(opacity_cs), pointer mom_diabatic_driver::diabatic_cs::opacity_csp => NULL() |
Control structure for a child module.
Definition at line 223 of file MOM_diabatic_driver.F90.
type(optics_type), pointer mom_diabatic_driver::diabatic_cs::optics => NULL() |
Control structure for a child module.
Definition at line 228 of file MOM_diabatic_driver.F90.
type(group_pass_type) mom_diabatic_driver::diabatic_cs::pass_hold_eb_ea |
For group halo pass.
Definition at line 234 of file MOM_diabatic_driver.F90.
type(group_pass_type) mom_diabatic_driver::diabatic_cs::pass_kv |
For group halo pass.
Definition at line 235 of file MOM_diabatic_driver.F90.
type(regularize_layers_cs), pointer mom_diabatic_driver::diabatic_cs::regularize_layers_csp => NULL() |
Control structure for a child module.
Definition at line 218 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::salt_reject_below_ml |
If true, add salt below mixed layer (layer mode only)
Definition at line 158 of file MOM_diabatic_driver.F90.
type(set_diffusivity_cs), pointer mom_diabatic_driver::diabatic_cs::set_diff_csp => NULL() |
Control structure for a child module.
Definition at line 224 of file MOM_diabatic_driver.F90.
type(sponge_cs), pointer mom_diabatic_driver::diabatic_cs::sponge_csp => NULL() |
Control structure for a child module.
Definition at line 225 of file MOM_diabatic_driver.F90.
type(tidal_mixing_cs), pointer mom_diabatic_driver::diabatic_cs::tidal_mixing_csp => NULL() |
Control structure for a child module.
Definition at line 230 of file MOM_diabatic_driver.F90.
type(time_type), pointer mom_diabatic_driver::diabatic_cs::time |
Pointer to model time (needed for sponges)
Definition at line 244 of file MOM_diabatic_driver.F90.
type(tracer_flow_control_cs), pointer mom_diabatic_driver::diabatic_cs::tracer_flow_csp => NULL() |
Control structure for a child module.
Definition at line 227 of file MOM_diabatic_driver.F90.
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 162 of file MOM_diabatic_driver.F90.
real mom_diabatic_driver::diabatic_cs::uniform_test_cg |
Uniform group velocity of internal tide for testing internal tides [L T-1 ~> m s-1].
Definition at line 123 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::use_cvmix_conv |
If true, use the CVMix module to get enhanced mixing due to convection.
Definition at line 110 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::use_cvmix_ddiff |
If true, use the CVMix double diffusion module.
Definition at line 108 of file MOM_diabatic_driver.F90.
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 106 of file MOM_diabatic_driver.F90.
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 99 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::use_geothermal |
If true, apply geothermal heating.
Definition at line 116 of file MOM_diabatic_driver.F90.
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 117 of file MOM_diabatic_driver.F90.
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 104 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::use_kpp |
If true, use CVMix/KPP boundary layer scheme to determine the OBLD and the diffusivities within this layer.
Definition at line 102 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::use_legacy_diabatic |
If true (default), use the a legacy version of the diabatic algorithm. This is temporary and is needed to avoid change in answers.
Definition at line 94 of file MOM_diabatic_driver.F90.
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 112 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::use_tidal_mixing |
If true, activate tidal mixing diffusivity.
Definition at line 109 of file MOM_diabatic_driver.F90.
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 125 of file MOM_diabatic_driver.F90.
logical mom_diabatic_driver::diabatic_cs::usekpp = .false. |
use CVMix/KPP diffusivities and non-local transport
Definition at line 157 of file MOM_diabatic_driver.F90.