MOM6
mom_neutral_diffusion::neutral_diffusion_cs Type Reference

Detailed Description

The control structure for the MOM_neutral_diffusion module.

Definition at line 43 of file MOM_neutral_diffusion.F90.

Collaboration diagram for mom_neutral_diffusion::neutral_diffusion_cs:
[legend]

Public variables and constants

integer nkp1
 Number of interfaces for a column = nk + 1.
 
integer nsurf
 Number of neutral surfaces.
 
integer deg = 2
 Degree of polynomial used for reconstructions.
 
logical continuous_reconstruction = .true.
 True if using continuous PPM reconstruction at interfaces.
 
logical debug = .false.
 If true, write verbose debugging messages.
 
logical hard_fail_heff
 Bring down the model if a problem with heff is detected.
 
integer max_iter
 Maximum number of iterations if refine_position is defined.
 
real drho_tol
 Convergence criterion representing density difference from true neutrality [R ~> kg m-3].
 
real x_tol
 Convergence criterion for how small an update of the position can be.
 
real ref_pres
 Reference pressure, negative if using locally referenced neutral density [R L2 T-2 ~> Pa].
 
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.
 
real, dimension(:,:,:), allocatable upol
 Non-dimensional position with left layer uKoL-1, u-point.
 
real, dimension(:,:,:), allocatable upor
 Non-dimensional position with right layer uKoR-1, u-point.
 
integer, dimension(:,:,:), allocatable ukol
 Index of left interface corresponding to neutral surface, at a u-point.
 
integer, dimension(:,:,:), allocatable ukor
 Index of right interface corresponding to neutral surface, at a u-point.
 
real, dimension(:,:,:), allocatable uheff
 Effective thickness at u-point [H ~> m or kg m-2].
 
real, dimension(:,:,:), allocatable vpol
 Non-dimensional position with left layer uKoL-1, v-point.
 
real, dimension(:,:,:), allocatable vpor
 Non-dimensional position with right layer uKoR-1, v-point.
 
integer, dimension(:,:,:), allocatable vkol
 Index of left interface corresponding to neutral surface, at a v-point.
 
integer, dimension(:,:,:), allocatable vkor
 Index of right interface corresponding to neutral surface, at a v-point.
 
real, dimension(:,:,:), allocatable vheff
 Effective thickness at v-point [H ~> m or kg m-2].
 
real, dimension(:,:,:,:), allocatable ppoly_coeffs_t
 Polynomial coefficients for temperature.
 
real, dimension(:,:,:,:), allocatable ppoly_coeffs_s
 Polynomial coefficients for salinity.
 
real, dimension(:,:,:), allocatable drdt
 dRho/dT [R degC-1 ~> kg m-3 degC-1] at interfaces
 
real, dimension(:,:,:), allocatable drds
 dRho/dS [R ppt-1 ~> kg m-3 ppt-1] at interfaces
 
real, dimension(:,:,:), allocatable tint
 Interface T [degC].
 
real, dimension(:,:,:), allocatable sint
 Interface S [ppt].
 
real, dimension(:,:,:), allocatable pint
 Interface pressure [R L2 T-2 ~> Pa].
 
real, dimension(:,:,:,:), allocatable t_i
 Top edge reconstruction of temperature [degC].
 
real, dimension(:,:,:,:), allocatable s_i
 Top edge reconstruction of salinity [ppt].
 
real, dimension(:,:,:,:), allocatable p_i
 Interface pressures [R L2 T-2 ~> Pa].
 
real, dimension(:,:,:,:), allocatable drdt_i
 dRho/dT [R degC-1 ~> kg m-3 degC-1] at top edge
 
real, dimension(:,:,:,:), allocatable drds_i
 dRho/dS [R ppt-1 ~> kg m-3 ppt-1] at top edge
 
integer, dimension(:,:), allocatable ns
 Number of interfacs in a column.
 
logical, dimension(:,:,:), allocatable stable_cell
 True if the cell is stably stratified wrt to the next cell.
 
real r_to_kg_m3 = 1.0
 A rescaling factor translating density to kg m-3 for use in diagnostic messages [kg m-3 R-1 ~> 1].
 
type(diag_ctrl), pointer diag => NULL()
 A structure that is used to regulate the timing of diagnostic output.
 
integer neutral_pos_method
 Method to find the position of a neutral surface within the layer.
 
character(len=40) delta_rho_form
 Determine which (if any) approximation is made to the equation describing the difference in density.
 
integer id_uheff_2d = -1
 Diagnostic IDs.
 
integer id_vheff_2d = -1
 Diagnostic IDs.
 
type(eos_type), pointer eos => NULL()
 Equation of state parameters.
 
type(remapping_cs) remap_cs
 Remapping control structure used to create sublayers.
 
logical remap_answers_2018
 If true, use the order of arithmetic and expressions that recover the answers for remapping from the end of 2018. Otherwise, use more robust forms of the same expressions.
 
type(kpp_cs), pointer kpp_csp => NULL()
 KPP control structure needed to get BLD.
 
type(energetic_pbl_cs), pointer energetic_pbl_csp => NULL()
 ePBL control structure needed to get MLD
 

Detailed Description

The control structure for the MOM_neutral_diffusion module.

Definition at line 43 of file MOM_neutral_diffusion.F90.


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