mom_full_convection module reference

Does full convective adjustment of unstable regions via a strong diffusivity.

More…

Functions/Subroutines

full_convection()

Calculate new temperatures and salinities that have been subject to full convective mixing.

is_unstable()

This function returns True if the profiles around the given interface will be statically unstable after mixing above below.

smoothed_drdt_drds()

Returns the partial derivatives of locally referenced potential density with temperature and salinity after the properties have been smoothed with a small constant diffusivity.

Detailed Description

Does full convective adjustment of unstable regions via a strong diffusivity.

Function/Subroutine Documentation

subroutine mom_full_convection/full_convection(G, GV, US, h, tv, T_adj, S_adj, p_surf, Kddt_smooth, halo)

Calculate new temperatures and salinities that have been subject to full convective mixing.

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]

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

  • t_adj :: [out] Adjusted potential temperature [C ~> degC].

  • s_adj :: [out] Adjusted salinity [S ~> ppt].

  • p_surf :: The pressure at the ocean surface [R L2 T-2 ~> Pa] (or NULL).

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

  • halo :: [in] Halo width over which to compute

Call to:

is_unstable smoothed_drdt_drds

Called from:

mom_set_diffusivity::set_diffusivity

function mom_full_convection/is_unstable(dRho_dT, dRho_dS, h_a, h_b, mix_A, mix_B, T_a, T_b, S_a, S_b, Te_aa, Te_bb, Se_aa, Se_bb, d_A, d_B) [logical]

This function returns True if the profiles around the given interface will be statically unstable after mixing above below. The arguments are the ocean state above and below, including partial calculations from a tridiagonal solver.

Parameters:
  • drho_dt :: [in] The derivative of in situ density with temperature [R C-1 ~> kg m-3 degC-1]

  • drho_ds :: [in] The derivative of in situ density with salinity [R S-1 ~> kg m-3 ppt-1]

  • h_a :: [in] The thickness of the layer above [H ~> m or kg m-2]

  • h_b :: [in] The thickness of the layer below [H ~> m or kg m-2]

  • mix_a :: [in] The time integrated mixing rate of the interface above [H ~> m or kg m-2]

  • mix_b :: [in] The time integrated mixing rate of the interface below [H ~> m or kg m-2]

  • t_a :: [in] The initial temperature of the layer above [C ~> degC]

  • t_b :: [in] The initial temperature of the layer below [C ~> degC]

  • s_a :: [in] The initial salinity of the layer below [S ~> ppt]

  • s_b :: [in] The initial salinity of the layer below [S ~> ppt]

  • te_aa :: [in] The estimated temperature two layers above rescaled by d_A [C ~> degC]

  • te_bb :: [in] The estimated temperature two layers below rescaled by d_B [C ~> degC]

  • se_aa :: [in] The estimated salinity two layers above rescaled by d_A [S ~> ppt]

  • se_bb :: [in] The estimated salinity two layers below rescaled by d_B [S ~> ppt]

  • d_a :: [in] The rescaling dependency across the interface above [nondim]

  • d_b :: [in] The rescaling dependency across the interface below [nondim]

Return:

undefined :: The return value, true if the profile is statically unstable around the interface in question.

Called from:

full_convection

subroutine mom_full_convection/smoothed_drdt_drds(h, dz, tv, Kddt, dR_dT, dR_dS, G, GV, US, j, p_surf, halo)

Returns the partial derivatives of locally referenced potential density with temperature and salinity after the properties have been smoothed with a small 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]

  • dz :: [in] Height change across layers [Z ~> m]

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

  • kddt :: [in] A diffusivity times a time increment [H Z ~> m2 or kg m-1].

  • dr_dt :: [out] Derivative of locally referenced

  • dr_ds :: [out] Derivative of locally referenced

  • us :: [in] A dimensional unit scaling type

  • j :: [in] The j-point to work on.

  • p_surf :: The pressure at the ocean surface [R L2 T-2 ~> Pa].

  • halo :: [in] Halo width over which to compute

Call to:

mom_eos::eos_domain

Called from:

full_convection