barogram
Barogram is a pet forecast ensemble, a small collection of models I run for fun and to learn more about how forecasting actually works. Every three hours, they look at the latest readings from a backyard Tempest weather station in the Twin Cities, MN and a nearby NWS airport station, then each independently predict local temperature, dew point, pressure, and precipitation probability for the next 6 to 24 hours.
After each run, the previous predictions get scored against what actually happened. Models that beat a naive baseline earn more weight in the ensemble’s combined output; models that don’t are demoted toward a floor. The base models use simple approaches and none of them are impressive on their own. The ensemble is what makes them useful.
These forecasts are specific to that one station. This is a personal project running on data from my own equipment; it says nothing about conditions where you are.
Latest conditions in the Twin Cities
Tempest Weather Station
2026-05-30 05:45 CDT
| Temperature | 62.4°F |
|---|---|
| Dew Point | 58.2°F |
| Pressure | 1014.7 hPa |
| Wind | NNW 0.0 mph, gusts to 0.4 mph |
| Precip today | 0.00 in |
| UV Index | 0.0 |
| Solar | 4 W/m² |
| Lightning | 0 strikes (3-min count) |
NWS: Minneapolis-St. Paul Intl (KMSP)
2026-05-30 05:10 CDT
| Temperature | 69.0°F (4:53 AM) |
|---|---|
| Dew Point | 53.0°F (4:53 AM) |
| Wind | E 5.8 mph |
| Pressure | 1014.2 hPa (4:53 AM) |
| Sky | CLR |
| METAR | KMSP 301010Z AUTO 09005KT 10SM CLR 20/12 A2997 RMK T02000120 MADISHF |
Barometer says: Fine weather (B)
Tendency: slow rise — +0.25 hPa/h
Zambretti algorithm — sea-level pressure
Ensemble Forecast — Generated at 06:00 on May 30, 2026
Pres 1014.9 hPa
Dew 50°F
Dew 53°F
Dew 55°F
Pres 1014.6 hPa
Dew 48°F
Dew 51°F
Dew 53°F
Pres 1014.0 hPa
Dew 44°F
Dew 46°F
Dew 47°F
Pres 1014.4 hPa
Dew 35°F
Dew 43°F
Dew 42°F
Verification
Overall Forecast Skill
Skill score vs. climatological mean, averaged across temperature, dewpoint, and pressure (plus Precip Prob BSS once enough rain events have been observed). 100% = perfect · 0% = matches climatological mean · negative = worse than climatological mean.
14 days · 71 runs
| # | Model | Forecast Skill |
|---|---|---|
| 100 | barogram_ensemble ensemble | 42% |
| 202 | external_corrected external | 70% |
| 201 | tempest_forecast external | 61% |
| 200 | nws external | 64% |
| 1 | persistence | 27% |
| 2 | climatological_mean baseline | 0% |
| 3 | weighted_climatological_mean | 16% |
| 4 | climo_deviation | 44% |
| 5 | pressure_tendency | 13% |
| 6 | diurnal_curve | 43% |
| 7 | airmass_diurnal | 39% |
| 8 | analog | 37% |
| 9 | surface_signs | 34% |
| 10 | synoptic_state_machine | 34% |
| 12 | bogo fun | 19% |
| 13 | full_state_analog | 27% |
| 14 | multivariate_trend | -4% |
| 15 | dry_airmass_diurnal | 28% |
120 days · 416 runs
| # | Model | Forecast Skill |
|---|---|---|
| 100 | barogram_ensemble ensemble | 33% |
| 202 | external_corrected external | 73% |
| 201 | tempest_forecast external | 68% |
| 200 | nws external | 67% |
| 1 | persistence | 18% |
| 2 | climatological_mean baseline | 0% |
| 3 | weighted_climatological_mean | 9% |
| 4 | climo_deviation | 33% |
| 5 | pressure_tendency | -21% |
| 6 | diurnal_curve | 32% |
| 7 | airmass_diurnal | 37% |
| 8 | analog | 40% |
| 9 | surface_signs | 34% |
| 10 | synoptic_state_machine | 37% |
| 12 | bogo fun | 30% |
| 13 | full_state_analog | 28% |
| 14 | multivariate_trend | -40% |
| 15 | dry_airmass_diurnal | 31% |
all time · 416 runs
| # | Model | Forecast Skill |
|---|---|---|
| 100 | barogram_ensemble ensemble | 33% |
| 202 | external_corrected external | 73% |
| 201 | tempest_forecast external | 68% |
| 200 | nws external | 67% |
| 1 | persistence | 18% |
| 2 | climatological_mean baseline | 0% |
| 3 | weighted_climatological_mean | 9% |
| 4 | climo_deviation | 33% |
| 5 | pressure_tendency | -21% |
| 6 | diurnal_curve | 32% |
| 7 | airmass_diurnal | 37% |
| 8 | analog | 40% |
| 9 | surface_signs | 34% |
| 10 | synoptic_state_machine | 37% |
| 12 | bogo fun | 30% |
| 13 | full_state_analog | 28% |
| 14 | multivariate_trend | -40% |
| 15 | dry_airmass_diurnal | 31% |
last 10 runs
| # | Model | Forecast Skill |
|---|---|---|
| 100 | barogram_ensemble ensemble | 50% |
| 202 | external_corrected external | 80% |
| 201 | tempest_forecast external | 69% |
| 200 | nws external | 75% |
| 1 | persistence | -0% |
| 2 | climatological_mean baseline | 0% |
| 3 | weighted_climatological_mean | 45% |
| 4 | climo_deviation | 34% |
| 5 | pressure_tendency | 46% |
| 6 | diurnal_curve | 75% |
| 7 | airmass_diurnal | 81% |
| 8 | analog | 71% |
| 9 | surface_signs | 9% |
| 10 | synoptic_state_machine | 15% |
| 12 | bogo fun | -3% |
| 13 | full_state_analog | 28% |
| 14 | multivariate_trend | 15% |
| 15 | dry_airmass_diurnal | 65% |
Skill Over Time
Daily forecast skill vs. climatological mean (0% line). Averaged across all variables. Default: ensemble, NWS, Tempest Forecast.
Recent Misses (14 days)
Largest forecast errors per source over the last 14 days, sorted biggest miss first within each group.
| Variable | Lead | Valid | Predicted | Observed | Error |
|---|---|---|---|---|---|
| persistence | |||||
| Pressure | +24h | May 19 23:50 | 972.4 hPa | 989.4 hPa | -17.0 |
| Pressure | +24h | May 20 02:55 | 974.0 hPa | 990.5 hPa | -16.5 |
| Pressure | +24h | May 20 05:45 | 976.5 hPa | 991.9 hPa | -15.4 |
| Temperature | +12h | May 16 06:50 | 82.9°F | 56.8°F | +26.1 |
| Temperature | +12h | May 16 07:20 | 82.6°F | 58.8°F | +23.8 |
| Temperature | +12h | May 16 07:20 | 82.6°F | 58.8°F | +23.8 |
| Temperature | +12h | May 16 07:20 | 82.6°F | 58.8°F | +23.8 |
| Temperature | +12h | May 16 07:20 | 82.6°F | 58.8°F | +23.8 |
| Temperature | +12h | May 16 07:20 | 82.6°F | 58.8°F | +23.8 |
| Temperature | +18h | May 16 06:10 | 80.6°F | 56.8°F | +23.8 |
| climatological_mean | |||||
| Pressure | +24h | May 20 08:50 | 978.0 hPa | 993.2 hPa | -15.2 |
| Pressure | +18h | May 20 08:50 | 978.0 hPa | 993.2 hPa | -15.2 |
| Pressure | +18h | May 20 06:25 | 977.1 hPa | 992.3 hPa | -15.2 |
| Pressure | +18h | May 20 06:25 | 977.1 hPa | 992.3 hPa | -15.2 |
| Pressure | +24h | May 20 05:45 | 976.9 hPa | 991.9 hPa | -15.0 |
| Dew Point | +24h | May 18 11:55 | 36.6°F | 62.5°F | -25.9 |
| Dew Point | +24h | May 18 11:55 | 36.6°F | 62.5°F | -25.9 |
| Dew Point | +18h | May 18 12:25 | 36.8°F | 62.6°F | -25.8 |
| Dew Point | +12h | May 18 10:25 | 36.7°F | 61.3°F | -24.5 |
| Dew Point | +12h | May 18 09:30 | 36.8°F | 60.7°F | -23.9 |
| weighted_climatological_mean | |||||
| Pressure | +18h | May 20 06:25 | 976.8 hPa | 992.3 hPa | -15.5 |
| Pressure | +18h | May 20 06:25 | 976.8 hPa | 992.3 hPa | -15.5 |
| Pressure | +24h | May 20 08:50 | 977.8 hPa | 993.2 hPa | -15.4 |
| Pressure | +18h | May 20 08:50 | 977.8 hPa | 993.2 hPa | -15.4 |
| Pressure | +18h | May 20 05:45 | 976.6 hPa | 991.9 hPa | -15.3 |
| Pressure | +24h | May 20 05:45 | 976.6 hPa | 991.9 hPa | -15.3 |
| Pressure | +24h | May 20 12:25 | 977.5 hPa | 992.7 hPa | -15.2 |
| Pressure | +24h | May 20 12:25 | 977.5 hPa | 992.7 hPa | -15.2 |
| Pressure | +24h | May 20 23:05 | 976.6 hPa | 991.4 hPa | -14.8 |
| Pressure | +24h | May 20 02:55 | 975.7 hPa | 990.5 hPa | -14.8 |
| climo_deviation | |||||
| Pressure | +24h | May 20 02:55 | 974.7 hPa | 990.5 hPa | -15.8 |
| Pressure | +24h | May 19 23:50 | 973.6 hPa | 989.4 hPa | -15.8 |
| Pressure | +24h | May 20 05:45 | 976.5 hPa | 991.9 hPa | -15.4 |
| Pressure | +24h | May 20 08:50 | 979.1 hPa | 993.2 hPa | -14.1 |
| Pressure | +18h | May 19 23:45 | 975.7 hPa | 989.3 hPa | -13.6 |
| Pressure | +18h | May 20 02:50 | 977.2 hPa | 990.6 hPa | -13.4 |
| Pressure | +18h | May 19 20:55 | 974.7 hPa | 987.5 hPa | -12.8 |
| Pressure | +24h | May 19 20:45 | 974.7 hPa | 987.5 hPa | -12.8 |
| Pressure | +18h | May 19 17:50 | 973.2 hPa | 985.9 hPa | -12.7 |
| Pressure | +18h | May 20 05:45 | 979.4 hPa | 991.9 hPa | -12.5 |
| pressure_tendency | |||||
| Pressure | +18h | May 17 19:00 | 1093.7 hPa | 972.0 hPa | +121.7 |
| Pressure | +24h | May 16 06:55 | 1052.9 hPa | 975.6 hPa | +77.3 |
| Pressure | +24h | May 18 11:55 | 902.0 hPa | 973.1 hPa | -71.1 |
| Pressure | +12h | May 17 13:00 | 1040.8 hPa | 974.0 hPa | +66.8 |
| Pressure | +24h | May 17 20:25 | 1031.1 hPa | 972.4 hPa | +58.7 |
| Pressure | +18h | May 18 05:55 | 922.8 hPa | 971.0 hPa | -48.2 |
| Dew Point | +12h | May 18 13:40 | 123.9°F | 58.9°F | +65.1 |
| Pressure | +18h | May 17 14:25 | 1007.2 hPa | 973.0 hPa | +34.2 |
| Dew Point | +18h | May 18 19:40 | 117.2°F | 58.6°F | +58.5 |
| Dew Point | +6h | May 18 07:40 | 112.9°F | 57.5°F | +55.4 |
| diurnal_curve | |||||
| Dew Point | +24h | May 18 11:55 | 44.0°F | 62.5°F | -18.5 |
| Dew Point | +24h | May 18 11:55 | 44.0°F | 62.5°F | -18.5 |
| Temperature | +12h | May 19 14:55 | 69.6°F | 51.8°F | +17.8 |
| Temperature | +12h | May 19 11:50 | 65.8°F | 48.6°F | +17.3 |
| Temperature | +6h | May 19 11:45 | 64.4°F | 48.6°F | +15.8 |
| Temperature | +18h | May 19 17:50 | 67.6°F | 52.3°F | +15.3 |
| Dew Point | +24h | May 18 05:45 | 40.6°F | 55.8°F | -15.2 |
| Temperature | +12h | May 19 17:45 | 67.1°F | 52.3°F | +14.8 |
| Dew Point | +18h | May 18 12:25 | 47.9°F | 62.6°F | -14.7 |
| Dew Point | +12h | May 18 10:25 | 47.3°F | 61.3°F | -13.9 |
| airmass_diurnal | |||||
| Temperature | +12h | May 19 11:50 | 68.7°F | 48.6°F | +20.1 |
| Temperature | +18h | May 19 17:50 | 72.2°F | 52.3°F | +19.8 |
| Dew Point | +24h | May 19 11:50 | 62.5°F | 43.9°F | +18.6 |
| Dew Point | +24h | May 19 23:50 | 58.7°F | 41.1°F | +17.6 |
| Temperature | +12h | May 19 14:55 | 68.8°F | 51.8°F | +17.0 |
| Dew Point | +18h | May 19 17:50 | 60.3°F | 43.6°F | +16.7 |
| Dew Point | +24h | May 19 20:45 | 58.5°F | 42.2°F | +16.3 |
| Dew Point | +24h | May 19 10:15 | 60.9°F | 45.2°F | +15.7 |
| Dew Point | +12h | May 19 11:50 | 59.6°F | 43.9°F | +15.7 |
| Dew Point | +18h | May 19 14:45 | 59.1°F | 43.6°F | +15.5 |
| analog | |||||
| Pressure | +24h | May 19 23:50 | 972.8 hPa | 989.4 hPa | -16.6 |
| Pressure | +24h | May 20 02:55 | 974.9 hPa | 990.5 hPa | -15.6 |
| Pressure | +18h | May 21 08:50 | 976.3 hPa | 991.9 hPa | -15.6 |
| Pressure | +24h | May 20 16:45 | 975.2 hPa | 990.7 hPa | -15.5 |
| Pressure | +18h | May 20 10:45 | 977.4 hPa | 992.8 hPa | -15.4 |
| Pressure | +24h | May 21 14:50 | 974.4 hPa | 989.8 hPa | -15.4 |
| Pressure | +24h | May 21 11:45 | 976.2 hPa | 991.4 hPa | -15.2 |
| Pressure | +18h | May 19 20:55 | 972.5 hPa | 987.5 hPa | -15.0 |
| Pressure | +18h | May 19 17:50 | 971.0 hPa | 985.9 hPa | -14.9 |
| Pressure | +24h | May 21 00:10 | 977.5 hPa | 991.6 hPa | -14.1 |
| surface_signs | |||||
| Pressure | +24h | May 20 05:45 | 977.0 hPa | 991.9 hPa | -14.9 |
| Pressure | +24h | May 19 23:50 | 975.1 hPa | 989.4 hPa | -14.3 |
| Pressure | +24h | May 20 02:55 | 976.9 hPa | 990.5 hPa | -13.6 |
| Temperature | +12h | May 30 05:55 | 86.9°F | 62.4°F | +24.4 |
| Temperature | +12h | May 16 06:50 | 80.9°F | 56.8°F | +24.1 |
| Temperature | +12h | May 21 17:50 | 41.6°F | 64.2°F | -22.6 |
| Temperature | +12h | May 16 07:20 | 81.1°F | 58.8°F | +22.3 |
| Temperature | +12h | May 16 07:20 | 81.1°F | 58.8°F | +22.3 |
| Temperature | +12h | May 16 07:20 | 81.1°F | 58.8°F | +22.3 |
| Temperature | +12h | May 16 07:20 | 81.1°F | 58.8°F | +22.3 |
| synoptic_state_machine | |||||
| Temperature | +12h | May 30 05:55 | 89.4°F | 62.4°F | +27.0 |
| Pressure | +24h | May 20 05:45 | 977.3 hPa | 991.9 hPa | -14.6 |
| Temperature | +12h | May 21 17:50 | 39.1°F | 64.2°F | -25.1 |
| Temperature | +6h | May 29 11:50 | 60.7°F | 84.0°F | -23.4 |
| Temperature | +12h | May 16 06:50 | 80.0°F | 56.8°F | +23.1 |
| Temperature | +12h | May 16 07:20 | 81.5°F | 58.8°F | +22.6 |
| Temperature | +12h | May 16 07:20 | 81.5°F | 58.8°F | +22.6 |
| Temperature | +12h | May 16 07:20 | 81.5°F | 58.8°F | +22.6 |
| Temperature | +12h | May 16 07:20 | 81.5°F | 58.8°F | +22.6 |
| Temperature | +12h | May 16 07:20 | 81.5°F | 58.8°F | +22.6 |
| bogo | |||||
| Pressure | +24h | May 19 23:50 | 970.7 hPa | 989.4 hPa | -18.7 |
| Pressure | +24h | May 20 05:45 | 975.0 hPa | 991.9 hPa | -16.9 |
| Pressure | +24h | May 19 20:45 | 971.0 hPa | 987.5 hPa | -16.5 |
| Pressure | +24h | May 20 02:55 | 974.0 hPa | 990.5 hPa | -16.5 |
| Dew Point | +18h | May 18 12:25 | 35.1°F | 62.6°F | -27.6 |
| Dew Point | +24h | May 18 18:25 | 33.7°F | 58.7°F | -25.0 |
| Dew Point | +6h | May 18 20:50 | 33.7°F | 58.5°F | -24.8 |
| Temperature | +12h | May 29 14:45 | 64.4°F | 88.9°F | -24.5 |
| Dew Point | +12h | May 18 06:25 | 31.9°F | 56.0°F | -24.1 |
| Dew Point | +24h | May 23 09:30 | 31.3°F | 54.4°F | -23.1 |
| full_state_analog | |||||
| Pressure | +24h | May 20 16:45 | 975.9 hPa | 990.7 hPa | -14.8 |
| Pressure | +18h | May 20 10:45 | 978.0 hPa | 992.8 hPa | -14.8 |
| Pressure | +24h | May 19 23:50 | 974.6 hPa | 989.4 hPa | -14.8 |
| Pressure | +24h | May 20 02:55 | 976.0 hPa | 990.5 hPa | -14.5 |
| Pressure | +18h | May 21 08:50 | 977.9 hPa | 991.9 hPa | -14.0 |
| Pressure | +24h | May 21 04:00 | 977.4 hPa | 991.3 hPa | -13.9 |
| Pressure | +24h | May 20 08:50 | 979.5 hPa | 993.2 hPa | -13.7 |
| Pressure | +18h | May 19 20:55 | 973.8 hPa | 987.5 hPa | -13.7 |
| Pressure | +24h | May 19 17:45 | 972.2 hPa | 985.8 hPa | -13.6 |
| Pressure | +24h | May 20 05:45 | 978.4 hPa | 991.9 hPa | -13.5 |
| multivariate_trend | |||||
| Pressure | +6h | May 18 07:40 | 928.9 hPa | 970.9 hPa | -42.0 |
| Temperature | +24h | May 16 19:20 | 120.6°F | 75.7°F | +44.9 |
| Temperature | +12h | May 16 07:20 | 102.8°F | 58.8°F | +44.0 |
| Temperature | +24h | May 16 18:50 | 120.1°F | 76.6°F | +43.5 |
| Temperature | +12h | May 16 07:20 | 102.0°F | 58.8°F | +43.2 |
| Temperature | +12h | May 16 07:20 | 101.3°F | 58.8°F | +42.5 |
| Temperature | +18h | May 17 07:15 | 95.8°F | 54.7°F | +41.1 |
| Temperature | +18h | May 16 08:10 | 102.7°F | 62.8°F | +39.9 |
| Temperature | +12h | May 16 06:50 | 96.3°F | 56.8°F | +39.4 |
| Temperature | +18h | May 16 13:20 | 112.9°F | 74.8°F | +38.1 |
| dry_airmass_diurnal | |||||
| Dew Point | +18h | May 18 10:32 | 41.2°F | 61.4°F | -20.3 |
| Dew Point | +24h | May 18 13:29 | 40.4°F | 59.8°F | -19.3 |
| Temperature | +12h | May 19 12:00 | 67.4°F | 48.6°F | +18.9 |
| Dew Point | +12h | May 18 10:38 | 43.0°F | 61.8°F | -18.8 |
| Dew Point | +24h | May 18 08:24 | 40.9°F | 59.5°F | -18.6 |
| Dew Point | +24h | May 18 19:35 | 40.6°F | 58.8°F | -18.2 |
| Dew Point | +24h | May 18 22:38 | 40.8°F | 58.7°F | -17.9 |
| Dew Point | +18h | May 18 13:35 | 42.1°F | 59.2°F | -17.1 |
| Dew Point | +24h | May 18 16:32 | 40.8°F | 57.8°F | -17.0 |
| Dew Point | +18h | May 18 07:29 | 40.6°F | 57.1°F | -16.5 |
| barogram_ensemble | |||||
| Pressure | +24h | May 19 01:40 | 899.9 hPa | 973.5 hPa | -73.6 |
| Pressure | +18h | May 18 19:40 | 920.6 hPa | 973.0 hPa | -52.4 |
| Pressure | +12h | May 18 13:40 | 941.8 hPa | 973.6 hPa | -31.8 |
| Pressure | +24h | May 18 01:00 | 993.2 hPa | 970.6 hPa | +22.6 |
| Pressure | +6h | May 18 07:40 | 953.6 hPa | 970.9 hPa | -17.3 |
| Pressure | +18h | May 17 19:00 | 988.1 hPa | 972.0 hPa | +16.1 |
| Pressure | +24h | May 20 02:55 | 975.7 hPa | 990.5 hPa | -14.8 |
| Pressure | +24h | May 19 23:50 | 974.8 hPa | 989.4 hPa | -14.6 |
| Pressure | +24h | May 20 05:45 | 977.4 hPa | 991.9 hPa | -14.5 |
| Pressure | +24h | May 20 08:50 | 979.3 hPa | 993.2 hPa | -13.9 |
| nws | |||||
| Temperature | +24h | May 18 01:00 | 67.0°F | 53.1°F | +13.9 |
| Temperature | +24h | May 17 23:00 | 67.0°F | 54.3°F | +12.7 |
| Temperature | +12h | May 18 01:00 | 64.0°F | 53.1°F | +10.9 |
| Dew Point | +12h | May 16 20:00 | 34.0°F | 44.7°F | -10.7 |
| Temperature | +6h | May 17 23:00 | 65.0°F | 54.3°F | +10.7 |
| Temperature | +12h | May 18 14:00 | 70.0°F | 60.1°F | +9.9 |
| Dew Point | +24h | May 16 16:00 | 34.0°F | 43.5°F | -9.5 |
| Dew Point | +24h | May 29 12:00 | 54.0°F | 63.4°F | -9.4 |
| Dew Point | +6h | May 17 23:00 | 62.0°F | 52.9°F | +9.1 |
| Dew Point | +18h | May 16 13:00 | 35.0°F | 43.8°F | -8.8 |
| tempest_forecast | |||||
| Dew Point | +24h | May 29 15:00 | 43.9°F | 61.3°F | -17.4 |
| Dew Point | +24h | May 29 18:00 | 46.1°F | 61.0°F | -14.9 |
| Temperature | +18h | May 17 13:00 | 53.6°F | 68.2°F | -14.6 |
| Dew Point | +24h | May 16 19:00 | 30.2°F | 44.6°F | -14.3 |
| Dew Point | +24h | May 29 14:00 | 47.1°F | 61.0°F | -13.9 |
| Dew Point | +24h | May 29 14:00 | 47.1°F | 61.0°F | -13.9 |
| Dew Point | +18h | May 16 13:00 | 30.1°F | 43.8°F | -13.7 |
| Dew Point | +18h | May 16 16:00 | 30.2°F | 43.5°F | -13.3 |
| Dew Point | +18h | May 29 15:00 | 48.1°F | 61.3°F | -13.1 |
| Dew Point | +18h | May 29 18:00 | 49.1°F | 61.0°F | -11.9 |
| external_corrected | |||||
| Temperature | +24h | May 18 01:00 | 66.2°F | 53.1°F | +13.1 |
| Dew Point | +6h | May 17 19:00 | 66.6°F | 53.7°F | +12.9 |
| Dew Point | +24h | May 17 23:00 | 65.8°F | 52.9°F | +12.9 |
| Temperature | +24h | May 17 23:00 | 67.1°F | 54.3°F | +12.8 |
| Dew Point | +12h | May 18 01:00 | 65.5°F | 52.8°F | +12.8 |
| Dew Point | +6h | May 17 23:00 | 65.6°F | 52.9°F | +12.6 |
| Dew Point | +18h | May 18 02:00 | 65.6°F | 53.3°F | +12.2 |
| Dew Point | +24h | May 18 01:00 | 64.4°F | 52.8°F | +11.7 |
| Dew Point | +12h | May 17 20:00 | 64.6°F | 53.0°F | +11.6 |
| Dew Point | +6h | May 18 02:00 | 64.7°F | 53.3°F | +11.4 |
Forecast Skill by Lead Time
Skill score vs. climatological mean at each lead time for the selected variable. Negative = worse than climatology.
14 days · 71 runs
| # | Model | +6h | +12h | +18h | +24h |
|---|---|---|---|---|---|
| 100 | barogram_ensemble ensemble | 58% | 45% | 42% | 29% |
| 202 | external_corrected external | 72% | 71% | 61% | 60% |
| 201 | tempest_forecast external | 68% | 68% | 55% | 58% |
| 200 | nws external | 70% | 70% | 61% | 56% |
| 1 | persistence | 9% | -54% | -20% | 18% |
| 2 | climatological_mean baseline | 0% | 0% | 0% | 0% |
| 3 | weighted_climatological_mean | 15% | 16% | 13% | 10% |
| 4 | climo_deviation | 55% | 41% | 30% | 28% |
| 5 | pressure_tendency | 14% | -48% | -21% | 19% |
| 6 | diurnal_curve | 55% | 44% | 39% | 30% |
| 7 | airmass_diurnal | 47% | 33% | 18% | 8% |
| 8 | analog | 55% | 45% | 32% | 22% |
| 9 | surface_signs | 11% | -21% | 11% | 20% |
| 10 | synoptic_state_machine | 10% | -27% | 10% | 23% |
| 12 | bogo fun | 35% | 21% | 5% | -8% |
| 13 | full_state_analog | 41% | 31% | 28% | 10% |
| 14 | multivariate_trend | 5% | -85% | -37% | -100% |
| 15 | dry_airmass_diurnal | 48% | 33% | 19% | -2% |
120 days · 416 runs
| # | Model | +6h | +12h | +18h | +24h |
|---|---|---|---|---|---|
| 100 | barogram_ensemble ensemble | 50% | 37% | 31% | 22% |
| 202 | external_corrected external | 77% | 73% | 73% | 76% |
| 201 | tempest_forecast external | 77% | 74% | 71% | 75% |
| 200 | nws external | 75% | 74% | 70% | 74% |
| 1 | persistence | 14% | -26% | 2% | 16% |
| 2 | climatological_mean baseline | 0% | 0% | 0% | 0% |
| 3 | weighted_climatological_mean | 10% | 12% | 14% | 9% |
| 4 | climo_deviation | 52% | 41% | 31% | 19% |
| 5 | pressure_tendency | 14% | -25% | 5% | 17% |
| 6 | diurnal_curve | 46% | 36% | 28% | 17% |
| 7 | airmass_diurnal | 54% | 40% | 22% | 16% |
| 8 | analog | 56% | 47% | 39% | 37% |
| 9 | surface_signs | 27% | 8% | 29% | 27% |
| 10 | synoptic_state_machine | 28% | 15% | 31% | 23% |
| 12 | bogo fun | 42% | 29% | 25% | 14% |
| 13 | full_state_analog | 38% | 33% | 24% | 14% |
| 14 | multivariate_trend | -10% | -96% | -76% | -128% |
| 15 | dry_airmass_diurnal | 45% | 40% | 35% | 29% |
all time · 416 runs
| # | Model | +6h | +12h | +18h | +24h |
|---|---|---|---|---|---|
| 100 | barogram_ensemble ensemble | 50% | 37% | 31% | 22% |
| 202 | external_corrected external | 77% | 73% | 73% | 76% |
| 201 | tempest_forecast external | 77% | 74% | 71% | 75% |
| 200 | nws external | 75% | 74% | 70% | 74% |
| 1 | persistence | 14% | -26% | 2% | 16% |
| 2 | climatological_mean baseline | 0% | 0% | 0% | 0% |
| 3 | weighted_climatological_mean | 10% | 12% | 14% | 9% |
| 4 | climo_deviation | 52% | 41% | 31% | 19% |
| 5 | pressure_tendency | 14% | -25% | 5% | 17% |
| 6 | diurnal_curve | 46% | 36% | 28% | 17% |
| 7 | airmass_diurnal | 54% | 40% | 22% | 16% |
| 8 | analog | 56% | 47% | 39% | 37% |
| 9 | surface_signs | 27% | 8% | 29% | 27% |
| 10 | synoptic_state_machine | 28% | 15% | 31% | 23% |
| 12 | bogo fun | 42% | 29% | 25% | 14% |
| 13 | full_state_analog | 38% | 33% | 24% | 14% |
| 14 | multivariate_trend | -10% | -96% | -76% | -128% |
| 15 | dry_airmass_diurnal | 45% | 40% | 35% | 29% |
last 10 runs
| # | Model | +6h | +12h | +18h | +24h |
|---|---|---|---|---|---|
| 100 | barogram_ensemble ensemble | 77% | 73% | 65% | 77% |
| 202 | external_corrected external | 86% | 87% | 85% | 82% |
| 201 | tempest_forecast external | 88% | 91% | 88% | 93% |
| 200 | nws external | 84% | 87% | 83% | 81% |
| 1 | persistence | 36% | 9% | 27% | 90% |
| 2 | climatological_mean baseline | 0% | 0% | 0% | 0% |
| 3 | weighted_climatological_mean | 35% | 34% | 36% | 37% |
| 4 | climo_deviation | 78% | 79% | 71% | 71% |
| 5 | pressure_tendency | 36% | 10% | 27% | 93% |
| 6 | diurnal_curve | 79% | 74% | 67% | 68% |
| 7 | airmass_diurnal | 70% | 72% | 82% | 83% |
| 8 | analog | 77% | 73% | 74% | 68% |
| 9 | surface_signs | 37% | 18% | 51% | 93% |
| 10 | synoptic_state_machine | 38% | 16% | 61% | 94% |
| 12 | bogo fun | 48% | 28% | 38% | 25% |
| 13 | full_state_analog | 50% | 49% | 48% | 39% |
| 14 | multivariate_trend | 47% | -8% | 42% | 53% |
| 15 | dry_airmass_diurnal | 82% | 73% | 71% | 79% |
Skill over time
Y-axis: MAE ÷ climo MAE per run. 1.0 = same error as climatological mean · below 1.0 = better · above 1.0 = worse. Grey: climo (long-dash) and persistence (dotted). Per-run detail: solid with rolling average overlay.
Model Analysis
Bias Over Time
Score Heatmap
Forecast Trajectory
How each source's prediction for the most recently scored valid time evolved. Dashed black line = observed.
Diurnal Stratification
Weights
Skill-score weights computed by barogram tune. Each member is scored by how much it improves over a naive baseline; members that beat the baseline earn proportional weight, and those that don’t are floored or subfloored. Sector columns show how trust shifts across time-of-day.
barogram_ensemble (model 100)
equal weight: 7.1% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 persistence | 3.9% | 3.6% | 4.3% | 3.5% |
| 2 climatological_mean | 2.7% | 1.9% | 2.0% | 0.5% |
| 3 weighted_climatological_mean | 6.1% | 3.4% | 3.4% | 2.0% |
| 4 climo_deviation | 9.8% | 8.4% | 7.5% | 10.1% |
| 5 pressure_tendency | 1.9% | 2.4% | 2.7% | 1.8% |
| 6 diurnal_curve | 8.9% | 8.2% | 7.6% | 9.4% |
| 7 airmass_diurnal | 8.1% | 9.9% | 11.2% | 10.4% |
| 8 analog | 18.7% | 12.9% | 11.5% | 18.6% |
| 9 surface_signs | 9.2% | 12.2% | 15.6% | 15.8% |
| 10 synoptic_state_machine | 16.1% | 27.2% | 24.0% | 18.3% |
| 12 bogo | 0.9% | 0.2% | 0.2% | 0.2% |
| 13 full_state_analog | 7.4% | 7.9% | 9.7% | 9.3% |
| 14 multivariate_trend | 4.1% | 0.6% | 0.6% | 0.3% |
| 15 dry_airmass_diurnal | 11.8% | 10.7% | 9.0% | 9.5% |
weighted_climatological_mean (model 3)
weighted_climatological_mean (model 3)
equal weight: 11.1% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 today-only | 12.6% | 12.5% | 13.5% | 13.5% |
| 2 week-only | 10.5% | 10.7% | 10.3% | 10.3% |
| 3 month-only | 10.2% | 10.4% | 10.3% | 10.2% |
| 4 week+month | 10.6% | 10.7% | 10.5% | 10.5% |
| 5 today+week+month | 11.5% | 11.6% | 11.6% | 11.6% |
| 6 exp-steep | 11.4% | 11.3% | 11.3% | 11.4% |
| 7 exp-fast | 11.4% | 11.3% | 11.1% | 11.2% |
| 8 exp-moderate | 11.1% | 11.0% | 10.9% | 10.9% |
| 9 exp-gentle | 10.6% | 10.6% | 10.5% | 10.5% |
climo_deviation (model 4)
climo_deviation (model 4)
equal weight: 1.9% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| static | ||||
| 1 s-today-only | 1.4% | 1.5% | 1.7% | 1.5% |
| 2 s-week-only | 1.8% | 2.1% | 2.0% | 1.8% |
| 3 s-month-only | 1.9% | 2.2% | 2.1% | 1.8% |
| 4 s-week+month | 1.9% | 2.2% | 2.1% | 1.8% |
| 5 s-today+week+month | 1.7% | 2.0% | 2.0% | 1.7% |
| 6 s-exp-steep | 1.7% | 1.9% | 1.9% | 1.7% |
| 7 s-exp-fast | 1.8% | 2.1% | 2.0% | 1.8% |
| 8 s-exp-moderate | 1.9% | 2.2% | 2.0% | 1.8% |
| 9 s-exp-gentle | 1.9% | 2.2% | 2.1% | 1.8% |
| decay k=0.03 | ||||
| 10 d03-today-only | 1.5% | 1.6% | 1.8% | 1.6% |
| 11 d03-week-only | 2.1% | 2.2% | 2.0% | 1.9% |
| 12 d03-month-only | 0.1% | 0.1% | 0.1% | 0.1% |
| 13 d03-week+month | 2.1% | 2.2% | 2.1% | 2.0% |
| 14 d03-today+week+month | 2.0% | 2.1% | 2.0% | 1.9% |
| 15 d03-exp-steep | 1.7% | 1.8% | 1.8% | 1.7% |
| 16 d03-exp-fast | 2.0% | 2.1% | 2.0% | 1.9% |
| 17 d03-exp-moderate | 2.1% | 2.2% | 2.1% | 2.0% |
| 18 d03-exp-gentle | 2.2% | 2.3% | 2.1% | 2.0% |
| decay k=0.05 | ||||
| 19 d05-today-only | 1.5% | 1.6% | 1.8% | 1.6% |
| 20 d05-week-only | 1.9% | 2.0% | 1.8% | 1.8% |
| 21 d05-month-only | 2.0% | 2.0% | 1.9% | 1.9% |
| 22 d05-week+month | 2.0% | 2.0% | 1.9% | 1.9% |
| 23 d05-today+week+month | 1.9% | 2.0% | 1.9% | 1.8% |
| 24 d05-exp-steep | 1.7% | 1.7% | 1.7% | 1.6% |
| 25 d05-exp-fast | 1.9% | 2.0% | 1.9% | 1.8% |
| 26 d05-exp-moderate | 2.0% | 2.0% | 1.9% | 1.9% |
| 27 d05-exp-gentle | 2.0% | 2.0% | 1.9% | 1.9% |
| decay k=0.10 | ||||
| 28 d10-today-only | 1.5% | 1.6% | 1.7% | 1.6% |
| 29 d10-week-only | 1.6% | 1.6% | 1.5% | 1.4% |
| 30 d10-month-only | 1.6% | 1.6% | 1.5% | 1.5% |
| 31 d10-week+month | 1.6% | 1.6% | 1.5% | 1.5% |
| 32 d10-today+week+month | 1.6% | 1.7% | 1.6% | 1.6% |
| 33 d10-exp-steep | 1.5% | 1.5% | 1.5% | 1.4% |
| 34 d10-exp-fast | 1.6% | 1.6% | 1.6% | 1.5% |
| 35 d10-exp-moderate | 1.7% | 1.7% | 1.6% | 1.5% |
| 36 d10-exp-gentle | 1.6% | 1.6% | 1.6% | 1.5% |
| 37 a03-today-only | 1.6% | 1.6% | 1.9% | 1.9% |
| 38 a03-week-only | 2.1% | 2.0% | 2.3% | 2.3% |
| 39 a03-month-only | 2.2% | 2.1% | 2.2% | 2.3% |
| 40 a03-week+month | 2.2% | 2.0% | 2.2% | 2.3% |
| 41 a03-today+week+month | 2.0% | 1.9% | 2.2% | 2.2% |
| 42 a03-exp-steep | 1.9% | 2.0% | 2.2% | 2.1% |
| 43 a03-exp-fast | 2.1% | 2.1% | 2.3% | 2.2% |
| 44 a03-exp-moderate | 2.2% | 2.1% | 2.3% | 2.3% |
| 45 a03-exp-gentle | 2.2% | 2.1% | 2.3% | 2.3% |
| 46 a06-today-only | 1.6% | 1.5% | 1.7% | 1.9% |
| 47 a06-week-only | 2.1% | 1.7% | 1.7% | 2.2% |
| 48 a06-month-only | 2.2% | 1.6% | 1.6% | 2.2% |
| 49 a06-week+month | 2.1% | 1.7% | 1.7% | 2.2% |
| 50 a06-today+week+month | 2.0% | 1.6% | 1.7% | 2.2% |
| 51 a06-exp-steep | 1.9% | 1.8% | 2.0% | 2.1% |
| 52 a06-exp-fast | 2.1% | 1.8% | 1.8% | 2.2% |
| 53 a06-exp-moderate | 2.1% | 1.7% | 1.7% | 2.2% |
| 54 a06-exp-gentle | 2.2% | 1.7% | 1.7% | 2.3% |
pressure_tendency (model 5)
pressure_tendency (model 5)
equal weight: 9.1% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 zambretti | 17.4% | 17.5% | 17.3% | 18.0% |
| 2 linear_1h | 10.8% | 10.9% | 10.4% | 10.4% |
| 3 linear_3h | 11.5% | 11.9% | 11.5% | 10.9% |
| 4 linear_6h | 11.4% | 11.8% | 11.4% | 10.8% |
| 5 linear_3h_hl45 | 11.5% | 11.8% | 11.6% | 11.1% |
| 6 quad_3h | 6.1% | 6.0% | 6.2% | 6.3% |
| 7 quad_6h | 6.5% | 6.2% | 6.5% | 6.7% |
| 8 quad_3h_hl20 | 6.1% | 6.0% | 6.2% | 6.3% |
| 9 quad_3h_hl45 | 6.1% | 6.0% | 6.2% | 6.4% |
| 10 quad_6h_hl20 | 6.2% | 5.9% | 6.2% | 6.5% |
| 11 quad_6h_hl45 | 6.4% | 6.1% | 6.4% | 6.6% |
diurnal_curve (model 6)
diurnal_curve (model 6)
equal weight: 3.3% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| sine | ||||
| 1 sine-7d-current | 4.7% | 4.8% | 4.5% | 4.7% |
| 2 sine-7d-midnight | 2.6% | 2.7% | 2.8% | 2.8% |
| 3 sine-7d-none | 2.7% | 2.6% | 2.6% | 2.6% |
| 4 sine-14d-current | 4.7% | 4.8% | 4.6% | 4.7% |
| 5 sine-14d-midnight | 2.6% | 2.8% | 2.8% | 2.8% |
| 6 sine-14d-none | 2.9% | 2.6% | 2.7% | 2.7% |
| 7 sine-30d-current | 4.9% | 5.0% | 4.7% | 4.8% |
| 8 sine-30d-midnight | 2.6% | 2.9% | 2.9% | 2.8% |
| 9 sine-30d-none | 2.8% | 2.7% | 2.7% | 2.8% |
| piecewise | ||||
| 13 piecewise-7d-current | 4.7% | 4.7% | 4.3% | 4.5% |
| 14 piecewise-7d-midnight | 2.6% | 2.7% | 2.8% | 2.8% |
| 15 piecewise-7d-none | 2.6% | 2.6% | 2.6% | 2.7% |
| 16 piecewise-14d-current | 4.8% | 4.7% | 4.6% | 4.6% |
| 17 piecewise-14d-midnight | 2.6% | 2.8% | 2.8% | 2.8% |
| 18 piecewise-14d-none | 2.8% | 2.6% | 2.6% | 2.7% |
| 19 piecewise-30d-current | 5.0% | 5.1% | 4.7% | 4.7% |
| 20 piecewise-30d-midnight | 2.6% | 2.9% | 2.9% | 2.8% |
| 21 piecewise-30d-none | 2.8% | 2.7% | 2.7% | 2.7% |
| asymmetric | ||||
| 25 asymmetric-7d-current | 4.5% | 4.4% | 4.4% | 4.4% |
| 26 asymmetric-7d-midnight | 2.6% | 2.6% | 2.8% | 2.8% |
| 27 asymmetric-7d-none | 2.6% | 2.5% | 2.6% | 2.5% |
| 28 asymmetric-14d-current | 4.5% | 4.5% | 4.6% | 4.4% |
| 29 asymmetric-14d-midnight | 2.6% | 2.6% | 2.8% | 2.8% |
| 30 asymmetric-14d-none | 2.8% | 2.6% | 2.6% | 2.6% |
| 31 asymmetric-30d-current | 4.7% | 4.6% | 4.6% | 4.5% |
| 32 asymmetric-30d-midnight | 2.6% | 2.7% | 2.9% | 2.8% |
| 33 asymmetric-30d-none | 2.8% | 2.5% | 2.7% | 2.9% |
| solar | ||||
| 37 solar-current | 4.2% | 4.2% | 4.3% | 4.0% |
| 38 solar-midnight | 2.4% | 2.4% | 2.7% | 2.8% |
| 39 solar-none | 2.8% | 2.8% | 2.7% | 2.4% |
airmass_diurnal (model 7)
airmass_diurnal (model 7)
equal weight: 6.2% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 clearness-only | 6.6% | 6.9% | 6.5% | 6.6% |
| 2 clearness+dewpoint | 5.9% | 6.6% | 6.1% | 6.4% |
| 3 clearness-pressure-projected | 6.6% | 6.8% | 6.5% | 6.7% |
| 4 wind-sector-only | 7.1% | 6.7% | 6.6% | 6.5% |
| 5 wind+clearness | 6.1% | 6.5% | 6.2% | 6.3% |
| 6 morning-warmup-rate | 7.9% | 7.0% | 6.8% | 6.9% |
| 7 dewpoint-only | 7.9% | 7.1% | 7.0% | 6.9% |
| 8 combined-full | 5.6% | 6.3% | 5.9% | 6.1% |
| 9 clearness-trend | 6.4% | 7.0% | 7.5% | 7.3% |
| 10 clearness-trend+dewpoint | 5.7% | 6.6% | 6.7% | 6.7% |
| 11 clearness-trend+pressure-proj | 6.6% | 7.0% | 7.7% | 7.4% |
| 12 pressure-departure | 0.2% | 0.2% | 0.2% | 0.2% |
| 13 pressure-dep+clearness-trend | 4.3% | 4.4% | 4.9% | 4.6% |
| 14 wind-veer | 7.4% | 6.4% | 6.8% | 6.9% |
| 15 clearness-stability | 8.6% | 8.2% | 7.9% | 7.9% |
| 16 veer+clearness | 6.9% | 6.4% | 6.7% | 6.7% |
analog (model 8)
analog (model 8)
equal weight: 12.5% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 k3 | 10.8% | 10.9% | 10.9% | 11.1% |
| 2 k5 | 12.4% | 12.2% | 12.3% | 12.2% |
| 3 k10 | 13.3% | 13.2% | 13.5% | 13.2% |
| 4 k20 | 12.1% | 12.6% | 12.9% | 12.5% |
| 5 k5-moisture | 13.3% | 13.0% | 12.9% | 13.0% |
| 6 k5-synoptic | 11.6% | 11.7% | 11.6% | 11.7% |
| 7 k10-dist-weighted | 13.8% | 13.7% | 13.8% | 13.6% |
| 8 k5-seasonal | 12.7% | 12.7% | 12.1% | 12.7% |
surface_signs (model 9)
surface_signs (model 9)
equal weight: 25.0% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 wind-rotation | 34.0% | 30.9% | 27.9% | 28.1% |
| 2 dp-trend | 19.7% | 20.7% | 21.7% | 22.6% |
| solar | ||||
| 3 solar-cloud | 26.7% | 27.9% | 30.0% | 27.0% |
| 4 convective | 19.5% | 20.5% | 20.4% | 22.3% |
synoptic_state_machine (model 10)
synoptic_state_machine (model 10)
equal weight: 14.3% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 full-4 | 11.9% | 12.2% | 13.6% | 13.2% |
| 2 no-cloud | 18.5% | 16.2% | 14.8% | 15.9% |
| 3 wind-moisture | 17.0% | 15.1% | 13.9% | 14.8% |
| 4 moisture-convective | 11.2% | 11.3% | 12.2% | 12.6% |
| 5 coarse-4 | 13.3% | 14.0% | 13.5% | 13.7% |
| 6 full-4+ptend | 14.7% | 16.6% | 16.4% | 14.8% |
| 7 no-cloud+ptend | 13.2% | 14.5% | 15.7% | 15.1% |
bogo (model 12)
bogo (not tuned) (model 12)
equal weight: 3.7% per member
| Member | Avg weight |
|---|---|
| 1 drunkard | 3.7% |
| 2 blind-drunkard | 3.7% |
| 3 chaos | 3.7% |
| 4 vibes | 3.7% |
| 5 contrarian | 3.7% |
| 6 hype-train | 3.7% |
| 7 mercury-retrograde | 3.7% |
| 8 weatherperson | 3.7% |
| 9 crowd-sourced | 3.7% |
| 10 groundhog-day | 3.7% |
| 11 CG | 3.7% |
| 12 climate-anxiety | 3.7% |
| 13 too-early | 3.7% |
| 14 monday | 3.7% |
| 15 grant-funded | 3.7% |
| 16 the-algorithm | 3.7% |
| 17 peer-review | 3.7% |
| 18 dew-denier | 3.7% |
| 19 breaking-news | 3.7% |
| 20 engagement-bait | 3.7% |
| 21 both-sides | 3.7% |
| 22 sponsored-content | 3.7% |
| 23 influencer | 3.7% |
| 24 panic | 3.7% |
| 25 nostalgia | 3.7% |
| 26 astroturfed | 3.7% |
| 27 record-breaker | 3.7% |
full_state_analog (model 13)
full_state_analog (model 13)
equal weight: 12.5% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 full-k5 | 13.1% | 12.4% | 12.3% | 12.1% |
| 2 full-k10 | 13.3% | 13.5% | 13.4% | 13.1% |
| 3 thermo-wind | 15.3% | 14.6% | 14.8% | 15.2% |
| solar | ||||
| 4 solar-thermo | 12.3% | 13.0% | 13.6% | 12.4% |
| 5 synoptic | 10.4% | 10.8% | 10.8% | 10.9% |
| 6 precip-signal | 10.0% | 9.1% | 9.1% | 10.6% |
| 7 full-seasonal | 12.2% | 12.9% | 12.4% | 12.5% |
| 8 full-dist-weighted | 13.4% | 13.6% | 13.6% | 13.2% |
multivariate_trend (model 14)
multivariate_trend (model 14)
equal weight: 6.2% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 linear-1h | 7.7% | 8.6% | 7.4% | 7.8% |
| 2 linear-3h | 5.6% | 5.6% | 6.9% | 5.5% |
| 3 linear-6h | 5.5% | 5.2% | 5.3% | 5.2% |
| 4 linear-12h | 7.4% | 8.1% | 7.7% | 7.2% |
| 5 wls-3h-hl20 | 6.2% | 6.2% | 7.0% | 6.2% |
| 6 wls-6h-hl45 | 5.7% | 5.5% | 6.0% | 5.8% |
| 7 wls-6h-hl120 | 5.5% | 5.3% | 5.6% | 5.5% |
| 8 quad-3h | 0.6% | 0.6% | 0.7% | 0.7% |
| 9 quad-6h | 0.9% | 1.1% | 1.2% | 1.2% |
| 10 ridge-6h | 6.3% | 6.3% | 6.2% | 5.8% |
| 11 linear-18h | 7.4% | 7.8% | 7.3% | 7.2% |
| 12 linear-24h | 0.2% | 0.2% | 0.2% | 0.2% |
| 13 linear-36h | 11.7% | 11.2% | 10.5% | 11.5% |
| 14 linear-48h | 12.0% | 10.5% | 11.2% | 13.3% |
| 15 wls-18h-hl240 | 7.9% | 8.4% | 7.9% | 7.8% |
| 16 wls-24h-hl360 | 9.4% | 9.5% | 9.1% | 9.2% |
dry_airmass_diurnal (model 15)
dry_airmass_diurnal (model 15)
equal weight: 16.7% per member
| Member | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| 1 24h-amp | 17.7% | 16.8% | 16.1% | 17.1% |
| 2 48h-amp | 16.4% | 16.4% | 16.1% | 16.2% |
| 3 72h-amp | 15.9% | 16.7% | 16.7% | 15.9% |
| 4 24h-amp-ridge | 17.7% | 16.9% | 16.8% | 17.6% |
| 5 48h-amp-ridge | 16.4% | 16.5% | 16.8% | 16.7% |
| 6 72h-amp-ridge | 15.9% | 16.8% | 17.5% | 16.4% |
external_corrected (model 202)
external_corrected (model 202)
NWS group (members 1–5) vs. Tempest group (members 6–10) — inverse-MAE weighting per variable, lead, and time of day. Blue = NWS leads, orange = Tempest leads. — = insufficient history.
| Variable / Lead | night 00-05 | morning 06-11 | afternoon 12-17 | evening 18-23 |
|---|---|---|---|---|
| temperature 6h | NWS 54% | Tmp 54% | Tmp 58% | Tmp 56% |
| temperature 12h | 50 / 50 | NWS 52% | Tmp 52% | Tmp 53% |
| temperature 18h | 50 / 50 | NWS 53% | Tmp 52% | 50 / 50 |
| temperature 24h | 50 / 50 | 50 / 50 | 50 / 50 | Tmp 54% |
| dewpoint 6h | 50 / 50 | NWS 58% | 50 / 50 | NWS 55% |
| dewpoint 12h | NWS 53% | NWS 59% | 50 / 50 | NWS 55% |
| dewpoint 18h | 50 / 50 | NWS 55% | 50 / 50 | NWS 55% |
| dewpoint 24h | 50 / 50 | 50 / 50 | NWS 60% | NWS 56% |
Learnings
Tracked hypotheses that accumulate evidence over time. Thin data is expected early — the goal is to watch these relationships evolve.
Hypothesis A: Clearness persistence vs. pressure projection
Question: Does projecting the solar clearness index forward via pressure tendency (airmass_diurnal member 3) reduce temperature MAE compared to simply persisting it (member 1)? The weights table shows whether barogram tune tracks the better performer over time.
Status: +6h: tied (5.6°F MAE); +12h: m1 (clearness-only) leads by 2.1°F MAE. The ensemble is currently leaning on m1 (clearness-only) for temperature.
show charts
Current tuning weights (members 1 and 3)
| variable | lead | member 1 clearness-only | member 3 clearness-pressure-projected |
|---|---|---|---|
| dewpoint | +6h | 0.0622 | 0.0622 |
| dewpoint | +12h | 0.0610 | 0.0610 |
| dewpoint | +18h | 0.0596 | 0.0596 |
| dewpoint | +24h | 0.0603 | 0.0603 |
| temperature | +6h | 0.0727 | 0.0723 |
| temperature | +12h | 0.0721 | 0.0733 |
| temperature | +18h | 0.0707 | 0.0740 |
| temperature | +24h | 0.0698 | 0.0712 |
Hypothesis B: Solar clearness index vs. NWS sky cover
Question: Does the Tempest station’s solar-derived clearness index (k) agree with NWS-reported sky cover? Each point is a daily average. What to look for: the two lines should move inversely (clearness drops on cloudy days, sky cover rises). If they move together or persistently diverge, there may be a sensor issue or a real local microclimate difference between the Tempest site and KMSP. NWS sky cover is never used as a model input — this is validation only.
Status: clearness and sky cover tend to move in opposite directions, but the pattern is noisy (31 days of data). Relationship is forming.
show chart
Hypothesis C: Is the ensemble closing the gap on its best member?
Question: The ensemble is currently worse than climo_deviation on temperature at every lead. The line shows the rolling gap (ensemble MAE − climo_deviation MAE, 10-run mean) over time. What to look for: the line trending toward or below zero — that means the ensemble is learning to match or beat its best member. A flat or rising line means the weighting is not converging.
Status: +6h gap +0.0°F (↑ diverging); +24h gap -0.4°F (→ flat). Gap is small.
show charts
Hypothesis D: pressure_tendency — best and worst simultaneously
Question: pressure_tendency is the best model for dewpoint at all leads, but its pressure MAE climbs steeply (40+ hPa at 24h vs persistence’s 5 hPa). Both lines are shown at +12h with a 10-run rolling mean. What to look for: the two lines diverging — low dewpoint, high pressure. That’s expected and confirms the model design trade-off. If pressure MAE starts dropping back toward dewpoint level, something has changed.
Status at +12h: dewpoint MAE 5.1°F, pressure MAE 1.8 hPa. Pressure error is surprisingly low. If it stays this close to normal, the model's pressure sacrifice may have shrunk.
show chart
Hypothesis E: How long does the climo_deviation advantage last?
At +6h, climo_deviation beats persistence by ~1.9°F; by +24h that gap has shrunk to ~0.5°F. Lines are 10-run rolling means. What to look for: the two lines converging at +24h (gap approaching zero) while staying well separated at +6h. If they converge at +6h too, the recency signal has lost value. A seasonal shift (gap changes in summer vs winter) would also be meaningful.
Status: +6h: climo 3.7°F vs persistence 10.5°F (gap +6.8°F); +24h: climo 5.9°F vs persistence 3.6°F (gap -2.3°F). Advantage reverses at longer leads — persistence beats climo_deviation at +24h.
show charts
Hypothesis F: Model specialization map
Which base model wins each (variable × lead) cell? Hover for MAE and sample size. What to look for: does the ensemble weighting actually reflect this map? If the ensemble underperforms for a variable, check whether the dominant model here gets high weight in that column.
Status: external_corrected has the lowest error in 6 of 12 variable/lead combinations. The ensemble is not giving extra weight to the model that's actually winning (1 of 12 combinations agree, 8%).
show chart
Hypothesis G: Does diurnal_curve ever beat climo_deviation?
diurnal_curve models the daily temperature cycle explicitly. climo_deviation wins at every lead right now by anchoring to recent deviations from climatology. Lines are 10-run rolling means. What to look for: diurnal_curve closing the gap, especially at overnight leads (+18h/+24h) where solar effects matter less. If it never closes, the recency signal in climo_deviation is the explanation — not the diurnal cycle.
Status: +6h: diurnal 3.5°F vs climo_dev 3.7°F (gap -0.2°F); +24h: diurnal 6.5°F vs climo_dev 5.9°F (gap +0.6°F). Gap grows at longer leads — diurnal_curve worsens with time.
show charts
Hypothesis H: Does trend window length have an optimal size?
Question: For each lead time, is there an optimal trend window where MAE is minimized — short enough to capture the recent signal, long enough to avoid noise? Or does skill simply improve monotonically with more history? multivariate_trend members span 1–48h windows; each point here is the all-time avg MAE for one (member, lead) pair. Note: early data for short-window members at long leads reflects pre-fix era forecast errors — those members are now restricted to appropriate leads.
Status: +6h best: 36h window (10.1°F MAE); +12h best: 48h window (9.8°F MAE); +18h best: 48h window (8.3°F MAE); +24h best: 48h window (12.7°F MAE).
show charts
Latest Forecast Run
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 62.4°F | 62.4°F | 62.4°F | 62.4°F |
| Dew Point | 58.2°F | 58.2°F | 58.2°F | 58.2°F |
| Station P | 981.1hPa | 981.1hPa | 981.1hPa | 981.1hPa |
| SLP | 1014.7 hPa | 1014.7 hPa | 1014.7 hPa | 1014.7 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 62.8°F | 67.8°F | 55.8°F | 50.3°F |
| Dew Point | 44.1°F | 44.4°F | 43.4°F | 41.9°F |
| Station P | 980.4hPa | 978.8hPa | 979.4hPa | 979.5hPa |
| SLP | 1014.0 hPa | 1012.4 hPa | 1013.0 hPa | 1013.1 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 69.5°F | 74.7°F | 62.1°F | 55.3°F |
| Dew Point | 51.7°F | 52.1°F | 49.3°F | 48.1°F |
| Station P | 981.7hPa | 979.8hPa | 980.6hPa | 980.9hPa |
| SLP | 1015.3 hPa | 1013.4 hPa | 1014.2 hPa | 1014.5 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 76.6°F | 80.9°F | 67.1°F | 60.0°F |
| Dew Point | 62.3°F | 61.2°F | 56.9°F | 54.9°F |
| Station P | 981.9hPa | 979.9hPa | 980.7hPa | 981.0hPa |
| SLP | 1015.5 hPa | 1013.5 hPa | 1014.3 hPa | 1014.6 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 62.7°F | 63.3°F | 63.2°F | 63.0°F |
| Dew Point | 57.8°F | 57.9°F | 58.1°F | 58.3°F |
| Station P | 981.5hPa | 981.4hPa | 981.0hPa | 980.8hPa |
| SLP | 1015.1 hPa | 1015.0 hPa | 1014.6 hPa | 1014.4 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 75.9°F | 78.9°F | 66.6°F | 61.1°F |
| Dew Point | 59.3°F | 58.5°F | 55.2°F | 53.8°F |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 73.2°F | 75.2°F | 68.5°F | 65.1°F |
| Dew Point | 60.4°F | 60.4°F | 59.6°F | 58.2°F |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 77.6°F | 81.7°F | 68.9°F | 60.5°F |
| Dew Point | 60.8°F | 62.6°F | 55.9°F | 54.3°F |
| Station P | 981.0hPa | 978.9hPa | 980.2hPa | 981.6hPa |
| SLP | 1014.6 hPa | 1012.5 hPa | 1013.8 hPa | 1015.2 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 61.8°F | 65.3°F | 66.5°F | 63.2°F |
| Dew Point | 58.0°F | 59.0°F | 59.5°F | 58.8°F |
| Station P | 981.2hPa | 981.0hPa | 980.6hPa | 980.7hPa |
| SLP | 1014.8 hPa | 1014.6 hPa | 1014.2 hPa | 1014.3 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 61.0°F | 67.8°F | 69.7°F | 63.2°F |
| Dew Point | 57.9°F | 59.6°F | 60.3°F | 58.9°F |
| Station P | 981.3hPa | 981.0hPa | 980.2hPa | 980.2hPa |
| SLP | 1014.9 hPa | 1014.6 hPa | 1013.8 hPa | 1013.8 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 66.3°F | 65.0°F | 59.9°F | 53.7°F |
| Dew Point | 48.8°F | 46.4°F | 46.7°F | 42.9°F |
| Station P | 987.8hPa | 985.8hPa | 987.5hPa | 986.0hPa |
| SLP | 1021.4 hPa | 1019.4 hPa | 1021.1 hPa | 1019.6 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 77.2°F | 82.6°F | 68.9°F | 60.9°F |
| Dew Point | 58.2°F | 60.3°F | 54.9°F | 53.5°F |
| Station P | 981.9hPa | 979.4hPa | 980.4hPa | 981.3hPa |
| SLP | 1015.5 hPa | 1013.0 hPa | 1014.0 hPa | 1014.9 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 61.7°F | 61.0°F | 66.0°F | 57.2°F |
| Dew Point | 58.5°F | 55.6°F | 50.4°F | 48.9°F |
| Station P | 981.2hPa | 980.7hPa | 978.9hPa | 978.5hPa |
| SLP | 1014.8 hPa | 1014.3 hPa | 1012.5 hPa | 1012.1 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 78.3°F | 81.9°F | 65.4°F | 59.1°F |
| Dew Point | 57.2°F | 54.2°F | 51.2°F | 47.9°F |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 72.0°F | 79.9°F | 67.7°F | 60.9°F |
| Dew Point | 58.9°F | 59.2°F | 57.1°F | 55.0°F |
| Station P | 981.3hPa | 981.0hPa | 980.4hPa | 980.8hPa |
| SLP | 1014.9 hPa | 1014.6 hPa | 1014.0 hPa | 1014.4 hPa |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 77.0°F | 79.0°F | 66.0°F | 58.0°F |
| Dew Point | 53.0°F | 51.0°F | 46.0°F | 43.0°F |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 78.8°F | 82.4°F | 68.0°F | 59.0°F |
| Dew Point | 49.6°F | 47.9°F | 44.1°F | 35.3°F |
| Variable | +6h | +12h | +18h | +24h |
|---|---|---|---|---|
| Temperature | 77.2°F | 79.8°F | 66.9°F | 58.0°F |
| Dew Point | 54.7°F | 53.1°F | 47.3°F | 41.6°F |
Observation History
Tempest Weather Station
| Time | Temperature | Dew Point | Station P | SLP | Wind | Precip (day) | Lightning |
|---|
NWS: Minneapolis-St. Paul Intl (KMSP)
| Time | Temperature | Dew Point | Wind | Pressure | Sky |
|---|