WTHRS
Methodology
En teknisk redogörelse för hur WTHRS aggregerar oberoende numeriska vädermodeller (NWP), kvantifierar prognosfel och rapporterar osäkerhet.
- Dokumenttyp
- Technical report
- Utgåva
- 2.1-2026-07-26
- Målgrupp
- Investerare, tekniska granskare, meteorologiska partners, App Store Review, forsknings- och utvecklingsteam
- Status
- Publik. Ersätter v2.0.
- Ändringar sedan v2.0
- Alignment med WTHRS Product Constitution v1.0: explicit missing-data-kontrakt (
DataStatus), cementerad vindby- och UV-hantering, publiceringsgrind som endast släpper igenom verifierade mätvärden, borttagna formuleringar som antydde att konsumentapparna SMHI/Yr/Apple anropas direkt. - Referensimplementation
- src/lib/wthrs-weighting.ts
- Kontakt
- Kontakta oss
Executive Summary
WTHRS är ett post-processeringssystem för operativa numeriska vädermodeller (NWP). Systemet konsumerar fyra oberoende modellspår, tilldelar spårspecifika vikter härledda från historiska felmått och publicerar en viktad punktprognos tillsammans med ett deterministiskt konfidensmått. WTHRS driver inga egna modeller och genererar ingen egen fysik; värdet ligger i konsistent aggregering, granskningsbar viktning och tydlig kommunikation av osäkerhet.
Modellklass. Post-processing genom viktad ensemblekombination. Metoden är förenlig med etablerad litteratur om multimodell-superensembler och konsensusprognoser (Krishnamurti et al., 1999[1]; Gneiting & Raftery, 2005[2]).
Viktning. Softmax över negativa felbaslinjer per ort, parameter och horisont (avsnitt 4), beräknade på ett rullande fönster om 14 dygn. Nederbördsmängd viktas på MAE, nederbördssannolikhet på hit rate. Konstruktionen är en begränsad form av Bayesian Model Averaging med icke-parametrisk skattning av modellskicklighet (Raftery et al., 2005[3]).
Konfidens. Ett skalärt värde i [0, 100] beräknat som viktat medelvärde av fem normaliserade signaler (avsnitt 6). Måttet är avsiktligt inte en kalibrerad sannolikhet; det tolkas som en indikator på ingångsdatas kvalitet snarare än en probabilistisk prognos i egentlig mening (Wilks, 2019[4]).
Källor och begränsning. Systemet läser fyra källspår. WTHRS egen sammanvägning verifieras som ett eget spår men räknas aldrig som en källa. Verifiering kräver en kvalificerad mätstation inom avståndskravet: för en ort utan sådan station publiceras aldrig verifierad statistik för den parametern, och viktningen faller tillbaka på lika vikt mellan spåren.
Systemöversikt
Figur 1 illustrerar dataflödet. Systemet består av fyra lager: (i) transport, (ii) normalisering, (iii) viktning och konfidens, samt (iv) presentation.
Transportlagret är en publikt tillgänglig API-yta (Open-Meteo som primär och MET Norway Locationforecast som live-fallback). Normaliseringslagret enhetsomvandlar och interpolerar tidssteg till ett gemensamt schema. Viktnings- och konfidenslagret implementerar ekvationerna i avsnitten 4 och 6. Presentationslagret är en TanStack Start-applikation som cachar sammanslagen data i cirka tio minuter per plats.
Datakällor
WTHRS anropar inga direkta konsument-API:er från SMHI, Apple Weather. Rådata kommer uteslutande via två publika transporter, tabellerade i tabell 1.
| Spår | API-ID | Transport | Modell | Licens |
|---|---|---|---|---|
| SMHI SNOW1gv1 | SNOW1gv1 | SMHI Open Data (direkt) | SMHI operativ punktprognos | SMHI Öppna data |
| MEPS (MetCoOp) | metno_seamless | Open-Meteo | HARMONIE-AROME | CC BY 4.0 |
| ECMWF IFS 0.25° | ecmwf_ifs025 | Open-Meteo | IFS (global) | CC BY 4.0 / ECMWF Open Data |
| DWD ICON | icon_seamless | Open-Meteo | ICON (global→regional) | CC BY 4.0 / DWD |
| MET Norway Locationforecast | , | api.met.no (fallback) | MEPS-derivat | NLOD / CC BY 4.0 |
De fyra modellspåren har följande vetenskaplig bakgrund. MEPS är den nordiska operativa HARMONIE-AROME-konfigurationen driven av MetCoOp (MET Norway, SMHI, FMI) (Bengtsson et al., 2017[5]). ECMWF IFS är den europeiska globala integrerade prognosmodellen; skicklighetsutvecklingen är dokumenterad över tid (Bauer, Thorpe & Brunet, 2015[6]). ICON är DWD:s icosahedrala icke-hydrostatiska modell (Zängl et al., 2015[7]). SMHI SNOW1gv1 är SMHI:s egen operativa punktprognos, hämtad direkt från SMHI Open Data (Zippenfenig, 2023[8] avser transportlagret Open-Meteo för övriga spår) och räknas i denna metodik som ett självständigt spår.
Interna spår-ID:n. Kodbasen använder historiskt etiketterna smhi, yr, apple, klart. Dessa är proxyetiketter för modellspåren (MEPS, MEPS-derivat, ECMWF IFS, ICON) och representerar inte API-anrop mot respektive konsumentbolag. Etiketterna migreras gradvis till modellnamn i UI-lagret.
Fallback-beteende. Vid utfall av primär transport aktiveras MET Norway Locationforecast. Fyra spårkolumner fylls då genom att applicera fasta per-spår-offsets på fallback-vektorn (t.ex. ±0,4 °C i temperatur). Detta bevarar UI-form men bör tolkas som en approximation, inte fyra oberoende modellkörningar. Fallback-fönster loggas och exponeras i statusytan.
Konsensusmodellen
4.1 Notation
Låt M beteckna mängden tillgängliga modellspår i tidpunkt t, för geografisk plats ℓ, parameter p (temperatur, nederbörd, vind, moln) och horisont h (timmar). För varje spår i ∈ M observeras ett prognosvärde xᵢ och en lagrad felskattning eᵢ (MAE, se avsnitt 5), båda betingade på (ℓ, p, h).
4.2 Viktning
Vikterna definieras genom en temperaturskalad softmax över negativa fel:
wᵢ = exp(−eᵢ / τ) / Σⱼ∈M exp(−eⱼ / τ)
där τ > 0 är en skalningsparameter. Konstruktionen är monoton avtagande i eᵢ. Ett spår med lägre fel i 14-dygnsfönstret erhåller större vikt. Och Σᵢwᵢ = 1. Gränsfallet τ → 0 reducerar till "winner-takes-all" och τ → ∞ till likformig viktning. WTHRS använder som default τ = 1, kalibrerat mot förväntad MAE-storleksordning (~1-3 °C).
4.3 Punktprognos
x̂ = Σᵢ∈M wᵢ · xᵢ
För icke-negativa parametrar (nederbörd, vind) genomförs viktningen på originalskala. Ingen ytterligare bias-korrektion appliceras i denna utgåva; systematisk bias-korrektion planeras (avsnitt 9).
4.4 Hantering av saknade spår
Om ett spår saknar värde för (ℓ, p, h) exkluderas det ur summan och vikterna renormaliseras över M ∖ {i}. Ett saknat värde imputeras aldrig med noll, eftersom det skulle introducera en negativ bias mot 0 °C, 0 mm respektive 0 m/s.
4.5 Relation till existerande metodik
Ekvationen är ekvivalent med Boltzmann-viktning i statistisk mekanik och sammanfaller strukturellt med skicklighetsviktade multimodell-superensembler (Krishnamurti et al., 1999[1]). Den kan tolkas som Bayesian Model Averaging under antagandet att log-likelihood approximeras med −MAE/τ (Raftery et al., 2005[3]). Softmax-formen är även identisk med den som används i modern maskininlärning för klassifikation (Goodfellow, Bengio & Courville, 2016[9], kap. 6).
Valideringsmetodik
5.1 Definition av fel
För en observation y och prognos xᵢ från spår i definieras felet εᵢ = xᵢ − y. WTHRS rapporterar två aggregerade skalära mått, i linje med WMO:s rekommenderade praxis (Jolliffe & Stephenson, 2012[10]):
MAE = (1/N) · Σₙ |εᵢ,ₙ| Bias = (1/N) · Σₙ εᵢ,ₙ
RMSE rapporteras kompletterande för temperatur och vind i det interna Evidence Center. Kategoriska mått (hit rate, false alarm ratio) används för nederbörd på binär skala (regn / uppehåll).
5.2 Observationsreferens
Primär sanningskälla är ERA5-återanalysen från ECMWF (Hersbach et al., 2020[11]), hämtad via Open-Meteo Historical Weather API. Sekundärt används punktobservationer från SMHI Open Data och MET Norway Frost för lokal kalibrering. Observationer hämtas med minst 24 timmars fördröjning för att respektera QC-fönster.
5.3 Rullande fönster
Viktunderlaget beräknas på ett rullande fönster om 14 dygn. Fönsterlängden balanserar responsivitet mot statistisk stabilitet och följer etablerad praxis inom operativ verifikation (Wilks, 2019[4]). Fönstret är separerat per horisont; felskattningen för h = 6 beräknas endast på historiska 6-timmarsprognoser. När 14-dygnsfönstret saknar tillräckligt antal jämförelser dras vikten mot jämnvikt genom shrinkage (avsnitt 4.2).
De felmått som publiceras i Rankings, Statistik, Evidence och Trust Center beräknas i stället över hela mätperioden. Det är två separata storheter: 14 dygn styr viktningen, hela mätperioden beskriver historisk träffsäkerhet.
5.4 Omräkningskadens
Fellogg uppdateras kontinuerligt. Rullande MAE räknas om var sjätte timme efter varje huvudkörning (00, 06, 12, 18 UTC). Softmax-vikterna räknas om dagligen kl. 03 UTC. Skalningsparametern τ kalibreras veckovis. Vikterna räknas aldrig om vid inferenstidpunkt för att undvika look-ahead-bias.
5.5 Nuvarande status
MAE- och hit-rate-värden i Rankings, Statistik och Trust Dashboard publiceras endast när de bygger på verifierade jämförelser mellan sparad prognos och uppmätt observation, aggregerade över hela mätperioden. Seedade och overifierade rader filtreras bort i presentationslagret. Verifiering förutsätter en kvalificerad mätstation inom avståndskravet för parametern. För en ort utan sådan station publiceras aldrig verifierad statistik för den parametern, eftersom mätunderlag saknas på platsen.
Konfidensmått
6.1 Definition
Konfidensmåttet C är ett skalärt värde i [0, 100] beräknat som viktad summa av fem normaliserade faktorer, alla i [0, 1]:
C = 100 · clamp₀₁( 0.32·agreement + 0.24·accuracy
+ 0.16·horizon + 0.16·volatility + 0.12·seasonal )
Vikterna summerar till exakt 1. Formeln är fullständigt deterministisk: identiska indata ger identisk utdata.
6.2 Faktorernas härledning
- agreement = clamp₀₁(1 − σT / 4), där σT är stickprovsstandardavvikelsen i temperatur mellan tillgängliga spår. Skalan 4 °C valdes så att typiska spridningar (0-2 °C) mappas till 1,0-0,5.
- accuracy = clamp₀₁(1 − mini(MAEᵢ) / 3). Minimum över spår, motiverat av att viktningen kan luta sig på det starkaste tillgängliga spåret. Saknad MAE-data ersätts med default 3 °C → accuracy = 0.
- horizon = clamp₀₁(1 − ln(1 + h) / ln(200)). Logaritmisk avtagande speglar den empiriskt observerade tillväxten av prognosfel med horisont (Lorenz, 1963[12]; Palmer, 2000[13]). Ger 1,00 vid h = 0, ≈0,85 vid 24 h, ≈0,35 vid 168 h.
- volatility = clamp₀₁(stateAgreement − 0,35·Prain + 0,10). Straffar konvektiva och frontala lägen där punktprognoser är särskilt känsliga.
- seasonal = uppslagning i en fast tabell över typisk förutsägbarhet per kalendermånad för nordiska breddgrader, begränsad till [0, 1]. Speglar dokumenterad säsongscykel i NWP-skicklighet (Rodwell & Doblas-Reyes, 2006[14]).
6.3 Tolkning: vad C är och inte är
C är en datakvalitetsindikator, inte en probabilistisk prognos. En kalibrerad sannolikhet kräver att den producerade fördelningen validerats mot ett stort antal utfall med reliability diagram, Brier score eller CRPS (Gneiting & Raftery, 2007[15]). WTHRS publicerar för närvarande inte en sådan kalibrering och gör därför inga probabilistiska påståenden om enskilda utfall.
C = 100 är det matematiska taket när alla fem faktorer samtidigt saturerar (nollspridning, nollfel, horisont noll, perfekt state-överenskommelse med nollregnrisk, säsong i sin mest stabila fas). Det inträffar inte i praktiken. C = 0 är motsvarande golv. Praktiska värden faller nästan alltid i intervallet 40-95.
6.4 Gränsfall
Med endast ett tillgängligt spår är σT = 0 och agreement mekaniskt = 1. Detta är avsiktligt exponerat: en konfidens byggd på ett spår är transparent i Compare-vyn och i motorns diagnostik. Ett framtida mått (coverage) planeras för att uttryckligen straffa fallet (avsnitt 9).
6.5 Nivåetiketter
- Mycket hög: C ≥ 85
- Hög: 70 ≤ C < 85
- Medel: 50 ≤ C < 70
- Låg: C < 50
Figurer
Begränsningar
- Icke-oberoende modellspår. MEPS, ECMWF IFS och ICON delar delvis observationsassimilering och gränsvillkor; felen är därför korrelerade, särskilt i stabila lägen. Softmax antar implicit skiljbara skicklighetsnivåer.
- Stationsvillkoret. Verifiering kräver en kvalificerad mätstation inom avståndskravet för parametern. En ort utan sådan station får aldrig verifierad statistik för den parametern. Det är en egenskap hos observationsnätet, inte ett tillstånd som upphör med tiden.
- Konfidens ≠ sannolikhet. C är inte kalibrerat och saknar reliability-diagnostik i denna utgåva.
- Fallback-approximation. Under MET Norway-fallback är per-spår-siffrorna genererade via fasta offsets och representerar inte fyra oberoende körningar.
- Prognoshorisont. Prognoser bortom ~5-7 dagar bär hög inneboende osäkerhet oberoende av modell (Lorenz, 1963[12]).
- Punktprognos, inte ensemblefördelning. WTHRS publicerar ett viktat medelvärde, inte en fullständig fördelning; extremvärden dämpas systematiskt.
- Ej säkerhetskritiskt. WTHRS ersätter inte officiella varningar från nationella meteorologiska institut och är inte lämpligt beslutsstöd för säkerhetskritiska tillämpningar (flyg, sjöfart, räddning).
Framtida arbete
- Bredare täckning. Utöka observations- mot prognosvalideringen till fler orter och parametrar så att rullande empiriska estimat per (ℓ, p, h) täcker hela ytan.
- Kalibrering av C. Publicera reliability diagram, Brier score och CRPS mot 90 dagars observationer (Gneiting & Raftery, 2007[15]).
- Bias-korrigering. Införliva icke-noll bias-term per (ℓ, p, h) före viktad summa, t.ex. Genom EMOS (Gneiting et al., 2005[16]).
- Coverage-faktor i konfidens. Straffa fall med färre än två oberoende spår explicit, snarare än att låta agreement = 1 av matematisk trivialitet.
- Sannolikhetsprognoser. Publicera prediktiva fördelningar (kvantiler) parallellt med punktprognosen.
- Utökad modellpanel. Införliva GFS, GraphCast och Pangu-Weather för AI-baserad diversifiering (Lam et al., 2023[17]; Bi et al., 2023[18]).
- Öppet dataset. Publicera anonymiserat accuracy-dataset under öppen licens för oberoende granskning.
- Peer review. Söka extern granskning av metodiken via etablerade meteorologiska fora.
Definitioner
- NWP
- Numerisk väderprognos (Numerical Weather Prediction). Fysikbaserad simulering av atmosfärens tillstånd, integrerad framåt i tiden från en assimilerad initialtillstånd.
- Modellspår
- En strömlinje av rådata från en enskild NWP-konfiguration som WTHRS behandlar som en oberoende ingång i viktningen.
- MAE
- Mean Absolute Error. Genomsnittet av absolutbeloppet av felet mellan prognos och observation.
- RMSE
- Root Mean Squared Error. Kvadratroten ur medelvärdet av kvadrerade fel; känsligare för extremfel än MAE.
- Bias
- Medelvärdet av felet, med tecken. Systematisk över- eller underskattning.
- Softmax
- Funktion som avbildar en vektor i ℝⁿ på en sannolikhetsvektor i simplexet Δⁿ⁻¹. Se ekv. (1).
- Horisont (h)
- Antal timmar mellan modellkörning och prognosens giltighetstid.
- Konfidens (C)
- Skalärt värde i [0, 100] som kvantifierar indatakvalitet. Definierat i avsnitt 6.
- ERA5
- ECMWF Reanalysis v5. Global rutnätsbaserad återanalys som används som observationsreferens (Hersbach et al., 2020).
- BMA
- Bayesian Model Averaging. Ramverk för kombinerad inferens över flera modeller vägda med posteriora sannolikheter.
Referenser
- [1]Krishnamurti, T. N., Kishtawal, C. M., LaRow, T. E., Bachiochi, D. R., Zhang, Z., Williford, C. E., Gadgil, S. & Surendran, S. (1999). Improved weather and seasonal climate forecasts from multimodel superensemble. Science, 285(5433), 1548-1550.
- [2]Gneiting, T. & Raftery, A. E. (2005). Weather forecasting with ensemble methods. Science, 310(5746), 248-249.
- [3]Raftery, A. E., Gneiting, T., Balabdaoui, F. & Polakowski, M. (2005). Using Bayesian Model Averaging to calibrate forecast ensembles. Monthly Weather Review, 133(5), 1155-1174.
- [4]Wilks, D. S. (2019). Statistical Methods in the Atmospheric Sciences (4th ed.). Elsevier.
- [5]Bengtsson, L. Et al. (2017). The HARMONIE-AROME model configuration in the ALADIN-HIRLAM NWP system. Monthly Weather Review, 145(5), 1919-1935.
- [6]Bauer, P., Thorpe, A. & Brunet, G. (2015). The quiet revolution of numerical weather prediction. Nature, 525(7567), 47-55.
- [7]Zängl, G., Reinert, D., Rípodas, P. & Baldauf, M. (2015). The ICON (ICOsahedral Non-hydrostatic) modelling framework of DWD and MPI-M. Quarterly Journal of the Royal Meteorological Society, 141(687), 563-579.
- [8]Zippenfenig, P. (2023). Open-Meteo Weather API. Dokumentation och specifikation, open-meteo.com.
- [9]Goodfellow, I., Bengio, Y. & Courville, A. (2016). Deep Learning. MIT Press.
- [10]Jolliffe, I. T. & Stephenson, D. B. (2012). Forecast Verification: A Practitioner’s Guide in Atmospheric Science (2nd ed.). Wiley.
- [11]Hersbach, H. Et al. (2020). The ERA5 global reanalysis. Quarterly Journal of the Royal Meteorological Society, 146(730), 1999-2049.
- [12]Lorenz, E. N. (1963). Deterministic nonperiodic flow. Journal of the Atmospheric Sciences, 20(2), 130-141.
- [13]Palmer, T. N. (2000). Predicting uncertainty in forecasts of weather and climate. Reports on Progress in Physics, 63(2), 71-116.
- [14]Rodwell, M. J. & Doblas-Reyes, F. J. (2006). Medium-range, monthly, and seasonal prediction for Europe and the use of forecast ensembles. Journal of Climate, 19(23), 6025-6046.
- [15]Gneiting, T. & Raftery, A. E. (2007). Strictly proper scoring rules, prediction, and estimation. Journal of the American Statistical Association, 102(477), 359-378.
- [16]Gneiting, T., Raftery, A. E., Westveld, A. H. & Goldman, T. (2005). Calibrated probabilistic forecasting using ensemble model output statistics and minimum CRPS estimation. Monthly Weather Review, 133(5), 1098-1118.
- [17]Lam, R. Et al. (2023). Learning skillful medium-range global weather forecasting. Science, 382(6677), 1416-1421.
- [18]Bi, K., Xie, L., Zhang, H., Chen, X., Gu, X. & Tian, Q. (2023). Accurate medium-range global weather forecasting with 3D neural networks. Nature, 619(7970), 533-538.