what is this?

This is a small Python and JavaScript web application to visualise how much carbon I use on personal transportation and home energy. This graph is based on artist Ellie Harrison's Carbon Graph in her book The Glasgow Effect: A Tale of Class, Capitalism & Carbon Footprint, second edition (Edinburgh: Luath Press Ltd., 2021).

Caveat: The concept of a "personal carbon footprint" is itself propaganda for fossil fuel companies in order to shift responsibility for reducing worldwide carbon emissions on to the individual rather than the small number of corporations actually responsible for the majority of the world's fossil fuel usage. The idea was popularised by a 2004 marketing campaign of BP designed by PR firm Ogilvy & Mather (Kaufman, 2020). BP made no attempt to reduce their carbon footprint.

data source

The application has two possible sources for its carbon data and this can be set in the .env file. The first is 'manual' where data can be entered manually into ./web/app/static/data/energy.json and ./web/app/static/data/transport.json. The second is 'sheets' where data can be entered in a Google Sheets spreadsheet which the application reads in real-time.

In both cases, a spreadsheet is required to log carbon data and to perform the calculations necessary to determine how many metric tonnes of carbon are used in a given month. An example of this spreadsheet is provided at https://docs.google.com/spreadsheets/d/1mXDu0n35GbiX0aDElwb-EsXQFUklLpTbXZ8VfNKHwu0/edit?usp=sharing.

transportation

Based on my existing records and calendar entries, I've entered every journey I've made on public or private transport into a spreadsheet (with some estimates for an approximate number of commutes prior to Covid-19 based on number of working days that year). Distances of journeys are calculated using:

The spreadsheet converts each journey to kilometres (if not already entered in kilometres) and totals the monthly distance for each mode of transportation.

The total monthly distance in kilometres for each transportation mode is then multiplied by the conversion factors for that year issued by the UK Government (most recently by the Department for Energy Security and Net Zero in June 2023). The kg CO2e (kilograms of carbon dioxide equivalent) conversion factors take into account the impact of the seven main greenhouse gases that contribute to climate change as defined by the Kyoto Protocol. The greenhouse gases are:

The total kilograms of carbon dioxide equivalent for each transportation mode is then divided by 1000 to get the total weight in metric tonnes and data. The application reads that data, sums the data for each year, parses it using Python into the format required by Chart.js, and passes it to JavaScript to use Chart.js to render charts.

energy

Home energy carbon usage is similarly based on existing records of gas and electricity meter readings sent to my energy provider. Gas consumption in kWh for each period is based on historical records from my energy supplier and their conversion of cubic feet of gas to kWh working out as approximately 32 kWh per ft3 of gas. Electricity consumption uses a one-to-one conversion between meter readings and kWh.

As above, the total kWh for each energy mode for each month is then multiplied by the conversion factors for that year issued by the UK Government (most recently by the Department for Energy Security and Net Zero in June 2023).

The total kilograms of carbon dioxide equivalent for each energy mode is then divided by 1000 to get the total weight in metric tonnes and data. The application reads that data, sums the data for each year, parses it using Python into the format required by Chart.js, and passes it to JavaScript to use Chart.js to render charts.

server

I've also included an estimated figure for the annual energy consumption of my personal Virtual Private Server used to host this site (and other sites and services that I use). This figure is set in the .env file and is based on the calculation for a cloud server using non-green electricity in a GoClimate blog post from 11 October 2022.