/[MITgcm]/MITgcm_contrib/eh3_spgr/hs94.cs-32x32x5/code_v2/W2_EXCH2_TOPOLOGY.h
ViewVC logotype

Contents of /MITgcm_contrib/eh3_spgr/hs94.cs-32x32x5/code_v2/W2_EXCH2_TOPOLOGY.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (show annotations) (download)
Sun Oct 2 15:06:02 2005 UTC (19 years, 10 months ago) by edhill
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +12 -6 lines
File MIME type: text/plain
 o save notes

1 C $Header: /u/gcmpack/MITgcm_contrib/eh3_spgr/hs94.cs-32x32x5/code_v2/W2_EXCH2_TOPOLOGY.h,v 1.2 2005/09/28 20:52:22 edhill Exp $
2 C $Name: $
3
4 #include "W2_EXCH2_TSIZE.h"
5
6 C Tiling topology data structures header file
7 C
8 C exch2_tnx :: Size in X for each tile.
9 C exch2_tny :: Size in Y for each tile.
10 C exch2_tbasex :: Tile X offset in its sub-domain (face)
11 C exch2_tbasey :: Tile Y offset in its sub-domain (face)
12 C exch2_tglobalxlo :: Tile base X index within global index space.
13 C exch2_tglobalylo :: Tile base Y index within global index space.
14 C exch2_isWedge :: 0 if West not at domain edge, 1 if it is.
15 C exch2_isNedge :: 0 if North not at domain edge, 1 if it is.
16 C exch2_isEedge :: 0 if East not at domain edge, 1 if it is.
17 C exch2_isSedge :: 0 if South not at domain edge, 1 if it is.
18 C exch2_myFace :: Cube face number used for I/O.
19 C exch2_nNeighbours :: Tile neighbour entries count.
20 C exch2_tProc :: Rank of process owning tile
21 C . :: (filled at run time).
22 C exch2_neighbourId :: Tile number for each neighbour entry.
23 C exch2_opposingSend_record :: Record for entry in target tile send
24 C . :: list that has this tile and face
25 C . :: as its target.
26 C exch2_pi :: X index row of target to source permutation
27 C . :: matrix for each neighbour entry.
28 C exch2_pj :: Y index row of target to source permutation
29 C . :: matrix for each neighbour entry.
30 C exch2_oi :: X index element of target to source
31 C . :: offset vector for cell-centered quantities
32 C . :: of each neighbor entry.
33 C exch2_oj :: Y index element of target to source
34 C . :: offset vector for cell-centered quantities
35 C . :: of each neighbor entry.
36 C exch2_oi_f :: X index element of target to source
37 C . :: offset vector for face quantities
38 C . :: of each neighbor entry.
39 C exch2_oj_f :: Y index element of target to source
40 C . :: offset vector for face quantities
41 C . :: of each neighbor entry.
42
43 INTEGER exch2_tnx(NTILES)
44 INTEGER exch2_tny(NTILES)
45 INTEGER exch2_tbasex(NTILES)
46 INTEGER exch2_tbasey(NTILES)
47 INTEGER exch2_txglobalo(NTILES)
48 INTEGER exch2_tyglobalo(NTILES)
49 INTEGER exch2_isWedge(NTILES)
50 INTEGER exch2_isNedge(NTILES)
51 INTEGER exch2_isEedge(NTILES)
52 INTEGER exch2_isSedge(NTILES)
53 INTEGER exch2_myFace(NTILES)
54 INTEGER exch2_mydnx(NTILES)
55 INTEGER exch2_mydny(NTILES)
56 INTEGER exch2_nNeighbours(NTILES)
57 INTEGER exch2_tProc(NTILES)
58 INTEGER exch2_neighbourId(MAX_NEIGHBOURS,NTILES)
59 INTEGER exch2_opposingSend_record(MAX_NEIGHBOURS,NTILES)
60 INTEGER exch2_pi(2,MAX_NEIGHBOURS,NTILES)
61 INTEGER exch2_pj(2,MAX_NEIGHBOURS,NTILES)
62 INTEGER exch2_oi(MAX_NEIGHBOURS,NTILES)
63 INTEGER exch2_oj(MAX_NEIGHBOURS,NTILES)
64 INTEGER exch2_oi_f(MAX_NEIGHBOURS,NTILES)
65 INTEGER exch2_oj_f(MAX_NEIGHBOURS,NTILES)
66
67 C Exchange execution loop data structures
68 INTEGER exch2_itlo_c(MAX_NEIGHBOURS,NTILES)
69 INTEGER exch2_ithi_c(MAX_NEIGHBOURS,NTILES)
70 INTEGER exch2_jtlo_c(MAX_NEIGHBOURS,NTILES)
71 INTEGER exch2_jthi_c(MAX_NEIGHBOURS,NTILES)
72
73 COMMON /W2_EXCH2_TOPO_I/
74 & exch2_tnx, exch2_tny,
75 & exch2_tbasex,exch2_tbasey,
76 & exch2_txglobalo,exch2_tyglobalo,
77 & exch2_isWedge, exch2_isNedge,
78 & exch2_isEedge, exch2_isSedge,
79 & exch2_myFace, exch2_mydnx, exch2_mydny,
80 & exch2_nNeighbours,exch2_neighbourId,
81 & exch2_opposingSend_record,
82 & exch2_tProc,
83 & exch2_pi,exch2_pj,
84 & exch2_oi,exch2_oj,
85 & exch2_oi_f,exch2_oj_f
86
87 COMMON /W2_EXCH2_HALO_SPEC/
88 & exch2_itlo_c, exch2_ithi_c,
89 & exch2_jtlo_c, exch2_jthi_c
90
91 C ===== GEx =====
92 INTEGER GEx_affm(4,8)
93 INTEGER GEx_n(GEX_NEDGE_MAX,GEX_NTILE_MAX)
94 INTEGER GEx_i(3,GEX_NEDGE_MAX,GEX_NTILE_MAX)
95 INTEGER GEx_j(3,GEX_NEDGE_MAX,GEX_NTILE_MAX)
96 INTEGER GEx_ncor(4,GEX_NTILE_MAX)
97 INTEGER GEx_cinfo(3,4,GEX_NCOR_MAX,GEX_NTILE_MAX)
98
99 COMMON /W2_GEX_I/
100 & GEx_affm, GEx_n, GEx_i, GEx_j, GEx_ncor, GEx_cinfo
101
102 CEH3 ;;; Local Variables: ***
103 CEH3 ;;; mode:fortran ***
104 CEH3 ;;; End: ***
105

  ViewVC Help
Powered by ViewVC 1.1.22