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

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

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

revision 1.4 by adcroft, Tue May 29 14:01:35 2001 UTC revision 1.9 by dimitri, Tue Apr 6 19:24:34 2004 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4  C     /==========================================================\  CBOP
5  C     | CPP_EEMACROS.h                                           |  C     !ROUTINE: CPP_EEMACROS.h
6  C     |==========================================================|  C     !INTERFACE:
7  C     | C preprocessor "execution environment" supporting        |  C     include "CPP_EEMACROS.h "
8  C     | macros. Use this file to define macros for  simplifying  |  C     !DESCRIPTION:
9  C     | execution environment in which a model runs - as opposed |  C     *==========================================================*
10  C     | to the dynamical problem the model solves.               |  C     | CPP_EEMACROS.h                                            
11  C     \==========================================================/  C     *==========================================================*
12    C     | C preprocessor "execution environment" supporting        
13    C     | macros. Use this file to define macros for  simplifying  
14    C     | execution environment in which a model runs - as opposed  
15    C     | to the dynamical problem the model solves.                
16    C     *==========================================================*
17    CEOP
18    
19  #ifndef _CPP_EEMACROS_H_  #ifndef _CPP_EEMACROS_H_
20  #define _CPP_EEMACROS_H_  #define _CPP_EEMACROS_H_
# Line 91  C     performance. Line 97  C     performance.
97  #define RS_IS_REAL8  #define RS_IS_REAL8
98  #define _GLOBAL_SUM_R4(a,b) CALL GLOBAL_SUM_R8 ( a, b)  #define _GLOBAL_SUM_R4(a,b) CALL GLOBAL_SUM_R8 ( a, b)
99  #define _GLOBAL_MAX_R4(a,b) CALL GLOBAL_MAX_R8 ( a, b )  #define _GLOBAL_MAX_R4(a,b) CALL GLOBAL_MAX_R8 ( a, b )
100    #define _MPI_TYPE_RS MPI_DOUBLE_PRECISION
101  #else  #else
102  #define _RS Real*4  #define _RS Real*4
103  #define RS_IS_REAL4  #define RS_IS_REAL4
104  #define _GLOBAL_SUM_R4(a,b) CALL GLOBAL_SUM_R4 ( a, b )  #define _GLOBAL_SUM_R4(a,b) CALL GLOBAL_SUM_R4 ( a, b )
105  #define _GLOBAL_MAX_R4(a,b) CALL GLOBAL_MAX_R4 ( a, b )  #define _GLOBAL_MAX_R4(a,b) CALL GLOBAL_MAX_R4 ( a, b )
106    #define _MPI_TYPE_RS MPI_REAL
107  #endif  #endif
108  #define _EXCH_XY_R4(a,b) CALL EXCH_XY_RS ( a, b )  #define _EXCH_XY_R4(a,b) CALL EXCH2_XY_RL ( a, b )
109  #define _EXCH_XYZ_R4(a,b) CALL EXCH_XYZ_RS ( a, b )  #define _EXCH_XYZ_R4(a,b) CALL EXCH2_XYZ_RL ( a, b )
110    
111  #define _RL Real*8  #define _RL Real*8
112  #define _EXCH_XY_R8(a,b) CALL EXCH_XY_RL ( a, b )  #define _EXCH_XY_R8(a,b) CALL EXCH2_XY_RL ( a, b )
113  #define _EXCH_XYZ_R8(a,b) CALL EXCH_XYZ_RL ( a, b )  #define _EXCH_XYZ_R8(a,b) CALL EXCH2_XYZ_RL ( a, b )
114  #define _GLOBAL_SUM_R8(a,b) CALL GLOBAL_SUM_R8 ( a, b )  #define _GLOBAL_SUM_R8(a,b) CALL GLOBAL_SUM_R8 ( a, b )
115  #define _GLOBAL_MAX_R8(a,b) CALL GLOBAL_MAX_R8 ( a, b )  #define _GLOBAL_MAX_R8(a,b) CALL GLOBAL_MAX_R8 ( a, b )
116    #define _MPI_TYPE_RL MPI_DOUBLE_PRECISION
117    
118  #define _EXCH_XY_RS(a,b) CALL EXCH_XY_RS ( a, b )  #define _EXCH_XY_RS(a,b) CALL EXCH2_XY_RL ( a, b )
119  #define _EXCH_XYZ_RS(a,b) CALL EXCH_XYZ_RS ( a, b )  #define _EXCH_XYZ_RS(a,b) CALL EXCH2_XYZ_RL ( a, b )
120  #define _EXCH_XY_RL(a,b) CALL EXCH_XY_RL ( a, b )  #define _EXCH_XY_RL(a,b) CALL EXCH2_XY_RL ( a, b )
121  #define _EXCH_XYZ_RL(a,b) CALL EXCH_XYZ_RL ( a, b )  #define _EXCH_XYZ_RL(a,b) CALL EXCH2_XYZ_RL ( a, b )
122    
123    #define _MPI_TYPE_R4 MPI_REAL
124    #ifdef TARGET_SGI
125    #define _MPI_TYPE_R8 MPI_DOUBLE_PRECISION
126    #else
127    #define _MPI_TYPE_R8 MPI_REAL8
128    #endif
129    #define _R4 Real*4
130    #define _R8 Real*8
131    
132  C--   Control use of JAM routines for Artic network  C--   Control use of JAM routines for Artic network
133  C     These invoke optimized versions of "exchange" and "sum" that  C     These invoke optimized versions of "exchange" and "sum" that
# Line 139  C     Sun compilers do not use 8-byte pr Line 157  C     Sun compilers do not use 8-byte pr
157  C     unless .Dnn is specified. CRAY vector machines use 16-byte  C     unless .Dnn is specified. CRAY vector machines use 16-byte
158  C     precision when they see .Dnn which runs very slowly!  C     precision when they see .Dnn which runs very slowly!
159  #ifdef REAL_D0_IS_16BYTES  #ifdef REAL_D0_IS_16BYTES
160  #define _d  #define _d E
161  #define _F64( a ) a  #define _F64( a ) a
162  #endif  #endif
163  #ifndef REAL_D0_IS_16BYTES  #ifndef REAL_D0_IS_16BYTES

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

  ViewVC Help
Powered by ViewVC 1.1.22