154 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
155 |
& 'compiled the model with the pressure loading code.' |
& 'compiled the model with the pressure loading code.' |
156 |
CALL PRINT_ERROR( msgBuf , myThid) |
CALL PRINT_ERROR( msgBuf , myThid) |
157 |
WRITE(msgBuf,'(A,A)') |
WRITE(msgBuf,'(A)') |
158 |
& 'Re-compile with: #define ATMOSPHERIC_LOADING', |
& 'Re-compile with: #define ATMOSPHERIC_LOADING' |
159 |
& ' or -DATMOSPHERIC_LOADING' |
CALL PRINT_ERROR( msgBuf , myThid) |
160 |
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
161 |
|
ENDIF |
162 |
|
IF ( useRealFreshWaterFlux .AND. useThSIce ) THEN |
163 |
|
WRITE(msgBuf,'(A)') |
164 |
|
& 'CONFIG_CHECK: sIceLoad is computed but' |
165 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
166 |
|
WRITE(msgBuf,'(A)') |
167 |
|
& 'pressure loading code is not compiled.' |
168 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
169 |
|
WRITE(msgBuf,'(A)') |
170 |
|
& 'Re-compile with: #define ATMOSPHERIC_LOADING' |
171 |
CALL PRINT_ERROR( msgBuf , myThid) |
CALL PRINT_ERROR( msgBuf , myThid) |
172 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
173 |
ENDIF |
ENDIF |
178 |
#ifndef ALLOW_TIMEAVE |
#ifndef ALLOW_TIMEAVE |
179 |
IF (taveFreq.NE.0.) THEN |
IF (taveFreq.NE.0.) THEN |
180 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
181 |
& 'CONFIG_CHECK: taveFreq <> 0 but you have' |
& 'CONFIG_CHECK: taveFreq <> 0 but pkg/timeave is not compiled' |
182 |
CALL PRINT_ERROR( msgBuf , 1) |
CALL PRINT_ERROR( msgBuf , 1) |
183 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
184 |
& 'not compiled the model with the diagnostics routines.' |
& 'Re-compile with pkg "timeave" in packages.conf' |
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
WRITE(msgBuf,'(A,A)') |
|
|
& 'Re-compile with: #define ALLOW_TIMEAVE', |
|
|
& ' or -DALLOW_TIMEAVE' |
|
185 |
CALL PRINT_ERROR( msgBuf , 1) |
CALL PRINT_ERROR( msgBuf , 1) |
186 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
187 |
ENDIF |
ENDIF |
290 |
& SQUEEZE_RIGHT , myThid) |
& SQUEEZE_RIGHT , myThid) |
291 |
ENDIF |
ENDIF |
292 |
|
|
293 |
IF (useRealFreshWaterFlux .AND. exactConserv |
IF ( useRealFreshWaterFlux .AND. exactConserv |
294 |
& .AND.startTime.NE.0. .AND. implicSurfPress.EQ.0. _d 0) THEN |
& .AND. implicDiv2DFlow.EQ.0. _d 0 |
295 |
|
& .AND. startTime.NE.0. .AND. usePickupBeforeC54 ) THEN |
296 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
297 |
& 'CONFIG_CHECK: RealFreshWaterFlux+implicSurfP=0+exactConserv:' |
& 'CONFIG_CHECK: RealFreshWaterFlux+implicSurfP=0+exactConserv:' |
298 |
CALL PRINT_ERROR( msgBuf , myThid) |
CALL PRINT_ERROR( msgBuf , myThid) |
302 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
303 |
ENDIF |
ENDIF |
304 |
|
|
305 |
#ifdef NONLIN_FRSURF |
IF ( useRealFreshWaterFlux .AND. .NOT.exactConserv |
306 |
|
& .AND. implicDiv2DFlow.NE.1. ) THEN |
307 |
|
WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: **WARNNING** ', |
308 |
|
& 'RealFreshWater & implicDiv2DFlow < 1' |
309 |
|
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
310 |
|
& SQUEEZE_RIGHT , myThid) |
311 |
|
WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: works better', |
312 |
|
& ' with exactConserv=.T. (+ #define EXACT_CONSERV)' |
313 |
|
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
314 |
|
& SQUEEZE_RIGHT , myThid) |
315 |
|
ENDIF |
316 |
|
|
317 |
|
#ifdef EXACT_CONSERV |
318 |
IF (useRealFreshWaterFlux .AND. .NOT.exactConserv |
IF (useRealFreshWaterFlux .AND. .NOT.exactConserv |
319 |
& .AND. buoyancyRelation.EQ.'OCEANICP' ) THEN |
& .AND. buoyancyRelation.EQ.'OCEANICP' ) THEN |
320 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
326 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
327 |
ENDIF |
ENDIF |
328 |
#else |
#else |
|
IF (useRealFreshWaterFlux .AND. exactConserv |
|
|
& .AND. implicSurfPress.NE.1. _d 0 ) THEN |
|
|
WRITE(msgBuf,'(A)') |
|
|
& 'CONFIG_CHECK: Pb with restart in this config' |
|
|
CALL PRINT_ERROR( msgBuf , myThid) |
|
|
WRITE(msgBuf,'(A)') |
|
|
& 'CONFIG_CHECK: ==> use #define NONLIN_FRSURF to fix it' |
|
|
CALL PRINT_ERROR( msgBuf , myThid) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
|
|
329 |
IF (useRealFreshWaterFlux |
IF (useRealFreshWaterFlux |
330 |
& .AND. buoyancyRelation.EQ.'OCEANICP' ) THEN |
& .AND. buoyancyRelation.EQ.'OCEANICP' ) THEN |
331 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
333 |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
334 |
& SQUEEZE_RIGHT , myThid) |
& SQUEEZE_RIGHT , myThid) |
335 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
336 |
& 'CONFIG_CHECK: ==> use #define NONLIN_FRSURF to fix it' |
& 'CONFIG_CHECK: ==> use #define EXACT_CONSERV to fix it' |
337 |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
338 |
& SQUEEZE_RIGHT , myThid) |
& SQUEEZE_RIGHT , myThid) |
339 |
ENDIF |
ENDIF |
340 |
#endif /* NONLIN_FRSURF */ |
#endif /* EXACT_CONSERV */ |
341 |
|
|
342 |
IF (.NOT.useCDscheme .AND. (tauCD.NE.0. .OR. rCD.NE.-1.) ) THEN |
IF (.NOT.useCDscheme .AND. (tauCD.NE.0. .OR. rCD.NE.-1.) ) THEN |
343 |
C- jmc: since useCDscheme is a new [04-13-03] flag (default=F), |
C- jmc: since useCDscheme is a new [04-13-03] flag (default=F), |