76 & LBi, UBi, LBj, UBj, &
77 & IminS, ImaxS, JminS, JmaxS, &
80 & tl_sustr, tl_svstr, &
82# if defined ADJUST_STFLUX && defined SOLVE3D
83 & tl_tflux, tl_stflx, &
93 integer,
intent(in) :: ng, tile
94 integer,
intent(in) :: LBi, UBi, LBj, UBj
95 integer,
intent(in) :: IminS, ImaxS, JminS, JmaxS
96 integer,
intent(in) :: Linp
100 real(r8),
intent(in) :: tl_ustr(LBi:,LBj:,:,:)
101 real(r8),
intent(in) :: tl_vstr(LBi:,LBj:,:,:)
103# if defined ADJUST_STFLUX && defined SOLVE3D
104 real(r8),
intent(inout) :: tl_tflux(LBi:,LBj:,:,:,:)
106# ifdef ADJUST_WSTRESS
107 real(r8),
intent(inout) :: tl_sustr(LBi:,LBj:)
108 real(r8),
intent(inout) :: tl_svstr(LBi:,LBj:)
110# if defined ADJUST_STFLUX && defined SOLVE3D
111 real(r8),
intent(inout) :: tl_stflx(LBi:,LBj:,:)
114# ifdef ADJUST_WSTRESS
115 real(r8),
intent(in) :: tl_ustr(LBi:UBi,LBj:UBj,Nfrec(ng),2)
116 real(r8),
intent(in) :: tl_vstr(LBi:UBi,LBj:UBj,Nfrec(ng),2)
118# if defined ADJUST_STFLUX && defined SOLVE3D
119 real(r8),
intent(in) :: tl_tflux(LBi:UBi,LBj:UBj, &
120 & Nfrec(ng),2,NT(ng))
122# ifdef ADJUST_WSTRESS
123 real(r8),
intent(inout) :: tl_sustr(LBi:UBi,LBj:UBj)
124 real(r8),
intent(inout) :: tl_svstr(LBi:UBi,LBj:UBj)
126# if defined ADJUST_STFLUX && defined SOLVE3D
127 real(r8),
intent(inout) :: tl_stflx(LBi:UBi,LBj:UBj,NT(ng))
133 integer :: i, it1, it2, j
137 real(r8) :: fac, fac1, fac2
139# include "set_bounds.h"
147 IF (nfrec(ng).eq.1)
THEN
153# ifdef GENERIC_DSTART
156 it1=max(0,(
iic(ng)-1)/
nsff(ng))+1
158 it2=min(it1+1,nfrec(ng))
161 fac=1.0_r8/(fac1+fac2)
166# ifdef ADJUST_WSTRESS
173 tl_sustr(i,j)=fac1*tl_ustr(i,j,it1,linp)+ &
174 & fac2*tl_ustr(i,j,it2,linp)
179 tl_svstr(i,j)=fac1*tl_vstr(i,j,it1,linp)+ &
180 & fac2*tl_vstr(i,j,it2,linp)
184# if defined ADJUST_STFLUX && defined SOLVE3D
194 & fac1*tl_tflux(i,j,it1,linp,
itemp)+ &
195 & fac2*tl_tflux(i,j,it2,linp,
itemp)
201 tl_stflx(i,j,
itemp)=fac1*tl_tflux(i,j,it1,linp,
itemp)+ &
202 & fac2*tl_tflux(i,j,it2,linp,
itemp)
213 & fac1*tl_tflux(i,j,it1,linp,
isalt)+ &
214 & fac2*tl_tflux(i,j,it2,linp,
isalt)
224 tl_stflx(i,j,itrc)=fac1*tl_tflux(i,j,it1,linp,itrc)+ &
225 & fac2*tl_tflux(i,j,it2,linp,itrc)
subroutine tl_frc_adjust_tile(ng, tile, lbi, ubi, lbj, ubj, imins, imaxs, jmins, jmaxs, tl_ustr, tl_vstr, tl_sustr, tl_svstr, tl_tflux, tl_stflx, linp)