From 8b95da8e21a9d31de9f79cb0506720595f49e1dd Mon Sep 17 00:00:00 2001 From: Deepak Cherian Date: Thu, 5 Aug 2021 02:08:47 -0600 Subject: [PATCH] Flexible Indexes: Avoid len(index) in map_blocks (#5670) --- xarray/core/parallel.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/xarray/core/parallel.py b/xarray/core/parallel.py index 795d30af28f..795d2e48afe 100644 --- a/xarray/core/parallel.py +++ b/xarray/core/parallel.py @@ -295,9 +295,10 @@ def _wrapper( # check that index lengths and values are as expected for name, index in result.xindexes.items(): if name in expected["shapes"]: - if len(index) != expected["shapes"][name]: + if result.sizes[name] != expected["shapes"][name]: raise ValueError( - f"Received dimension {name!r} of length {len(index)}. Expected length {expected['shapes'][name]}." + f"Received dimension {name!r} of length {result.sizes[name]}. " + f"Expected length {expected['shapes'][name]}." ) if name in expected["indexes"]: expected_index = expected["indexes"][name] @@ -568,8 +569,8 @@ def subset_dataset_to_block( for dim in dims: if dim in output_chunks: var_chunks.append(output_chunks[dim]) - elif dim in indexes: - var_chunks.append((len(indexes[dim]),)) + elif dim in result.xindexes: + var_chunks.append((result.sizes[dim],)) elif dim in template.dims: # new unindexed dimension var_chunks.append((template.sizes[dim],))