anchor.diff:  
         select type(integrand)
         type is(integrand_ladvection)
  -         if (save_results .and. mod(step, save_frequency)==0) call integrand%export_tecplot(t=time(step_offset), scheme=scheme)
  +         if (save_results .and. mod(step, save_frequency)==0) call integrand%export_tecplot(t=time, scheme=scheme)
         type is(integrand_oscillation)
  -         if (save_results .and. mod(step, save_frequency)==0) call integrand%export_tecplot(t=time(step_offset))
  +         if (save_results .and. mod(step, save_frequency)==0) call integrand%export_tecplot(t=time)
         endselect
         endsubroutine integrand_export_tecplot
  -
  -      subroutine update_previous_times
  -      !< Update previous times.
  -      real(R_P)    :: temporary !< Temporary buffer.
  -      integer(I_P) :: p         !< Counter.
  -
  -      temporary = time(step_offset)
  -      time(step_offset) = time(step_offset) + Dt
  -      do p=0, step_offset - 2
  -        time(p) = time(p + 1)
  -      enddo
  -      time(step_offset-1) = temporary
  -      endsubroutine update_previous_times
      endsubroutine integrate
   endmodule foodie_test_object
   
  
positive.code:    class(integrator_object), allocatable :: integrator       !< The integrator.
     type(integrator_runge_kutta_ssp)      :: integrator_start !< The (auto) start integrator.
     class(integrand_object), allocatable  :: integrand        !< Integrand.
     real(R_P), allocatable                :: time(:)          !< Time.
     real(R_P), allocatable                :: Dts(:)           !< Time steps.
     integer(I_P)                          :: step             !< Time steps counter.
     integer(I_P)                          :: step_offset      !< Time steps counter offset for slicing previous data array.
  
     allocate(integrand, mold=integrand_0) ; integrand = integrand_0
  
  
negative.code:    !    do
     !       step = step + 1
     !       if (integrator%steps_number() >= step) then
     !          call integrator_start%integrate(U=integrand, Dt=Dt, t=time)
     !          previous(step) = integrand
     !          time = time + Dt
     !       else
     !          if (is_fast) then
     !             call integrator%integrate_fast(U=integrand, previous=previous, stage=stage, buffer=buffer, Dt=Dt,t=time)
     !          else
     !             call integrator%integrate(U=integrand, previous=previous, stage=stage, Dt=Dt, t=time)
     !          endif
     !          time = time + Dt
     !       endif
     !       if ((time >= final_time)) exit
     !       call integrand_export_tecplot
     !    enddo
     endselect
  
     select type(integrand)
     type is(integrand_ladvection)
        if (save_results) call integrand%export_tecplot(t=time, scheme=scheme)
        if (save_results) call integrand%export_tecplot(close_file=.true.)
     type is(integrand_oscillation)
        if (save_results) call integrand%export_tecplot(t=time)
        if (save_results) call integrand%export_tecplot(close_file=.true.)
     endselect
     contains
  