1 |
% $Header: $ |
2 |
% $Name: $ |
3 |
|
4 |
\begin{verbatim} |
5 |
1 C $Header: /u/gcmpack/models/MITgcmUV/verification/exp0/code/SIZE.h,v 1.3 2001/02/04 14:38:52 cnh Exp $ |
6 |
2 C $Name: checkpoint39 $ |
7 |
3 C |
8 |
4 C /==========================================================\ |
9 |
5 C | SIZE.h Declare size of underlying computational grid. | |
10 |
6 C |==========================================================| |
11 |
7 C | The design here support a three-dimensional model grid | |
12 |
8 C | with indices I,J and K. The three-dimensional domain | |
13 |
9 C | is comprised of nPx*nSx blocks of size sNx along one axis| |
14 |
10 C | nPy*nSy blocks of size sNy along another axis and one | |
15 |
11 C | block of size Nz along the final axis. | |
16 |
12 C | Blocks have overlap regions of size OLx and OLy along the| |
17 |
13 C | dimensions that are subdivided. | |
18 |
14 C \==========================================================/ |
19 |
15 C Voodoo numbers controlling data layout. |
20 |
16 C sNx - No. X points in sub-grid. |
21 |
17 C sNy - No. Y points in sub-grid. |
22 |
18 C OLx - Overlap extent in X. |
23 |
19 C OLy - Overlat extent in Y. |
24 |
20 C nSx - No. sub-grids in X. |
25 |
21 C nSy - No. sub-grids in Y. |
26 |
22 C nPx - No. of processes to use in X. |
27 |
23 C nPy - No. of processes to use in Y. |
28 |
24 C Nx - No. points in X for the total domain. |
29 |
25 C Ny - No. points in Y for the total domain. |
30 |
26 C Nr - No. points in R for full process domain. |
31 |
27 INTEGER sNx |
32 |
28 INTEGER sNy |
33 |
29 INTEGER OLx |
34 |
30 INTEGER OLy |
35 |
31 INTEGER nSx |
36 |
32 INTEGER nSy |
37 |
33 INTEGER nPx |
38 |
34 INTEGER nPy |
39 |
35 INTEGER Nx |
40 |
36 INTEGER Ny |
41 |
37 INTEGER Nr |
42 |
38 PARAMETER ( |
43 |
39 & sNx = 60, |
44 |
40 & sNy = 60, |
45 |
41 & OLx = 3, |
46 |
42 & OLy = 3, |
47 |
43 & nSx = 1, |
48 |
44 & nSy = 1, |
49 |
45 & nPx = 1, |
50 |
46 & nPy = 1, |
51 |
47 & Nx = sNx*nSx*nPx, |
52 |
48 & Ny = sNy*nSy*nPy, |
53 |
49 & Nr = 1) |
54 |
|
55 |
50 C MAX_OLX - Set to the maximum overlap region size of any array |
56 |
51 C MAX_OLY that will be exchanged. Controls the sizing of exch |
57 |
52 C routine buufers. |
58 |
53 INTEGER MAX_OLX |
59 |
54 INTEGER MAX_OLY |
60 |
55 PARAMETER ( MAX_OLX = OLx, |
61 |
56 & MAX_OLY = OLy ) |
62 |
\end{verbatim} |