/[MITgcm]/MITgcm/model/src/packages_check.F
ViewVC logotype

Diff of /MITgcm/model/src/packages_check.F

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

revision 1.2 by heimbach, Mon Sep 11 20:42:57 2000 UTC revision 1.38 by jmc, Tue Jan 16 04:40:05 2007 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    C $Name$
3    
4    #include "PACKAGES_CONFIG.h"
5  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
6    
7    CBOP
8    C     !ROUTINE: PACKAGES_CHECK
9    C     !INTERFACE:
10        SUBROUTINE PACKAGES_CHECK( myThid )        SUBROUTINE PACKAGES_CHECK( myThid )
11  C     /==========================================================\  C     !DESCRIPTION: \bv
12  C     | SUBROUTINE PACKAGES_CHECK                                |  C     *==========================================================*
13  C     | o Check dependances between selected packages            |  C     | SUBROUTINE PACKAGES_CHECK                                
14  C     |==========================================================|  C     | o Check runtime activated packages have been built in.    
15  C     \==========================================================/  C     *==========================================================*
16        IMPLICIT NONE  C     | All packages can be selected/deselected at build time    
17    C     | ( when code is compiled ) and activated/deactivated at    
18    C     | runtime. This routine does a quick check to trap packages
19    C     | that were activated at runtime but that were not compiled
20    C     | in at build time.                                        
21    C     *==========================================================*
22    C     \ev
23    
24    C     !USES:
25          IMPLICIT NONE
26  C     === Global variables ===  C     === Global variables ===
27  #include "SIZE.h"  #include "SIZE.h"
28  #include "EEPARAMS.h"  #include "EEPARAMS.h"
29  #include "PARAMS.h"  #include "PARAMS.h"
30    
31    C     !INPUT/OUTPUT PARAMETERS:
32  C     === Routine arguments ===  C     === Routine arguments ===
33  C     myThid -  Number of this instances  C     myThid ::  Number of this instances
34        INTEGER myThid        INTEGER myThid
35    
36    C     !LOCAL VARIABLES:
37  C     === Local variables ===  C     === Local variables ===
38  C     msgBuf      - Informational/error meesage buffer  C     msgBuf      :: Informational/error meesage buffer
39        CHARACTER*(MAX_LEN_MBUF) msgBuf  c     CHARACTER*(MAX_LEN_MBUF) msgBuf
40    CEOP
41    
42    #ifdef ALLOW_RUNCLOCK
43          IF (useRunClock) CALL RUNCLOCK_CHECK( myThid )
44    #else
45          IF (useRunClock) CALL PACKAGES_CHECK_ERROR('RUNCLOCK', myThid)
46    #endif
47    
48    #ifdef ALLOW_GENERIC_ADVDIFF
49          IF (useGAD) CALL GAD_CHECK( myThid )
50    #endif
51    
52  #ifndef ALLOW_KPP  #ifdef ALLOW_KPP
53        IF (useKPP) THEN        IF (useKPP) CALL KPP_CHECK( myThid )
54         WRITE(msgBuf,'(A)') '#define ALLOW_KPP to use useKPP'  #else
55         CALL PRINT_ERROR( msgBuf , 1)        IF (useKPP) CALL PACKAGES_CHECK_ERROR('KPP', myThid)
56         STOP 'ABNORMAL END: S/R PACKAGE_CHECK'  #endif
57        ENDIF  
58  #else  #ifdef ALLOW_PP81
59        WRITE(msgBuf,'(A)') 'PACKAGE_CHECK: #define ALLOW_KPP'        IF (usePP81) CALL PP81_CHECK( myThid )
60        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,  #else
61       &  SQUEEZE_RIGHT , 1)        IF (usePP81) CALL PACKAGES_CHECK_ERROR('PP81', myThid)
 C     KPP needs convection turned off (will be packaged later)  
       IF (useKPP) THEN  
        IF (cAdjFreq.NE.0.  .OR.  
      &     ivdc_kappa.NE.0.) THEN  
         WRITE(msgBuf,'(A)') 'Some form of convection has been enabled'  
         CALL PRINT_ERROR( msgBuf , 1)  
         STOP 'ABNORMAL END: S/R PACKAGE_CHECK'  
        ENDIF  
        IF (.NOT.implicitDiffusion ) THEN  
         WRITE(msgBuf,'(A)') 'KPP needs implicitDiffusion to be enabled'  
         CALL PRINT_ERROR( msgBuf , 1)  
         STOP 'ABNORMAL END: S/R PACKAGE_CHECK'  
        ENDIF  
        IF (.NOT.implicitViscosity) THEN  
         WRITE(msgBuf,'(A)') 'KPP needs implicitViscosity to be enabled'  
         CALL PRINT_ERROR( msgBuf , 1)  
         STOP 'ABNORMAL END: S/R PACKAGE_CHECK'  
        ENDIF  
       ENDIF  
62  #endif  #endif
63    
64  #ifndef ALLOW_GMREDI  #ifdef ALLOW_MY82
65        IF (useGMRedi) CALL PACKAGES_CHECK_ERROR('GMREDI')        IF (useMY82) CALL MY82_CHECK( myThid )
66  #else  #else
67          IF (useMY82) CALL PACKAGES_CHECK_ERROR('MY82', myThid)
68    #endif
69    
70    #ifdef ALLOW_GGL90
71          IF (useGGL90) CALL GGL90_CHECK( myThid )
72    #else
73          IF (useGGL90) CALL PACKAGES_CHECK_ERROR('GGL90', myThid)
74    #endif
75    
76    #ifdef ALLOW_OPPS
77          IF (useOPPS) CALL OPPS_CHECK( myThid )
78    #else
79          IF (useOPPS) CALL PACKAGES_CHECK_ERROR('OPPS', myThid)
80    #endif
81    
82    #ifdef ALLOW_GMREDI
83        IF (useGMRedi) CALL GMREDI_CHECK( myThid )        IF (useGMRedi) CALL GMREDI_CHECK( myThid )
84    #else
85          IF (useGMRedi) CALL PACKAGES_CHECK_ERROR('GMREDI', myThid)
86    #endif
87    
88    #ifdef ALLOW_OBCS
89          IF (useOBCS) CALL OBCS_CHECK( myThid )
90    #else
91          IF (useOBCS) CALL PACKAGES_CHECK_ERROR('OBCS', myThid)
92    #endif
93    
94    #ifndef ALLOW_BULK_FORCE
95          IF (useBulkForce) CALL PACKAGES_CHECK_ERROR('BULK?FORCE',myThid)
96    #endif
97    
98    #ifndef ALLOW_THSICE
99          IF (useThSIce) CALL PACKAGES_CHECK_ERROR('THSICE', myThid)
100    #endif
101    
102    #ifndef ALLOW_ATM2D
103          IF (useATM2D) CALL PACKAGES_CHECK_ERROR('ATM2D', myThid)
104    #endif
105    
106    #ifndef ALLOW_AIM
107          IF (useAIM) CALL PACKAGES_CHECK_ERROR('AIM', myThid)
108    #endif
109    
110    #ifndef ALLOW_LAND
111          IF (useLand) CALL PACKAGES_CHECK_ERROR('LAND', myThid)
112    #endif
113    
114    #ifndef ALLOW_PTRACERS
115          IF (usePTRACERS) CALL PACKAGES_CHECK_ERROR('PTRACERS', myThid)
116    #endif
117    
118    #ifndef ALLOW_MATRIX
119          IF (useMATRIX) CALL PACKAGES_CHECK_ERROR('MATRIX', myThid)
120    #endif
121    
122    #ifdef ALLOW_GCHEM
123          IF (useGCHEM) CALL GCHEM_CHECK( myThid )
124    #else
125          IF (useGCHEM) CALL PACKAGES_CHECK_ERROR('GCHEM', myThid)
126    #endif
127    
128    #ifndef ALLOW_OFFLINE
129          IF (useOffLine) CALL PACKAGES_CHECK_ERROR('OFFLINE', myThid)
130    #endif
131    
132    #ifndef ALLOW_SHAP_FILT
133          IF (useSHAP_FILT) CALL PACKAGES_CHECK_ERROR('SHAP_FILT', myThid)
134    #endif
135    
136    #ifndef ALLOW_ZONAL_FILT
137          IF (useZONAL_FILT) CALL PACKAGES_CHECK_ERROR('ZONAL_FILT',myThid)
138    #endif
139    
140    #ifndef ALLOW_FLT
141          IF (useFLT) CALL PACKAGES_CHECK_ERROR('FLT', myThid)
142    #endif
143    
144    #ifdef ALLOW_SBO
145          IF (useSBO) CALL SBO_CHECK( myThid )
146    #else
147          IF (useSBO) CALL PACKAGES_CHECK_ERROR('SBO', myThid)
148    #endif
149    
150    #ifdef ALLOW_SEAICE
151          IF (useSEAICE) CALL SEAICE_CHECK( myThid )
152    #else
153          IF (useSEAICE) CALL PACKAGES_CHECK_ERROR('SEAICE', myThid)
154    #endif
155    
156    #ifdef ALLOW_SHELFICE
157          IF (useShelfIce) CALL SHELFICE_CHECK( myThid )
158    #else
159          IF (useShelfIce) CALL PACKAGES_CHECK_ERROR('SHELFICE', myThid)
160    #endif
161    
162    #ifndef ALLOW_CD_CODE
163          IF (useCDscheme) CALL PACKAGES_CHECK_ERROR('CD_CODE', myThid)
164    #endif
165    
166    #ifdef ALLOW_AUTODIFF
167          CALL AUTODIFF_CHECK( myThid )
168    #endif
169    
170    #ifdef ALLOW_CTRL
171          CALL CTRL_CHECK( myThid )
172    #endif
173    
174    #ifdef ALLOW_COST
175          CALL COST_CHECK( myThid )
176    #endif
177    
178    #ifdef ALLOW_GRDCHK
179          IF (useGRDCHK) CALL GRDCHK_CHECK( myThid )
180    #endif
181    
182    #ifdef ALLOW_DIAGNOSTICS
183          IF (useDiagnostics) CALL DIAGNOSTICS_CHECK( myThid )
184    #else
185          IF (useDiagnostics)
186         &   CALL PACKAGES_CHECK_ERROR('DIAGNOSTICS', myThid )
187    #endif
188    
189    #ifdef ALLOW_REGRID
190          IF (useREGRID) CALL REGRID_CHECK( myThid )
191    #else
192          IF (useREGRID) CALL PACKAGES_CHECK_ERROR('REGRID', myThid)
193    #endif
194    
195    #ifdef ALLOW_MYPACKAGE
196          IF (useMYPACKAGE) CALL MYPACKAGE_CHECK( myThid )
197    #else
198          IF (useMYPACKAGE) CALL PACKAGES_CHECK_ERROR('MYPACKAGE', myThid)
199  #endif  #endif
200    
201        return        RETURN
202        end        END

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.38

  ViewVC Help
Powered by ViewVC 1.1.22