Version 3.2
This version has a number of significant changes and improvements. Highlights include:
Feed angle support
The biggest change is improved support for specifying feed orientations. To support this, three new parameters, feed_array (e.g. ["x", "y"]), feed_angle and mount_type have been added to the Telescope object. Each of these have an axis of length Nants, so they can be specified per antenna. The feed_array and feed_angle also have another axis of length Nfeed (commonly equal to 2). The mount_type determines the meaning of the feed_angle and the feed_array specifies which angle applies to which feed. See the new Conventions page in the docs for a full description of these new parameters as well as detailed documentation of a number of other conventions in the pyuvdata package and radio astronomy in general. UVBeam and the AnalyticBeam based objects already had a feed_array parameter, but it has now been made required and the feed_angle and mount_type parameters have also been added as required parameters.
Other additions
- Near-field phasing: Support for near-field phasing has been added to UVData.
- Inverting selections: A new
invertkeyword added toUVData.select,UVBeam.select,UVCal.select, and
UVFlag.select, which allows the user to specify data to deselect rather than select. - MSCal improvements: Support for MeasurementSet calibration subtypes "T Jones" (non-pol-specific antenna gains) and "D Jones" (polarization leakages) has been added to
MSCal. - Telescope methods: Several new methods have been added to the Telescope object including
__add__,reorder_antennasandreorder_feeds. - More control over warnings and errors on numerous methods and functions.
Bug fixes
- A bug in
UVData.write_mswhere datasets with a single spectral window were being written with the wrong conjugation when settingflip_conj=True. - A bug in
UVData.write_mswhere the baseline conjugation scheme did not conform to what CASA nominally expects. - A bug in MWA beams that caused beams pointed away from zenith to be wrong because the delays were not assigned to the right dipoles.
- A bug in
UVBeam.selectwherepolarization_arraycould be incorrectly ordered after selection (if input topolarizationskeyword was unordered). - A bug in
UVData.sum_viswhere it errored if there were different filenames on the input objects. Now the filename lists are combined on the output object. - A bug in
utils.tools.slicifyandutils.tools._convert_to_sliceswhere reverse-ordered slices (i.e., where the step was negative) were not correctly handled.
Deprecated
- The
x_orientationparameter, which was used to specify feed orientation but with much less flexibility has been deprecated, but some convenience functions to convert betweenx_orientationandfeed_anglewhen possible have been added (Telescope.set_feeds_from_x_orientationandTelescope.get_x_orientation_from_feeds). - The options
"e"and"n"for elements offeed_arrayin andUVBeamhave also been deprecated.
Removed
- The
future_array_shapesattribute onUVBaseobjects. - The
use_future_array_shapeskeyword in various class methods. - The
use_future_array_shapesmethod onUVBaseobjects. - Support for accessing the telescope-related metadata through their old attribute names on
UVData,UVCalandUVFlagrather than via their attributes on the attachedTelescopeobject (e.g.UVData.telescope_name->UVData.telescope.nameandUVData.antenna_positions->UVData.telescope.antenna_positions). - Support for passing telescope-related metadata as separate parameters to
UVData.newandUVCal.newrather thanTelescopeobjects. - The
UVData.get_ENU_antposmethod in favor ofUVData.telescope.get_enu_antpos. - The
Telescope.telescope_locationandTelescope.telescope_nameattributes in favor ofTelescope.locationandTelescope.name. - The
get_telescopefunction in favor of theknown_telescope_locationfunction and theTelescope.from_known_telescopesclassmethod. - The KNOWN_TELESCOPE dict in favor of the
known_telescope_locationfunction and theTelescope.from_known_telescopesclassmethod.
Full details below and in our changelog:
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1520
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1522
- remove benchmarking CI by @mkolopanis in #1524
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1525
- Select refactor by @kartographer in #1523
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1526
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1527
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1528
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1530
- Fix version for editable (developer) installs by @bhazelton in #1531
- refactor the uvbeam._convert_feeds_to_pols into a utility function by @bhazelton in #1529
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1533
- Fixed sum_vis handling of different filenames by @bhazelton in #1532
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1536
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1538
- Add optional near-field corrections to the phasing function by @baron-de-montblanc in #1482
- only import lunarsky if it's actually needed by @bhazelton in #1535
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1549
- Fix bug in constructing off-zenith MWA beams by @bhazelton in #1541
- Fix readme badge, update AIPS memo to pdf by @bhazelton in #1539
- [WIP] Update uvdata tutorial by @jpober in #1534
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #1550
- Adding new Telescope attributes for feeds and mounts by @kartographer in #1521
- Several docs fixes for open issues and outdated readme information by @bhazelton in #1551
- update changelog, remove deprecated code for v3.2 by @bhazelton in #1552
New Contributors
- @baron-de-montblanc made their first contribution in #1482
Full Changelog: v3.1.3...v3.2.0