/[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.45 by mlosch, Fri Feb 8 07:57:44 2008 UTC revision 1.49 by jmc, Mon Apr 7 21:15:06 2008 UTC
# Line 212  C       code is being compiled Line 212  C       code is being compiled
212    
213  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
214    
215  C-  check parameter consistency :  C--   Check parameter consistency :
216    
217        IF ( ( Olx.LT.3 .OR. Oly.LT.3 ) .AND.        IF ( ( Olx.LT.3 .OR. Oly.LT.3 ) .AND.
218       &     ( viscC4leithD.NE.0.  .OR. viscC4leith.NE.0.       &     ( viscC4leithD.NE.0.  .OR. viscC4leith.NE.0.
# Line 234  C-  check parameter consistency : Line 234  C-  check parameter consistency :
234          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
235        ENDIF        ENDIF
236    
237  C-    Deep-Atmosphere & Anelastic limitations:  C--   Deep-Atmosphere & Anelastic limitations:
238        IF ( deepAtmosphere .AND.        IF ( deepAtmosphere .AND.
239       &     useRealFreshWaterFlux .AND. usingPCoords ) THEN       &     useRealFreshWaterFlux .AND. usingPCoords ) THEN
240          WRITE(msgBuf,'(A,A)')          WRITE(msgBuf,'(A,A)')
# Line 262  C-    Deep-Atmosphere & Anelastic limita Line 262  C-    Deep-Atmosphere & Anelastic limita
262          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
263        ENDIF        ENDIF
264    
265    C--   Free-surface related limitations:
266        IF ( rigidLid .AND. implicitFreeSurface ) THEN        IF ( rigidLid .AND. implicitFreeSurface ) THEN
267          WRITE(msgBuf,'(A,A)')          WRITE(msgBuf,'(A,A)')
268       &  'CONFIG_CHECK: Cannot select both implicitFreeSurface',       &  'CONFIG_CHECK: Cannot select both implicitFreeSurface',
# Line 414  c     IF (nonlinFreeSurf.NE.0 .AND. nonH Line 415  c     IF (nonlinFreeSurf.NE.0 .AND. nonH
415        ENDIF        ENDIF
416  #endif /* EXACT_CONSERV */  #endif /* EXACT_CONSERV */
417    
418    C--   Momentum related limitations:
419          IF ( vectorInvariantMomentum.AND.momStepping ) THEN
420           IF ( highOrderVorticity.AND.upwindVorticity ) THEN
421            WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',
422         &   '"highOrderVorticity" conflicts with "upwindVorticity"'
423            CALL PRINT_ERROR( msgBuf , myThid)
424            STOP 'ABNORMAL END: S/R CONFIG_CHECK'
425           ENDIF
426          ENDIF
427    
428        IF (.NOT.useCDscheme .AND. (tauCD.NE.0. .OR. rCD.NE.-1.) ) THEN        IF (.NOT.useCDscheme .AND. (tauCD.NE.0. .OR. rCD.NE.-1.) ) THEN
429  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),
430  C       put this WARNING to stress that even if CD-scheme parameters  C       put this WARNING to stress that even if CD-scheme parameters
# Line 448  C- jmc: but ultimately, this block can/w Line 459  C- jmc: but ultimately, this block can/w
459          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
460        ENDIF        ENDIF
461    
462    C--   Time-stepping limitations
463        IF ( momForcingOutAB.NE.0 .AND. momForcingOutAB.NE.1 ) THEN        IF ( momForcingOutAB.NE.0 .AND. momForcingOutAB.NE.1 ) THEN
464          WRITE(msgBuf,'(A,I10,A)') 'CONFIG_CHECK: momForcingOutAB=',          WRITE(msgBuf,'(A,I10,A)') 'CONFIG_CHECK: momForcingOutAB=',
465       &                             momForcingOutAB, ' not allowed'       &                             momForcingOutAB, ' not allowed'
# Line 467  C- jmc: but ultimately, this block can/w Line 479  C- jmc: but ultimately, this block can/w
479          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
480        ENDIF        ENDIF
481    
482        IF ( useMATRIX .AND. useGCHEM ) THEN  C--   Grid limitations:
         WRITE(msgBuf,'(2A)')  
      &   'CONFIG_CHECK: cannot set both: useMATRIX & useGCHEM'  
         CALL PRINT_ERROR( msgBuf , myThid)  
         STOP 'ABNORMAL END: S/R CONFIG_CHECK'  
       ENDIF  
   
       IF ( useMATRIX .AND. .NOT.usePTRACERS ) THEN  
         WRITE(msgBuf,'(2A)')  
      &       'CONFIG_CHECK: cannot set useMATRIX without ',  
      &       'setting usePTRACERS'  
         CALL PRINT_ERROR( msgBuf , myThid)  
         STOP 'ABNORMAL END: S/R CONFIG_CHECK'  
       ENDIF  
   
483        IF ( rotateGrid ) THEN        IF ( rotateGrid ) THEN
484         IF ( .NOT. usingSphericalPolarGrid ) THEN         IF ( .NOT. usingSphericalPolarGrid ) THEN
485          WRITE(msgBuf,'(2A)')          WRITE(msgBuf,'(2A)')
# Line 497  C- jmc: but ultimately, this block can/w Line 495  C- jmc: but ultimately, this block can/w
495          CALL PRINT_ERROR( msgBuf , myThid)          CALL PRINT_ERROR( msgBuf , myThid)
496          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
497         ENDIF         ENDIF
        IF ( use3dCoriolis ) THEN  
         WRITE(msgBuf,'(3A)')  
      &       'CONFIG_CHECK: computation of angleCosC and angleSinC ',  
      &       'as required by use3dCoriolis ',  
      &       'not yet implemented with rotated grid. Sorry!'  
         CALL PRINT_ERROR( msgBuf , myThid)  
         STOP 'ABNORMAL END: S/R CONFIG_CHECK'  
        ENDIF  
498  #ifdef ALLOW_PROFILES  #ifdef ALLOW_PROFILES
499          WRITE(msgBuf,'(2A)')          WRITE(msgBuf,'(2A)')
500       &       'CONFIG_CHECK: specifying Euler angles will probably ',       &       'CONFIG_CHECK: specifying Euler angles will probably ',
# Line 514  C- jmc: but ultimately, this block can/w Line 504  C- jmc: but ultimately, this block can/w
504  #endif /* ALLOW_PROFILES */  #endif /* ALLOW_PROFILES */
505        ENDIF        ENDIF
506    
507        WRITE(msgBuf,'(A)') 'CONFIG_CHECK: OK'  C--   Packages conflict
508        CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,        IF ( useMATRIX .AND. useGCHEM ) THEN
509       &                   SQUEEZE_RIGHT,myThid)          WRITE(msgBuf,'(2A)')
510         &   'CONFIG_CHECK: cannot set both: useMATRIX & useGCHEM'
511            CALL PRINT_ERROR( msgBuf , myThid)
512            STOP 'ABNORMAL END: S/R CONFIG_CHECK'
513          ENDIF
514    
515          IF ( useMATRIX .AND. .NOT.usePTRACERS ) THEN
516            WRITE(msgBuf,'(2A)')
517         &       'CONFIG_CHECK: cannot set useMATRIX without ',
518         &       'setting usePTRACERS'
519            CALL PRINT_ERROR( msgBuf , myThid)
520            STOP 'ABNORMAL END: S/R CONFIG_CHECK'
521          ENDIF
522    
523          WRITE(msgBuf,'(A)')
524         &'// ======================================================='
525          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
526         &                    SQUEEZE_RIGHT, myThid )
527          WRITE(msgBuf,'(A)') '// CONFIG_CHECK : Normal End'
528          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
529         &                    SQUEEZE_RIGHT, myThid )
530          WRITE(msgBuf,'(A)')
531         &'// ======================================================='
532          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
533         &                    SQUEEZE_RIGHT, myThid )
534          WRITE(msgBuf,'(A)') ' '
535          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
536         &                    SQUEEZE_RIGHT, myThid )
537    
538        RETURN        RETURN
539        END        END

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.49

  ViewVC Help
Powered by ViewVC 1.1.22