/[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.8 - (show annotations) (download)
Sun Feb 4 14:38:41 2001 UTC (23 years, 2 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint38, c37_adj, checkpoint39, checkpoint37, checkpoint36, checkpoint35
Branch point for: pre38
Changes since 1.7: +2 -1 lines
File MIME type: text/plain
Made sure each .F and .h file had
the CVS keywords Header and Name at its start.
Most had header but very few currently have Name, so
lots of changes!

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

  ViewVC Help
Powered by ViewVC 1.1.22