aiapy.calibrate.degradation(channel: Unit('Angstrom'), obstime, *, correction_table=None, calibration_version=None)[source]#

Correction to account for time-dependent degradation of the instrument.

The correction factor to account for the time-varying degradation of the telescopes is given by a normalization to the calibration epoch closest to obstime and an interpolation within that epoch to obstime,

\[\frac{A_{eff}(t_{e})}{A_{eff}(t_0)}(1 + p_1\delta t + p_2\delta t^2 + p_3\delta t^3)\]

where \(A_{eff}(t_e)\) is the effective area calculated at the calibration epoch for obstime, \(A_{eff}(t_0)\) is the effective area at the first calibration epoch (i.e. at launch), \(p_1,p_2,p_3\) are the interpolation coefficients for the obstime epoch, and \(\delta t\) is the difference between the start time of the epoch and obstime. All calibration terms are taken from the aia.response series in JSOC or read from the table input by the user.


This function is adapted directly from the routine in SolarSoft.

  • channel (Quantity)

  • obstime (Time)

  • correction_table (Table or str, optional) – Table of correction parameters or path to correction table file. If not specified, it will be queried from JSOC. See aiapy.calibrate.util.get_correction_table for more information. If you are processing many images, it is recommended to read the correction table once and pass it with this argument to avoid multiple redundant network calls.

  • calibration_version (int, optional) – The version of the calibration to use when calculating the degradation. By default, this is the most recent version available from JSOC. If you are using a specific calibration response file, you may need to specify this according to the version in that file.