anchor.diff:      real(dp), allocatable :: x(:), y(:), z(:)
       integer, allocatable :: neighbors(:,:)
       integer :: n_neighbors
  -    real(dp),allocatable :: points(:,:), bmin(:,:), bmax(:,:)
  +    real(dp),allocatable :: bmin(:,:), bmax(:,:)
       type(cell),pointer :: c
   
       ! Read geometry file
  
positive.code:   type(grid_geometry_desc),public,target :: geo
  
    integer :: n_filled = 0
  
  contains
  
  
negative.code:     implicit none
      type(photon),intent(in) :: p
      integer :: ic
      type(kdtree2_result) :: results(1)
      real(dp) :: point(3)
      if(debug) write(*,'(" [debug] find_cell")')
      ! TODO: nearest-neighbor algorithm - potentially going to be the
      ! bottleneck.
      point = [p%r%x, p%r%y, p%r%z]
      call kdtree2_n_nearest(geo%tree, point, 1, results)
      ic = results(1)%idx
      icell = new_grid_cell(ic, geo)
    end function find_cell
  