9 use kinds,
only: kind_real
11 use gsw_mod_toolbox,
only : gsw_rho, gsw_rho_first_derivatives,gsw_sa_from_sp, gsw_pt_from_ct
15 public :: soca_steric_jacobian
22 real(kind=kind_real),
allocatable :: kssht(:,:,:)
23 real(kind=kind_real),
allocatable :: ksshs(:,:,:)
45 subroutine soca_steric_jacobian (jac, t, s, p, h, lon, lat)
48 real(kind=kind_real),
intent(in) :: t, s, p, h, lon, lat
49 real(kind=kind_real),
intent(out) :: jac(2)
51 real(kind=kind_real) :: rho0
52 real(kind=kind_real) :: drhods, drhodt, eps=1.0e-8
56 drhodt = (
soca_rho(s, t+eps, p, lon, lat)-rho0)/eps
57 drhods = (
soca_rho(s+eps, t, p, lon, lat)-rho0)/eps
62 end subroutine soca_steric_jacobian
variable transform: SSH balance
various utility functions
elemental real(kind=kind_real) function, public soca_rho(sp, pt, p, lon, lat)
calculate density from temp/salinity profile
Hold the jacobians for the ssh to s/t balance transform.