-
Notifications
You must be signed in to change notification settings - Fork 281
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
Lazy iris.analysis.cartography.area_weights
#5611
Comments
62 tasks
@SciTools/peloton @schlunma thanks for raising this and offering to put up a PR. We think option 1 is much preferred to option 2. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
✨ Feature Request
Currently,
iris.analysis.cartography.area_weights
always returns a numpy array. Depending on the shape of the input cube, this can use up a lot of memory. It would be really helpful to have a lazy version of it that returns a dask array.Motivation
Using a dask distributed scheduler in ESMValTool in combination with a preprocessor that requires the calculation of area weights is currently not possible. A lazy version of
iris.analysis.cartography.area_weights
would solve that.Design
Solving this is probably easy since
broadcast_to_shape
that is used to broadcast the 2D weights to the cube shape now supports dask arrays. I see two options here regarding the API:iris.analysis.cartography.area_weights
(maybecompute
which isTrue
by default?).I guess option 1. is preferable since it is fully backwards-compatible.
If we can agree on an implementation, I can open a PR.
The text was updated successfully, but these errors were encountered: