I see your point, but I disagree. The mapping of the destination x and y coordinates to the associated destination data array is not taken into account. The only thing that is used from the destination cube is the horizontal grid coordinates and the mapping is not part of the coordinate. This is by design. The code intentionally does not modify the mapping between the coordinates and the data (unless regridding to a scalar). If the user wants to modify the order of the dimensions in the source cube they can use transpose.