33 real (r8),
intent(in) :: sa, ct, saturation_fraction
38 real (r8) :: ct_freezing_p0, ct_freezing_p10000, dctf_dp, f
39 real (r8) :: pf, pfm, pf_old, ctfreezing_p
41 integer,
parameter :: number_of_iterations = 3
45 character (*),
parameter :: func_name =
"gsw_pressure_freezing_ct" 50 if (ct .gt. ct_freezing_p0)
then 58 if (ct .lt. ct_freezing_p10000)
then 64 pf =
rec_pa2db*(ct_freezing_p0 - ct)/(ct_freezing_p0 - ct_freezing_p10000)
67 ctfreezing_p=ctfreezing_p)
73 do i_iter = 1, number_of_iterations
76 pf = pf_old - f/dctf_dp
77 pfm = 0.5_r8*(pf + pf_old)
79 ctfreezing_p=ctfreezing_p)
81 pf = pf_old - f/dctf_dp
elemental real(r8) function gsw_pressure_freezing_ct(sa, ct, saturation_fraction)
real(r8), parameter, public gsw_error_limit
real(r8), parameter rec_pa2db
elemental real(r8) function, public gsw_error_code(err_num, func_name, error_code)