/[MITgcm]/MITgcm/eesupp/inc/EEPARAMS.h
ViewVC logotype

Annotation of /MITgcm/eesupp/inc/EEPARAMS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.6 - (hide annotations) (download)
Wed Jun 21 19:37:13 2000 UTC (23 years, 9 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint29, checkpoint31, checkpoint30
Changes since 1.5: +2 -2 lines
File MIME type: text/plain
Changed MAX_NO_THREADS to 1 since we now use this to declare
work arrays.

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

  ViewVC Help
Powered by ViewVC 1.1.22