/[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.9 by cnh, Tue Sep 29 18:50:55 1998 UTC revision 1.13 by adcroft, Tue Mar 14 16:16:01 2000 UTC
# 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 111  C     Under MPI selects/deselects "block Line 111  C     Under MPI selects/deselects "block
111  #define ALLOW_SYNC_COMMUNICATION  #define ALLOW_SYNC_COMMUNICATION
112  #undef  ALWAYS_USE_SYNC_COMMUNICATION  #undef  ALWAYS_USE_SYNC_COMMUNICATION
113    
114    C--   Control use of JAM routines for Artic network
115    C     These invoke optimized versions of "exchange" and "sum" that
116    C     utilize the programmable aspect of Artic cards.
117    #undef  LETS_MAKE_JAM
118    #undef  JAM_WITH_TWO_PROCS_PER_NODE
119    #ifdef LETS_MAKE_JAM
120    #define _JAMEXT _jam
121    #else
122    #define _JAMEXT
123    #endif
124    
125  C--   Control storage of floating point operands  C--   Control storage of floating point operands
126  C     On many systems it improves performance only to use  C     On many systems it improves performance only to use
127  C     8-byte precision for time stepped variables.  C     8-byte precision for time stepped variables.
# Line 129  C     performance. Line 140  C     performance.
140  #define RS_IS_REAL8  #define RS_IS_REAL8
141  #define _EXCH_XY_R4(a,b)       CALL EXCH_XY_R8 ( a, b )  #define _EXCH_XY_R4(a,b)       CALL EXCH_XY_R8 ( a, b )
142  #define _EXCH_XYZ_R4(a,b)      CALL EXCH_XYZ_R8 ( a, b )  #define _EXCH_XYZ_R4(a,b)      CALL EXCH_XYZ_R8 ( a, b )
143  #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 )
144  #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 )
145  #endif  #endif
146    
147  #ifndef REAL4_IS_SLOW  #ifndef REAL4_IS_SLOW
# Line 141  C     performance. Line 152  C     performance.
152  #define RS_IS_REAL4  #define RS_IS_REAL4
153  #define _EXCH_XY_R4(a,b)       CALL EXCH_XY_R4 ( a, b )  #define _EXCH_XY_R4(a,b)       CALL EXCH_XY_R4 ( a, b )
154  #define _EXCH_XYZ_R4(a,b)      CALL EXCH_XYZ_R4 ( a, b )  #define _EXCH_XYZ_R4(a,b)      CALL EXCH_XYZ_R4 ( a, b )
155  #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 )
156  #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 )
157  #endif  #endif
158    
159  #define _EXCH_XY_R8(a,b)       CALL EXCH_XY_R8 ( a, b )  #define _EXCH_XY_R8(a,b)       CALL EXCH_XY_R8 ( a, b )
160  #define _EXCH_XYZ_R8(a,b)      CALL EXCH_XYZ_R8 ( a, b )  #define _EXCH_XYZ_R8(a,b)      CALL EXCH_XYZ_R8 ( a, b )
161  #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 )
162  #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 )
163    
164  C--   Control use of "double" precision constants.  C--   Control use of "double" precision constants.
165  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 160  C     Use D0 where it means REAL*8 but n Line 171  C     Use D0 where it means REAL*8 but n
171  C--   Control XY periodicity in processor to grid mappings  C--   Control XY periodicity in processor to grid mappings
172  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
173  C           periodic because it has overlap regions for every box.  C           periodic because it has overlap regions for every box.
174  C           Model's simply assume that these values have been  C           Model assume that these values have been
175  C           filled in some way.  C           filled in some way.
176  #undef  ALWAYS_PREVENT_X_PERIODICITY  #undef  ALWAYS_PREVENT_X_PERIODICITY
177  #undef  ALWAYS_PREVENT_Y_PERIODICITY  #undef  ALWAYS_PREVENT_Y_PERIODICITY
# Line 168  C           filled in some way. Line 179  C           filled in some way.
179  #define CAN_PREVENT_Y_PERIODICITY  #define CAN_PREVENT_Y_PERIODICITY
180    
181  C--   Substitue for 1.D variables  C--   Substitue for 1.D variables
182  C     Sun compilers don't use 8-byte precision for literals  C     Sun compilers do not use 8-byte precision for literals
183  C     unless .Dnn is specified. CRAY vector machines use 16-byte  C     unless .Dnn is specified. CRAY vector machines use 16-byte
184  C     precision when they see .Dnn which runs very slowly!  C     precision when they see .Dnn which runs very slowly!
185  #ifdef REAL_D0_IS_16BYTES  #ifdef REAL_D0_IS_16BYTES

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22