28 use gsw_mod_toolbox
, only : gsw_sp_from_sr, gsw_pt_from_ct
29 use gsw_mod_toolbox
, only : gsw_rho, gsw_rho_first_derivatives, gsw_specvol_first_derivatives
32 implicit none ;
private 37 public gsw_sp_from_sr, gsw_pt_from_ct
43 real,
parameter ::
pa2db = 1.e-4
54 real,
intent(in) :: pressure
55 real,
intent(out) :: rho
70 real,
dimension(1) :: T0, S0, pressure0
71 real,
dimension(1) :: rho0
75 pressure0(1) = pressure
83 real,
intent(in),
dimension(:) :: T, S, pressure
84 real,
intent(out),
dimension(:) :: rho
85 integer,
intent(in) :: start, npts
102 do j=start,start+npts-1
106 zp = pressure(j)*
pa2db 108 if(s(j).lt.-1.0e-10) cycle
109 rho(j) = gsw_rho(zs,zt,zp)
114 real,
intent(in),
dimension(:) :: T
115 real,
intent(in),
dimension(:) :: S
116 real,
intent(in),
dimension(:) :: pressure
117 real,
intent(out),
dimension(:) :: drho_dT
119 real,
intent(out),
dimension(:) :: drho_dS
121 integer,
intent(in) :: start
122 integer,
intent(in) :: npts
135 do j=start,start+npts-1
139 zp = pressure(j)*
pa2db 140 if(s(j).lt.-1.0e-10) cycle
141 call gsw_rho_first_derivatives(zs, zt, zp, drho_dsa=drho_ds(j), drho_dct=drho_dt(j))
147 real,
intent(in),
dimension(:) :: T
148 real,
intent(in),
dimension(:) :: S
149 real,
intent(in),
dimension(:) :: pressure
150 real,
intent(out),
dimension(:) :: dSV_dT
152 real,
intent(out),
dimension(:) :: dSV_dS
154 integer,
intent(in) :: start
155 integer,
intent(in) :: npts
168 do j=start,start+npts-1
172 zp = pressure(j)*
pa2db 173 if(s(j).lt.-1.0e-10) cycle
174 call gsw_specvol_first_derivatives(zs,zt,zp, v_sa=dsv_ds(j), v_ct=dsv_dt(j))
185 real,
intent(in),
dimension(:) :: T
186 real,
intent(in),
dimension(:) :: S
187 real,
intent(in),
dimension(:) :: pressure
188 real,
intent(out),
dimension(:) :: rho
189 real,
intent(out),
dimension(:) :: drho_dp
192 integer,
intent(in) :: start
193 integer,
intent(in) :: npts
213 do j=start,start+npts-1
217 zp = pressure(j)*
pa2db 218 if(s(j).lt.-1.0e-10) cycle
219 rho(j) = gsw_rho(zs,zt,zp)
220 call gsw_rho_first_derivatives(zs,zt,zp, drho_dp=drho_dp(j))
subroutine, public calculate_compress_teos10(T, S, pressure, rho, drho_dp, start, npts)
This subroutine computes the in situ density of sea water (rho in * units of kg/m^3) and the compress...
subroutine, public calculate_specvol_derivs_teos10(T, S, pressure, dSV_dT, dSV_dS, start, npts)
subroutine, public calculate_density_derivs_teos10(T, S, pressure, drho_dT, drho_dS, start, npts)
subroutine, public calculate_density_scalar_teos10(T, S, pressure, rho)
This subroutine computes the in situ density of sea water (rho in units of kg/m^3) from salinity (S i...
subroutine, public calculate_density_array_teos10(T, S, pressure, rho, start, npts)