mom_eos_jackett06 module reference

The equation of state using the Jackett et al 2006 expressions that are often used in Hycom.

More…

Data Types

jackett06_eos

The EOS_base implementation of the Jackett et al, 2006, equation of state.

Functions/Subroutines

density_elem_jackett06()

In situ density of sea water using Jackett et al., 2006 [kg m-3].

density_anomaly_elem_jackett06()

In situ density anomaly of sea water using Jackett et al., 2006 [kg m-3].

spec_vol_elem_jackett06()

In situ specific volume of sea water using Jackett et al., 2006 [m3 kg-1].

spec_vol_anomaly_elem_jackett06()

In situ specific volume anomaly of sea water using Jackett et al., 2006 [m3 kg-1].

calculate_density_derivs_elem_jackett06()

Calculate the partial derivatives of density with potential temperature and salinity using Jackett et al., 2006.

calculate_density_second_derivs_elem_jackett06()

Calculate second derivatives of density with respect to temperature, salinity, and pressure, using Jackett et al., 2006.

calculate_specvol_derivs_elem_jackett06()

Calculate second derivatives of density with respect to temperature, salinity, and pressure, using Jackett et al., 2006.

calculate_compress_elem_jackett06()

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 Jackett et al., 2006.

eos_fit_range_jackett06()

Return the range of temperatures, salinities and pressures for which the Jackett et al.

Detailed Description

The equation of state using the Jackett et al 2006 expressions that are often used in Hycom.

Type Documentation

type mom_eos_jackett06/jackett06_eos

The EOS_base implementation of the Jackett et al, 2006, 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_jackett06/density_elem_jackett06(this, T, S, pressure) [elemental]

In situ density of sea water using Jackett et al., 2006 [kg m-3].

This is an elemental function that can be applied to any combination of scalar and array inputs.

Parameters:
  • this :: [in] This EOS

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

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

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

Call to:

rd001 rd010 rd013 rd020 rd030 rd032 rd040 rd100 rd110 rd130 rd600 rd620 rn000 rn001 rn002 rn010 rn020 rn021 rn022 rn030 rn100 rn101 rn110 rn200

function mom_eos_jackett06/density_anomaly_elem_jackett06(this, T, S, pressure, rho_ref) [elemental]

In situ density anomaly of sea water using Jackett et al., 2006 [kg m-3].

This is an elemental function that can be applied to any combination of scalar and array inputs.

Parameters:
  • this :: [in] This EOS

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

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

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

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

Call to:

rd001 rd010 rd013 rd020 rd030 rd032 rd040 rd100 rd110 rd130 rd600 rd620 rn000 rn001 rn002 rn010 rn020 rn021 rn022 rn030 rn100 rn101 rn110 rn200

function mom_eos_jackett06/spec_vol_elem_jackett06(this, T, S, pressure) [elemental]

In situ specific volume of sea water using Jackett et al., 2006 [m3 kg-1].

This is an elemental function that can be applied to any combination of scalar and array inputs.

Parameters:
  • this :: [in] This EOS

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

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

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

Call to:

rd001 rd010 rd013 rd020 rd030 rd032 rd040 rd100 rd110 rd130 rd600 rd620 rn000 rn001 rn002 rn010 rn020 rn021 rn022 rn030 rn100 rn101 rn110 rn200

function mom_eos_jackett06/spec_vol_anomaly_elem_jackett06(this, T, S, pressure, spv_ref) [elemental]

In situ specific volume anomaly of sea water using Jackett et al., 2006 [m3 kg-1].

This is an elemental function that can be applied to any combination of scalar and array inputs.

Parameters:
  • this :: [in] This EOS

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

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

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

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

Call to:

rd001 rd010 rd013 rd020 rd030 rd032 rd040 rd100 rd110 rd130 rd600 rd620 rn000 rn001 rn002 rn010 rn020 rn021 rn022 rn030 rn100 rn101 rn110 rn200

subroutine mom_eos_jackett06/calculate_density_derivs_elem_jackett06(this, T, S, pressure, drho_dT, drho_dS)

Calculate the partial derivatives of density with potential temperature and salinity using Jackett et al., 2006.

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:

rd001 rd010 rd013 rd020 rd030 rd032 rd040 rd100 rd110 rd130 rd600 rd620 rn000 rn001 rn002 rn010 rn020 rn021 rn022 rn030 rn100 rn101 rn110 rn200

subroutine mom_eos_jackett06/calculate_density_second_derivs_elem_jackett06(this, T, S, pressure, drho_ds_ds, drho_ds_dt, drho_dt_dt, drho_ds_dp, drho_dt_dp)

Calculate second derivatives of density with respect to temperature, salinity, and pressure, using Jackett et al., 2006.

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:

rd001 rd010 rd013 rd020 rd030 rd032 rd040 rd100 rd110 rd130 rd600 rd620 rn000 rn001 rn002 rn010 rn020 rn021 rn022 rn030 rn100 rn101 rn110 rn200

subroutine mom_eos_jackett06/calculate_specvol_derivs_elem_jackett06(this, T, S, pressure, dSV_dT, dSV_dS)

Calculate second derivatives of density with respect to temperature, salinity, and pressure, using Jackett et al., 2006.

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:

rd001 rd010 rd013 rd020 rd030 rd032 rd040 rd100 rd110 rd130 rd600 rd620 rn000 rn001 rn002 rn010 rn020 rn021 rn022 rn030 rn100 rn101 rn110 rn200

subroutine mom_eos_jackett06/calculate_compress_elem_jackett06(this, T, S, pressure, rho, drho_dp)

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 Jackett et al., 2006.

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:

rd001 rd010 rd013 rd020 rd030 rd032 rd040 rd100 rd110 rd130 rd600 rd620 rn000 rn001 rn002 rn010 rn020 rn021 rn022 rn030 rn100 rn101 rn110 rn200

subroutine mom_eos_jackett06/eos_fit_range_jackett06(this, T_min, T_max, S_min, S_max, p_min, p_max)

Return the range of temperatures, salinities and pressures for which the Jackett et al. (2006) 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 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]