mom_eos_roquet_spv module reference¶
The equation of state for specific volume (SpV) using the expressions of Roquet et al. 2015.
Data Types¶
The EOS_base implementation of the Roquet et al., 2015, equation of state. |
Functions/Subroutines¶
Roquet et al. |
|
Roquet et al. |
|
Roquet in situ density [kg m-3]. |
|
Roquet in situ density anomaly [kg m-3]. |
|
Return the partial derivatives of specific volume with temperature and salinity for 1-d array inputs and outputs, using the specific volume polynomial fit from Roquet et al. |
|
Compute an array of derivatives of densities of sea water with temperature (drho_dT in [kg m-3 degC-1]) and salinity (drho_dS in [kg m-3 ppt-1]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]) and pressure [Pa], using the specific volume polynomial fit from Roquet et al. |
|
Compute the in situ density of sea water (rho in [kg m-3]) and the compressibility (drho/dp = C_sound^-2, stored as drho_dp [s2 m-2]) from absolute salinity (sal [g kg-1]), conservative temperature (T [degC]), and pressure [Pa], using the specific volume polynomial fit from Roquet et al. |
|
Second derivatives of specific volume with respect to temperature, salinity, and pressure for a 1-d array inputs and outputs using the specific volume polynomial fit from Roquet et al. |
|
Second derivatives of density with respect to temperature, salinity, and pressure for a 1-d array inputs and outputs using the specific volume polynomial fit from Roquet et al. |
|
Return the range of temperatures, salinities and pressures for which the Roquet et al. |
|
Calculate the in-situ density for 1D arraya inputs and outputs. |
|
Calculate the in-situ specific volume for 1D array inputs and outputs. |
Detailed Description¶
The equation of state for specific volume (SpV) using the expressions of Roquet et al. 2015.
Type Documentation¶
-
type
mom_eos_roquet_spv/
roquet_spv_eos
¶ The EOS_base implementation of the Roquet et al., 2015, 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.%
calculate_density_array
[procedure,private] :: Local implementation of generic calculate_density_array for efficiency.%
calculate_spec_vol_array
[procedure,private] :: Local implementation of generic calculate_spec_vol_array for efficiency.
Function/Subroutine Documentation¶
-
function
mom_eos_roquet_spv/
spec_vol_elem_roquet_spv
(this, T, S, pressure) [elemental]¶ Roquet et al. in situ specific volume of sea water [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] Conservative temperature [degC]
s :: [in] Absolute salinity [g kg-1]
pressure :: [in] pressure [Pa]
- Call to:
r1_s0
rdeltas
spv000
spv001
spv002
spv003
spv010
spv011
spv012
spv013
spv020
spv021
spv022
spv030
spv031
spv040
spv041
spv050
spv060
spv100
spv101
spv102
spv103
spv110
spv111
spv112
spv120
spv121
spv130
spv131
spv140
spv150
spv200
spv201
spv202
spv210
spv211
spv220
spv221
spv230
spv240
spv300
spv301
spv310
spv311
spv320
spv330
spv400
spv401
spv410
spv420
spv500
spv510
spv600
v00
v01
v02
v03
v04
v05
- Called from:
-
function
mom_eos_roquet_spv/
spec_vol_anomaly_elem_roquet_spv
(this, T, S, pressure, spv_ref) [elemental]¶ Roquet et al. in situ specific volume anomaly of sea water [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] 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:
r1_s0
rdeltas
spv000
spv001
spv002
spv003
spv010
spv011
spv012
spv013
spv020
spv021
spv022
spv030
spv031
spv040
spv041
spv050
spv060
spv100
spv101
spv102
spv103
spv110
spv111
spv112
spv120
spv121
spv130
spv131
spv140
spv150
spv200
spv201
spv202
spv210
spv211
spv220
spv221
spv230
spv240
spv300
spv301
spv310
spv311
spv320
spv330
spv400
spv401
spv410
spv420
spv500
spv510
spv600
v00
v01
v02
v03
v04
v05
- Called from:
calculate_spec_vol_array_roquet_spv
density_anomaly_elem_roquet_spv
-
function
mom_eos_roquet_spv/
density_elem_roquet_spv
(this, T, S, pressure) [elemental]¶ Roquet in situ density [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] Conservative temperature [degC]
s :: [in] Absolute salinity [g kg-1]
pressure :: [in] Pressure [Pa]
- Call to:
- Called from:
-
function
mom_eos_roquet_spv/
density_anomaly_elem_roquet_spv
(this, T, S, pressure, rho_ref) [elemental]¶ Roquet in situ density anomaly [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] 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:
- Called from:
-
subroutine
mom_eos_roquet_spv/
calculate_specvol_derivs_elem_roquet_spv
(this, T, S, pressure, dSV_dT, dSV_dS)¶ Return the partial derivatives of specific volume with temperature and salinity for 1-d array inputs and outputs, using the specific volume polynomial fit from Roquet et al. (2015).
- Parameters:
this :: [in] This EOS
t :: [in] Conservative temperature [degC]
s :: [in] Absolute salinity [g kg-1]
pressure :: [in] Pressure [Pa]
dsv_dt :: [inout] The partial derivative of specific volume with conservative temperature [m3 kg-1 degC-1]
dsv_ds :: [inout] The partial derivative of specific volume with absolute salinity [m3 kg-1 ppt-1]
- Call to:
alp000
alp001
alp002
alp003
alp010
alp011
alp012
alp020
alp021
alp030
alp031
alp040
alp050
alp100
alp101
alp102
alp110
alp111
alp120
alp121
alp130
alp140
alp200
alp201
alp210
alp211
alp220
alp230
alp300
alp301
alp310
alp320
alp400
alp410
alp500
bet000
bet001
bet002
bet003
bet010
bet011
bet012
bet020
bet021
bet030
bet031
bet040
bet050
bet100
bet101
bet102
bet110
bet111
bet120
bet121
bet130
bet140
bet200
bet201
bet210
bet211
bet220
bet230
bet300
bet301
bet310
bet320
bet400
bet410
bet500
r1_s0
rdeltas
-
subroutine
mom_eos_roquet_spv/
calculate_density_derivs_elem_roquet_spv
(this, T, S, pressure, drho_dT, drho_dS)¶ Compute an array of derivatives of densities of sea water with temperature (drho_dT in [kg m-3 degC-1]) and salinity (drho_dS in [kg m-3 ppt-1]) from absolute salinity (S [g kg-1]), conservative temperature (T [degC]) and pressure [Pa], using the specific volume polynomial fit from Roquet et al. (2015).
- Parameters:
this :: [in] This EOS
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 ppt-1]
-
subroutine
mom_eos_roquet_spv/
calculate_compress_elem_roquet_spv
(this, T, S, pressure, rho, drho_dp)¶ Compute the in situ density of sea water (rho in [kg m-3]) and the compressibility (drho/dp = C_sound^-2, stored as drho_dp [s2 m-2]) from absolute salinity (sal [g kg-1]), conservative temperature (T [degC]), and pressure [Pa], using the specific volume polynomial fit from Roquet et al. (2015).
- Parameters:
this :: [in] This EOS
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]
- Call to:
r1_s0
rdeltas
spv000
spv001
spv002
spv003
spv010
spv011
spv012
spv013
spv020
spv021
spv022
spv030
spv031
spv040
spv041
spv050
spv060
spv100
spv101
spv102
spv103
spv110
spv111
spv112
spv120
spv121
spv130
spv131
spv140
spv150
spv200
spv201
spv202
spv210
spv211
spv220
spv221
spv230
spv240
spv300
spv301
spv310
spv311
spv320
spv330
spv400
spv401
spv410
spv420
spv500
spv510
spv600
v00
v01
v02
v03
v04
v05
-
subroutine
mom_eos_roquet_spv/
calc_spec_vol_second_derivs_elem_roquet_spv
(T, S, P, dSV_ds_ds, dSV_ds_dt, dSV_dt_dt, dSV_ds_dp, dSV_dt_dp)¶ Second derivatives of specific volume with respect to temperature, salinity, and pressure for a 1-d array inputs and outputs using the specific volume polynomial fit from Roquet et al. (2015).
- Parameters:
t :: [in] Conservative temperature [degC]
s :: [in] Absolute salinity [g kg-1]
p :: [in] Pressure [Pa]
dsv_ds_ds :: [inout] Second derivative of specific volume with respect to salinity [m3 kg-1 ppt-2]
dsv_ds_dt :: [inout] Second derivative of specific volume with respect to salinity and temperature [m3 kg-1 ppt-1 degC-1]
dsv_dt_dt :: [inout] Second derivative of specific volume with respect to temperature [m3 kg-1 degC-2]
dsv_ds_dp :: [inout] Second derivative of specific volume with respect to pressure and salinity [m3 kg-1 ppt-1 Pa-1]
dsv_dt_dp :: [inout] Second derivative of specific volume with respect to pressure and temperature [m3 kg-1 degC-1 Pa-1]
- Call to:
r1_s0
rdeltas
spv011
spv012
spv013
spv020
spv021
spv022
spv030
spv031
spv040
spv041
spv050
spv060
spv100
spv101
spv102
spv103
spv110
spv111
spv112
spv120
spv121
spv130
spv131
spv140
spv150
spv201
spv202
spv210
spv211
spv220
spv221
spv230
spv240
spv300
spv301
spv310
spv311
spv320
spv330
spv400
spv401
spv410
spv420
spv500
spv510
spv600
- Called from:
-
subroutine
mom_eos_roquet_spv/
calculate_density_second_derivs_elem_roquet_spv
(this, T, S, pressure, 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 a 1-d array inputs and outputs using the specific volume polynomial fit from Roquet et al. (2015).
- Parameters:
this :: [in] This EOS
t :: [in] Conservative temperature [degC]
s :: [in] Absolute salinity [g kg-1]
pressure :: [in] Pressure [Pa]
drho_ds_ds :: [inout] Second derivative of density with respect to salinity [kg m-3 ppt-2]
drho_ds_dt :: [inout] Second derivative of density with respect to salinity and temperature [kg m-3 ppt-1 degC-1]
drho_dt_dt :: [inout] Second derivative of density with respect to temperature [kg m-3 degC-2]
drho_ds_dp :: [inout] Second derivative of density with respect to pressure and salinity [kg m-3 ppt-1 Pa-1] = [s2 m-2 ppt-1]
drho_dt_dp :: [inout] Second derivative of density with respect to pressure and temperature [kg m-3 degC-1 Pa-1] = [s2 m-2 degC-1]
- Call to:
-
subroutine
mom_eos_roquet_spv/
eos_fit_range_roquet_spv
(this, T_min, T_max, S_min, S_max, p_min, p_max)¶ Return the range of temperatures, salinities and pressures for which the Roquet et al. (2015) expression for specific volume 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]
-
subroutine
mom_eos_roquet_spv/
calculate_density_array_roquet_spv
(this, T, S, pressure, rho, start, npts, rho_ref)¶ Calculate the in-situ density for 1D arraya inputs and outputs.
- 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]
start :: [in] The starting index for calculations
npts :: [in] The number of values to calculate
rho_ref :: [in] A reference density [kg m-3]
- Call to:
-
subroutine
mom_eos_roquet_spv/
calculate_spec_vol_array_roquet_spv
(this, T, S, pressure, specvol, start, npts, spv_ref)¶ Calculate the in-situ specific volume for 1D array inputs and outputs.
- Parameters:
this :: [in] This EOS
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]
- Call to: