anchor.diff:  logical                           :: time_serie[*]         !< Flag for activating time serie-results saving.
   logical                           :: verbose[*]            !< Flag for activating more verbose output.
   #else
  -type(euler_1D)                    :: domain                !< Domain of Euler equations.
   integer(I_P)                      :: Ni                    !< Number of grid cells.
   integer(I_P)                      :: steps_max             !< Maximum number of time steps.
   logical                           :: results               !< Flag for activating results saving.
  
positive.code: !-----------------------------------------------------------------------------------------------------------------------------------
  use IR_Precision, only : R_P, I_P, FR_P, str, strz
  use type_euler_1D, only : euler_1D
  ! use type_euler_1D_caf, only : euler_1D_caf
  use Data_Type_Command_Line_Interface, only : Type_Command_Line_Interface
  use foodie, only : adams_bashforth_integrator, &
                     euler_explicit_integrator, &
  
negative.code: call init()
  system_clocks = 0._R_P
  do steps=1, steps_max
    call synchronize
    if (verbose) print "(A)", id//'    Time step: '//str(n=dt)//', Time: '//str(n=t)
    dt = domain%dt(Nmax=steps_max, Tmax=0._R_P, t=t, CFL=CFL)
    call system_clock(profiling(1), count_rate)
    call rk_integrator%integrate(U=domain, stage=rk_stage, dt=dt, t=t)
    call system_clock(profiling(2), count_rate)
    system_clocks = system_clocks + real(profiling(2) - profiling(1), kind=R_P)/count_rate
  