Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion lib/iris/common/resolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -666,6 +666,7 @@ def _metadata_mapping(self):

# Given the resultant broadcast shape, determine whether the
# mapping requires to be reversed.
# Only applies to equal src/tgt dimensionality.
broadcast_flip = (
src_cube.ndim == tgt_cube.ndim
and self._tgt_cube_resolved.shape != self.shape
Expand All @@ -674,13 +675,16 @@ def _metadata_mapping(self):

# Given the number of free dimensions, determine whether the
# mapping requires to be reversed.
# Only applies to equal src/tgt dimensionality.
src_free = set(src_dim_coverage.dims_free) & set(
src_aux_coverage.dims_free
)
tgt_free = set(tgt_dim_coverage.dims_free) & set(
tgt_aux_coverage.dims_free
)
free_flip = len(tgt_free) > len(src_free)
free_flip = src_cube.ndim == tgt_cube.ndim and len(tgt_free) > len(
src_free
)

# Reverse the mapping direction.
if broadcast_flip or free_flip:
Expand Down