SOPRAN¶
SOPRAN (Satellite Observation Package for Retrieval, Analysis, and Navigation) is the Python package for retrieving, storing, analyzing, and visualizing spacecraft observations around the Moon. KAGUYA/SELENE, ARTEMIS, Lunar Prospector, and OMNI observations, and lunar terrain, magnetic, and illumination maps, all use the same calling style.
import sopran as spn
spn.config.use(store="/path/to/sopran_data") # where data is kept
time = spn.day("2008-02-01")
spn.kaguya.esa1.energy_flux.plot(time) # retrieve, calibrate, and plot in one line
flux = spn.kaguya.esa1.energy_flux.load(time) # load as an array for analysis
spn.kaguya.esa1.energy_flux means "electron energy flux measured by PACE ESA1 on KAGUYA".
Names follow mission, instrument, and physical quantity, so walking the attributes shows what the data is and how it is organized.
Loaded values carry units, coordinate frames, time and energy bins, and source files,
and those appear directly on plot axes and colorbars.
Development status
SOPRAN is at an early stage (Pre-Alpha). The public API may change. The support table in the data overview shows what is implemented.
How to read these docs¶
If you are new, read the four "Getting Started" pages in order. They take you from retrieving data to saving a plot together with its analysis conditions. The other pages are references to look up when you need them.
| You want to | Read |
|---|---|
| Install and run something | Installation → First Plot |
| Know which data exists, its units, and its caveats | Data overview and the mission pages |
| Slice, reduce, or convert loaded arrays to tables | Working With Arrays |
| Stack several instruments on a shared time axis | Plotting |
| Repeat analyses on the same period and region, and record conditions | Time, Regions, And Cases |
| Choose where data is stored, work offline | Configuration, Storing Data |
| Align times for statistics or machine learning | Time Alignment |
| Process long periods into daily Parquet | Batch Pipelines |
| Look up arguments and types | Python API, Glossary |
| Use experimental electron reflectometry (ER) or wave-candidate APIs | Experimental |
| Contribute to SOPRAN | Design Principles, Setup And Checks |
Supported data¶
| Entry point | Main data | Details |
|---|---|---|
spn.kaguya |
PACE (electrons, ions), LMAG (magnetic field), LRS (radio and plasma waves), orbit geometry | KAGUYA |
spn.artemis |
P1/P2 FGM magnetic field, ESA ion and electron fluxes and moments | ARTEMIS |
spn.lunar_prospector |
MAG (field, position), ER (omnidirectional and 3-D electron flux) | Lunar Prospector |
spn.omni |
Hourly solar wind and geomagnetic indices, plus 1- and 5-minute values (HRO, HRO2) | OMNI |
spn.moon |
DEM, surface magnetic field (SVM), solar zenith angle, shadow, magnetic anomaly catalog | Moon Maps |
Questions and bug reports¶
Send usage questions, documentation errors, and bugs to
GitHub Issues.
Use Lang at the top right of each page to switch to Japanese.