mom_eos_teos10 module reference

The equation of state using the TEOS10 expressions.

More…

Data Types

teos10_eos

The EOS_base implementation of the TEOS10 equation of state.

Functions/Subroutines

density_elem_teos10()

GSW in situ density [kg m-3].

density_anomaly_elem_teos10()

GSW in situ density anomaly [kg m-3].

spec_vol_elem_teos10()

GSW in situ specific volume [m3 kg-1].

spec_vol_anomaly_elem_teos10()

GSW in situ specific volume anomaly [m3 kg-1].

calculate_density_derivs_elem_teos10()

For a given thermodynamic state, calculate the derivatives of density with conservative temperature and absolute salinity, using the TEOS10 expressions.

calculate_density_second_derivs_elem_teos10()

Calculate the 5 second derivatives of the equation of state for scalar inputs.

calculate_specvol_derivs_elem_teos10()

For a given thermodynamic state, calculate the derivatives of specific volume with conservative temperature and absolute salinity, using the TEOS10 expressions.

calculate_compress_elem_teos10()

This subroutine computes the in situ density of sea water (rho in [kg m-3]) and the compressibility (drho/dp = C_sound^-2) (drho_dp [s2 m-2]) from absolute salinity (sal [g kg-1]), conservative temperature (T [degC]), and pressure [Pa].

eos_fit_range_teos10()

Return the range of temperatures, salinities and pressures for which the TEOS-10 equation of state has been fitted to observations.

Detailed Description

TEOS10 equation of state

The TEOS10 equation of state is implemented via the GSW toolbox. We recommend using the Roquet et al. forms of this equation of state.

Type Documentation

type mom_eos_teos10/teos10_eos

The EOS_base implementation of the TEOS10 equation of state.

Type fields:
  • % density_elem [procedure,private] :: Implementation of the in-situ density as an elemental function [kg m-3].

  • % density_anomaly_elem [procedure,private] :: Implementation of the in-situ density anomaly as an elemental function [kg m-3].

  • % spec_vol_elem [procedure,private] :: Implementation of the in-situ specific volume as an elemental function [m3 kg-1].

  • % spec_vol_anomaly_elem [procedure,private] :: Implementation of the in-situ specific volume anomaly as an elemental function [m3 kg-1].

  • % calculate_density_derivs_elem [procedure,private] :: Implementation of the calculation of derivatives of density.

  • % calculate_density_second_derivs_elem [procedure,private] :: Implementation of the calculation of second derivatives of density.

  • % calculate_specvol_derivs_elem [procedure,private] :: Implementation of the calculation of derivatives of specific volume.

  • % calculate_compress_elem [procedure,private] :: Implementation of the calculation of compressibility.

  • % eos_fit_range [procedure,private] :: Implementation of the range query function.

Function/Subroutine Documentation

function mom_eos_teos10/density_elem_teos10(this, T, S, pressure) [elemental]

GSW in situ density [kg m-3].

Parameters:
  • this :: [in] This EOS

  • t :: [in] Conservative temperature [degC].

  • s :: [in] Absolute salinity [g kg-1].

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

Call to:

pa2db

function mom_eos_teos10/density_anomaly_elem_teos10(this, T, S, pressure, rho_ref) [elemental]

GSW in situ density anomaly [kg m-3].

Parameters:
  • this :: [in] This EOS

  • t :: [in] Conservative temperature [degC].

  • s :: [in] Absolute salinity [g kg-1].

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

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

Call to:

pa2db

function mom_eos_teos10/spec_vol_elem_teos10(this, T, S, pressure) [elemental]

GSW in situ specific volume [m3 kg-1].

Parameters:
  • this :: [in] This EOS

  • t :: [in] Conservative temperature [degC].

  • s :: [in] Absolute salinity [g kg-1].

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

Call to:

pa2db

function mom_eos_teos10/spec_vol_anomaly_elem_teos10(this, T, S, pressure, spv_ref) [elemental]

GSW in situ specific volume anomaly [m3 kg-1].

Parameters:
  • this :: [in] This EOS

  • t :: [in] Conservative temperature [degC].

  • s :: [in] Absolute salinity [g kg-1].

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

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

Call to:

pa2db

subroutine mom_eos_teos10/calculate_density_derivs_elem_teos10(this, T, S, pressure, drho_dT, drho_dS)

For a given thermodynamic state, calculate the derivatives of density with conservative temperature and absolute salinity, using the TEOS10 expressions.

Parameters:
  • this :: [in] This EOS

  • 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]

Call to:

pa2db

subroutine mom_eos_teos10/calculate_density_second_derivs_elem_teos10(this, T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP)

Calculate the 5 second derivatives of the equation of state for scalar inputs.

Parameters:
  • this :: [in] This EOS

  • t :: [in] Potential temperature referenced to 0 dbar [degC]

  • s :: [in] Salinity [PSU]

  • pressure :: [in] Pressure [Pa]

  • drho_ds_ds :: [inout] Partial derivative of beta with respect to S [kg m-3 PSU-2]

  • drho_ds_dt :: [inout] Partial derivative of beta with respect to T [kg m-3 PSU-1 degC-1]

  • drho_dt_dt :: [inout] Partial derivative of alpha with respect to T [kg m-3 degC-2]

  • drho_ds_dp :: [inout] Partial derivative of beta with respect to pressure [kg m-3 PSU-1 Pa-1] = [s2 m-2 PSU-1]

  • drho_dt_dp :: [inout] Partial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1] = [s2 m-2 degC-1]

Call to:

pa2db

subroutine mom_eos_teos10/calculate_specvol_derivs_elem_teos10(this, T, S, pressure, dSV_dT, dSV_dS)

For a given thermodynamic state, calculate the derivatives of specific volume with conservative temperature and absolute salinity, using the TEOS10 expressions.

Parameters:
  • this :: [in] This EOS

  • t :: [in] Potential temperature [degC]

  • s :: [in] Salinity [PSU]

  • pressure :: [in] Pressure [Pa]

  • dsv_dt :: [inout] The partial derivative of specific volume with potential temperature [m3 kg-1 degC-1]

  • dsv_ds :: [inout] The partial derivative of specific volume with salinity [m3 kg-1 PSU-1]

Call to:

pa2db

subroutine mom_eos_teos10/calculate_compress_elem_teos10(this, T, S, pressure, rho, drho_dp)

This subroutine computes the in situ density of sea water (rho in [kg m-3]) and the compressibility (drho/dp = C_sound^-2) (drho_dp [s2 m-2]) from absolute salinity (sal [g kg-1]), conservative temperature (T [degC]), and pressure [Pa]. It uses the subroutines from TEOS10 website.

Parameters:
  • this :: [in] This EOS

  • 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]

Call to:

pa2db

subroutine mom_eos_teos10/eos_fit_range_teos10(this, T_min, T_max, S_min, S_max, p_min, p_max)

Return the range of temperatures, salinities and pressures for which the TEOS-10 equation of state has been fitted to observations. Care should be taken when applying this equation of state outside of its fit range.

Parameters:
  • this :: [in] This EOS

  • t_min :: [out] The minimum conservative temperature over which this EoS is fitted [degC]

  • t_max :: [out] The maximum conservative temperature over which this EoS is fitted [degC]

  • s_min :: [out] The minimum absolute salinity over which this EoS is fitted [g kg-1]

  • s_max :: [out] The maximum absolute salinity over which this EoS is fitted [g kg-1]

  • p_min :: [out] The minimum pressure over which this EoS is fitted [Pa]

  • p_max :: [out] The maximum pressure over which this EoS is fitted [Pa]