Everything here runs on the official climate day: midnight-to-midnight in the station's local standard time, year-round — the exact window the NWS CLI report summarizes and daily rain markets settle on. During daylight-saving time that's 1:00am–1:00am on the local clock, by design.
The green bars and the Obs total come from the station's own gauge (METAR/one-minute data), accumulated within the market day. Markets resolve on the NWS CLI report: measurable rain means more than 0.005", and a trace counts as NO — a trace hour shows as a small triangle on the baseline, never a bar. The row locks to YES the moment measurable rain is observed, and settles on the final CLI (next-morning report supersedes the same-evening preliminary).
The estimated chance of measurable rain over the remaining hours of the market day, built from the official NWS 12-hour forecast probabilities — the "70% chance today / 40% tonight" headline numbers from the forecast office. Hourly rain chances are strongly correlated (one weather system spans many hours), and the NWS has already priced that correlation into each 12-hour period's number — so we combine only the two or three periods that overlap the remaining window. Twelve remaining hours of 30% hourly chances reads as roughly the period's own ~30%, not the ~99% that naive hour-by-hour multiplication would claim, and a day whose best period is 55% can't display 90%. Locks to 100% once measurable rain is observed and to 0% after a final NO report.
The skill table under the chart grades each model's daily rain call at this station over the last 90 days, using what the model said the day before (24-hour lead) — the view that matters if you position ahead of the market day. A model "said rain" when its forecast day-total exceeded measurable; verification is against the CLI (trace = dry).
What "the model said rain" means — three different rules, disclosed per model: amount models (GFS, ECMWF, ICON…) forecast inches, not probabilities — their hourly amounts are summed over the market day and any measurable total (0.01"+) counts as a rain call. That's a deliberately low bar: one damp hour on one grid cell triggers it, which is why aggressive models rack up false alarms. Rate models (HRRR/RRFS, marked ᴿ) say rain when any hour shows measurable rain. NBM-PoP (marked ᴾ) is a probability — the National Blend guidance underlying the official NWS forecast — and is counted as saying rain only when some 6-hour period reaches 50% ("more likely than not"), a deliberately high bar that makes it a conservative caller. A day of persistent 20–30% chances is graded as NBM-PoP saying dry.
The honest consequence: because the bars differ, "rain calls verified" and "rainy days caught" describe each model on its own terms — an amount model's 55% verified and NBM-PoP's 85% verified are answers to differently-shaped questions. CSI is the metric designed to survive this: each model is scored on its own calls, hits against misses and false alarms, so the ranking stays fair even though the calling styles differ. Full grades, longer windows, lead-time comparisons and the all-station aggregate live on the Model Accuracy dashboard.
Radar rain rate is a multi-radar (MRMS) estimate over the station itself, updated every ~2 minutes — it often shows rain starting minutes before the gauge accumulates its first 0.01", but it is an early signal, not truth. Nearby stations show surface rain at surrounding airports and personal stations. Markets resolve only on the station gauge/CLI, never on radar.
Kalshi (K) and Polymarket (P) prices are pulled roughly once a minute and shown for context — compare them against the EST % and the consensus to spot disagreement between the market and the forecast machinery.