/[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.26 - (show annotations) (download)
Tue Nov 24 00:16:33 2009 UTC (14 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62c, checkpoint62a, checkpoint62, checkpoint62b, checkpoint61z
Changes since 1.25: +8 -3 lines
File MIME type: text/plain
incorporate modifs from Contrib/nesting_sannino/code_nest_merged

1 C $Header: /u/gcmpack/MITgcm_contrib/nesting_sannino/code_nest_merged/EEPARAMS.h,v 1.2 2009/10/23 22:00:50 sannino 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 = 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 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
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 C commentCharacter - Variable used in column 1 of parameter
106 C files to indicate comments.
107 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 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 INTEGER INDEX_I
126 INTEGER INDEX_J
127 INTEGER INDEX_K
128 INTEGER INDEX_NONE
129 PARAMETER ( INDEX_I = 1,
130 & INDEX_J = 2,
131 & INDEX_K = 3,
132 & INDEX_NONE = 4 )
133
134 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 C TANGENT_SIMULATION
145 INTEGER FORWARD_SIMULATION
146 INTEGER REVERSE_SIMULATION
147 INTEGER TANGENT_SIMULATION
148 PARAMETER ( FORWARD_SIMULATION = 0,
149 & REVERSE_SIMULATION = 1,
150 & TANGENT_SIMULATION = 2 )
151
152 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 an error
156 C printMapIncludesZeros :: Flag that controls whether character constant
157 C map code ignores exact zero values.
158 C useCoupler - use Coupler for a multi-components set-up
159 C useNEST_PARENT :: use Parent Nesting interface (pkg/nest_parent)
160 C useNEST_CHILD :: use Child Nesting interface (pkg/nest_child)
161 COMMON /EEPARAMS_L/
162 & eeBootError, fatalError, eeEndError,
163 & printMapIncludesZeros,
164 & useCubedSphereExchange, useCoupler,
165 & useNEST_PARENT, useNEST_CHILD,
166 & useSETRLSTK, useSIGREG
167 LOGICAL eeBootError
168 LOGICAL eeEndError
169 LOGICAL fatalError
170 LOGICAL printMapIncludesZeros
171 LOGICAL useCubedSphereExchange
172 LOGICAL useCoupler
173 LOGICAL useNEST_PARENT
174 LOGICAL useNEST_CHILD
175 LOGICAL useSETRLSTK
176 LOGICAL useSIGREG
177
178 C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
179 C errorMessageUnit - Fortran IO unit for error messages
180 C standardMessageUnit - Fortran IO unit for informational messages
181 C maxLengthPrt1D :: maximum length for printing (to Std-Msg-Unit) 1-D array
182 C scrUnit1 - Scratch file 1 unit number
183 C scrUnit2 - Scratch file 2 unit number
184 C eeDataUnit - Unit # for reading "execution environment" parameter file.
185 C modelDataUnit - Unit number for reading "model" parameter file.
186 C numberOfProcs - Number of processes computing in parallel
187 C pidIO - Id of process to use for I/O.
188 C myBxLo, myBxHi - Extents of domain in blocks in X and Y
189 C myByLo, myByHi that each threads is responsble for.
190 C myProcId - My own "process" id.
191 C myPx - My X coord on the proc. grid.
192 C myPy - My Y coord on the proc. grid.
193 C myXGlobalLo - My bottom-left (south-west) x-index
194 C global domain. The x-coordinate of this
195 C point in for example m or degrees is *not*
196 C specified here. A model needs to provide a
197 C mechanism for deducing that information if it
198 C is needed.
199 C myYGlobalLo - My bottom-left (south-west) y-index in
200 C global domain. The y-coordinate of this
201 C point in for example m or degrees is *not*
202 C specified here. A model needs to provide a
203 C mechanism for deducing that information if it
204 C is needed.
205 C nThreads - No. of threads
206 C nTx - No. of threads in X
207 C nTy - No. of threads in Y
208 C This assumes a simple cartesian
209 C gridding of the threads which is not required elsewhere
210 C but that makes it easier.
211 C ioErrorCount - IO Error Counter. Set to zero initially and increased
212 C by one every time an IO error occurs.
213 COMMON /EEPARAMS_I/
214 & errorMessageUnit, standardMessageUnit, maxLengthPrt1D,
215 & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
216 & numberOfProcs, pidIO, myProcId,
217 & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
218 & myBxLo, myBxHi, myByLo, myByHi,
219 & nTx, nTy, ioErrorCount
220 INTEGER errorMessageUnit
221 INTEGER standardMessageUnit
222 INTEGER maxLengthPrt1D
223 INTEGER scrUnit1
224 INTEGER scrUnit2
225 INTEGER eeDataUnit
226 INTEGER modelDataUnit
227 INTEGER ioErrorCount(MAX_NO_THREADS)
228 INTEGER myBxLo(MAX_NO_THREADS)
229 INTEGER myBxHi(MAX_NO_THREADS)
230 INTEGER myByLo(MAX_NO_THREADS)
231 INTEGER myByHi(MAX_NO_THREADS)
232 INTEGER myProcId
233 INTEGER myPx
234 INTEGER myPy
235 INTEGER myXGlobalLo
236 INTEGER myYGlobalLo
237 INTEGER nThreads
238 INTEGER nTx
239 INTEGER nTy
240 INTEGER numberOfProcs
241 INTEGER pidIO
242
243 CEH3 ;;; Local Variables: ***
244 CEH3 ;;; mode:fortran ***
245 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22