1 
C $Header: /u/gcmpack/MITgcm/utils/exch2/codemods/s12t_32x16/W2_EXCH2_TOPOLOGY.h,v 1.1 2008/08/01 21:19:46 jmc Exp $ 
2 
C $Name: $ 
3 

4 
C *** THIS FILE IS AUTOMATICALLY GENERATED *** 
5 
C Tiling topology data structures header file 
6 
C NTILES :: Number of tiles in this topology 
7 
C MAX_NEIGHBOURS :: Maximum number of neighbours any tile has. 
8 
C exch2_domain_nxt :: Total domain length in tiles. 
9 
C exch2_domain_nyt :: Maximum domain height in tiles. 
10 
C exch2_global_Nx :: Globalfile domain length. 
11 
C exch2_global_Ny :: Globalfile domain height. 
12 
C exch2_tNx :: Size in X for each tile. 
13 
C exch2_tNy :: Size in Y for each tile. 
14 
C exch2_tBasex :: Tile offset in X within its subdomain (cube face) 
15 
C exch2_tBasey :: Tile offset in Y within its subdomain (cube face) 
16 
C exch2_txGlobalo :: Tile base X index within global index space. 
17 
C exch2_tyGlobalo :: Tile base Y index within global index space. 
18 
C exch2_isWedge :: 1 if West is at domain edge, 0 if not. 
19 
C exch2_isNedge :: 1 if North is at domain edge, 0 if not. 
20 
C exch2_isEedge :: 1 if East is at domain edge, 0 if not. 
21 
C exch2_isSedge :: 1 if South is at domain edge, 0 if not. 
22 
C exch2_myFace :: Face number for each tile (used for I/O). 
23 
C exch2_mydNx :: Face size in X for each tile (for I/O). 
24 
C exch2_mydNy :: Face size in Y for each tile (for I/O). 
25 
C exch2_tProc :: Rank of process owning tile (filled at run time). 
26 
C exch2_nNeighbours :: Tile neighbour entries count. 
27 
C exch2_neighbourId :: Tile number for each neighbour entry. 
28 
C exch2_opposingSend:: Neighbour entry in target tile send 
29 
C :: which has this tile and neighbour as its target. 
30 
C exch2_pij(:,n,t) :: Matrix which applies to targettile indices to get 
31 
C :: sourcetile "t" indices, for neighbour entry "n". 
32 
C exch2_oi(n,t) :: Sourcetile "t" X index offset in target 
33 
C :: to source connection (neighbour entry "n"). 
34 
C exch2_oj(n,t) :: Sourcetile "t" Y index offset in target 
35 
C :: to source connection (neighbour entry "n"). 
36 
INTEGER NTILES 
37 
INTEGER MAX_NEIGHBOURS 
38 
INTEGER exch2_domain_nyt 
39 
INTEGER exch2_domain_nxt 
40 
INTEGER exch2_global_Nx 
41 
INTEGER exch2_global_Ny 
42 
PARAMETER ( NTILES = 12) 
43 
PARAMETER ( MAX_NEIGHBOURS = 5) 
44 
PARAMETER ( exch2_domain_nxt=6) 
45 
PARAMETER ( exch2_domain_nyt=2) 
46 
PARAMETER ( exch2_global_Nx = 192) 
47 
PARAMETER ( exch2_global_Ny = 32) 
48 
INTEGER exch2_tNx(NTILES) 
49 
INTEGER exch2_tNy(NTILES) 
50 
INTEGER exch2_tBasex(NTILES) 
51 
INTEGER exch2_tBasey(NTILES) 
52 
INTEGER exch2_txGlobalo(NTILES) 
53 
INTEGER exch2_tyGlobalo(NTILES) 
54 
INTEGER exch2_isWedge(NTILES) 
55 
INTEGER exch2_isNedge(NTILES) 
56 
INTEGER exch2_isEedge(NTILES) 
57 
INTEGER exch2_isSedge(NTILES) 
58 
INTEGER exch2_myFace(NTILES) 
59 
INTEGER exch2_mydNx(NTILES) 
60 
INTEGER exch2_mydNy(NTILES) 
61 
INTEGER exch2_tProc(NTILES) 
62 
INTEGER exch2_nNeighbours(NTILES) 
63 
INTEGER exch2_neighbourId(MAX_NEIGHBOURS,NTILES) 
64 
INTEGER exch2_opposingSend(MAX_NEIGHBOURS,NTILES) 
65 
INTEGER exch2_pij(4,MAX_NEIGHBOURS,NTILES) 
66 
INTEGER exch2_oi(MAX_NEIGHBOURS,NTILES) 
67 
INTEGER exch2_oj(MAX_NEIGHBOURS,NTILES) 
68 

69 
COMMON /W2_EXCH2_TOPO_I/ 
70 
& exch2_tNx, exch2_tNy, 
71 
& exch2_tBasex, exch2_tBasey, 
72 
& exch2_txGlobalo,exch2_tyGlobalo, 
73 
& exch2_isWedge, exch2_isNedge, 
74 
& exch2_isEedge, exch2_isSedge, 
75 
& exch2_myFace, exch2_mydNx, exch2_mydNy, 
76 
& exch2_tProc, 
77 
& exch2_nNeighbours, exch2_neighbourId, 
78 
& exch2_opposingSend, 
79 
& exch2_pij, 
80 
& exch2_oi, exch2_oj 
81 

82 
C Exchange execution loop data structures 
83 
C exch2_iLo,iHi(n,t) :: Xindex range of this tile "t" haloregion 
84 
C :: to be updated with neighbour entry "n". 
85 
C exch2_jLo,jHi(n,t) :: Yindex range of this tile "t" haloregion 
86 
C :: to be updated with neighbour entry "n". 
87 
INTEGER exch2_iLo(MAX_NEIGHBOURS,NTILES) 
88 
INTEGER exch2_iHi(MAX_NEIGHBOURS,NTILES) 
89 
INTEGER exch2_jLo(MAX_NEIGHBOURS,NTILES) 
90 
INTEGER exch2_jHi(MAX_NEIGHBOURS,NTILES) 
91 
COMMON /W2_EXCH2_HALO_SPEC/ 
92 
& exch2_iLo, exch2_iHi, 
93 
& exch2_jLo, exch2_jHi 
94 
