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, as refit by Jackett and McDougall (1995).

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, as refit by Jackett and McDougall (1995).

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, as refit by Jackett and McDougall (1995).

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, as refit by Jackett and McDougall (1995).

calculate_density_derivs_unesco()

Calculate the partial derivatives of density with potential temperature and salinity using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

calculate_specvol_derivs_unesco()

Return the partial derivatives of specific volume with temperature and salinity using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

calculate_compress_unesco()

Compute the in situ density of sea water (rho) and the compressibility (drho/dp == C_sound^-2) at the given salinity, potential temperature and pressure using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

calculate_density_second_derivs_array_unesco()

Calculate second derivatives of density with respect to temperature, salinity, and pressure using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

calculate_density_second_derivs_scalar_unesco()

Second derivatives of density with respect to temperature, salinity and pressure for scalar inputs using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

eos_fit_range_unesco()

Return the range of temperatures, salinities and pressures for which Jackett and McDougall (1995) refit the UNESCO equation of state has been fitted to observations.

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, as refit by Jackett and McDougall (1995). If rho_ref is present, rho is an anomaly from rho_ref.

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]

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, as refit by Jackett and McDougall (1995). If rho_ref is present, rho is an anomaly from rho_ref.

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 index for calculations

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

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

Called from:

mom_eos_unesco::calculate_density_unesco::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, as refit by Jackett and McDougall (1995). 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]

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, as refit by Jackett and McDougall (1995). 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 index for calculations

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

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

Called from:

mom_eos_unesco::calculate_spec_vol_unesco::calculate_spec_vol_scalar_unesco

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

Calculate the partial derivatives of density with potential temperature and salinity using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

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 index for calculations

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

Call to:

r00 r01 r02 r03 r04 r05 r10 r11 r12 r13 r14 r20 r60 r61 r62 s000 s001 s002 s010 s011 s012 s020 s021 s022 s030 s031 s040 s100 s101 s102 s110 s111 s112 s120 s121 s122 s130 s600 s601 s610 s620

subroutine mom_eos_unesco/calculate_specvol_derivs_unesco(T, S, pressure, dSV_dT, dSV_dS, start, npts)

Return the partial derivatives of specific volume with temperature and salinity using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

Parameters:
  • t :: [in] Potential temperature relative to the surface [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].

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

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

Call to:

r00 r01 r02 r03 r04 r05 r10 r11 r12 r13 r14 r20 r60 r61 r62 s000 s001 s002 s010 s011 s012 s020 s021 s022 s030 s031 s040 s100 s101 s102 s110 s111 s112 s120 s121 s122 s130 s600 s601 s610 s620

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

Compute the in situ density of sea water (rho) and the compressibility (drho/dp == C_sound^-2) at the given salinity, potential temperature and pressure using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

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 index for calculations

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

Call to:

r00 r01 r02 r03 r04 r05 r10 r11 r12 r13 r14 r20 r60 r61 r62 s000 s001 s002 s010 s011 s012 s020 s021 s022 s030 s031 s040 s100 s101 s102 s110 s111 s112 s120 s121 s122 s130 s600 s601 s610 s620

subroutine mom_eos_unesco/calculate_density_second_derivs_array_unesco(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)

Calculate second derivatives of density with respect to temperature, salinity, and pressure using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995).

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

  • s :: [in] Salinity [PSU]

  • p :: [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]

  • start :: [in] Starting index in T,S,P

  • npts :: [in] Number of points to loop over

Called from:

mom_eos_unesco::calculate_density_second_derivs_unesco::calculate_density_second_derivs_scalar_unesco

subroutine mom_eos_unesco/calculate_density_second_derivs_scalar_unesco(T, S, P, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp)

Second derivatives of density with respect to temperature, salinity and pressure for scalar inputs using the UNESCO (1981) equation of state, as refit by Jackett and McDougall (1995). Inputs are promoted to 1-element arrays and outputs are demoted to scalars.

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

  • s :: [in] Salinity [PSU]

  • p :: [in] Pressure [Pa]

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

  • drho_ds_dt :: [out] Partial derivative of beta with respect to T [kg m-3 PSU-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 PSU-1 Pa-1] = [s2 m-2 PSU-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_unesco/eos_fit_range_unesco(T_min, T_max, S_min, S_max, p_min, p_max)

Return the range of temperatures, salinities and pressures for which Jackett and McDougall (1995) refit the UNESCO 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 potential temperature over which this EoS is fitted [degC]

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

  • s_min :: [out] The minimum practical salinity over which this EoS is fitted [PSU]

  • s_max :: [out] The maximum practical salinity over which this EoS is fitted [PSU]

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

Called from:

mom_eos::eos_fit_range