-
Notifications
You must be signed in to change notification settings - Fork 168
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
Place ensemble member number determination for blending inside forecast loop to prevent out of memory issues #273
Place ensemble member number determination for blending inside forecast loop to prevent out of memory issues #273
Conversation
… instead of at once
Codecov Report
@@ Coverage Diff @@
## master #273 +/- ##
==========================================
+ Coverage 82.23% 82.32% +0.09%
==========================================
Files 158 158
Lines 12117 12130 +13
==========================================
+ Hits 9964 9986 +22
+ Misses 2153 2144 -9
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
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.
@RubenImhoff I was able only to quickly scan through your changes, but unfortunately I could not look more in depth into it... Are there critical parts where you would need a more detailed feedback? Otherwise this looks to me, happy to see that this piece of code keeps improving!
ps: one small detail, can you maybe provide a more specific title to this PR? Thanks!
Not really, all my own tests seem fine so far. The only small critical point is that it may slow down the forecast loop a bit (but probably not significantly).
Will do so! |
one last thought: since you mention the memory usage, would you care to look into a memory profiling for a single run? using
with this you could easily compare the impact of your new version. |
In the recently posted release, the blending code determines which NWP models will be combined with which nowcast ensemble members. It does this at once and creates a variable that contains [n_ens_members, n_timesteps, n_cascade_levels, y, x]. For a large number of time steps and ensemble members, this variable can become too big too handle.
To overcome this issue, this PR tries to implement this procedure within the forecast loop (so per time step instead of all at once), which highly reduces the memory requirements.