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

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

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

revision 1.60 by mlosch, Sat Mar 24 20:53:36 2012 UTC revision 1.69 by jmc, Fri Jul 13 23:24:52 2012 UTC
# Line 36  C     !LOCAL VARIABLES: Line 36  C     !LOCAL VARIABLES:
36  C     == Local variables ==  C     == Local variables ==
37  C     msgBuf :: Informational/error message buffer  C     msgBuf :: Informational/error message buffer
38        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
39          INTEGER errCount
40  CEOP  CEOP
41    
42          _BEGIN_MASTER(myThid)
43          WRITE(msgBuf,'(A)')
44         &'// ======================================================='
45          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
46         &                    SQUEEZE_RIGHT, myThid )
47          WRITE(msgBuf,'(A)') '// Check Model config. (CONFIG_CHECK):'
48          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
49         &                    SQUEEZE_RIGHT, myThid )
50          _END_MASTER(myThid)
51    
52    C--   MPI + multi-threads: seems to be OK to let master-thread check & stop
53    C      (as long as all procs finish cleanly by calling ALL_PROC_DIE)
54          _BEGIN_MASTER(myThid)
55          errCount = 0
56    
57  C-  check that CPP option is "defined" when running-flag parameter is on:  C-  check that CPP option is "defined" when running-flag parameter is on:
58    
59  C     o If diffKrFile is set, then we should make sure the corresponing  C     o If diffKrFile is set, then we should make sure the corresponing
# Line 50  C       code is being compiled Line 66  C       code is being compiled
66          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
67       &  'Re-compile with:  #define ALLOW_3D_DIFFKR'       &  'Re-compile with:  #define ALLOW_3D_DIFFKR'
68          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
69          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
70        ENDIF        ENDIF
71  #endif  #endif
72    
# Line 64  C       code is being compiled Line 80  C       code is being compiled
80         IF ( nonHydrostatic ) WRITE(msgBuf,'(A)')         IF ( nonHydrostatic ) WRITE(msgBuf,'(A)')
81       &   'CONFIG_CHECK: nonHydrostatic is TRUE'       &   'CONFIG_CHECK: nonHydrostatic is TRUE'
82          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
83          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
84        ENDIF        ENDIF
85  #endif  #endif
86    
# Line 76  C       code is being compiled Line 92  C       code is being compiled
92          WRITE(msgBuf,'(A,1P2E20.7)')          WRITE(msgBuf,'(A,1P2E20.7)')
93       &   'CONFIG_CHECK: are set to:',alph_AB,beta_AB       &   'CONFIG_CHECK: are set to:',alph_AB,beta_AB
94          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
95          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
96        ENDIF        ENDIF
97  #endif  #endif
98    
# Line 88  C       code is being compiled Line 104  C       code is being compiled
104          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
105       &   'CONFIG_CHECK: but momImplVertAdv is TRUE'       &   'CONFIG_CHECK: but momImplVertAdv is TRUE'
106          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
107          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
108        ENDIF        ENDIF
109        IF ( tempImplVertAdv ) THEN        IF ( tempImplVertAdv ) THEN
110          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
# Line 97  C       code is being compiled Line 113  C       code is being compiled
113          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
114       &   'CONFIG_CHECK: but tempImplVertAdv is TRUE'       &   'CONFIG_CHECK: but tempImplVertAdv is TRUE'
115          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
116          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
117        ENDIF        ENDIF
118        IF ( saltImplVertAdv ) THEN        IF ( saltImplVertAdv ) THEN
119          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
# Line 106  C       code is being compiled Line 122  C       code is being compiled
122          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
123       &   'CONFIG_CHECK: but saltImplVertAdv is TRUE'       &   'CONFIG_CHECK: but saltImplVertAdv is TRUE'
124          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
125          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
126        ENDIF        ENDIF
127        IF ( dTtracerLev(1).NE.dTtracerLev(Nr) .AND. implicitDiffusion        IF ( dTtracerLev(1).NE.dTtracerLev(Nr) .AND. implicitDiffusion
128       &     .AND. ( saltStepping .OR. tempStepping .OR. usePTRACERS )       &     .AND. ( saltStepping .OR. tempStepping .OR. usePTRACERS )
# Line 117  C       code is being compiled Line 133  C       code is being compiled
133          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',
134       &   'but implicitDiffusion=T with non-uniform dTtracerLev'       &   'but implicitDiffusion=T with non-uniform dTtracerLev'
135          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
136          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
137        ENDIF        ENDIF
138  #endif  #endif
139    
# Line 129  C       code is being compiled Line 145  C       code is being compiled
145          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
146       &   'CONFIG_CHECK: supported in adjoint mode'       &   'CONFIG_CHECK: supported in adjoint mode'
147          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
148          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
149        ENDIF        ENDIF
150  #endif  #endif
151    
152  #ifdef ALLOW_DEPTH_CONTROL  #ifdef ALLOW_DEPTH_CONTROL
       IF ( implicitDiffusion ) THEN  
         WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',  
      &       'implicitDiffusion not available with DEPTH_CONTROL'  
         CALL PRINT_ERROR( msgBuf, myThid )  
         STOP 'ABNORMAL END: S/R CONFIG_CHECK'  
       ENDIF  
153        IF ( useOBCS ) THEN        IF ( useOBCS ) THEN
154          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
155       &   'CONFIG_CHECK: DEPTH_CONTROL code not compatible with OBCS'       &   'CONFIG_CHECK: DEPTH_CONTROL code not compatible with OBCS'
156          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
157          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
158        ENDIF        ENDIF
159  #endif  #endif
160    
# Line 156  C       code is being compiled Line 166  C       code is being compiled
166          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
167       &   'CONFIG_CHECK: exactConserv is TRUE'       &   'CONFIG_CHECK: exactConserv is TRUE'
168          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
169          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
170        ENDIF        ENDIF
171  #endif  #endif
172    
# Line 168  C       code is being compiled Line 178  C       code is being compiled
178          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
179       &   'CONFIG_CHECK: nonlinFreeSurf is non-zero'       &   'CONFIG_CHECK: nonlinFreeSurf is non-zero'
180          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
181          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
182        ENDIF        ENDIF
183  #endif  #endif
184    
# Line 180  C       code is being compiled Line 190  C       code is being compiled
190          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
191       &   'CONFIG_CHECK: ==> set #define NONLIN_FRSURF to use it'       &   'CONFIG_CHECK: ==> set #define NONLIN_FRSURF to use it'
192          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
193          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
194        ENDIF        ENDIF
195  #endif /* NONLIN_FRSURF */  #endif /* NONLIN_FRSURF */
196    
# Line 192  C       code is being compiled Line 202  C       code is being compiled
202          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
203       &   'CONFIG_CHECK: ==> set #undef DISABLE_RSTAR_CODE to use it'       &   'CONFIG_CHECK: ==> set #undef DISABLE_RSTAR_CODE to use it'
204          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
205          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
206        ENDIF        ENDIF
207  #endif /* DISABLE_RSTAR_CODE */  #endif /* DISABLE_RSTAR_CODE */
208    
# Line 204  C       code is being compiled Line 214  C       code is being compiled
214          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
215       &   'CONFIG_CHECK: ==> set #undef DISABLE_SIGMA_CODE to use it'       &   'CONFIG_CHECK: ==> set #undef DISABLE_SIGMA_CODE to use it'
216          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
217          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
218        ENDIF        ENDIF
219  #endif /* DISABLE_SIGMA_CODE */  #endif /* DISABLE_SIGMA_CODE */
220    
# Line 215  C       code is being compiled Line 225  C       code is being compiled
225          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
226       &   'CONFIG_CHECK: by useRealFreshWaterFlux=TRUE in data file'       &   'CONFIG_CHECK: by useRealFreshWaterFlux=TRUE in data file'
227          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
228          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
229  #endif  #endif
230    
231  #ifndef ALLOW_ADDFLUID  #ifndef ALLOW_ADDFLUID
# Line 226  C       code is being compiled Line 236  C       code is being compiled
236          WRITE(msgBuf,'(A,I4,A)') 'CONFIG_CHECK: selectAddFluid=',          WRITE(msgBuf,'(A,I4,A)') 'CONFIG_CHECK: selectAddFluid=',
237       &                           selectAddFluid, ' is not zero'       &                           selectAddFluid, ' is not zero'
238          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
239          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
240        ENDIF        ENDIF
241  #endif /* ALLOW_ADDFLUID */  #endif /* ALLOW_ADDFLUID */
242    
# Line 243  C       code is being compiled Line 253  C       code is being compiled
253          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
254       &  'Re-compile with:  #define ATMOSPHERIC_LOADING'       &  'Re-compile with:  #define ATMOSPHERIC_LOADING'
255          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
256          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
257        ENDIF        ENDIF
258        IF ( useRealFreshWaterFlux .AND. useThSIce ) THEN        IF ( useRealFreshWaterFlux .AND. useThSIce ) THEN
259          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
# Line 255  C       code is being compiled Line 265  C       code is being compiled
265          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
266       &  'Re-compile with:  #define ATMOSPHERIC_LOADING'       &  'Re-compile with:  #define ATMOSPHERIC_LOADING'
267          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
268          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
269        ENDIF        ENDIF
270  #endif  #endif
271    
# Line 268  C       code is being compiled Line 278  C       code is being compiled
278          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
279       &  'Re-compile with  ALLOW_BALANCE_FLUXES defined'       &  'Re-compile with  ALLOW_BALANCE_FLUXES defined'
280          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
281          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
282          ENDIF
283    #endif
284    
285    #ifndef ALLOW_BALANCE_RELAX
286          IF (balanceThetaClimRelax .OR. balanceSaltClimRelax) THEN
287            WRITE(msgBuf,'(A,A)')
288         &  'CONFIG_CHECK: balanceTheta/SaltClimRelax is set ',
289         &  'but balance code is not compiled.'
290            CALL PRINT_ERROR( msgBuf, myThid )
291            WRITE(msgBuf,'(A)')
292         &  'Re-compile with  ALLOW_BALANCE_RELAX defined'
293            CALL PRINT_ERROR( msgBuf, myThid )
294            errCount = errCount + 1
295        ENDIF        ENDIF
296  #endif  #endif
297    
# Line 281  C       code is being compiled Line 304  C       code is being compiled
304          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
305       &  'CONFIG_CHECK: Re-compile with ALLOW_SRCG defined'       &  'CONFIG_CHECK: Re-compile with ALLOW_SRCG defined'
306          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
307          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
308        ENDIF        ENDIF
309  #endif /* ALLOW_SRCG */  #endif /* ALLOW_SRCG */
310    
# Line 297  C--   Check parameter consistency : Line 320  C--   Check parameter consistency :
320       &  'CONFIG_CHECK: cannot use Biharmonic Visc. (viscA4) with',       &  'CONFIG_CHECK: cannot use Biharmonic Visc. (viscA4) with',
321       &  ' overlap (OLx,OLy) smaller than 3'       &  ' overlap (OLx,OLy) smaller than 3'
322          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
323          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
324        ENDIF        ENDIF
325        IF ( ( OLx.LT.3 .OR. OLy.LT.3 ) .AND.        IF ( ( OLx.LT.3 .OR. OLy.LT.3 ) .AND.
326       &     ( viscC2leithD.NE.0. .OR. viscC4leithD.NE.0. )       &     ( viscC2leithD.NE.0. .OR. viscC4leithD.NE.0. )
# Line 306  C--   Check parameter consistency : Line 329  C--   Check parameter consistency :
329       &  'CONFIG_CHECK: cannot use Leith Visc.(div.part) with',       &  'CONFIG_CHECK: cannot use Leith Visc.(div.part) with',
330       &  ' overlap (OLx,OLy) smaller than 3'       &  ' overlap (OLx,OLy) smaller than 3'
331          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
332          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
333        ENDIF        ENDIF
334    
335  C     Overlaps cannot be larger than interior tile except for special  #ifndef DISCONNECTED_TILES
336  C     cases  C     Overlaps cannot be larger than interior tile except for special cases
337        IF ( sNx.LT.OLx ) THEN        IF ( sNx.LT.OLx ) THEN
338  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
339         WRITE(msgBuf,'(A)')         WRITE(msgBuf,'(A)')
340       &  'CONFIG_CHECK: sNx<OLx not allowed with ALLOW_EXCH2 defined'       &  'CONFIG_CHECK: sNx<OLx not allowed with ALLOW_EXCH2 defined'
341         CALL PRINT_ERROR( msgBuf, myThid )         CALL PRINT_ERROR( msgBuf, myThid )
342         STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
343  #endif /* ALLOW_EXCH2 */  #endif /* ALLOW_EXCH2 */
344         IF ( Nx.NE.1 ) THEN         IF ( Nx.NE.1 ) THEN
345          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
346       &  'CONFIG_CHECK: sNx<OLx not allowed unless Nx=1'       &  'CONFIG_CHECK: sNx<OLx not allowed unless Nx=1'
347          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
348          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
349         ENDIF         ENDIF
350        ENDIF        ENDIF
351        IF ( sNy.LT.OLy ) THEN        IF ( sNy.LT.OLy ) THEN
# Line 330  C     cases Line 353  C     cases
353         WRITE(msgBuf,'(A)')         WRITE(msgBuf,'(A)')
354       &  'CONFIG_CHECK: sNy<OLy not allowed with ALLOW_EXCH2 defined'       &  'CONFIG_CHECK: sNy<OLy not allowed with ALLOW_EXCH2 defined'
355         CALL PRINT_ERROR( msgBuf, myThid )         CALL PRINT_ERROR( msgBuf, myThid )
356         STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
357  #endif /* ALLOW_EXCH2 */  #endif /* ALLOW_EXCH2 */
358         IF ( Ny.NE.1 ) THEN         IF ( Ny.NE.1 ) THEN
359          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
360       &  'CONFIG_CHECK: sNy<OLy not allowed unless Ny=1'       &  'CONFIG_CHECK: sNy<OLy not allowed unless Ny=1'
361          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
362          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
363         ENDIF         ENDIF
364        ENDIF        ENDIF
365    #endif /* ndef DISCONNECTED_TILES */
366    
367  C--   Deep-Atmosphere & Anelastic limitations:  C--   Deep-Atmosphere & Anelastic limitations:
368        IF ( deepAtmosphere .AND.        IF ( deepAtmosphere .AND.
# Line 347  C--   Deep-Atmosphere & Anelastic limita Line 371  C--   Deep-Atmosphere & Anelastic limita
371       &  'CONFIG_CHECK: Deep-Atmosphere not yet implemented with',       &  'CONFIG_CHECK: Deep-Atmosphere not yet implemented with',
372       &  ' real-Fresh-Water option in P-coordinate'       &  ' real-Fresh-Water option in P-coordinate'
373          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
374          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
375        ENDIF        ENDIF
376        IF ( select_rStar.NE.0 .AND.        IF ( select_rStar.NE.0 .AND.
377       &        ( deepAtmosphere .OR.       &        ( deepAtmosphere .OR.
# Line 356  C--   Deep-Atmosphere & Anelastic limita Line 380  C--   Deep-Atmosphere & Anelastic limita
380       &  'CONFIG_CHECK: Deep-Atmosphere or Anelastic',       &  'CONFIG_CHECK: Deep-Atmosphere or Anelastic',
381       &  ' not yet implemented with rStar'       &  ' not yet implemented with rStar'
382          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
383          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
384        ENDIF        ENDIF
385        IF ( vectorInvariantMomentum .AND.        IF ( vectorInvariantMomentum .AND.
386       &        ( deepAtmosphere .OR.       &        ( deepAtmosphere .OR.
# Line 365  C--   Deep-Atmosphere & Anelastic limita Line 389  C--   Deep-Atmosphere & Anelastic limita
389       &  'CONFIG_CHECK: Deep-Atmosphere or Anelastic',       &  'CONFIG_CHECK: Deep-Atmosphere or Anelastic',
390       &  ' not yet implemented in Vector-Invariant momentum code'       &  ' not yet implemented in Vector-Invariant momentum code'
391          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
392          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
393        ENDIF        ENDIF
394    
395  C--   Free-surface related limitations:  C--   Free-surface related limitations:
# Line 374  C--   Free-surface related limitations: Line 398  C--   Free-surface related limitations:
398       &  'CONFIG_CHECK: Cannot select both implicitFreeSurface',       &  'CONFIG_CHECK: Cannot select both implicitFreeSurface',
399       &  ' and rigidLid.'       &  ' and rigidLid.'
400          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
401          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
402        ENDIF        ENDIF
403    
404        IF (rigidLid .AND. exactConserv) THEN        IF (rigidLid .AND. exactConserv) THEN
# Line 384  C--   Free-surface related limitations: Line 408  C--   Free-surface related limitations:
408          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
409       &   'CONFIG_CHECK: rigidLid (meaningless in that case)'       &   'CONFIG_CHECK: rigidLid (meaningless in that case)'
410          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
411          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
412        ENDIF        ENDIF
413    
414        IF ( linFSConserveTr .AND. nonlinFreeSurf.NE.0 ) THEN        IF ( linFSConserveTr .AND. nonlinFreeSurf.NE.0 ) THEN
# Line 394  C--   Free-surface related limitations: Line 418  C--   Free-surface related limitations:
418          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
419       &   'CONFIG_CHECK: and Tracer Correction of Lin. Free Surf.'       &   'CONFIG_CHECK: and Tracer Correction of Lin. Free Surf.'
420          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
421          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
422        ENDIF        ENDIF
423    
424        IF (rigidLid .AND. useRealFreshWaterFlux) THEN        IF (rigidLid .AND. useRealFreshWaterFlux) THEN
# Line 404  C--   Free-surface related limitations: Line 428  C--   Free-surface related limitations:
428          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
429       &   'CONFIG_CHECK: rigidLid (meaningless in that case)'       &   'CONFIG_CHECK: rigidLid (meaningless in that case)'
430          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
431          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
432        ENDIF        ENDIF
433    
434        IF (nonlinFreeSurf.NE.0 .AND. .NOT.exactConserv) THEN        IF (nonlinFreeSurf.NE.0 .AND. .NOT.exactConserv) THEN
# Line 414  C--   Free-surface related limitations: Line 438  C--   Free-surface related limitations:
438          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
439       &   'CONFIG_CHECK: without exactConserv'       &   'CONFIG_CHECK: without exactConserv'
440          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
441          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
442        ENDIF        ENDIF
443    
444        IF (select_rStar.NE.0 .AND. .NOT.exactConserv) THEN        IF (select_rStar.NE.0 .AND. .NOT.exactConserv) THEN
# Line 424  C--   Free-surface related limitations: Line 448  C--   Free-surface related limitations:
448          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
449       &   'CONFIG_CHECK: without exactConserv'       &   'CONFIG_CHECK: without exactConserv'
450          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
451          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
452          ENDIF
453    
454          IF ( select_rStar.GE.1 .AND. nonlinFreeSurf.LE.0 ) THEN
455            WRITE(msgBuf,'(2A,I3,A)') 'CONFIG_CHECK: r* Coordinate',
456         &   ' (select_rStar=', select_rStar, ' ) cannot be used'
457            CALL PRINT_ERROR( msgBuf, myThid )
458            WRITE(msgBuf,'(2A,I3,A)') 'CONFIG_CHECK: ',
459         &   ' with Linear FreeSurf (nonlinFreeSurf=', nonlinFreeSurf,' )'
460            CALL PRINT_ERROR( msgBuf, myThid )
461            errCount = errCount + 1
462        ENDIF        ENDIF
463    
464        IF ( selectSigmaCoord.NE.0 ) THEN        IF ( selectSigmaCoord.NE.0 ) THEN
# Line 432  C--   Free-surface related limitations: Line 466  C--   Free-surface related limitations:
466          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
467       &   'CONFIG_CHECK: Sigma-Coords not yet coded for Oceanic set-up'       &   'CONFIG_CHECK: Sigma-Coords not yet coded for Oceanic set-up'
468          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
469          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
470         ENDIF         ENDIF
471         IF ( nonlinFreeSurf.LE.0 ) THEN         IF ( nonlinFreeSurf.LE.0 ) THEN
472          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
473       &   'CONFIG_CHECK: Sigma-Coords not coded for Lin-FreeSurf'       &   'CONFIG_CHECK: Sigma-Coords not coded for Lin-FreeSurf'
474          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
475          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
476         ENDIF         ENDIF
477         IF (select_rStar.NE.0 ) THEN         IF (select_rStar.NE.0 ) THEN
478          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
479       &   'CONFIG_CHECK: Sigma-Coords and rStar are not compatible'       &   'CONFIG_CHECK: Sigma-Coords and rStar are not compatible'
480          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
481          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
482         ENDIF         ENDIF
483          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
484       &   'CONFIG_CHECK: Sigma-Coords code neither complete nor tested'       &   'CONFIG_CHECK: Sigma-Coords code neither complete nor tested'
# Line 478  c     ENDIF Line 512  c     ENDIF
512          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
513       &   'CONFIG_CHECK: restart not implemented in this config'       &   'CONFIG_CHECK: restart not implemented in this config'
514          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
515          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
516        ENDIF        ENDIF
517    
518        IF ( useRealFreshWaterFlux .AND. .NOT.exactConserv        IF ( useRealFreshWaterFlux .AND. .NOT.exactConserv
# Line 502  c     ENDIF Line 536  c     ENDIF
536          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
537       &   'CONFIG_CHECK: requires exactConserv=T'       &   'CONFIG_CHECK: requires exactConserv=T'
538          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
539          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
540        ENDIF        ENDIF
541  #else  #else
542        IF (useRealFreshWaterFlux        IF (useRealFreshWaterFlux
# Line 525  c     ENDIF Line 559  c     ENDIF
559          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',
560       &       'should be =0 (Off), 1,2 (Add Mass) or -1 (Virtual Flux)'       &       'should be =0 (Off), 1,2 (Add Mass) or -1 (Virtual Flux)'
561          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
562          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
563        ENDIF        ENDIF
564        IF ( selectAddFluid.GE.1 .AND. rigidLid ) THEN        IF ( selectAddFluid.GE.1 .AND. rigidLid ) THEN
565          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
# Line 534  c     ENDIF Line 568  c     ENDIF
568          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
569       &   'CONFIG_CHECK: rigidLid (meaningless in that case)'       &   'CONFIG_CHECK: rigidLid (meaningless in that case)'
570          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
571          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
572        ENDIF        ENDIF
573        IF ( selectAddFluid.GE.1 .AND. .NOT.staggerTimeStep ) THEN        IF ( selectAddFluid.GE.1 .AND. .NOT.staggerTimeStep ) THEN
574          WRITE(msgBuf,'(2A)') '** WARNING ** CONFIG_CHECK: ',          WRITE(msgBuf,'(2A)') '** WARNING ** CONFIG_CHECK: ',
# Line 555  C--   Non-hydrostatic and 3-D solver rel Line 589  C--   Non-hydrostatic and 3-D solver rel
589          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
590       &   'CONFIG_CHECK: in nonHydrostatic code'       &   'CONFIG_CHECK: in nonHydrostatic code'
591          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
592          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
593        ENDIF        ENDIF
594    
595        IF ( implicitNHPress*implicSurfPress*implicDiv2Dflow.NE.1.        IF ( implicitNHPress*implicSurfPress*implicDiv2Dflow.NE.1.
# Line 566  C--   Non-hydrostatic and 3-D solver rel Line 600  C--   Non-hydrostatic and 3-D solver rel
600          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: To by-pass this',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: To by-pass this',
601       &    'STOP, comment this test and re-compile config_check'       &    'STOP, comment this test and re-compile config_check'
602          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
603          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
604        ENDIF        ENDIF
605        IF ( nonHydrostatic .AND. .NOT.exactConserv        IF ( nonHydrostatic .AND. .NOT.exactConserv
606       &     .AND. implicDiv2Dflow.NE.1. ) THEN       &     .AND. implicDiv2Dflow.NE.1. ) THEN
607          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: Needs exactConserv=T',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: Needs exactConserv=T',
608       &               ' for nonHydrostatic with implicDiv2Dflow < 1'       &               ' for nonHydrostatic with implicDiv2Dflow < 1'
609          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
610          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
611        ENDIF        ENDIF
612        IF ( nonHydrostatic .AND.        IF ( nonHydrostatic .AND.
613       &     implicitNHPress.NE.implicSurfPress ) THEN       &     implicitNHPress.NE.implicSurfPress ) THEN
# Line 614  C--   Momentum related limitations: Line 648  C--   Momentum related limitations:
648          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',
649       &   '"highOrderVorticity" conflicts with "upwindVorticity"'       &   '"highOrderVorticity" conflicts with "upwindVorticity"'
650          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
651          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
652           ENDIF
653          ENDIF
654          IF ( .NOT.vectorInvariantMomentum .AND. momAdvection ) THEN
655           IF ( usingCurvilinearGrid ) THEN
656            WRITE(msgBuf,'(2A)') '** WARNING ** CONFIG_CHECK: ',
657         &       'missing metric-terms for CurvilinearGrid'
658            CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
659         &                      SQUEEZE_RIGHT, myThid )
660           ENDIF
661           IF ( hasWetCSCorners ) THEN
662            WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: momAdvection ',
663         &   'in flux-form is wrong on CubedSphere grid (corners)'
664            CALL PRINT_ERROR( msgBuf, myThid )
665            errCount = errCount + 1
666         ENDIF         ENDIF
667        ENDIF        ENDIF
668        IF ( selectCoriMap.LT.0 .OR. selectCoriMap.GT.3 ) THEN        IF ( selectCoriMap.LT.0 .OR. selectCoriMap.GT.3 ) THEN
669          WRITE(msgBuf,'(2A,I4)') 'CONFIG_CHECK: ',          WRITE(msgBuf,'(2A,I4)') 'CONFIG_CHECK: ',
670       &       'Invalid option: selectCoriMap=', selectCoriMap       &       'Invalid option: selectCoriMap=', selectCoriMap
671          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
672          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
673        ENDIF        ENDIF
674    
675        IF (.NOT.useCDscheme .AND. (tauCD.NE.0. .OR. rCD.NE.-1.) ) THEN        IF (.NOT.useCDscheme .AND. (tauCD.NE.0. .OR. rCD.NE.-1.) ) THEN
# Line 638  C- jmc: but ultimately, this block can/w Line 686  C- jmc: but ultimately, this block can/w
686       &   'CONFIG_CHECK: to turn ON CD-scheme: => "useCDscheme=.TRUE."',       &   'CONFIG_CHECK: to turn ON CD-scheme: => "useCDscheme=.TRUE."',
687       &   ' in "data", namelist PARM01'       &   ' in "data", namelist PARM01'
688          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
689          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
690         ENDIF         ENDIF
691          WRITE(msgBuf,'(2A)') '** WARNING ** CONFIG_CHECK: ',          WRITE(msgBuf,'(2A)') '** WARNING ** CONFIG_CHECK: ',
692       &   'CD-scheme is OFF but params(tauCD,rCD) are set'       &   'CD-scheme is OFF but params(tauCD,rCD) are set'
693          CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,          CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
694       &                      SQUEEZE_RIGHT, myThid )       &                      SQUEEZE_RIGHT, myThid )
         WRITE(msgBuf,'(3A)') '** WARNING ** ',  
      &   'to turn ON CD-scheme: => "useCDscheme=.TRUE."',  
      &   ' in "data", namelist PARM01'  
695          WRITE(msgBuf,'(3A)') '** WARNING ** to turn ON CD-scheme:',          WRITE(msgBuf,'(3A)') '** WARNING ** to turn ON CD-scheme:',
696       &   ' => "useCDscheme=.TRUE." in "data", namelist PARM01'       &   ' => "useCDscheme=.TRUE." in "data", namelist PARM01'
697          CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,          CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
698       &                      SQUEEZE_RIGHT, myThid )       &                      SQUEEZE_RIGHT, myThid )
699        ENDIF        ENDIF
700    
701        IF ( useCDscheme .AND. useCubedSphereExchange ) THEN        IF ( useCDscheme .AND. hasWetCSCorners ) THEN
702          WRITE(msgBuf,'(2A)')          WRITE(msgBuf,'(2A)')
703       &   'CONFIG_CHECK: CD-scheme not implemented on CubedSphere grid'       &   'CONFIG_CHECK: CD-scheme not implemented on CubedSphere grid'
704          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
705  cph        STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
706        ENDIF        ENDIF
707    
708  C--   Time-stepping limitations  C--   Time-stepping limitations
# Line 668  C--   Time-stepping limitations Line 713  C--   Time-stepping limitations
713          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: momForcingOutAB ',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: momForcingOutAB ',
714       &                       'should be =1 (Out of AB) or =0 (In AB)'       &                       'should be =1 (Out of AB) or =0 (In AB)'
715          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
716          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
717        ENDIF        ENDIF
718        IF ( tracForcingOutAB.NE.0 .AND. tracForcingOutAB.NE.1 ) THEN        IF ( tracForcingOutAB.NE.0 .AND. tracForcingOutAB.NE.1 ) THEN
719          WRITE(msgBuf,'(A,I10,A)') 'CONFIG_CHECK: tracForcingOutAB=',          WRITE(msgBuf,'(A,I10,A)') 'CONFIG_CHECK: tracForcingOutAB=',
# Line 677  C--   Time-stepping limitations Line 722  C--   Time-stepping limitations
722          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: tracForcingOutAB ',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: tracForcingOutAB ',
723       &                       'should be =1 (Out of AB) or =0 (In AB)'       &                       'should be =1 (Out of AB) or =0 (In AB)'
724          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
725          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
726        ENDIF        ENDIF
727    
728  C--   Grid limitations:  C--   Grid limitations:
# Line 687  C--   Grid limitations: Line 732  C--   Grid limitations:
732       &       'CONFIG_CHECK: specifying Euler angles makes only ',       &       'CONFIG_CHECK: specifying Euler angles makes only ',
733       &       'sense with usingSphericalGrid=.TRUE.'       &       'sense with usingSphericalGrid=.TRUE.'
734          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
735          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
736         ENDIF         ENDIF
737         IF ( useFLT .OR. useZonal_Filt .OR. useECCO ) THEN         IF ( useFLT .OR. useZonal_Filt .OR. useECCO ) THEN
738          WRITE(msgBuf,'(2A)')          WRITE(msgBuf,'(2A)')
739       &       'CONFIG_CHECK: specifying Euler angles will probably ',       &       'CONFIG_CHECK: specifying Euler angles will probably ',
740       &       'not work with pkgs FLT, ZONAL_FLT, ECCO'       &       'not work with pkgs FLT, ZONAL_FLT, ECCO'
741          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
742          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
743         ENDIF         ENDIF
 #ifdef ALLOW_PROFILES  
         WRITE(msgBuf,'(2A)')  
      &       'CONFIG_CHECK: specifying Euler angles will probably ',  
      &       'not work with pkg profiles'  
         CALL PRINT_ERROR( msgBuf, myThid )  
         STOP 'ABNORMAL END: S/R CONFIG_CHECK'  
 #endif /* ALLOW_PROFILES */  
744        ENDIF        ENDIF
745    
746  C--   Packages conflict  C--   Packages conflict
# Line 710  C--   Packages conflict Line 748  C--   Packages conflict
748          WRITE(msgBuf,'(2A)')          WRITE(msgBuf,'(2A)')
749       &   'CONFIG_CHECK: cannot set both: useMATRIX & useGCHEM'       &   'CONFIG_CHECK: cannot set both: useMATRIX & useGCHEM'
750          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
751          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
752        ENDIF        ENDIF
753    
754        IF ( useMATRIX .AND. .NOT.usePTRACERS ) THEN        IF ( useMATRIX .AND. .NOT.usePTRACERS ) THEN
# Line 718  C--   Packages conflict Line 756  C--   Packages conflict
756       &       'CONFIG_CHECK: cannot set useMATRIX without ',       &       'CONFIG_CHECK: cannot set useMATRIX without ',
757       &       'setting usePTRACERS'       &       'setting usePTRACERS'
758          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
759          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          errCount = errCount + 1
760        ENDIF        ENDIF
761    
762        IF ( (useSEAICE .OR. useThSIce) .AND. allowFreezing ) THEN        IF ( (useSEAICE .OR. useThSIce) .AND. allowFreezing ) THEN
# Line 726  C--   Packages conflict Line 764  C--   Packages conflict
764       &       'CONFIG_CHECK: cannot set allowFreezing',       &       'CONFIG_CHECK: cannot set allowFreezing',
765       &       ' with pkgs SEAICE or THSICE'       &       ' with pkgs SEAICE or THSICE'
766          CALL PRINT_ERROR( msgBuf, myThid )          CALL PRINT_ERROR( msgBuf, myThid )
767            errCount = errCount + 1
768          ENDIF
769    
770          IF ( errCount.GE.1 ) THEN
771            WRITE(msgBuf,'(A,I3,A)')
772         &       'CONFIG_CHECK: detected', errCount,' fatal error(s)'
773            CALL PRINT_ERROR( msgBuf, myThid )
774            CALL ALL_PROC_DIE( 0 )
775          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
776        ENDIF        ENDIF
777          _END_MASTER(myThid)
778    
779        WRITE(msgBuf,'(A)')  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
780       &'// ======================================================='  
781        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        _BEGIN_MASTER(myThid)
      &                    SQUEEZE_RIGHT, myThid )  
782        WRITE(msgBuf,'(A)') '// CONFIG_CHECK : Normal End'        WRITE(msgBuf,'(A)') '// CONFIG_CHECK : Normal End'
783        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
784       &                    SQUEEZE_RIGHT, myThid )       &                    SQUEEZE_RIGHT, myThid )
# Line 743  C--   Packages conflict Line 789  C--   Packages conflict
789        WRITE(msgBuf,'(A)') ' '        WRITE(msgBuf,'(A)') ' '
790        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,        CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
791       &                    SQUEEZE_RIGHT, myThid )       &                    SQUEEZE_RIGHT, myThid )
792          _END_MASTER(myThid)
793    
794        RETURN        RETURN
795        END        END

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.69

  ViewVC Help
Powered by ViewVC 1.1.22