/[MITgcm]/MITgcm/eesupp/inc/CPP_EEOPTIONS.h
ViewVC logotype

Diff of /MITgcm/eesupp/inc/CPP_EEOPTIONS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.7 by adcroft, Wed Jul 15 22:05:44 1998 UTC revision 1.11 by adcroft, Tue May 18 17:34:46 1999 UTC
# Line 62  C                              system F9 Line 62  C                              system F9
62  #endif  #endif
63    
64  #ifdef TARGET_DEC  #ifdef TARGET_DEC
65  #undef  USE_KAP_THREADING  #define USE_KAP_THREADING
66  #endif  #endif
67    
68  #ifdef TARGET_SGI  #ifdef TARGET_SGI
# Line 85  C     compiler directives here. Line 85  C     compiler directives here.
85  C--   Define the mapping for the BEGIN_CRIT() and  END_CRIT() macros.  C--   Define the mapping for the BEGIN_CRIT() and  END_CRIT() macros.
86  C     On some systems we simply execute this section only using the  C     On some systems we simply execute this section only using the
87  C     master thread i.e. its not really a critical section. We can  C     master thread i.e. its not really a critical section. We can
88  C     do this because we don't use critical sections in any critical  C     do this because we do not use critical sections in any critical
89  C     sections of our code!  C     sections of our code!
90  #define _BEGIN_CRIT(a) _BEGIN_MASTER(a)  #define _BEGIN_CRIT(a) _BEGIN_MASTER(a)
91  #define _END_CRIT(a)   _END_MASTER(a)  #define _END_CRIT(a)   _END_MASTER(a)
# Line 98  C     it alone execute the BEGIN_MASTER. Line 98  C     it alone execute the BEGIN_MASTER.
98  #define _END_MASTER(a)    ENDIF  #define _END_MASTER(a)    ENDIF
99    
100  C--   Control MPI based parallel processing  C--   Control MPI based parallel processing
101  #define ALLOW_USE_MPI  #undef  ALLOW_USE_MPI
102  #define ALWAYS_USE_MPI  #undef  ALWAYS_USE_MPI
103    
104  C--   Control use of communication that might overlap computation.  C--   Control use of communication that might overlap computation.
105  C     Under MPI selects/deselects "non-blocking" sends and receives.  C     Under MPI selects/deselects "non-blocking" sends and receives.
# Line 119  C     can use 4-byte precision, reducing Line 119  C     can use 4-byte precision, reducing
119  C     boosting performance because of a smaller working  C     boosting performance because of a smaller working
120  C     set size. However, on vector CRAY systems this degrades  C     set size. However, on vector CRAY systems this degrades
121  C     performance.  C     performance.
122  #undef  REAL4_IS_SLOW  #define REAL4_IS_SLOW
123    
124  #ifdef REAL4_IS_SLOW  #ifdef REAL4_IS_SLOW
125  #define real Real*8  #define real Real*8
126  #define REAL Real*8  #define REAL Real*8
127  #define _RS  Real*8  #define _RS  Real*8
128  #define _RL  Real*8  #define _RL  Real*8
129    #define RS_IS_REAL8
130  #define _EXCH_XY_R4(a,b)       CALL EXCH_XY_R8 ( a, b )  #define _EXCH_XY_R4(a,b)       CALL EXCH_XY_R8 ( a, b )
131  #define _EXCH_XYZ_R4(a,b)      CALL EXCH_XYZ_R8 ( a, b )  #define _EXCH_XYZ_R4(a,b)      CALL EXCH_XYZ_R8 ( a, b )
132  #define _GLOBAL_SUM_R4(a,b,c)  CALL GLOBAL_SUM_R8( a, b , c)  #define _GLOBAL_SUM_R4(a,b,c)  CALL GLOBAL_SUM_R8( a, b )
133  #define _GLOBAL_MAX_R4(a,b,c)  CALL GLOBAL_MAX_R8( a, b , c)  #define _GLOBAL_MAX_R4(a,b,c)  CALL GLOBAL_MAX_R8( a, b )
134  #endif  #endif
135    
136  #ifndef REAL4_IS_SLOW  #ifndef REAL4_IS_SLOW
# Line 137  C     performance. Line 138  C     performance.
138  #define REAL Real*8  #define REAL Real*8
139  #define _RS  Real*4  #define _RS  Real*4
140  #define _RL  Real*8  #define _RL  Real*8
141    #define RS_IS_REAL4
142  #define _EXCH_XY_R4(a,b)       CALL EXCH_XY_R4 ( a, b )  #define _EXCH_XY_R4(a,b)       CALL EXCH_XY_R4 ( a, b )
143  #define _EXCH_XYZ_R4(a,b)      CALL EXCH_XYZ_R4 ( a, b )  #define _EXCH_XYZ_R4(a,b)      CALL EXCH_XYZ_R4 ( a, b )
144  #define _GLOBAL_SUM_R4(a,b,c)  CALL GLOBAL_SUM_R4( a, b , c)  #define _GLOBAL_SUM_R4(a,b,c)  CALL GLOBAL_SUM_R4( a, b )
145  #define _GLOBAL_MAX_R4(a,b,c)  CALL GLOBAL_MAX_R4( a, b , c)  #define _GLOBAL_MAX_R4(a,b,c)  CALL GLOBAL_MAX_R4( a, b )
146  #endif  #endif
147    
148  #define _EXCH_XY_R8(a,b)       CALL EXCH_XY_R8 ( a, b )  #define _EXCH_XY_R8(a,b)       CALL EXCH_XY_R8 ( a, b )
149  #define _EXCH_XYZ_R8(a,b)      CALL EXCH_XYZ_R8 ( a, b )  #define _EXCH_XYZ_R8(a,b)      CALL EXCH_XYZ_R8 ( a, b )
150  #define _GLOBAL_SUM_R8(a,b,c)  CALL GLOBAL_SUM_R8( a, b , c)  #define _GLOBAL_SUM_R8(a,b,c)  CALL GLOBAL_SUM_R8( a, b )
151  #define _GLOBAL_MAX_R8(a,b,c)  CALL GLOBAL_MAX_R8( a, b , c)  #define _GLOBAL_MAX_R8(a,b,c)  CALL GLOBAL_MAX_R8( a, b )
152    
153  C--   Control use of "double" precision constants.  C--   Control use of "double" precision constants.
154  C     Use D0 where it means REAL*8 but not where it means REAL*16  C     Use D0 where it means REAL*8 but not where it means REAL*16
# Line 158  C     Use D0 where it means REAL*8 but n Line 160  C     Use D0 where it means REAL*8 but n
160  C--   Control XY periodicity in processor to grid mappings  C--   Control XY periodicity in processor to grid mappings
161  C     Note: Model code does not need to know whether a domain is  C     Note: Model code does not need to know whether a domain is
162  C           periodic because it has overlap regions for every box.  C           periodic because it has overlap regions for every box.
163  C           Model's simply assume that these values have been  C           Model assume that these values have been
164  C           filled in some way.  C           filled in some way.
165  #undef  ALWAYS_PREVENT_X_PERIODICITY  #undef  ALWAYS_PREVENT_X_PERIODICITY
166  #undef  ALWAYS_PREVENT_Y_PERIODICITY  #undef  ALWAYS_PREVENT_Y_PERIODICITY
# Line 166  C           filled in some way. Line 168  C           filled in some way.
168  #define CAN_PREVENT_Y_PERIODICITY  #define CAN_PREVENT_Y_PERIODICITY
169    
170  C--   Substitue for 1.D variables  C--   Substitue for 1.D variables
171  C     Sun compilers don't use 8-byte precision for literals  C     Sun compilers do not use 8-byte precision for literals
172  C     unless .Dnn is specified. CRAY vector machines use 16-byte  C     unless .Dnn is specified. CRAY vector machines use 16-byte
173  C     precision when they see .Dnn which runs very slowly!  C     precision when they see .Dnn which runs very slowly!
174  #ifdef REAL_D0_IS_16BYTES  #ifdef REAL_D0_IS_16BYTES
175  #define _d  #define _d
176    #define _F64( a ) a
177  #endif  #endif
178  #ifndef REAL_D0_IS_16BYTES  #ifndef REAL_D0_IS_16BYTES
179  #define _d D  #define _d D
180    #define _F64( a ) DFLOAT( a )
181  #endif  #endif
182    
183  #endif /* _CPP_EEOPTIONS_H_ */  #endif /* _CPP_EEOPTIONS_H_ */

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22