anchor.diff:          endif
       end function minyw
       
  -    ! Find a location lat,lon in lo%lat,lon grids
  -    !  Assumes that the lat/lon grids are semi-regular (dx/dy aren't constant but they are nearly so)
  -    !  Calculates dx/dy at the middle of the lat/lon grids, then calculates the location of lat,lon
  -    !  input point using those coordinates.  
  -    !  Next proceeds to calculate a new position based on the dx/dy at that position until the new
  -    !  position is within 1 gridcell of the current position
  -    !  Once that "within 1" position is found, search all cells in a 3x3 grid for the minimum distance
  -    !  return a position datatype that includes the found x/y location
  -    ! 
  -    ! currently tries up to three methods to find the location 
  -    !   1) assume relatively even dxdy and compute location (iterate a <20times)
  -    !   2) use a log(n) search (divide and conquer) also iterate <20times)
  -    !   a) if 1 or 2 are approximately successful: 
  -    !       search a small region around the "best" point to find the real best point
  -    !   3) in the diabolical case where 1 and 2 fail (rare) just search every single location (n^2)
  -    !   Could add a 2.5) downhill search algorithm...
  +    !>------------------------------------------------------------
  +    !! Find a location lat,lon in lo%lat,lon grids
  +    !!  Assumes that the lat/lon grids are semi-regular (dx/dy aren't constant but they are nearly so)
  +    !!  Calculates dx/dy at the middle of the lat/lon grids, then calculates the location of lat,lon
  +    !!  input point using those coordinates.  
  +    !!  Next proceeds to calculate a new position based on the dx/dy at that position until the new
  +    !!  position is within 1 gridcell of the current position
  +    !!  Once that "within 1" position is found, search all cells in a 3x3 grid for the minimum distance
  +    !!  return a position datatype that includes the found x/y location
  +    !! 
  +    !! currently tries up to three methods to find the location 
  +    !!   1) assume relatively even dxdy and compute location (iterate a <20times)
  +    !!   2) use a log(n) search (divide and conquer) also iterate <20times)
  +    !!   a) if 1 or 2 are approximately successful: 
  +    !!       search a small region around the "best" point to find the real best point
  +    !!   3) in the diabolical case where 1 and 2 fail (rare) just search every single location (n^2)
  +    !!   Could add a 2.5) downhill search algorithm...
  +    !!
  +    !!------------------------------------------------------------
       type(position) function find_location(lo,lat,lon,lastpos)
           implicit none
           class(interpolable_type),intent(inout)::lo
  
positive.code:         find_location%x=x
          find_location%y=y
      end function find_location
          
          
      ! given a closest position, return the 4 points surrounding the lat/lon position in lo%lat/lon
      type(fourpos) function find_surrounding(lo,lat,lon,pos,nx,ny)
          implicit none
          class(interpolable_type),intent(in)::lo
  
negative.code:         
      end subroutine geo_LUT
      
      !>------------------------------------------------------------
      !!  Interpolate boundaries of fieldout to fieldin using geolut
      !!
      !!------------------------------------------------------------
      subroutine boundary_interpolate(fieldout, fieldin, geolut)
          implicit none
          real,intent(inout)::fieldout(:,:,:)
  