diff --git a/cf_xarray/accessor.py b/cf_xarray/accessor.py index 2d828963..78610310 100644 --- a/cf_xarray/accessor.py +++ b/cf_xarray/accessor.py @@ -2107,17 +2107,14 @@ def cell_measures(self) -> dict[str, list[Hashable]]: """ obj = self._obj + if isinstance(obj, DataArray): + variables = [*obj.coords.variables.values(), obj.variable] + else: + variables = list(obj.variables.values()) all_attrs = [ - ChainMap(da.attrs, da.encoding).get("cell_measures", "") - for da in obj.coords.values() + ChainMap(var.attrs, var.encoding).get("cell_measures", "") + for var in variables ] - if isinstance(obj, DataArray): - all_attrs += [ChainMap(obj.attrs, obj.encoding).get("cell_measures", "")] - elif isinstance(obj, Dataset): - all_attrs += [ - ChainMap(da.attrs, da.encoding).get("cell_measures", "") - for da in obj.data_vars.values() - ] as_dataset = self._maybe_to_dataset().reset_coords() keys: dict[str, str] = {}