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, 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] or units given by 1/eta_to_m)

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

  • dt_kappa_smooth :: [in] A smoothing vertical diffusivity times a smoothing timescale [Z2 ~> m2].

  • 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

vert_fill_ts

Called from

mom_lateral_mixing_coeffs::calc_slope_functions

subroutine mom_isopycnal_slopes/vert_fill_ts(h, T_in, S_in, kappa_dt, T_f, S_f, G, GV, 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

  • h :: [in] Layer thicknesses [H ~> m or kg m-2]

  • t_in :: [in] Input temperature [degC]

  • s_in :: [in] Input salinity [ppt]

  • kappa_dt :: [in] A vertical diffusivity to use for smoothing times a smoothing timescale [Z2 ~> m2].

  • t_f :: [out] Filled temperature [degC]

  • s_f :: [out] Filled salinity [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_set_diffusivity::set_diffusivity mom_int_tide_input::set_int_tide_input mom_thickness_diffuse::thickness_diffuse_full