mom_isopycnal_slopes module reference

Calculations of isoneutral slopes and stratification.

More…

Functions/Subroutines

calc_isoneutral_slopes()

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.

vert_fill_ts()

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)

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 :: [in] Layer thicknesses [H ~> m or kg m-2]

  • e :: [in] Interface heights [Z ~> m]

  • tv :: [in] A structure pointing to various thermodynamic variables

  • dt_kappa_smooth :: [in] A smoothing vertical diffusivity times a smoothing timescale [H Z ~> m2 or kg m-1]

  • use_stanley :: [in] turn on stanley param in slope

  • slope_x :: [inout] Isopycnal slope in i-dir [Z L-1 ~> nondim]

  • 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 :: [inout] Z-thickness at u-points [Z ~> m]

  • 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 :: [in] Halo width over which to compute

  • obc :: Open boundaries control structure.

Call to:

mom_eos::eos_domain mom_error_handler::mom_error vert_fill_ts

Called from:

mom_lateral_mixing_coeffs::calc_slope_functions mom_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 :: [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 :: [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 :: [in] Number of halo points to work on, 0 by default

  • 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_slopes mom_stoch_eos::mom_calc_vart mom_set_diffusivity::set_diffusivity mom_int_tide_input::set_int_tide_input mom_thickness_diffuse::thickness_diffuse_full