ocean_cavity_const_t Derived Type

type, public :: ocean_cavity_const_t

Thermodynamic + turbulence constants. All SI.

DENSITY TRAP: rho_w multiplies the OCEAN-side turbulent fluxes in (E2)/(E3); rho_i and rho_fw are used ONLY to convert the canonical mass flux into a thickness rate for REPORTING. They are three different numbers in three different papers and must never be interchanged.

Defaults are the ISOMIP+ protocol set (Asay-Davis et al. (2016) Table 4 p. 2483) plus the turbulence constants that protocol does not specify, taken from Holland & Jenkins (1999) Table 1 p. 1790 and Yung et al. (2025) Table A1 p. 5849.


Inherited by

type~~ocean_cavity_const_t~~InheritedByGraph type~ocean_cavity_const_t ocean_cavity_const_t type~ocean_cavity_flux_t ocean_cavity_flux_t type~ocean_cavity_flux_t->type~ocean_cavity_const_t const type~ocean_state_t ocean_state_t type~ocean_state_t->type~ocean_cavity_flux_t cavity_flux type~ocean_engine_t ocean_engine_t type~ocean_engine_t->type~ocean_state_t state type~ocean_handle_t ocean_handle_t type~ocean_handle_t->type~ocean_state_t state type~ocean_handle_t->type~ocean_engine_t engine

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: L_f = 3.34e5_wp

Latent heat of fusion (J/kg) — Holland & Jenkins (1999) Table 1 p. 1790; Asay-Davis et al. (2016) Table 4 p. 2483; Yung et al. (2025) Table 1 p. 5832. (Burchard et al. (2022) Table 1 p. 8 uses 3.335e5.)

real(kind=wp), public :: Pr = 13.8_wp

Molecular Prandtl number — Holland & Jenkins (1999) Table 1 p. 1790, confirmed by McPhee, Maykut & Morison (1987) p. 7029.

real(kind=wp), public :: R_c = 0.20_wp

Critical flux Richardson number — Holland & Jenkins (1999) Table 1 p. 1790.

real(kind=wp), public :: Sc = 2432.0_wp

Molecular Schmidt number — same two sources.

real(kind=wp), public :: alpha_T = 3.733e-5_wp

FRACTIONAL thermal expansion coefficient (1/degC) of the ISOMIP+ linear EOS — Asay-Davis et al. (2016) Table 4 p. 2483. Feeds the interfacial buoyancy flux only. NOTE eos_t%alpha_T in this repository is DIMENSIONAL (kg/m^3 per degC) = rho0 times this; convert at the coupling seam. OPEN QUESTION, recorded not resolved: near -2 degC the true thermal expansion under a nonlinear EOS is near zero or NEGATIVE, which flips the sign of the (small) temperature term in the buoyancy flux and therefore of the stratification feedback near neutrality. No paper in the set addresses it.

real(kind=wp), public :: beta_S = 7.843e-4_wp

FRACTIONAL haline contraction coefficient (1/(g/kg)) of the ISOMIP+ linear EOS — Asay-Davis et al. (2016) Table 4 p. 2483.

real(kind=wp), public :: c_i = 2009.0_wp

Specific heat capacity of ice (J/kg/K) — Holland & Jenkins (1999) Table 1 p. 1790. Read only by CAVITY_ICE_ADV_DIFF.

real(kind=wp), public :: c_w = 3974.0_wp

Specific heat capacity of seawater (J/kg/K) — unanimous across Holland & Jenkins (1999), Jenkins et al. (2010), Asay-Davis et al. (2016) and Yung et al. (2025).

real(kind=wp), public :: g = 9.81_wp

Gravitational acceleration (m/s^2), as used by the buoyancy flux — Asay-Davis et al. (2016) Table 4 p. 2483.

real(kind=wp), public :: kappa_vk = 0.40_wp

Von Karman constant — Holland & Jenkins (1999) Table 1 p. 1790. Also the kappa of the Obukhov scale.

real(kind=wp), public :: nu = 1.95e-6_wp

Kinematic viscosity of seawater (m^2/s) — Holland & Jenkins (1999) Table 1 p. 1790.

real(kind=wp), public :: rho_fw = 1000.0_wp

Freshwater density (kg/m^3), REPORTING ONLY — the density ISOMIP+ reports its m_w melt rate with (Asay-Davis et al. (2016) eq. (24) p. 2485).

real(kind=wp), public :: rho_i = 918.0_wp

Ice density (kg/m^3), REPORTING ONLY — Asay-Davis et al. (2016) p. 2479 and Yung et al. (2025).

real(kind=wp), public :: rho_w = 1028.0_wp

Seawater density multiplying the turbulent fluxes (kg/m^3) — Asay-Davis et al. (2016) p. 2479. The papers span 1025 (H&J99) to 1030 (Jenkins et al. 2010), a 0.5% spread that lands directly on the melt rate.

real(kind=wp), public :: xi_N = 0.052_wp

McPhee stability constant xi_N — Holland & Jenkins (1999) Table 1 p. 1790; McPhee, Maykut & Morison (1987) p. 7029; Yung et al. (2025) Table A1 p. 5849. (NOT 0.13: no paper in the set contains a zeta_N or that value.)


Source Code

   type :: ocean_cavity_const_t
      !! Thermodynamic + turbulence constants.  All SI.
      !!
      !! DENSITY TRAP: `rho_w` multiplies the OCEAN-side turbulent fluxes
      !! in (E2)/(E3); `rho_i` and `rho_fw` are used ONLY to convert the
      !! canonical mass flux into a thickness rate for REPORTING.  They
      !! are three different numbers in three different papers and must
      !! never be interchanged.
      !!
      !! Defaults are the ISOMIP+ protocol set (Asay-Davis et al. (2016)
      !! Table 4 p. 2483) plus the turbulence constants that protocol does
      !! not specify, taken from Holland & Jenkins (1999) Table 1 p. 1790
      !! and Yung et al. (2025) Table A1 p. 5849.
      real(wp) :: L_f = 3.34e5_wp
         !! Latent heat of fusion (J/kg) — Holland & Jenkins (1999)
         !! Table 1 p. 1790; Asay-Davis et al. (2016) Table 4 p. 2483;
         !! Yung et al. (2025) Table 1 p. 5832.  (Burchard et al. (2022)
         !! Table 1 p. 8 uses 3.335e5.)
      real(wp) :: c_w = 3974.0_wp
         !! Specific heat capacity of seawater (J/kg/K) — unanimous across
         !! Holland & Jenkins (1999), Jenkins et al. (2010), Asay-Davis et
         !! al. (2016) and Yung et al. (2025).
      real(wp) :: c_i = 2009.0_wp
         !! Specific heat capacity of ice (J/kg/K) — Holland & Jenkins
         !! (1999) Table 1 p. 1790.  Read only by `CAVITY_ICE_ADV_DIFF`.
      real(wp) :: rho_w = 1028.0_wp
         !! Seawater density multiplying the turbulent fluxes (kg/m^3) —
         !! Asay-Davis et al. (2016) p. 2479.  The papers span 1025 (H&J99)
         !! to 1030 (Jenkins et al. 2010), a 0.5% spread that lands
         !! directly on the melt rate.
      real(wp) :: rho_i = 918.0_wp
         !! Ice density (kg/m^3), REPORTING ONLY — Asay-Davis et al.
         !! (2016) p. 2479 and Yung et al. (2025).
      real(wp) :: rho_fw = 1000.0_wp
         !! Freshwater density (kg/m^3), REPORTING ONLY — the density
         !! ISOMIP+ reports its `m_w` melt rate with (Asay-Davis et al.
         !! (2016) eq. (24) p. 2485).
      real(wp) :: alpha_T = 3.733e-5_wp
         !! FRACTIONAL thermal expansion coefficient (1/degC) of the
         !! ISOMIP+ linear EOS — Asay-Davis et al. (2016) Table 4 p. 2483.
         !! Feeds the interfacial buoyancy flux only.  NOTE
         !! `eos_t%alpha_T` in this repository is DIMENSIONAL (kg/m^3 per
         !! degC) = `rho0` times this; convert at the coupling seam.
         !! OPEN QUESTION, recorded not resolved: near -2 degC the true
         !! thermal expansion under a nonlinear EOS is near zero or
         !! NEGATIVE, which flips the sign of the (small) temperature term
         !! in the buoyancy flux and therefore of the stratification
         !! feedback near neutrality.  No paper in the set addresses it.
      real(wp) :: beta_S = 7.843e-4_wp
         !! FRACTIONAL haline contraction coefficient (1/(g/kg)) of the
         !! ISOMIP+ linear EOS — Asay-Davis et al. (2016) Table 4 p. 2483.
      real(wp) :: g = 9.81_wp
         !! Gravitational acceleration (m/s^2), as used by the buoyancy
         !! flux — Asay-Davis et al. (2016) Table 4 p. 2483.
      real(wp) :: nu = 1.95e-6_wp
         !! Kinematic viscosity of seawater (m^2/s) — Holland & Jenkins
         !! (1999) Table 1 p. 1790.
      real(wp) :: Pr = 13.8_wp
         !! Molecular Prandtl number — Holland & Jenkins (1999) Table 1
         !! p. 1790, confirmed by McPhee, Maykut & Morison (1987) p. 7029.
      real(wp) :: Sc = 2432.0_wp
         !! Molecular Schmidt number — same two sources.
      real(wp) :: kappa_vk = 0.40_wp
         !! Von Karman constant — Holland & Jenkins (1999) Table 1
         !! p. 1790.  Also the `kappa` of the Obukhov scale.
      real(wp) :: xi_N = 0.052_wp
         !! McPhee stability constant `xi_N` — Holland & Jenkins (1999)
         !! Table 1 p. 1790; McPhee, Maykut & Morison (1987) p. 7029; Yung
         !! et al. (2025) Table A1 p. 5849.  (NOT 0.13: no paper in the
         !! set contains a `zeta_N` or that value.)
      real(wp) :: R_c = 0.20_wp
         !! Critical flux Richardson number — Holland & Jenkins (1999)
         !! Table 1 p. 1790.
   end type ocean_cavity_const_t