Available v3.0.0

HF Planner

HF Propagation Analysis

What It Does

Enter your location and target. HF Planner checks current ionospheric conditions and ranks which bands have the best chance of working right now.

Pulls live data from the KC2G ionosonde network, WSPR.live, PSKReporter (all digital modes), and CloudRF. No API keys needed. Works offline with automatic propagation caching.

Link analysis showing band recommendations, SNR margins, and mode viability
Link analysis showing band recommendations, SNR margins, and mode viability

Install

Works on Windows, macOS, and Linux. Requires Docker Desktop. Open Docker Desktop first, then open a terminal (PowerShell on Windows, Terminal on Mac, any terminal on Linux). Run each line one at a time:

docker network create hfnet
docker volume create hfnet-data
docker run -d --name api --network hfnet -v hfnet-data:/app/data lfmanifesto/hfnet-planner-api:latest
docker run -d --name ui --network hfnet -p 8880:80 lfmanifesto/hfnet-planner-ui:latest

Wait 10 seconds, then open http://localhost:8880. Station profiles are saved to the hfnet-data volume and survive updates.

Update

Stop and remove the old containers, pull new images, and start fresh. Station data is preserved.

docker stop ui api
docker rm ui api
docker pull lfmanifesto/hfnet-planner-api:latest
docker pull lfmanifesto/hfnet-planner-ui:latest
docker run -d --name api --network hfnet -v hfnet-data:/app/data lfmanifesto/hfnet-planner-api:latest
docker run -d --name ui --network hfnet -p 8880:80 lfmanifesto/hfnet-planner-ui:latest

Wait 10 seconds, then open http://localhost:8880.

Stop / Start / Remove

docker stop ui api          # Stop (keeps containers)
docker start api ui         # Start (resume stopped)
docker stop ui api && docker rm ui api   # Remove containers (data kept)

To remove everything including station data:

docker stop ui api
docker rm ui api
docker volume rm hfnet-data
docker network rm hfnet

Features

Propagation map showing NVIS range, ionosonde stations, and path quality
Propagation map showing NVIS range, ionosonde stations, and path quality

Enter TX and RX grid squares, configure station parameters (power, antenna, noise floor), and get ranked band recommendations with SNR margins for all 10 forward modes.

All Modes at Once

All 10 forward modes (JS8Call Slow/Normal/Fast/Turbo, VARA HF SL1/SL2/SL4, Reticulum DATAC4/DATAC3/DATAC1) assessed simultaneously per band. No mode selector needed. The results table shows a Viable Modes column for each band in a single view.

Band Recommendations

All 10 HF bands ranked by physics-based scoring. Shows propagation type (NVIS vs Skip), estimated SNR, margin above decode threshold, and viable modes per band. SNR estimation uses a single unified path combining WSPR beacons, PSKReporter spots (all modes), CloudRF terrain modeling, and theoretical physics, weighted by data quality and volume.

Offline Fallback

API responses are cached automatically. When live data sources are unreachable, cached data is used with a staleness indicator so you always get results.

Massive Spot Coverage

PSKReporter now queries all digital modes (FT8, FT4, JS8, CW, JT65, JT9, PSK31), providing 10-100x more propagation evidence per path compared to JS8-only queries.

Skip Zone Detection

Flags bands where your signal will overshoot the target. Higher frequencies need longer paths to work via ionospheric skip. The app calculates minimum skip distance for each band.

Calculates both TX-to-RX and RX-to-TX paths. Shows the weaker direction so you know if you can actually have a two-way conversation.

Propagation dashboard with real-time WSPR activity and ionospheric conditions
Propagation dashboard with real-time WSPR activity and ionospheric conditions

Propagation Dashboard

Global WSPR activity by band, geomagnetic conditions, and real-time foF2 from 97 ionosondes worldwide. Shows which bands are open right now.

Station Wizard

Configure stations by selecting environment (urban/suburban/rural/remote), power level, antenna type, and feed line. The wizard calculates noise floor and losses automatically based on ITU-R P.372.

Mode Thresholds

Mode Min SNR Speed
JS8Call Slow -28 dB 8 wpm
JS8Call Normal -24 dB 16 wpm
JS8Call Fast -20 dB 24 wpm
JS8Call Turbo -18 dB 40 wpm
VARA HF SL1 -21 dB 18 bps
VARA HF SL2 -18 dB 41 bps
VARA HF SL4 -14 dB 88 bps
Reticulum DATAC4 -4 dB 87 bps
Reticulum DATAC3 0 dB 321 bps
Reticulum DATAC1 +5 dB 980 bps

Data Sources

Source What It Provides
prop.kc2g.com Real-time foF2 and MUF from ionosonde network
wspr.live WSPR beacon spot database
pskreporter.info All digital mode spots — FT8, FT4, JS8, CW, and more
hamqsl.com Solar flux index (SFI), K-index geomagnetic conditions
cloudrf.com Terrain-aware NVIS propagation modeling (optional)

Troubleshooting

Issue Fix
“docker: command not found” Install Docker Desktop first
“Cannot connect to the Docker daemon” Open Docker Desktop and wait for it to finish starting
“port is already allocated” Change 8880 to another port: -p 9090:80 then open http://localhost:9090
“network already exists” Safe to ignore, skip that step
“volume already exists” Safe to ignore, skip that step. Saved stations are preserved.
Page does not load Wait 10 seconds for the API to start, then refresh
No data loading Check your internet connection. All data comes from external APIs. Cached data is used when offline.

Changelog

Version Changes
3.0.0 All digital modes from PSKReporter (FT8, FT4, JS8, CW — 10-100x more data), all 10 modes assessed simultaneously, propagation cache with offline fallback, unified SNR estimation, 658 tests / 88% coverage
2.1.0 Above-MUF loss model (ITU-R P.533), path MUF scaling for skip paths, data source indicators, CloudRF elevated to primary, ionospheric excess loss model
1.2.0 VARA HF support (SL1/SL2/SL4), foF2 uncertainty fix for false negatives, CloudRF noise floor fix, station edit fix
1.1.0 399 backend tests, physics validation against ITU-R, CloudRF integration, PSKReporter JS8Call spots
1.0.0 Station wizard, auto-fallback WSPR (2h-24h), multi-arch Docker (amd64 + arm64)
0.7.0-beta Bidirectional link analysis, noise floor fix
0.6.0-beta UI overhaul, JS8Call/Reticulum side by side
0.5.x Map tab with WSPR spots, ionosonde stations, NVIS circle
0.4.x Physics-based band ranking, skip zone detection

ReticulumHF for running Reticulum over HF radio. For support, join Discord or Matrix.

Requirements

  • Docker
  • Internet connection (optional with cache)

Package Includes

  • 10 HF bands
  • Real-time ionospheric data
  • All 10 modes assessed simultaneously
  • Offline fallback with propagation cache
  • All digital mode propagation evidence
  • Physics-based band ranking
  • Bidirectional link budget

Open Source

Free software. MIT License.

Download