-
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
Lazy mask_fillvalues preprocessor function #2340
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2340 +/- ##
==========================================
+ Coverage 94.52% 94.61% +0.09%
==========================================
Files 246 246
Lines 14036 14032 -4
==========================================
+ Hits 13267 13276 +9
+ Misses 769 756 -13 ☔ View full report in Codecov by Sentry. |
a214966
to
00b33f8
Compare
The tests pass, but the tests are not very comprehensive. Comparing data coming out |
This has now been solved: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Bouwe, looks very good to me already! Just have some minor comments.
Thanks Bouwe! Will approve once the merge conflict is solved and all tests are green 🚀 |
Thanks for reviewing @schlunma! Should be good to go now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great work folks - @bouweandela you want this in the 2.11 release or you think it can wait for later on after the release? If it can wait, pls add M2.12 to it 🍺
Thanks V! This is for the v2.12 release. |
good man 🍺 |
Description
Make the
mask_fillvalues
preprocessor function lazy.Note that this changes how provenance is recorded: now all cubes/datasets that are used as input to the function are considered ancestors of the output cubes/datasets. Previously, input cubes/datasets were only considered ancestors if they contributed to the shared mask. However, for lazy computations, this requires loading all the input data from disk and doing the computations before mask_fillvalues twice: once for computing the provenance and once for computing the result. This seemed too much of a computational burden for a feature that is very little used and therefore the choice was made to have less fine-grained provenance.
Needs Iris v3.9 (SciTools/iris#5775)
Before you get started
Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.
To help with the number pull requests: