MOM6
|
The control structure for the MOM_neutral_diffusion module.
Definition at line 40 of file MOM_neutral_diffusion.F90.
Public variables and constants | |
integer | nkp1 |
Number of interfaces for a column = nk + 1. More... | |
integer | nsurf |
Number of neutral surfaces. More... | |
integer | deg = 2 |
Degree of polynomial used for reconstructions. More... | |
logical | continuous_reconstruction = .true. |
True if using continuous PPM reconstruction at interfaces. More... | |
logical | debug = .false. |
If true, write verbose debugging messages. More... | |
logical | hard_fail_heff |
Bring down the model if a problem with heff is detected. More... | |
integer | max_iter |
Maximum number of iterations if refine_position is defined. More... | |
real | drho_tol |
Convergence criterion representing difference from true neutrality. More... | |
real | x_tol |
Convergence criterion for how small an update of the position can be. More... | |
real | ref_pres |
Reference pressure, negative if using locally referenced neutral density. More... | |
logical | interior_only |
If true, only applies neutral diffusion in the ocean interior. That is, the algorithm will exclude the surface and bottom boundary layers. More... | |
real, dimension(:,:,:), allocatable | upol |
Non-dimensional position with left layer uKoL-1, u-point. More... | |
real, dimension(:,:,:), allocatable | upor |
Non-dimensional position with right layer uKoR-1, u-point. More... | |
integer, dimension(:,:,:), allocatable | ukol |
Index of left interface corresponding to neutral surface, at a u-point. More... | |
integer, dimension(:,:,:), allocatable | ukor |
Index of right interface corresponding to neutral surface, at a u-point. More... | |
real, dimension(:,:,:), allocatable | uheff |
Effective thickness at u-point [H ~> m or kg m-2]. More... | |
real, dimension(:,:,:), allocatable | vpol |
Non-dimensional position with left layer uKoL-1, v-point. More... | |
real, dimension(:,:,:), allocatable | vpor |
Non-dimensional position with right layer uKoR-1, v-point. More... | |
integer, dimension(:,:,:), allocatable | vkol |
Index of left interface corresponding to neutral surface, at a v-point. More... | |
integer, dimension(:,:,:), allocatable | vkor |
Index of right interface corresponding to neutral surface, at a v-point. More... | |
real, dimension(:,:,:), allocatable | vheff |
Effective thickness at v-point [H ~> m or kg m-2]. More... | |
real, dimension(:,:,:,:), allocatable | ppoly_coeffs_t |
Polynomial coefficients for temperature. More... | |
real, dimension(:,:,:,:), allocatable | ppoly_coeffs_s |
Polynomial coefficients for salinity. More... | |
real, dimension(:,:,:), allocatable | drdt |
dRho/dT [kg m-3 degC-1] at interfaces More... | |
real, dimension(:,:,:), allocatable | drds |
dRho/dS [kg m-3 ppt-1] at interfaces More... | |
real, dimension(:,:,:), allocatable | tint |
Interface T [degC]. More... | |
real, dimension(:,:,:), allocatable | sint |
Interface S [ppt]. More... | |
real, dimension(:,:,:), allocatable | pint |
Interface pressure [Pa]. More... | |
real, dimension(:,:,:,:), allocatable | t_i |
Top edge reconstruction of temperature (degC) More... | |
real, dimension(:,:,:,:), allocatable | s_i |
Top edge reconstruction of salinity (ppt) More... | |
real, dimension(:,:,:,:), allocatable | p_i |
Interface pressure (Pa) More... | |
real, dimension(:,:,:,:), allocatable | drdt_i |
dRho/dT (kg/m3/degC) at top edge More... | |
real, dimension(:,:,:,:), allocatable | drds_i |
dRho/dS (kg/m3/ppt) at top edge More... | |
integer, dimension(:,:), allocatable | ns |
Number of interfacs in a column. More... | |
logical, dimension(:,:,:), allocatable | stable_cell |
True if the cell is stably stratified wrt to the next cell. More... | |
type(diag_ctrl), pointer | diag => NULL() |
A structure that is used to regulate the timing of diagnostic output. More... | |
integer | neutral_pos_method |
Method to find the position of a neutral surface within the layer. More... | |
character(len=40) | delta_rho_form |
Determine which (if any) approximation is made to the equation describing the difference in density. More... | |
integer | id_uheff_2d = -1 |
Diagnostic IDs. More... | |
integer | id_vheff_2d = -1 |
Diagnostic IDs. More... | |
real | c_p |
heat capacity of seawater (J kg-1 K-1) More... | |
type(eos_type), pointer | eos |
Equation of state parameters. More... | |
type(remapping_cs) | remap_cs |
Remapping control structure used to create sublayers. More... | |
type(kpp_cs), pointer | kpp_csp => NULL() |
KPP control structure needed to get BLD. More... | |
type(energetic_pbl_cs), pointer | energetic_pbl_csp => NULL() |
ePBL control structure needed to get MLD More... | |
real mom_neutral_diffusion::neutral_diffusion_cs::c_p |
heat capacity of seawater (J kg-1 K-1)
Definition at line 94 of file MOM_neutral_diffusion.F90.
logical mom_neutral_diffusion::neutral_diffusion_cs::continuous_reconstruction = .true. |
True if using continuous PPM reconstruction at interfaces.
Definition at line 44 of file MOM_neutral_diffusion.F90.
logical mom_neutral_diffusion::neutral_diffusion_cs::debug = .false. |
If true, write verbose debugging messages.
Definition at line 45 of file MOM_neutral_diffusion.F90.
integer mom_neutral_diffusion::neutral_diffusion_cs::deg = 2 |
Degree of polynomial used for reconstructions.
Definition at line 43 of file MOM_neutral_diffusion.F90.
character(len=40) mom_neutral_diffusion::neutral_diffusion_cs::delta_rho_form |
Determine which (if any) approximation is made to the equation describing the difference in density.
Definition at line 88 of file MOM_neutral_diffusion.F90.
type(diag_ctrl), pointer mom_neutral_diffusion::neutral_diffusion_cs::diag => NULL() |
A structure that is used to regulate the timing of diagnostic output.
Definition at line 85 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::drds |
dRho/dS [kg m-3 ppt-1] at interfaces
Definition at line 73 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::drds_i |
dRho/dS (kg/m3/ppt) at top edge
Definition at line 82 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::drdt |
dRho/dT [kg m-3 degC-1] at interfaces
Definition at line 72 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::drdt_i |
dRho/dT (kg/m3/degC) at top edge
Definition at line 81 of file MOM_neutral_diffusion.F90.
real mom_neutral_diffusion::neutral_diffusion_cs::drho_tol |
Convergence criterion representing difference from true neutrality.
Definition at line 48 of file MOM_neutral_diffusion.F90.
type(energetic_pbl_cs), pointer mom_neutral_diffusion::neutral_diffusion_cs::energetic_pbl_csp => NULL() |
ePBL control structure needed to get MLD
Definition at line 98 of file MOM_neutral_diffusion.F90.
type(eos_type), pointer mom_neutral_diffusion::neutral_diffusion_cs::eos |
Equation of state parameters.
Definition at line 95 of file MOM_neutral_diffusion.F90.
logical mom_neutral_diffusion::neutral_diffusion_cs::hard_fail_heff |
Bring down the model if a problem with heff is detected.
Definition at line 46 of file MOM_neutral_diffusion.F90.
integer mom_neutral_diffusion::neutral_diffusion_cs::id_uheff_2d = -1 |
Diagnostic IDs.
Definition at line 91 of file MOM_neutral_diffusion.F90.
integer mom_neutral_diffusion::neutral_diffusion_cs::id_vheff_2d = -1 |
Diagnostic IDs.
Definition at line 92 of file MOM_neutral_diffusion.F90.
logical mom_neutral_diffusion::neutral_diffusion_cs::interior_only |
If true, only applies neutral diffusion in the ocean interior. That is, the algorithm will exclude the surface and bottom boundary layers.
Definition at line 51 of file MOM_neutral_diffusion.F90.
type(kpp_cs), pointer mom_neutral_diffusion::neutral_diffusion_cs::kpp_csp => NULL() |
KPP control structure needed to get BLD.
Definition at line 97 of file MOM_neutral_diffusion.F90.
integer mom_neutral_diffusion::neutral_diffusion_cs::max_iter |
Maximum number of iterations if refine_position is defined.
Definition at line 47 of file MOM_neutral_diffusion.F90.
integer mom_neutral_diffusion::neutral_diffusion_cs::neutral_pos_method |
Method to find the position of a neutral surface within the layer.
Definition at line 87 of file MOM_neutral_diffusion.F90.
integer mom_neutral_diffusion::neutral_diffusion_cs::nkp1 |
Number of interfaces for a column = nk + 1.
Definition at line 41 of file MOM_neutral_diffusion.F90.
integer, dimension(:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::ns |
Number of interfacs in a column.
Definition at line 83 of file MOM_neutral_diffusion.F90.
integer mom_neutral_diffusion::neutral_diffusion_cs::nsurf |
Number of neutral surfaces.
Definition at line 42 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::p_i |
Interface pressure (Pa)
Definition at line 80 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::pint |
Interface pressure [Pa].
Definition at line 76 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::ppoly_coeffs_s |
Polynomial coefficients for salinity.
Definition at line 70 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::ppoly_coeffs_t |
Polynomial coefficients for temperature.
Definition at line 69 of file MOM_neutral_diffusion.F90.
real mom_neutral_diffusion::neutral_diffusion_cs::ref_pres |
Reference pressure, negative if using locally referenced neutral density.
Definition at line 50 of file MOM_neutral_diffusion.F90.
type(remapping_cs) mom_neutral_diffusion::neutral_diffusion_cs::remap_cs |
Remapping control structure used to create sublayers.
Definition at line 96 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::s_i |
Top edge reconstruction of salinity (ppt)
Definition at line 79 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::sint |
Interface S [ppt].
Definition at line 75 of file MOM_neutral_diffusion.F90.
logical, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::stable_cell |
True if the cell is stably stratified wrt to the next cell.
Definition at line 84 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::t_i |
Top edge reconstruction of temperature (degC)
Definition at line 78 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::tint |
Interface T [degC].
Definition at line 74 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::uheff |
Effective thickness at u-point [H ~> m or kg m-2].
Definition at line 60 of file MOM_neutral_diffusion.F90.
integer, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::ukol |
Index of left interface corresponding to neutral surface, at a u-point.
Definition at line 56 of file MOM_neutral_diffusion.F90.
integer, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::ukor |
Index of right interface corresponding to neutral surface, at a u-point.
Definition at line 58 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::upol |
Non-dimensional position with left layer uKoL-1, u-point.
Definition at line 54 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::upor |
Non-dimensional position with right layer uKoR-1, u-point.
Definition at line 55 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::vheff |
Effective thickness at v-point [H ~> m or kg m-2].
Definition at line 67 of file MOM_neutral_diffusion.F90.
integer, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::vkol |
Index of left interface corresponding to neutral surface, at a v-point.
Definition at line 63 of file MOM_neutral_diffusion.F90.
integer, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::vkor |
Index of right interface corresponding to neutral surface, at a v-point.
Definition at line 65 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::vpol |
Non-dimensional position with left layer uKoL-1, v-point.
Definition at line 61 of file MOM_neutral_diffusion.F90.
real, dimension(:,:,:), allocatable mom_neutral_diffusion::neutral_diffusion_cs::vpor |
Non-dimensional position with right layer uKoR-1, v-point.
Definition at line 62 of file MOM_neutral_diffusion.F90.
real mom_neutral_diffusion::neutral_diffusion_cs::x_tol |
Convergence criterion for how small an update of the position can be.
Definition at line 49 of file MOM_neutral_diffusion.F90.