aiatresp
aiatresp is a pure Python replacement for SolarSoft's aia_get_response() routine.
It computes the SDO/AIA temperature response functions for all coronal channels without requiring IDL or SolarSoft while remaining numerically consistent with the official AIA calibration files.
Workflow Translation
IDL (SolarSoft)
-------------------------------------------------------------
aia_get_response, '2014-03-29', channels, logt, tr, /chianti
↓
Python (aiatresp)
-------------------------------------------------------------
from aiatresp import aia_response
response = aia_response(obstime="2014-03-29")
channels = response.channels
logt = response.logt
tr = response.response # Array shape: (6, 101) -> (channels, temperature)
Features
- Pure Python Replacement for
aia_get_response: Computes time-dependent AIA temperature responses without any IDL or SolarSoft installation. - Dynamic SSW Catalog Tracking: Automatically fetches live SolarSoft calibration indices (
https://hesperia.gsfc.nasa.gov/ssw/sdo/aia/response/) to auto-discover active calibration versions (V1–V10, preflight, and future releases like V11) without hardcoded lookup tables. - Time-Dependent Degradation & Crosstalk: Full support for time-dependent EVE degradation corrections and channel crosstalk.
- On-Demand Storage Discipline: Downloads only the specific single calibration version files needed into cross-platform cache locations (
platformdirs). - Parallel Downloader & Calculator: Multi-part parallel chunk downloader for maximum speed and vectorized NumPy integration.
scipy.io.readsavDrop-in Compatibility: Includesread_aia_responsehelper exposing.channels,.logt,.tr, and.units.
Installation
Via PyPI (Recommended)
pip install aiatresp
Via Conda-Forge
conda install -c conda-forge aiatresp
From Source
git clone https://github.com/Jagathesh04/aiatresp.git && cd aiatresp
pip install -e .
Usage
1. By Observation Date
You can calculate temperature response functions by passing an ISO date string:
from aiatresp import aia_response
response = aia_response(obstime="2017-01-01T00:00:00")
print("Channels:", response.channels)
print("Response shape:", response.response.shape) # (6, 101) -> (channels, temperature)
2. By Auto-Parsing FITS Directories
Pass obstime="auto" and supply the directory containing AIA FITS files:
from aiatresp import aia_response
response = aia_response(obstime="auto", fits_dir="/path/to/my/fits/directory")
3. Command-Line Interface (CLI)
# Output text and .npz response files from observation time
aia-response --observation-time "2019-01-01T00:00:00" --output resp.npz --text-output resp.dat
# Display environment & cache diagnostics
aia-response info
# Clear cached calibration files
aia-response --clear-cache
Scientific Validation
Full side-by-side comparison plots, error matrices, and numerical validation against SolarSoft IDL aia_get_response across all 13 official calibration releases (preflight, V2 to V10c) are available in COMPARISON.md.
Verification & Testing
Run the automated test suite with pytest:
pytest -v
Run the scientific verification script against SolarSoft reference standards:
python examples/compare_with_ssw.py
Authors & Contributors
Made by Jagatheshwaran R and Aparna G R.
License
Distributed under the terms of the MIT License.
Metadata
Release files for aiatresp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiatresp-0.1.1.tar.gz | 20.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiatresp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.5 kB
Release files / aiatresp-0.1.1.tar.gz
| Download URL | aiatresp-0.1.1.tar.gz |
|---|---|
| Size | 20.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
96e453bbe2162e25b2fd49b1ac39d0d0af56698b8afa13007cde842ecc5f60f1
|
|
BLAKE2b-256 checksum How to use checksums |
ee6c925f09e7b8b01bc9e8c7e6ac2ce3b47f0bc906fc43f605da961c23714168
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / aiatresp-0.1.1-py3-none-any.whl
| Download URL | aiatresp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f26228cba44d6e85ed8a1a3cd5be1628eb06c1729623d92a17e2e39126b28da2
|
|
BLAKE2b-256 checksum How to use checksums |
22bfaf28220aa54ebaa4764e621613ad0c3dfd351aaec7d936e221fa5016c487
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|