Open
Description
What is your issue?
I don't know if it is an issue (datatree==0.0.14) but, at least, it is an error that could appear quite easily:
import datatree import xarray as xr ds = xr.DataArray([[1,2,3]],dims=['a','b']) dt =datatree.DataTree() dt['A'] = ds dt['B'] = ds for grp in dt.groups: vars2drop = [vv for vv in dt[grp] if 'example' in vv] dt[grp] = dt[grp].drop_vars(vars2drop)the case that would be problematic is:
dt['/'] = dt['/'].drop_vars([])the error raised is:
File ~/micromamba/envs/micromamba1/lib/python3.10/site-packages/datatree/datatree.py:852, in DataTree.__setitem__(self, key, value) 848 elif isinstance(key, str): 849 # TODO should possibly deal with hashables in general? 850 # path-like: a name of a node/variable, or path to a node/variable 851 path = NodePath(key) --> 852 return self._set_item(path, value, new_nodes_along_path=True) 853 else: 854 raise ValueError("Invalid format for key") File ~/micromamba/envs/micromamba1/lib/python3.10/site-packages/datatree/treenode.py:494, in TreeNode._set_item(self, path, item, new_nodes_along_path, allow_overwrite) 491 path = NodePath(path) 493 if not path.name: --> 494 raise ValueError("Can't set an item under a path which has no name") 496 if path.root: 497 # absolute path 498 current_node = self.root ValueError: Can't set an item under a path which has no name
Originally posted by @agrouaze in xarray-contrib/datatree#316 (comment)