Concepts

CO₂e, and what a factor's numbers mean

Publishers report the same kind of factor in two incompatible ways. Getting this wrong multiplies methane by about 28 a second time, and the result still looks like a reasonable number.

On this page you'll learn

  • How per-gas masses become CO₂e
  • Why DEFRA's per-gas columns are not masses at all
  • How Slate records which kind each row is
Per-gas masses
US EPA (except Hub Table 9), IPCC
Pre-calculated CO₂e
UK DEFRA, Canada ECCC, Ember, EPA WARM, EPA Hub Table 9
Stored as
co2e_is_precomputed on each release; gas_basis on each row

Two kinds of factor

  • Per-gas masses

    The publisher gives kg of CO₂, and kg (or g) of CH₄ and N₂O, per unit of activity. Slate applies your organisation's GWP set to combine them. EPA prints CO₂ in kilograms and CH₄ and N₂O in grams on the same row; Slate converts the grams once at import.

  • Pre-calculated CO₂e

    The publisher has already applied a GWP set. DEFRA's "kg CH₄" column is really kg CO₂e from CH₄. Slate never applies a GWP set to these again.

CO₂e = Σ (activity × factorᵍ × GWPᵍ) per-gas masses
activity
your quantity, converted onto the factor's unit
factorᵍ
kg of gas g per unit
GWPᵍ
from your organisation's GWP set
CO₂e = activity × published CO₂e total pre-calculated

The same boiler, both ways

Worked examplePer-gas factor under AR5
CO₂: 1,000 kg × 1
1,000.00
CH₄: 0.1 kg × 28
2.80
N₂O: 0.01 kg × 265
2.65
Total, kg CO₂e
1,005.45

The same masses under AR6 give 1,000 + 0.1 × 29.8 + 0.01 × 273 = 1,005.71 kg CO₂e.

The double-GWP trap

If a pre-calculated CH₄ value of 2.8 kg CO₂e were treated as 2.8 kg of methane, it would become 78.4 kg CO₂e. Nothing about the result looks wrong. Slate branches on the release's co2e_is_precomputed flag before any arithmetic, so the two paths can't mix.

When the publisher gives a total

Where a pre-calculated row includes the publisher's own CO₂e total, Slate uses that total rather than adding the gases up. Each figure is rounded separately by the publisher, so the sum can differ in the last digit, and the published total is what an auditor reconciles against. The small difference is stored as sum_check_delta.

How the result is labelled

Every calculated row records its gas_basis: gas_mass when the per-gas columns are kilograms of each gas, co2e_per_gas when they are CO₂e attributable to each gas. The two must never be summed across rows, and Slate's tables label their columns from this field.

A supplier's market-based electricity figure is a single CO₂e number with no gas split. Slate leaves the per-gas columns empty rather than putting the whole total under CO₂.