/[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.3 - (hide annotations) (download)
Sun Apr 26 23:41:54 1998 UTC (25 years, 11 months 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 cnh 1.3 C $Header: /u/gcmpack/models/MITgcmUV/eesupp/inc/EEPARAMS.h,v 1.2 1998/04/23 20:59:34 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     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