84     &                             LBi, UBi, LBj, UBj,                  &
 
   85     &                             IminS, ImaxS, JminS, JmaxS,          &
 
   90     &                             Rscope, Uscope, Vscope,              &
 
   92     &                             u_ads, v_ads, wvel_ads,              &
 
   95     &                             ubar_ads, vbar_ads, zeta_ads,        &
 
   97     &                             ad_u, ad_v, ad_wvel,                 &
 
  113      integer, 
intent(in) :: ng, tile
 
  114      integer, 
intent(in) :: LBi, UBi, LBj, UBj
 
  115      integer, 
intent(in) :: IminS, ImaxS, JminS, JmaxS
 
  116      integer, 
intent(in) :: knew
 
  118      integer, 
intent(in) :: nnew, nstp
 
  122      real(r8), 
intent(in) :: Rscope(LBi:,LBj:)
 
  123      real(r8), 
intent(in) :: Uscope(LBi:,LBj:)
 
  124      real(r8), 
intent(in) :: Vscope(LBi:,LBj:)
 
  126      real(r8), 
intent(in) :: u_ads(LBi:,LBj:,:)
 
  127      real(r8), 
intent(in) :: v_ads(LBi:,LBj:,:)
 
  128      real(r8), 
intent(in) :: wvel_ads(LBi:,LBj:,:)
 
  129      real(r8), 
intent(in) :: t_ads(LBi:,LBj:,:,:)
 
  131      real(r8), 
intent(in) :: ubar_ads(LBi:,LBj:)
 
  132      real(r8), 
intent(in) :: vbar_ads(LBi:,LBj:)
 
  133      real(r8), 
intent(in) :: zeta_ads(LBi:,LBj:)
 
  135      real(r8), 
intent(inout) :: ad_u(LBi:,LBj:,:,:)
 
  136      real(r8), 
intent(inout) :: ad_v(LBi:,LBj:,:,:)
 
  137      real(r8), 
intent(inout) :: ad_wvel(LBi:,LBj:,:)
 
  138      real(r8), 
intent(inout) :: ad_t(LBi:,LBj:,:,:,:)
 
  139      real(r8), 
intent(inout) :: ad_Zt_avg1(LBi:,LBj:)
 
  141      real(r8), 
intent(inout) :: ad_zeta(LBi:,LBj:,:)
 
  143      real(r8), 
intent(inout) :: ad_ubar(LBi:,LBj:,:)
 
  144      real(r8), 
intent(inout) :: ad_vbar(LBi:,LBj:,:)
 
  146      real(r8), 
intent(in) :: Rscope(LBi:UBi,LBj:UBj)
 
  147      real(r8), 
intent(in) :: Uscope(LBi:UBi,LBj:UBj)
 
  148      real(r8), 
intent(in) :: Vscope(LBi:UBi,LBj:UBj)
 
  150      real(r8), 
intent(in) :: u_ads(LBi:UBi,LBj:UBj,N(ng))
 
  151      real(r8), 
intent(in) :: v_ads(LBi:UBi,LBj:UBj,N(ng))
 
  152      real(r8), 
intent(in) :: wvel_ads(LBi:UBi,LBj:UBj,N(ng))
 
  153      real(r8), 
intent(in) :: t_ads(LBi:UBi,LBj:UBj,N(ng),NT(ng))
 
  155      real(r8), 
intent(in) :: ubar_ads(LBi:UBi,LBj:UBj)
 
  156      real(r8), 
intent(in) :: vbar_ads(LBi:UBi,LBj:UBj)
 
  157      real(r8), 
intent(in) :: zeta_ads(LBi:UBi,LBj:UBj)
 
  159      real(r8), 
intent(inout) :: ad_u(LBi:UBi,LBj:UBj,N(ng),2)
 
  160      real(r8), 
intent(inout) :: ad_v(LBi:UBi,LBj:UBj,N(ng),2)
 
  161      real(r8), 
intent(inout) :: ad_u(LBi:UBi,LBj:UBj,0:N(ng))
 
  162      real(r8), 
intent(inout) :: ad_t(LBi:UBi,LBj:UBj,N(ng),3,NT(ng))
 
  163      real(r8), 
intent(inout) :: ad_Zt_avg1(LBi:UBi,LBj:UBj)
 
  165      real(r8), 
intent(inout) :: ad_zeta(LBi:UBi,LBj:UBj,:)
 
  167      real(r8), 
intent(inout) :: ad_ubar(LBi:UBi,LBj:UBj,:)
 
  168      real(r8), 
intent(inout) :: ad_vbar(LBi:UBi,LBj:UBj,:)
 
  173      integer :: Kfrc, Nfrc, i, itrc, j, k
 
  177# include "set_bounds.h" 
  202#  ifdef I4DVAR_ANA_SENSITIVITY 
  203      IF ((mod(
iic(ng)-1,
nhis(ng)).eq.0).and.                           &
 
  206      IF ((mod(
iic(ng)-1,
ntlm(ng)).eq.0).and.                           &
 
  212 10         
FORMAT (2x,
'ADSEN_FORCE      - forcing Adjoint model at',   &
 
  226            ad_zt_avg1(i,j)=ad_zt_avg1(i,j)+                            &
 
  227     &                      adfac*zeta_ads(i,j)*rscope(i,j)
 
  233            ad_zeta(i,j,kfrc)=ad_zeta(i,j,kfrc)+                        &
 
  234     &                        adfac*zeta_ads(i,j)*rscope(i,j)
 
  245            ad_ubar(i,j,kfrc)=ad_ubar(i,j,kfrc)+                        &
 
  246     &                        adfac*ubar_ads(i,j)*uscope(i,j)
 
  254            ad_vbar(i,j,kfrc)=ad_vbar(i,j,kfrc)+                        &
 
  255     &                        adfac*vbar_ads(i,j)*vscope(i,j)
 
  267              ad_u(i,j,k,nfrc)=ad_u(i,j,k,nfrc)+                        &
 
  268     &                         adfac*u_ads(i,j,k)*uscope(i,j)
 
  278              ad_v(i,j,k,nfrc)=ad_v(i,j,k,nfrc)+                        &
 
  279     &                         adfac*v_ads(i,j,k)*vscope(i,j)
 
  296              ad_wvel(i,j,k)=ad_wvel(i,j,k)+                            &
 
  297     &                       adfac*wvel_ads(i,j,k)*rscope(i,j)
 
  310                ad_t(i,j,k,nfrc,itrc)=ad_t(i,j,k,nfrc,itrc)+            &
 
  311     &                                adfac*t_ads(i,j,k,itrc)*          &
 
 
subroutine adsen_force_tile(ng, tile, lbi, ubi, lbj, ubj, imins, imaxs, jmins, jmaxs, knew, nnew, nstp, rscope, uscope, vscope, u_ads, v_ads, wvel_ads, t_ads, ubar_ads, vbar_ads, zeta_ads, ad_u, ad_v, ad_wvel, ad_t, ad_zt_avg1, ad_ubar, ad_vbar)