71 & LBi, UBi, LBj, UBj, &
72 & IminS, ImaxS, JminS, JmaxS, &
96 integer,
intent(in) :: ng, tile
97 integer,
intent(in) :: LBi, UBi, LBj, UBj
98 integer,
intent(in) :: IminS, ImaxS, JminS, JmaxS
99 integer,
intent(in) :: Kfrc
100 integer,
intent(in) :: Nfrc
104 real(r8),
intent(in) :: f_t(LBi:,LBj:,:,:)
105 real(r8),
intent(in) :: f_u(LBi:,LBj:,:)
106 real(r8),
intent(in) :: f_v(LBi:,LBj:,:)
108 real(r8),
intent(in) :: f_ubar(LBi:,LBj:)
109 real(r8),
intent(in) :: f_vbar(LBi:,LBj:)
110 real(r8),
intent(in) :: f_zeta(LBi:,LBj:)
112 real(r8),
intent(inout) :: tl_t(LBi:,LBj:,:,:,:)
113 real(r8),
intent(inout) :: tl_u(LBi:,LBj:,:,:)
114 real(r8),
intent(inout) :: tl_v(LBi:,LBj:,:,:)
116 real(r8),
intent(inout) :: tl_ubar(LBi:,LBj:,:)
117 real(r8),
intent(inout) :: tl_vbar(LBi:,LBj:,:)
119 real(r8),
intent(inout) :: tl_Zt_avg1(LBi:,LBj:)
121 real(r8),
intent(inout) :: tl_zeta(LBi:,LBj:,:)
124 real(r8),
intent(in) :: f_t(LBi:UBi,LBj:UBj,N(ng),NT(ng))
125 real(r8),
intent(in) :: f_u(LBi:UBi,LBj:UBj,N(ng))
126 real(r8),
intent(in) :: f_v(LBi:UBi,LBj:UBj,N(ng))
128 real(r8),
intent(in) :: f_ubar(LBi:UBi,LBj:UBj)
129 real(r8),
intent(in) :: f_vbar(LBi:UBi,LBj:UBj)
130 real(r8),
intent(in) :: f_zeta(LBi:UBi,LBj:UBj)
132 real(r8),
intent(inout) :: tl_t(LBi:UBi,LBj:UBj,N(ng),3,NT(ng))
133 real(r8),
intent(inout) :: tl_u(LBi:UBi,LBj:UBj,N(ng),2)
134 real(r8),
intent(inout) :: tl_v(LBi:UBi,LBj:UBj,N(ng),2)
136 real(r8),
intent(inout) :: tl_ubar(LBi:UBi,LBj:UBj,:)
137 real(r8),
intent(inout) :: tl_vbar(LBi:UBi,LBj:UBj,:)
139 real(r8),
intent(inout) :: tl_Zt_avg1(LBi:UBi,LBj:UBj)
141 real(r8),
intent(inout) :: tl_zeta(LBi:UBi,LBj:UBj,:)
151# include "set_bounds.h"
157# ifdef WEAK_CONSTRAINT
158 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
163 10
FORMAT (3x,
'TL_FORCING - adding weak-constraint ', &
164 &
'forcing at each time-step.')
168 20
FORMAT (3x,
'TL_FORCING - added weak-constraint forcing,', &
184 tl_zt_avg1(i,j)=tl_zt_avg1(i,j)+f_zeta(i,j)
190 tl_zeta(i,j,kfrc)=tl_zeta(i,j,kfrc)+f_zeta(i,j)
199 tl_zeta(i,j,kfrc)=tl_zeta(i,j,kfrc)+f_zeta(i,j)
205 tl_zt_avg1(i,j)=tl_zt_avg1(i,j)+f_zeta(i,j)
212 tl_zeta(i,j,kfrc)=tl_zeta(i,j,kfrc)+f_zeta(i,j)
224 tl_ubar(i,j,kfrc)=tl_ubar(i,j,kfrc)+f_ubar(i,j)
230 tl_vbar(i,j,kfrc)=tl_vbar(i,j,kfrc)+f_vbar(i,j)
241 tl_u(i,j,k,nfrc)=tl_u(i,j,k,nfrc)+f_u(i,j,k)
246 tl_v(i,j,k,nfrc)=tl_v(i,j,k,nfrc)+f_v(i,j,k)
257 tl_t(i,j,k,nfrc,itrc)=tl_t(i,j,k,nfrc,itrc)+ &
subroutine tl_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, tl_t, tl_u, tl_v, tl_ubar, tl_vbar, tl_zt_avg1, tl_zeta)