Skip to content

Version 3.2

Choose a tag to compare

@bhazelton bhazelton released this 28 Apr 18:01
· 245 commits to main since this release

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 invert keyword added to UVData.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_antennas and reorder_feeds.
  • More control over warnings and errors on numerous methods and functions.

Bug fixes

  • A bug in UVData.write_ms where datasets with a single spectral window were being written with the wrong conjugation when setting flip_conj=True.
  • A bug in UVData.write_ms where 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.select where polarization_array could be incorrectly ordered after selection (if input to polarizations keyword was unordered).
  • A bug in UVData.sum_vis where 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.slicify and utils.tools._convert_to_slices where reverse-ordered slices (i.e., where the step was negative) were not correctly handled.

Deprecated

  • The x_orientation parameter, which was used to specify feed orientation but with much less flexibility has been deprecated, but some convenience functions to convert between x_orientation and feed_angle when possible have been added (Telescope.set_feeds_from_x_orientation and Telescope.get_x_orientation_from_feeds).
  • The options "e" and "n" for elements of feed_array in and UVBeam have also been deprecated.

Removed

  • The future_array_shapes attribute on UVBase objects.
  • The use_future_array_shapes keyword in various class methods.
  • The use_future_array_shapes method on UVBase objects.
  • Support for accessing the telescope-related metadata through their old attribute names on UVData, UVCal and UVFlag rather than via their attributes on the attached Telescope object (e.g. UVData.telescope_name -> UVData.telescope.name and UVData.antenna_positions -> UVData.telescope.antenna_positions).
  • Support for passing telescope-related metadata as separate parameters to UVData.new and UVCal.new rather than Telescope objects.
  • The UVData.get_ENU_antpos method in favor of UVData.telescope.get_enu_antpos.
  • The Telescope.telescope_location and Telescope.telescope_name attributes in favor of Telescope.location and Telescope.name.
  • The get_telescope function in favor of the known_telescope_location function and the Telescope.from_known_telescopes classmethod.
  • The KNOWN_TELESCOPE dict in favor of the known_telescope_location function and the Telescope.from_known_telescopes classmethod.

Full details below and in our changelog:

What's Changed

New Contributors

Full Changelog: v3.1.3...v3.2.0