GWP values and IPCC report versions (AR4, AR5, AR6)
Numbers checked against the live data on
A global warming potential (GWP) converts one kilogram of a gas into kilograms of CO2e. The IPCC revises those multipliers in each assessment report, so a factor characterised under AR4 and one characterised under AR6 are not on the same scale. The data keeps each publisher's number as printed, adds an AR6 version where the conversion is exact, and flags the rows where it is not.
What a GWP is#
A GWP compares the warming of a gas with the warming of the same mass of CO2 over a time horizon. The horizon matters as much as the report:
- GWP100 (100 years) is the reporting default in the GHG Protocol and in CSRD. Every default row in the data uses it.
- GWP20 and GWP500 answer different questions. Methane counts far more over 20 years than over 500.
CO2 is 1 under every report and every horizon. The multipliers that move are the other gases:
| Gas | AR4 | AR5 | AR6 |
|---|---|---|---|
| Fossil methane (CH4) | 25 | 30 | 29.8 |
| Biogenic methane (CH4) | 25 | 28 | 27.0 |
| Nitrous oxide (N2O) | 298 | 265 | 273 |
The values are the IPCC GWP100 figures without climate-carbon feedback, as used by the GHG Protocol: AR4 Table 2.14, AR5 Table 8.7, AR6 Table 7.15. AR4 predates the fossil and biogenic methane split, so both sit on its single 25. The moves are not all in the same direction: from AR5 to AR6 nitrous oxide gains, methane loses.
Native and normalised values#
Every row carries two headline values:
value_co2e_nativeis the value on the report named ingwp_method_native. It is the publisher's own number whereveris_derivedis false, and our sum over the parts that publisher printed where it is true.value_co2e_normalizedis the same activity expressed on AR6 GWP100, for comparing and adding across libraries.gwp_method_normalizednames the report it is really on, or readsmixedwhen a total's legs were published on different reports.
gwp_normalization_basis tells you how the normalised value was obtained. It has four values.
gwp_normalization_basis |
Meaning | Safe to add across libraries |
|---|---|---|
native |
The publisher already used AR6 GWP100. The normalised value is a copy. | Yes |
invariant |
The value is pure CO2, so it is the same under every report. | Yes |
recharacterized |
We converted each non-CO2 gas from the publisher's report to AR6, and applied the difference to the publisher's total. | Yes |
unconverted |
No exact conversion exists. The normalised value repeats the native one, still under the native report. | No |
Watch out. An
unconvertedrow is not an AR6 value. Itsvalue_co2e_normalizedis filled, but it only repeats the native value, so it still stands on whatevergwp_method_normalizedreads:ar4,ar5, or themixedcarried by the 47 DESNZ totals described below. The test for "comparable" isgwp_normalization_basisother thanunconverted, notgwp_method_normalizedequal toar6: a 20-year AR6 value is honestly AR6 and still not comparable with a 100-year one.
How a recharacterisation works#
Take the DESNZ combustion factor for a managed executive diesel car, per km. DESNZ publishes it under AR5 as 0.1689 kg CO2e, with a nitrous oxide leg of 0.00167. Dividing that leg by the AR5 multiplier (265) gives the mass of N2O. Multiplying by the AR6 multiplier (273) gives 0.00172. The methane leg moves the other way and by far less: fossil methane goes from 30 to 29.8, so that leg shrinks. The sum of the two differences is added to the published total, which gives 0.16895 on AR6.
The total is never re-added from its gas legs. A publisher's total does not always equal the sum of the legs it discloses, and applying only the difference keeps everything the new report does not affect exactly as published. Find the row in factor search: DESNZ managed cars.
DESNZ also prints that same combustion value as one leg of a well-to-use total for an executive diesel car. That row does not convert: its upstream-fuel leg carries no gas split, so the whole family stays unconverted under the rule below.
Why some rows stay unconverted#
The data refuses to guess. A row stays unconverted when:
- The publisher discloses only a total. With no per-gas legs there is nothing to re-weight. No EXIOBASE row carries a gas leg, which is why all 8,064 of its default factors stay unconverted, and U.S. EPA's 183 AR4 rows stay unconverted for the same reason.
- The horizon is not 100 years. A 20-year value answers another question; it is not the same answer under a newer report.
- The report is unknown. With no starting multiplier there is nothing to convert from.
- The value is split by carbon origin, not by gas. A fossil, biogenic or land-use figure mixes several gases, so no single multiplier applies.
- A leg is a basket. HFCs, PFCs and "other gases" group species with very different multipliers.
A decomposition is also kept on one basis: if some parts of a total can be converted and others cannot, the whole family stays unconverted, so its parts still add up to its total.
Which library uses which report#
Default top-level factors in the libraries the examples in these docs are drawn from. It is not the whole of factor search: the Libraries page is the current list, and DESNZ is not the only library whose rows are recharacterised.
| Library | gwp_method_native |
gwp_normalization_basis |
Factors |
|---|---|---|---|
| ADEME | ar6 |
native |
2,767 |
| Open CEDA | ar6 |
native |
59,538 |
| USEEIO | ar6 |
native |
392 |
| MITECO | ar6 or none |
native (561), invariant (169) |
730 |
| AIB | none |
invariant |
34 |
| U.S. EPA | ar6 or ar4 |
native (177), unconverted (183) |
360 |
| DESNZ | ar5 or mixed |
recharacterized (236), unconverted (896) |
1,132 |
| AGRIBALYSE | ar5 |
unconverted |
2,451 |
| ÖKOBAUDAT | ar5 |
unconverted |
4,189 |
| EXIOBASE | ar5 |
unconverted |
8,064 |
AGRIBALYSE and ÖKOBAUDAT publish carbon-origin splits rather than per-gas legs, which is why they stay unconverted.
DESNZ's mixed is not a report. It marks 47 well-to-use totals for biofuel, biogas and biomass whose legs DESNZ published on different IPCC tables: AR5 for the combustion leg, AR4 for the upstream-fuel leg. DESNZ prints no well-to-use total for them, so each of the 47 is our sum of its legs and carries is_derived. That is the only place mixed comes from: a mix of reports is a property of a sum, never of a published number. The total stands on no single report, so all 47 stay unconverted.
One factor, several GWP values#
Some publishers ship the same factor under several reports and horizons. EXIOBASE does: for animal products in France, per euro spent, the 2025 values include 6.77 kg CO2e on AR4 GWP20, 1.32 on AR4 GWP500, 3.23 on AR5 GWP100, and four AR4 GWP100 values between 2.93 and 3.08, one per characterisation model. They are alternatives, never parts: you pick one, you never add them. Pick the AR5 GWP100 value, which is the default row. The four AR4 GWP100 twins are not separable on the surfaces you read them from: the characterisation model that tells them apart is not served on the factor page, in the export or in the API, so nothing there says which of the four you would be taking. See the factor page.
What to do with unconverted rows#
- Inside one library, add
value_co2e_nativeand state the report you used. Readgwp_method_nativeper row, not per library: DESNZ carriesar5,mixedandar4(its 47 upstream-fuel legs), U.S. EPA carriesar6andar4. - Across libraries, add
value_co2e_normalizedonly on rows whose basis is notunconverted. Leave the others out and say how many you left out. - Never substitute the native value for a missing AR6 value in a cross-library total. That produces exactly the mixed-report total the normalised column exists to prevent.
Factor search's gwp_method filter narrows a result list by the report the normalised value stands on, not by the publisher's own: AR6 factors includes the 236 DESNZ rows recharacterised from AR5, and ?gwp_method=ar5 leaves them out. Read gwp_method_native per row for the report the publisher used.