anchor.diff:        tstep1 = tstep2
         ttime1 = ttime2
         if (flg_read2) then
  -        temp0(1,:) = temp0(2,:)
  +        do i=1, hecMESH%n_node
  +          temp0(1,i) = temp0(2,i)
  +        enddo
           flg_read1 = .true.
         endif
         flg_read2 = .false.
  
positive.code:     integer(kind=kint), save ::  tstep1, tstep2
      real(kind=kreal), save :: ttime1, ttime2
  
      integer(kind=kint) :: ierr
      real(kind=kreal) :: w
      logical :: flg_read1, flg_read2
      real(kind=kreal), allocatable :: temp0(:,:)
  
negative.code:     ! when temperature is assumed constant
      if (flg_constant) then
        if (.not. flg_read1) call read_result_at(hecMESH, tstep1, ttime1, temp0(1,:))
        do i=1, hecMESH%n_node
          temp(i) = temp0(1,i)
        enddo
        return
      endif
      ! when ctime is out-of-range (left side)
      if (ctime <= ttime1) then
        if (.not. flg_read1) call read_result_at(hecMESH, tstep1, ttime1, temp0(1,:))
        do i=1, hecMESH%n_node
          temp(i) = temp0(1,i)
        enddo
        return
      endif
      ! proceed until ctime is within [ttime1, ttime2]
  