29 & LBij, UBij, LBk, UBk, &
38 integer,
intent(in) :: ng, tile, boundary
39 integer,
intent(in) :: LBij, UBij, LBk, UBk
42 real(r8),
intent(inout) :: ad_A(LBij:,LBk:)
44 real(r8),
intent(inout) :: ad_A(LBij:UBij,LBk:UBk)
51# include "set_bounds.h"
57 IF (boundary.eq.
inorth)
THEN
58 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
62 ad_a(iend,k)=ad_a(iend,k)+ad_a(iend+1,k)
66 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
70 ad_a(istr,k)=ad_a(istr,k)+ad_a(istr-1,k)
76 IF (boundary.eq.
isouth)
THEN
77 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
81 ad_a(iend,k)=ad_a(iend,k)+ad_a(iend+1,k)
85 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
89 ad_a(istr,k)=ad_a(istr,k)+ad_a(istr-1,k)
99 IF (boundary.eq.
ieast)
THEN
100 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
104 ad_a(jend,k)=ad_a(jend,k)+ad_a(jend+1,k)
105 ad_a(jend+1,k)=0.0_r8
108 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
112 ad_a(jstr,k)=ad_a(jstr,k)+ad_a(jstr-1,k)
113 ad_a(jstr-1,k)=0.0_r8
118 IF (boundary.eq.
iwest)
THEN
119 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
123 ad_a(jend,k)=ad_a(jend,k)+ad_a(jend+1,k)
124 ad_a(jend+1,k)=0.0_r8
127 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
131 ad_a(jstr,k)=ad_a(jstr,k)+ad_a(jstr-1,k)
132 ad_a(jstr-1,k)=0.0_r8
143 & LBij, UBij, LBk, UBk, &
152 integer,
intent(in) :: ng, tile, boundary
153 integer,
intent(in) :: LBij, UBij, LBk, UBk
156 real(r8),
intent(inout) :: ad_A(LBij:,LBk:)
158 real(r8),
intent(inout) :: ad_A(LBij:UBij,LBk:UBk)
165# include "set_bounds.h"
171 IF (boundary.eq.
inorth)
THEN
172 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
176 ad_a(iend,k)=ad_a(iend,k)+ad_a(iend+1,k)
177 ad_a(iend+1,k)=0.0_r8
180 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
184 ad_a(istru,k)=ad_a(istru,k)+ad_a(istru-1,k)
185 ad_a(istru-1,k)=0.0_r8
190 IF (boundary.eq.
isouth)
THEN
191 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
195 ad_a(iend,k)=ad_a(iend,k)+ad_a(iend+1,k)
196 ad_a(iend+1,k)=0.0_r8
199 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
203 ad_a(istru,k)=ad_a(istru,k)+ad_a(istru-1,k)
204 ad_a(istru-1,k)=0.0_r8
213 IF (boundary.eq.
ieast)
THEN
214 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
218 ad_a(jend,k)=ad_a(jend,k)+ad_a(jend+1,k)
219 ad_a(jend+1,k)=0.0_r8
222 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
226 ad_a(jstr,k)=ad_a(jstr,k)+ad_a(jstr-1,k)
227 ad_a(jstr-1,k)=0.0_r8
232 IF (boundary.eq.
iwest)
THEN
233 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
237 ad_a(jend,k)=ad_a(jend,k)+ad_a(jend+1,k)
238 ad_a(jend+1,k)=0.0_r8
241 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
245 ad_a(jstr,k)=ad_a(jstr,k)+ad_a(jstr-1,k)
246 ad_a(jstr-1,k)=0.0_r8
257 & LBij, UBij, LBk, UBk, &
266 integer,
intent(in) :: ng, tile, boundary
267 integer,
intent(in) :: LBij, UBij, LBk, UBk
270 real(r8),
intent(inout) :: ad_A(LBij:,LBk:)
272 real(r8),
intent(inout) :: ad_A(LBij:UBij,LBk:UBk)
279# include "set_bounds.h"
285 IF (boundary.eq.
inorth)
THEN
286 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
290 ad_a(iend,k)=ad_a(iend,k)+ad_a(iend+1,k)
291 ad_a(iend+1,k)=0.0_r8
294 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
298 ad_a(istr,k)=ad_a(istr,k)+ad_a(istr-1,k)
299 ad_a(istr-1,k)=0.0_r8
304 IF (boundary.eq.
isouth)
THEN
305 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
309 ad_a(iend,k)=ad_a(iend,k)+ad_a(iend+1,k)
310 ad_a(iend+1,k)=0.0_r8
313 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
317 ad_a(istr,k)=ad_a(istr,k)+ad_a(istr-1,k)
318 ad_a(istr-1,k)=0.0_r8
327 IF (boundary.eq.
ieast)
THEN
328 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
332 ad_a(jend,k)=ad_a(jend,k)+ad_a(jend+1,k)
333 ad_a(jend+1,k)=0.0_r8
336 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
340 ad_a(jstrv,k)=ad_a(jstrv,k)+ad_a(jstrv-1,k)
341 ad_a(jstrv-1,k)=0.0_r8
346 IF (boundary.eq.
iwest)
THEN
347 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
351 ad_a(jend,k)=ad_a(jend,k)+ad_a(jend+1,k)
352 ad_a(jend+1,k)=0.0_r8
355 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
359 ad_a(jstrv,k)=ad_a(jstrv,k)+ad_a(jstrv-1,k)
360 ad_a(jstrv-1,k)=0.0_r8