C $Header: /u/gcmpack/MITgcm/pkg/offline/offline_reset_parms.F,v 1.4 2015/07/18 21:49:08 jmc Exp $ C $Name: $ #include "OFFLINE_OPTIONS.h" C !INTERFACE: ========================================================== SUBROUTINE OFFLINE_RESET_PARMS( myThid ) C !DESCRIPTION: C reset some of the main-code parameters for offline calculation C !USES: =============================================================== IMPLICIT NONE #include "SIZE.h" #include "EEPARAMS.h" #include "PARAMS.h" #include "OFFLINE.h" C !INPUT PARAMETERS: =================================================== C myThid :: my Thread Id. number INTEGER myThid CEOP C !FUNCTIONS: c INTEGER ILNBLNK c EXTERNAL ILNBLNK C !LOCAL VARIABLES: C msgBuf :: Informational/error message buffer CHARACTER*(MAX_LEN_MBUF) msgBuf _BEGIN_MASTER(myThid) C- For off-line calculation, switch off Momentum and Active-tracers (=T,S): WRITE(msgBuf,'(A,A)') ' OFFLINE_RESET_PARMS: ', & '=> turn off Temp,Salt & Mom_Stepping flags' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT, myThid ) tempStepping = .FALSE. saltStepping = .FALSE. momStepping = .FALSE. C- Switch off dynstat monitor (but keep one @ the end) c IF ( monitorFreq.GT.0. ) THEN c monitorFreq = endTime c WRITE(msgBuf,'(A,A,1PE18.10)') ' OFFLINE_RESET_PARMS: ', c & '=> reset monitorFreq to:', monitorFreq c CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, c & SQUEEZE_RIGHT, myThid ) c ENDIF IF ( Wvelfile .EQ. ' ' ) THEN C-- Make sure we compute vertical velocity since it is not read from a file IF ( .NOT.exactConserv ) THEN WRITE(msgBuf,'(A,A)') '** WARNING ** OFFLINE_RESET_PARMS: ', & '=> turn on exactConserv to compute wVel' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT, myThid ) CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, & SQUEEZE_RIGHT, myThid ) exactConserv = .TRUE. ENDIF ELSE C-- Vertical velocity is read from a file: make sure it is not re-computed IF ( exactConserv ) THEN WRITE(msgBuf,'(A,A)') '** WARNING ** OFFLINE_RESET_PARMS: ', & '=> turn off exactConserv to skip wVel calc' CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, & SQUEEZE_RIGHT, myThid ) CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, & SQUEEZE_RIGHT, myThid ) exactConserv = .FALSE. ENDIF ENDIF _END_MASTER(myThid) RETURN END