From 0ad61818c6695bb020b510488ce42da437b02790 Mon Sep 17 00:00:00 2001 From: Bill Little Date: Thu, 27 Aug 2020 00:20:18 +0100 Subject: [PATCH] fix free-flip --- lib/iris/common/resolve.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/iris/common/resolve.py b/lib/iris/common/resolve.py index 7098eaa65e..a008f6b8fc 100644 --- a/lib/iris/common/resolve.py +++ b/lib/iris/common/resolve.py @@ -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 @@ -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: