Skip to content
This repository has been archived by the owner on Oct 17, 2020. It is now read-only.
/ bytes-to-co2 Public archive

Get the estimated carbon footprint based on the size of the files sent over the network.

License

Notifications You must be signed in to change notification settings

dvelasquez/bytes-to-co2

Repository files navigation

DEPRECATED

This package is now developed in https://github.com/dvelasquez/carbon-tools

bytes-to-co2

Calculate the co2 footprint (carbon dioxide released to the atmosphere) of transmitting an x amount of bytes over the internet.

Transport data over the internet requires energy (datacenters, repeaters, switches, etc) and how this energy is different from country to country. This is known as the "co2 emission intensity". Each country have different ways to produce electricity (solar, wind, coal, diesel, nuclear, etc) and each one of these releases to the atmosphere a different amount of Carbon Dioxide (co2), therefore transmit x amount of data will release a y amount of co2.

This module has the information of the European energy grid from 1990 to 2016. More countries will be added later.

Usage

Install the package using yarn add bytes-to-co2 or npm install bytes-to-co2

Import the library and call the function as shown:

import { byteToCo2 } from "bytes-to-co2";

//Only with asset size
const europeanUnion = byteToCo2({ byteSize: 1000000 }); // 0.4972508177161217
const uk = byteToCo2({ byteSize: 1000000, country: 'United Kingdom' }); // 0.47253957018256193
const sweden = byteToCo2({ byteSize: 1000000, country: 'Sweden' }); // 0.022357795387506485
const spain = byteToCo2({ byteSize: 1000000, country: 'Spain' }); // 0.4461472854018211

Contributing

If anything in the way I'm calculating the footprint looks odd to you, please feel free to open an issue or PR. Any feedback or improvements in the way the co2 is calculated is welcomed.