--- MITgcm/eesupp/inc/CPP_EEOPTIONS.h 1998/07/15 22:05:44 1.7 +++ MITgcm/eesupp/inc/CPP_EEOPTIONS.h 1999/05/18 17:34:46 1.11 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/eesupp/inc/CPP_EEOPTIONS.h,v 1.7 1998/07/15 22:05:44 adcroft Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/eesupp/inc/CPP_EEOPTIONS.h,v 1.11 1999/05/18 17:34:46 adcroft Exp $ C C /==========================================================\ C | CPP_EEOPTIONS.h | @@ -62,7 +62,7 @@ #endif #ifdef TARGET_DEC -#undef USE_KAP_THREADING +#define USE_KAP_THREADING #endif #ifdef TARGET_SGI @@ -85,7 +85,7 @@ C-- Define the mapping for the BEGIN_CRIT() and END_CRIT() macros. C On some systems we simply execute this section only using the C master thread i.e. its not really a critical section. We can -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 C sections of our code! #define _BEGIN_CRIT(a) _BEGIN_MASTER(a) #define _END_CRIT(a) _END_MASTER(a) @@ -98,8 +98,8 @@ #define _END_MASTER(a) ENDIF C-- Control MPI based parallel processing -#define ALLOW_USE_MPI -#define ALWAYS_USE_MPI +#undef ALLOW_USE_MPI +#undef ALWAYS_USE_MPI C-- Control use of communication that might overlap computation. C Under MPI selects/deselects "non-blocking" sends and receives. @@ -119,17 +119,18 @@ C boosting performance because of a smaller working C set size. However, on vector CRAY systems this degrades C performance. -#undef REAL4_IS_SLOW +#define REAL4_IS_SLOW #ifdef REAL4_IS_SLOW #define real Real*8 #define REAL Real*8 #define _RS Real*8 #define _RL Real*8 +#define RS_IS_REAL8 #define _EXCH_XY_R4(a,b) CALL EXCH_XY_R8 ( a, b ) #define _EXCH_XYZ_R4(a,b) CALL EXCH_XYZ_R8 ( a, b ) -#define _GLOBAL_SUM_R4(a,b,c) CALL GLOBAL_SUM_R8( a, b , c) -#define _GLOBAL_MAX_R4(a,b,c) CALL GLOBAL_MAX_R8( a, b , c) +#define _GLOBAL_SUM_R4(a,b,c) CALL GLOBAL_SUM_R8( a, b ) +#define _GLOBAL_MAX_R4(a,b,c) CALL GLOBAL_MAX_R8( a, b ) #endif #ifndef REAL4_IS_SLOW @@ -137,16 +138,17 @@ #define REAL Real*8 #define _RS Real*4 #define _RL Real*8 +#define RS_IS_REAL4 #define _EXCH_XY_R4(a,b) CALL EXCH_XY_R4 ( a, b ) #define _EXCH_XYZ_R4(a,b) CALL EXCH_XYZ_R4 ( a, b ) -#define _GLOBAL_SUM_R4(a,b,c) CALL GLOBAL_SUM_R4( a, b , c) -#define _GLOBAL_MAX_R4(a,b,c) CALL GLOBAL_MAX_R4( a, b , c) +#define _GLOBAL_SUM_R4(a,b,c) CALL GLOBAL_SUM_R4( a, b ) +#define _GLOBAL_MAX_R4(a,b,c) CALL GLOBAL_MAX_R4( a, b ) #endif #define _EXCH_XY_R8(a,b) CALL EXCH_XY_R8 ( a, b ) #define _EXCH_XYZ_R8(a,b) CALL EXCH_XYZ_R8 ( a, b ) -#define _GLOBAL_SUM_R8(a,b,c) CALL GLOBAL_SUM_R8( a, b , c) -#define _GLOBAL_MAX_R8(a,b,c) CALL GLOBAL_MAX_R8( a, b , c) +#define _GLOBAL_SUM_R8(a,b,c) CALL GLOBAL_SUM_R8( a, b ) +#define _GLOBAL_MAX_R8(a,b,c) CALL GLOBAL_MAX_R8( a, b ) C-- Control use of "double" precision constants. C Use D0 where it means REAL*8 but not where it means REAL*16 @@ -158,7 +160,7 @@ C-- Control XY periodicity in processor to grid mappings C Note: Model code does not need to know whether a domain is C periodic because it has overlap regions for every box. -C Model's simply assume that these values have been +C Model assume that these values have been C filled in some way. #undef ALWAYS_PREVENT_X_PERIODICITY #undef ALWAYS_PREVENT_Y_PERIODICITY @@ -166,14 +168,16 @@ #define CAN_PREVENT_Y_PERIODICITY C-- Substitue for 1.D variables -C Sun compilers don't use 8-byte precision for literals +C Sun compilers do not use 8-byte precision for literals C unless .Dnn is specified. CRAY vector machines use 16-byte C precision when they see .Dnn which runs very slowly! #ifdef REAL_D0_IS_16BYTES #define _d +#define _F64( a ) a #endif #ifndef REAL_D0_IS_16BYTES #define _d D +#define _F64( a ) DFLOAT( a ) #endif #endif /* _CPP_EEOPTIONS_H_ */