| Versions | |
| Status | |
| Tools | |
| License | |
| Paper |
EL-PASO is a Python framework designed to streamline the download, processing, and saving of satellite particle observation data.
Its primary purpose is to prepare and standardize particle data for use in radiation belt modeling.
- Format Flexibility: Capable of handling different input formats including
cdf,netcdf,h5,ascii, andjson - Integrated Processing: Provides a comprehensive set of functions for common particle data analysis tasks
- Supports Metadata: Stores all processing and metadata alongside the data, ensuring full traceability and reproducibility.
- Standardized output files: Saving processed data in different standards (e.g. PRBEM) to enable easy loading and sharing of processed data
Full documentation can be viewed here.
- Arase
- MEPe
- XEP real-time
- PWE density
- GOES-R
- MPS-High real-time
- MPS-High
- ESA
- NGRM satellites
- POES
- MEPED (electrons)
- TED (electrons)
- PROBA-V
- EPT (electrons and protons)
- Van Allen Probes
- HOPE (electrons) and ECT-combined
- EMFISIS and EFW density
Begin by cloning the EL-PASO repository and navigating into its directory.
git clone https://github.com/GFZ/EL_PASO.git
cd EL_PASOIt is highly recommended to use a virtual environment to manage dependencies.
uv venv --python 3.12 --seed
source .venv/bin/activate
uv pip install .The custom setup.py script will automatically download and compile the IRBEM Fortran library during this step.
You can validate your installation by running the minimal example located in examples:
python examples/minimal_example.pyMost tests rely on reference/system test data hosted on Zenodo. Download it by running the following script from the repository root:
bash download_data_for_tests.shThis fetches the dataset archive and extracts it into tests/system/. You only need to do this once (rerun it if the data changes upstream).
pytest is installed as part of the regular dependencies (see Installation), so no separate test install step is needed.
Run the full test suite with pytest:
pytest testsTests are grouped using pytest markers, defined in pytest.ini:
-
basic: quick tests suitable for fast, everyday verification of the code. This is what CI runs on every push/PR:pytest tests -m basic
-
visual: tests that produce plots or other visual output which must be checked manually rather than being asserted automatically:pytest tests -m visual
You can combine or exclude markers using standard pytest marker expressions, e.g. to run everything except visual tests:
pytest tests -m "not visual"Some system tests compare against previously stored reference solutions. Pass --renew_solution to regenerate and overwrite those reference solutions instead of comparing against them:
pytest tests --renew_solution=trueUse this only when you intend to intentionally update the stored reference outputs.
If you use EL-PASO in your research, please cite the associated preprint:
Haas, B., Drozdov, A. Y., and Jhawar, S. EL-PASO: An Open-Source Python Library for Processing and Standardizing Particle Measurements Taken in Space. ESS Open Archive. https://essopenarchive.org/doi/full/10.22541/essoar.15002644/v1
@article{
doi:10.22541/essoar.15002644/v1,
author = {Bernhard Haas and Alexander Y. Drozdov and Sahil Jhawar },
title = {EL-PASO: An Open-Source Python Library for Processing and Standardizing Particle Measurements Taken in Space},
journal = {ESS Open Archive},
volume = {2026},
number = {0502},
pages = {},
year = {2026},
doi = {10.22541/essoar.15002644/v1},
URL = {https://essopenarchive.org/doi/abs/10.22541/essoar.15002644/v1},
eprint = {https://essopenarchive.org/doi/pdf/10.22541/essoar.15002644/v1}}To cite this repository you can use CITATION.cff.
This work has been funded by the German Research Foundation (NFDI4Earth, DFG project no. 460036893, https://www.nfdi4earth.de/). The authors acknowledge the work of Mátyás Szabó-Roberts who led the foundation for the EL-PASO framework.
The thank the authors of the IRBEM library for providing their code.