Ślad węglowy strony: jak liczę SWDM v4

Maciej Zmitrukiewicz · materiał do artykułu Ślad węglowy strony internetowej: kalkulator

To materiał do artykułu. Pokazuję tu wzór SWDM v4, którego używa kalkulator, i sześć przykładów, na których go sprawdzam. To obliczenie z modelu, więc wynik mówi, ile emisji model przypisuje stronie, a energię strony trzeba by zmierzyć osobno.

Na co patrzyłem

Wziąłem współczynniki SWDM v4 z opisu metody i ze stałych w bibliotece CO2.js. Dla części operacyjnej to 0,055 kWh/GB dla centrum danych, 0,059 dla sieci i 0,080 dla urządzenia. Emisje wbudowane, czyli produkcję sprzętu, model wyraża jako ekwiwalent energii: 0,012, 0,013 i 0,081. Bazowa konwersja to 494 g CO₂e/kWh.

Arytmetykę napisałem sam w krótkim skrypcie, bez uruchamiania CO2.js, żeby kalkulator w artykule miał niezależny punkt odniesienia.

D = bajty / 1 000 000 000
F = udział pierwszych wizyt + udział powrotów × udział danych pobieranych ponownie

C = F × D × [
  0.055 × I_dc × (1 - hosting_factor)
  + 0.059 × I_network
  + 0.080 × I_device
  + (0.012 + 0.013 + 0.081) × 494
]

Udział pierwszych wizyt i powrotów sumuje się do jedności. Zielony hosting (hosting_factor) zmniejsza tylko operacyjną część centrum danych.

Przypadki kontrolne

Scenariuszg CO₂e / modelowaną wizytę
1 MB, pierwsza wizyta0,148200
1 MB, hosting factor 10,121030
1 MB, 50% pierwszych / 50% powrotów, 20% reload0,088920
Ten sam mix + hosting factor 10,072618
2 MB, pierwsza wizyta0,296400
1 MiB = 1 048 576 B0,155399

Sześć miejsc po przecinku trzymam tylko po to, żeby testy łapały każdą zmianę w arytmetyce. W tekście dla ludzi pisz „około 0,15 g CO₂e”.

Czego te dane nie pokażą

Pliki

Żeby to powtórzyć, uruchom python3 reproduce.py (wystarczy sam Python, bez pakietów i bez sieci).

Źródła modelu

Wróć do artykułu