WeatherBlend
Multi-model forecast blending for Bonehill Rocks, Dartmoor
Dry-window forecast
Per-station, per-window blender. The label asks "is there a contiguous N-hour dry block somewhere within 09:00–18:00 local time?" — the realistic outdoor-walking window at Bonehill year-round (DST handled per target day). Phase 3b (53-feature LightGBM) ships as champion; Phase 3g (parameter-free MC over Phase 3a hourly P(wet)) ships alongside as challenger and guarantees cross-window monotonicity by construction. Cards show today and the next 4 forecast days.
Dartmoor Nr Hexworthy
3-hour dry window
Phase 3b — lean (53 features)
Day-aggregate per-model precip totals, wet-hour counts, run-length stats, EA persistence, climatology, calendar encodings. Production champion.
| Target date (UTC) | +24h | +48h | +72h | Model agreement | MC longest dry run (3g only) | Conformal (90% set) | Best start (UTC, calibrated %) |
|---|---|---|---|---|---|---|---|
| 99% | 94% | 90% | 71% | — | confident dry day | 08:00Z (17%) | |
| 98% | 96% | 90% | 71% | — | confident dry day | 08:00Z (15%) | |
| — | 96% | 67% | 71% | — | confident dry day | 09:00Z (17%) | |
| — | — | 94% | 57% | — | confident dry day | 08:00Z (15%) |
Phase 3g — Monte Carlo over Phase 3a hourly P(wet) marginals
Parameter-free. For each daytime hour, sample 10,000 Bernoullis using Phase 3a's hourly P(wet); count the fraction of samples whose longest dry run reaches the target window length. No LightGBM, no learned weights — the prediction is purely 3a's per-hour view + the structural rule that longer windows are rarer. Cross-window monotonicity P(N=3) ≥ P(N=4) ≥ P(N=6) holds by construction (single MC pass, three indicators read off the same Bernoulli sequence).
| Target date (UTC) | +24h | +48h | +72h | Model agreement | MC longest dry run (3g only) | Conformal (90% set) | Best start (UTC, calibrated %) |
|---|---|---|---|---|---|---|---|
| 100% | — | — | — | med 8h (80%: 4-9h) | confident dry day | 08:00Z (17%) | |
| 100% | 99% | — | — | med 9h (80%: 5-9h) | confident dry day | 08:00Z (15%) | |
| — | 97% | 75% | — | med 6h (80%: 3-9h) | confident dry day | 09:00Z (17%) | |
| — | — | 98% | — | med 6h (80%: 4-9h) | confident dry day | 08:00Z (15%) |
4-hour dry window
Phase 3b — lean (53 features)
Day-aggregate per-model precip totals, wet-hour counts, run-length stats, EA persistence, climatology, calendar encodings. Production champion.
| Target date (UTC) | +24h | +48h | +72h | Model agreement | MC longest dry run (3g only) | Conformal (90% set) | Best start (UTC, calibrated %) |
|---|---|---|---|---|---|---|---|
| 98% | 83% | 86% | 71% | — | confident dry day | 08:00Z (14%) | |
| 97% | 92% | 82% | 71% | — | confident dry day | 08:00Z (17%) | |
| — | 73% | 34% | 71% | — | confident dry day | 09:00Z (19%) | |
| — | — | 91% | 57% | — | confident dry day | 08:00Z (19%) |
Phase 3g — Monte Carlo over Phase 3a hourly P(wet) marginals
Parameter-free. For each daytime hour, sample 10,000 Bernoullis using Phase 3a's hourly P(wet); count the fraction of samples whose longest dry run reaches the target window length. No LightGBM, no learned weights — the prediction is purely 3a's per-hour view + the structural rule that longer windows are rarer. Cross-window monotonicity P(N=3) ≥ P(N=4) ≥ P(N=6) holds by construction (single MC pass, three indicators read off the same Bernoulli sequence).
| Target date (UTC) | +24h | +48h | +72h | Model agreement | MC longest dry run (3g only) | Conformal (90% set) | Best start (UTC, calibrated %) |
|---|---|---|---|---|---|---|---|
| 97% | — | — | — | med 8h (80%: 4-9h) | confident dry day | 08:00Z (14%) | |
| 97% | 92% | — | — | med 9h (80%: 5-9h) | confident dry day | 08:00Z (17%) | |
| — | 89% | 47% | — | med 6h (80%: 3-9h) | confident dry day | 09:00Z (19%) | |
| — | — | 91% | — | med 6h (80%: 4-9h) | confident dry day | 08:00Z (19%) |
6-hour dry window
Phase 3b — lean (53 features)
Day-aggregate per-model precip totals, wet-hour counts, run-length stats, EA persistence, climatology, calendar encodings. Production champion.
| Target date (UTC) | +24h | +48h | +72h | Model agreement | MC longest dry run (3g only) | Conformal (90% set) | Best start (UTC, calibrated %) |
|---|---|---|---|---|---|---|---|
| 83% | 47% | 76% | 57% | — | confident dry day | 08:00Z (10%) | |
| 73% | 79% | 67% | 43% | — | confident dry day | 08:00Z (20%) | |
| — | 75% | 27% | 29% | — | confident dry day | 08:00Z (18%) | |
| — | — | 86% | 43% | — | confident dry day | 08:00Z (20%) |
Phase 3g — Monte Carlo over Phase 3a hourly P(wet) marginals
Parameter-free. For each daytime hour, sample 10,000 Bernoullis using Phase 3a's hourly P(wet); count the fraction of samples whose longest dry run reaches the target window length. No LightGBM, no learned weights — the prediction is purely 3a's per-hour view + the structural rule that longer windows are rarer. Cross-window monotonicity P(N=3) ≥ P(N=4) ≥ P(N=6) holds by construction (single MC pass, three indicators read off the same Bernoulli sequence).
| Target date (UTC) | +24h | +48h | +72h | Model agreement | MC longest dry run (3g only) | Conformal (90% set) | Best start (UTC, calibrated %) |
|---|---|---|---|---|---|---|---|
| 78% | — | — | — | med 8h (80%: 4-9h) | confident dry day | 08:00Z (10%) | |
| 79% | 60% | — | — | med 9h (80%: 5-9h) | confident dry day | 08:00Z (20%) | |
| — | 61% | 15% | — | med 6h (80%: 3-9h) | ambiguous | 08:00Z (18%) | |
| — | — | 62% | — | med 6h (80%: 4-9h) | ambiguous | 08:00Z (20%) |
A dry "hour" requires all four 15-min EA gauge readings to be ≤ 0.1 mm. Search is bounded to 09:00–18:00 local time (Europe/London, DST-aware) — overnight dry stretches don't count, and a dry block that bridges 18:00 into the evening isn't credited. Cross-midnight dry stretches are not credited (UTC-day boundary).