MOM6
mom_eos_teos10::calculate_spec_vol_teos10 Interface Reference

Detailed Description

Compute the in situ specific volume of sea water (in [m3 kg-1]), or an anomaly with respect to a reference specific volume, from absolute salinity (in g/kg), conservative temperature (in deg C), and pressure [Pa], using the TEOS10 expressions.

Definition at line 35 of file MOM_EOS_TEOS10.F90.

Private functions

subroutine 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. More...
 
subroutine 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. More...
 

Functions and subroutines

◆ calculate_spec_vol_array_teos10()

subroutine mom_eos_teos10::calculate_spec_vol_teos10::calculate_spec_vol_array_teos10 ( real, dimension(:), intent(in)  T,
real, dimension(:), intent(in)  S,
real, dimension(:), intent(in)  pressure,
real, dimension(:), intent(out)  specvol,
integer, intent(in)  start,
integer, intent(in)  npts,
real, intent(in), optional  spv_ref 
)
private

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
[in]tConservative temperature relative to the surface [degC].
[in]ssalinity [g kg-1].
[in]pressurepressure [Pa].
[out]specvolin situ specific volume [m3 kg-1].
[in]startthe starting point in the arrays.
[in]nptsthe number of values to calculate.
[in]spv_refA reference specific volume [m3 kg-1].

Definition at line 137 of file MOM_EOS_TEOS10.F90.

137  real, dimension(:), intent(in) :: T !< Conservative temperature relative to the surface
138  !! [degC].
139  real, dimension(:), intent(in) :: S !< salinity [g kg-1].
140  real, dimension(:), intent(in) :: pressure !< pressure [Pa].
141  real, dimension(:), intent(out) :: specvol !< in situ specific volume [m3 kg-1].
142  integer, intent(in) :: start !< the starting point in the arrays.
143  integer, intent(in) :: npts !< the number of values to calculate.
144  real, optional, intent(in) :: spv_ref !< A reference specific volume [m3 kg-1].
145 
146  ! Local variables
147  real :: zs, zt, zp
148  integer :: j
149 
150  do j=start,start+npts-1
151  !Conversions
152  zs = s(j) !gsw_sr_from_sp(S(j)) !Convert practical salinity to absolute salinity
153  zt = t(j) !gsw_ct_from_pt(S(j),T(j)) !Convert potantial temp to conservative temp
154  zp = pressure(j)* pa2db !Convert pressure from Pascal to decibar
155 
156  if (s(j) < -1.0e-10) then
157  specvol(j) = 0.001 !Can we assume safely that this is a missing value?
158  else
159  specvol(j) = gsw_specvol(zs,zt,zp)
160  endif
161  if (present(spv_ref)) specvol(j) = specvol(j) - spv_ref
162  enddo
163 

◆ calculate_spec_vol_scalar_teos10()

subroutine mom_eos_teos10::calculate_spec_vol_teos10::calculate_spec_vol_scalar_teos10 ( real, intent(in)  T,
real, intent(in)  S,
real, intent(in)  pressure,
real, intent(out)  specvol,
real, intent(in), optional  spv_ref 
)
private

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
[in]tConservative temperature [degC].
[in]sAbsolute salinity [g kg-1]
[in]pressurepressure [Pa].
[out]specvolin situ specific volume [m3 kg-1].
[in]spv_refA reference specific volume [m3 kg-1].

Definition at line 116 of file MOM_EOS_TEOS10.F90.

116  real, intent(in) :: T !< Conservative temperature [degC].
117  real, intent(in) :: S !< Absolute salinity [g kg-1]
118  real, intent(in) :: pressure !< pressure [Pa].
119  real, intent(out) :: specvol !< in situ specific volume [m3 kg-1].
120  real, optional, intent(in) :: spv_ref !< A reference specific volume [m3 kg-1].
121 
122  ! Local variables
123  real, dimension(1) :: T0, S0, pressure0, spv0
124 
125  t0(1) = t ; s0(1) = s ; pressure0(1) = pressure
126 
127  call calculate_spec_vol_array_teos10(t0, s0, pressure0, spv0, 1, 1, spv_ref)
128  specvol = spv0(1)

The documentation for this interface was generated from the following file: