PyPSA-VGR
VGR
Planeringsverktyg för förnybar kapacitet i Västra Götaland. Använder PyPSA-optimering för att bestämma den mix av sol, vind och lagring som behövs för att möta framtida behov.
Vad behöver vi bygga? PyPSA-baserad optimering för att planera förnybar kapacitet (sol, vind, lagring) med väderinformerad modellering.
Ett återanvändbart ramverk för Generation-verktyget finns på färdplanen men är ännu inte finansierat. PyPSA-VGR finns för närvarande som en fullständig implementation. Koden är öppen källkod och kan klonas direkt.
Ett återanvändbart ramverk för Generation-verktyget är ännu inte finansierat. PyPSA-VGR finns för närvarande som en fristående implementation. Kontakta oss om du är intresserad av att finansiera en ramverks-extraktion.
config (JSON) ← Scenarios, financial assumptions, geography
│
▼
Generator (PyPSA) ← Weather data + demand + optimization model
│
▼
Output (CSV/NetCDF) ← Capacity plans, costs, generation profiles
│
▼
API (file-based) ← Local filesystem or HTTP server
│
▼
Dashboard (Streamlit) ← Scenario exploration, capacity mix, LCOE analysisGeneratorn använder PyPSA (Python for Power System Analysis) för att hitta den optimala mixen av förnybar kapacitet. Givet en efterfrågeprofil, väderdata och antaganden om teknikkostnader, bestämmer den hur mycket sol, vind, batterilagring och vätgaskapacitet som behövs för att möta efterfrågan under olika självförsörjningsgrader.
Bygger ett kraftsystemsnätverk med bussar för last, förnybara, batteri, vätgas, och turbiner. Länkar modellerar ladda/ladda ur, elektrolys, och gasturbiner. Optimerar för minimal kostnad med hänsyn till självförsörjningsgrad och biogasbegränsningar.
Använder ERA5-reanalysdata med 3-timmarsupplösning för att beräkna kapacitetsfaktorer för sol och vind. Atlite hanterar markanvändnings-exkluderingar med CORINE-klassificering för realistiska uppskattningar av tillgängliga ytor.
Konfigurationen definierar ett scenarioutrymme över självförsörjningsmål (50–100%), variationer i energibehov (-20% till +20%), vätgasalternativ, växlingar för havsbaserad vind, och biogasbegränsningar. Generatorn validerar och kör alla kombinationer.
Omfattande kostnadsantaganden från 2020–2050 med stöd för flera valutor (EUR, USD, SEK), nuvärdesberäkningar och tekniklärokurvor. Täcker sol, vind på land/havs, batteri, vätgaselektrolys, kärnkraft och biogas.
API-lagret abstraherar över lagringsbackenden genom ett enhetligt gränssnitt. Samma dashboard-kod läser scenariodata från lokalt filsystem under utveckling eller från valfri HTTP-åtkomlig lagring i produktion.
En Streamlit-applikation med interaktiva scenariokontroller och visualiseringar av energisystem. Designad för tre målgruppsnivåer.
Reglagekontroller för självförsörjningsmål och energiscenarier. Växla vätgas, havsbaserad vind och biogasbegränsningar. Bokmärkbara URL:er bevarar parameterstate.
Energi-metrikkort som visar kapacitet per teknik. Staplade stapeldiagram för produktionsmix per vecka. LCOE-uppdelning per energikälla. Prestandamätningar som visar täckt/otäckt behov.
Interaktiv karta med Folium för regionval. Markanvändningsjämförelse som visar de fysiska avtrycket av förnybara installationer relativt kommunala ytor.
Teknisk referens för implementatörer. Expandera avsnittet nedan för modellinterna delar, scenariokonfiguration, indatastruktur och driftsättningsdetaljer.
/pypsa-vgr/
├── model/ # Core PyPSA modeling (network, constraints, assumptions)
├── generator/ # Scenario execution pipeline
├── input/ # All input data
│ ├── assumptions.csv # Technology costs 2020-2050
│ ├── demand/ # Historical demand data (3h resolution)
│ ├── weather/ # ERA5 weather data and capacity factors
│ ├── renewables/ # Renewable resource assessment
│ └── geo/ # Geographic boundaries and land use
├── api/ # Output data directory
├── dashboard/ # Streamlit frontend
├── workspace/ # Analysis Jupyter notebooks
├── paths.py # Central path configuration
└── environment.yaml # Conda environment specification Generatorn kör en sekventiell pipeline för varje scenariokombination:
Scenarier definieras i JSON-konfigurationsfiler med följande parametrar:
| Parameter | Intervall | Beskrivning |
|---|---|---|
| Självförsörjning | 50–100% (11 nivåer) | Mål för lokal produktion mot import |
| Energiscenario | -20% till +20% (3 nivåer) | Efterfrågevariation från basprognos |
| Vätgas | på/av | Inkludera vätgaselektrolys och lagring |
| Havsbaserad vind | på/av | Inkludera havsbaserad vindkapacitet |
| Biogasgräns | 0%, 25%, 50%, 100% | Maximal biogasandel av total efterfrågan |
Generatorn validerar antal scenarier (varnar >10 000, blockerar >50 000) innan körning.
Omfattande kostnads- och prestandadata från 2020–2050 i input/assumptions.csv. Viktiga teknologier och deras 2020-kostnader:
| Teknologi | Kapitalkostnad (2020) | Livslängd |
|---|---|---|
| Solceller | €560k/MW | 25–40 år |
| Landbaserad vind | €1,1–1,2M/MW | 25–30 år |
| Havsbaserad vind | €2,12M/MW | 25–30 år |
| Batterilagring | €246k/MWh | 20–30 år |
| H2-elektrolys | €1,3M/MWe | 25 år |
| Sida | Innehåll |
|---|---|
| Explorer | Huvud-scenarioutforskning med diagram, kort och kartor |
| Om | Projektbeskrivning (Markdown, tvåspråkig) |
| Antaganden | Teknikkostnader och tabeller för markanvändningsdata |
Dashboardens library/api.py abstraherar över lagringsbackenden bakom ett enhetligt gränssnitt. Backenden för lokalt filsystem används under utveckling; HTTP-server-backenden låter dashboarden läsa scenariodata från valfri HTTP-åtkomlig lagring i produktion.
Live-applikationer byggda med Generation-verktyget.
VGR
Planeringsverktyg för förnybar kapacitet i Västra Götaland. Använder PyPSA-optimering för att bestämma den mix av sol, vind och lagring som behövs för att möta framtida behov.
Generation-verktyget driftsätts som en Docker-container som kör Streamlit-dashboarden. Kör det på valfri containerplattform; scenariodata kan serveras från lokalt filsystem eller valfri HTTP-åtkomlig lagring.
# Build and run locally
docker build -t pypsa-vgr .
docker run -p 8501:8501 pypsa-vgr
# Or run directly
streamlit run dashboard/app.py