/[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.22 - (show annotations) (download)
Thu Jan 12 03:24:09 2006 UTC (18 years, 5 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint58b_post, checkpoint58, checkpoint58f_post, checkpoint58d_post, checkpoint58a_post, checkpoint58m_post, checkpoint58e_post, checkpoint58k_post, checkpoint58l_post, checkpoint58g_post, checkpoint58h_post, checkpoint58j_post, checkpoint58i_post, checkpoint58c_post
Changes since 1.21: +2 -4 lines
File MIME type: text/plain
make embed_files act more like a normal package per JMC's suggestions

1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEPARAMS.h,v 1.21 2006/01/11 06:02:31 edhill 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 = 32 )
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
70 C SQUEEZE_RIGHT - Flag indicating right blank space removal
71 C from text field.
72 C SQUEEZE_LEFT - Flag indicating left blank space removal
73 C from text field.
74 C SQUEEZE_BOTH - Flag indicating left and right blank
75 C space removal from text field.
76 C PRINT_MAP_XY - Flag indicating to plot map as XY slices
77 C PRINT_MAP_XZ - Flag indicating to plot map as XZ slices
78 C PRINT_MAP_YZ - Flag indicating to plot map as YZ slices
79 C commentCharacter - Variable used in column 1 of parameter
80 C files to indicate comments.
81 C INDEX_I - Variable used to select an index label
82 C INDEX_J for formatted input parameters.
83 C INDEX_K
84 C INDEX_NONE
85 CHARACTER*(*) SQUEEZE_RIGHT
86 PARAMETER ( SQUEEZE_RIGHT = 'R' )
87 CHARACTER*(*) SQUEEZE_LEFT
88 PARAMETER ( SQUEEZE_LEFT = 'L' )
89 CHARACTER*(*) SQUEEZE_BOTH
90 PARAMETER ( SQUEEZE_BOTH = 'B' )
91 CHARACTER*(*) PRINT_MAP_XY
92 PARAMETER ( PRINT_MAP_XY = 'XY' )
93 CHARACTER*(*) PRINT_MAP_XZ
94 PARAMETER ( PRINT_MAP_XZ = 'XZ' )
95 CHARACTER*(*) PRINT_MAP_YZ
96 PARAMETER ( PRINT_MAP_YZ = 'YZ' )
97 CHARACTER*(*) commentCharacter
98 PARAMETER ( commentCharacter = '#' )
99 INTEGER INDEX_I
100 INTEGER INDEX_J
101 INTEGER INDEX_K
102 INTEGER INDEX_NONE
103 PARAMETER ( INDEX_I = 1,
104 & INDEX_J = 2,
105 & INDEX_K = 3,
106 & INDEX_NONE = 4 )
107
108 C EXCH_IGNORE_CORNERS - Flag to select ignoring or
109 C EXCH_UPDATE_CORNERS updating of corners during
110 C an edge exchange.
111 INTEGER EXCH_IGNORE_CORNERS
112 INTEGER EXCH_UPDATE_CORNERS
113 PARAMETER ( EXCH_IGNORE_CORNERS = 0,
114 & EXCH_UPDATE_CORNERS = 1 )
115
116 C FORWARD_SIMULATION
117 C REVERSE_SIMULATION
118 C TANGENT_SIMULATION
119 INTEGER FORWARD_SIMULATION
120 INTEGER REVERSE_SIMULATION
121 INTEGER TANGENT_SIMULATION
122 PARAMETER ( FORWARD_SIMULATION = 0,
123 & REVERSE_SIMULATION = 1,
124 & TANGENT_SIMULATION = 2 )
125
126 C-- COMMON /EEPARAMS_L/ Execution environment public logical variables.
127 C eeBootError - Flag indicating error during multi-processing
128 C eeEndError initialisation/termination.
129 C fatalError - Flag used to indicate that the model is ended with
130 C an error
131 C useCoupler - use Coupler for a multi-components set-up
132 COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError,
133 & useCubedSphereExchange, useCoupler, useSETRLSTK, useSIGREG
134 LOGICAL eeBootError
135 LOGICAL eeEndError
136 LOGICAL fatalError
137 LOGICAL useCubedSphereExchange
138 LOGICAL useCoupler
139 LOGICAL useSETRLSTK
140 LOGICAL useSIGREG
141
142 C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
143 C errorMessageUnit - Fortran IO unit for error messages
144 C standardMessageUnit - Fortran IO unit for informational messages
145 C scrUnit1 - Scratch file 1 unit number
146 C scrUnit2 - Scratch file 2 unit number
147 C eeDataUnit - Unit number used for reading "execution environment" parameter file.
148 C modelDataUnit - Unit number for reading "model" parameter file.
149 C numberOfProcs - Number of processes computing in parallel
150 C pidIO - Id of process to use for I/O.
151 C myBxLo, myBxHi - Extents of domain in blocks in X and Y
152 C myByLo, myByHi that each threads is responsble for.
153 C myProcId - My own "process" id.
154 C myPx - My X coord on the proc. grid.
155 C myPy - My Y coord on the proc. grid.
156 C myXGlobalLo - My bottom-left (south-west) x-index
157 C global domain. The x-coordinate of this
158 C point in for example m or degrees is *not*
159 C specified here. A model needs to provide a
160 C mechanism for deducing that information if it
161 C is needed.
162 C myYGlobalLo - My bottom-left (south-west) y-index in
163 C global domain. The y-coordinate of this
164 C point in for example m or degrees is *not*
165 C specified here. A model needs to provide a
166 C mechanism for deducing that information if it
167 C is needed.
168 C nThreads - No. of threads
169 C nTx - No. of threads in X
170 C nTy - No. of threads in Y
171 C This assumes a simple cartesian
172 C gridding of the threads which is not required elsewhere
173 C but that makes it easier.
174 C ioErrorCount - IO Error Counter. Set to zero initially and increased
175 C by one every time an IO error occurs.
176 COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
177 & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
178 & numberOfProcs, pidIO, myProcId,
179 & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
180 & myBxLo, myBxHi, myByLo, myByHi,
181 & nTx, nTy, ioErrorCount
182 INTEGER eeDataUnit
183 INTEGER errorMessageUnit
184 INTEGER ioErrorCount(MAX_NO_THREADS)
185 INTEGER modelDataUnit
186 INTEGER myBxLo(MAX_NO_THREADS)
187 INTEGER myBxHi(MAX_NO_THREADS)
188 INTEGER myByLo(MAX_NO_THREADS)
189 INTEGER myByHi(MAX_NO_THREADS)
190 INTEGER myProcId
191 INTEGER myPx
192 INTEGER myPy
193 INTEGER myXGlobalLo
194 INTEGER myYGlobalLo
195 INTEGER nThreads
196 INTEGER nTx
197 INTEGER nTy
198 INTEGER numberOfProcs
199 INTEGER pidIO
200 INTEGER scrUnit1
201 INTEGER scrUnit2
202 INTEGER standardMessageUnit
203
204 CEH3 ;;; Local Variables: ***
205 CEH3 ;;; mode:fortran ***
206 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22