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

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

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


Revision 1.39 - (show annotations) (download)
Wed Mar 7 00:00:06 2007 UTC (17 years, 2 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58y_post, checkpoint58w_post, checkpoint58x_post
Changes since 1.38: +102 -18 lines
move checking for un-compiled pkg, from CONFIG_CHECK to PACKAGES_CHECK.

1 C $Header: /u/gcmpack/MITgcm/model/src/packages_check.F,v 1.38 2007/01/16 04:40:05 jmc Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 CBOP
8 C !ROUTINE: PACKAGES_CHECK
9 C !INTERFACE:
10 SUBROUTINE PACKAGES_CHECK( myThid )
11 C !DESCRIPTION: \bv
12 C *==========================================================*
13 C | SUBROUTINE PACKAGES_CHECK
14 C | o Check runtime activated packages have been built in.
15 C *==========================================================*
16 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 ===
27 #include "SIZE.h"
28 #include "EEPARAMS.h"
29 #include "PARAMS.h"
30
31 C !INPUT/OUTPUT PARAMETERS:
32 C === Routine arguments ===
33 C myThid :: Number of this instances
34 INTEGER myThid
35
36 C !LOCAL VARIABLES:
37 C === Local variables ===
38 C msgBuf :: Informational/error meesage buffer
39 CHARACTER*(MAX_LEN_MBUF) msgBuf
40 CEOP
41
42 C--- Start with non-standard packages (without or with non standard flag)
43
44 #ifndef ALLOW_MNC
45 IF (useMNC) THEN
46 WRITE(msgBuf,'(2A)') '***WARNING***',
47 & ' PACKAGES_CHECK: useMNC is TRUE'
48 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
49 & SQUEEZE_RIGHT , myThid)
50 WRITE(msgBuf,'(2A)') '***WARNING***',
51 & ' but pkg/mnc has not been compiled (#undef ALLOW_MNC)'
52 CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
53 & SQUEEZE_RIGHT , myThid)
54 ENDIF
55 #endif
56
57 #ifndef ALLOW_MOM_VECINV
58 IF ( momStepping .AND. vectorInvariantMomentum ) THEN
59 WRITE(msgBuf,'(2A)')
60 & 'PACKAGES_CHECK: cannot step forward Momentum',
61 & ' without pkg/mom_vecinv'
62 CALL PRINT_ERROR( msgBuf , 1)
63 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
64 & 'Re-compile with pkg "mom_vecinv" in packages.conf'
65 CALL PRINT_ERROR( msgBuf , 1)
66 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
67 ENDIF
68 #endif
69 #ifndef ALLOW_MOM_FLUXFORM
70 IF ( momStepping .AND. .NOT.vectorInvariantMomentum ) THEN
71 WRITE(msgBuf,'(2A)')
72 & 'PACKAGES_CHECK: cannot step forward Momentum',
73 & ' without pkg/mom_fluxform'
74 CALL PRINT_ERROR( msgBuf , 1)
75 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
76 & 'Re-compile with pkg "mom_fluxform" in packages.conf'
77 CALL PRINT_ERROR( msgBuf , 1)
78 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
79 ENDIF
80 #endif
81
82 #ifdef ALLOW_GENERIC_ADVDIFF
83 IF (useGAD) CALL GAD_CHECK( myThid )
84 #else
85 IF ( tempStepping .OR. saltStepping ) THEN
86 WRITE(msgBuf,'(2A)')
87 & 'PACKAGES_CHECK: cannot step forward Temp or Salt',
88 & ' without pkg/generic_advdiff'
89 CALL PRINT_ERROR( msgBuf , 1)
90 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
91 & 'Re-compile with pkg "generic_advdiff" in packages.conf'
92 CALL PRINT_ERROR( msgBuf , 1)
93 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
94 ENDIF
95 #endif
96
97 #ifndef ALLOW_CD_CODE
98 IF (useCDscheme) THEN
99 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
100 & 'useCDscheme is TRUE but pkg/cd_code has not been compiled'
101 CALL PRINT_ERROR( msgBuf , myThid)
102 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
103 ENDIF
104 #endif
105
106 #ifndef ALLOW_MONITOR
107 C If monitorFreq is finite, make sure the pkg/monitor is being compiled
108 IF (monitorFreq.NE.0.) THEN
109 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
110 & 'monitorFreq <> 0 but pkg/monitor has not been compiled'
111 CALL PRINT_ERROR( msgBuf , 1)
112 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
113 & 'Re-compile with pkg "monitor" in packages.conf'
114 CALL PRINT_ERROR( msgBuf , 1)
115 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
116 ENDIF
117 #endif
118
119 #ifndef ALLOW_TIMEAVE
120 C If taveFreq is finite, make sure the pkg/timeave is being compiled
121 IF (taveFreq.NE.0.) THEN
122 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
123 & 'taveFreq <> 0 but pkg/timeave has been not compiled'
124 CALL PRINT_ERROR( msgBuf , 1)
125 WRITE(msgBuf,'(2A)') 'PACKAGES_CHECK: ',
126 & 'Re-compile with pkg "timeave" in packages.conf'
127 CALL PRINT_ERROR( msgBuf , 1)
128 STOP 'ABNORMAL END: S/R PACKAGES_CHECK'
129 ENDIF
130 #endif
131
132 C--- Continue with standard packages (with standard usePKG flag)
133
134 #ifdef ALLOW_RUNCLOCK
135 IF (useRunClock) CALL RUNCLOCK_CHECK( myThid )
136 #else
137 IF (useRunClock) CALL PACKAGES_CHECK_ERROR('RUNCLOCK', myThid)
138 #endif
139
140 #ifdef ALLOW_KPP
141 IF (useKPP) CALL KPP_CHECK( myThid )
142 #else
143 IF (useKPP) CALL PACKAGES_CHECK_ERROR('KPP', myThid)
144 #endif
145
146 #ifdef ALLOW_PP81
147 IF (usePP81) CALL PP81_CHECK( myThid )
148 #else
149 IF (usePP81) CALL PACKAGES_CHECK_ERROR('PP81', myThid)
150 #endif
151
152 #ifdef ALLOW_MY82
153 IF (useMY82) CALL MY82_CHECK( myThid )
154 #else
155 IF (useMY82) CALL PACKAGES_CHECK_ERROR('MY82', myThid)
156 #endif
157
158 #ifdef ALLOW_GGL90
159 IF (useGGL90) CALL GGL90_CHECK( myThid )
160 #else
161 IF (useGGL90) CALL PACKAGES_CHECK_ERROR('GGL90', myThid)
162 #endif
163
164 #ifdef ALLOW_OPPS
165 IF (useOPPS) CALL OPPS_CHECK( myThid )
166 #else
167 IF (useOPPS) CALL PACKAGES_CHECK_ERROR('OPPS', myThid)
168 #endif
169
170 #ifdef ALLOW_GMREDI
171 IF (useGMRedi) CALL GMREDI_CHECK( myThid )
172 #else
173 IF (useGMRedi) CALL PACKAGES_CHECK_ERROR('GMREDI', myThid)
174 #endif
175
176 #ifdef ALLOW_OBCS
177 IF (useOBCS) CALL OBCS_CHECK( myThid )
178 #else
179 IF (useOBCS) CALL PACKAGES_CHECK_ERROR('OBCS', myThid)
180 #endif
181
182 #ifndef ALLOW_BULK_FORCE
183 IF (useBulkForce) CALL PACKAGES_CHECK_ERROR('BULK?FORCE',myThid)
184 #endif
185
186 #ifndef ALLOW_THSICE
187 IF (useThSIce) CALL PACKAGES_CHECK_ERROR('THSICE', myThid)
188 #endif
189
190 #ifndef ALLOW_ATM2D
191 IF (useATM2D) CALL PACKAGES_CHECK_ERROR('ATM2D', myThid)
192 #endif
193
194 #ifndef ALLOW_AIM
195 IF (useAIM) CALL PACKAGES_CHECK_ERROR('AIM', myThid)
196 #endif
197
198 #ifndef ALLOW_LAND
199 IF (useLand) CALL PACKAGES_CHECK_ERROR('LAND', myThid)
200 #endif
201
202 #ifndef ALLOW_PTRACERS
203 IF (usePTRACERS) CALL PACKAGES_CHECK_ERROR('PTRACERS', myThid)
204 #endif
205
206 #ifndef ALLOW_MATRIX
207 IF (useMATRIX) CALL PACKAGES_CHECK_ERROR('MATRIX', myThid)
208 #endif
209
210 #ifdef ALLOW_GCHEM
211 IF (useGCHEM) CALL GCHEM_CHECK( myThid )
212 #else
213 IF (useGCHEM) CALL PACKAGES_CHECK_ERROR('GCHEM', myThid)
214 #endif
215
216 #ifndef ALLOW_OFFLINE
217 IF (useOffLine) CALL PACKAGES_CHECK_ERROR('OFFLINE', myThid)
218 #endif
219
220 #ifndef ALLOW_SHAP_FILT
221 IF (useSHAP_FILT) CALL PACKAGES_CHECK_ERROR('SHAP_FILT', myThid)
222 #endif
223
224 #ifndef ALLOW_ZONAL_FILT
225 IF (useZONAL_FILT) CALL PACKAGES_CHECK_ERROR('ZONAL_FILT',myThid)
226 #endif
227
228 #ifndef ALLOW_FLT
229 IF (useFLT) CALL PACKAGES_CHECK_ERROR('FLT', myThid)
230 #endif
231
232 #ifdef ALLOW_SBO
233 IF (useSBO) CALL SBO_CHECK( myThid )
234 #else
235 IF (useSBO) CALL PACKAGES_CHECK_ERROR('SBO', myThid)
236 #endif
237
238 #ifdef ALLOW_SEAICE
239 IF (useSEAICE) CALL SEAICE_CHECK( myThid )
240 #else
241 IF (useSEAICE) CALL PACKAGES_CHECK_ERROR('SEAICE', myThid)
242 #endif
243
244 #ifdef ALLOW_SHELFICE
245 IF (useShelfIce) CALL SHELFICE_CHECK( myThid )
246 #else
247 IF (useShelfIce) CALL PACKAGES_CHECK_ERROR('SHELFICE', myThid)
248 #endif
249
250 #ifdef ALLOW_AUTODIFF
251 CALL AUTODIFF_CHECK( myThid )
252 #endif
253
254 #ifdef ALLOW_CTRL
255 CALL CTRL_CHECK( myThid )
256 #endif
257
258 #ifdef ALLOW_COST
259 CALL COST_CHECK( myThid )
260 #endif
261
262 #ifdef ALLOW_GRDCHK
263 IF (useGRDCHK) CALL GRDCHK_CHECK( myThid )
264 #endif
265
266 #ifdef ALLOW_DIAGNOSTICS
267 IF (useDiagnostics) CALL DIAGNOSTICS_CHECK( myThid )
268 #else
269 IF (useDiagnostics)
270 & CALL PACKAGES_CHECK_ERROR('DIAGNOSTICS', myThid )
271 #endif
272
273 #ifdef ALLOW_REGRID
274 IF (useREGRID) CALL REGRID_CHECK( myThid )
275 #else
276 IF (useREGRID) CALL PACKAGES_CHECK_ERROR('REGRID', myThid)
277 #endif
278
279 #ifdef ALLOW_MYPACKAGE
280 IF (useMYPACKAGE) CALL MYPACKAGE_CHECK( myThid )
281 #else
282 IF (useMYPACKAGE) CALL PACKAGES_CHECK_ERROR('MYPACKAGE', myThid)
283 #endif
284
285 RETURN
286 END

  ViewVC Help
Powered by ViewVC 1.1.22