/[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.16 - (show annotations) (download)
Wed Dec 15 08:29:56 2004 UTC (19 years, 4 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint57m_post, checkpoint57g_pre, checkpoint57b_post, checkpoint57g_post, checkpoint57r_post, checkpoint57d_post, checkpoint57i_post, checkpoint57n_post, checkpoint57l_post, checkpoint57f_post, checkpoint57h_pre, checkpoint57h_post, checkpoint57c_post, checkpoint57c_pre, checkpoint57e_post, checkpoint57p_post, checkpoint57q_post, eckpoint57e_pre, checkpoint57h_done, checkpoint57j_post, checkpoint57f_pre, checkpoint57o_post, checkpoint57k_post
Changes since 1.15: +2 -2 lines
File MIME type: text/plain
increased MAX_NO_PROCS to 2048

1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEPARAMS.h,v 1.15 2004/03/20 20:35:21 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 MAX_LEN_MBUF - Default message buffer max. size
19 C MAX_LEN_FNAM - Default file name max. size
20 C MAX_LEN_PREC - Default record length for reading "parameter" files
21 INTEGER MAX_LEN_MBUF
22 PARAMETER ( MAX_LEN_MBUF = 512 )
23 INTEGER MAX_LEN_FNAM
24 PARAMETER ( MAX_LEN_FNAM = 512 )
25 INTEGER MAX_LEN_PREC
26 PARAMETER ( MAX_LEN_PREC = 200 )
27
28 C SQUEEZE_RIGHT - Flag indicating right blank space removal
29 C from text field.
30 C SQUEEZE_LEFT - Flag indicating left blank space removal
31 C from text field.
32 C SQUEEZE_BOTH - Flag indicating left and right blank
33 C space removal from text field.
34 C PRINT_MAP_XY - Flag indicating to plot map as XY slices
35 C PRINT_MAP_XZ - Flag indicating to plot map as XZ slices
36 C PRINT_MAP_YZ - Flag indicating to plot map as YZ slices
37 C commentCharacter - Variable used in column 1 of parameter files to
38 C indicate comments.
39 C INDEX_I - Variable used to select an index label
40 C INDEX_J for formatted input parameters.
41 C INDEX_K
42 C INDEX_NONE
43 CHARACTER*(*) SQUEEZE_RIGHT
44 PARAMETER ( SQUEEZE_RIGHT = 'R' )
45 CHARACTER*(*) SQUEEZE_LEFT
46 PARAMETER ( SQUEEZE_LEFT = 'L' )
47 CHARACTER*(*) SQUEEZE_BOTH
48 PARAMETER ( SQUEEZE_BOTH = 'B' )
49 CHARACTER*(*) PRINT_MAP_XY
50 PARAMETER ( PRINT_MAP_XY = 'XY' )
51 CHARACTER*(*) PRINT_MAP_XZ
52 PARAMETER ( PRINT_MAP_XZ = 'XZ' )
53 CHARACTER*(*) PRINT_MAP_YZ
54 PARAMETER ( PRINT_MAP_YZ = 'YZ' )
55 CHARACTER*(*) commentCharacter
56 PARAMETER ( commentCharacter = '#' )
57 INTEGER INDEX_I
58 INTEGER INDEX_J
59 INTEGER INDEX_K
60 INTEGER INDEX_NONE
61 PARAMETER ( INDEX_I = 1,
62 & INDEX_J = 2,
63 & INDEX_K = 3,
64 & INDEX_NONE = 4 )
65
66
67 C EXCH_IGNORE_CORNERS - Flag to select ignoring or
68 C EXCH_UPDATE_CORNERS updating of corners during
69 C an edge exchange.
70 INTEGER EXCH_IGNORE_CORNERS
71 INTEGER EXCH_UPDATE_CORNERS
72 PARAMETER ( EXCH_IGNORE_CORNERS = 0,
73 & EXCH_UPDATE_CORNERS = 1 )
74
75 C FORWARD_SIMULATION
76 C REVERSE_SIMULATION
77 C TANGENT_SIMULATION
78 INTEGER FORWARD_SIMULATION
79 INTEGER REVERSE_SIMULATION
80 INTEGER TANGENT_SIMULATION
81 PARAMETER ( FORWARD_SIMULATION = 0,
82 & REVERSE_SIMULATION = 1,
83 & TANGENT_SIMULATION = 2 )
84
85
86 C Particularly weird and obscure voodoo numbers
87 C lShare - This wants to be the length in
88 C [148]-byte words of the size of
89 C the address "window" that is snooped
90 C on an SMP bus. By separating elements in
91 C the global sum buffer we can avoid generating
92 C extraneous invalidate traffic between
93 C processors. The length of this window is usually
94 C a cache line i.e. small O(64 bytes).
95 C The buffer arrays are usually short arrays
96 C and are declared REAL ARRA(lShare[148],LBUFF).
97 C Setting lShare[148] to 1 is like making these arrays
98 C one dimensional.
99 INTEGER cacheLineSize
100 INTEGER lShare1
101 INTEGER lShare4
102 INTEGER lShare8
103 PARAMETER ( cacheLineSize = 256 )
104 PARAMETER ( lShare1 = cacheLineSize )
105 PARAMETER ( lShare4 = cacheLineSize/4 )
106 PARAMETER ( lShare8 = cacheLineSize/8 )
107
108 C MAX_NO_THREADS - Maximum number of threads allowed.
109 C MAX_NO_PROCS - Maximum number of processes allowed.
110 C MAX_NO_BARRIERS - Maximum number of distinct thread "barriers"
111 INTEGER MAX_NO_THREADS
112 PARAMETER ( MAX_NO_THREADS = 32 )
113 INTEGER MAX_NO_PROCS
114 PARAMETER ( MAX_NO_PROCS = 2048 )
115 INTEGER MAX_NO_BARRIERS
116 PARAMETER ( MAX_NO_BARRIERS = 1 )
117
118 C-- COMMON /EEPARAMS_L/ Execution environment public logical variables.
119 C eeBootError - Flag indicating error during multi-processing
120 C eeEndError initialisation/termination.
121 C fatalError - Flag used to indicate that the model is ended with
122 C an error
123 C useCoupler - use Coupler for a multi-components set-up
124 COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError,
125 & useCubedSphereExchange, useCoupler
126 LOGICAL eeBootError
127 LOGICAL eeEndError
128 LOGICAL fatalError
129 LOGICAL useCubedSphereExchange
130 LOGICAL useCoupler
131
132 C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
133 C errorMessageUnit - Fortran IO unit for error messages
134 C standardMessageUnit - Fortran IO unit for informational messages
135 C scrUnit1 - Scratch file 1 unit number
136 C scrUnit2 - Scratch file 2 unit number
137 C eeDataUnit - Unit number used for reading "execution environment" parameter file.
138 C modelDataUnit - Unit number for reading "model" parameter file.
139 C numberOfProcs - Number of processes computing in parallel
140 C pidIO - Id of process to use for I/O.
141 C myBxLo, myBxHi - Extents of domain in blocks in X and Y
142 C myByLo, myByHi that each threads is responsble for.
143 C myProcId - My own "process" id.
144 C myPx - My X coord on the proc. grid.
145 C myPy - My Y coord on the proc. grid.
146 C myXGlobalLo - My bottom-left (south-west) x-index
147 C global domain. The x-coordinate of this
148 C point in for example m or degrees is *not*
149 C specified here. A model needs to provide a
150 C mechanism for deducing that information if it
151 C is needed.
152 C myYGlobalLo - My bottom-left (south-west) y-index in
153 C global domain. The y-coordinate of this
154 C point in for example m or degrees is *not*
155 C specified here. A model needs to provide a
156 C mechanism for deducing that information if it
157 C is needed.
158 C nThreads - No. of threads
159 C nTx - No. of threads in X
160 C nTy - No. of threads in Y
161 C This assumes a simple cartesian
162 C gridding of the threads which is not required elsewhere
163 C but that makes it easier.
164 C ioErrorCount - IO Error Counter. Set to zero initially and increased
165 C by one every time an IO error occurs.
166 COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
167 & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
168 & numberOfProcs, pidIO, myProcId,
169 & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
170 & myBxLo, myBxHi, myByLo, myByHi,
171 & nTx, nTy, ioErrorCount
172 INTEGER eeDataUnit
173 INTEGER errorMessageUnit
174 INTEGER ioErrorCount(MAX_NO_THREADS)
175 INTEGER modelDataUnit
176 INTEGER myBxLo(MAX_NO_THREADS)
177 INTEGER myBxHi(MAX_NO_THREADS)
178 INTEGER myByLo(MAX_NO_THREADS)
179 INTEGER myByHi(MAX_NO_THREADS)
180 INTEGER myProcId
181 INTEGER myPx
182 INTEGER myPy
183 INTEGER myXGlobalLo
184 INTEGER myYGlobalLo
185 INTEGER nThreads
186 INTEGER nTx
187 INTEGER nTy
188 INTEGER numberOfProcs
189 INTEGER pidIO
190 INTEGER scrUnit1
191 INTEGER scrUnit2
192 INTEGER standardMessageUnit
193
194 CEH3 ;;; Local Variables: ***
195 CEH3 ;;; mode:fortran ***
196 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22