/[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.3 by cnh, Mon Jun 8 21:42:59 1998 UTC revision 1.12 by adcroft, Fri May 21 21:57:44 1999 UTC
# Line 23  C     |       identified, rebuild the co Line 23  C     |       identified, rebuild the co
23  C     |       options set at compile time.                       |  C     |       options set at compile time.                       |
24  C     \==========================================================/  C     \==========================================================/
25    
26    #ifndef _CPP_EEOPTIONS_H_
27    #define _CPP_EEOPTIONS_H_
28    
29  C     In general the following convention applies:  C     In general the following convention applies:
30  C     ALLOW  - indicates an feature will be included but it may  C     ALLOW  - indicates an feature will be included but it may
31  C     CAN      have a run-time flag to allow it to be switched  C     CAN      have a run-time flag to allow it to be switched
# Line 82  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 123  C     performance. Line 126  C     performance.
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)    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)    CALL GLOBAL_MAX_R8( a, b )
134  #endif  #endif
135    
136  #ifndef REAL4_IS_SLOW  #ifndef REAL4_IS_SLOW
# Line 134  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)    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)    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)    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)    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 155  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 163  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  #define ALLOW_CD  #endif /* _CPP_EEOPTIONS_H_ */

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.12

  ViewVC Help
Powered by ViewVC 1.1.22