/[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.3 - (show annotations) (download)
Sun Apr 26 23:41:54 1998 UTC (26 years ago) by cnh
Branch: MAIN
CVS Tags: redigm, checkpoint1, kloop1, kloop2
Changes since 1.2: +13 -1 lines
File MIME type: text/plain
Improvements to I/O and feedback info.

1 C $Header: /u/gcmpack/models/MITgcmUV/eesupp/inc/EEPARAMS.h,v 1.2 1998/04/23 20:59:34 cnh Exp $
2 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 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 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 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
59 C Particularly weird and obscure voodoo numbers
60 C lShare - This wants to be the length in
61 C [148]-byte words of the size of
62 C the address "window" that is snooped
63 C on an SMP bus. By separating elements in
64 C the global sum buffer we can avoid generating
65 C extraneous invalidate traffic between
66 C processors. The length of this window is usually
67 C a cache line i.e. small O(64 bytes).
68 C The buffer arrays are usually short arrays
69 C and are declared REAL ARRA(lShare[148],LBUFF).
70 C Setting lShare[148] to 1 is like making these arrays
71 C one dimensional.
72 INTEGER lShare1
73 INTEGER lShare4
74 INTEGER lShare8
75 PARAMETER ( lShare1 = 8 * 32 )
76 PARAMETER ( lShare4 = 2 * 32 )
77 PARAMETER ( lShare8 = 1 * 32 )
78
79 C MAX_NO_THREADS - Maximum number of threads allowed.
80 C MAX_NO_PROCS - Maximum number of processes allowed.
81 C MAX_NO_BARRIERS - Maximum number of distinct thread "barriers"
82 INTEGER MAX_NO_THREADS
83 PARAMETER ( MAX_NO_THREADS = 16 )
84 INTEGER MAX_NO_PROCS
85 PARAMETER ( MAX_NO_PROCS = 128 )
86 INTEGER MAX_NO_BARRIERS
87 PARAMETER ( MAX_NO_BARRIERS = 1 )
88
89 C-- COMMON /EEPARAMS_L/ Execution environment public logical variables.
90 C eeBootError - Flag indicating error during multi-processing
91 C eeEndError initialisation/termination.
92 C fatalError - Flag used to indicate that the model is ended with
93 C an error
94 COMMON /EEPARAMS_L/ eeBootError, fatalError, eeEndError
95 LOGICAL eeBootError
96 LOGICAL eeEndError
97 LOGICAL fatalError
98
99 C-- COMMON /EPARAMS_I/ Execution environment public integer variables.
100 C errorMessageUnit - Fortran IO unit for error messages
101 C standardMessageUnit - Fortran IO unit for informational messages
102 C scrUnit1 - Scratch file 1 unit number
103 C scrUnit2 - Scratch file 2 unit number
104 C eeDataUnit - Unit number used for reading "execution environment" parameter file.
105 C modelDataUnit - Unit number for reading "model" parameter file.
106 C numberOfProcs - Number of processes computing in parallel
107 C pidIO - Id of process to use for I/O.
108 C myBxLo, myBxHi - Extents of domain in blocks in X and Y
109 C myByLo, myByHi that each threads is responsble for.
110 C myProcId - My own "process" id.
111 C myPx - My X coord on the proc. grid.
112 C myPy - My Y coord on the proc. grid.
113 C myXGlobalLo - My bottom-left (south-west) x-index
114 C global domain. The x-coordinate of this
115 C point in for example m or degrees is *not*
116 C specified here. A model needs to provide a
117 C mechanism for deducing that information if it
118 C is needed.
119 C myYGlobalLo - My bottom-left (south-west) y-index in
120 C global domain. The y-coordinate of this
121 C point in for example m or degrees is *not*
122 C specified here. A model needs to provide a
123 C mechanism for deducing that information if it
124 C is needed.
125 C nThreads - No. of threads
126 C nTx - No. of threads in X
127 C nTy - No. of threads in Y
128 C This assumes a simple cartesian
129 C gridding of the threads which is not required elsewhere
130 C but that makes it easier.
131 COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
132 & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
133 & numberOfProcs, pidIO, myProcId,
134 & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
135 & myBxLo, myBxHi, myByLo, myByHi,
136 & nTx, nTy
137 INTEGER eeDataUnit
138 INTEGER errorMessageUnit
139 INTEGER modelDataUnit
140 INTEGER myBxLo(MAX_NO_THREADS)
141 INTEGER myBxHi(MAX_NO_THREADS)
142 INTEGER myByLo(MAX_NO_THREADS)
143 INTEGER myByHi(MAX_NO_THREADS)
144 INTEGER myProcId
145 INTEGER myPx
146 INTEGER myPy
147 INTEGER myXGlobalLo
148 INTEGER myYGlobalLo
149 INTEGER nThreads
150 INTEGER nTx
151 INTEGER nTy
152 INTEGER numberOfProcs
153 INTEGER pidIO
154 INTEGER scrUnit1
155 INTEGER scrUnit2
156 INTEGER standardMessageUnit

  ViewVC Help
Powered by ViewVC 1.1.22