85 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
86 |
#endif |
#endif |
87 |
|
|
88 |
|
C o If pLoadFile is set, then we should make sure the corresponing |
89 |
|
C code is being compiled |
90 |
|
#ifndef ATMOSPHERIC_LOADING |
91 |
|
IF (pLoadFile.NE.' ') THEN |
92 |
|
WRITE(msgBuf,'(A)') |
93 |
|
& 'CONFIG_CHECK: pLoadFile is set but you have not' |
94 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
95 |
|
WRITE(msgBuf,'(A)') |
96 |
|
& 'compiled the model with the pressure loading code.' |
97 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
98 |
|
WRITE(msgBuf,'(A,A)') |
99 |
|
& 'Re-compile with: #define ATMOSPHERIC_LOADING', |
100 |
|
& ' or -DATMOSPHERIC_LOADING' |
101 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
102 |
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
103 |
|
ENDIF |
104 |
|
#endif |
105 |
|
|
106 |
|
C o If taveFreq is finite, then we must make sure the diagnostics |
107 |
|
C code is being compiled |
108 |
|
#ifndef ALLOW_TIMEAVE |
109 |
|
IF (taveFreq.NE.0.) THEN |
110 |
|
WRITE(msgBuf,'(A)') |
111 |
|
& 'CONFIG_CHECK: taveFreq <> 0 but you have' |
112 |
|
CALL PRINT_ERROR( msgBuf , 1) |
113 |
|
WRITE(msgBuf,'(A)') |
114 |
|
& 'not compiled the model with the diagnostics routines.' |
115 |
|
CALL PRINT_ERROR( msgBuf , 1) |
116 |
|
WRITE(msgBuf,'(A,A)') |
117 |
|
& 'Re-compile with: #define ALLOW_TIMEAVE', |
118 |
|
& ' or -DALLOW_TIMEAVE' |
119 |
|
CALL PRINT_ERROR( msgBuf , 1) |
120 |
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
121 |
|
ENDIF |
122 |
|
#endif |
123 |
|
|
124 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
125 |
|
|
126 |
C- check parameter consistency : |
C- check parameter consistency : |
195 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
196 |
ENDIF |
ENDIF |
197 |
|
|
198 |
IF (nonlinFreeSurf.NE.0 .AND. deltaTmom.NE.deltaTtracer) THEN |
IF (nonlinFreeSurf.NE.0.AND.deltaTfreesurf.NE.deltaTtracer) THEN |
199 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
200 |
& 'CONFIG_CHECK: WARNING: nonlinFreeSurf might cause' |
& 'CONFIG_CHECK: WARNING: nonlinFreeSurf might cause problems' |
201 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
202 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid) |
203 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
204 |
& 'CONFIG_CHECK: problems with different time-steps' |
& 'CONFIG_CHECK: with different FreeSurf & Tracer time-steps' |
205 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
206 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , myThid) |
207 |
ENDIF |
ENDIF |
208 |
|
|
209 |
IF (useRealFreshWaterFlux .AND. exactConserv |
IF (useRealFreshWaterFlux .AND. exactConserv |
217 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
218 |
ENDIF |
ENDIF |
219 |
|
|
220 |
#ifndef NONLIN_FRSURF |
#ifdef NONLIN_FRSURF |
221 |
|
IF (useRealFreshWaterFlux .AND. .NOT.exactConserv |
222 |
|
& .AND. buoyancyRelation.EQ.'OCEANICP' ) THEN |
223 |
|
WRITE(msgBuf,'(A)') |
224 |
|
& 'CONFIG_CHECK: RealFreshWaterFlux with OCEANICP' |
225 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
226 |
|
WRITE(msgBuf,'(A)') |
227 |
|
& 'CONFIG_CHECK: requires exactConserv=T' |
228 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
229 |
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
230 |
|
ENDIF |
231 |
|
#else |
232 |
IF (useRealFreshWaterFlux .AND. exactConserv |
IF (useRealFreshWaterFlux .AND. exactConserv |
233 |
& .AND. implicSurfPress.NE.1. _d 0 ) THEN |
& .AND. implicSurfPress.NE.1. _d 0 ) THEN |
234 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
239 |
CALL PRINT_ERROR( msgBuf , myThid) |
CALL PRINT_ERROR( msgBuf , myThid) |
240 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
241 |
ENDIF |
ENDIF |
242 |
#endif |
|
243 |
|
IF (useRealFreshWaterFlux |
244 |
|
& .AND. buoyancyRelation.EQ.'OCEANICP' ) THEN |
245 |
|
WRITE(msgBuf,'(A)') |
246 |
|
& 'CONFIG_CHECK: E-P effects on wVel are not included' |
247 |
|
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
248 |
|
& SQUEEZE_RIGHT , myThid) |
249 |
|
WRITE(msgBuf,'(A)') |
250 |
|
& 'CONFIG_CHECK: ==> use #define NONLIN_FRSURF to fix it' |
251 |
|
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
252 |
|
& SQUEEZE_RIGHT , myThid) |
253 |
|
ENDIF |
254 |
|
#endif /* NONLIN_FRSURF */ |
255 |
|
|
256 |
WRITE(msgBuf,'(A)') 'CONFIG_CHECK: OK' |
WRITE(msgBuf,'(A)') 'CONFIG_CHECK: OK' |
257 |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit, |
CALL PRINT_MESSAGE(msgBuf,standardMessageUnit, |