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