anchor.diff:    use assertions_interface, only : assert, assertions
     implicit none
   
  -  integer, parameter :: default_halo_size=2
  +  integer, parameter :: default_halo_size=1
     integer, save, allocatable :: neighbors(:)
     integer, save :: north_neighbor, south_neighbor, halo_size
   
  
positive.code:         call assert( shape(this%halo_south_in(:,:,:)[north_neighbor]) == shape(this%local(:,:,n-halo_size+1:n)), &
                       "put_north: conformable halo_south_in and local " )
        end if
        this%halo_south_in(:,:,:)[north_neighbor] = this%local(:,:,n-halo_size+1:n)
      end subroutine
  
      subroutine put_south
  
negative.code:         call assert( shape(this%halo_north_in(:,:,:)[south_neighbor]) == shape(this%local(:,:,start:start+halo_size-1)), &
                       "put_south: conformable halo_north_in and local " )
        end if
        this%halo_north_in(:,:,:)[south_neighbor] = this%local(:,:,start+halo_size:start+halo_size*2-1)
      end subroutine
  
      subroutine retrieve_north_halo
        integer :: n
        n = ubound(this%local,3)
  
        this%local(:,:,n-halo_size+1:n) = this%halo_north_in
      end subroutine
  
      subroutine retrieve_south_halo
        integer :: start
        start = lbound(this%local,3)
  
        this%local(:,:,start:start+halo_size-1) = this%halo_south_in
      end subroutine
  
    end subroutine
  