The true climate cost of a thing
A life-cycle model that shows its working: every step, and what each step is made of.
A tomato has a number attached to it. Somewhere on the internet you can find out that it is 0.4 kilograms of carbon dioxide equivalent, or 2.1, or 1.4, and none of those sources will tell you why they disagree. They disagree because a footprint is not a measurement. It is the end of a long argument about what to count and who to charge, and publishing only the answer hides the argument.
This model runs the argument in the open. Give it three things: an item, where it was produced, and where it is eaten. It returns the chain as it actually happens: a spine of stages from the field to the bin, with a branching tree under each stage showing where that stage's emissions came from. The branches have branches. A tomato needs fertiliser1, the fertiliser needs ammonia, the ammonia needs natural gas, and getting that gas out of the ground leaks methane2. Four levels down, and every level is a real emission somewhere.
That chain, traced by the same engine the calculator runs. Each box is what the tomato is actually charged for that process, and the total tapers by two orders of magnitude in three steps — which is why a footprint can look complete while a real emission four levels down is still inside it.
The calculator
Twenty items in three groups, food, transport and clothing, across twenty-eight producing regions and four freight modes. It recomputes rather than looking up a stored answer, so any combination works, including the absurd ones. Those are often the instructive ones.
Open the calculator Download code and dataWhat the model says
| Item | kg CO2e | Per | Default route |
|---|---|---|---|
| Food | |||
| Beef, from a dedicated herd | 75.49 | 1 kg as eaten | Brazil to Texas |
| Cheese, hard | 13.18 | 1 kg as eaten | France to New York |
| Chicken | 5.02 | 1 kg as eaten | Brazil to Texas |
| Rice | 3.39 | 1 kg as eaten | India to California |
| Coffee, roasted beans | 3.05 | 1 kg roasted | Colombia to Texas |
| Tomato, heated greenhouse | 2.99 | 1 kg as eaten | Netherlands to New York |
| Almonds | 1.74 | 1 kg as eaten | California to New York |
| Banana | 0.89 | 1 kg as eaten | Peru to New York |
| Tomato, field grown | 0.67 | 1 kg as eaten | Spain to Texas |
| Transport | |||
| Car, petrol | 23.57 | 100 km, one occupant | Germany to Texas |
| Flight, short haul | 21.40 | 100 passenger-km | France to Italy |
| Flight, long haul | 15.81 | 100 passenger-km | New York to China |
| Car, battery electric | 12.81 | 100 km, one occupant | China to Texas |
| Bus, city diesel | 9.52 | 100 passenger-km | Germany to Texas |
| Train, electric intercity | 1.00 | 100 passenger-km | France to France |
| Clothing | |||
| Jeans, denim | 14.85 | 1 pair, whole life | China to California |
| Trainers, synthetic | 10.09 | 1 pair, whole life | Vietnam to New York |
| T-shirt, cotton | 7.09 | 1 shirt, whole life | India to Texas |
| T-shirt, polyester | 4.69 | 1 shirt, whole life | China to Texas |
| Shoes, leather | 3.66 | 1 pair, whole life | Italy to New York |
Three groups, one axis. The point of putting a flight, a pair of jeans and a tomato in the same model is that they can then be asked the same question, and the answers turn out to be commensurable in ways that are hard to see when each lives in its own report. A cotton t-shirt worn for three years costs about what thirty kilometers of driving costs. A pair of trainers costs about half a beefsteak dinner. Whether that is a useful comparison is a separate argument; whether it is an available one is not.
Two of the entries exist mainly to make an argument about method. The electric car is a machine for turning a grid into motion, so it is the one item whose destination matters more than its origin. The same car is a different object in France and in Poland. Production electricity and consumption electricity are charged separately, so the model already distinguishes them. The cheese is the allocation3 argument in its purest form. A dairy cow yields milk and, eventually, meat, and how much of her methane belongs to the milk is a judgement rather than a measurement. For cheese that judgement is the whole answer, because the herd stages are 93% of the kilogram. Every published way of making it is in the figure below, from Flysjö4 and colleagues' comparison of the methods: the same kilogram of French cheese is 10.0 kg CO2e if the cow's meat is credited by system expansion, 13.2 under the International Dairy Federation5's physical split, which is the model's default, and 15.4 if milk carries the whole cow. The spread across the published bases, highest total over lowest, is ×1.54, and nothing a farmer does in this model produces a swing that size. The leather shoe is the same argument where it barely applies. A hide is a co-product of a beef animal too, but the hide stage is 9% of a pair, so moving the hide's share from the economic mean to the physical mean measured by Lunesu6 and colleagues lifts the pair from 3.7 to 4.2 kg, a spread of ×1.17. Allocation decides the answer where the shared stage is the answer, and nowhere else.
Two panels, one axis, one definition. Spread is the highest
total divided by the lowest across the published bases shown: cheese
×1.54, shoes ×1.17. Every bar is one run of the calculator's own
engine with a single number changed on the contested edge. Drawn by
climate-cost/build_allocation_figure.py from
lca.py, with each factor written beside the publication it comes
from.
The two tomatoes are the point of the whole exercise. Heating adds about 2.4 kg CO2e to a kilogram of tomatoes on every route this model runs, against a field tomato's entire footprint of well under one, and what separates them is the growing rather than the journey. Food miles are the thing people reach for and they are usually the wrong lever: a banana crosses eight thousand kilometers by sea and still comes in at under a kilogram, because sea freight costs almost nothing per tonne-kilometer7. Switch that banana to air and it goes up more than tenfold. Distance matters enormously when it goes by air and barely at all when it does not.
Beef is unmoved by anything downstream. Enteric fermentation and land use happen before the animal leaves the farm, so the route is noise against them. No packaging decision and no shipping choice touches a number that is three-quarters methane and cleared forest.
Allocation, which is where the disagreement lives
Every branch carries a multiplier saying what share of that process belongs to the product in the model. A slaughterhouse also makes leather and tallow. A dairy cow also becomes beef. A coffee mill also sells pulp. Charging the whole burden to the one output you happen to care about is a choice, and in almost every published footprint it is an invisible one.
Two careful studies of the same cheese can differ by half again without either being wrong, because one credited the cow's meat by system expansion and the other charged the milk with the whole herd; the published bases run from 63% to 100% of the cow. The allocation factor is a judgement, it changes the answer, and it should be visible. Here it sits on every edge, and it compounds down the chain, so a process four levels deep may contribute only a third of what it emits.
Lifetime, which is allocation wearing a different hat
A car’s factory does not belong to any one journey. Neither does an airframe. What a per-kilometer figure actually charges you is one part in a lifetime — the vehicle divided by the distance it will cover before it is scrapped — and that lifetime is an assumption rather than a measurement. It is also the assumption those figures are most sensitive to, and the one most often buried in a constant.
So for the vehicles it is a control. Move it and the manufacturing share moves inversely: a petrol car retired at a hundred thousand kilometers carries roughly twice the factory per kilometer as the same car driven to four hundred thousand. The effect is larger for an electric car, which carries more of its burden in manufacture and less in fuel, which is exactly why the lifetime question matters more there. For a flight the same control is the airframe’s life in passenger-kilometers — seats times load factor times distance flown — so what the model charges you is your share of building the aircraft, divided the same way your share of the fuel is. Every default reproduces the published figure exactly; the control exists so the assumption can be argued with rather than inherited.
How it is checked
Every total is compared against the ranges in the published literature8 rather than against a single figure, because these are distributions across thousands of farms and a point estimate would be false precision. All twenty items land inside their bands. The tree is checked to sum at every node, allocation is checked to compound correctly down each chain, and the levers are checked to move the answer in the direction physics says they should.
One test exists because of a bug that hid well. Production-side electricity was being charged at the consuming region's grid intensity, so a French dairy looked dirty when someone in India ate the cheese. It is invisible in any single run the number just looks slightly high, and only shows up when you change the destination and something moves that has no business moving. There is now a test that walks every production stage and fails if any of them draws power from the wrong grid.
Sources
- IPCC, 2019 Refinement to the 2006 Guidelines for National Greenhouse Gas Inventories, Volume 4 Chapter 11 - direct and indirect nitrous oxide from managed soils.The emission factor for nitrogen applied to soils.
- IPCC, Sixth Assessment Report, Working Group I Chapter 7, Table 7.15 - global warming potentials.Methane at 27 and nitrous oxide at 273 over a century.
- ISO 14044:2006, Environmental management - Life cycle assessment - Requirements and guidelines, clause 4.3.4.The allocation hierarchy: avoid, then physical, then economic.
- Flysjö, Cederberg, Henriksson & Ledgard, International Journal of Life Cycle Assessment 16:420, 2011 - how does co-product handling affect the carbon footprint of milk? Table 1.Milk-to-meat allocation by physical (85-86%), economic (88-92%), protein (93-94%) and mass (98%) bases, and 63-76% by system expansion.
- International Dairy Federation, A common carbon footprint approach for the dairy sector, Bulletin 479, 2015, pp. 34-36.The physical allocation formula AF = 1 - 6.04 x BMR and the 88% milk share at a typical beef-to-milk ratio of 0.02.
- Lunesu, Correddu, Carta, Sechi, Farina & Pulina, Animals 15:3546, 2025 - attributing farm-to-slaughter emissions to hides.Hide share of the animal: 2.7% by economic allocation (2023 mean), 5.9% by live weight (range 4.2-6.9%).
- UK Department for Energy Security and Net Zero, Greenhouse gas reporting: conversion factors, 2023.Freight emission factors by mode.
- Poore & Nemecek, Science 360:987, 2018 - reducing food’s environmental impacts through producers and consumers.Per-kilogram footprints and the spread within each food.