C $Header: /u/gcmpack/MITgcm/pkg/mnc/mnc_update_time.F,v 1.1 2011/05/23 00:27:24 jmc Exp $
C $Name: $
#include "MNC_OPTIONS.h"
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
CBOP 0
C !ROUTINE: MNC_UPDATE_TIME
C !INTERFACE:
SUBROUTINE MNC_UPDATE_TIME(
I myTime, myIter, myThid )
C !DESCRIPTION:
C Update MNC time and iteration information
C !USES:
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "MNC_PARAMS.h"
C !INPUT PARAMETERS:
C myTime :: my current time in simulation
C myIter :: my current iteration number in simulation
C myThid :: my Thread Id. number
_RL myTime
INTEGER myIter
INTEGER myThid
CEOP
#ifdef ALLOW_MNC
C !FUNCTIONS:
EXTERNAL
LOGICAL DIFFERENT_MULTIPLE
C !LOCAL VARIABLES:
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
c IF ( useMNC ) THEN
C Update the default next iter for MNC
CALL MNC_CW_CITER_SETG( 1, 1, -1, myIter , myThid )
C TODO: Logic should be added here so that users can specify, on
C a per-citer-group basis, when it is time to update the
C "current" (and not just the "next") iteration
C TODO: the following is just a temporary band-aid (mostly, for
C Baylor) until someone writes a routine that better handles time
C boundaries such as weeks, months, years, etc.
IF ( mnc_filefreq .GT. 0 ) THEN
IF (DIFFERENT_MULTIPLE(mnc_filefreq,myTime,deltaTClock))
& THEN
CALL MNC_CW_CITER_SETG( 1, 1, myIter, -1 , myThid )
ENDIF
ENDIF
c ENDIF
#endif /* ALLOW_MNC */
RETURN
END