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.
We tested our summer sporadic-E prediction against 25,000 hours of observations and it showed no skill — it was flat-to-backwards versus reality. So rather than quietly leaving it in, we capped it: it can now say “Fair, might be some Es about” and is not permitted to claim a 10 m opening it can’t actually predict. A real-time replacement is on the list.
We measured whether our 40 m rating beats simply saying “Good” every time. It doesn’t — the band is so reliably open to somebody that there’s little to predict. We publish that rather than quietly counting 40 m as a win.
Every time the physics changes, the accuracy history resets — comparing a new model against old scores would flatter it. The antenna-aware version went live on 1 August 2026 and needs 30 days of data before its ratings are calibrated against measured results rather than a general-purpose scale.
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; it is deliberately switched off in production until it has been validated, because a change that shifts every low-band rating is not something to ship on a hunch.
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