28 & LBij, UBij, LBk, UBk, &
37 integer,
intent(in) :: ng, tile, boundary
38 integer,
intent(in) :: LBij, UBij, LBk, UBk
41 real(r8),
intent(inout) :: A(LBij:,LBk:)
43 real(r8),
intent(inout) :: A(LBij:UBij,LBk:UBk)
50#include "set_bounds.h"
56 IF (boundary.eq.
iwest)
THEN
57 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
62 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
69 IF (boundary.eq.
ieast)
THEN
70 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
75 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
86 IF (boundary.eq.
isouth)
THEN
87 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
92 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
99 IF (boundary.eq.
inorth)
THEN
100 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
102 a(istr-1,k)=a(istr,k)
105 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
107 a(iend+1,k)=a(iend,k)
118 & LBij, UBij, LBk, UBk, &
127 integer,
intent(in) :: ng, tile, boundary
128 integer,
intent(in) :: LBij, UBij, LBk, UBk
131 real(r8),
intent(inout) :: A(LBij:,LBk:)
133 real(r8),
intent(inout) :: A(LBij:UBij,LBk:UBk)
140#include "set_bounds.h"
146 IF (boundary.eq.
iwest)
THEN
147 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
149 a(jstr-1,k)=a(jstr,k)
152 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
154 a(jend+1,k)=a(jend,k)
159 IF (boundary.eq.
ieast)
THEN
160 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
162 a(jstr-1,k)=a(jstr,k)
165 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
167 a(jend+1,k)=a(jend,k)
176 IF (boundary.eq.
isouth)
THEN
177 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
179 a(istru-1,k)=a(istru,k)
182 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
184 a(iend+1,k)=a(iend,k)
189 IF (boundary.eq.
inorth)
THEN
190 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
192 a(istru-1,k)=a(istru,k)
195 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
197 a(iend+1,k)=a(iend,k)
208 & LBij, UBij, LBk, UBk, &
217 integer,
intent(in) :: ng, tile, boundary
218 integer,
intent(in) :: LBij, UBij, LBk, UBk
221 real(r8),
intent(inout) :: A(LBij:,LBk:)
223 real(r8),
intent(inout) :: A(LBij:UBij,LBk:UBk)
230#include "set_bounds.h"
236 IF (boundary.eq.
iwest)
THEN
237 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
239 a(jstrv-1,k)=a(jstrv,k)
242 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
244 a(jend+1,k)=a(jend,k)
249 IF (boundary.eq.
ieast)
THEN
250 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
252 a(jstrv-1,k)=a(jstrv,k)
255 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
257 a(jend+1,k)=a(jend,k)
266 IF (boundary.eq.
isouth)
THEN
267 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
269 a(istr-1,k)=a(istr,k)
272 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
274 a(iend+1,k)=a(iend,k)
279 IF (boundary.eq.
inorth)
THEN
280 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
282 a(istr-1,k)=a(istr,k)
285 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
287 a(iend+1,k)=a(iend,k)
subroutine bc_u3d_bry_tile(ng, tile, boundary, lbij, ubij, lbk, ubk, a)
subroutine bc_r3d_bry_tile(ng, tile, boundary, lbij, ubij, lbk, ubk, a)
subroutine bc_v3d_bry_tile(ng, tile, boundary, lbij, ubij, lbk, ubk, a)
type(t_domain), dimension(:), allocatable domain
integer, parameter isouth
integer, parameter inorth