/[MITgcm]/MITgcm/eesupp/inc/EEPARAMS.h
ViewVC logotype

Annotation of /MITgcm/eesupp/inc/EEPARAMS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.24 - (hide annotations) (download)
Fri Jul 18 22:19:28 2008 UTC (15 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint61f, checkpoint61e, checkpoint61g, checkpoint61d, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61l, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i
Changes since 1.23: +28 -2 lines
File MIME type: text/plain
moved fixed parameters from PARAMS.h to EEPARAMS.h

1 jmc 1.24 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEPARAMS.h,v 1.23 2006/07/30 00:00:59 jmc Exp $
2 adcroft 1.9 C $Name: $
3 cnh 1.10 CBOP
4     C !ROUTINE: EEPARAMS.h
5     C !INTERFACE:
6     C include "EEPARAMS.h"
7 cnh 1.1 C
8 cnh 1.10 C !DESCRIPTION:
9     C *==========================================================*
10 cnh 1.1 C | EEPARAMS.h |
11 cnh 1.10 C *==========================================================*
12 cnh 1.1 C | Parameters for "execution environemnt". These are used |
13 heimbach 1.12 C | by both the particular numerical model and the execution |
14     C | environment support routines. |
15 cnh 1.10 C *==========================================================*
16     CEOP
17 cnh 1.1
18 edhill 1.19 C ======== EESIZE.h ========================================
19    
20     C MAX_LEN_MBUF - Default message buffer max. size
21     C MAX_LEN_FNAM - Default file name max. size
22     C MAX_LEN_PREC - Default rec len for reading "parameter" files
23    
24     INTEGER MAX_LEN_MBUF
25     PARAMETER ( MAX_LEN_MBUF = 512 )
26     INTEGER MAX_LEN_FNAM
27     PARAMETER ( MAX_LEN_FNAM = 512 )
28     INTEGER MAX_LEN_PREC
29     PARAMETER ( MAX_LEN_PREC = 200 )
30    
31     C MAX_NO_THREADS - Maximum number of threads allowed.
32     C MAX_NO_PROCS - Maximum number of processes allowed.
33     C MAX_NO_BARRIERS - Maximum number of distinct thread "barriers"
34     INTEGER MAX_NO_THREADS
35 jmc 1.23 PARAMETER ( MAX_NO_THREADS = 4 )
36 edhill 1.19 INTEGER MAX_NO_PROCS
37     PARAMETER ( MAX_NO_PROCS = 2048 )
38     INTEGER MAX_NO_BARRIERS
39     PARAMETER ( MAX_NO_BARRIERS = 1 )
40    
41     C Particularly weird and obscure voodoo numbers
42     C lShare - This wants to be the length in
43     C [148]-byte words of the size of
44     C the address "window" that is snooped
45     C on an SMP bus. By separating elements in
46     C the global sum buffer we can avoid generating
47     C extraneous invalidate traffic between
48     C processors. The length of this window is usually
49     C a cache line i.e. small O(64 bytes).
50     C The buffer arrays are usually short arrays
51     C and are declared REAL ARRA(lShare[148],LBUFF).
52     C Setting lShare[148] to 1 is like making these arrays
53     C one dimensional.
54     INTEGER cacheLineSize
55     INTEGER lShare1
56     INTEGER lShare4
57     INTEGER lShare8
58     PARAMETER ( cacheLineSize = 256 )
59     PARAMETER ( lShare1 = cacheLineSize )
60     PARAMETER ( lShare4 = cacheLineSize/4 )
61     PARAMETER ( lShare8 = cacheLineSize/8 )
62    
63     INTEGER MAX_VGS
64     PARAMETER ( MAX_VGS = 8192 )
65    
66     C ======== EESIZE.h ========================================
67    
68    
69 jmc 1.24 C Symbolic values
70     C precXXXX :: precision used for I/O
71     INTEGER precFloat32
72     PARAMETER ( precFloat32 = 32 )
73     INTEGER precFloat64
74     PARAMETER ( precFloat64 = 64 )
75    
76     C UNSET_xxx :: Used to indicate variables that have not been given a value
77     Real*8 UNSET_FLOAT8
78     PARAMETER ( UNSET_FLOAT8 = 1.234567D5 )
79     Real*4 UNSET_FLOAT4
80     PARAMETER ( UNSET_FLOAT4 = 1.234567E5 )
81     _RL UNSET_RL
82     PARAMETER ( UNSET_RL = 1.234567D5 )
83     _RS UNSET_RS
84     PARAMETER ( UNSET_RS = 1.234567D5 )
85     INTEGER UNSET_I
86     PARAMETER ( UNSET_I = 123456789 )
87    
88     C debLevX :: used to decide when to print debug messages
89     INTEGER debLevZero
90     PARAMETER ( debLevZero=0 )
91     INTEGER debLevA
92     PARAMETER ( debLevA=1 )
93     INTEGER debLevB
94     PARAMETER ( debLevB=2 )
95 cnh 1.1
96     C SQUEEZE_RIGHT - Flag indicating right blank space removal
97     C from text field.
98     C SQUEEZE_LEFT - Flag indicating left blank space removal
99     C from text field.
100     C SQUEEZE_BOTH - Flag indicating left and right blank
101     C space removal from text field.
102     C PRINT_MAP_XY - Flag indicating to plot map as XY slices
103     C PRINT_MAP_XZ - Flag indicating to plot map as XZ slices
104     C PRINT_MAP_YZ - Flag indicating to plot map as YZ slices
105 edhill 1.18 C commentCharacter - Variable used in column 1 of parameter
106     C files to indicate comments.
107 cnh 1.3 C INDEX_I - Variable used to select an index label
108     C INDEX_J for formatted input parameters.
109     C INDEX_K
110     C INDEX_NONE
111 cnh 1.1 CHARACTER*(*) SQUEEZE_RIGHT
112     PARAMETER ( SQUEEZE_RIGHT = 'R' )
113     CHARACTER*(*) SQUEEZE_LEFT
114     PARAMETER ( SQUEEZE_LEFT = 'L' )
115     CHARACTER*(*) SQUEEZE_BOTH
116     PARAMETER ( SQUEEZE_BOTH = 'B' )
117     CHARACTER*(*) PRINT_MAP_XY
118     PARAMETER ( PRINT_MAP_XY = 'XY' )
119     CHARACTER*(*) PRINT_MAP_XZ
120     PARAMETER ( PRINT_MAP_XZ = 'XZ' )
121     CHARACTER*(*) PRINT_MAP_YZ
122     PARAMETER ( PRINT_MAP_YZ = 'YZ' )
123     CHARACTER*(*) commentCharacter
124     PARAMETER ( commentCharacter = '#' )
125 cnh 1.3 INTEGER INDEX_I
126     INTEGER INDEX_J
127 jmc 1.24 INTEGER INDEX_K
128 cnh 1.3 INTEGER INDEX_NONE
129     PARAMETER ( INDEX_I = 1,
130     & INDEX_J = 2,
131     & INDEX_K = 3,
132     & INDEX_NONE = 4 )
133 cnh 1.1
134 cnh 1.5 C EXCH_IGNORE_CORNERS - Flag to select ignoring or
135     C EXCH_UPDATE_CORNERS updating of corners during
136     C an edge exchange.
137     INTEGER EXCH_IGNORE_CORNERS
138     INTEGER EXCH_UPDATE_CORNERS
139     PARAMETER ( EXCH_IGNORE_CORNERS = 0,
140     & EXCH_UPDATE_CORNERS = 1 )
141    
142     C FORWARD_SIMULATION
143     C REVERSE_SIMULATION
144 heimbach 1.11 C TANGENT_SIMULATION
145 cnh 1.5 INTEGER FORWARD_SIMULATION
146     INTEGER REVERSE_SIMULATION
147 heimbach 1.11 INTEGER TANGENT_SIMULATION
148 cnh 1.5 PARAMETER ( FORWARD_SIMULATION = 0,
149 heimbach 1.11 & REVERSE_SIMULATION = 1,
150     & TANGENT_SIMULATION = 2 )
151 cnh 1.5
152 cnh 1.1 C-- COMMON /EEPARAMS_L/ Execution environment public logical variables.
153     C eeBootError - Flag indicating error during multi-processing
154     C eeEndError initialisation/termination.
155     C fatalError - Flag used to indicate that the model is ended with
156     C an error
157 jmc 1.13 C useCoupler - use Coupler for a multi-components set-up
158 adcroft 1.9 COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError,
159 edhill 1.22 & useCubedSphereExchange, useCoupler, useSETRLSTK, useSIGREG
160 cnh 1.1 LOGICAL eeBootError
161     LOGICAL eeEndError
162     LOGICAL fatalError
163 adcroft 1.9 LOGICAL useCubedSphereExchange
164 jmc 1.13 LOGICAL useCoupler
165 edhill 1.17 LOGICAL useSETRLSTK
166 edhill 1.20 LOGICAL useSIGREG
167 cnh 1.1
168     C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
169     C errorMessageUnit - Fortran IO unit for error messages
170     C standardMessageUnit - Fortran IO unit for informational messages
171     C scrUnit1 - Scratch file 1 unit number
172     C scrUnit2 - Scratch file 2 unit number
173     C eeDataUnit - Unit number used for reading "execution environment" parameter file.
174     C modelDataUnit - Unit number for reading "model" parameter file.
175     C numberOfProcs - Number of processes computing in parallel
176     C pidIO - Id of process to use for I/O.
177     C myBxLo, myBxHi - Extents of domain in blocks in X and Y
178     C myByLo, myByHi that each threads is responsble for.
179     C myProcId - My own "process" id.
180     C myPx - My X coord on the proc. grid.
181     C myPy - My Y coord on the proc. grid.
182     C myXGlobalLo - My bottom-left (south-west) x-index
183     C global domain. The x-coordinate of this
184     C point in for example m or degrees is *not*
185     C specified here. A model needs to provide a
186     C mechanism for deducing that information if it
187     C is needed.
188     C myYGlobalLo - My bottom-left (south-west) y-index in
189     C global domain. The y-coordinate of this
190     C point in for example m or degrees is *not*
191     C specified here. A model needs to provide a
192     C mechanism for deducing that information if it
193     C is needed.
194     C nThreads - No. of threads
195     C nTx - No. of threads in X
196     C nTy - No. of threads in Y
197     C This assumes a simple cartesian
198     C gridding of the threads which is not required elsewhere
199     C but that makes it easier.
200 cnh 1.4 C ioErrorCount - IO Error Counter. Set to zero initially and increased
201     C by one every time an IO error occurs.
202 cnh 1.1 COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
203     & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
204     & numberOfProcs, pidIO, myProcId,
205     & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
206     & myBxLo, myBxHi, myByLo, myByHi,
207 cnh 1.4 & nTx, nTy, ioErrorCount
208 cnh 1.1 INTEGER eeDataUnit
209     INTEGER errorMessageUnit
210 cnh 1.4 INTEGER ioErrorCount(MAX_NO_THREADS)
211 cnh 1.1 INTEGER modelDataUnit
212     INTEGER myBxLo(MAX_NO_THREADS)
213     INTEGER myBxHi(MAX_NO_THREADS)
214     INTEGER myByLo(MAX_NO_THREADS)
215     INTEGER myByHi(MAX_NO_THREADS)
216     INTEGER myProcId
217     INTEGER myPx
218     INTEGER myPy
219     INTEGER myXGlobalLo
220     INTEGER myYGlobalLo
221     INTEGER nThreads
222     INTEGER nTx
223     INTEGER nTy
224     INTEGER numberOfProcs
225     INTEGER pidIO
226     INTEGER scrUnit1
227     INTEGER scrUnit2
228     INTEGER standardMessageUnit
229 edhill 1.15
230     CEH3 ;;; Local Variables: ***
231     CEH3 ;;; mode:fortran ***
232     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22