MOM6
mom_tfreeze::calculate_tfreeze_teos10 Interface Reference

Detailed Description

Compute the freezing point conservative temperature [degC] from absolute salinity [g/kg] and pressure [Pa] using the TEOS10 package.

Definition at line 33 of file MOM_TFreeze.F90.

Private functions

subroutine calculate_tfreeze_teos10_scalar (S, pres, T_Fr)
 This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g/kg], and pressure [Pa] using the TEOS10 package. More...
 
subroutine calculate_tfreeze_teos10_array (S, pres, T_Fr, start, npts)
 This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g/kg], and pressure [Pa] using the TEOS10 package. More...
 

Functions and subroutines

◆ calculate_tfreeze_teos10_array()

subroutine mom_tfreeze::calculate_tfreeze_teos10::calculate_tfreeze_teos10_array ( real, dimension(:), intent(in)  S,
real, dimension(:), intent(in)  pres,
real, dimension(:), intent(out)  T_Fr,
integer, intent(in)  start,
integer, intent(in)  npts 
)
private

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g/kg], and pressure [Pa] using the TEOS10 package.

Parameters
[in]sabsolute salinity [g/kg].
[in]prespressure [Pa].
[out]t_frFreezing point conservative temperature [degC].
[in]startthe starting point in the arrays.
[in]nptsthe number of values to calculate.

Definition at line 148 of file MOM_TFreeze.F90.

148  real, dimension(:), intent(in) :: S !< absolute salinity [g/kg].
149  real, dimension(:), intent(in) :: pres !< pressure [Pa].
150  real, dimension(:), intent(out) :: T_Fr !< Freezing point conservative temperature [degC].
151  integer, intent(in) :: start !< the starting point in the arrays.
152  integer, intent(in) :: npts !< the number of values to calculate.
153 
154  ! Local variables
155  real, parameter :: Pa2db = 1.e-4 ! The conversion factor from Pa to dbar.
156  real :: zs,zp
157  integer :: j
158  ! Assume sea-water contains no dissolved air.
159  real, parameter :: saturation_fraction = 0.0
160 
161  do j=start,start+npts-1
162  !Conversions
163  zs = s(j)
164  zp = pres(j)* pa2db !Convert pressure from Pascal to decibar
165 
166  if (s(j) < -1.0e-10) cycle !Can we assume safely that this is a missing value?
167  t_fr(j) = gsw_ct_freezing_exact(zs,zp,saturation_fraction)
168  enddo
169 

◆ calculate_tfreeze_teos10_scalar()

subroutine mom_tfreeze::calculate_tfreeze_teos10::calculate_tfreeze_teos10_scalar ( real, intent(in)  S,
real, intent(in)  pres,
real, intent(out)  T_Fr 
)
private

This subroutine computes the freezing point conservative temperature [degC] from absolute salinity [g/kg], and pressure [Pa] using the TEOS10 package.

Parameters
[in]sAbsolute salinity [g/kg].
[in]presPressure [Pa].
[out]t_frFreezing point conservative temperature [degC].

Definition at line 128 of file MOM_TFreeze.F90.

128  real, intent(in) :: S !< Absolute salinity [g/kg].
129  real, intent(in) :: pres !< Pressure [Pa].
130  real, intent(out) :: T_Fr !< Freezing point conservative temperature [degC].
131 
132  ! Local variables
133  real, dimension(1) :: S0, pres0
134  real, dimension(1) :: tfr0
135 
136  s0(1) = s
137  pres0(1) = pres
138 
139  call calculate_tfreeze_teos10_array(s0, pres0, tfr0, 1, 1)
140  t_fr = tfr0(1)
141 

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