553 blending weights calculation overwrites weights of other ensemble members#554
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #554 +/- ##
=======================================
Coverage 84.17% 84.18%
=======================================
Files 170 170
Lines 14985 14989 +4
=======================================
+ Hits 12614 12618 +4
Misses 2371 2371
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Hi @larsbonnefoy, great addition! I will directly have a look at it. If tests are required, I can always add them (although I am on vacation coming week, so it may take a week longer). |
RubenImhoff
left a comment
There was a problem hiding this comment.
This looks great, @larsbonnefoy, well done!
Co-authored-by: Ruben Imhoff <31476760+RubenImhoff@users.noreply.github.com>
If you have an idea of how we could test this I could also write it ! Otherwise do you have concrete example where this led previously to an issue in a pysteps run ? I could always try a rerun of a past case as our domains overlap. Might be able to spot already some differences. |
|
It seems challenging to test, because the models will run successfully without the fix. However, I notice a 'jumpy' behavior in the temporal consistency of the ensemble members. So not sure yet if defining a test is feasible here. |
Previously NWP weights would be overwritten by each worker has they wrote to the same variable storing NWP weights.
The weights are now computed per ensemble member j inside the worker(j) in __blended_nowcast_main_loop, because the NWP skill can differ per member. They are kept on a per-member store (weights_per_member[j], so that members do not overwrite one another.
These changes passes the previous tests but I don't know what should be expected in this newer case and how to write a test for it. I could rely on AI to write one but would have very low confidence in it.