1 |
adcroft |
1.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} |