Flight Emissions Calculator

bartvm1 pts0 comments

GitHub - bartvm/flight-emissions: Implementation of different flight emission calculation methodologies in Python · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

bartvm

flight-emissions

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>16 Commits<br>16 Commits

data

data

ghgc

ghgc

scripts

scripts

tests

tests

.gitignore

.gitignore

LICENSE

LICENSE

README.md

README.md

pyproject.toml

pyproject.toml

View all files

Repository files navigation

Flight emissions calculator

This repository contains re-implementations of methods used to calculate the greenhouse gas (GHG) emissions of a single flight and/or a single seat on a flight. There are a lot of different ways of doing this.

Warning<br>This code was written several years ago and is provided as-is, without any guarantees of correctness or fitness for any purpose. Some of the bundled datasets (e.g., EUROCONTROL's small emitters tool data, ICAO fuel burn tables) are a few years old and may no longer reflect the latest fleet or emission factors. The data loaders in ghgc/methods/ and ghgc/airports.py document where each dataset comes from, so they should be relatively easy to refresh with newer releases if needed.

Usage

To estimate the footprint of a single passenger on a flight, the Travel CO2 method only needs the origin, destination, seating class, and whether the flight is scheduled or chartered:

from ghgc.aircraft import Class<br>from ghgc.airports import load_airports<br>from ghgc.flights import Flight, Service<br>from ghgc.methods.travelco2 import air

airports = {airport.iata_code: airport for airport in load_airports()}

flight = Flight(<br>origin=airports["AMS"],<br>destination=airports["SFO"],<br>class_=Class.ECONOMY,<br>service=Service.SCHEDULED,

co2e = air(flight)<br>print(co2e.to("kg")) # 1173.98 kilogram

Flight, Aircraft, and Airport are plain dataclasses, so they can be constructed directly without loading any of the bundled datasets. Quantities are returned as pint Quantity objects, which can be converted to other units (e.g., .to("kgCO2e")).

Methods that take the specific aircraft and its seating layout into account, such as ICAO's, can give a more accurate estimate at the cost of needing more information:

from ghgc.aircraft import Aircraft, Class<br>from ghgc.methods.icao import icao_pax

flight.aircraft = Aircraft(<br>name="Boeing 787-9",<br>iata_code="789",<br>type_=Aircraft.Type.WIDE_BODY,<br>seating={Class.ECONOMY: 250, Class.PREMIUM_ECONOMY: 30, Class.BUSINESS: 30},

co2e = icao_pax(flight)<br>print(co2e.to("kg")) # 438.56 kilogram

Note how much these numbers can differ: the Travel CO2 estimate above is roughly 2.7x higher than the ICAO one, mostly because it adds well-to-tank emissions and a non-CO₂ multiplier for effects like contrails, while the ICAO method here only accounts for the CO₂ from fuel burnt. Always check what a calculator does and doesn't include before comparing numbers between methods.

Supported methods

Methods for apportioning a flight's emissions to a single passenger:

UK's GHG reporting (ghgc.methods.uk_ghg)

Google's Travel Impact Model (ghgc.methods.google)

IATA's RP 1726 methodology (ghgc.methods.iata)

ICAO's methodology (ghgc.methods.icao)

Travel CO2's methodology (ghgc.methods.travelco2)

Methods for estimating the fuel burn and CO₂ emissions of a flight itself, used as a building block by some of the methods above:

EUROCONTROL's small emitters tool (ghgc.methods.eurocontrol)

The Tier 3A method from the EEA/EMEP air pollutant emission inventory guidebook (ghgc.methods.emep_eea)

Background

Flight emissions

Calculating the emissions of a single flight usually starts with a bottom-up approach. Tools such as EUROCONTROL's Advanced Emission Model (AEM) or Piano-X take in details such as the engines, airframe, flight trajectory, taxi times, atmosphere, etc. and are able to output an accurate estimate of the amount of fuel burnt and compounds emitted.

In turn, these tools are based on datasets such as EUROCONTROL's Base of...

flight ghgc methods emissions from aircraft

Related Articles