Skip to content

Commit 55166fc

Browse files
committed
refactor assert_valid_explicit_coords and rename dims->sizes
1 parent 22f361d commit 55166fc

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

xarray/core/coordinates.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -311,11 +311,8 @@ def __init__(
311311
variables[name] = var
312312

313313
dims = set(d for var in variables.values() for d in var.dims)
314-
sizes = {
315-
d: -1 for d in dims
316-
} # TODO the lengths here are never used, so assert_valid_explicit_coords should be refactored
317314
assert_valid_explicit_coords(
318-
variables, dims=sizes, explicit_coords=list(variables)
315+
variables, dims=dims, explicit_coords=list(variables)
319316
)
320317

321318
if indexes is None:

xarray/core/merge.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ def merge_coords(
564564

565565
def assert_valid_explicit_coords(
566566
variables: Mapping[Any, Any],
567-
dims: Mapping[Any, int],
567+
dims: Iterable[Any],
568568
explicit_coords: Iterable[Hashable],
569569
) -> None:
570570
"""Validate explicit coordinate names/dims.
@@ -721,16 +721,16 @@ def merge_core(
721721
collected, prioritized, compat=compat, combine_attrs=combine_attrs
722722
)
723723

724-
dims = calculate_dimensions(variables)
724+
sizes = calculate_dimensions(variables)
725725

726726
coord_names, noncoord_names = determine_coords(coerced)
727727
if compat == "minimal":
728728
# coordinates may be dropped in merged results
729729
coord_names.intersection_update(variables)
730730
if explicit_coords is not None:
731-
assert_valid_explicit_coords(variables, dims, explicit_coords)
731+
assert_valid_explicit_coords(variables, sizes.keys(), explicit_coords)
732732
coord_names.update(explicit_coords)
733-
for dim, size in dims.items():
733+
for dim, size in sizes.items():
734734
if dim in variables:
735735
coord_names.add(dim)
736736
ambiguous_coords = coord_names.intersection(noncoord_names)
@@ -745,7 +745,7 @@ def merge_core(
745745
combine_attrs,
746746
)
747747

748-
return _MergeResult(variables, coord_names, dims, out_indexes, attrs)
748+
return _MergeResult(variables, coord_names, sizes, out_indexes, attrs)
749749

750750

751751
def merge(

0 commit comments

Comments
 (0)