anchor.diff:  integer(I_P)                      :: count_rate            !< Counting rate of system clock.
   real(R_P)                         :: system_clocks         !< Profiling result.
   integer(I_P)                      :: steps                 !< Time steps counter.
  +type(euler_1D)                    :: domain                !< Domain of Euler equations.
   ! coarrays-related variables
  -! type(euler_1D_caf)                :: domain                !< Domain of Euler equations.
   integer(I_P)                      :: Ni_image              !< Space dimension of local image.
   #ifdef CAF
  -type(euler_1D)                    :: domain[*]             !< Domain of Euler equations.
  +real(R_P), allocatable            :: remote_state(:,:)[:]  !< Remote state.
   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:   !---------------------------------------------------------------------------------------------------------------------------------
  #ifdef CAF
    if (we>1) then
      if (me==1) then
        sync images(me+1)
        remote_U = domain[me+1]%output(iL=1, iU=Ng)
        call domain%set_ghost_cells(U_R=remote_U)
      else if (me==we) then
        sync images(me-1)
        remote_U = domain[me+1]%output(iL=Ni_image-Ng+1, iU=Ni_image)
        call domain%set_ghost_cells(U_L=remote_U)
      else
        sync images([me-1, me+1])
        remote_U = domain[me+1]%output(iL=Ni_image-Ng+1, iU=Ni_image)
        call domain%set_ghost_cells(U_L=remote_U)
        remote_U = domain[me+1]%output(iL=1, iU=Ng)
        call domain%set_ghost_cells(U_R=remote_U)
      endif
    endif
  
negative.code: !-----------------------------------------------------------------------------------------------------------------------------------
  use IR_Precision, only : R_P, I_P, FR_P, str, strz
  use type_euler_1D, only : euler_1D
  use Data_Type_Command_Line_Interface, only : Type_Command_Line_Interface
  use foodie, only : adams_bashforth_integrator, &
                     euler_explicit_integrator, &
  