68 & LBi, UBi, LBj, UBj, LBk, UBk, &
77 integer,
intent(in) :: ng, tile
78 integer,
intent(in) :: LBi, UBi, LBj, UBj, LBk, UBk
81 real(r8),
intent(inout) :: A(LBi:,LBj:,LBk:)
83 real(r8),
intent(inout) :: A(LBi:UBi,LBj:UBj,LBk:UBk)
88 logical :: EW_exchange
89 logical :: NS_exchange
91 integer :: Imin, Imax, Jmin, Jmax
94# include "set_bounds.h"
102 ew_exchange=
ntilei(ng).eq.1
112 ns_exchange=
ntilej(ng).eq.1
133 IF (ew_exchange)
THEN
134 IF (
domain(ng)%Western_Edge(tile))
THEN
137 a(
lm(ng)+1,j,k)=a(1,j,k)
138 a(
lm(ng)+2,j,k)=a(2,j,k)
144 a(
lm(ng)+3,j,k)=a(3,j,k)
149 IF (
domain(ng)%Eastern_Edge(tile))
THEN
152 a(-2,j,k)=a(
lm(ng)-2,j,k)
153 a(-1,j,k)=a(
lm(ng)-1,j,k)
154 a( 0,j,k)=a(
lm(ng) ,j,k)
174 IF (ns_exchange)
THEN
175 IF (
domain(ng)%Southern_Edge(tile))
THEN
178 a(i,
mm(ng)+1,k)=a(i,1,k)
179 a(i,
mm(ng)+2,k)=a(i,2,k)
185 a(i,
mm(ng)+3,k)=a(i,3,k)
190 IF (
domain(ng)%Northern_Edge(tile))
THEN
193 a(i,-2,k)=a(i,
mm(ng)-2,k)
194 a(i,-1,k)=a(i,
mm(ng)-1,k)
195 a(i, 0,k)=a(i,
mm(ng) ,k)
207 IF (ew_exchange.and.ns_exchange)
THEN
208 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
210 a(
lm(ng)+1,
mm(ng)+1,k)=a(1,1,k)
211 a(
lm(ng)+1,
mm(ng)+2,k)=a(1,2,k)
212 a(
lm(ng)+2,
mm(ng)+1,k)=a(2,1,k)
213 a(
lm(ng)+2,
mm(ng)+2,k)=a(2,2,k)
217 a(
lm(ng)+1,
mm(ng)+3,k)=a(1,3,k)
218 a(
lm(ng)+2,
mm(ng)+3,k)=a(2,3,k)
219 a(
lm(ng)+3,
mm(ng)+1,k)=a(3,1,k)
220 a(
lm(ng)+3,
mm(ng)+2,k)=a(3,2,k)
221 a(
lm(ng)+3,
mm(ng)+3,k)=a(3,3,k)
225 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
227 a(-2,
mm(ng)+1,k)=a(
lm(ng)-2,1,k)
228 a(-1,
mm(ng)+1,k)=a(
lm(ng)-1,1,k)
229 a( 0,
mm(ng)+1,k)=a(
lm(ng) ,1,k)
230 a(-2,
mm(ng)+2,k)=a(
lm(ng)-2,2,k)
231 a(-1,
mm(ng)+2,k)=a(
lm(ng)-1,2,k)
232 a( 0,
mm(ng)+2,k)=a(
lm(ng) ,2,k)
236 a(-2,
mm(ng)+3,k)=a(
lm(ng)-2,3,k)
237 a(-1,
mm(ng)+3,k)=a(
lm(ng)-1,3,k)
238 a( 0,
mm(ng)+3,k)=a(
lm(ng) ,3,k)
242 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
244 a(
lm(ng)+1,-2,k)=a(1,
mm(ng)-2,k)
245 a(
lm(ng)+1,-1,k)=a(1,
mm(ng)-1,k)
246 a(
lm(ng)+1, 0,k)=a(1,
mm(ng) ,k)
247 a(
lm(ng)+2,-2,k)=a(2,
mm(ng)-2,k)
248 a(
lm(ng)+2,-1,k)=a(2,
mm(ng)-1,k)
249 a(
lm(ng)+2, 0,k)=a(2,
mm(ng) ,k)
253 a(
lm(ng)+3,-2,k)=a(3,
mm(ng)-2,k)
254 a(
lm(ng)+3,-1,k)=a(3,
mm(ng)-1,k)
255 a(
lm(ng)+3, 0,k)=a(3,
mm(ng) ,k)
259 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
261 a(-2,-2,k)=a(
lm(ng)-2,
mm(ng)-2,k)
262 a(-2,-1,k)=a(
lm(ng)-2,
mm(ng)-1,k)
263 a(-2, 0,k)=a(
lm(ng)-2,
mm(ng) ,k)
264 a(-1,-2,k)=a(
lm(ng)-1,
mm(ng)-2,k)
265 a(-1,-1,k)=a(
lm(ng)-1,
mm(ng)-1,k)
266 a(-1, 0,k)=a(
lm(ng)-1,
mm(ng) ,k)
267 a( 0,-2,k)=a(
lm(ng) ,
mm(ng)-2,k)
268 a( 0,-1,k)=a(
lm(ng) ,
mm(ng)-1,k)
269 a( 0, 0,k)=a(
lm(ng) ,
mm(ng) ,k)
281 & LBi, UBi, LBj, UBj, LBk, UBk, &
290 integer,
intent(in) :: ng, tile
291 integer,
intent(in) :: LBi, UBi, LBj, UBj, LBk, UBk
294 real(r8),
intent(inout) :: A(LBi:,LBj:,LBk:)
296 real(r8),
intent(inout) :: A(LBi:UBi,LBj:UBj,LBk:UBk)
301 logical :: EW_exchange
302 logical :: NS_exchange
304 integer :: Imin, Imax, Jmin, Jmax
307# include "set_bounds.h"
315 ew_exchange=
ntilei(ng).eq.1
325 ns_exchange=
ntilej(ng).eq.1
346 IF (ew_exchange)
THEN
347 IF (
domain(ng)%Western_Edge(tile))
THEN
350 a(
lm(ng)+1,j,k)=a(1,j,k)
351 a(
lm(ng)+2,j,k)=a(2,j,k)
357 a(
lm(ng)+3,j,k)=a(3,j,k)
362 IF (
domain(ng)%Eastern_Edge(tile))
THEN
365 a(-2,j,k)=a(
lm(ng)-2,j,k)
366 a(-1,j,k)=a(
lm(ng)-1,j,k)
367 a( 0,j,k)=a(
lm(ng) ,j,k)
387 IF (ns_exchange)
THEN
388 IF (
domain(ng)%Southern_Edge(tile))
THEN
391 a(i,
mm(ng)+1,k)=a(i,1,k)
392 a(i,
mm(ng)+2,k)=a(i,2,k)
398 a(i,
mm(ng)+3,k)=a(i,3,k)
403 IF (
domain(ng)%Northern_Edge(tile))
THEN
406 a(i,-2,k)=a(i,
mm(ng)-2,k)
407 a(i,-1,k)=a(i,
mm(ng)-1,k)
408 a(i, 0,k)=a(i,
mm(ng) ,k)
420 IF (ew_exchange.and.ns_exchange)
THEN
421 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
423 a(
lm(ng)+1,
mm(ng)+1,k)=a(1,1,k)
424 a(
lm(ng)+1,
mm(ng)+2,k)=a(1,2,k)
425 a(
lm(ng)+2,
mm(ng)+1,k)=a(2,1,k)
426 a(
lm(ng)+2,
mm(ng)+2,k)=a(2,2,k)
430 a(
lm(ng)+1,
mm(ng)+3,k)=a(1,3,k)
431 a(
lm(ng)+2,
mm(ng)+3,k)=a(2,3,k)
432 a(
lm(ng)+3,
mm(ng)+1,k)=a(3,1,k)
433 a(
lm(ng)+3,
mm(ng)+2,k)=a(3,2,k)
434 a(
lm(ng)+3,
mm(ng)+3,k)=a(3,3,k)
438 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
440 a(-2,
mm(ng)+1,k)=a(
lm(ng)-2,1,k)
441 a(-1,
mm(ng)+1,k)=a(
lm(ng)-1,1,k)
442 a( 0,
mm(ng)+1,k)=a(
lm(ng) ,1,k)
443 a(-2,
mm(ng)+2,k)=a(
lm(ng)-2,2,k)
444 a(-1,
mm(ng)+2,k)=a(
lm(ng)-1,2,k)
445 a( 0,
mm(ng)+2,k)=a(
lm(ng) ,2,k)
449 a(-2,
mm(ng)+3,k)=a(
lm(ng)-2,3,k)
450 a(-1,
mm(ng)+3,k)=a(
lm(ng)-1,3,k)
451 a( 0,
mm(ng)+3,k)=a(
lm(ng) ,3,k)
455 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
457 a(
lm(ng)+1,-2,k)=a(1,
mm(ng)-2,k)
458 a(
lm(ng)+1,-1,k)=a(1,
mm(ng)-1,k)
459 a(
lm(ng)+1, 0,k)=a(1,
mm(ng) ,k)
460 a(
lm(ng)+2,-2,k)=a(2,
mm(ng)-2,k)
461 a(
lm(ng)+2,-1,k)=a(2,
mm(ng)-1,k)
462 a(
lm(ng)+2, 0,k)=a(2,
mm(ng) ,k)
466 a(
lm(ng)+3,-2,k)=a(3,
mm(ng)-2,k)
467 a(
lm(ng)+3,-1,k)=a(3,
mm(ng)-1,k)
468 a(
lm(ng)+3, 0,k)=a(3,
mm(ng) ,k)
472 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
474 a(-2,-2,k)=a(
lm(ng)-2,
mm(ng)-2,k)
475 a(-2,-1,k)=a(
lm(ng)-2,
mm(ng)-1,k)
476 a(-2, 0,k)=a(
lm(ng)-2,
mm(ng) ,k)
477 a(-1,-2,k)=a(
lm(ng)-1,
mm(ng)-2,k)
478 a(-1,-1,k)=a(
lm(ng)-1,
mm(ng)-1,k)
479 a(-1, 0,k)=a(
lm(ng)-1,
mm(ng) ,k)
480 a( 0,-2,k)=a(
lm(ng) ,
mm(ng)-2,k)
481 a( 0,-1,k)=a(
lm(ng) ,
mm(ng)-1,k)
482 a( 0, 0,k)=a(
lm(ng) ,
mm(ng) ,k)
493 & LBi, UBi, LBj, UBj, LBk, UBk, &
502 integer,
intent(in) :: ng, tile
503 integer,
intent(in) :: LBi, UBi, LBj, UBj, LBk, UBk
506 real(r8),
intent(inout) :: A(LBi:,LBj:,LBk:)
508 real(r8),
intent(inout) :: A(LBi:UBi,LBj:UBj,LBk:UBk)
513 logical :: EW_exchange
514 logical :: NS_exchange
516 integer :: Imin, Imax, Jmin, Jmax
519# include "set_bounds.h"
527 ew_exchange=
ntilei(ng).eq.1
537 ns_exchange=
ntilej(ng).eq.1
558 IF (ew_exchange)
THEN
559 IF (
domain(ng)%Western_Edge(tile))
THEN
562 a(
lm(ng)+1,j,k)=a(1,j,k)
563 a(
lm(ng)+2,j,k)=a(2,j,k)
569 a(
lm(ng)+3,j,k)=a(3,j,k)
574 IF (
domain(ng)%Eastern_Edge(tile))
THEN
577 a(-2,j,k)=a(
lm(ng)-2,j,k)
578 a(-1,j,k)=a(
lm(ng)-1,j,k)
579 a( 0,j,k)=a(
lm(ng) ,j,k)
599 IF (ns_exchange)
THEN
600 IF (
domain(ng)%Southern_Edge(tile))
THEN
603 a(i,
mm(ng)+1,k)=a(i,1,k)
604 a(i,
mm(ng)+2,k)=a(i,2,k)
610 a(i,
mm(ng)+3,k)=a(i,3,k)
615 IF (
domain(ng)%Northern_Edge(tile))
THEN
618 a(i,-2,k)=a(i,
mm(ng)-2,k)
619 a(i,-1,k)=a(i,
mm(ng)-1,k)
620 a(i, 0,k)=a(i,
mm(ng) ,k)
632 IF (ew_exchange.and.ns_exchange)
THEN
633 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
635 a(
lm(ng)+1,
mm(ng)+1,k)=a(1,1,k)
636 a(
lm(ng)+1,
mm(ng)+2,k)=a(1,2,k)
637 a(
lm(ng)+2,
mm(ng)+1,k)=a(2,1,k)
638 a(
lm(ng)+2,
mm(ng)+2,k)=a(2,2,k)
642 a(
lm(ng)+2,
mm(ng)+3,k)=a(2,3,k)
643 a(
lm(ng)+3,
mm(ng)+1,k)=a(3,1,k)
644 a(
lm(ng)+3,
mm(ng)+2,k)=a(3,2,k)
645 a(
lm(ng)+3,
mm(ng)+3,k)=a(3,3,k)
649 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
651 a(-2,
mm(ng)+1,k)=a(
lm(ng)-2,1,k)
652 a(-1,
mm(ng)+1,k)=a(
lm(ng)-1,1,k)
653 a( 0,
mm(ng)+1,k)=a(
lm(ng) ,1,k)
654 a(-2,
mm(ng)+2,k)=a(
lm(ng)-2,2,k)
655 a(-1,
mm(ng)+2,k)=a(
lm(ng)-1,2,k)
656 a( 0,
mm(ng)+2,k)=a(
lm(ng) ,2,k)
660 a(-2,
mm(ng)+3,k)=a(
lm(ng)-2,3,k)
661 a(-1,
mm(ng)+3,k)=a(
lm(ng)-1,3,k)
662 a( 0,
mm(ng)+3,k)=a(
lm(ng) ,3,k)
666 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
668 a(
lm(ng)+1,-2,k)=a(1,
mm(ng)-2,k)
669 a(
lm(ng)+1,-1,k)=a(1,
mm(ng)-1,k)
670 a(
lm(ng)+1, 0,k)=a(1,
mm(ng) ,k)
671 a(
lm(ng)+2,-2,k)=a(2,
mm(ng)-2,k)
672 a(
lm(ng)+2,-1,k)=a(2,
mm(ng)-1,k)
673 a(
lm(ng)+2, 0,k)=a(2,
mm(ng) ,k)
677 a(
lm(ng)+3,-2,k)=a(3,
mm(ng)-2,k)
678 a(
lm(ng)+3,-1,k)=a(3,
mm(ng)-1,k)
679 a(
lm(ng)+3, 0,k)=a(3,
mm(ng) ,k)
683 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
685 a(-2,-2,k)=a(
lm(ng)-2,
mm(ng)-2,k)
686 a(-2,-1,k)=a(
lm(ng)-2,
mm(ng)-1,k)
687 a(-2, 0,k)=a(
lm(ng)-2,
mm(ng) ,k)
688 a(-1,-2,k)=a(
lm(ng)-1,
mm(ng)-2,k)
689 a(-1,-1,k)=a(
lm(ng)-1,
mm(ng)-1,k)
690 a(-1, 0,k)=a(
lm(ng)-1,
mm(ng) ,k)
691 a( 0,-2,k)=a(
lm(ng) ,
mm(ng)-2,k)
692 a( 0,-1,k)=a(
lm(ng) ,
mm(ng)-1,k)
693 a( 0, 0,k)=a(
lm(ng) ,
mm(ng) ,k)
705 & LBi, UBi, LBj, UBj, LBk, UBk, &
714 integer,
intent(in) :: ng, tile
715 integer,
intent(in) :: LBi, UBi, LBj, UBj, LBk, UBk
718 real(r8),
intent(inout) :: A(LBi:,LBj:,LBk:)
720 real(r8),
intent(inout) :: A(LBi:UBi,LBj:UBj,LBk:UBk)
725 logical :: EW_exchange
726 logical :: NS_exchange
728 integer :: Imin, Imax, Jmin, Jmax
731# include "set_bounds.h"
739 ew_exchange=
ntilei(ng).eq.1
749 ns_exchange=
ntilej(ng).eq.1
770 IF (ew_exchange)
THEN
771 IF (
domain(ng)%Western_Edge(tile))
THEN
774 a(
lm(ng)+1,j,k)=a(1,j,k)
775 a(
lm(ng)+2,j,k)=a(2,j,k)
781 a(
lm(ng)+3,j,k)=a(3,j,k)
786 IF (
domain(ng)%Eastern_Edge(tile))
THEN
789 a(-2,j,k)=a(
lm(ng)-2,j,k)
790 a(-1,j,k)=a(
lm(ng)-1,j,k)
791 a( 0,j,k)=a(
lm(ng) ,j,k)
811 IF (ns_exchange)
THEN
812 IF (
domain(ng)%Southern_Edge(tile))
THEN
815 a(i,
mm(ng)+1,k)=a(i,1,k)
816 a(i,
mm(ng)+2,k)=a(i,2,k)
822 a(i,
mm(ng)+3,k)=a(i,3,k)
827 IF (
domain(ng)%Northern_Edge(tile))
THEN
830 a(i,-2,k)=a(i,
mm(ng)-2,k)
831 a(i,-1,k)=a(i,
mm(ng)-1,k)
832 a(i, 0,k)=a(i,
mm(ng) ,k)
844 IF (ew_exchange.and.ns_exchange)
THEN
845 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
847 a(
lm(ng)+1,
mm(ng)+1,k)=a(1,1,k)
848 a(
lm(ng)+1,
mm(ng)+2,k)=a(1,2,k)
849 a(
lm(ng)+2,
mm(ng)+1,k)=a(2,1,k)
850 a(
lm(ng)+2,
mm(ng)+2,k)=a(2,2,k)
854 a(
lm(ng)+1,
mm(ng)+3,k)=a(1,3,k)
855 a(
lm(ng)+2,
mm(ng)+3,k)=a(2,3,k)
856 a(
lm(ng)+3,
mm(ng)+1,k)=a(3,1,k)
857 a(
lm(ng)+3,
mm(ng)+2,k)=a(3,2,k)
858 a(
lm(ng)+3,
mm(ng)+3,k)=a(3,3,k)
862 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
864 a(-2,
mm(ng)+1,k)=a(
lm(ng)-2,1,k)
865 a(-1,
mm(ng)+1,k)=a(
lm(ng)-1,1,k)
866 a( 0,
mm(ng)+1,k)=a(
lm(ng) ,1,k)
867 a(-2,
mm(ng)+2,k)=a(
lm(ng)-2,2,k)
868 a(-1,
mm(ng)+2,k)=a(
lm(ng)-1,2,k)
869 a( 0,
mm(ng)+2,k)=a(
lm(ng) ,2,k)
873 a(-2,
mm(ng)+3,k)=a(
lm(ng)-2,3,k)
874 a(-1,
mm(ng)+3,k)=a(
lm(ng)-1,3,k)
875 a( 0,
mm(ng)+3,k)=a(
lm(ng) ,3,k)
879 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
881 a(
lm(ng)+1,-2,k)=a(1,
mm(ng)-2,k)
882 a(
lm(ng)+1,-1,k)=a(1,
mm(ng)-1,k)
883 a(
lm(ng)+1, 0,k)=a(1,
mm(ng) ,k)
884 a(
lm(ng)+2,-2,k)=a(2,
mm(ng)-2,k)
885 a(
lm(ng)+2,-1,k)=a(2,
mm(ng)-1,k)
886 a(
lm(ng)+2, 0,k)=a(2,
mm(ng) ,k)
890 a(
lm(ng)+3,-2,k)=a(3,
mm(ng)-2,k)
891 a(
lm(ng)+3,-1,k)=a(3,
mm(ng)-1,k)
892 a(
lm(ng)+3, 0,k)=a(3,
mm(ng) ,k)
896 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
898 a(-2,-2,k)=a(
lm(ng)-2,
mm(ng)-2,k)
899 a(-2,-1,k)=a(
lm(ng)-2,
mm(ng)-1,k)
900 a(-2, 0,k)=a(
lm(ng)-2,
mm(ng) ,k)
901 a(-1,-2,k)=a(
lm(ng)-1,
mm(ng)-2,k)
902 a(-1,-1,k)=a(
lm(ng)-1,
mm(ng)-1,k)
903 a(-1, 0,k)=a(
lm(ng)-1,
mm(ng) ,k)
904 a( 0,-2,k)=a(
lm(ng) ,
mm(ng)-2,k)
905 a( 0,-1,k)=a(
lm(ng) ,
mm(ng)-1,k)
906 a( 0, 0,k)=a(
lm(ng) ,
mm(ng) ,k)
918 & LBi, UBi, LBj, UBj, LBk, UBk, &
927 integer,
intent(in) :: ng, tile
928 integer,
intent(in) :: LBi, UBi, LBj, UBj, LBk, UBk
931 real(r8),
intent(inout) :: A(LBi:,LBj:,LBk:)
933 real(r8),
intent(inout) :: A(LBi:UBi,LBj:UBj,LBk:UBk)
938 logical :: EW_exchange
939 logical :: NS_exchange
941 integer :: Imin, Imax, Jmin, Jmax
944# include "set_bounds.h"
952 ew_exchange=
ntilei(ng).eq.1
962 ns_exchange=
ntilej(ng).eq.1
983 IF (ew_exchange)
THEN
984 IF (
domain(ng)%Western_Edge(tile))
THEN
987 a(
lm(ng)+1,j,k)=a(1,j,k)
988 a(
lm(ng)+2,j,k)=a(2,j,k)
994 a(
lm(ng)+3,j,k)=a(3,j,k)
999 IF (
domain(ng)%Eastern_Edge(tile))
THEN
1002 a(-2,j,k)=a(
lm(ng)-2,j,k)
1003 a(-1,j,k)=a(
lm(ng)-1,j,k)
1004 a( 0,j,k)=a(
lm(ng) ,j,k)
1024 IF (ns_exchange)
THEN
1025 IF (
domain(ng)%Southern_Edge(tile))
THEN
1028 a(i,
mm(ng)+1,k)=a(i,1,k)
1029 a(i,
mm(ng)+2,k)=a(i,2,k)
1035 a(i,
mm(ng)+3,k)=a(i,3,k)
1040 IF (
domain(ng)%Northern_Edge(tile))
THEN
1043 a(i,-2,k)=a(i,
mm(ng)-2,k)
1044 a(i,-1,k)=a(i,
mm(ng)-1,k)
1045 a(i, 0,k)=a(i,
mm(ng) ,k)
1057 IF (ew_exchange.and.ns_exchange)
THEN
1058 IF (
domain(ng)%SouthWest_Corner(tile))
THEN
1060 a(
lm(ng)+1,
mm(ng)+1,k)=a(1,1,k)
1061 a(
lm(ng)+1,
mm(ng)+2,k)=a(1,2,k)
1062 a(
lm(ng)+2,
mm(ng)+1,k)=a(2,1,k)
1063 a(
lm(ng)+2,
mm(ng)+2,k)=a(2,2,k)
1067 a(
lm(ng)+1,
mm(ng)+3,k)=a(1,3,k)
1068 a(
lm(ng)+2,
mm(ng)+3,k)=a(2,3,k)
1069 a(
lm(ng)+3,
mm(ng)+1,k)=a(3,1,k)
1070 a(
lm(ng)+3,
mm(ng)+2,k)=a(3,2,k)
1071 a(
lm(ng)+3,
mm(ng)+3,k)=a(3,3,k)
1075 IF (
domain(ng)%SouthEast_Corner(tile))
THEN
1077 a(-2,
mm(ng)+1,k)=a(
lm(ng)-2,1,k)
1078 a(-1,
mm(ng)+1,k)=a(
lm(ng)-1,1,k)
1079 a( 0,
mm(ng)+1,k)=a(
lm(ng) ,1,k)
1080 a(-2,
mm(ng)+2,k)=a(
lm(ng)-2,2,k)
1081 a(-1,
mm(ng)+2,k)=a(
lm(ng)-1,2,k)
1082 a( 0,
mm(ng)+2,k)=a(
lm(ng) ,2,k)
1086 a(-2,
mm(ng)+3,k)=a(
lm(ng)-2,3,k)
1087 a(-1,
mm(ng)+3,k)=a(
lm(ng)-1,3,k)
1088 a( 0,
mm(ng)+3,k)=a(
lm(ng) ,3,k)
1092 IF (
domain(ng)%NorthWest_Corner(tile))
THEN
1094 a(
lm(ng)+1,-2,k)=a(1,
mm(ng)-2,k)
1095 a(
lm(ng)+1,-1,k)=a(1,
mm(ng)-1,k)
1096 a(
lm(ng)+1, 0,k)=a(1,
mm(ng) ,k)
1097 a(
lm(ng)+2,-2,k)=a(2,
mm(ng)-2,k)
1098 a(
lm(ng)+2,-1,k)=a(2,
mm(ng)-1,k)
1099 a(
lm(ng)+2, 0,k)=a(2,
mm(ng) ,k)
1103 a(
lm(ng)+3,-2,k)=a(3,
mm(ng)-2,k)
1104 a(
lm(ng)+3,-1,k)=a(3,
mm(ng)-1,k)
1105 a(
lm(ng)+3, 0,k)=a(3,
mm(ng) ,k)
1109 IF (
domain(ng)%NorthEast_Corner(tile))
THEN
1111 a(-2,-2,k)=a(
lm(ng)-2,
mm(ng)-2,k)
1112 a(-2,-1,k)=a(
lm(ng)-2,
mm(ng)-1,k)
1113 a(-2, 0,k)=a(
lm(ng)-2,
mm(ng) ,k)
1114 a(-1,-2,k)=a(
lm(ng)-1,
mm(ng)-2,k)
1115 a(-1,-1,k)=a(
lm(ng)-1,
mm(ng)-1,k)
1116 a(-1, 0,k)=a(
lm(ng)-1,
mm(ng) ,k)
1117 a( 0,-2,k)=a(
lm(ng) ,
mm(ng)-2,k)
1118 a( 0,-1,k)=a(
lm(ng) ,
mm(ng)-1,k)
1119 a( 0, 0,k)=a(
lm(ng) ,
mm(ng) ,k)
subroutine exchange_u3d_tile(ng, tile, lbi, ubi, lbj, ubj, lbk, ubk, a)
subroutine exchange_p3d_tile(ng, tile, lbi, ubi, lbj, ubj, lbk, ubk, a)
subroutine exchange_r3d_tile(ng, tile, lbi, ubi, lbj, ubj, lbk, ubk, a)
subroutine exchange_v3d_tile(ng, tile, lbi, ubi, lbj, ubj, lbk, ubk, a)
subroutine exchange_w3d_tile(ng, tile, lbi, ubi, lbj, ubj, lbk, ubk, a)
type(t_domain), dimension(:), allocatable domain
integer, dimension(:), allocatable lm
integer, dimension(:), allocatable ntilei
integer, dimension(:), allocatable mm
integer, dimension(:), allocatable ntilej
logical, dimension(:), allocatable ewperiodic
logical, dimension(:), allocatable nsperiodic