FV3 Bundle
gsw_ct_freezing_exact.f90
Go to the documentation of this file.
1 !==========================================================================
2 elemental function gsw_ct_freezing_exact (sa, p, saturation_fraction)
3 !==========================================================================
4 !
5 ! Calculates the Conservative Temperature at which seawater freezes. The
6 ! Conservative Temperature freezing point is calculated from the exact
7 ! in-situ freezing temperature which is found by a modified Newton-Raphson
8 ! iteration (McDougall and Wotherspoon, 2013) of the equality of the
9 ! chemical potentials of water in seawater and in ice.
10 !
11 ! An alternative GSW function, gsw_CT_freezing_poly, it is based on a
12 ! computationally-efficient polynomial, and is accurate to within -5e-4 K
13 ! and 6e-4 K, when compared with this function.
14 !
15 ! SA = Absolute Salinity [ g/kg ]
16 ! p = sea pressure [ dbar ]
17 ! ( i.e. absolute pressure - 10.1325 dbar )
18 ! saturation_fraction = the saturation fraction of dissolved air in
19 ! seawater
20 !
21 ! CT_freezing = Conservative Temperature at freezing of seawater [ deg C ]
22 !--------------------------------------------------------------------------
23 
26 
27 use gsw_mod_kinds
28 
29 implicit none
30 
31 real (r8), intent(in) :: sa, p, saturation_fraction
32 
33 real (r8) :: gsw_ct_freezing_exact
34 
35 real (r8) :: t_freezing
36 
37 t_freezing = gsw_t_freezing_exact(sa,p,saturation_fraction)
38 gsw_ct_freezing_exact = gsw_ct_from_t(sa,t_freezing,p)
39 
40 return
41 end function
42 
43 !--------------------------------------------------------------------------
elemental real(r8) function gsw_ct_freezing_exact(sa, p, saturation_fraction)