Most band-condition displays take one number — the solar flux — and look up a colour. We model the ionosphere the signal has to travel through, on the paths you might actually work, using the antenna you actually own. Here’s exactly how, in plain language, including the parts we’re still unsure about.
You’ve seen the widget: a stack of bands, each green, yellow or red. Behind almost all of them is a lookup table on the solar flux index — one number, measured once a day at one observatory in Canada.
| Solar flux | 20m | 10m |
|---|---|---|
| < 70 | Poor | Poor |
| 70–110 | Fair | Poor |
| 110–150 | Good | Fair |
| > 150 | Good | Good |
Work out where the ionosphere actually is tonight, bounce a signal off it along 36 different paths out of your QTH, add up the losses, subtract the noise, and see whether what’s left is enough for the mode you operate.
It’s the same link-budget arithmetic a professional HF circuit engineer does. The only reason it isn’t standard in ham software is that it takes an ionospheric model and a fair bit of compute, rather than a table.
Every 15 minutes, for every band, this runs from scratch.
Nothing here is invented, and nothing is scraped from another ham site’s rating. Every input is a primary source.
| Input | Source | What it tells us |
|---|---|---|
| Solar flux (SFI) 10.7 cm radio flux |
NOAA Space Weather Prediction Center · HamQSL | How hard the sun is ionising the upper atmosphere — the main control on how high a frequency will bend back to Earth. |
| K and A index | NOAA SWPC planetary K | How disturbed the Earth’s magnetic field is. High K wrecks polar paths and drags the usable frequency down. |
| Ionosphere itself foF2, hmF2, M(3000) |
IRI-2020, the international standard model, via NASA’s PyIRI | The actual electron density above a given point at a given hour — the layer your signal bounces off. |
| Lower atmosphere | Open-Meteo numerical weather model | Temperature and humidity with height, which is what forms the tropospheric ducts that carry VHF far beyond line of sight. |
| Your station | What you entered when you signed up | Grid square, antenna family and height, power. This is what makes the answer yours rather than everyone’s. |
Three things decide whether a band works. Every rating we produce is these three questions, answered per path.
The MUF (maximum usable frequency) is the highest frequency that will still bend back to Earth on a given path. Go above it and your signal keeps going into space. This is why 10 m is dead at solar minimum and alive at solar maximum, and it changes hour by hour along the path — which is why we compute it at points every 500 km rather than once.
In daylight the D layer absorbs low frequencies. That’s the whole reason 80 m and 160 m are night bands. The LUF (lowest usable frequency) is where absorption eats you alive, and it rises with the sun angle overhead.
Getting there isn’t enough — it has to be audible. We add up transmit power, antenna gain, feedline loss, spreading loss and absorption, then compare against the radio noise floor at that frequency. That last comparison is where the mode you operate finally matters.
A band can be wide open to the south and stone dead to the north-east at the same moment. Rating a band with a single number hides that, so we compute 36 paths from your QTH — twelve compass directions at three distances — and the band’s rating reflects how many of them are actually open.
Each path is sampled every 500 km along its length, because the ionosphere over the middle of the Atlantic at 2 a.m. is not the ionosphere over your house at 9 p.m. A long path can be open at one end and shut at the other, and only walking along it catches that.
It also means the rating knows the difference between “you can work the next state” and “you can work Japan” — which is usually the question you actually had.
This is the part almost nothing else does. A dipole 10 ft off the ground and the same dipole at 60 ft are different antennas — not slightly, but by tens of decibels at the angles that matter for DX.
| Height (20 m band) | Where the energy goes | Good for |
|---|---|---|
| ~10 ft (0.15 wavelength) | Almost straight up | Local & regional — a “cloud warmer”. Poor for DX. |
| ~35 ft (0.5 wavelength) | A broad lobe around 30° | A good all-rounder. Workable DX. |
| ~70 ft (1 wavelength) | A strong low lobe near 15° | DX. The angle long paths need. |
So when we evaluate a 10,000 km path, we ask what your antenna does at the low angle that path requires — not what it does on average. Tell us it’s a beam and we account for its direction, too: a Yagi pointed at Europe is not helping you work Australia.
A signal too weak to hear on SSB can be a perfectly solid FT8 decode. The gap between them is about 27 dB — a factor of 500 in power. A single colour per band cannot be true for both, so we rate each band for the mode you pick.
| Mode | Bandwidth | Signal needed | In practice |
|---|---|---|---|
| FM | 16 kHz | +12 dB | The most demanding. Needs a genuinely strong signal. |
| SSB | 2.4 kHz | +6 dB | Voice. Wants the band properly open. |
| RTTY | 250 Hz | −2 dB | Works below the SSB threshold. |
| CW | 500 Hz | −5 dB | The classic weak-signal edge. Works when SSB won’t. |
| PSK31 | 31 Hz | −8 dB | Narrow keyboard-to-keyboard mode. |
| FT4 | 83 Hz | −17 dB | Fast digital contest mode. |
| FT8 | 50 Hz | −21 dB | Decodes signals you cannot hear at all. |
| JT65 / JT9 | 6–10 Hz | −22 to −24 dB | Slower, even more sensitive. |
| WSPR | 6 Hz | −30 dB | Not a QSO mode — a propagation beacon. |
Set the dashboard to FT8 and marginal bands turn usable. Set it to SSB and they close again. Both are correct; they’re just different questions.
A geomagnetic storm doesn’t just make things “bad”. It depresses the usable frequency, adds absorption, and hits high-latitude paths hardest — a path over the pole can be shut while a path south is fine. We apply the K-index as a penalty that scales with the latitude the path actually crosses, rather than as a blanket downgrade.
A forecast without an error bar is a guess with good posture. Ours starts at 100 and takes named penalties — missing inputs, storm conditions, long horizons — and is capped at 95, deliberately. Nothing we publish claims certainty, because nothing about the ionosphere is certain.
| Looking ahead | Reliability | Typical error | What that means |
|---|---|---|---|
| Right now | 90 | ±3 dB | Solid. Act on it. |
| +1 hour | 85 | ±4 dB | Still good. Plan your evening. |
| +6 hours | 75 | ±6 dB | Directionally right. |
| +24 hours | 65 | ±8 dB | A useful hint, not a promise. |
| +72 hours | 50 | ±12 dB | Barely better than climatology. Treat it that way. |
Any tool can claim to be the most accurate. The useful question is whether it checks, and what it does when the answer is unflattering. Here is ours, openly.
Every forecast is saved with a timestamp. Later, we compare it against what was actually being heard worldwide from reported-signal networks. That’s the only thing those reports are used for — scoring us, never feeding us.
Our summer sporadic-E prediction is climatology — when Es usually happens, not a measurement of tonight. An earlier test seemed to show it had no skill. We later found that test couldn’t tell: at one station over one season, the prediction follows the clock so closely that the test was comparing different hours of the day, not better and worse forecasts. So the honest status is untested, not disproven. It stays capped anyway, because a prediction built from averages must not claim a confident 10 m opening. Measured Es from ionosondes is the real test, and that feed is next on the list.
Our scoring counted every path with more than about 20 dB to spare as simply “excellent”. On 60, 40 and 30 m nearly every path clears that, so the rating barely moved for weeks — on 40 m the score varied by about one point in a hundred. That’s why 40 m looked unbeatable by “always Good”: it was always saying Good. A scale that keeps counting past 20 dB is written and switched off until it’s tested. Even with it, 40 m may genuinely be open nearly all the time — the difference is we’ll know that’s the band, not the arithmetic.
Ratings are calibrated against what was actually heard. The antenna-aware model’s calibration was derived on 8 September 2026 from 36 days and 41,604 forecasts — all at one station, in late summer. 6 m’s calibration reflects August and September, not the peak Es season, and none of it reflects winter or other parts of the country yet.
We found our own atmospheric-noise handling underestimates the racket on 160 and 80 m at night, by rather a lot. The fix is written and tested, and it stays switched off: measured on its own, it made some bands worse at telling good hours from bad. It ships together with the scoring fix above, once both have been tested.
“As busy as this hour usually is” predicted reported activity better than our physics on every band. Part of that is the yardstick — spot counts measure how many operators are awake as much as whether a band is open — but not all of it: on 15, 12 and 10 m our daily peak is in the wrong place, and we’re hunting for why. On 160 and 80 m, once time of day is taken out, the physics does know something the clock doesn’t.
IRI is a climatological model — an excellent average, not a live measurement. Real conditions wobble around it. Anyone claiming certainty about tonight’s propagation is selling something.
For the question “should I go and turn the radio on, and to what?” we think clearly yes, for one reason: the answer is about you. Here’s the honest scorecard.
| Typical SFI widget | ElmerShack | |
|---|---|---|
| Accounts for your location | No | Yes — per grid square |
| Accounts for time of day | Rarely | Yes — along the whole path |
| Accounts for your antenna | No | Yes — family, height, direction |
| Accounts for your mode | No | Yes — 13 modes |
| Distinguishes near from far | No | Yes — 3 distances × 12 headings |
| Uses a real ionosphere model | No | Yes — IRI-2020 |
| Publishes a confidence figure | No | Yes, capped at 95 |
| Measures its own accuracy | No | Yes, every 15 minutes |
| Tells you where it’s weak | No | Yes — see the section above |
| Instant with no setup | Yes | Needs your grid and antenna first |
The last row is a real cost, and we’d rather name it than hide it: we ask you for two minutes of setup that a lookup table doesn’t need. What you get back is a forecast that would be different for your neighbour with a different antenna — because it genuinely is.
Add your grid square and antenna, and the bands re-rate themselves for you.
Sign up free