/[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.8 - (hide 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 cnh 1.8 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 cnh 1.1 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 cnh 1.3 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 cnh 1.1 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 cnh 1.3 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 cnh 1.1
60 cnh 1.5
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 cnh 1.1 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 cnh 1.5 INTEGER cacheLineSize
91 cnh 1.1 INTEGER lShare1
92     INTEGER lShare4
93     INTEGER lShare8
94 cnh 1.5 PARAMETER ( cacheLineSize = 256 )
95     PARAMETER ( lShare1 = cacheLineSize )
96     PARAMETER ( lShare4 = cacheLineSize/4 )
97     PARAMETER ( lShare8 = cacheLineSize/8 )
98 cnh 1.1
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 heimbach 1.7 PARAMETER ( MAX_NO_THREADS = 32 )
104 cnh 1.1 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 cnh 1.4 C ioErrorCount - IO Error Counter. Set to zero initially and increased
152     C by one every time an IO error occurs.
153 cnh 1.1 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 cnh 1.4 & nTx, nTy, ioErrorCount
159 cnh 1.1 INTEGER eeDataUnit
160     INTEGER errorMessageUnit
161 cnh 1.4 INTEGER ioErrorCount(MAX_NO_THREADS)
162 cnh 1.1 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