40 |
|
|
41 |
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: |
42 |
|
|
|
#ifndef ALLOW_MNC |
|
|
IF (useMNC) THEN |
|
|
WRITE(msgBuf,'(2A)') '**WARNING** ', |
|
|
& 'CONFIG_CHECK: useMNC is TRUE and #undef ALLOW_MNC' |
|
|
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
|
|
& SQUEEZE_RIGHT , myThid) |
|
|
ENDIF |
|
|
#endif |
|
|
|
|
|
#ifndef ALLOW_CD_CODE |
|
|
IF (useCDscheme) THEN |
|
|
WRITE(msgBuf,'(A)') |
|
|
& 'CONFIG_CHECK: useCDscheme is TRUE and #undef ALLOW_CD_CODE' |
|
|
CALL PRINT_ERROR( msgBuf , myThid) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
IF (tauCD.NE.0.) THEN |
|
|
WRITE(msgBuf,'(2A)') |
|
|
& 'CONFIG_CHECK: tauCD has been set but the cd_code package is', |
|
|
& ' enabled' |
|
|
CALL PRINT_ERROR( msgBuf , myThid) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
#endif |
|
|
|
|
43 |
#ifndef ALLOW_NONHYDROSTATIC |
#ifndef ALLOW_NONHYDROSTATIC |
44 |
IF (use3Dsolver) THEN |
IF (use3Dsolver) THEN |
45 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
181 |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
182 |
ENDIF |
ENDIF |
183 |
#endif |
#endif |
|
|
|
|
#ifndef ALLOW_MOM_VECINV |
|
|
IF ( momStepping .AND. vectorInvariantMomentum ) THEN |
|
|
WRITE(msgBuf,'(2A)') |
|
|
& 'CONFIG_CHECK: cannot step forward Momentum', |
|
|
& ' without pkg/mom_vecinv' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ', |
|
|
& 'Re-compile with pkg "mom_vecinv" in packages.conf' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
#endif |
|
|
#ifndef ALLOW_MOM_FLUXFORM |
|
|
IF ( momStepping .AND. .NOT.vectorInvariantMomentum ) THEN |
|
|
WRITE(msgBuf,'(2A)') |
|
|
& 'CONFIG_CHECK: cannot step forward Momentum', |
|
|
& ' without pkg/mom_fluxform' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ', |
|
|
& 'Re-compile with pkg "mom_fluxform" in packages.conf' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
#endif |
|
|
|
|
|
#ifndef ALLOW_GENERIC_ADVDIFF |
|
|
IF ( tempStepping .OR. saltStepping ) THEN |
|
|
WRITE(msgBuf,'(2A)') |
|
|
& 'CONFIG_CHECK: cannot step forward Temp or Salt', |
|
|
& ' without pkg/generic_advdiff' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
WRITE(msgBuf,'(2A)') 'CONFIG_CHECK: ', |
|
|
& 'Re-compile with pkg "generic_advdiff" in packages.conf' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
#endif |
|
|
|
|
|
C o If taveFreq is finite, then we must make sure the diagnostics |
|
|
C code is being compiled |
|
|
#ifndef ALLOW_TIMEAVE |
|
|
IF (taveFreq.NE.0.) THEN |
|
|
WRITE(msgBuf,'(A)') |
|
|
& 'CONFIG_CHECK: taveFreq <> 0 but pkg/timeave is not compiled' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
WRITE(msgBuf,'(A)') |
|
|
& 'Re-compile with pkg "timeave" in packages.conf' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
|
STOP 'ABNORMAL END: S/R CONFIG_CHECK' |
|
|
ENDIF |
|
|
#endif |
|
184 |
|
|
185 |
#ifndef ALLOW_BALANCE_FLUXES |
#ifndef ALLOW_BALANCE_FLUXES |
186 |
IF (balanceEmPmR .OR. balanceQnet) THEN |
IF (balanceEmPmR .OR. balanceQnet) THEN |