pyuvdata
pyuvdata copied to clipboard
Version 3 -- Endgame
"I am inevitable" -- V3 of pyuvdata
Description
Implements the final set of changes for pyuvdata version 3.0, primarily:
- Dropping support for "current array shapes" (the old spw-axis -- which was forced to always be 1 -- has been removed from attributes that have it)
- Requiring flexible spectral windows be used in
UVData andUVCal` objects (the latter only when a frequency axis is present, i.e., non-wideband solutions) - Dropping support for the "old" phasing parameters (which were deprecated when
phase_center_catalogbecame a standard parameter).
Relatedly, the use_future_array_shapes method has been deprecated, and is planned to be removed in v3.2.
Note that while nearly all the required work on this branch is complete, I haven't updated the CHANGELOG yet, mostly in anticipation of (perhaps unlikely) significant changes that may be requested. Also, this PR will follow #1422, and will be moved to "ready" once that PR is successfully merged into prep_v3.0.
Motivation and Context
This PR is meant to be the final PR to close out V3 updates, and as such should be the final one merged into prep_v3.0 before that branch is ready or merge into main. And I for one am ready to overthrow our vestigal spw-axis overlords.
Types of changes
- [x] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
- [x] I have read the contribution guide.
- [x] My code follows the code style of this project.
Breaking change checklist:
- [x] I have updated the docstrings associated with my change using the numpy docstring format.
- [x] I have updated the tutorial to reflect my changes (if appropriate).
- [x] My change includes backwards compatibility and deprecation warnings (if possible).
- [x] I have added tests to cover my changes.
- [x] All new and existing tests pass.
- [ ] I have updated the CHANGELOG.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 99.92%. Comparing base (
3f6e830) to head (38060d2).
Additional details and impacted files
@@ Coverage Diff @@
## prep_v3.0 #1437 +/- ##
=============================================
- Coverage 99.93% 99.92% -0.01%
=============================================
Files 41 41
Lines 22702 21138 -1564
=============================================
- Hits 22687 21123 -1564
Misses 15 15
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
It looks like the biggest problem on pyuvsim is that there's no future_array_shapes attribute on UVData objects. Maybe we should leave that around for a little longer? we can deprecate it with a __getattr__ on UVBase that just warns that it's going away and returns True?
It looks like the hera_qm tests are running into this same problem, mostly on UVFlag objects.
@bhazelton -- okay, I added back in future_array_shapes into UVBase with a similar deprecation warning to what the telescope attributes are throwing.
@bhazelton -- note that there are now new tests that are failing in those external pipelines b/c of the new warnings. Looks like the failures are at least a bit more contained, but there may need to be a bit more clean-up in those repos.
It looks like we lost coverage of one line in miriad.py that was covered before (line 1579 where fix_phase is called). You can see the line in the Indirect Changes tab on the codecov report.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 99.93%. Comparing base (
3f6e830) to head (c167883).
Additional details and impacted files
@@ Coverage Diff @@
## prep_v3.0 #1437 +/- ##
=============================================
- Coverage 99.93% 99.93% -0.01%
=============================================
Files 41 41
Lines 22702 21138 -1564
=============================================
- Hits 22687 21124 -1563
+ Misses 15 14 -1
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.