I tried to make the following editions for saving my results after a constant interval using VARIABLE TIME-STEP=YES. Apparently, I am able to save outputs after every 3600 seconds.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C LISTING PRINTOUT PERIOD at a constant interval using variable time step, I need to only update the following line in TELEMAC SUBROUTINE:
INTEGER AQ_AT,AQ_ATT,AQ_DIFF,AT_DIFF_K,AQ_DUPLICATE
C ORIGINAL CODE
C IF((LISPRD*(LT/LISPRD).EQ.LT.AND.LT.GE.PTINIL).OR.LT.EQ.NIT) THEN
C ENTET=LISTIN
C ELSE
C ENTET=.FALSE.
C ENDIF
!ORIGINAL- ENDS
WITH
!EDIT FOR PRENTOUT WITH VARIABLE TIME STEP
AQ_ATT=(INT(AT)/INT(LISPRD))*INT(LISPRD)
AQ_AT=INT(AT)
AQ_DIFF=ABS(AQ_AT-AQ_ATT)
AT_DIFF_K=INT(DT)!Thresh hold coefficient
IF(LT.EQ.1)THEN
AQ_DUPLICATE=AQ_DIFF
ENDIF
IF((AQ_DIFF.LE.AT_DIFF_K.AND.AQ_DUPLICATE.NE.AQ_ATT.
& AND.LT.GE.PTINIL).OR.LT.EQ.NIT) THEN
ENTET=LISTIN
AQ_DUPLICATE=AQ_ATT!Avoid many saving/printing when DT<1 AS AQ_DIFF IS INT.
ELSE
ENTET=.FALSE.
ENDIF
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C For graphics printout at a constant interval using variable time step, I need to update the following code in SUBROUTINE PRERES_TELEMAC2D:
INTEGER AQ_AT,AQ_ATT,AQ_DIFF,AT_DIFF_K!AQ=EDITION
INTEGER AQ_DUPLICATE1!EDIT
SAVE AT_DIFF_K,AQ_DUPLICATE1!EDIT
! Always write the initial conditions
IF(LT.EQ.0) THEN
IMP=.TRUE.
LEO=.TRUE.
COMPLEO=0
ELSE
IF(EQUA(1:15).NE.'SAINT-VENANT VF') THEN
! FEM
AQ_ATT=(INT(AT)/INT(LISPRD))*INT(LISPRD)!EDIT
AQ_AT=INT(AT)!EDIT
AQ_DIFF=ABS(AQ_AT-AQ_ATT)!EDIT
AT_DIFF_K=INT(DT)!!EDIT Thresh hold coefficient set by.
LTT=(LT/LISPRD)*LISPRD
IF(LT.EQ.LTT.AND.LT.GE.PTINIL) IMP=.TRUE.
LTT=(LT/LEOPRD)*LEOPRD
C IF(LT.EQ.LTT.AND.LT.GE.PTINIG) LEO=.TRUE.!ORIGINAL
IF(LT.EQ.1)THEN!EDIT
AQ_DUPLICATE1=AQ_DIFF!EDIT
ENDIF!EDIT
IF(AQ_DIFF.LE.AT_DIFF_K.AND.AQ_DUPLICATE1.NE.AQ_ATT.
& AND.LT.GE.PTINIG) LEO=.TRUE.!EDIT
IF(LEO)THEN!EDIT
AQ_DUPLICATE1=AQ_ATT!!EDIT Avoid many saving/printing when DT<1 AS AQ_DIFF IS INT
ENDIF!EDIT
! FOR GRAPHICAL OUTPUTS
IF(LEO)COMPLEO=COMPLEO+1
ELSE
C And SUBROUTINE BIEF_DESIMP should be updated with the following lines. The subroutine can be found in C:\opentelemac-mascaret\v7p2r0\sources\utils\bief
! LOGICAL THAT DEFINE THE OUTPUTS
!
&(FORMAT_RES,VARSOR,N,NRES,STD,AT,LT,LISPRD,LEOPRD,
& SORLEO,SORIMP,MAXVAR,TEXTE,PTINIG,PTINIL,MESH,
& IIMP,ILEO,COMPGRAPH)
INTEGER AQ_AT,AQ_ATT,AQ_DIFF,AT_DIFF_K,AQ_DUPLICATE
IF(PRESENT(IIMP).AND.PRESENT(ILEO))THEN
IMP=IIMP
LEO=ILEO
ELSE
IMP=.FALSE.
LEO=.FALSE.
AQ_ATT=(INT(AT)/INT(LISPRD))*INT(LISPRD)
AQ_AT=INT(AT)
AQ_DIFF=ABS(AQ_AT-AQ_ATT)
IF(LT.EQ.1)THEN
AQ_DUPLICATE=AQ_DIFF
ENDIF
LTT=(LT/LISPRD)*LISPRD
IF(LT.EQ.LTT.AND.LT.GE.PTINIL) IMP=.TRUE.
LTT=(LT/LEOPRD)*LEOPRD
IF(AQ_DIFF.LE.AT_DIFF_K.AND.AQ_DUPLICATE.NE.AQ_AT.
& AND.LT.GE.PTINIG) LEO=.TRUE.
!SAVE LAST AQ_DIFF
IF(LEO)THEN
AQ_DUPLICATE=AQ_AT!Avoid many saving/printing when DT<1 AS AQ_DIFF IS INT
ENDIF
C IF(LT.EQ.LTT.AND.LT.GE.PTINIG) LEO=.TRUE.!ORIGINAL
IF(LT.EQ.0) LEO=.TRUE.
ENDIF