/[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.4 - (show annotations) (download)
Thu May 21 18:30:45 1998 UTC (25 years, 11 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint11, checkpoint10, checkpoint13, checkpoint14, checkpoint5, checkpoint4, checkpoint7, checkpoint6, checkpoint3, checkpoint2, checkpoint9, checkpoint8, checkpoint12, branch-point-rdot
Branch point for: checkpoint7-4degree-ref, branch-rdot
Changes since 1.3: +5 -2 lines
File MIME type: text/plain
Added support for binary IO of model fields for restart and/or
postprocessing

1 C $Header: /u/gcmpack/models/MITgcmUV/eesupp/inc/EEPARAMS.h,v 1.3 1998/04/26 23:41:54 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 C ioErrorCount - IO Error Counter. Set to zero initially and increased
132 C by one every time an IO error occurs.
133 COMMON /EEPARAMS_I/ errorMessageUnit, standardMessageUnit,
134 & scrUnit1, scrUnit2, eeDataUnit, modelDataUnit,
135 & numberOfProcs, pidIO, myProcId,
136 & myPx, myPy, myXGlobalLo, myYGlobalLo, nThreads,
137 & myBxLo, myBxHi, myByLo, myByHi,
138 & nTx, nTy, ioErrorCount
139 INTEGER eeDataUnit
140 INTEGER errorMessageUnit
141 INTEGER ioErrorCount(MAX_NO_THREADS)
142 INTEGER modelDataUnit
143 INTEGER myBxLo(MAX_NO_THREADS)
144 INTEGER myBxHi(MAX_NO_THREADS)
145 INTEGER myByLo(MAX_NO_THREADS)
146 INTEGER myByHi(MAX_NO_THREADS)
147 INTEGER myProcId
148 INTEGER myPx
149 INTEGER myPy
150 INTEGER myXGlobalLo
151 INTEGER myYGlobalLo
152 INTEGER nThreads
153 INTEGER nTx
154 INTEGER nTy
155 INTEGER numberOfProcs
156 INTEGER pidIO
157 INTEGER scrUnit1
158 INTEGER scrUnit2
159 INTEGER standardMessageUnit

  ViewVC Help
Powered by ViewVC 1.1.22