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