pyuvdata icon indicating copy to clipboard operation
pyuvdata copied to clipboard

Version 3 -- Endgame

Open kartographer opened this issue 1 year ago • 1 comments
trafficstars

"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 and UVCal` 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_catalog became 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.

kartographer avatar May 16 '24 14:05 kartographer

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.

codecov[bot] avatar May 16 '24 14:05 codecov[bot]

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 avatar May 20 '24 20:05 bhazelton

@bhazelton -- okay, I added back in future_array_shapes into UVBase with a similar deprecation warning to what the telescope attributes are throwing.

kartographer avatar May 21 '24 18:05 kartographer

@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.

kartographer avatar May 21 '24 18:05 kartographer

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.

bhazelton avatar May 22 '24 17:05 bhazelton

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.

codecov-commenter avatar May 24 '24 02:05 codecov-commenter