docs: def get_index_from_coord(coord, base_index):
      """Function to return the coordinate as integer, integer array or slice
  
      If `coord` is zero-dimensional, the corresponding integer in `base_index`
      will be supplied. Otherwise it is first tried to return a slice, if that
      does not work an integer array with the corresponding indices is returned.
  
      Parameters
      ----------
      coord: xarray.Coordinate or xarray.Variable
          Coordinate to convert
      base_index: pandas.Index
          The base index from which the `coord` was extracted
  
      Returns
      -------
      int, array of ints or slice
          The indexer that can be used to access the `coord` in the
          `base_index`
      """
      try:
          values = coord.values
      except AttributeError:
          values = coord
      if values.ndim == 0:
          return base_index.get_loc(values[()])
      if len(values) == len(base_index) and (values == base_index).all():
          return slice(None)
      values = np.array(list(map(lambda i: base_index.get_loc(i), values)))
      return to_slice(values) or values