1 
C $Header: /u/gcmpack/MITgcm/verification/global_ocean.cs32x15/code/SIZE.h,v 1.4 2005/10/01 21:13:42 jmc Exp $ 
2 
C $Name: $ 
3 

4 

5 
CBOP 
6 
C !ROUTINE: SIZE.h 
7 
C !INTERFACE: 
8 
C include SIZE.h 
9 
C !DESCRIPTION: \bv 
10 
C *==========================================================* 
11 
C  SIZE.h Declare size of underlying computational grid. 
12 
C *==========================================================* 
13 
C  The design here support a threedimensional model grid 
14 
C  with indices I,J and K. The threedimensional domain 
15 
C  is comprised of nPx*nSx blocks of size sNx along one axis 
16 
C  nPy*nSy blocks of size sNy along another axis and one 
17 
C  block of size Nz along the final axis. 
18 
C  Blocks have overlap regions of size OLx and OLy along the 
19 
C  dimensions that are subdivided. 
20 
C *==========================================================* 
21 
C \ev 
22 
CEOP 
23 
C Voodoo numbers controlling data layout. 
24 
C sNx :: No. X points in subgrid. 
25 
C sNy :: No. Y points in subgrid. 
26 
C OLx :: Overlap extent in X. 
27 
C OLy :: Overlat extent in Y. 
28 
C nSx :: No. subgrids in X. 
29 
C nSy :: No. subgrids in Y. 
30 
C nPx :: No. of processes to use in X. 
31 
C nPy :: No. of processes to use in Y. 
32 
C Nx :: No. points in X for the total domain. 
33 
C Ny :: No. points in Y for the total domain. 
34 
C Nr :: No. points in Z for full process domain. 
35 
INTEGER sNx 
36 
INTEGER sNy 
37 
INTEGER OLx 
38 
INTEGER OLy 
39 
INTEGER nSx 
40 
INTEGER nSy 
41 
INTEGER nPx 
42 
INTEGER nPy 
43 
INTEGER Nx 
44 
INTEGER Ny 
45 
INTEGER Nr 
46 
C Note: the 4 testexperiments (input, input.thsice, input.viscA4 and 
47 
C input.icedyn ) have different minimum Overlapsize requirement: 
48 
C input & input.thsice : work with Olx=Oly=2 (= absolute minimum size) ; 
49 
C input.viscA4 : needs at least Olx=Oly=3 (for biharmonic viscosity) ; 
50 
C input.icedyn : needs at least Olx=Oly=4 (CSgrid multidimensional Advect.) 
51 
PARAMETER ( 
52 
& sNx = 32, 
53 
& sNy = 32, 
54 
& OLx = 4, 
55 
& OLy = 4, 
56 
& nSx = 3, 
57 
& nSy = 1, 
58 
& nPx = 2, 
59 
& nPy = 1, 
60 
& Nx = sNx*nSx*nPx, 
61 
& Ny = sNy*nSy*nPy, 
62 
& Nr = 15) 
63 

64 
C MAX_OLX  Set to the maximum overlap region size of any array 
65 
C MAX_OLY that will be exchanged. Controls the sizing of exch 
66 
C routine buufers. 
67 
INTEGER MAX_OLX 
68 
INTEGER MAX_OLY 
69 
PARAMETER ( MAX_OLX = OLx, 
70 
& MAX_OLY = OLy ) 