/[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.1 - (show annotations) (download)
Wed Apr 22 19:15:30 1998 UTC (26 years ago) by cnh
Branch: MAIN
Branch point for: cnh
File MIME type: text/plain
Initial revision

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

  ViewVC Help
Powered by ViewVC 1.1.22