Jupyter notebooks and helper library for HF propagation research using IONIS datasets
Project description
ionis-jupyter
Jupyter notebooks and helper library for HF propagation research using IONIS datasets.
What's Inside
175+ million propagation signatures spanning 18 years (2008-2026), ready for analysis:
| Dataset | Signatures | Source | SNR Type |
|---|---|---|---|
| WSPR | 93.6M | 10.8B WSPR spots | Measured (-30 to +20 dB) |
| RBN | 67.3M | 2.2B CW/RTTY spots | Real measured (8-29 dB) |
| Contest | 5.7M | 234M SSB/RTTY QSOs | Anchored (+10/0 dB) |
| PSKR | Growing | PSK Reporter MQTT | Measured (-34 to +38 dB) |
| DXpedition | 260K | 3.9M rare-grid paths | Real measured |
Plus solar indices (1932-2026), DSCOVR solar wind, and IRI-2020 ionospheric atlas.
Quick Start
Option 1: Binder (No Install)
Click the Binder badge above to launch notebooks in the cloud — nothing to install.
Option 2: Local Install
# Install packages
pip install ionis-jupyter ionis-mcp
# Download datasets (choose your bundle)
ionis-download --bundle minimal # ~430 MB: contest + grids + solar
ionis-download --bundle recommended # ~1.1 GB: + pskr + dscovr
ionis-download --bundle full # ~15 GB: all 9 datasets
# Launch Jupyter
jupyter lab
Notebooks
| Notebook | Description | Audience |
|---|---|---|
01-getting-started |
Load data, basic queries | Everyone |
02-band-openings |
Hour×month heatmaps per band | Contesters, DXers |
03-solar-correlation |
SFI effect on propagation | Researchers |
04-path-analysis |
TX→RX specific path deep dive | Path planners |
05-greyline-terminator |
Day/night boundary propagation | Low-band DXers |
06-tid-detection |
SNR variance for TID research | HamSCI, ionospheric science |
07-cross-source-comparison |
WSPR vs RBN vs Contest vs PSKR | Data scientists |
08-distance-vs-snr |
Signal decay with distance | Antenna analysts |
09-seasonal-patterns |
Summer vs winter, solar cycle | Long-term researchers |
10-ionis-model-api |
Query live IONIS predictions | API users |
Helper Library
The ionis_jupyter package provides utilities for common tasks:
from ionis_jupyter import (
# Data loading
load_dataset, list_datasets,
# Grid calculations
grid_to_latlon, grid_distance, grid_bearing,
# Solar geometry
solar_elevation, is_dark, classify_path,
# Plotting
plot_band_heatmap, plot_solar_correlation,
plot_path_profile, plot_distance_snr,
)
# Load WSPR signatures
wspr = load_dataset("wspr")
print(f"Loaded {len(wspr):,} signatures")
# Filter to 20m band
wspr_20m = wspr[wspr["band"] == 107]
# Plot hour×month heatmap
plot_band_heatmap(wspr_20m, band=107)
Data Directory
By default, datasets are stored in ~/.ionis-mcp/data/. Override with:
export IONIS_DATA_DIR=/path/to/your/data
Or download directly:
# Specific datasets
ionis-download --datasets wspr,rbn,solar
# To custom directory
ionis-download --bundle minimal --data-dir /my/data/path
For Researchers
This repository is designed for:
- PhD students studying ionospheric propagation
- HamSCI researchers analyzing TIDs, eclipse effects, greyline
- Data scientists needing labeled propagation data for ML
- Contesters analyzing historical band conditions
- Amateur radio operators exploring propagation patterns
Citation
If you use these datasets in research, please cite:
IONIS-AI Propagation Datasets.
Greg Beam, KI7MT. IONIS-AI Project.
https://ionis-ai.com
Data sources: WSPRNet, Reverse Beacon Network, PSK Reporter, CQ Contests.
Links
- Datasets: SourceForge
- MCP Server: ionis-mcp on PyPI
- Project: IONIS-AI on GitHub
License
MIT — see LICENSE.
Datasets are CC BY 4.0 (see per-directory LICENSE.md files on SourceForge).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ionis_jupyter-0.2.1.tar.gz.
File metadata
- Download URL: ionis_jupyter-0.2.1.tar.gz
- Upload date:
- Size: 277.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9510ccb5caf81e76286e90ad003f24d808938c8a1c64d008b8ba7cd3c9c6cefd
|
|
| MD5 |
af622ebada5cae7c7765e24e00fb6087
|
|
| BLAKE2b-256 |
db9171d1262bd8ae922582f7ddc507dddb05f8875876d828f872a9d2cb6460aa
|
Provenance
The following attestation bundles were made for ionis_jupyter-0.2.1.tar.gz:
Publisher:
publish.yml on IONIS-AI/ionis-jupyter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ionis_jupyter-0.2.1.tar.gz -
Subject digest:
9510ccb5caf81e76286e90ad003f24d808938c8a1c64d008b8ba7cd3c9c6cefd - Sigstore transparency entry: 1021586169
- Sigstore integration time:
-
Permalink:
IONIS-AI/ionis-jupyter@a4a7bc345e1a43bc260f4deb5688fff4b6524f41 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/IONIS-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a4a7bc345e1a43bc260f4deb5688fff4b6524f41 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ionis_jupyter-0.2.1-py3-none-any.whl.
File metadata
- Download URL: ionis_jupyter-0.2.1-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
888bd4a775ef765890638631e0c861888e1d47ccd20f86e65388d56acc9109e6
|
|
| MD5 |
a3af4b109e407c50119422654e61018a
|
|
| BLAKE2b-256 |
d31e535cc4df2cfed42c0a971034bd4dbda49bfc875a29d9063d34e9d0d59d3a
|
Provenance
The following attestation bundles were made for ionis_jupyter-0.2.1-py3-none-any.whl:
Publisher:
publish.yml on IONIS-AI/ionis-jupyter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ionis_jupyter-0.2.1-py3-none-any.whl -
Subject digest:
888bd4a775ef765890638631e0c861888e1d47ccd20f86e65388d56acc9109e6 - Sigstore transparency entry: 1021586233
- Sigstore integration time:
-
Permalink:
IONIS-AI/ionis-jupyter@a4a7bc345e1a43bc260f4deb5688fff4b6524f41 -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/IONIS-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@a4a7bc345e1a43bc260f4deb5688fff4b6524f41 -
Trigger Event:
push
-
Statement type: