anchor.diff:           else
               allocate(lnbrs%list(lnbrs%np))
            endif
  -         
  +
            do ii = 1, lnbrs%np
               if (ii <= 12) then
                  nnbrs = 5
               else
                  nnbrs = 6
               end if
  -            
  +
               if ( allocated(lnbrs%list(ii)%idxs) ) then
                   if ( size(lnbrs%list) /= nnbrs ) then
                        deallocate(lnbrs%list(ii)%idxs)
  
positive.code: !  Save neighbours to an output file.  This can be ASCII or Fortran binary;
  !  use ascii=.true. for the former.  These can then be re-read in later.
  !  Binary format is the default
     type(list_neighbours), intent(in)        :: lnbrs 
     character(len=*), intent(in) :: file
     logical, optional, intent(in) :: ascii
     logical :: ascii_in
  
negative.code:              end if
  
           end do
  
        end subroutine reallocate_arrays
  
        subroutine check_open
  