24 USE roms_interpolate_mod
34 integer,
intent(in) :: ng, model
38 integer :: IstrR, Iend, JstrR, Jend
39 integer :: LBi, UBi, LBj, UBj
40 integer :: i, j, k, l, mc
42 real(r8),
parameter :: spv = 0.0_r8
45 real(r8) :: Xstr, Xend, Ystr, Yend, zfloat
46 logical,
dimension(Nfloats(ng)) :: my_thread
47 real(r8),
dimension(Nfloats(ng)) :: Iflt, Jflt
49 real(r8),
dimension(Nfloats(ng)) :: Kflt
54 real(r8),
dimension(Nstation(ng)) :: Slon, Slat
55 real(r8),
dimension(Nstation(ng)) :: Ista, Jsta
74 lbi=lbound(
grid(ng)%h,dim=1)
75 ubi=ubound(
grid(ng)%h,dim=1)
76 lbj=lbound(
grid(ng)%h,dim=2)
77 ubj=ubound(
grid(ng)%h,dim=2)
94 IF (
drifter(ng)%Findex(0).gt.0)
THEN
95 CALL hindices (ng, lbi, ubi, lbj, ubj, &
96 & istrr, iend+1, jstrr, jend+1, &
104 & iflt, jflt, spv, .false.)
152 IF (my_thread(l).and. &
156 & real(
lm(ng),r8)+0.5_r8).and. &
158 & real(
mm(ng),r8)+0.5_r8)))
THEN
162 IF (zfloat.le.0.0_r8)
THEN
165 IF (zfloat.lt.
grid(ng)%z_w(i,j,0))
THEN
166 zfloat=
grid(ng)%z_w(i,j,0)+5.0_r8
171 IF ((
grid(ng)%z_w(i,j,k)-zfloat)* &
172 & (zfloat-
grid(ng)%z_w(i,j,k-1)).ge.0.0_r8)
THEN
173 kflt(l)=real(k-1,r8)+ &
174 & (zfloat-
grid(ng)%z_w(i,j,k-1))/ &
209 IF (
scalars(ng)%Sflag(l).gt.0)
THEN
216 CALL hindices (ng, lbi, ubi, lbj, ubj, &
217 & istrr, iend+1, jstrr, jend+1, &
232 IF (
scalars(ng)%Sflag(l).gt.0)
THEN
subroutine hindices(ng, lbi, ubi, lbj, ubj, is, ie, js, je, angler, xgrd, ygrd, lbm, ubm, lbn, ubn, ms, me, ns, ne, xpos, ypos, ipos, jpos, ijspv, rectangular)