-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make preprocessor lazy #674
Comments
good call!! I reckon this is a good first serious feature for v2.1 🍺 |
To get an idea of the priority of the preprocessor functions, here is a rough count of the number of recipes in the ESMValTool that they are used in:
|
Two points related to this:
|
I think it makes sense to do that, because in most cases there is no need to rechunk. I would expect this is needed only for preprocessor functions that dramatically increase chunk size, and even then it might be best to try and leave that to iris. |
Some things we ran into:
|
The |
Yes, it would benefit. Some progress has been made recently by @zklaus on the lazy regridding for ocean data (though I think this is currently not yet enabled by default, you need to make changes to the recipe in order to use the new functionality and install an extra package manually). Lazy vertical interpolation would be a good next candidate to tackle. |
Overview issue with laziness status of preprocessor functions:
Checked means lazy, unchecked means not lazy or partially lazy, a question mark behind the preprocessor name means that it is unknown whether this preprocessor function is lazy or not.
iris.cube.Cube.rolling_window
SciTools/iris#5795iris.analysis.trajectory.interpolate
function is not lazyiris.cube.Cube.rolling_window
SciTools/iris#5795Note that
*_statistics
preprocessor functions are lazy except formedian
, workaround is to useoperator: percentile; percent: 50
.It would be great if we could make more preprocessor functions lazy. The laziness status should also be indicated in the docstrings.
Related to #51
The text was updated successfully, but these errors were encountered: