mom_eos_unesco module reference

The equation of state using the Jackett and McDougall fits to the UNESCO EOS.

More…

Functions/Subroutines

calculate_density_scalar_unesco()

This subroutine computes the in situ density of sea water (rho in [kg m-3]) from salinity (S [PSU]), potential temperature (T [degC]), and pressure [Pa], using the UNESCO (1981) equation of state.

calculate_density_array_unesco()

This subroutine computes the in situ density of sea water (rho in [kg m-3]) from salinity (S [PSU]), potential temperature (T [degC]), and pressure [Pa], using the UNESCO (1981) equation of state.

calculate_spec_vol_scalar_unesco()

This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa], using the UNESCO (1981) equation of state.

calculate_spec_vol_array_unesco()

This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa], using the UNESCO (1981) equation of state.

calculate_density_derivs_unesco()

This subroutine calculates the partial derivatives of density with potential temperature and salinity.

calculate_compress_unesco()

This subroutine computes the in situ density of sea water (rho) and the compressibility (drho/dp == C_sound^-2) at the given salinity, potential temperature, and pressure.

Detailed Description

The equation of state using the Jackett and McDougall fits to the UNESCO EOS.

Function/Subroutine Documentation

subroutine mom_eos_unesco/calculate_density_scalar_unesco(T, S, pressure, rho, rho_ref)

This subroutine computes the in situ density of sea water (rho in [kg m-3]) from salinity (S [PSU]), potential temperature (T [degC]), and pressure [Pa], using the UNESCO (1981) equation of state.

Parameters
  • t :: [in] Potential temperature relative to the surface [degC].

  • s :: [in] Salinity [PSU].

  • pressure :: [in] pressure [Pa].

  • rho :: [out] In situ density [kg m-3].

  • rho_ref :: [in] A reference density [kg m-3].

Call to

calculate_density_array_unesco

subroutine mom_eos_unesco/calculate_density_array_unesco(T, S, pressure, rho, start, npts, rho_ref)

This subroutine computes the in situ density of sea water (rho in [kg m-3]) from salinity (S [PSU]), potential temperature (T [degC]), and pressure [Pa], using the UNESCO (1981) equation of state.

Parameters
  • t :: [in] potential temperature relative to the surface [degC].

  • s :: [in] salinity [PSU].

  • pressure :: [in] pressure [Pa].

  • rho :: [out] in situ density [kg m-3].

  • start :: [in] the starting point in the arrays.

  • npts :: [in] the number of values to calculate.

  • rho_ref :: [in] A reference density [kg m-3].

Call to

r00 r01 r02 r032 r10 r11 r132 r20 r21 r232 r30 r31 r40 r41 r50 s00 s01 s032 s10 s11 s132 s20 s21 s232 s30 s31 s40 sp00 sp000 sp001 sp01 sp010 sp011 sp020 sp021 sp032 sp10 sp11 sp20 sp21 sp30

Called from

calculate_density_scalar_unesco

subroutine mom_eos_unesco/calculate_spec_vol_scalar_unesco(T, S, pressure, specvol, spv_ref)

This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa], using the UNESCO (1981) equation of state. If spv_ref is present, specvol is an anomaly from spv_ref.

Parameters
  • t :: [in] potential temperature relative to the surface [degC].

  • s :: [in] salinity [PSU].

  • pressure :: [in] pressure [Pa].

  • specvol :: [out] in situ specific volume [m3 kg-1].

  • spv_ref :: [in] A reference specific volume [m3 kg-1].

Call to

calculate_spec_vol_array_unesco

subroutine mom_eos_unesco/calculate_spec_vol_array_unesco(T, S, pressure, specvol, start, npts, spv_ref)

This subroutine computes the in situ specific volume of sea water (specvol in [m3 kg-1]) from salinity (S [PSU]), potential temperature (T [degC]) and pressure [Pa], using the UNESCO (1981) equation of state. If spv_ref is present, specvol is an anomaly from spv_ref.

Parameters
  • t :: [in] potential temperature relative to the surface [degC].

  • s :: [in] salinity [PSU].

  • pressure :: [in] pressure [Pa].

  • specvol :: [out] in situ specific volume [m3 kg-1].

  • start :: [in] the starting point in the arrays.

  • npts :: [in] the number of values to calculate.

  • spv_ref :: [in] A reference specific volume [m3 kg-1].

Call to

r00 r01 r02 r032 r10 r11 r132 r20 r21 r232 r30 r31 r40 r41 r50 s00 s01 s032 s10 s11 s132 s20 s21 s232 s30 s31 s40 sp00 sp000 sp001 sp01 sp010 sp011 sp020 sp021 sp032 sp10 sp11 sp20 sp21 sp30

Called from

calculate_spec_vol_scalar_unesco

subroutine mom_eos_unesco/calculate_density_derivs_unesco(T, S, pressure, drho_dT, drho_dS, start, npts)

This subroutine calculates the partial derivatives of density with potential temperature and salinity.

Parameters
  • t :: [in] Potential temperature relative to the surface [degC].

  • s :: [in] Salinity [PSU].

  • pressure :: [in] Pressure [Pa].

  • drho_dt :: [out] The partial derivative of density with potential temperature [kg m-3 degC-1].

  • drho_ds :: [out] The partial derivative of density with salinity, in [kg m-3 PSU-1].

  • start :: [in] The starting point in the arrays.

  • npts :: [in] The number of values to calculate.

Call to

r00 r01 r02 r032 r10 r11 r132 r20 r21 r232 r30 r31 r40 r41 r50 s00 s01 s032 s10 s11 s132 s20 s21 s232 s30 s31 s40 sp00 sp000 sp001 sp01 sp010 sp011 sp020 sp021 sp032 sp10 sp11 sp20 sp21 sp30

subroutine mom_eos_unesco/calculate_compress_unesco(T, S, pressure, rho, drho_dp, start, npts)

This subroutine computes the in situ density of sea water (rho) and the compressibility (drho/dp == C_sound^-2) at the given salinity, potential temperature, and pressure.

Parameters
  • t :: [in] Potential temperature relative to the surface [degC].

  • s :: [in] Salinity [PSU].

  • pressure :: [in] Pressure [Pa].

  • rho :: [out] In situ density [kg m-3].

  • drho_dp :: [out] The partial derivative of density with pressure (also the inverse of the square of sound speed) [s2 m-2].

  • start :: [in] The starting point in the arrays.

  • npts :: [in] The number of values to calculate.

Call to

r00 r01 r02 r032 r10 r11 r132 r20 r21 r232 r30 r31 r40 r41 r50 s00 s01 s032 s10 s11 s132 s20 s21 s232 s30 s31 s40 sp00 sp000 sp001 sp01 sp010 sp011 sp020 sp021 sp032 sp10 sp11 sp20 sp21 sp30

Called from

mom_eos::calculate_compress_array