diff --git a/xarray/core/datatree.py b/xarray/core/datatree.py index 98934f29b92..bc367a81a68 100644 --- a/xarray/core/datatree.py +++ b/xarray/core/datatree.py @@ -140,7 +140,9 @@ def _to_new_dataset(data: Dataset | Coordinates | None) -> Dataset: elif data is None: ds = Dataset() else: - raise TypeError(f"data object is not an xarray.Dataset, dict, or None: {data}") + raise TypeError( + f"data object is not an xarray.Dataset, Coordinates, or None: {data}" + ) return ds diff --git a/xarray/tests/test_datatree.py b/xarray/tests/test_datatree.py index 19133bfd88d..524438a051f 100644 --- a/xarray/tests/test_datatree.py +++ b/xarray/tests/test_datatree.py @@ -201,6 +201,12 @@ def test_create_with_data(self) -> None: with pytest.raises(TypeError): DataTree(name="mary", dataset="junk") # type: ignore[arg-type] + with pytest.raises( + TypeError, + match=r"data object is not an xarray.Dataset, Coordinates, or None: \{\}", + ): + DataTree(name="mary", dataset={}) # type: ignore[arg-type] + def test_set_data(self) -> None: john = DataTree(name="john") dat = xr.Dataset({"a": 0})