90 & LBi, UBi, LBj, UBj, &
91 & IminS, ImaxS, JminS, JmaxS, &
103 & ad_t, ad_u, ad_v, &
105 & ad_ubar, ad_vbar, &
108 & ad_ubar, ad_vbar, &
115 & ad_t_sol, ad_u_sol, ad_v_sol, &
117 & ad_ubar_sol, ad_vbar_sol, &
127 integer,
intent(in) :: ng, tile
128 integer,
intent(in) :: LBi, UBi, LBj, UBj
129 integer,
intent(in) :: IminS, ImaxS, JminS, JmaxS
130 integer,
intent(in) :: Kfrc
131 integer,
intent(in) :: Nfrc
135 real(r8),
intent(inout) :: f_t(LBi:,LBj:,:,:)
136 real(r8),
intent(inout) :: f_u(LBi:,LBj:,:)
137 real(r8),
intent(inout) :: f_v(LBi:,LBj:,:)
139 real(r8),
intent(inout) :: f_ubar(LBi:,LBj:)
140 real(r8),
intent(inout) :: f_vbar(LBi:,LBj:)
143 real(r8),
intent(inout) :: f_ubar(LBi:,LBj:)
144 real(r8),
intent(inout) :: f_vbar(LBi:,LBj:)
146 real(r8),
intent(inout) :: f_zeta(LBi:,LBj:)
148 real(r8),
intent(inout) :: ad_t(LBi:,LBj:,:,:,:)
149 real(r8),
intent(inout) :: ad_u(LBi:,LBj:,:,:)
150 real(r8),
intent(inout) :: ad_v(LBi:,LBj:,:,:)
152 real(r8),
intent(inout) :: ad_ubar(LBi:,LBj:,:)
153 real(r8),
intent(inout) :: ad_vbar(LBi:,LBj:,:)
156 real(r8),
intent(inout) :: ad_ubar(LBi:,LBj:,:)
157 real(r8),
intent(inout) :: ad_vbar(LBi:,LBj:,:)
160 real(r8),
intent(inout) :: ad_Zt_avg1(LBi:,LBj:)
162 real(r8),
intent(inout) :: ad_zeta(LBi:,LBj:,:)
164 real(r8),
intent(inout) :: ad_t_sol(LBi:,LBj:,:,:)
165 real(r8),
intent(inout) :: ad_u_sol(LBi:,LBj:,:)
166 real(r8),
intent(inout) :: ad_v_sol(LBi:,LBj:,:)
168 real(r8),
intent(inout) :: ad_ubar_sol(LBi:,LBj:)
169 real(r8),
intent(inout) :: ad_vbar_sol(LBi:,LBj:)
171 real(r8),
intent(inout) :: ad_zeta_sol(LBi:,LBj:)
174 real(r8),
intent(inout) :: f_t(LBi:UBi,LBj:UBj,N(ng),NT(ng))
175 real(r8),
intent(inout) :: f_u(LBi:UBi,LBj:UBj,N(ng))
176 real(r8),
intent(inout) :: f_v(LBi:UBi,LBj:UBj,N(ng))
178 real(r8),
intent(inout) :: f_ubar(LBi:UBi,LBj:UBj)
179 real(r8),
intent(inout) :: f_vbar(LBi:UBi,LBj:UBj)
182 real(r8),
intent(inout) :: f_ubar(LBi:UBi,LBj:UBj)
183 real(r8),
intent(inout) :: f_vbar(LBi:UBi,LBj:UBj)
185 real(r8),
intent(inout) :: f_zeta(LBi:UBi,LBj:UBj)
187 real(r8),
intent(inout) :: ad_t(LBi:UBi,LBj:UBj,N(ng),3,NT(ng))
188 real(r8),
intent(inout) :: ad_u(LBi:UBi,LBj:UBj,N(ng),2)
189 real(r8),
intent(inout) :: ad_v(LBi:UBi,LBj:UBj,N(ng),2)
191 real(r8),
intent(inout) :: ad_ubar(LBi:UBi,LBj:UBj,:)
192 real(r8),
intent(inout) :: ad_vbar(LBi:UBi,LBj:UBj,:)
195 real(r8),
intent(inout) :: ad_ubar(LBi:UBi,LBj:UBj,:)
196 real(r8),
intent(inout) :: ad_vbar(LBi:UBi,LBj:UBj,:)
199 real(r8),
intent(inout) :: ad_Zt_avg1(LBi:UBi,LBj:UBj)
201 real(r8),
intent(inout) :: ad_zeta(LBi:UBi,LBj:UBj,:)
203 real(r8),
intent(inout) :: ad_t_sol(LBi:UBi,LBj:UBj,N(ng),NT(ng))
204 real(r8),
intent(inout) :: ad_u_sol(LBi:UBi,LBj:UBj,N(ng))
205 real(r8),
intent(inout) :: ad_v_sol(LBi:UBi,LBj:UBj,N(ng))
207 real(r8),
intent(inout) :: ad_ubar_sol(LBi:UBi,LBj:UBj)
208 real(r8),
intent(inout) :: ad_vbar_sol(LBi:UBi,LBj:UBj)
210 real(r8),
intent(inout) :: ad_zeta_sol(LBi:UBi,LBj:UBj)
220# include "set_bounds.h"
231 f_zeta(i,j)=f_zeta(i,j)+ad_zt_avg1(i,j)
237 f_zeta(i,j)=f_zeta(i,j)+ad_zeta(i,j,kfrc)
248 f_ubar(i,j)=f_ubar(i,j)+ad_ubar(i,j,kfrc)
254 f_vbar(i,j)=f_vbar(i,j)+ad_vbar(i,j,kfrc)
265 f_ubar(i,j)=f_ubar(i,j)+ad_ubar(i,j,1)+ad_ubar(i,j,2)
271 f_vbar(i,j)=f_vbar(i,j)+ad_vbar(i,j,1)+ad_vbar(i,j,2)
281 f_u(i,j,k)=f_u(i,j,k)+ad_u(i,j,k,nfrc)
286 f_v(i,j,k)=f_v(i,j,k)+ad_v(i,j,k,nfrc)
297 f_t(i,j,k,itrc)=f_t(i,j,k,itrc)+ &
298 & ad_t(i,j,k,nfrc,itrc)
subroutine ad_forcing_tile(ng, tile, lbi, ubi, lbj, ubj, imins, imaxs, jmins, jmaxs, kfrc, nfrc, f_t, f_u, f_v, f_ubar, f_vbar, f_zeta, ad_t, ad_u, ad_v, ad_ubar, ad_vbar, ad_zt_avg1, ad_zeta, ad_t_sol, ad_u_sol, ad_v_sol, ad_zeta_sol)