WeatherBlend

Multi-model forecast blending for Membury, East Devon

Temperature models

2b (lean) + 2c (rich). MAE °C, lower better. Δ vs best single NWP — negative = blend wins.

Temperature — Membury Devon

Phase 2c · v2026-06-15_085319_phase2c Δ +0.000 vs prev train

Rich blender, 88 features (adds dew/RH/cloud/wind/pressure). Trained 2026-06-15. Metric: Test MAE (°C).

Lead Blend Best single Δ vs best
+24h 0.491 temp_ecmwf (0.903) -45.6%
+48h 0.583 temp_aifs (0.720) -19.1%
+72h 0.693 temp_aifs (0.813) -14.7%
+96h 0.856 temp_aifs (0.958) -10.6%
+120h 1.072 temp_aifs (1.091) -1.7%
Verify history (9 runs)

Mon + Thu rolling MAE (°C). Per-lead cells turn red when the rolling metric breaches the lead-specific drift threshold; check the verify report for the per-cell breakdown. Version column names the trained model — a fresh champion takes ~5-9d to show.

Run (UTC) Version N +24h+48h+72h+96h+120h
v2026-06-01_234001_phase2c
v2026-06-07_143923_phase2c
528 0.398
temp_ecmwf: 0.522
0.413
temp_ecmwf: 0.570
0.486
temp_aifs: 0.496
1.143
temp_ukmo: 0.688
0.649
temp_aifs: 0.687
v2026-06-01_234001_phase2c
v2026-06-07_143923_phase2c
528 0.474
temp_aifs: 0.533
0.494
temp_aifs: 0.516
0.488
temp_ecmwf: 0.710
0.634
temp_ecmwf: 0.796
0.625
temp_ecmwf: 0.698
v2026-06-01_234001_phase2c 432 0.351
temp_aifs: 0.493
0.577
temp_aifs: 0.523
0.559
temp_aifs: 0.813
0.691
temp_mf: 0.781
0.705
temp_aifs: 0.808
v2026-05-26_102733_phase2c
v2026-06-01_234001_phase2c
528 0.321
temp_aifs: 0.501
0.347
temp_aifs: 0.445
0.652
temp_aifs: 0.350
0.612
temp_aifs: 0.797
0.686
temp_aifs: 0.750
v2026-05-26_102733_phase2c
v2026-05-31_210744_phase2c
528 0.312
temp_aifs: 0.571
0.563
temp_icon: 0.989
0.715
temp_gem: 0.922
0.654
temp_aifs: 0.870
0.706
temp_aifs: 0.796
v2026-05-17_173719_phase2c
v2026-05-24_141820_phase2c
v2026-05-26_102733_phase2c
744 0.989
temp_icon: 1.029
0.781
temp_icon: 1.067
1.293
temp_aifs: 1.358
0.990
temp_aifs: 1.408
1.689
temp_aifs: 1.855
v2026-05-17_173719_phase2c
v2026-05-24_141820_phase2c
744 0.983
temp_gem: 1.060
0.957
temp_icon: 0.615
1.021
temp_icon: 1.136
1.454
temp_icon: 1.929
1.589
temp_aifs: 1.843
v2026-05-14_220930_phase2c
v2026-05-17_173719_phase2c
432 0.474
temp_aifs: 0.507
0.515
temp_aifs: 0.611
0.787
temp_ukmo: 0.697
0.508
temp_gem: 0.683
0.544
temp_aifs: 0.680
v2026-05-14_220930_phase2c
v2026-05-17_173719_phase2c
240 0.663
temp_ecmwf: 0.379
0.636
temp_gem: 0.563
0.797
temp_ecmwf: 0.490
By actual NWP forecast lead (6h buckets)

Same data grouped by ValidTime − freshest contributing NWP cycle (6h buckets) instead of trained-lead label. Reveals MAE structure within a trained bucket once predict spread to hourly outputs (2026-05-04+). Buckets start at the trained lead — earlier figures measured from the cron-fire time, which made offset-day models look like sub-lead forecasts.

Run (UTC) 0-5h6-11h12-17h18-23h24-29h30-35h36-41h42-47h48-53h54-59h60-65h66-71h72-77h78-83h84-89h90-95h96-101h102-107h108-113h114-119h120-125h126-131h132-137h138-143h
0.4070.3600.4040.3670.4180.4450.3710.2580.4130.5800.8591.0791.1081.5220.6750.6650.5950.6430.8021.243
0.4850.3510.3680.2570.4240.6460.6920.5770.4400.5970.6410.5110.5920.6400.8560.8240.6190.5720.6680.845
0.3410.3720.3920.3320.4850.7820.8780.7010.5060.6800.6990.7710.5540.8811.3011.4910.7050.6260.7430.608
0.3410.3200.2550.1010.3490.4520.2210.1830.6520.3950.6450.4340.6280.5370.6730.4500.6960.6260.7430.608
0.3120.1000.5760.2010.5650.5570.5930.4540.7400.6250.7480.4560.7040.4570.6720.2780.7690.5260.5060.263
1.0530.9150.6730.1190.7860.7420.9290.8271.3201.0851.6980.5731.0550.2791.4981.1131.4872.0632.4831.609
1.6601.3071.1880.9360.7980.8070.9041.0260.4230.2860.9181.0181.1441.3801.4111.4491.0791.3311.3931.4741.6602.3542.0251.871
0.2030.2510.4760.4960.4210.5870.4490.5080.5210.6670.7690.8950.8550.7980.7960.6740.4810.2020.6490.5840.5520.5120.4000.548
0.2540.5231.3970.4400.4870.4280.4780.5940.5950.7930.8710.5580.6441.2800.7381.260

Phase 2b · v2026-06-14_151908 Δ -0.015 vs prev train

Lean blender, 13 features. Trained 2026-06-14. Metric: Test MAE (°C).

Lead Blend Best single Δ vs best
+24h 0.525 temp_ecmwf (0.903) -41.8%
+48h 0.597 temp_aifs (0.720) -17.0%
+72h 0.718 temp_aifs (0.813) -11.7%
+96h 0.876 temp_aifs (0.958) -8.6%
+120h 1.067 temp_aifs (1.091) -2.2%
Verify history (9 runs)

Mon + Thu rolling MAE (°C). Per-lead cells turn red when the rolling metric breaches the lead-specific drift threshold; check the verify report for the per-cell breakdown. Version column names the trained model — a fresh champion takes ~5-9d to show.

Run (UTC) Version N +24h+48h+72h+96h+120h
v2026-06-05_091951
v2026-06-07_143856
384 0.408
temp_ecmwf: 0.522
0.440
temp_ecmwf: 0.570
0.457
temp_aifs: 0.496
1.105
temp_gfs: 0.821
0.665
temp_aifs: 0.632
v2026-05-26_102714
v2026-06-05_091951
v2026-06-07_143856
320 0.473
temp_aifs: 0.533
0.332
temp_icon: 0.502
0.496
temp_aifs: 0.617
0.504
temp_ecmwf: 0.630
0.556
temp_icon: 0.693
v2026-05-26_102714
v2026-05-31_210717
v2026-06-05_091951
528 0.406
temp_icon: 0.400
0.446
temp_mf: 0.551
0.369
temp_aifs: 0.713
0.602
temp_aifs: 0.797
0.638
temp_aifs: 0.750
v2026-05-26_102714
v2026-05-31_210717
528 0.429
temp_icon: 0.493
0.446
temp_mf: 0.551
0.369
temp_aifs: 0.713
0.602
temp_aifs: 0.797
0.638
temp_aifs: 0.750
v2026-05-26_102714
v2026-05-31_210717
528 0.341
temp_aifs: 0.571
0.613
temp_icon: 0.989
0.626
temp_gem: 0.922
0.647
temp_aifs: 0.870
0.765
temp_aifs: 0.796
v2026-05-17_173539
v2026-05-24_141800
v2026-05-26_102714
744 0.900
temp_icon: 1.029
0.871
temp_icon: 1.067
1.116
temp_aifs: 1.358
0.893
temp_aifs: 1.408
1.904
temp_aifs: 1.855
v2026-05-17_173539
v2026-05-24_141800
744 1.068
temp_gem: 1.060
0.975
temp_icon: 0.615
1.171
temp_icon: 1.136
1.539
temp_icon: 1.929
1.838
temp_aifs: 1.843
v2026-05-14_220359
v2026-05-17_173539
432 0.434
temp_aifs: 0.507
0.569
temp_aifs: 0.611
0.784
temp_aifs: 0.788
0.668
temp_gem: 0.683
0.634
temp_aifs: 0.680
v2026-05-14_220359
v2026-05-17_173539
240 0.705
temp_ecmwf: 0.379
0.540
temp_gem: 0.563
0.821
temp_ecmwf: 0.490
By actual NWP forecast lead (6h buckets)

Same data grouped by ValidTime − freshest contributing NWP cycle (6h buckets) instead of trained-lead label. Reveals MAE structure within a trained bucket once predict spread to hourly outputs (2026-05-04+). Buckets start at the trained lead — earlier figures measured from the cron-fire time, which made offset-day models look like sub-lead forecasts.

Run (UTC) 0-5h6-11h12-17h18-23h24-29h30-35h36-41h42-47h48-53h54-59h60-65h66-71h72-77h78-83h84-89h90-95h96-101h102-107h108-113h114-119h120-125h126-131h132-137h138-143h
0.4250.3560.4030.3270.4500.4520.3980.2840.3680.5630.8661.3561.0881.2860.6020.7330.6020.6070.9292.066
0.5100.0680.4560.0970.2980.4760.3980.2540.4870.6060.3440.2720.4460.5640.7290.5790.5400.5440.7430.440
0.3520.5770.7580.2500.4260.5750.5550.3460.3690.4470.5860.3490.6040.5580.7290.4710.6560.5390.7430.440
0.3860.6250.6160.2500.4260.5750.5550.3460.3690.4470.5860.3490.6040.5580.7290.4710.6560.5390.7430.440
0.3410.1940.5570.2570.6430.5660.5200.3420.6620.5140.6120.3420.6780.4800.8020.3470.8270.5440.6180.443
0.9270.9750.6290.2450.8700.8780.7820.2991.1890.7871.3300.2160.9570.1881.6081.2271.6902.3522.6101.930
1.5971.2761.3021.0600.8970.9370.9011.0100.4610.4421.0311.1751.2591.4771.4961.6451.1891.4221.5941.7131.9662.6402.1711.890
0.1800.2250.4730.4300.4040.5350.5290.5920.5390.6330.7580.9160.8610.8210.8910.8200.0880.2930.7010.6510.6680.6650.5710.604
0.2780.5371.5150.4570.4820.3290.5080.5090.4600.6330.8120.6040.6661.1340.9601.149