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

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

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


Revision 1.30 - (show annotations) (download)
Mon Jun 6 12:44:51 2011 UTC (12 years, 11 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62z, checkpoint63g, checkpoint63, checkpoint63p, checkpoint63q, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63a, checkpoint63b, checkpoint63c
Changes since 1.29: +9 -4 lines
File MIME type: text/plain
- move debugMode from PARAMS.h to EEPARAMS.h
- add more debLev (debLevC,D,E=3,4,5)

1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEPARAMS.h,v 1.29 2010/10/05 17:43:40 mlosch Exp $
2 C $Name: $
3 CBOP
4 C !ROUTINE: EEPARAMS.h
5 C !INTERFACE:
6 C include "EEPARAMS.h"
7 C
8 C !DESCRIPTION:
9 C *==========================================================*
10 C | EEPARAMS.h |
11 C *==========================================================*
12 C | Parameters for "execution environemnt". These are used |
13 C | by both the particular numerical model and the execution |
14 C | environment support routines. |
15 C *==========================================================*
16 CEOP
17
18 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 PARAMETER ( MAX_NO_THREADS = 4 )
36 INTEGER MAX_NO_PROCS
37 PARAMETER ( MAX_NO_PROCS = 4096 )
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 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 INTEGER debLevA, debLevB, debLevC, debLevD, debLevE
91 PARAMETER ( debLevZero=0 )
92 PARAMETER ( debLevA=1 )
93 PARAMETER ( debLevB=2 )
94 PARAMETER ( debLevC=3 )
95 PARAMETER ( debLevD=4 )
96 PARAMETER ( debLevE=5 )
97
98 C SQUEEZE_RIGHT - Flag indicating right blank space removal
99 C from text field.
100 C SQUEEZE_LEFT - Flag indicating left blank space removal
101 C from text field.
102 C SQUEEZE_BOTH - Flag indicating left and right blank
103 C space removal from text field.
104 C PRINT_MAP_XY - Flag indicating to plot map as XY slices
105 C PRINT_MAP_XZ - Flag indicating to plot map as XZ slices
106 C PRINT_MAP_YZ - Flag indicating to plot map as YZ slices
107 C commentCharacter - Variable used in column 1 of parameter
108 C files to indicate comments.
109 C INDEX_I - Variable used to select an index label
110 C INDEX_J for formatted input parameters.
111 C INDEX_K
112 C INDEX_NONE
113 CHARACTER*(*) SQUEEZE_RIGHT
114 PARAMETER ( SQUEEZE_RIGHT = 'R' )
115 CHARACTER*(*) SQUEEZE_LEFT
116 PARAMETER ( SQUEEZE_LEFT = 'L' )
117 CHARACTER*(*) SQUEEZE_BOTH
118 PARAMETER ( SQUEEZE_BOTH = 'B' )
119 CHARACTER*(*) PRINT_MAP_XY
120 PARAMETER ( PRINT_MAP_XY = 'XY' )
121 CHARACTER*(*) PRINT_MAP_XZ
122 PARAMETER ( PRINT_MAP_XZ = 'XZ' )
123 CHARACTER*(*) PRINT_MAP_YZ
124 PARAMETER ( PRINT_MAP_YZ = 'YZ' )
125 CHARACTER*(*) commentCharacter
126 PARAMETER ( commentCharacter = '#' )
127 INTEGER INDEX_I
128 INTEGER INDEX_J
129 INTEGER INDEX_K
130 INTEGER INDEX_NONE
131 PARAMETER ( INDEX_I = 1,
132 & INDEX_J = 2,
133 & INDEX_K = 3,
134 & INDEX_NONE = 4 )
135
136 C EXCH_IGNORE_CORNERS - Flag to select ignoring or
137 C EXCH_UPDATE_CORNERS updating of corners during
138 C an edge exchange.
139 INTEGER EXCH_IGNORE_CORNERS
140 INTEGER EXCH_UPDATE_CORNERS
141 PARAMETER ( EXCH_IGNORE_CORNERS = 0,
142 & EXCH_UPDATE_CORNERS = 1 )
143
144 C FORWARD_SIMULATION
145 C REVERSE_SIMULATION
146 C TANGENT_SIMULATION
147 INTEGER FORWARD_SIMULATION
148 INTEGER REVERSE_SIMULATION
149 INTEGER TANGENT_SIMULATION
150 PARAMETER ( FORWARD_SIMULATION = 0,
151 & REVERSE_SIMULATION = 1,
152 & TANGENT_SIMULATION = 2 )
153
154 C-- COMMON /EEPARAMS_L/ Execution environment public logical variables.
155 C eeBootError :: Flags indicating error during multi-processing
156 C eeEndError :: initialisation and termination.
157 C fatalError :: Flag used to indicate that the model is ended with an error
158 C debugMode :: controls printing of debug msg (sequence of S/R calls).
159 C useSingleCpuIO :: When useSingleCpuIO is set, MDS_WRITE_FIELD outputs from
160 C master MPI process only. -- NOTE: read from main parameter
161 C file "data" and not set until call to INI_PARMS.
162 C printMapIncludesZeros :: Flag that controls whether character constant
163 C map code ignores exact zero values.
164 C useCubedSphereExchange :: use Cubed-Sphere topology domain.
165 C useCoupler :: use Coupler for a multi-components set-up.
166 C useNEST_PARENT :: use Parent Nesting interface (pkg/nest_parent)
167 C useNEST_CHILD :: use Child Nesting interface (pkg/nest_child)
168 C useOASIS :: use OASIS-coupler for a multi-components set-up.
169 COMMON /EEPARAMS_L/
170 c & eeBootError, fatalError, eeEndError,
171 & eeBootError, eeEndError, fatalError, debugMode,
172 & useSingleCpuIO, printMapIncludesZeros,
173 & useCubedSphereExchange, useCoupler,
174 & useNEST_PARENT, useNEST_CHILD, useOASIS,
175 & useSETRLSTK, useSIGREG
176 LOGICAL eeBootError
177 LOGICAL eeEndError
178 LOGICAL fatalError
179 LOGICAL debugMode
180 LOGICAL useSingleCpuIO
181 LOGICAL printMapIncludesZeros
182 LOGICAL useCubedSphereExchange
183 LOGICAL useCoupler
184 LOGICAL useNEST_PARENT
185 LOGICAL useNEST_CHILD
186 LOGICAL useOASIS
187 LOGICAL useSETRLSTK
188 LOGICAL useSIGREG
189
190 C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
191 C errorMessageUnit - Fortran IO unit for error messages
192 C standardMessageUnit - Fortran IO unit for informational messages
193 C maxLengthPrt1D :: maximum length for printing (to Std-Msg-Unit) 1-D array
194 C scrUnit1 - Scratch file 1 unit number
195 C scrUnit2 - Scratch file 2 unit number
196 C eeDataUnit - Unit # for reading "execution environment" parameter file.
197 C modelDataUnit - Unit number for reading "model" parameter file.
198 C numberOfProcs - Number of processes computing in parallel
199 C pidIO - Id of process to use for I/O.
200 C myBxLo, myBxHi - Extents of domain in blocks in X and Y
201 C myByLo, myByHi that each threads is responsble for.
202 C myProcId - My own "process" id.
203 C myPx - My X coord on the proc. grid.
204 C myPy - My Y coord on the proc. grid.
205 C myXGlobalLo - My bottom-left (south-west) x-index
206 C global domain. The x-coordinate of this
207 C point in for example m or degrees is *not*
208 C specified here. A model needs to provide a
209 C mechanism for deducing that information if it
210 C is needed.
211 C myYGlobalLo - My bottom-left (south-west) y-index in
212 C global domain. The y-coordinate of this
213 C point in for example m or degrees is *not*
214 C specified here. A model needs to provide a
215 C mechanism for deducing that information if it
216 C is needed.
217 C nThreads - No. of threads
218 C nTx - No. of threads in X
219 C nTy - No. of threads in Y
220 C This assumes a simple cartesian
221 C gridding of the threads which is not required elsewhere
222 C but that makes it easier.
223 C ioErrorCount - IO Error Counter. Set to zero initially and increased
224 C by one every time an IO error occurs.
225 COMMON /EEPARAMS_I/
226 & errorMessageUnit, standardMessageUnit, maxLengthPrt1D,
227 & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
228 & numberOfProcs, pidIO, myProcId,
229 & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
230 & myBxLo, myBxHi, myByLo, myByHi,
231 & nTx, nTy, ioErrorCount
232 INTEGER errorMessageUnit
233 INTEGER standardMessageUnit
234 INTEGER maxLengthPrt1D
235 INTEGER scrUnit1
236 INTEGER scrUnit2
237 INTEGER eeDataUnit
238 INTEGER modelDataUnit
239 INTEGER ioErrorCount(MAX_NO_THREADS)
240 INTEGER myBxLo(MAX_NO_THREADS)
241 INTEGER myBxHi(MAX_NO_THREADS)
242 INTEGER myByLo(MAX_NO_THREADS)
243 INTEGER myByHi(MAX_NO_THREADS)
244 INTEGER myProcId
245 INTEGER myPx
246 INTEGER myPy
247 INTEGER myXGlobalLo
248 INTEGER myYGlobalLo
249 INTEGER nThreads
250 INTEGER nTx
251 INTEGER nTy
252 INTEGER numberOfProcs
253 INTEGER pidIO
254
255 CEH3 ;;; Local Variables: ***
256 CEH3 ;;; mode:fortran ***
257 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22