Most weather products tell you the forecast. Forecast Fork tells you whether to trust it. It names the competing scenarios still on the table, tracks each one's probability run over run, and prices what each would be worth if it won. Built on Weather Trader's verification engine; every number below is pulled from it as you load this page.
See the scenarios live → How it's verifiedloading live from weathertrader.com…
The chart bins every archived run by the ensemble spread it showed at issue time, then plots the skill each bin actually verified at, from Weather Trader's verification engine. The down-slope means spread warns of busts before the outcome is known. Everything else on this page builds on that.
A fork is not a metaphor here. Every member of every ensemble — ECMWF EPS, GEFS, AIFS-ENS, Google's WeatherNext 2 — is classified into the same named weather regimes at every lead. The shares below are those member counts, from the newest cycle. Where the lines split, the forecast splits.
loading the member distribution…
Read it left to right: near the start the members agree and one regime holds the probability; downstream the shares divide. The lead where they cross is the fork, and it is known, member by member, the moment the cycle is issued.
Clustering one run is easy. The useful part is keeping a scenario's identity from one run to the next. Every cycle, Weather Trader clusters the pooled members into competing scenarios and matches this run's clusters to the last run's by pattern correlation. Storylines persist: they are born, they gain or lose probability, and they die.
loading the scenario tracks…
The maps are the engine's own composites: the ensemble mean is the no-clustering baseline, and each scenario is what the atmosphere looks like if that branch wins. To pick your own pool, region, lead and number of scenarios, use the full tool on weathertrader.com/clusters.
A scenario matters when it changes something you can act on. Each branch above is carried through to a number energy traders use: population-weighted degree days over the Lower 48, accumulated across the five-day window. Same members, same window, one number per future, plus the probability-weighted expectation and the range the branches imply.
| loading the scenario book… |
A forecast that is "uncertain" is a sentence; a forecast whose branches differ by a measured number of degree days is a position size. The full book — four pools, three windows, every cluster count, with each scenario's biggest station movers — is on weathertrader.com/energy.
A consensus is only worth what its independence is worth. We measure it directly: correlate every model's errors against the same analysis, and count how many genuinely independent forecasts the fleet amounts to. Models that all miss the same way are one model with error bars.
loading the diversity matrix…
This is why the scenario engine reports each branch's membership by system. A scenario carried by one model family is weaker evidence than the same scenario carried by all of them, and a machine-learning model that echoes its IFS/ERA5 training is not an independent vote. Full board: weathertrader.com/herding.
A forecast can be confident, with every model and member converging on one outcome, or forked: split into scenarios the atmosphere hasn't chosen between yet. The second kind busts. We keep the three ways of measuring that separate, and label each with its own track record.
How much the ensemble disagrees, per region and lead, fully known at issue time. Its link to realized skill is the chart at the top of this page.
A fitted probability the forecast fails, scored only on forecasts made before the answer was known. Its reliability table is published with it.
How far the outlook for the same valid day moved between the last two runs, by lead and region, against the archive's normal. Distinct from spread, and from P(bust).
The three combine into one headline index only once each is calibrated out of sample on its own. Method and component status on weathertrader.com/method.
Treat the models as bettors, each staking its Day-5 field. A bookmaker with hindsight — who knows the verifying analysis — would set each run's weights to the blend that minimises the error that actually happened. That book cannot be run in real time. But it can be computed afterwards, and the distance between it and the consensus we actually publish is the information left on the table.
loading the hindsight ledger…
Forecast Fork is not ensemble spread. For a fixed valid time the ensemble is a mixture of coherent scenarios, and we track those branches across successive model runs rather than re-clustering and forgetting each cycle. The object is a branching graph: how forecast alternatives emerge, split, merge, and gain or lose probability as the forecast evolves toward reality. The branching graph above is that object, running.
The system runs in both directions. Forward Fork: from the current state, which outcomes are possible and how are their probabilities evolving? Reverse Fork: given an outcome — the analysis that verified, or a station's daily high above a threshold — which branches carried it? The branch shares at issue are the prior, each branch's fit to the verifying analysis is the evidence, and Bayes gives the posterior: P(Bk|E) ∝ πk·qk(E) — live on weathertrader.com/reverse.
The current branches — how many, how separated, their probability, and their membership by system. Four pools (EPS · full physics · machine learning · the Super Ensemble), five regions, seven leads and windows, published every run. /clusters
Scenarios matched cycle to cycle by pattern correlation — births, deaths, and each storyline's share trajectory, with its momentum (gaining, losing, stabilizing) read straight off the track. The branching graph itself.
Every branch carried to a downstream outcome: accumulated heating and cooling degree days on census population weights, the stations that move most, and the probability-weighted expectation. /energy
The effective number of independent model families, from the pairwise correlation of their errors, plus each scenario's system composition. Machine-learning models echo their IFS/ERA5 training; this says by how much. /herding
Given an outcome, the branches that carried it: prior share at issue, the evidence, and the Bayes posterior, with the trail of how that branch's probability evolved before it won. /reverse
Run-over-run change of the outlook for the same valid day, by lead and region, with the current cycle read against the archive's normal. /verify
A fitted probability the forecast fails, scored strictly out of sample, with the reliability table published. Not merely spread, and not yet promoted.
After verification: when the winning branch first appeared, how its probability evolved, and what was knowable when. Written up weekly in the Casebook from the frozen record.
Live means running publicly and refreshed every cycle; experimental means built and still being verified out of sample. Underneath it all: an engine that reduces every ensemble's members to one common grid so seven systems can be pooled as a single population, a standing model leaderboard on one common analysis (/verify), and a content-addressed archive of every forecast as issued, so any later change is detectable. Full method: weathertrader.com/method.
Forecast Fork is the public verification layer of Weather Trader, a prediction market for the atmosphere. The maps and verification are free. Start on the live scenario engine or read the method.