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-08-02_151746_phase2c Δ -0.006 vs prev train

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

Lead Blend Best single Δ vs best
+24h 0.559 temp_ecmwf (1.157) -51.7%
+48h 0.644 temp_aifs (0.785) -18.0%
+72h 0.751 temp_aifs (0.830) -9.4%
+96h 0.938 temp_aifs (0.959) -2.2%
+120h 1.202 temp_aifs (1.140) +5.5%
Verify history (22 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 +12h+24h+48h+72h+96h+120h
v2026-07-19_150748_phase2c
v2026-07-26_152348_phase2c
624 1.351
temp_aifs: 0.524
1.247
temp_aifs: 0.456
0.911
temp_aifs: 0.839
1.488
temp_aifs: 0.913
1.404
temp_aifs: 0.972
1.655
temp_aifs: 0.934
v2026-07-12_151351_phase2c
v2026-07-19_150748_phase2c
624 1.909
temp_mf: 0.804
1.935
temp_mf: 0.990
1.190
temp_aifs: 1.082
2.071
temp_aifs: 1.233
2.002
temp_ukmo: 1.248
1.820
temp_aifs: 1.257
v2026-07-12_151351_phase2c
v2026-07-19_150748_phase2c
624 1.704
temp_mf: 0.875
1.773
temp_mf: 0.467
0.951
temp_aifs: 0.918
1.381
temp_icon: 0.873
1.668
temp_icon: 1.087
1.658
temp_aifs: 1.222
v2026-07-05_150329_phase2c
v2026-07-12_151351_phase2c
624 2.011
temp_aifs: 0.670
1.851
temp_aifs: 0.660
1.085
temp_aifs: 0.635
1.317
temp_aifs: 0.726
1.795
temp_aifs: 0.962
2.303
temp_icon: 1.309
v2026-07-05_150329_phase2c
v2026-07-12_151351_phase2c
624 2.278
temp_ecmwf: 0.478
1.975
temp_ecmwf: 0.360
1.984
temp_aifs: 1.202
2.466
temp_icon: 1.115
3.298
temp_icon: 1.163
2.872
temp_icon: 1.256
v2026-06-28_152406_phase2c
v2026-07-05_150329_phase2c
648 2.099
temp_aifs: 1.200
2.294
temp_mf: 1.020
1.817
temp_aifs: 1.175
2.497
temp_icon: 1.144
3.314
temp_mf: 1.213
2.143
temp_aifs: 1.292
v2026-06-28_152406_phase2c
v2026-07-05_150329_phase2c
648 1.851
temp_aifs: 1.088
2.394
temp_mf: 1.133
0.948
temp_aifs: 0.888
1.442
temp_aifs: 1.045
1.704
temp_aifs: 1.230
1.605
temp_aifs: 1.015
v2026-06-21_151058_phase2c
v2026-06-28_152406_phase2c
648 0.820
temp_aifs: 0.585
0.734
temp_icon: 0.562
0.451
temp_icon: 0.560
0.880
temp_ecmwf: 0.589
1.052
temp_ecmwf: 0.300
1.421
temp_aifs: 0.956
v2026-06-21_151058_phase2c
v2026-06-28_152406_phase2c
648 0.714
temp_aifs: 0.593
0.420
temp_aifs: 0.496
1.981
temp_aifs: 1.049
2.145
temp_aifs: 1.028
2.410
temp_aifs: 0.979
1.699
temp_aifs: 1.060
v2026-06-15_085319_phase2c
v2026-06-21_151058_phase2c
600 3.502
temp_icon: 1.004
3.963
temp_icon: 1.362
3.976
temp_aifs: 1.472
4.804
temp_aifs: 1.226
5.937
temp_aifs: 0.871
3.853
temp_ukmo: 2.343
v2026-06-15_085319_phase2c
v2026-06-21_151058_phase2c
600 2.108
temp_ukmo: 0.976
2.307
temp_ukmo: 0.825
0.987
temp_aifs: 0.675
1.152
temp_aifs: 0.823
1.847
temp_aifs: 0.895
1.926
temp_aifs: 1.361
v2026-06-07_143923_phase2c
v2026-06-14_151935_phase2c
v2026-06-15_085319_phase2c
720 0.766
temp_aifs: 0.557
0.738
temp_aifs: 0.591
0.522
temp_icon: 0.508
0.736
temp_icon: 0.521
1.307
temp_mf: 0.900
0.879
temp_ukmo: 1.207
v2026-06-07_143923_phase2c
v2026-06-14_151935_phase2c
v2026-06-15_085319_phase2c
720 0.822
temp_icon: 0.458
0.898
temp_icon: 0.458
0.525
temp_aifs: 0.728
0.634
temp_aifs: 0.655
0.879
temp_aifs: 0.945
1.009
temp_aifs: 1.346
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-143h144-149h
1.3351.8841.1772.0181.8551.7420.8591.0231.0541.0501.4301.6861.6561.3201.3401.5851.6291.3011.5951.7242.0821.506
1.9071.9701.7512.3272.5602.3971.0391.5911.6511.5611.8962.7862.8201.4332.0121.8902.5741.8761.6492.2322.4761.597
1.7011.7961.7462.0692.1831.4610.8351.1871.3850.9961.2591.7161.7711.2731.4452.1812.4721.7911.5621.8552.2241.345
2.0311.4941.8331.9392.1621.0421.0031.2601.4991.0671.3141.3571.6710.3111.8720.9523.8431.8332.1232.7533.2391.3843.137
2.2951.6672.0371.2953.6131.7891.7482.6522.9841.0332.1403.4143.6231.6902.9594.2974.6672.1452.6623.4214.0671.7383.137
2.1032.0042.0633.0063.1201.7931.6322.3202.7771.2252.1813.4724.0162.5333.3692.7093.1682.4051.8742.6483.0682.1643.137
1.8372.3142.3323.0721.5141.3220.8221.0621.2811.4481.3741.5681.9561.2961.5292.0482.4661.7161.5021.7942.3411.030
0.8250.6940.6650.8631.0260.8520.4380.5010.4900.4160.8780.8241.1340.5661.1120.4011.5811.0841.4321.4651.4700.958
0.7210.4500.4250.3633.2381.6721.8172.6672.3961.0032.1062.5862.1311.0962.4502.6412.0881.3791.6831.8191.7761.280
3.5203.0113.4395.3286.0183.4703.4475.8055.9102.4094.4456.3145.8374.5525.9815.4615.3544.5843.3474.9855.3474.161
2.1151.7632.4061.2101.3500.9660.9031.2721.2230.6781.0951.3641.3340.8281.6122.3482.6262.2251.6532.7712.5422.107
0.7830.2660.8050.6580.4780.3330.5390.5910.2690.4070.8000.5510.2780.4361.3071.0400.9740.6400.9030.9230.6400.916
0.8220.4170.8980.6630.7530.5820.4980.5690.5530.7300.5800.6870.8740.6890.8371.0191.0110.6190.9781.1530.8711.381
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-08-02_151721 Δ -0.004 vs prev train

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

Lead Blend Best single Δ vs best
+24h 0.584 temp_ecmwf (1.157) -49.6%
+48h 0.648 temp_aifs (0.785) -17.5%
+72h 0.744 temp_aifs (0.830) -10.3%
+96h 0.967 temp_aifs (0.959) +0.9%
+120h 1.181 temp_aifs (1.140) +3.6%
Verify history (22 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-07-19_150724
v2026-07-26_152324
624 1.146
temp_aifs: 0.456
1.093
temp_aifs: 0.839
1.656
temp_aifs: 0.913
1.506
temp_aifs: 0.972
1.258
temp_aifs: 0.934
v2026-07-12_151326
v2026-07-19_150724
624 1.966
temp_mf: 0.990
1.573
temp_aifs: 1.082
2.336
temp_aifs: 1.233
2.380
temp_icon: 1.408
1.476
temp_aifs: 1.257
v2026-07-12_151326
v2026-07-19_150724
624 1.792
temp_mf: 0.467
1.118
temp_aifs: 0.918
1.856
temp_icon: 0.873
1.840
temp_icon: 1.087
1.363
temp_aifs: 1.222
v2026-07-05_150306
v2026-07-12_151326
624 1.791
temp_aifs: 0.660
1.063
temp_aifs: 0.635
1.575
temp_aifs: 0.726
1.688
temp_aifs: 0.962
1.838
temp_icon: 1.309
v2026-07-05_150306
v2026-07-12_151326
624 1.891
temp_ecmwf: 0.360
1.974
temp_aifs: 1.202
2.816
temp_icon: 1.115
2.813
temp_icon: 1.163
2.386
temp_icon: 1.256
v2026-06-28_152344
v2026-07-05_150306
648 2.485
temp_mf: 1.020
1.814
temp_aifs: 1.175
2.728
temp_icon: 1.144
2.808
temp_mf: 1.213
1.673
temp_aifs: 1.292
v2026-06-28_152344
v2026-07-05_150306
648 2.593
temp_mf: 1.133
1.051
temp_aifs: 0.888
1.796
temp_aifs: 1.045
1.441
temp_aifs: 1.230
1.329
temp_aifs: 1.015
v2026-06-21_151038
v2026-06-28_152344
648 0.809
temp_icon: 0.562
0.594
temp_icon: 0.560
1.293
temp_ecmwf: 0.589
0.880
temp_ecmwf: 0.300
1.241
temp_aifs: 0.956
v2026-06-21_151038
v2026-06-28_152344
648 0.502
temp_aifs: 0.496
1.985
temp_aifs: 1.049
2.304
temp_aifs: 1.028
1.827
temp_aifs: 0.979
1.529
temp_aifs: 1.060
v2026-06-14_151908
v2026-06-21_151038
648 3.794
temp_icon: 1.362
4.015
temp_aifs: 1.472
5.124
temp_aifs: 1.226
4.578
temp_aifs: 0.871
3.401
temp_aifs: 2.252
v2026-06-14_151908
v2026-06-21_151038
648 2.184
temp_gfs: 1.077
0.925
temp_aifs: 0.673
1.351
temp_aifs: 0.798
1.160
temp_aifs: 0.894
1.629
temp_aifs: 1.295
v2026-06-07_143856
v2026-06-14_151908
720 0.793
temp_aifs: 0.591
0.652
temp_aifs: 0.593
0.884
temp_aifs: 0.591
0.914
temp_mf: 0.900
0.952
temp_aifs: 1.252
v2026-06-07_143856
v2026-06-14_151908
720 0.854
temp_icon: 0.458
0.551
temp_aifs: 0.728
0.807
temp_aifs: 0.655
0.835
temp_aifs: 0.945
1.064
temp_aifs: 1.346
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-143h144-149h
1.0701.9871.8751.6501.0371.2371.2741.0781.5751.9961.8741.2071.4271.7171.8221.3251.2251.2251.5821.269
1.7692.4162.6642.2651.3912.1102.1651.6922.1133.2173.3441.5462.4341.7832.8681.9721.3511.7961.8991.365
1.7801.9182.1361.4470.9681.4871.6411.0251.6742.3852.4461.5631.5792.5112.6901.8901.2871.5251.8091.067
1.7901.8702.0010.9460.9931.3051.4050.6481.5451.8171.9680.2141.7570.9363.1781.3531.7522.0492.3751.2002.297
1.9371.3853.8371.8791.7342.6722.9650.9962.4523.8764.1561.8162.5173.7264.0191.6302.2852.7183.0861.2432.297
2.2143.2863.4781.9951.6112.3972.8061.1592.4003.7724.4212.3032.8831.9862.5651.8801.4692.0642.3431.7492.297
2.5413.1691.6231.4140.9071.2201.4341.4911.6832.1212.4381.2351.3141.6712.0511.3661.2421.4901.8771.005
0.7390.9701.1030.8020.5750.6720.6650.4651.3071.2521.5450.4700.9160.4881.3260.9351.2761.2231.1231.013
0.5010.5163.1191.6091.8162.6922.3960.9862.2772.8042.1781.0861.8222.0831.6741.1551.5551.5741.3491.231
3.2735.1095.8263.3883.4735.8205.9552.5654.7936.6285.8584.3064.7003.5223.7983.0512.9934.3544.7043.263
2.3240.9831.2320.8930.8941.1031.0180.5341.2651.6531.6630.8801.0811.3141.5101.0901.4102.2782.1981.647
0.8500.7440.5940.4350.7040.6290.4430.2390.9250.7460.9120.4460.9140.8740.9220.5190.9810.9410.7291.112
0.8540.6880.7520.5680.5210.6060.5910.7340.7280.8841.1780.8400.7970.9021.0380.6371.0431.1390.8981.692
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