mom_eos_teos10 module reference

The equation of state using the TEOS10 expressions.

More…

Functions/Subroutines

calculate_density_scalar_teos10()

This subroutine computes the in situ density of sea water (rho in [kg m-3]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]), and pressure [Pa].

calculate_density_array_teos10()

This subroutine computes the in situ density of sea water (rho in [kg m-3]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]), and pressure [Pa].

calculate_spec_vol_scalar_teos10()

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

calculate_spec_vol_array_teos10()

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

calculate_density_derivs_array_teos10()

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

calculate_density_derivs_scalar_teos10()

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

calculate_specvol_derivs_teos10()

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

calculate_density_second_derivs_scalar_teos10()

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

calculate_density_second_derivs_array_teos10()

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

calculate_compress_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

The equation of state using the TEOS10 expressions.

Function/Subroutine Documentation

subroutine mom_eos_teos10/calculate_density_scalar_teos10(T, S, pressure, rho, rho_ref)

This subroutine computes the in situ density of sea water (rho in [kg m-3]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]), and pressure [Pa]. It uses the expression from the TEOS10 website.

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

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

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

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

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

subroutine mom_eos_teos10/calculate_density_array_teos10(T, S, pressure, rho, start, npts, rho_ref)

This subroutine computes the in situ density of sea water (rho in [kg m-3]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]), and pressure [Pa]. It uses the expression from the TEOS10 website.

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

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

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

Called from:

mom_eos_teos10::calculate_density_teos10::calculate_density_scalar_teos10

subroutine mom_eos_teos10/calculate_spec_vol_scalar_teos10(T, S, pressure, specvol, spv_ref)

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

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

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

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

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

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

subroutine mom_eos_teos10/calculate_spec_vol_array_teos10(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 absolute salinity (S [g kg-1]), conservative temperature (T [degC]) and pressure [Pa], using the TEOS10 equation of state. If spv_ref is present, specvol is an anomaly from spv_ref.

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

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

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

Called from:

mom_eos_teos10::calculate_spec_vol_teos10::calculate_spec_vol_scalar_teos10

subroutine mom_eos_teos10/calculate_density_derivs_array_teos10(T, S, pressure, drho_dT, drho_dS, start, npts)

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

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

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

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

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

  • drho_ds :: [out] The partial derivative of density with absolute salinity, [kg m-3 (g/kg)-1].

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

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

subroutine mom_eos_teos10/calculate_density_derivs_scalar_teos10(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:
  • t :: [in] Conservative temperature [degC]

  • s :: [in] Absolute Salinity [g kg-1]

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

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

  • drho_ds :: [out] The partial derivative of density with absolute salinity, [kg m-3 (g/kg)-1].

subroutine mom_eos_teos10/calculate_specvol_derivs_teos10(T, S, pressure, dSV_dT, dSV_dS, start, npts)

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

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

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

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

  • dsv_dt :: [out] The partial derivative of specific volume with conservative temperature [m3 kg-1 degC-1].

  • dsv_ds :: [out] The partial derivative of specific volume with absolute salinity [m3 kg-1 (g/kg)-1].

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

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

Call to:

pa2db

subroutine mom_eos_teos10/calculate_density_second_derivs_scalar_teos10(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:
  • t :: [in] Conservative temperature [degC]

  • s :: [in] Absolute Salinity [g kg-1]

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

  • drho_ds_ds :: [out] Partial derivative of beta with respect to S [kg m-3 (g/kg)-2]

  • drho_ds_dt :: [out] Partial derivative of beta with respect to T [kg m-3 (g/kg)-1 degC-1]

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

  • drho_ds_dp :: [out] Partial derivative of beta with respect to pressure [kg m-3 (g/kg)-1 Pa-1] = [s2 m-2 (g/kg)-1]

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

subroutine mom_eos_teos10/calculate_density_second_derivs_array_teos10(T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts)

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

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

  • s :: [in] Absolute Salinity [g kg-1]

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

  • drho_ds_ds :: [out] Partial derivative of beta with respect to S [kg m-3 (g/kg)-2]

  • drho_ds_dt :: [out] Partial derivative of beta with respect to T [kg m-3 (g/kg)-1 degC-1]

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

  • drho_ds_dp :: [out] Partial derivative of beta with respect to pressure [kg m-3 (g/kg)-1 Pa-1] = [s2 m-2 (g/kg)-1]

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

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

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

subroutine mom_eos_teos10/calculate_compress_teos10(T, S, pressure, rho, drho_dp, start, npts)

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:
  • t :: [in] Conservative temperature [degC].

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

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

pa2db

subroutine mom_eos_teos10/eos_fit_range_teos10(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:
  • 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]