/[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.19 - (show annotations) (download)
Wed Sep 28 23:21:33 2005 UTC (18 years, 8 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57v_post, checkpint57u_post, checkpoint57w_post
Changes since 1.18: +52 -2 lines
File MIME type: text/plain
 o put EEPARAMS.h back the way JMC insists
   - and fix args to global_vec_sum.F

1 C $Header: /u/gcmpack/MITgcm/eesupp/inc/EEPARAMS.h,v 1.18 2005/09/28 01:58:25 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
134 LOGICAL eeBootError
135 LOGICAL eeEndError
136 LOGICAL fatalError
137 LOGICAL useCubedSphereExchange
138 LOGICAL useCoupler
139 LOGICAL useSETRLSTK
140
141 C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
142 C errorMessageUnit - Fortran IO unit for error messages
143 C standardMessageUnit - Fortran IO unit for informational messages
144 C scrUnit1 - Scratch file 1 unit number
145 C scrUnit2 - Scratch file 2 unit number
146 C eeDataUnit - Unit number used for reading "execution environment" parameter file.
147 C modelDataUnit - Unit number for reading "model" parameter file.
148 C numberOfProcs - Number of processes computing in parallel
149 C pidIO - Id of process to use for I/O.
150 C myBxLo, myBxHi - Extents of domain in blocks in X and Y
151 C myByLo, myByHi that each threads is responsble for.
152 C myProcId - My own "process" id.
153 C myPx - My X coord on the proc. grid.
154 C myPy - My Y coord on the proc. grid.
155 C myXGlobalLo - My bottom-left (south-west) x-index
156 C global domain. The x-coordinate of this
157 C point in for example m or degrees is *not*
158 C specified here. A model needs to provide a
159 C mechanism for deducing that information if it
160 C is needed.
161 C myYGlobalLo - My bottom-left (south-west) y-index in
162 C global domain. The y-coordinate of this
163 C point in for example m or degrees is *not*
164 C specified here. A model needs to provide a
165 C mechanism for deducing that information if it
166 C is needed.
167 C nThreads - No. of threads
168 C nTx - No. of threads in X
169 C nTy - No. of threads in Y
170 C This assumes a simple cartesian
171 C gridding of the threads which is not required elsewhere
172 C but that makes it easier.
173 C ioErrorCount - IO Error Counter. Set to zero initially and increased
174 C by one every time an IO error occurs.
175 COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
176 & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
177 & numberOfProcs, pidIO, myProcId,
178 & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
179 & myBxLo, myBxHi, myByLo, myByHi,
180 & nTx, nTy, ioErrorCount
181 INTEGER eeDataUnit
182 INTEGER errorMessageUnit
183 INTEGER ioErrorCount(MAX_NO_THREADS)
184 INTEGER modelDataUnit
185 INTEGER myBxLo(MAX_NO_THREADS)
186 INTEGER myBxHi(MAX_NO_THREADS)
187 INTEGER myByLo(MAX_NO_THREADS)
188 INTEGER myByHi(MAX_NO_THREADS)
189 INTEGER myProcId
190 INTEGER myPx
191 INTEGER myPy
192 INTEGER myXGlobalLo
193 INTEGER myYGlobalLo
194 INTEGER nThreads
195 INTEGER nTx
196 INTEGER nTy
197 INTEGER numberOfProcs
198 INTEGER pidIO
199 INTEGER scrUnit1
200 INTEGER scrUnit2
201 INTEGER standardMessageUnit
202
203 CEH3 ;;; Local Variables: ***
204 CEH3 ;;; mode:fortran ***
205 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22