diff --git a/xarray/core/datatree.py b/xarray/core/datatree.py index 6289146308e..6241d79f83f 100644 --- a/xarray/core/datatree.py +++ b/xarray/core/datatree.py @@ -770,7 +770,7 @@ def _replace_node( if data is not _default: self._set_node_data(ds) - self._children = children + self.children = children def copy( self: DataTree, diff --git a/xarray/tests/test_datatree.py b/xarray/tests/test_datatree.py index c875322b9c5..9a15376a1f8 100644 --- a/xarray/tests/test_datatree.py +++ b/xarray/tests/test_datatree.py @@ -245,6 +245,7 @@ def test_update(self): dt.update({"foo": xr.DataArray(0), "a": DataTree()}) expected = DataTree.from_dict({"/": xr.Dataset({"foo": 0}), "a": None}) assert_equal(dt, expected) + assert dt.groups == ("/", "/a") def test_update_new_named_dataarray(self): da = xr.DataArray(name="temp", data=[0, 50])