Convert a DataArray to a Dataset.

        Parameters
        ----------
        dim : str, optional
            Name of the dimension on this array along which to split this array
            into separate variables. If not provided, this array is converted
            into a Dataset of one variable.
        name : str, optional
            Name to substitute for this array's name. Only valid if ``dim`` is
            not provided.

        Returns
        -------
        dataset : Dataset

def to_dataset(self, dim=None, name=None):
        """Convert a DataArray to a Dataset.

        Parameters
        ----------
        dim : str, optional
            Name of the dimension on this array along which to split this array
            into separate variables. If not provided, this array is converted
            into a Dataset of one variable.
        name : str, optional
            Name to substitute for this array's name. Only valid if ``dim`` is
            not provided.

        Returns
        -------
        dataset : Dataset
        """
        if dim is not None and dim not in self.dims:
            warnings.warn('the order of the arguments on DataArray.to_dataset '
                          'has changed; you now need to supply ``name`` as '
                          'a keyword argument',
                          FutureWarning, stacklevel=2)
            name = dim
            dim = None

        if dim is not None:
            if name is not None:
                raise TypeError('cannot supply both dim and name arguments')
            return self._to_dataset_split(dim)
        else:
            return self._to_dataset_whole(name)