anchor.diff:  
       end subroutine
   
  -    subroutine send_halos(domain, send_to_recv_buffer)
  +    subroutine send_halos(domain, p2p, send_to_recv_buffer)
           !!
           !! Loop over domain%nesting%send_comms, and send the halo data
           !!
           class(domain_type), intent(inout) :: domain
  +        type(p2p_comms_type), intent(inout) :: p2p
           logical, intent(in) :: send_to_recv_buffer
               !! If .TRUE., then do parallel communication. If .FALSE., then only copy data
               !! to the send buffer (in that case, one can later call "communicate_p2p"
  
positive.code:             do i = 1, size(domain%nesting%send_comms, kind=ip)
  
                  call domain%nesting%send_comms(i)%process_data_to_send(domain%U)
                  call domain%nesting%send_comms(i)%send_data(send_to_recv_buffer=send_to_recv_buffer)
              end do
              !!$OMP END DO
              !!$OMP END PARALLEL
  
negative.code:         setup_timestepping_metadata, timestepping_method_index
      use point_gauge_mod, only: point_gauge_type
      use nested_grid_comms_mod, only: domain_nesting_type, process_received_data
      use coarray_point2point_comms_mod, only: p2p_comms_type
      use stop_mod, only: generic_stop
      use iso_fortran_env, only: output_unit, int32, int64
      use iso_c_binding, only: c_ptr, c_null_ptr
  