Now in Stanford
Measured, not predictedMost weather apps show a predicted number for this time of day. The 'Now' reading here is measured live in Stanford.
Our 10-day forecast
🌬 Wind gusts: Sheltered is our gust forecast for the station, which sits among windbreak trees. Open ground is the raw ECMWF gust, a better guide for open, exposed plots.
Confidence = how often our past forecasts this many days ahead landed within 2 °C of what the station measured (* = estimated, see How this works).
Charts
Temperature: our forecast vs ECMWF
Rain: amount and chance
Wind gusts: sheltered vs open ground
Dotted line = strong-wind warning level (35 km/h sheltered gust). Exact numbers are on the 10-day cards.
How this works
Our forecast takes four global weather models, checks each one against three years of readings from the Casa Blanca Farmstead station, corrects their usual mistakes for this spot and combines them. The ECMWF forecast is the leading global model on its own, without local correction, shown for comparison. Only the Now panel is measured; everything else is a forecast.
| Typical miss over the past year | Our forecast | ECMWF forecast |
|---|---|---|
| Tomorrow's high | 1.0 °C | 1.8 °C |
| Tomorrow's low | 1.2 °C | 1.8 °C |
| Rain amount on wet days | 3.3 mm | 3.5 mm |
Typical miss = how far the forecast usually ends up from what the station actually measured (smaller is better).
Accuracy details and technical notes
ECMWF is the European weather model (from the European Centre for Medium-Range Weather Forecasts) that most weather apps use; we show its raw numbers for comparison, before our station corrections.
Accuracy details
Live verification of issued forecasts (micro-local v2 vs raw ECMWF, by lead time)
No issued v2 forecast has been verified yet: scores appear once a forecast's target day has a complete station record (from tomorrow's update onwards). This table fills in automatically.
Backtest headline: test year 1 Oct 2025 – 25 Sep 2026 (corrections trained on data up to 30 Sep 2025)
| Measure | Micro-local | Raw ECMWF | n days |
|---|---|---|---|
| Daily high, day-ahead (°C) | MAE 1.01, bias +0.04 | MAE 1.77, bias -1.26 | 359 |
| Daily high, same-day issue (°C) | MAE 0.98, bias +0.03 | – | 359 |
| Daily low, day-ahead (°C) | MAE 1.21, bias -0.13 | MAE 1.75, bias +1.40 | 359 |
| Daily low, same-day issue (°C) | MAE 0.86, bias -0.41 | – | 359 |
| Rain yes/no ≥0.5 mm (skill score HSS, higher is better) | HSS 0.70 (hit rate 85%, false alarms 28%) | HSS 0.69 (hit rate 87%, false alarms 30%) | 359 |
| Rain amount on wet days (mm) | MAE 3.27, bias -0.82 | MAE 3.52, bias -1.75 | |
| Daily max gust at the station (km/h) | MAE 3.7, bias -2.4 | MAE 22.8, bias +22.8* | 359 |
| Max hourly wind speed at the station (km/h) | MAE 1.3, bias -0.5 | MAE 14.3, bias +14.3* | 359 |
| Afternoon wind direction (station vane) | MAE 54°, 52% within 45° | MAE 70°, 36% within 45° | 327 |
| Strong-wind days (station gust ≥40 km/h) | 2 hits, 3 misses, 0 false alarms | 5 hits, 0 misses, 218 false alarms (≥40) |
MAE = typical miss; bias = forecast minus station (negative = forecast too low). *Raw ECMWF wind is an open-ground 10 m value, so most of its "error" against this sheltered 2.5 m anemometer is the site effect, not a model failure; for exposed open ground, spraying or fire risk, use the raw ECMWF gust as the guide. The strong-wind flag fires when the site gust forecast is ≥ 35 km/h; the corrected blend underestimates the very strongest days. Sources: summary.md, wind_summary.md, micro_forecasts/v2_validation.json.
Confidence by days ahead
| Lead | days | within ±2 °C | both, by model spread | ||||
|---|---|---|---|---|---|---|---|
| high+low | high | low | narrow | middle | wide | ||
| Today | 360 | 77% | 90% | 86% | 87% | 75% | 69% |
| Tomorrow | 360 | 71% | 87% | 81% | 79% | 72% | 61% |
| 2 days ahead | 360 | 68% | 85% | 80% | 75% | 71% | 59% |
| 3 days ahead | 360 | 64% | 81% | 78% | 81% | 57% | 55% |
| 4 days ahead | 360 | 59% | 77% | 77% | 70% | 59% | 47% |
| 5 days ahead | 360 | 51% | 72% | 72% | 61% | 48% | 46% |
| 6 days ahead | 360 | 43% | 62% | 66% | 50% | 38% | 42% |
| 7 days ahead | 358 | 34% | 55% | 63% | 40% | 37% | 26% |
| 8 days ahead | est. | 32% | 49% | 60% | 37% | 31% | 27% |
| 9 days ahead | est. | 26% | 42% | 56% | 31% | 26% | 22% |
| 10 days ahead | est. | 22% | 35% | 52% | 25% | 21% | 19% |
Confidence = share of days with our corrected high AND low both within ±2 °C of the station, from re-issuing our v2 forecast for every complete station day 2025-10-01 – 2026-09-26 (out of sample: corrections trained up to 30 Sep 2025) using the models' archived runs from that many days earlier (Open-Meteo Previous Runs API, leads 1–7; lead 0 = same-day forecast with the morning nowcast). The blend uses the models the live forecast has at each lead (UKMO to 5 days, ICON to 6). Each day card shows the rate for its lead and that day's model-spread tercile (spread = average of the high and low ranges across the corrected models; terciles per lead, used when a tercile has ≥ 30 days), rounded to 5 % and kept within 10–95 %. Leads marked "est." have no archived forecasts and are estimated: weighted least squares, logit(hit rate) = a + b*lead over measured leads 1-7 (a = 1.2713, b = -0.2562), with the spread terciles scaled by the average tercile/lead ratio of leads 1–7 (1.17, 0.97, 0.86). Source: confidence.json (confidence.py, generated 2026-09-27 10:09).
Model notes
- Today: rolling30_hi_bias=+0.87 (n=30); nowcast: station min 13.2 so far (to 07:40, 93 pts) · models bm+gfs+icon+ukmo
- Tomorrow: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs+icon+ukmo
- Tue 29 Sep: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs+icon+ukmo
- Wed 30 Sep: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs+icon+ukmo
- Thu 1 Oct: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs+icon+ukmo
- Fri 2 Oct: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs+icon+ukmo
- Sat 3 Oct: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs+icon
- Sun 4 Oct: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs
- Mon 5 Oct: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs
- Tue 6 Oct: rolling30_hi_bias=+0.87 (n=30) · models bm+gfs
Method
Our forecast ("micro-local v2") = four global models (ECMWF, GFS, ICON, UKMO via Open-Meteo), each corrected against three years of this station's records and blended (rolling 30-day high bias, same-day nowcast, quantile-mapped rain, linear wind corrections with a +67° vane rotation). The ECMWF forecast is raw ECMWF IFS. Sheltered gust is the daily max gust the station's anemometer at 2.5 m behind windbreak trees will record, usually well under half the open-ground value; open ground is the raw ECMWF 10 m gust. Station ISTANF10 · Casa Blanca Farmstead, Stanford, Western Cape. Times are SAST. Source file: issued_2026-09-27_v2.csv.