-
Notifications
You must be signed in to change notification settings - Fork 44
Description
The multi-model statistics preprocessor is currently sub-optimal. It operates on Numpy arrays because Iris cubes are quite strict in checking inconsistencies between the input cubes. This workaround impedes lazy evaluation and introduces some vulnerabilites (e.g. #267, #665) and a trail of ad-hoc fixes.
Inconsistent time coordinates were probably the biggest obstacle. However, starting from #677, and continuing in #685, we have already drastically reduced the complexity of time handling. Additionally, #744 proposes to move everything related to 'homogenizing' the time coordinate to the regrid_time preprocessor altogether. Moreover, Iris will soon support lazy regridding (SciTools/iris#3701), so in that case we could really benefit from lazy evaluation in multi-model statistics as well.
In #673, we have implemented a new function that computes 'multi-cube' statistics using Iris build-in functions. This already works for ensemble statistics, because in that case, the cubes are already very homogeneous.
It would be really nice if we could use this Iris 'engine' for the regular multi-model statistics preprocessor as well.
Would you be able to help out?
I might have some time, but it would be good to wait for #685, #744 and #673. In the meantime, this is a placeholder to keep the helicopter view of everything that's happening with the multi-model statistics preprocessor.