code: def _read_at(self, d,
                   interpolation='linear',
                   index=False,
                   return_basis=False):
          
          method = {'linear': utils.linear,
                    'none': None}
  
          i, d = utils.find_previous(self.basis,
                                     d,
                                     index=True,
                                     return_distance=True)
  
          if index:
              return i
          else:
              return method[interpolation](self[i], self[i+1], d)
docs: Private function. Implements read_at() for a single depth.
  
          Args:
              d (float)
              interpolation (str)
              index(bool)
              return_basis (bool)
  
          Returns:
              float