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
Clone the repository and enter the project directory:
git clone https://github.com/Jagathesh04/aiatresp.git && cd aiatresp
Install aiatresp directly into your active environment (Conda or .venv):
pip install .
For editable/development installation:
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 and numerical validation against SolarSoft IDL aia_get_response across all calibration versions (V1 to V10) 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
License
Distributed under the terms of the MIT License.
Metadata
Release files for aiatresp 0.1.0
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.0.tar.gz | 20.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiatresp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.9 kB
Release files / aiatresp-0.1.0.tar.gz
| Download URL | aiatresp-0.1.0.tar.gz |
|---|---|
| Size | 20.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d84deb2a3ad198029b95c0808463e484923faddec300dcb6cd662119467000f
|
|
BLAKE2b-256 checksum How to use checksums |
7e17a365eca23b316e3751290d18a0a324f21c9f5260bc3b452fc934b8eaf84c
|
| 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.0-py3-none-any.whl
| Download URL | aiatresp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 18.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8ee668c59e35a13037853eb5ec742ff0d993a9b95e56ae8def4a2c5cd97782b5
|
|
BLAKE2b-256 checksum How to use checksums |
a9afc7f923e4fe6afcd106f9fedd42f4dfd90aa0c75c5b469cb6f2b7d1542db0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|