anchor.diff:      implicit none
       integer(kind=kint) :: ISTEP, ITM, incr, iterALL, i, inod, mnod, max_step, tstep, interval, bup_n_dof
       integer(kind=kint) :: total_step
  -    real(kind=kreal)   :: start_time, delta_time, current_time, next_time, total_time, end_time, DELMAX, DELMIN
  -    real(kind=kreal)   :: val, CHK, tmpmax, dltmp, tmpmax_myrank
  +    real(kind=kreal)   :: start_time, delta_time_base, delta_time, current_time, next_time, end_time, DELMAX, DELMIN
  +    real(kind=kreal)   :: val, CHK, tmpmax, dltmp, tmpmax_myrank, remain_time
       type(hecmwST_local_mesh)  :: hecMESH
       type(hecmwST_matrix)      :: hecMAT
       type(hecmwST_result_data) :: fstrRESULT
  
positive.code:     if(ISTEP == 1)then
        start_time = 0.0d0
      else
        start_time = 0.0d0
        do i = 1, ISTEP - 1
          start_time = start_time + fstrHEAT%STEP_EETIME(i)
        enddo
      endif
  
      delta_time = fstrHEAT%STEP_DLTIME(ISTEP)
      end_time = fstrHEAT%STEP_EETIME(ISTEP)
      DELMIN = fstrHEAT%STEP_DELMIN(ISTEP)
      DELMAX = fstrHEAT%STEP_DELMAX(ISTEP)
  
negative.code:       enddo
  
        call heat_output_log(hecMESH, fstrPARAM, fstrHEAT, total_step, next_time)
        call heat_output_result(hecMESH, fstrHEAT, total_step, next_time, outflag)
        call heat_output_visual(hecMESH, fstrRESULT, fstrHEAT, total_step, next_time, outflag)
        call heat_output_restart(hecMESH, fstrHEAT, total_step, outflag, next_time)
  
        total_step = total_step + 1
        current_time = next_time
  