docs: def auto_combine(datasets, concat_dim=_CONCAT_DIM_DEFAULT,
                   compat='no_conflicts', data_vars='all', coords='different'):
      """Attempt to auto-magically combine the given datasets into one.
      This method attempts to combine a list of datasets into a single entity by
      inspecting metadata and using a combination of concat and merge.
      It does not concatenate along more than one dimension or sort data under
      any circumstances. It does align coordinates, but different variables on
      datasets can cause it to fail under some scenarios. In complex cases, you
      may need to clean up your data and use ``concat``/``merge`` explicitly.
      ``auto_combine`` works well if you have N years of data and M data
      variables, and each combination of a distinct time period and set of data
      variables is saved its own dataset.
  
      Parameters
      ----------
      datasets : sequence of xarray.Dataset
          Dataset objects to merge.
      concat_dim : str or DataArray or Index, optional
          Dimension along which to concatenate variables, as used by
          :py:func:`xarray.concat`. You only need to provide this argument if
          the dimension along which you want to concatenate is not a dimension
          in the original datasets, e.g., if you want to stack a collection of
          2D arrays along a third dimension.
          By default, xarray attempts to infer this argument by examining
          component files. Set ``concat_dim=None`` explicitly to disable
          concatenation.
      compat : {'identical', 'equals', 'broadcast_equals', 'no_conflicts'}, optional
          String indicating how to compare variables of the same name for
          potential conflicts:
  
          - 'broadcast_equals': all values must be equal when variables are
            broadcast against each other to ensure common dimensions.
          - 'equals': all values and dimensions must be the same.
          - 'identical': all values, dimensions and attributes must be the
            same.
          - 'no_conflicts': only values which are not null in both datasets
            must be equal. The returned dataset then contains the combination
            of all non-null values.
      data_vars : {'minimal', 'different', 'all' or list of str}, optional
          Details are in the documentation of concat
      coords : {'minimal', 'different', 'all' or list of str}, optional
          Details are in the documentation of conca
  
      Returns
      -------
      combined : xarray.Dataset
  
      See also
      --------
      concat
      Dataset.merge
      """  # noqa
  
      # Coerce 1D input into ND to maintain backwards-compatible API until API
      # for N-D combine decided
      # (see https://github.com/pydata/xarray/pull/2553/#issuecomment-445892746)
      if concat_dim is None or concat_dim == _CONCAT_DIM_DEFAULT:
          concat_dims = concat_dim
      elif not isinstance(concat_dim, list):
          concat_dims = [concat_dim]
      else:
          concat_dims = concat_dim
      infer_order_from_coords = False
  
      # The IDs argument tells _auto_combine that the datasets are not yet sorted
      return _auto_combine(datasets, concat_dims=concat_dims, compat=compat,
                           data_vars=data_vars, coords=coords,
                           infer_order_from_coords=infer_order_from_coords,
                           ids=False)