/[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.1 - (hide 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 cnh 1.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