@esc24 The following tricksy situation is slipping through your initial sanity check and causing an exception ...
```
>>> print src
unknown / (unknown)                 (latitude: 2; longitude: 2)
     Dimension coordinates:
          latitude                           x             -
          longitude                          -             x
>>> print tgt
unknown / (unknown)                 (longitude: 2)
     Dimension coordinates:
          longitude                           x
     Scalar coordinates:
          latitude: 0
>>> as_compatible_shape(src, tgt)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/net/home/h05/itwl/projects/git/iris/lib/iris/util.py", line 1003, in as_compatible_shape
    new_cube = iris.cube.Cube(new_data.reshape(new_shape))
ValueError: total size of new array must be unchanged
```