Kraftatlas

Metod

Beräkningsmodellen bakom Kraftatlas, med alla antaganden i klartext. Modellen är ren TypeScript i src/lib/calc och har full testtäckning.

Vad modellen räknar på

Modellen räknar på investeringskostnad för att bygga produktionen från nytt, inte livscykelkostnad. Drift, underhåll, nedmontering och kapitalkostnad ingår inte. Kärnbränsle under drift redovisas separat som årlig kostnad på anläggningskorten, med egen källa. Biobränsle är helt inhemskt och ingår inte i investeringen.

Formler

plantsNeeded(typ, twh)          = ceil(twh × 1000 / typ.annualGWh)
capexTotal(typ, twh)            = plantsNeeded × typ.capexSEK
materialCost(typ, m, twh)       = capexTotal × m.costShare
countryCost(typ, m, steg, land) = materialCost × share(m, steg, land)
dependencyByCountry(mix, steg)  = Σ över typer och material av countryCost, per land
domesticPotential(mix)          = Σ materialCost för material med sweden.status = deposit-not-extracted
deaths(mix)                     = Σ twh_typ × deathsPerTWh_typ            (dödsfall per år)
deathsPerMWh(mix)               = deaths(mix) / (Σ twh × 1000000)

Antaganden

  1. Hela anläggningar. Antalet anläggningar per kraftslag avrundas uppåt. För små andelar av små anläggningar spelar det ingen roll; för kärnkraft kan en reaktor till betyda mycket.
  2. Materialandelar är andelar av anläggningskostnaden och summerar till 30 %–90 %. Resten är arbete, mark, projektering, finansiering och marginal. Andelarna är i huvudsak uppskattningar med angivet intervall och not; se källorna.
  3. Landandelar är som regel respektive lands andel av världens produktion i steget (brytning, förädling eller tillverkning). Det är en rimlig proxy för globalt handlade råvaror med en dominerande producent, men inte för tunga, regionalt handlade varor. För material där statistik över svenska inköp finns används i stället den fördelningen: SCB:s utrikeshandelsstatistik per avsändningsland för stål, obearbetat aluminium och koppar, hämtad vid byggtid och committad som ögonblicksbild, med Jernkontoret och Teknikföretagen som reserv tills en hämtning gjorts. Det går att stänga av med reglaget "Räkna med var Sverige faktiskt köper", varvid alla material fördelas efter världsproduktion. Andelar som inte täcks av namngivna länder redovisas som "Övriga".
  4. Ett steg åt gången. Samma krona räknas bara i ett steg. Ett material som saknar ett steg redovisas på närmast föregående steg (tillverkning → förädling → brytning), annars på närmast följande. Koppar saknar till exempel tillverkningssteg, så tillverkning visar smältverksandelar.
  5. Permanentmagneter. Landbaserad vind räknas med jordartsmagneter om "Antag permanentmagnetgeneratorer" är på; annars noll (DFIG- eller EESG-design). Havsvind räknas alltid som direktdriven med magneter.
  6. Om Sverige utvann det som finns flyttar brytningsstegets andelar till Sverige för material med status "finns i Sverige, utvinns inte". Förädling och tillverkning påverkas inte.
  7. Dödsfall per TWh kommer från Our World in Data och multipliceras med kraftslagets TWh. Vattenkraftens siffra domineras av dammbrottet i Banqiao 1975 och kan räknas utan det. Biokraftvärmens siffra avser äldre europeiska anläggningar och luftföroreningar. Siffrorna är globala genomsnitt.
  8. Valutakurser. Utländska belopp räknas om med avrundade årsgenomsnitt från Riksbanken : Avrundade årsgenomsnitt används: 1 USD ≈ 9,6 kr, 1 EUR ≈ 11,0 kr, 1 GBP ≈ 12,9 kr.
  9. Prisnivå. Kostnader från olika år räknas inte om till en gemensam prisnivå utom där det anges i noten. Kärnkraftens capex bygger på färdigställda europeiska projekt i löpande priser, vilket ger ett stort intervall.
  10. Sverige 2025 är Energimyndighetens preliminära statistik. All värmekraft läggs på biokraftvärme, havsvind uppskattas till en liten andel av vindkraften.
  11. Källverifiering. Under datainsamlingen kunde källdokumenten inte hämtas direkt, bara sökresultat med utdrag. Värden som bekräftats i ett utdrag ur källan har säkerheten "rapporterat", övriga "uppskattning". Alla 78 källor har URL för manuell kontroll (källa 72 är till exempel Riksbankens valutasök).

Uppdatera data

Data ligger i src/lib/data. Lägg till en källa i sources.ts, skriv värdet som en Figure med source, confidence och gärna intervall, och kör pnpm test. Testet vägrar värden utan källa.