ValueError on extract()
Closed this issue · 0 comments
khaeru commented
Using mit-jp/crem@51d7d0189de31e54e18f164a0d004bae3a41670c to produce example.gdx
, one parameter raises an error when using File.extract()
:
>>> import gdx
>>> f = gdx.File('example.gdx')
>>> f.extract('sectem')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-8-bdee7af32ba8> in <module>()
----> 1 f.extract('sectem')
/home/khaeru/vc/py-gdx/gdx/__init__.py in extract(self, name)
372 # rename 'p' to 'c'
373 drop = set(self[p].values) - set(self[c].values) - set('')
--> 374 result = result.drop(drop, dim=p).rename({p: c})
375 return result
376
/home/khaeru/.local/lib/python3.5/site-packages/xarray/core/dataarray.py in rename(self, new_name_or_name_dict)
733 name_dict = new_name_or_name_dict.copy()
734 name = name_dict.pop(self.name, self.name)
--> 735 dataset = self._to_temp_dataset().rename(name_dict)
736 return self._from_temp_dataset(dataset, name)
737 else:
/home/khaeru/.local/lib/python3.5/site-packages/xarray/core/dataset.py in rename(self, name_dict, inplace)
1245 "variable in this dataset" % k)
1246 if v in self:
-> 1247 raise ValueError('the new name %r already exists' % v)
1248
1249 variables = OrderedDict()
ValueError: the new name 'r' already exists
sectem
is defined over r
, g
and t
; r
is a subset of rs
, and the error seems to happen when trying to rename r
to rs
.
This may be new after the update to xarray.
Reported by @ctli