37 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
38 |
#include "W2_EXCH2_SIZE.h" |
#include "W2_EXCH2_SIZE.h" |
39 |
#include "W2_EXCH2_TOPOLOGY.h" |
#include "W2_EXCH2_TOPOLOGY.h" |
40 |
#ifdef W2_FILL_NULL_REGIONS |
c#ifdef W2_FILL_NULL_REGIONS |
41 |
#include "W2_EXCH2_PARAMS.h" |
c#include "W2_EXCH2_PARAMS.h" |
42 |
#endif |
c#endif |
43 |
|
|
44 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
45 |
C == Argument list variables == |
C == Argument list variables == |
75 |
|
|
76 |
C-- First call the exchanges for the two components |
C-- First call the exchanges for the two components |
77 |
|
|
78 |
CALL EXCH2_RX1_CUBE( uPhi, 'T ', |
CALL EXCH2_RX1_CUBE( uPhi, .FALSE., 'T ', |
79 |
I OLw, OLe, OLs, OLn, myNz, |
I OLw, OLe, OLs, OLn, myNz, |
80 |
I exchWidthX, exchWidthY, |
I exchWidthX, exchWidthY, |
81 |
I FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid ) |
I EXCH_IGNORE_CORNERS, myThid ) |
82 |
CALL EXCH2_RX1_CUBE( uPhi, 'T ', |
CALL EXCH2_RX1_CUBE( uPhi, .FALSE., 'T ', |
83 |
I OLw, OLe, OLs, OLn, myNz, |
I OLw, OLe, OLs, OLn, myNz, |
84 |
I exchWidthX, exchWidthY, |
I exchWidthX, exchWidthY, |
85 |
I FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid ) |
I EXCH_UPDATE_CORNERS, myThid ) |
86 |
|
|
87 |
CALL EXCH2_RX1_CUBE( vPhi, 'T ', |
CALL EXCH2_RX1_CUBE( vPhi, .FALSE., 'T ', |
88 |
I OLw, OLe, OLs, OLn, myNz, |
I OLw, OLe, OLs, OLn, myNz, |
89 |
I exchWidthX, exchWidthY, |
I exchWidthX, exchWidthY, |
90 |
I FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid ) |
I EXCH_IGNORE_CORNERS, myThid ) |
91 |
CALL EXCH2_RX1_CUBE( vPhi, 'T ', |
CALL EXCH2_RX1_CUBE( vPhi, .FALSE., 'T ', |
92 |
I OLw, OLe, OLs, OLn, myNz, |
I OLw, OLe, OLs, OLn, myNz, |
93 |
I exchWidthX, exchWidthY, |
I exchWidthX, exchWidthY, |
94 |
I FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid ) |
I EXCH_UPDATE_CORNERS, myThid ) |
95 |
|
|
96 |
C- note: can substitute the low-level S/R calls above with: |
C- note: can substitute the low-level S/R calls above with: |
97 |
c CALL EXCH2_3D_RX( uPhi, myNz, myThid ) |
c CALL EXCH2_3D_RX( uPhi, myNz, myThid ) |
112 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
113 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
114 |
|
|
115 |
C- Now choose what to do at each edge of the halo based on which face |
C- Choose what to do at each edge of the halo based on which face we are |
|
C (we assume that bj is always=1) |
|
116 |
myTile = W2_myTileList(bi,bj) |
myTile = W2_myTileList(bi,bj) |
117 |
myFace = exch2_myFace(myTile) |
myFace = exch2_myFace(myTile) |
118 |
|
|