Verktyg
Energy Toolkit erbjuder två verktyg för energiprognoser. Båda följer samma designfilosofi (en Python-generator, ett data-API och en interaktiv webbfrontend) men hanterar olika frågor om energisystemet.
Demand
Hur mycket el kommer vi att behöva? Scenariebaserade efterfrågeprognoser från historiska data, med interaktiva diagram och geografiska kartor.
Generation
Vad behöver vi bygga? PyPSA-baserad optimering för att planera förnybar kapacitet (sol, vind, lagring) med väderinformerad modellering.
Gemensam designfilosofi
Båda verktygen är byggda kring samma trelagers-arkitektur. Detta är inte tillfälligt. Det är ett medvetet designval som gör varje verktyg oberoende forkbart, driftsättningsbart och anpassningsbart samtidigt som de delar en gemensam mental modell.
Generator
En Python-motor som tar in indata och konfiguration, kör en modell, och producerar strukturerad output. Generatorn är den enda delen som kräver domänexpertis.
- Demand: Historisk data + transformeringar → Parquet
- Generation: Väder + efterfrågan + PyPSA → kapacitetsplaner
API
Ett datalager som serverar generatoroutput genom standardiserade endpoints. Statisk JSON för metadata, dynamiska frågor för tidsserier och scenariodata.
- Demand: OpenAPI 3.1 + DuckDB på Parquet
- Generation: Filbaserat API (lokalt eller HTTP-server)
Frontend
En interaktiv webbapplikation för att utforska data. Diagram, kartor, scenariojämförelse, designad för flera målgrupper från allmänhet till domänexperter.
- Demand: SvelteKit + LayerChart + Mapbox GL
- Generation: Streamlit + Plotly + Folium
Designade för att forkas
Verktygen är inte SaaS-produkter. De är startpunkter. Forka ett repository, byt in dina egna data och modeller, och driftsätt. Arkitekturen är designad för att göra detta enkelt.
Flexibel indata
- Valfri region: Tillhandahåll dina egna GeoJSON-gränser och efterfrågedata. Demand-verktyget levereras med svenska data; anpassa det för ditt land eller din region.
- Valfri scenariomodell: Generatorerna är modulära. Ersätt transformeringsfunktionerna med dina egna prognosmodeller utan att störa datapipelinen.
- Konfigurationsdriven: Scenarier, geografier, segment och parametrar definieras i konfigurationsfiler (YAML eller JSON). Ändra konfigurationen, regenerera, och hela stacken uppdateras.
Flexibel driftsättning
- Kör lokalt: Båda verktygen fungerar på en laptop utan molntjänster. Bra för utveckling och intern användning.
- Driftsätt till molnet: Båda verktygen kör på valfri standardmolnplattform. Ta med din egen infrastruktur; verktygen är fria från leverantörsberoenden.
- Statisk eller dynamisk: Frontends genererar helt statiska webbplatser som kan serveras av valfri statisk host eller CDN. API:er kan köras som containrar eller servera förbyggda filer.
Mognadsgrad
De två verktygen är i olika utvecklingsstadier. Båda är funktionella och driftsatta, men Demand-verktyget har en mer mogen ramverksarkitektur.
Demand
- ✓ Full-stack-ramverk med tydlig separation
- ✓ Omfattande testtäckning (60+ tester)
- ✓ CI/CD-pipeline med GitHub Actions
- ✓ Dokumentation, kodstandarder, felsökningsguider
- ✓ Flerspråksstöd (Paraglide i18n)
Generation
- ✓ Fungerande generator med PyPSA-optimering
- ✓ Streamlit-dashboard med scenariokontroller
- ✓ Flexibelt API (lokalt filsystem eller HTTP-server)
- ✓ Docker-driftsättningsstöd
- ○ Planerat: migration till SvelteKit-frontend
- ○ Planerat: utökad dokumentation