-
Notifications
You must be signed in to change notification settings - Fork 296
Lock file updates and libnetcdf
regression notification
#6747
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
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6747 +/- ##
=======================================
Coverage 90.29% 90.29%
=======================================
Files 91 91
Lines 24475 24475
Branches 4571 4571
=======================================
Hits 22100 22100
Misses 1607 1607
Partials 768 768 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
⏱️ Performance Benchmark Report: c90bd50Performance shifts
Full benchmark results
Generated by GHA run |
⏱️ Performance Benchmark Report: c90bd50Performance shifts
Full benchmark results
Generated by GHA run |
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.
As agreed, this makes sense as just a documantation change for the time being. It does seem a little odd to put this in the whatsnew when it doesn't refer to an actual change in the code base but, on reflection, I can't think of anywhere more suitable to put this. We essentially want to highlight a performance change due to a particular update in a dependancy, but it doesn't seem major enough to mention in the load docstrings (though I'd like to double check your opinion on this before merging). In the whatsnew, this is at least timestamped to a time when this version update is relevant.
An interesting thought. I agree that this isn't major enough. Indeed if a case were major enough for that I would probably be considering hack fixes within Iris. |
Closes #6714 - this is the same change but includes an important What's New announcement.
Following from this comment: #6714 (comment)
Test failures
Some tricky Conda resolution had forced us onto a PyVista version which was incompatible with recent VTK releases:
0.44.1=pyhd8ed1ab_0
. This version was not intended for use, and should be expected to cause test failures; it was superceded by a newer build number which included a VTK<9.4
pin:0.44.1=pyhd8ed1ab_1
.Within the last week a new version of PyVista was released, which included updated pins, making the Conda resolution simpler - can now use VTK version 9.5 - and allowing a passing suite of tests.
It should be noted that we still have a similar situation with the environment using an old build of GeoVista, which again has inappropriate pins and is not expected to be fully functional:
0.5.3=pyhd8ed1ab_1
, when it should be0.5.3=pyhd8ed1ab_2
. Unfortunately we cannot specify build numbers in greater-than dependency pins, and GeoVista is functioning well enough for our tests so I propose to leave as-is.Performance regressions
I did a thorough investigation and proof-of-concept for how we might avoid repeated open-and-close of NetCDF files within Iris, which would mitigate the performance regressions. While this yielded performance improvements for larger files (#6735 (comment)), I was also finding concurrency issues in a number of corner cases. I did not have confidence that I could create a solution which was:
Given the above, and since this is at-heart a problem in
libnetcdf
, I am proposing to instead:nc_open
with version 4.9.3 Unidata/netcdf-c#3183