nenupy.instru.instrument_tools.pointing_correction

nenupy.instru.instrument_tools.pointing_correction(altaz_coordinates, correction_year='2022')[source]

Modify horizontal coordinates by the empirical pointing correction. NenuFAR used to suffer from a pointing issue due to the coordinates frame upon which the beamforming delays were computed. Although this issue disappeared on 2025 June 17th 12:00 UTC, two instances of pointing corrections were derived. Their goal was to compensate for the angular shift that was measured. Two sets of correction files were applied, and the year could be specified by correction_year.

Parameters:
  • altaz_coordinates (SkyCoord) – Sky coordinates in horizontal frame (i.e. AltAz frame) to be corrected for.

  • correction_year (str, optional) – Correction year (either “2019”, “2022” or “none”) if “none” or anything else, no correction is applied, by default “2022”.

Returns:

The corrected coordinates in horizontal frame.

Return type:

SkyCoord

Examples

>>> from nenupy.instru.instrument_tools import pointing_correction
>>> from astropy.coordinates import SkyCoord, AltAz
>>> from astropy.time import Time
>>> from nenupy import nenufar_position
>>> import numpy as np
>>> import matplotlib.pyplot as plt

>>> azs = np.linspace(0, 360, 200)
>>> alts = np.linspace(0, 90, 200)
>>> azimuths, elevations = np.meshgrid(azs, alts)
>>> coords = SkyCoord(
>>>     azimuths,
>>>     elevations,
>>>     unit="deg",
>>>     frame=AltAz(
>>>         obstime=Time("2025-06-17 12:00:00"),
>>>         location=nenufar_position
>>>     )
>>> )
>>> coords_corrected = pointing_correction(coords, "2022")

>>> fig = plt.figure(figsize=(7, 7))
>>> ax = fig.add_subplot(projection="polar")
>>> im = ax.pcolormesh(np.radians(azs), alts, coords_corrected.separation(coords).deg)
>>> ax.set_rlim(90, 0)
>>> ax.set_theta_zero_location("N")
>>> cb = fig.colorbar(im, fraction=0.045, pad=0.08)
>>> cb.set_label("Angular separation (deg)")
../_images/pointing_correction.png