| 1 |
molod |
1.1 |
C Tiling topology data structures header file |
| 2 |
|
|
C *** THIS FILE IS AUTOMATICALLY GENERATED *** |
| 3 |
|
|
C NTILES :: Number of tiles in this topology |
| 4 |
|
|
C MAX_NEIGHBOURS :: Maximum number of neighbours any tile has. |
| 5 |
|
|
C exch2_domain_nxt :: Total domain length in tiles. |
| 6 |
|
|
C exch2_domain_nyt :: Maximum domain height in tiles. |
| 7 |
|
|
C exch2_global_Nx :: Global-file domain length. |
| 8 |
|
|
C exch2_global_Ny :: Global-file domain height. |
| 9 |
|
|
C exch2_tnx :: Size in X for each tile. |
| 10 |
|
|
C exch2_tny :: Size in Y for each tile. |
| 11 |
|
|
C exch2_tbasex :: Tile offset in X within its sub-domain (cube face) |
| 12 |
|
|
C exch2_tbasey :: Tile offset in Y within its sub-domain (cube face) |
| 13 |
|
|
C exch2_tglobalxlo :: Tile base X index within global index space. |
| 14 |
|
|
C exch2_tglobalylo :: Tile base Y index within global index space. |
| 15 |
|
|
C exch2_isWedge :: 0 if West not at domain edge, 1 if it is. |
| 16 |
|
|
C exch2_isNedge :: 0 if North not at domain edge, 1 if it is. |
| 17 |
|
|
C exch2_isEedge :: 0 if East not at domain edge, 1 if it is. |
| 18 |
|
|
C exch2_isSedge :: 0 if South not at domain edge, 1 if it is. |
| 19 |
|
|
C exch2_myFace :: Cube face number used for I/O. |
| 20 |
|
|
C exch2_nNeighbours :: Tile neighbour entries count. |
| 21 |
|
|
C exch2_tProc :: Rank of process owning tile |
| 22 |
|
|
C :: (filled at run time). |
| 23 |
|
|
C exch2_neighbourId :: Tile number for each neighbour entry. |
| 24 |
|
|
C exch2_opposingSend_record :: Record for entry in target tile send |
| 25 |
|
|
C :: list that has this tile and face |
| 26 |
|
|
C :: as its target. |
| 27 |
|
|
C exch2_pi :: X index row of target to source permutation |
| 28 |
|
|
C :: matrix for each neighbour entry. |
| 29 |
|
|
C exch2_pj :: Y index row of target to source permutation |
| 30 |
|
|
C :: matrix for each neighbour entry. |
| 31 |
|
|
C exch2_oi :: X index element of target to source |
| 32 |
|
|
C :: offset vector for cell-centered quantities |
| 33 |
|
|
C :: of each neighbor entry. |
| 34 |
|
|
C exch2_oj :: Y index element of target to source |
| 35 |
|
|
C :: offset vector for cell-centered quantities |
| 36 |
|
|
C :: of each neighbor entry. |
| 37 |
|
|
C exch2_oi_f :: X index element of target to source |
| 38 |
|
|
C :: offset vector for face quantities |
| 39 |
|
|
C :: of each neighbor entry. |
| 40 |
|
|
C exch2_oj_f :: Y index element of target to source |
| 41 |
|
|
C :: offset vector for face quantities |
| 42 |
|
|
C :: of each neighbor entry. |
| 43 |
|
|
INTEGER NTILES |
| 44 |
|
|
INTEGER MAX_NEIGHBOURS |
| 45 |
|
|
INTEGER exch2_domain_nyt |
| 46 |
|
|
INTEGER exch2_domain_nxt |
| 47 |
|
|
INTEGER exch2_global_Nx |
| 48 |
|
|
INTEGER exch2_global_Ny |
| 49 |
|
|
PARAMETER ( NTILES = 24) |
| 50 |
|
|
PARAMETER ( MAX_NEIGHBOURS = 4) |
| 51 |
|
|
PARAMETER ( exch2_domain_nxt=12) |
| 52 |
|
|
PARAMETER ( exch2_domain_nyt=2) |
| 53 |
|
|
PARAMETER ( exch2_global_Nx = 612) |
| 54 |
|
|
PARAMETER ( exch2_global_Ny = 102) |
| 55 |
|
|
INTEGER exch2_tnx(NTILES) |
| 56 |
|
|
INTEGER exch2_tny(NTILES) |
| 57 |
|
|
INTEGER exch2_tbasex(NTILES) |
| 58 |
|
|
INTEGER exch2_tbasey(NTILES) |
| 59 |
|
|
INTEGER exch2_txglobalo(NTILES) |
| 60 |
|
|
INTEGER exch2_tyglobalo(NTILES) |
| 61 |
|
|
INTEGER exch2_isWedge(NTILES) |
| 62 |
|
|
INTEGER exch2_isNedge(NTILES) |
| 63 |
|
|
INTEGER exch2_isEedge(NTILES) |
| 64 |
|
|
INTEGER exch2_isSedge(NTILES) |
| 65 |
|
|
INTEGER exch2_myFace(NTILES) |
| 66 |
|
|
INTEGER exch2_mydnx(NTILES) |
| 67 |
|
|
INTEGER exch2_mydny(NTILES) |
| 68 |
|
|
INTEGER exch2_nNeighbours(NTILES) |
| 69 |
|
|
INTEGER exch2_tProc(NTILES) |
| 70 |
|
|
INTEGER exch2_neighbourId(MAX_NEIGHBOURS,NTILES) |
| 71 |
|
|
INTEGER exch2_opposingSend_record(MAX_NEIGHBOURS,NTILES) |
| 72 |
|
|
INTEGER exch2_pi(2,MAX_NEIGHBOURS,NTILES) |
| 73 |
|
|
INTEGER exch2_pj(2,MAX_NEIGHBOURS,NTILES) |
| 74 |
|
|
INTEGER exch2_oi(MAX_NEIGHBOURS,NTILES) |
| 75 |
|
|
INTEGER exch2_oj(MAX_NEIGHBOURS,NTILES) |
| 76 |
|
|
INTEGER exch2_oi_f(MAX_NEIGHBOURS,NTILES) |
| 77 |
|
|
INTEGER exch2_oj_f(MAX_NEIGHBOURS,NTILES) |
| 78 |
|
|
|
| 79 |
|
|
|
| 80 |
|
|
C Exchange execution loop data structures |
| 81 |
|
|
INTEGER exch2_itlo_c(MAX_NEIGHBOURS,NTILES) |
| 82 |
|
|
INTEGER exch2_ithi_c(MAX_NEIGHBOURS,NTILES) |
| 83 |
|
|
INTEGER exch2_jtlo_c(MAX_NEIGHBOURS,NTILES) |
| 84 |
|
|
INTEGER exch2_jthi_c(MAX_NEIGHBOURS,NTILES) |
| 85 |
|
|
|
| 86 |
|
|
COMMON /W2_EXCH2_TOPO_I/ |
| 87 |
|
|
& exch2_tnx, exch2_tny, |
| 88 |
|
|
& exch2_tbasex,exch2_tbasey, |
| 89 |
|
|
& exch2_txglobalo,exch2_tyglobalo, |
| 90 |
|
|
& exch2_isWedge, exch2_isNedge, |
| 91 |
|
|
& exch2_isEedge, exch2_isSedge, |
| 92 |
|
|
& exch2_myFace, exch2_mydnx, exch2_mydny, |
| 93 |
|
|
& exch2_nNeighbours,exch2_neighbourId, |
| 94 |
|
|
& exch2_opposingSend_record, |
| 95 |
|
|
& exch2_tProc, |
| 96 |
|
|
& exch2_pi,exch2_pj, |
| 97 |
|
|
& exch2_oi,exch2_oj, |
| 98 |
|
|
& exch2_oi_f,exch2_oj_f |
| 99 |
|
|
|
| 100 |
|
|
COMMON /W2_EXCH2_HALO_SPEC/ |
| 101 |
|
|
& exch2_itlo_c, exch2_ithi_c, |
| 102 |
|
|
& exch2_jtlo_c, exch2_jthi_c |
| 103 |
|
|
C *** THIS FILE IS AUTOMATICALLY GENERATED *** |