Contains classes to load Electron Losses and Fields Investigation (ELFIN; https://elfin.igpp.ucla.edu/) L2 data, make pitch angle distributions (PADs), and well plot ELFIN above auroral all-sky imagers (ASIs).
Example ELFIN-B data showing an electron isotropy boundary, generated from the test_pad_plot test in test_pad.py. Event from Wilkins+2023.
2026-01-13 NOTE: I've discovered an inconsistency in ELFIN's epoch parsing between python versions 3.13 and 3.14. For now use python 3.13 with numpy==2.2.6 and cdflib==1.3.8 to correctly parse the epochs. The issue is obvious if you look at the inconsistent years coming out of
cdflib.cdfepoch.to_datetime().
$ python -m pip install git+https://github.com/mshumko/elfinasi.gitTo locally install in editable mode run
$ git clone git@github.com:mshumko/elfinasi.git
$ cd elfinasi/
$ python -m pip install -e .The src/elfinasi/elfin.py module contains five classes to load and analyze
elfinasi.State--- Load the ELFIN ephemeris,elfinasi.EPD--- load the ELFIN L1 and L2 cdf files,elfinasi.MagEphem--- Use IRBEM to produce magnetic ephemeris,elfinasi.EPD_PAD--- Use the L1 and L2 EPD data and make plots including omnidirectional and BLC/DLC flux.elfinasi.EPD_PAD_ARTEMYEV--- Same as EPD_PAD, but for the custom files provided by Dr. Anton Artemyev.
The src/20240904_substorm_study folder contains scripts to reproduce figures for the Shumko+2025 paper which includes TREx, ELFIN, THEMIS, and optionally POES.
NOTE: You must install IRBEM, in addition to
elfinasi, as we use it for the magnetic field line tracing.
The scripts fig#.py and movie_s#.py correspond to the figures and animations in the paper. Furthermore, it contains the 20220904_0425_trex_poes_conjunction.ipynb Jupyter notebook to plot and animate the TREx-POES conjunction for Fig. S3 and Movie S3.
Animated ELFIN-TREx conjunction that is generated by src/20240904_substorm_study/movie_s2.py
Lastly, the src/20240904_substorm_study/misc folder contains notebooks and scripts that did not make it into the paper, but may be useful.
