Description
Recently, we updated Dataset.__setitem__
to drop conflicting coordinates from DataArray values being assigned if they conflict with existing coordinates (#2087). Because update
and __setitem__
share the same code path, this inadvertently updated update
as well. Is this something we want?
In v0.10.3, both __setitem__
and update
prioritize coordinates from the assigned objects (e.g., value
in dataset[key] = value
).
In v0.10.4, both __setitem__
and update
prioritize coordinates from the original object (e.g., dataset
).
I'm not sure this is the right behavior. In particular, in the case of dataset.update(other)
where other
is also an xarray.Dataset
, it seems like coordinates from other
should take priority.
Note that one advantage of the current logic (which is violated by my current fix in #2162), is that we maintain the invariant that dataset[key] = value
is equivalent to dataset.update({key: value})
.