mom_isopycnal_slopes module reference
Calculations of isoneutral slopes and stratification.
Functions/Subroutines
Calculate isopycnal slopes, and optionally return other stratification dependent functions such as N^2 and dz*S^2*g-prime used, or calculable from factors used, during the calculation. |
|
Returns tracer arrays (nominally T and S) with massless layers filled with sensible values, by diffusing vertically with a small but constant diffusivity. |
Detailed Description
Calculations of isoneutral slopes and stratification.
Function/Subroutine Documentation
- subroutine mom_isopycnal_slopes/calc_isoneutral_slopes(G, GV, US, h, e, tv, dt_kappa_smooth, use_stanley, slope_x, slope_y, N2_u, N2_v, dzu, dzv, dzSxN, dzSyN, halo, OBC, OBC_N2)
Calculate isopycnal slopes, and optionally return other stratification dependent functions such as N^2 and dz*S^2*g-prime used, or calculable from factors used, during the calculation.
- Parameters:
g :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure
us :: [in] A dimensional unit scaling type
h ::
h[in] Layer thicknesses [H ~> m or kg m-2]e ::
e[in] Interface heights [Z ~> m]tv ::
tv[in] A structure pointing to various thermodynamic variablesdt_kappa_smooth ::
dt_kappa_smooth[in] A smoothing vertical diffusivity times a smoothing timescale [H Z ~> m2 or kg m-1]use_stanley ::
use_stanley[in] turn on stanley param in slopeslope_x ::
slope_x[inout] Isopycnal slope in i-dir [Z L-1 ~> nondim]slope_y ::
slope_y[inout] Isopycnal slope in j-dir [Z L-1 ~> nondim]n2_u :: [inout] Brunt-Vaisala frequency squared at
n2_v :: [inout] Brunt-Vaisala frequency squared at
dzu ::
dzu[inout] Z-thickness at u-points [Z ~> m]dzv ::
dzv[inout] Z-thickness at v-points [Z ~> m]dzsxn :: [inout] Z-thickness times zonal slope contribution to
dzsyn :: [inout] Z-thickness times meridional slope contrib. to
halo ::
halo[in] Halo width over which to computeobc :: Open boundaries control structure.
obc_n2 :: [in] If present and true, use interior data to calculate stratification at open boundary condition faces.
- Call to:
mom_eos::eos_domainmom_error_handler::mom_errorvert_fill_ts- Called from:
mom_lateral_mixing_coeffs::calc_qg_slopesmom_lateral_mixing_coeffs::calc_slope_functionsmom_lateral_mixing_coeffs::calc_sqg_structmom_meke::ml_meke_calculate_features
- subroutine mom_isopycnal_slopes/vert_fill_ts(h, T_in, S_in, kappa_dt, T_f, S_f, G, GV, US, halo_here, larger_h_denom)
Returns tracer arrays (nominally T and S) with massless layers filled with sensible values, by diffusing vertically with a small but constant diffusivity.
- Parameters:
g :: [in] The ocean’s grid structure
gv :: [in] The ocean’s vertical grid structure
us :: [in] A dimensional unit scaling type
h ::
h[in] Layer thicknesses [H ~> m or kg m-2]t_in :: [in] Input temperature [C ~> degC]
s_in :: [in] Input salinity [S ~> ppt]
kappa_dt ::
kappa_dt[in] A vertical diffusivity to use for smoothing times a smoothing timescale [H Z ~> m2 or kg m-1]t_f :: [out] Filled temperature [C ~> degC]
s_f :: [out] Filled salinity [S ~> ppt]
halo_here ::
halo_here[in] Number of halo points to work on, 0 by defaultlarger_h_denom ::
larger_h_denom[in] Present and true, add a large enough minimal thickness in the denominator of the flux calculations so that the fluxes are never so large as eliminate the transmission of information across groups of massless layers.
- Called from:
calc_isoneutral_slopesmom_stoch_eos::mom_calc_vartmom_set_diffusivity::set_diffusivitymom_int_tide_input::set_int_tide_inputmom_thickness_diffuse::thickness_diffuse_full