81     &                            LBi, UBi, LBj, UBj,                   &
 
   82     &                            IminS, ImaxS, JminS, JmaxS,           &
 
   88# if defined ADJUST_STFLUX && defined SOLVE3D
 
   89     &                            tl_tflux, tflux, stflx,               &
 
   99      integer, 
intent(in) :: ng, tile
 
  100      integer, 
intent(in) :: LBi, UBi, LBj, UBj
 
  101      integer, 
intent(in) :: IminS, ImaxS, JminS, JmaxS
 
  102      integer, 
intent(in) :: Linp
 
  105#  ifdef ADJUST_WSTRESS 
  106      real(r8), 
intent(in) :: tl_ustr(LBi:,LBj:,:,:)
 
  107      real(r8), 
intent(in) :: tl_vstr(LBi:,LBj:,:,:)
 
  109#  if defined ADJUST_STFLUX && defined SOLVE3D 
  110      real(r8), 
intent(inout) :: tflux(LBi:,LBj:,:,:,:)
 
  111      real(r8), 
intent(inout) :: tl_tflux(LBi:,LBj:,:,:,:)
 
  113#  ifdef ADJUST_WSTRESS 
  114      real(r8), 
intent(inout) :: ustr(LBi:,LBj:,:,:)
 
  115      real(r8), 
intent(inout) :: vstr(LBi:,LBj:,:,:)
 
  116      real(r8), 
intent(inout) :: sustr(LBi:,LBj:)
 
  117      real(r8), 
intent(inout) :: svstr(LBi:,LBj:)
 
  119#  if defined ADJUST_STFLUX && defined SOLVE3D 
  120      real(r8), 
intent(inout) :: stflx(LBi:,LBj:,:)
 
  123#  ifdef ADJUST_WSTRESS 
  124      real(r8), 
intent(in) :: tl_ustr(LBi:UBi,LBj:UBj,Nfrec(ng),2)
 
  125      real(r8), 
intent(in) :: tl_vstr(LBi:UBi,LBj:UBj,Nfrec(ng),2)
 
  127#  if defined ADJUST_STFLUX && defined SOLVE3D 
  128      real(r8), 
intent(in) :: tflux(LBi:UBi,LBj:UBj,                    &
 
  129     &                              Nfrec(ng),2,NT(ng))
 
  130      real(r8), 
intent(in) :: tl_tflux(LBi:UBi,LBj:UBj,                 &
 
  131     &                                 Nfrec(ng),2,NT(ng))
 
  133#  ifdef ADJUST_WSTRESS 
  134      real(r8), 
intent(inout) :: ustr(LBi:UBi,LBj:UBj,Nfrec(ng),2)
 
  135      real(r8), 
intent(inout) :: vstr(LBi:UBi,LBj:UBj,Nfrec(ng),2)
 
  136      real(r8), 
intent(inout) :: sustr(LBi:UBi,LBj:UBj)
 
  137      real(r8), 
intent(inout) :: svstr(LBi:UBi,LBj:UBj)
 
  139#  if defined ADJUST_STFLUX && defined SOLVE3D 
  140      real(r8), 
intent(inout) :: stflx(LBi:UBi,LBj:UBj,NT(ng))
 
  146      integer :: i, it1, it2, j
 
  150      real(r8) :: fac, fac1, fac2
 
  152# include "set_bounds.h" 
  160      IF (nfrec(ng).eq.1) 
THEN 
  166# ifdef GENERIC_DSTART 
  169        it1=max(0,(
iic(ng)-1)/
nsff(ng))+1
 
  171        it2=min(it1+1,nfrec(ng))
 
  174        fac=1.0_r8/(fac1+fac2)
 
  179# ifdef ADJUST_WSTRESS 
  186          sustr(i,j)=sustr(i,j)+                                        &
 
  187     &               fac1*tl_ustr(i,j,it1,linp)+                        &
 
  188     &               fac2*tl_ustr(i,j,it2,linp)
 
  193          svstr(i,j)=svstr(i,j)+                                        &
 
  194     &               fac1*tl_vstr(i,j,it1,linp)+                        &
 
  195     &               fac2*tl_vstr(i,j,it2,linp)
 
  199# if defined ADJUST_STFLUX && defined SOLVE3D 
  208              stflx(i,j,itrc)=stflx(i,j,itrc)+                          &
 
  209     &                        fac1*tl_tflux(i,j,it1,linp,itrc)+         &
 
  210     &                        fac2*tl_tflux(i,j,it2,linp,itrc)
 
 
subroutine frc_adjust_tile(ng, tile, lbi, ubi, lbj, ubj, imins, imaxs, jmins, jmaxs, tl_ustr, tl_vstr, ustr, vstr, sustr, svstr, tl_tflux, tflux, stflx, linp)