1 
jmc 
1.3 
C $Header: /u/gcmpack/MITgcm/verification/tutorial_deep_convection/code/SIZE.h_mpi,v 1.2 2008/04/23 23:24:22 jmc Exp $ 
2 
jmc 
1.1 
C $Name: $ 
3 


C 
4 


C /==========================================================\ 
5 


C  SIZE.h Declare size of underlying computational grid.  
6 


C ========================================================== 
7 


C  The design here support a threedimensional model grid  
8 


C  with indices I,J and K. The threedimensional domain  
9 


C  is comprised of nPx*nSx blocks of size sNx along one axis 
10 


C  nPy*nSy blocks of size sNy along another axis and one  
11 


C  block of size Nz along the final axis.  
12 


C  Blocks have overlap regions of size OLx and OLy along the 
13 


C  dimensions that are subdivided.  
14 


C \==========================================================/ 
15 


C Voodoo numbers controlling data layout. 
16 


C sNx  No. X points in subgrid. 
17 


C sNy  No. Y points in subgrid. 
18 


C OLx  Overlap extent in X. 
19 


C OLy  Overlat extent in Y. 
20 


C nSx  No. subgrids in X. 
21 


C nSy  No. subgrids in Y. 
22 


C nPx  No. of processes to use in X. 
23 


C nPy  No. of processes to use in Y. 
24 


C Nx  No. points in X for the total domain. 
25 


C Ny  No. points in Y for the total domain. 
26 


C Nr  No. points in Z for full process domain. 
27 


INTEGER sNx 
28 


INTEGER sNy 
29 


INTEGER OLx 
30 


INTEGER OLy 
31 


INTEGER nSx 
32 


INTEGER nSy 
33 


INTEGER nPx 
34 


INTEGER nPy 
35 


INTEGER Nx 
36 


INTEGER Ny 
37 


INTEGER Nr 
38 


PARAMETER ( 
39 
jmc 
1.2 
& sNx = 50, 
40 


& sNy = 50, 
41 
jmc 
1.1 
& OLx = 2, 
42 


& OLy = 2, 
43 
jmc 
1.3 
& nSx = 1, 
44 
jmc 
1.1 
& nSy = 1, 
45 
jmc 
1.3 
& nPx = 2, 
46 
jmc 
1.1 
& nPy = 2, 
47 


& Nx = sNx*nSx*nPx, 
48 


& Ny = sNy*nSy*nPy, 
49 
jmc 
1.2 
& Nr = 50) 
50 
jmc 
1.1 

51 


C MAX_OLX  Set to the maximum overlap region size of any array 
52 


C MAX_OLY that will be exchanged. Controls the sizing of exch 
53 


C routine buufers. 
54 


INTEGER MAX_OLX 
55 


INTEGER MAX_OLY 
56 


PARAMETER ( MAX_OLX = OLx, 
57 


& MAX_OLY = OLy ) 
58 


