/[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.49 by jmc, Mon Apr 7 21:15:06 2008 UTC revision 1.50 by jmc, Sun Aug 24 21:47:57 2008 UTC
# Line 42  C-  check that CPP option is "defined" w Line 42  C-  check that CPP option is "defined" w
42    
43  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
44  C       code is being compiled  C       code is being compiled
45  #if !(defined ALLOW_3D_DIFFKR || \  #ifndef ALLOW_3D_DIFFKR
       (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL)))  
46        IF (diffKrFile.NE.' ') THEN        IF (diffKrFile.NE.' ') THEN
47          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
48       &  'CONFIG_CHECK: diffKrFile is set but never used.'       &  'CONFIG_CHECK: diffKrFile is set but never used.'
# Line 168  C       code is being compiled Line 167  C       code is being compiled
167          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
168  #endif  #endif
169    
170    #ifndef ALLOW_ADDFLUID
171          IF ( selectAddFluid.NE.0 ) THEN
172            WRITE(msgBuf,'(A)')
173         &   'CONFIG_CHECK: #undef ALLOW_ADDFLUID and'
174            CALL PRINT_ERROR( msgBuf, myThid )
175            WRITE(msgBuf,'(A,I4,A)') 'CONFIG_CHECK: selectAddFluid=',
176         &                           selectAddFluid, ' is not zero'
177            CALL PRINT_ERROR( msgBuf, myThid )
178            STOP 'ABNORMAL END: S/R CONFIG_CHECK'
179          ENDIF
180    #endif /* ALLOW_ADDFLUID */
181    
182  C     o If pLoadFile is set, then we should make sure the corresponing  C     o If pLoadFile is set, then we should make sure the corresponing
183  C       code is being compiled  C       code is being compiled
184  #ifndef ATMOSPHERIC_LOADING  #ifndef ATMOSPHERIC_LOADING
# Line 301  C--   Free-surface related limitations: Line 312  C--   Free-surface related limitations:
312          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
313        ENDIF        ENDIF
314    
315        IF ( (implicSurfPress.NE.1. .OR. implicDiv2DFlow.NE.1.)        IF ( (implicSurfPress.NE.1. .OR. implicDiv2Dflow.NE.1.)
316       &    .AND. nonHydrostatic ) THEN       &    .AND. nonHydrostatic ) THEN
317          WRITE(msgBuf,'(A,A)') 'CONFIG_CHECK: nonHydrostatic',          WRITE(msgBuf,'(A,A)') 'CONFIG_CHECK: nonHydrostatic',
318       & ' NOT SAFE with non-fully implicit Barotropic solver'       & ' NOT SAFE with non-fully implicit Barotropic solver'
# Line 334  C--   Free-surface related limitations: Line 345  C--   Free-surface related limitations:
345    
346  C- note : not implemented in checkpoint48b but it's done now (since 01-28-03)  C- note : not implemented in checkpoint48b but it's done now (since 01-28-03)
347  c     IF (select_rStar.GT.0 .AND. useOBCS ) THEN  c     IF (select_rStar.GT.0 .AND. useOBCS ) THEN
 c       WRITE(msgBuf,'(A)')  
 c    &   'CONFIG_CHECK: r* Coordinate not yet implemented'  
 c       CALL PRINT_ERROR( msgBuf , 1)  
 c       WRITE(msgBuf,'(A)')  
 c    &   'CONFIG_CHECK: in OBC package'  
 c       CALL PRINT_ERROR( msgBuf , 1)  
348  c       STOP 'ABNORMAL END: S/R CONFIG_CHECK'  c       STOP 'ABNORMAL END: S/R CONFIG_CHECK'
349  c     ENDIF  c     ENDIF
350    
# Line 367  c     IF (nonlinFreeSurf.NE.0 .AND. nonH Line 372  c     IF (nonlinFreeSurf.NE.0 .AND. nonH
372        ENDIF        ENDIF
373    
374        IF ( useRealFreshWaterFlux .AND. exactConserv        IF ( useRealFreshWaterFlux .AND. exactConserv
375       &     .AND. implicDiv2DFlow.EQ.0. _d 0       &     .AND. implicDiv2Dflow.EQ.0. _d 0
376       &     .AND. startTime.NE.baseTime .AND. usePickupBeforeC54 ) THEN       &     .AND. startTime.NE.baseTime .AND. usePickupBeforeC54 ) THEN
377          WRITE(msgBuf,'(A)')          WRITE(msgBuf,'(A)')
378       &   'CONFIG_CHECK: RealFreshWaterFlux+implicSurfP=0+exactConserv:'       &   'CONFIG_CHECK: RealFreshWaterFlux+implicSurfP=0+exactConserv:'
# Line 379  c     IF (nonlinFreeSurf.NE.0 .AND. nonH Line 384  c     IF (nonlinFreeSurf.NE.0 .AND. nonH
384        ENDIF        ENDIF
385    
386        IF ( useRealFreshWaterFlux .AND. .NOT.exactConserv        IF ( useRealFreshWaterFlux .AND. .NOT.exactConserv
387       &     .AND. implicDiv2DFlow.NE.1. ) THEN       &     .AND. implicDiv2Dflow.NE.1. ) THEN
388          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: **WARNNING** ',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: **WARNNING** ',
389       &   'RealFreshWater & implicDiv2DFlow < 1'       &   'RealFreshWater & implicDiv2Dflow < 1'
390          CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,          CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
391       &                    SQUEEZE_RIGHT , myThid)       &                    SQUEEZE_RIGHT , myThid)
392          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: works better',          WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: works better',
# Line 415  c     IF (nonlinFreeSurf.NE.0 .AND. nonH Line 420  c     IF (nonlinFreeSurf.NE.0 .AND. nonH
420        ENDIF        ENDIF
421  #endif /* EXACT_CONSERV */  #endif /* EXACT_CONSERV */
422    
423          IF ( selectAddFluid.LT.-1 .OR. selectAddFluid.GT.2 ) THEN
424            WRITE(msgBuf,'(A,I10,A)') 'CONFIG_CHECK: selectAddFluid=',
425         &                             selectAddFluid, ' not allowed'
426            CALL PRINT_ERROR( msgBuf , myThid)
427            WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ',
428         &       'should be =0 (Off), 1,2 (Add Mass) or -1 (Virtual Flux)'
429            CALL PRINT_ERROR( msgBuf , myThid)
430            STOP 'ABNORMAL END: S/R CONFIG_CHECK'
431          ENDIF
432          IF ( selectAddFluid.GE.1 .AND. rigidLid ) THEN
433            WRITE(msgBuf,'(A)')
434         &   'CONFIG_CHECK: selectAddFluid > 0 not compatible with'
435            CALL PRINT_ERROR( msgBuf , myThid)
436            WRITE(msgBuf,'(A)')
437         &   'CONFIG_CHECK: rigidLid (meaningless in that case)'
438            CALL PRINT_ERROR( msgBuf , myThid)
439            STOP 'ABNORMAL END: S/R CONFIG_CHECK'
440          ENDIF
441          IF ( selectAddFluid.GE.1 .AND. .NOT.staggerTimeStep ) THEN
442            WRITE(msgBuf,'(2A)') '**WARNNING** ',
443         &   'CONFIG_CHECK: synchronous time-stepping =>'
444            CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
445         &                      SQUEEZE_RIGHT , myThid)
446            WRITE(msgBuf,'(2A)') '**WARNNING** ',
447         &   '1 time-step mismatch in AddFluid effects on T & S'
448            CALL PRINT_MESSAGE( msgBuf, errorMessageUnit,
449         &                      SQUEEZE_RIGHT , myThid)
450          ENDIF
451    
452  C--   Momentum related limitations:  C--   Momentum related limitations:
453        IF ( vectorInvariantMomentum.AND.momStepping ) THEN        IF ( vectorInvariantMomentum.AND.momStepping ) THEN
454         IF ( highOrderVorticity.AND.upwindVorticity ) THEN         IF ( highOrderVorticity.AND.upwindVorticity ) THEN
# Line 519  C--   Packages conflict Line 553  C--   Packages conflict
553          CALL PRINT_ERROR( msgBuf , myThid)          CALL PRINT_ERROR( msgBuf , myThid)
554          STOP 'ABNORMAL END: S/R CONFIG_CHECK'          STOP 'ABNORMAL END: S/R CONFIG_CHECK'
555        ENDIF        ENDIF
556    
557          IF ( (useSEAICE .OR. useThSIce) .AND. allowFreezing ) THEN
558            WRITE(msgBuf,'(2A)')
559         &       'CONFIG_CHECK: cannot set allowFreezing',
560         &       ' with pkgs SEAICE or THSICE'
561            CALL PRINT_ERROR( msgBuf , myThid)
562            STOP 'ABNORMAL END: S/R CONFIG_CHECK'
563          ENDIF
564    
565        WRITE(msgBuf,'(A)')        WRITE(msgBuf,'(A)')
566       &'// ======================================================='       &'// ======================================================='

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

  ViewVC Help
Powered by ViewVC 1.1.22