/[MITgcm]/MITgcm_contrib/exch3/EX3_TOPOLOGY.h
ViewVC logotype

Contents of /MITgcm_contrib/exch3/EX3_TOPOLOGY.h

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


Revision 1.1 - (show annotations) (download)
Thu Apr 6 20:36:26 2006 UTC (18 years ago) by edhill
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
move out of the model and into MITgcm_contrib

1 C $Header: /u/gcmpack/MITgcm/pkg/ex3/EX3_TOPOLOGY.h,v 1.3 2006/02/06 21:09:54 edhill Exp $
2 C $Name: $
3
4 C Tile topology data
5 C
6 C . N
7 C . C4 E3 C3
8 C . +---------+
9 C . | |
10 C . | |
11 C . W E4 | | E2 E
12 C . | |
13 C . | |
14 C . +---------+
15 C . C1 E1 C2
16 C . S
17 C
18 C ===== "Global" Topology =====
19 C
20 C The following "global" variables define a tile topology and are
21 C invariant with respect to the model decomposition (that is, the
22 C sets of threads & MPI processes) used.
23 C
24 C ex3_affm :: The eight possible 2x2 affine matricies
25 C . for vector rotations and permutations
26 C . between two orthogonal, adjacent grids
27 C
28 C ex3_t_num :: total number of tiles
29 C ex3_t_iproc(t) :: MPI process ID for each tile
30 C ex3_t_ori(t) :: tile orientation (1=rh, -1=lh)
31 C ex3_t_nxy(t) :: number of X,Y cells in each tile
32 C
33 C ex3_f_ind(t) :: face index for each tile
34 C ex3_f_nxy(2,t) :: face number of X,Y cells
35 C ex3_f_oij(2,t) :: face i,j offsets (0 for face==tile)
36 C .
37 C ex3_e_n(t) :: number of E-neighbors
38 C ex3_e_iam(e,t) :: E-neighbor affine matrix index
39 C ex3_e_iopt(e,t) :: E-neighbor global tile index for the
40 C . opposing tile
41 C ex3_e_iope(e,t) :: E-neighbor edge index for the
42 C . opposing tile
43 C ex3_e_dat(k,d,e,t) :: E-neighbor information for each tile
44 C . / 1 --> edge-alignment flag:
45 C . | 0 : seam is NOT along
46 C . | this direction
47 C . | 1,-1 : interior is +,-
48 C . | and use OLx,OLy
49 C . k = | -ow- : use width value
50 C . | from 3 below
51 C . | 2 --> first cell index or the
52 C . | abutting *inside* cell
53 C . | 3 --> last cell index or the
54 C . | exchange width as a
55 C . \ distance and direction
56 C . d = 1,2 --> i,j directions
57 C . e = E-neighbor index
58 C . t = tile index
59 C
60 C ex3_c_n(4,t) :: number of C-neighbors at each corner
61 C ex3_c_ind(k,4,t) :: tile index for each C-neighbor
62 C ex3_c_num(k,4,t) :: tile corner number for each C-neighbor
63 C . 1 --> SW
64 C . 2 --> SE (per above diagram)
65 C . 3 --> NE
66 C . 4 --> NW
67 C ex3_c_ori(k,4,t) :: tile orientation for each C-neighbor
68 C
69 C
70 C ===== "Local" Topology =====
71 C
72 C The following "local" variables are dependent upon the particular
73 C model decomposition (threads & MPI processes) used.
74 C
75 C ex3_p_ntile :: number of tiles associated with this
76 C . (eg. MPI) process
77 C ex3_p_itile(m) :: global indicies of the tiles associated
78 C . with this MPI process [myBxLo..myBxHi]
79 C
80 C ex3_e_iopt_il(e,t) :: tile locality flag:
81 C . -1: tile is not in local memory
82 C . 1: local tile index ("bibj")
83
84 INTEGER
85 & ex3_affm(4,8)
86 INTEGER
87 & ex3_t_num,
88 & ex3_t_iproc(EX3_MAX_TILES),
89 & ex3_t_ori(EX3_MAX_TILES),
90 & ex3_t_nxy(2,EX3_MAX_TILES),
91 & ex3_f_ind(EX3_MAX_TILES),
92 & ex3_f_nxy(2,EX3_MAX_TILES),
93 & ex3_f_oij(2,EX3_MAX_TILES),
94 & ex3_e_n(EX3_MAX_TILES),
95 & ex3_e_iam(EX3_MAX_E_NBS,EX3_MAX_TILES),
96 & ex3_e_iopt(EX3_MAX_E_NBS,EX3_MAX_TILES),
97 & ex3_e_iope(EX3_MAX_E_NBS,EX3_MAX_TILES),
98 & ex3_e_dat(3,2,EX3_MAX_E_NBS,EX3_MAX_TILES),
99 & ex3_c_n(4,EX3_MAX_TILES),
100 & ex3_c_ind(EX3_MAX_C_NBS,4,EX3_MAX_TILES),
101 & ex3_c_num(EX3_MAX_C_NBS,4,EX3_MAX_TILES),
102 & ex3_c_ori(EX3_MAX_C_NBS,4,EX3_MAX_TILES)
103
104 COMMON / EX3_TOPO_GLOBAL /
105 & ex3_affm,
106 & ex3_t_num,
107 & ex3_t_iproc,
108 & ex3_t_ori,
109 & ex3_t_nxy,
110 & ex3_f_ind,
111 & ex3_f_nxy,
112 & ex3_f_oij,
113 & ex3_e_n,
114 & ex3_e_iam,
115 & ex3_e_iopt,
116 & ex3_e_iope,
117 & ex3_e_dat,
118 & ex3_c_n,
119 & ex3_c_ind,
120 & ex3_c_num,
121 & ex3_c_ori
122
123 INTEGER
124 & ex3_p_ntile,
125 & ex3_p_itile(EX3_MAX_TILES),
126 & ex3_e_iopt_il(EX3_MAX_E_NBS,EX3_MAX_TILES)
127
128 COMMON / EX3_TOPO_LOCAL /
129 & ex3_p_ntile,
130 & ex3_p_itile,
131 & ex3_e_iopt_il
132
133
134 CEH3 ;;; Local Variables: ***
135 CEH3 ;;; mode:fortran ***
136 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22