Code lists

Every closed code list the loader validates against. A value outside these sets halts the ingest (UnmappedSourceValue): an adapter never invents a code and never falls back to unknown. Adding one is a deliberate migration plus a seed update.

Six of these lists are also spreadsheets, regenerated whenever a list changes: categories.xlsx, system-boundaries.xlsx, classification-schemes.xlsx, units.xlsx, licence-terms.xlsx and, for the regions, geography.xlsx. Each opens with an About sheet that names the page explaining it.

system_boundary: 55 codes#

The column that keeps wrong numbers out: it is the position on the decomposition axis, not a label. Aggregate only over family <> 'contribution': a contribution is a part of its parent factor and is never reported alone. unknown is explicit ignorance, never a fallback.

family asset_stage (16)#

code name standard means
A1 Raw material supply en15804 EN 15804 module A1: raw material supply (product stage).
A2 Transport to manufacturer en15804 EN 15804 module A2: transport of raw materials to the manufacturer (product stage).
A3 Manufacturing en15804 EN 15804 module A3: manufacturing (product stage).
A4 Transport to site en15804 EN 15804 module A4: transport of the finished product to the construction site.
A5 Installation en15804 EN 15804 module A5: installation of the product into the building.
B1 Use en15804 EN 15804 module B1: use of the installed product.
B2 Maintenance en15804 EN 15804 module B2: maintenance.
B3 Repair en15804 EN 15804 module B3: repair of the installed product (use stage).
B4 Replacement en15804 EN 15804 module B4: replacement.
B5 Refurbishment en15804 EN 15804 module B5: refurbishment.
B6 Operational energy use en15804 EN 15804 module B6: operational energy use.
B7 Operational water use en15804 EN 15804 module B7: operational water use.
C1 Deconstruction and demolition en15804 EN 15804 module C1: de-construction / demolition (end-of-life).
C2 Transport to waste processing en15804 EN 15804 module C2: transport to waste processing (end-of-life).
C3 Waste processing en15804 EN 15804 module C3: waste processing for reuse/recovery/recycling (end-of-life).
C4 Disposal en15804 EN 15804 module C4: disposal (end-of-life).

family contribution (17)#

code name standard means
agriculture Agriculture open_ef Contribution slice: agricultural production stage of the parent factor's total. Never reported alone.
processing Processing open_ef Contribution slice: processing/transformation stage of the parent factor's total. Never reported alone.
packaging Packaging open_ef Contribution slice: packaging stage of the parent factor's total. Never reported alone.
transport Transport open_ef Contribution slice: transport/logistics stage of the parent factor's total. Never reported alone.
distribution Distribution and retail open_ef Contribution slice: retail storage and distribution stage of the parent factor's total. Never reported alone.
consumption Consumer use open_ef Contribution slice: consumer use/preparation stage of the parent factor's total. Never reported alone.
land_use_change Land-use change open_ef Contribution slice: emissions and removals from land-use change attributed to the product (dLUC/sLUC): above- and below-ground carbon stock change on land converted for this production. Never reported alone; it is the single most commonly separated agricultural component and is published as its own line by ADEME, Agribalyse, GLEAM and GFLI. Whether a whole boundary INCLUDES this burden is not a scope term but a property of the value: read value_co2_luluc_native and co2e_basis.
inputs Raw materials and inputs open_ef Contribution slice: raw materials and other inputs (ADEME 'Intrants') of the parent factor's total. Never reported alone.
manufacturing Manufacturing open_ef Contribution slice: manufacturing/assembly stage (ADEME 'Fabrication') of the parent factor's total. Never reported alone.
energy_use Production energy open_ef Contribution slice: energy consumed during production (ADEME 'Energie') of the parent factor's total. Never reported alone.
amortization Capital goods amortization open_ef Contribution slice: capital goods (plant, buildings, vehicles) amortized over the parent factor's output, e.g. ADEME's 'Amortissement' and UBA AT's 'Fahrzeugherstellung'. Usually published beside the total it decomposes, but not always: a publisher may print the slice with no total, in which case the aggregate is derived and never invented.
collection Waste collection open_ef Contribution slice: waste collection stage (ADEME 'Collecte') of the parent factor's total. Never reported alone.
treatment Waste treatment open_ef Contribution slice: waste treatment stage (ADEME 'Traitement') of the parent factor's total. Never reported alone.
incineration Incineration open_ef Contribution slice: incineration stage (ADEME 'Incinération') of the parent factor's total. Never reported alone.
avoided_credit Avoided-emission credit open_ef Contribution slice: an avoided-emission credit the publisher states as its own signed number: the burden a recovery route displaces elsewhere (recycled material substituting virgin, recovered energy substituting grid supply). It is NOT netted into the parent's treatment total, so summing it with the parent double-counts. The generic counterpart of EN 15804 module D, for publishers that declare a credit outside an EPD.
other Other stages open_ef Contribution slice: residual stage the publisher does not itemize (ADEME 'Autre'). Never reported alone.
D Benefits and loads beyond the boundary en15804 EN 15804 module D: benefits and loads beyond the system boundary (reuse/recovery/recycling potential). A signed credit, never added to the A-C total.

family energy_stage (8)#

code name standard means
combustion Combustion (tank-to-wheel) open_ef Direct emissions from burning the fuel at the point of use (tank-to-wheel). The buyer's Scope 1.
upstream_fuel Upstream fuel (well-to-tank) open_ef Extraction, refining and transport of the fuel before it is burned (well-to-tank). The buyer's Scope 3 category 3.
generation Generation open_ef Combustion at the generating plant for purchased energy carriers. The buyer's Scope 2.
transmission_distribution Transmission and distribution losses open_ef Grid or network losses between generation and the point of use. The buyer's Scope 3 category 3.
transmission_distribution_upstream Upstream of transmission and distribution losses open_ef Upstream (well-to-tank) of the energy a grid or network loses between generation and the point of use: extraction, refining and transport of the fuel that generated the lost energy. The companion of transmission_distribution, which prices the lost energy's own generation; together they are the loss leg of the buyer's Scope 3 category 3, and neither is a total on its own.
fugitive Fugitive releases open_ef Unintended releases (leaks, venting, process escapes) attributable to the activity.
well_to_use Well-to-use (upstream, burn or generation, network losses) open_ef One unit of energy as consumed, priced from the well to the point of use: the well-to-tank chain plus the burn for a fuel; generation, its well-to-tank and the transmission and distribution losses for a delivered carrier (electricity, steam or hot water, chilled water). ISO 14083's well-to-wheel, which reads the network losses into an electric vehicle's factor, generalised to stationary energy; in GHG Protocol terms the buyer's Scope 1 or Scope 2 plus the fuel- and energy-related part of Scope 3 category 3. The asset that burns or generates is outside. The upstream chain and the network losses are answered per factor by boundary_profile, since a publisher may print the delivered carrier without its well-to-tank or a fuel without its network; the burn or the generation is in on every factor.
energy_lifecycle Energy, full life cycle (fuel cycle and asset) open_ef Full life-cycle emissions of one unit of energy service: a kWh generated or a vehicle-, passenger- or tonne-kilometre moved: extraction and delivery of the fuel or electricity, its combustion in the plant or vehicle, and the manufacture of the generating asset or vehicle itself amortized over its lifetime output. The asset is exactly what separates it from well_to_use and generation, which put it outside. Excludes the shared network the energy travels on (grid losses, roads, rail, ports, airports); whether the asset's own maintenance rides inside the capital-goods leg is the publisher's choice, so read the factor's boundary_profile.

family lifecycle (13)#

code name standard means
cradle_to_gate Cradle to gate open_ef Extraction of raw materials through production, up to the producer's factory gate. Excludes distribution, use and end-of-life.
cradle_to_grave Cradle to grave open_ef Full life cycle: cradle_to_gate plus distribution, use phase and end-of-life.
cradle_to_grave_embodied Cradle to grave, embodied (excl. use) open_ef The whole life cycle EXCEPT the use stage: cradle_to_gate plus distribution to site, installation and end-of-life (EN 15804 A1-A3 + A4 + A5 + C1-C4). This is the industry's embodied carbon cut, and it exists as its own code because it is the only whole-life number that compares across products: a cradle_to_grave total built from EN 15804 is dominated by module B6, operational energy over a reference service life, which is a property of the building the product sits in rather than of the product. Measured over the 1,530 OEKOBAUDAT EPDs declaring a complete A+B+C set, A-C is a median 29.3x the gate and B6 alone a median 19.1x; this cut is a median 1.09x.
epd_total EPD total (declared modules) en15804 The sum of every EN 15804 module an EPD declares, when that set is not the complete A-C grid (MOD-0034). Always at least the product stage A1-A3 plus one more module; which modules it holds is per factor and is written on the parent's boundary_profile and its member links, never on this code. It exists because an EPD that declares, say, A1-A5 + B6 + C1-C4 has a publisher-defined total that is neither cradle_to_grave (B1-B5, B7 missing) nor cradle_to_grave_embodied (B6 present); the name says what this EPD declared rather than pretending to a standard envelope. Declared-partition only: never a cover-rule target, and never compared across products without reading the profile.
cradle_to_consumer Cradle to consumer open_ef Cradle through to the product as consumed, including consumer preparation. Excludes end-of-life.
cradle_to_farm_gate Cradle to farm gate open_ef Agricultural production only, up to the farm gate.
cradle_to_processing_gate Cradle to processing gate open_ef Cradle_to_farm_gate plus processing/transformation.
cradle_to_plant_gate Cradle to plant gate open_ef Cradle to the gate of the plant that produces a FEED material: the GFLI compound-feed boundary. Deliberately not cradle_to_processing_gate: the animal production stage is entirely outside, so reusing the processing-gate code would claim a farm stage that was never modelled.
cradle_to_packaging_gate Cradle to packaging gate open_ef Cradle_to_processing_gate plus packaging.
cradle_to_distribution_gate Cradle to distribution gate open_ef Cradle_to_packaging_gate plus transport to the point of sale.
cradle_to_store_gate Cradle to store gate open_ef Cradle_to_distribution_gate plus retail storage and distribution.
cbam_embedded CBAM embedded emissions eu_cbam Embedded emissions of a CBAM good as the EU defines them: the direct emissions of the production processes at the installation (the EU ETS installation boundary), the indirect emissions of the electricity those processes consume, and the embedded emissions of the relevant precursors. Deliberately NOT cradle_to_gate: the fuels' upstream (well-to-tank), transport of inputs to the installation, and capital equipment and infrastructure are all outside it.
end_of_life End of life open_ef Treatment of the product after use: collection, recycling, incineration, landfill. EN 15804 modules C1-C4 together.

family unknown (1)#

code name standard means
unknown Unspecified open_ef The publisher states no boundary and none can be derived. Explicit ignorance, never a fallback for an unmapped value.

Life-cycle coverage (55 codes, MOD-0032)#

Which of the four phases each boundary covers, declared per code in ingest/lifecycle_coverage.py and stored on system_boundary.phase_*, role and preset. A phase reads full, partial, none, unstated (the publisher's silence) or n_a (a phase the product has no such thing as); the last two are never none. role says whether the number is a whole answer, a part to add to others, a credit to keep apart or unknown. preset is the reader-facing group the explorer's boundary filter draws as a parent; each code sits under exactly one, and a preset's role is the role of every code under it. A part's topic is the sub-heading the rail files it under (empty for the residual part that belongs to none).

preset role topic name codes
cradle_to_gate whole Cradle to gate cradle_to_gate, cradle_to_farm_gate, cradle_to_processing_gate, cradle_to_plant_gate, cradle_to_packaging_gate, cbam_embedded
cradle_to_shelf whole Cradle to shelf cradle_to_distribution_gate, cradle_to_store_gate, cradle_to_consumer
full_lifecycle whole Full life cycle cradle_to_grave, cradle_to_grave_embodied, epd_total
end_of_life_waste whole End of life / waste end_of_life
energy_full_chain whole Energy, full chain well_to_use, energy_lifecycle
direct_only part energy Direct only combustion, fugitive, generation
supply_chain_only part energy Supply chain only upstream_fuel, transmission_distribution, transmission_distribution_upstream
upstream_slice part products Upstream slices A1, A2, agriculture, inputs, amortization, land_use_change
production_slice part products Production slices A3, processing, manufacturing, packaging, energy_use
use_slice part products Use & distribution slices A4, A5, B1, B2, B3, B4, B5, B6, B7, distribution, consumption, transport
eol_slice part waste End-of-life slices C1, C2, C3, C4, collection, treatment, incineration
other_slice part Other, unspecified slice other
credit credit Credit D, avoided_credit
unknown unknown Unknown unknown
code upstream production downstream eol role preset
cradle_to_gate full full none none whole cradle_to_gate
cradle_to_farm_gate full partial none none whole cradle_to_gate
cradle_to_processing_gate full partial none none whole cradle_to_gate
cradle_to_plant_gate full full none none whole cradle_to_gate
cradle_to_packaging_gate full full none none whole cradle_to_gate
cbam_embedded partial partial none none whole cradle_to_gate
cradle_to_distribution_gate full full partial none whole cradle_to_shelf
cradle_to_store_gate full full partial none whole cradle_to_shelf
cradle_to_consumer full full partial none whole cradle_to_shelf
cradle_to_grave full full full full whole full_lifecycle
cradle_to_grave_embodied full full partial full whole full_lifecycle
epd_total full full partial partial whole full_lifecycle
end_of_life none none none full whole end_of_life_waste
well_to_use full full n_a n_a whole energy_full_chain
energy_lifecycle full full n_a n_a whole energy_full_chain
combustion none full n_a n_a part direct_only
fugitive none full n_a n_a part direct_only
generation none full n_a n_a part direct_only
upstream_fuel full none n_a n_a part supply_chain_only
transmission_distribution full none n_a n_a part supply_chain_only
transmission_distribution_upstream full none n_a n_a part supply_chain_only
A1 partial none none none part upstream_slice
A2 partial none none none part upstream_slice
A3 partial full none none part production_slice
A4 none none partial none part use_slice
A5 none none partial none part use_slice
B1 none none partial none part use_slice
B2 none none partial none part use_slice
B3 none none partial none part use_slice
B4 none none partial none part use_slice
B5 none none partial none part use_slice
B6 none none partial none part use_slice
B7 none none partial none part use_slice
C1 none none none partial part eol_slice
C2 none none none partial part eol_slice
C3 none none none partial part eol_slice
C4 none none none partial part eol_slice
D none none none none credit credit
agriculture partial none none none part upstream_slice
inputs partial none none none part upstream_slice
amortization partial none none none part upstream_slice
processing none partial none none part production_slice
manufacturing none partial none none part production_slice
packaging none partial none none part production_slice
energy_use none partial none none part production_slice
distribution none none partial none part use_slice
consumption none none partial none part use_slice
transport partial none partial none part use_slice
land_use_change partial none none none part upstream_slice
collection none none none partial part eol_slice
treatment none none none partial part eol_slice
incineration none none none partial part eol_slice
avoided_credit none none none none credit credit
other unstated unstated unstated unstated part other_slice
unknown unstated unstated unstated unstated unknown unknown

boundary_scope_term: 21 terms#

The questions a boundary answers. Read them through factors_flat.boundary_scope, which is the boundary default overridden by the factor's own boundary_profile. Sparse on purpose: a missing key means not established, never excluded.

A stage is one of the four life-cycle phases, or one of two that are not phases and are drawn apart from them: beyond_boundary (a credit, EN 15804 module D) and inclusion (a content counted across every phase). Carbon pools (biogenic CO2, land-use change) are not terms: the value's co2e_basis and gas legs answer them.

term name stage question
raw_materials Raw materials upstream Extraction and production of the material inputs the activity consumes.
inbound_transport Inbound transport upstream Transport of inputs to the site where the activity happens.
upstream_fuel Upstream fuel (well-to-tank) upstream Extraction, refining and delivery of the fuels the activity burns, before combustion (well-to-tank).
td_losses Transmission and distribution losses upstream Energy lost in transmission and distribution between generation and the point of use.
fuel_combustion Fuel combustion production Combustion of fuel by the activity itself (tank-to-wheel; the operator's Scope 1).
fugitive_release Fugitive releases production Direct releases to atmosphere attributable to the activity other than the accounted combustion of its fuel: refrigerant and process leakage, venting, flaring, pipeline losses, and the non-CO2 legs a publisher reports beside a combustion total.
manufacturing Manufacturing production Conversion, assembly and on-site processing that turns the inputs into the product.
packaging Packaging production Production of the product's own primary and secondary packaging.
purchased_electricity Purchased electricity and heat production Network-delivered energy consumed by the activity, and the generation emissions of it: the four carriers the GHG Protocol puts in Scope 2: electricity, steam, heating and cooling. The code keeps the electricity name because that is the carrier every publisher in the corpus prices; district heat and chilled water answer the same question and are read here rather than in a separate term.
outbound_transport Outbound transport downstream Distribution of the finished product from the producer to the point of sale or use.
retail Retail downstream Retail storage, refrigeration and store operation before the product is bought.
installation Installation downstream Installing or assembling the product where it will be used, including installation waste.
use_phase Use phase downstream Energy, water and consumables used while the product is in service (incl. consumer preparation).
maintenance Maintenance downstream Repair, replacement and refurbishment during the product's service life.
end_of_life End of life eol Collection, transport and treatment of the product after use (recycling, incineration, landfill).
recycling_credit Recycling credit beyond_boundary Avoided burdens credited for material or energy recovered beyond the system boundary (EN 15804 module D).
capital_goods Capital goods inclusion Production of the equipment, buildings and vehicles the activity uses, amortized over their output.
infrastructure Infrastructure inclusion Construction and maintenance of the shared networks the activity relies on (roads, rail, pipelines, grid).
employee_travel Employee travel inclusion Commuting and business travel of the people carrying out the activity.
overheads_services Overheads and services inclusion Purchased services and overheads attributable to the activity (an input-output boundary contains them by construction; a process LCA usually does not).
product_transport Freight transport inclusion A freight leg of the product or of its inputs, without saying which one: inbound_transport and outbound_transport answer that where the publisher states it, this term only asserts that a freight leg is inside.

Boundary defaults (system_boundary_scope, 233 rows)#

boundary in varies out
A1 raw_materials inbound_transport, manufacturing
A2 inbound_transport raw_materials
A3 manufacturing, packaging, fuel_combustion, purchased_electricity, upstream_fuel raw_materials, inbound_transport
A4 outbound_transport installation
A5 installation outbound_transport
B1 use_phase
B2 maintenance
B3 maintenance
B4 maintenance
B5 maintenance
B6 use_phase td_losses
B7 use_phase
C1 end_of_life
C2 end_of_life
C3 end_of_life recycling_credit
C4 end_of_life
D recycling_credit end_of_life
agriculture raw_materials
amortization capital_goods
avoided_credit recycling_credit end_of_life
cbam_embedded raw_materials, manufacturing, fuel_combustion purchased_electricity upstream_fuel, inbound_transport, outbound_transport, packaging, capital_goods, infrastructure, maintenance, td_losses, use_phase, end_of_life, recycling_credit
collection end_of_life
combustion fuel_combustion upstream_fuel, purchased_electricity, capital_goods, infrastructure, td_losses
consumption use_phase
cradle_to_consumer raw_materials, manufacturing, packaging, outbound_transport, retail, use_phase end_of_life, recycling_credit, maintenance
cradle_to_distribution_gate raw_materials, manufacturing, packaging, outbound_transport retail, use_phase, end_of_life
cradle_to_farm_gate raw_materials manufacturing, packaging, outbound_transport, retail, use_phase, end_of_life
cradle_to_gate raw_materials, inbound_transport, upstream_fuel, fuel_combustion, purchased_electricity, manufacturing, packaging capital_goods, infrastructure, employee_travel, overheads_services outbound_transport, retail, installation, use_phase, maintenance, end_of_life, recycling_credit
cradle_to_grave raw_materials, inbound_transport, upstream_fuel, fuel_combustion, purchased_electricity, manufacturing, packaging, outbound_transport, use_phase, end_of_life installation, maintenance, retail, recycling_credit, capital_goods, infrastructure
cradle_to_grave_embodied raw_materials, inbound_transport, upstream_fuel, fuel_combustion, purchased_electricity, manufacturing, packaging, outbound_transport, installation, end_of_life recycling_credit, infrastructure use_phase, maintenance, retail, capital_goods, employee_travel, overheads_services
cradle_to_packaging_gate raw_materials, manufacturing, packaging outbound_transport, retail, use_phase, end_of_life
cradle_to_plant_gate raw_materials, manufacturing, inbound_transport use_phase, end_of_life
cradle_to_processing_gate raw_materials, manufacturing packaging, outbound_transport, retail, use_phase, end_of_life
cradle_to_store_gate raw_materials, manufacturing, packaging, outbound_transport, retail use_phase, end_of_life
distribution retail
end_of_life end_of_life recycling_credit raw_materials, manufacturing, use_phase
energy_lifecycle fuel_combustion, upstream_fuel, capital_goods infrastructure, purchased_electricity, td_losses manufacturing
energy_use fuel_combustion upstream_fuel, purchased_electricity
epd_total raw_materials, inbound_transport, upstream_fuel, fuel_combustion, purchased_electricity, manufacturing, packaging outbound_transport, installation, use_phase, maintenance, end_of_life, recycling_credit, infrastructure retail, capital_goods, employee_travel, overheads_services
fugitive fugitive_release fuel_combustion, upstream_fuel
generation fuel_combustion, purchased_electricity upstream_fuel, td_losses, capital_goods
incineration end_of_life
inputs raw_materials
land_use_change raw_materials
manufacturing manufacturing
packaging packaging
processing manufacturing raw_materials, packaging
transmission_distribution td_losses upstream_fuel capital_goods
transmission_distribution_upstream upstream_fuel fuel_combustion, capital_goods
transport product_transport outbound_transport, inbound_transport raw_materials, manufacturing, packaging
treatment end_of_life
upstream_fuel upstream_fuel purchased_electricity fuel_combustion, capital_goods, infrastructure
well_to_use fuel_combustion upstream_fuel, td_losses, purchased_electricity capital_goods, infrastructure

end_of_life reads recycling_credit: varies deliberately. A treatment total may or may not net the credit for what recovery displaces: only the publisher knows, so the boundary establishes nothing and the factor's own boundary_profile decides. A credit the publisher prints as its own signed number is never filed there: it takes avoided_credit, or EN 15804 module D, both contribution codes reading recycling_credit: in. That makes boundary_scope ->> 'recycling_credit' = 'in' the one cross-library selector for credits, and credit_on_lifecycle_family (gating) fails a publisher that files one under a lifecycle total instead.

classification_scheme: 37 schemes#

is_standard is the join rule: a published standard means the same thing across publishers, so it is a legitimate cross-library key. A publisher's own tree is meaningful inside that library only.

code name authority standard publisher means
nace_rev1_1 NACE Rev. 1.1 Eurostat yes EU statistical classification of economic activities, revision 1.1 (2002). Level 1 = section letter, level 2 = two-digit division. The classification EXIOBASE 3's product aggregation is built on. NOT interchangeable with NACE Rev. 2.
naf_rev2 NAF rév. 2 INSEE yes French statistical classification of economic activities, revision 2 (2008): the national implementation of NACE Rev. 2, identical to it down to the 4-digit class. Level 1 = section letter, level 2 = two-digit division.
naics_2017 NAICS 2017 US Census Bureau yes North American Industry Classification System, 2017 revision. Level 6 = the six-digit national industry; a USEEIO commodity maps to one or more of them.
naics_canada_2022 NAICS Canada 2022 Statistics Canada yes North American Industry Classification System, Canadian 2022 version (Statistics Canada's national implementation). Level 5 = the five-digit industry, the deepest trilaterally-harmonised layer, so a level-5 code is comparable with the US and Mexican revisions; level 6 = the six-digit Canadian national industry, where the three countries diverge. The REVISION is part of the scheme code for the same reason it is in naics_2017: a code is only interpretable against a stated revision, and the two are not interchangeable at level 6.
ademe_category Base Carbone catégorie ADEME ademe ADEME's own category path for a Base Carbone element (the '>'-separated 'Code de la catégorie'), kept level by level. Segment names are the codes: the tree carries none.
agribalyse_food_group AGRIBALYSE groupe d'aliment ADEME agribalyse AGRIBALYSE's two-level food classification: 'Groupe d'aliment' (level 1) and 'Sous-groupe d'aliment' (level 2). Segment names are the codes.
okobaudat_category ÖKOBAUDAT Kategorie BBSR okobaudat The ÖKOBAUDAT (OEKOBAU.DAT) classification path an EPD declares in its ILCD classificationInformation, level by level. Segment names are the codes.
desnz_activity DESNZ conversion-factor activity path DESNZ desnz The DESNZ conversion-factor workbook's own hierarchy: GHG-Protocol scope (level 1) then Level 1-4 of the flat file (levels 2-5). Segment names are the codes.
epa_emission_category EPA GHG Emission Factors Hub emission category US EPA epa The Hub's own 'Emission Category' column: the GHG-Protocol scope/category a factor belongs to ('Stationary Combustion', 'Scope 3 Category 4: Upstream Transportation and Distribution'). One level; the printed string is the code, the workbook ships none.
ceda_sector CEDA sector Watershed Technology openceda Open CEDA's own sector code and name (the workbook's sector-code header row). Level 1; the code is CEDA's, not a NAICS/IXI code.
cn_2026 Combined Nomenclature 2026 European Commission yes EU Combined Nomenclature, 2026 edition: the customs goods nomenclature of Council Regulation (EEC) No 2658/87, re-issued every year. Level 2 = 4-digit HS heading, level 3 = 6-digit HS subheading, level 4 = 8-digit CN code. The first customs nomenclature in open_ef; the YEAR is part of the scheme code because CN is re-published annually and editions are not interchangeable (cn_2026 != cn_2027).
hs_2022 Harmonized System 2022 World Customs Organization yes Harmonized Commodity Description and Coding System, 2022 edition: the 6-digit international goods nomenclature the EU Combined Nomenclature extends. Level 1 = 2-digit chapter, level 2 = 4-digit heading, level 3 = 6-digit subheading. Editions are revised roughly every five years and are NOT interchangeable.
cbam_sector CBAM sector European Commission cbam The Annex I goods sector a CBAM default value is printed under (the banner row of the default-values tables: cement, fertilisers, iron and steel, aluminium, hydrogen). Level 1; the printed sector name is the code. A rollup OVER the publisher's own partition: gas coverage and system boundary are stated per cbam_goods_category, never per sector.
cbam_goods_category CBAM aggregated goods category European Commission cbam The 'aggregated goods category' of Implementing Regulation (EU) 2025/2547, Annex I point 2 Table 1: a complete, official CN-code-to-category map. Level 2, nesting under cbam_sector. This is the grain at which the Commission itself states gas coverage and the production-process system boundary, so category-level annotations hang here and never on the sector.
cbam_production_route CBAM production route European Commission cbam The lettered production route determining the CBAM benchmark for a good ('(C) Carbon steel based on BF/BOF'), as printed in the default-values tables. Level 1; the bare letter is the code. A route is a property of the modelled process, not a separate good.
co2emissiefactoren_nl_category Lijst CO2-emissiefactoren categorie Rijkswaterstaat / Stichting Stimular co2emissiefactoren_nl The Dutch list's own two-level category band, keyed on the site's URL 'category_id'. Level 1 = section (Brandstoffen, Afval, ...), level 2 = the subsection node the category_id identifies. Three level-2 nodes carry no printed label but do carry an id, so the tree stays uniform. No published standard code (NACE, NAICS, CPA) appears anywhere in this source.
uba_at_energy_domain UBA AT Bereich (Energieträger) Umweltbundesamt GmbH (Austria) uba_at The 'Bereich' each energy-carrier table of REP-0989 is printed under: level 1 is raumwaerme (space heating, Tabelle 1), strom (electricity, Tabelle 4) or mobilitaet (mobility, Tabelle 7); level 2 is the carrier label itself. Load-bearing, not decorative: the same carrier is published three times with three different factors (Erdgas 201 / 315 / 202 g CO2-eq per kWh direct), so the Bereich is the only thing that tells them apart, and it is part of the factor's identity for the same reason. The report carries no NACE, NAICS, CPA or CN code anywhere.
uba_at_transport_mode_group UBA AT Verkehrsträger (Emissionskennzahlen) Umweltbundesamt GmbH (Austria) uba_at The mode band each row of UBA AT's 'Emissionskennzahlen Verkehrsmittel' tables is printed under: level 1 is strasse (road), bahn (rail) or flug (air); level 2 is the printed vehicle label. The band is drawn as a rotated spine label beside the rows rather than as a column, so it is read from the page and not from a field. Load-bearing in the same way the energy tree is: the three tables publish the same vehicle on three denominators (Fkm / Pkm / Tkm), and the band is what groups them into a mode. The tables carry no NACE, NAICS, CPA, CN or GLEC code anywhere.
ember_electricity_source Ember electricity source Ember ember Ember's electricity-source taxonomy, the only hierarchy the release ships. Four levels: level 1 is the headline series (total_generation, demand, net_imports), level 2 the fossil/clean split of total generation, level 3 the fuel branches (coal, gas, other_fossil, nuclear, renewables), level 4 the individual renewables. The nesting is not a shipped column (the file ships only an 'Is aggregated source' boolean), so it is our reading of Ember's published aggregate definitions: the node matching the printed label carries origin='source', its ancestors origin='mapped'. The five aggregate nodes (fossil, clean, renewables, wind_and_solar, hydro_bioenergy_other_renewables) are described here but deliberately not imported as factors: they overlap rather than partition, so loading them un-flagged would be a double-count trap. The release carries no NACE, NAICS, ISIC, CPA, CN or HS code anywhere.
co2emissiefactoren_be_section CO2emissiefactoren.be sectie EnergieID / BENOR co2emissiefactoren_be The Belgian list's own published section: the tab headings of /factoren and, one-to-one, the CSV members of the release zip: Brandstoffen energieopwekking, Brandstoffen voertuigen, Warmtelevering, Elektriciteit, Koudemiddelen, Personenvervoer, Afval. One level; the printed section name is the code, the source ships none. Load-bearing rather than decorative: the section decides what a value column means (the same 'EF productie' header is fuel-production upstream in the vehicle-fuel section and plant generation in the heat section), and it is part of factor identity for that reason. A published eighth tab, Goederenvervoer, carries prose only and refers the reader to co2emissiefactoren.nl: it ships no table, no CSV and no factor, so it is not a node here. No NACE, NAICS, CPA, CN or HS code appears anywhere in this source.
wrap_gpc WRAP product classification (GS1 GPC names) WRAP (Waste and Resources Action Programme) wrap WRAP's three-level product tree, carried in the gpc_class / gpc_brick / gpc_classification columns. The level names are GS1 Global Product Classification class and brick NAMES, but the workbook ships no GS1 numeric codes at all, so this is registered as a publisher tree and NOT as the gs1_gpc standard: the segment name is the code. Registering it as a standard would invite a join against another publisher's numeric GPC bricks that cannot succeed. Level 1 = gpc_class, level 2 = gpc_brick (blank on 922 of the loaded spine rows, so level 3 then hangs off the class), level 3 = gpc_classification.
ipcc_1996_category IPCC 1996 Guidelines source/sink category IPCC Task Force on National Greenhouse Gas Inventories ipcc The source/sink category tree of the Revised 1996 IPCC Guidelines, as carried in EFDB's 'IPCC 1996 Source/Sink Category' column. Levels are CONCATENATED without separators (1, 1A, 1A3, 1A3b), which is why it cannot share a scheme with the 2006 tree. Not a standard product or activity classification: it is an inventory reporting structure, and its category 5 (Land-Use Change and Forestry) is not the 2006 tree's category 3 (AFOLU) under another number.
ipcc_2006_category IPCC 2006 Guidelines source/sink category IPCC Task Force on National Greenhouse Gas Inventories ipcc The source/sink category tree of the 2006 IPCC Guidelines (and its 2019 Refinement), as carried in EFDB's 'IPCC 2006 Source/Sink Category' column. Levels are DOT-SEPARATED (1, 1.A, 1.A.3, 1.A.3.b, 1.A.3.b.i). Registered separately from ipcc_1996_category because the two are different decompositions, not two encodings of one tree. Not a standard product or activity classification.
open_ef_category open_ef category taxonomy open_ef yes Our own cross-library category axis: the first scheme authored here rather than read from a source. Two levels over the closed registry in ingest/category_taxonomy.py: level 1 is one of 13 branches (fuels, electricity, heat_cooling, water, materials, food_agriculture, manufactured_goods, buildings_infrastructure, transport, services, waste, direct_emissions, land_use_removals), level 2 one of 82 flat mint-frozen leaf slugs whose branch parentage is registry data, not part of the code. A node says what the factor MEASURES: never its lifecycle stage (system_boundary's axis) and never the buyer's sector. Registered as a standard with no publisher because the code means the same thing whoever published the factor: per-publisher category maps derive it from the source's own labels (origin='mapped'), and an unmappable source value halts the load rather than guessing a node.
nga_table NGA Factors table DCCEEW nga_australia The numbered table a factor was published in, in the National Greenhouse Accounts Factors workbook (level 1 = the table, e.g. Table 5). NGA ships no standard industry code of any kind, and the table number is the only classification the publisher itself asserts: it is what the NGER legislation cites and what a reporter looks up. Meaningful inside this library only: never a cross-library join key, which is why it is a publisher tree and not a standard.
isic_rev4 ISIC Rev. 4 United Nations Statistics Division yes International Standard Industrial Classification of All Economic Activities, revision 4: the UN activity classification ecoinvent classifies a dataset under according to its main output. Level 1 = section letter (the source's own 'ISIC Section' column), level 2 = two-digit division, level 3 = three-digit group, level 4 = four-digit class; the level is derivable from the code length. The REVISION is part of the scheme code for the reason stated on naics_2017: ISIC Rev. 3.1 and Rev. 4 codes are not interchangeable. ecoinvent additionally mints letter-suffixed sub-codes of its own (3510a, 3510b, 19a) that are NOT ISIC codes; those are truncated to their numeric stem, never emitted verbatim under this scheme.
cpc_v21 CPC Ver. 2.1 United Nations Statistics Division yes Central Product Classification, version 2.1: the UN product classification ecoinvent classifies a reference product under according to its product name. Level 1 = one-digit section, level 2 = two-digit division, level 3 = three-digit group, level 4 = four-digit class, level 5 = five-digit subclass; the level is derivable from the code length. The VERSION is part of the scheme code: CPC 1.1, 2.0 and 2.1 renumber, and a code is only interpretable against a stated version.
hs_2017 Harmonized System 2017 World Customs Organization yes Harmonized Commodity Description and Coding System, 2017 edition: the 6-digit international goods nomenclature, as ecoinvent assigns it to a reference product from the product name and product information. Level 1 = 2-digit chapter, level 2 = 4-digit heading, level 3 = 6-digit subheading, identical in structure to hs_2022. Registered SEPARATELY from hs_2022 because the WCO revises the HS roughly every five years and the editions are NOT interchangeable: the 2022 edition split, merged and renumbered subheadings the 2017 edition assigns differently.
ecoinvent_sector ecoinvent sector ecoinvent Association ecoinvent ecoinvent's own sector label, published from v3.8 onwards in the 'Sector' column and, in the publisher's words, 'defined by ecoinvent' from the dataset's ISIC number and its main output. One level; the printed sector name is the code, the source ships none. Deliberately MULTI-VALUED: a dataset may carry several sectors in one semicolon-separated cell (19.4% of v3.12 rows), so it partitions nothing and must never be summed over. 21 tokens as of v3.12; 'Batteries' was added in v3.11 and no token has ever been retired.
bea_2017 BEA 2017 Detail Input-Output commodities US Bureau of Economic Analysis yes The commodity codes of the BEA 2017 benchmark Input-Output accounts, Detail level (1111A0 oilseed farming, 111200 vegetable and melon farming, S00500 federal general government defense). The identifier two US spend libraries key on without either naming it: USEEIO ships it as 'Reference USEEIO Code' and Open CEDA as its 'Sector Code' header row, which is why nodes carry origin='mapped': the digits are the publisher's, the reading that they are BEA codes is ours. Level 3 = Detail, stated rather than derived because the code string cannot tell Detail from BEA's coarser Sector (1) and Summary (2) levels; no parent node is emitted, since Detail -> Summary is a published crosswalk and not a prefix rule (1111A0 and 1111B0 both roll up to summary 111CA). The BENCHMARK YEAR is part of the scheme code for the reason stated on naics_2017: BEA re-benchmarks every five years and redefines commodities across vintages. Labels are Open CEDA's sector names, which are the BEA commodity descriptions verbatim; USEEIO ships a 2017 NAICS title beside the code and no BEA one, so its nodes carry no label rather than a NAICS title masquerading as a BEA one. Two publisher-side caveats: a USEEIO reference naming several commodities at once ('230301, 233210, 233262, 2332A0') is an average over them and yields no node, so one code resolves to at most one factor per library; and USEEIO extends the Detail list with model-specific codes of its own (the seven-way split of BEA 562000 into 562111/562212/562213/562910/562920/562HAZ/562OTH, plus 335220 and 33131B), which are emitted verbatim as the publisher's own reference identifiers and collide with nothing.
rvo_energy_carriers Nederlandse energiedragerlijst: sections Rijksdienst voor Ondernemend Nederland / Nederlandse Emissieautoriteit rvo The seven section headings the Dutch energy-carrier list prints its 56 fuels under. Two levels: level 1 is the part letter (A liquid fossil, B solid fossil, C gaseous fossil, D other, plus the Biomass part), level 2 the section label itself (Liquid Fossil Primary / Secondary, Solid Fossil Primary / Secondary, Gaseous Fossil, Biomass, Other). Segment names are the codes; the source ships none. 56/56 coverage, so sector = the section label and sub_sector stays NULL. No standard scheme is printed anywhere in the document: no NACE, no CN, and in particular no IPCC 2006 source-category code: the fuel names do align with the IPCC list, but that alignment is an enrichment we would be authoring, not a classification the publisher shipped, so it is deliberately not registered here.
statfi_fuel Statistics Finland fuel classification Tilastokeskus (Statistics Finland) statfi Statistics Finland's own fuel tree, the only hierarchy the fuel-classification release ships, and the rare publisher tree that carries real native codes rather than borrowing its labels as codes. Three levels, measured on the 2026-01-01 edition: level 1 is 10 two-digit groups (11 Petroleum products through 40 Other energy sources), level 2 is 36 four-digit classes, level 3 is 123 six-digit fuels: the leaves that carry the factors. Every node is origin='source': both the digits and the labels are the publisher's. No standard scheme is shipped: the file has no NACE, CN or SIEC column and none is invented. The separate 'Previous fuel code' column is this same publisher's pre-2021 tree and is kept in source_record as a crosswalk key, never registered as a second scheme, because its codes are retired and would collide in meaning with the live ones.
iocc_2022 Input-Output Commodity Classification, Detail 2022 Statistics Canada openio_canada The commodity axis of Statistics Canada's supply-and-use accounts, Detail level, 2022 vintage, as vendored by the Open IO-Canada release in doc/OpenIO-Canada-classification-structure.xlsx. One level, one node per commodity: a 9-character code whose leading family is MPG / MPS / IMG / IMS / ENE / NGS / NNP, labelled with the published description. 473 codes to 473 descriptions, a strict bijection; 469 of the 473 labels match the emission-factor workbook exactly and the remaining 4 differ only in trivial orthography (', and' vs 'and', works vs work, alloys vs alloy), reconciled by a four-entry table in the adapter rather than by fuzzy matching, because a near-match on a commodity label is how two different commodities get merged. Registered as a publisher tree and NOT as a standard: the codes are Statistics Canada's, which argues the other way, but the list we actually load is the one Open IO-Canada vendored, and only that library uses it: promoting it later is a one-line change, while demoting it after other libraries have joined on it is not.
japan_moe_register Japan MoE/METI coefficient register 環境省 / 経済産業省 (Ministry of the Environment / METI) japan_moe The statutory register a coefficient is published in, under Japan's 算定・報告・公表制度 (calculation, reporting and publication scheme). One level, five nodes: electricity_retail (電気事業者別 retail suppliers, menu by menu), electricity_tso (一般送配電事業者, the ten network operators), gas (ガス事業者別 city-gas suppliers), heat (熱供給事業者別 district-heat suppliers) and fuel (the 参考1 fuel-combustion table of the 排出係数一覧). The register is what determines which columns a row has, which reporting obligation it discharges and even which registration_no namespace it lives in (A0002 is eRex in the electricity register and TEPCO Energy Partner in the gas one), so it is identity-adjacent rather than decorative. Nodes carry origin='mapped' and is_standard=False: the split is the publisher's, but the slugs are ours: the source ships no code for it, only separate workbooks and a PDF section heading. Japan publishes no JSIC/NACE/CN code anywhere in this release, and inventing one would be a cross-library join key we made up.
mfe_activity MfE NZ measuring-emissions workbook path New Zealand Ministry for the Environment mfe_nz MfE's own three-level workbook hierarchy: Page (level 1, 9 nodes), Section (level 2, 33) and SubSection (level 3, 69). Codes are the FULL PATH joined with ' > ', not the bare segment name that desnz_activity uses, and the difference is measured rather than stylistic: MfE reuses segment literals across branches, so segment codes would merge nodes the publisher keeps apart. '2010-2015 Fleet' is a SubSection under three different Sections (heavy goods vehicles, light commercial vehicles, light passenger vehicles), 'Transmission and distribution losses' is a Section under two Pages, and 14 of the 74 triples repeat the Section literal as their SubSection (109 of 902 rows) - which the loader's per-factor de-dupe on (scheme, code) would silently collapse into a single node, dropping the level-3 row. Level 3 is 69 rather than the 74 the file prints because two SubSection distinctions are lifted out of the tree and onto typed columns where they belong: the eight radiative-forcing spellings become emission_factor_value.radiative_forcing (4 fewer), and the three electricity series become reference_year (1 fewer). Nodes carry origin='source': the tree, the segment names and the order are all the publisher's, only the ' > ' joiner is ours. MfE ships no ANZSIC, NACE or CN code anywhere in the release, so no standard scheme is claimed.
glec_mode GLEC Framework transport mode Smart Freight Centre glec The transport mode a GLEC default-value table is printed under, plus the two non-transport families the Framework ships alongside them. Level 1 is the eight-way split the document's own module structure asserts: air, inland_waterway, rail, road, sea, logistics_hub (Module 2), fuel (Module 1 energy carriers) and refrigerant (Module 3). Level 2 is the sub-family a table separates rather than a column: air splits freighter from belly freight, rail splits diesel from electric traction, sea splits non-container from container vessels, and logistics_hub splits the five hub types of Table 3 (transshipment, storage + transshipment, warehouse, liquid bulk terminal, intermodal terminal) - which is load-bearing because the intermodal row is the one hub published per container while the other four are per tonne of throughput. road, inland_waterway, fuel and refrigerant have no level 2: what would fill it is the vehicle band or the carrier, which is activity_detail and part of the identity, not a classification. Nodes carry origin='mapped': the split is the publisher's, the slugs are ours, because GLEC prints a caption and a module footer, never a code. The Framework carries no NACE, NAICS, CPA or CN code anywhere, so no standard scheme is claimed.
waste_stream open_ef waste stream open_ef Groups the rows of a route-fanned waste table by the material they treat, so the default-route election (open_ef.route_default) can compare them. Level 1 is the stream: the publisher's own material label, verbatim (the DESNZ Level 2-4 path, the ADEME category path plus base name, the EPA WARM material). Level 2 is the row's role under that stream: route (one treatment route), publisher_mix (the publisher's own average end-of-life row, which the election prefers) or excluded (re-use and recycling-excluded scenarios, which answer a narrower question than 'route unknown' and never win). A library need not emit all three: every one of epa's 183 WARM rows is a route, so each of its streams is decided by comparison rather than by a published average. Nodes carry origin='mapped': the grouping is ours, the labels are the publisher's. Not a standard, and owned by no single publisher: a stream code is one library's label and is only ever compared within that library, so two libraries' streams never join. Emitted by the libraries that fan a material out by treatment route, which today means desnz, ademe and epa.

open_ef_category: 13 branches, 82 leaves defined#

Our own category tree, one over every library, so two publishers' own categories line up. A node says what a factor measures: never its life-cycle stage, which is system_boundary, and never the buyer's sector.

The 82 leaves below are every leaf the registry defines, which is not the same as every leaf in use: a leaf no library has mapped onto yet is still part of the axis, so a count taken from the data is the smaller number.

Every factor carries a branch at level 1. Most carry a leaf at level 2 as well, and some do not: where a source genuinely does not tell a branch's leaves apart, its map assigns the branch alone and sub_category_code stays NULL. That is deliberate coarseness, never an unmapped value. Both levels are ordinary activity_classification rows under this scheme, served as category / category_code and sub_category / sub_category_code. Leaf slugs are flat and frozen at mint, so a leaf never carries its branch as a prefix and re-parenting one never re-codes it.

The filter takes the English label, not the code. The API and the explorer read category=Fuels; category=fuels matches nothing. The codes below are what a SQL reader finds in category_code and sub_category_code, and the join key back into activity_classification.

Nothing lands here by guess: a source value that maps to no node halts the load rather than falling back, so coverage of level 1 is total by construction and an unclassified factor is not a state the data can reach. An absent leaf is the coarseness above, never a catch-all.

Two leaves are deliberate umbrellas, named under their branch below. An umbrella match is weaker evidence than a specific leaf: it says the tree had no better home for the activity, not that the activity resembles the others beside it.

fuels: Fuels (6 leaves)#

Fuel commodities: solid, liquid and gaseous fuels supplied or combusted.

code label measures
fuel_fossil_liquid Liquid fossil fuels Measures liquid fossil fuels: diesel, petrol, fuel oil, LPG, kerosene.
fuel_fossil_gaseous Gaseous fossil fuels Measures gaseous fossil fuels: natural gas, CNG, LNG.
fuel_fossil_solid Solid fossil fuels Measures solid fossil fuels: coal, coke, peat.
biofuel Biofuels Measures biofuels and biomass fuels: biodiesel, bioethanol, biogas, wood fuels.
hydrogen Hydrogen Measures hydrogen as a fuel or energy carrier.
waste_derived_fuel Waste-derived fuels Measures fuels derived from waste (RDF, SRF, used oils) as fuel commodities; treating the waste itself is a waste leaf.

electricity: Electricity (4 leaves)#

Electricity supply: grid mixes, generation technologies, certified supply, distribution and trade.

code label measures
electricity_grid_mix Grid-mix electricity Measures grid-average electricity supply for a region (location-based mixes).
electricity_generation Electricity by generation technology Measures electricity from a specific generation technology (wind, solar PV, hydro, coal, gas CCGT), including electricity from waste incineration.
electricity_certified_supply Certified electricity supply Measures contractual electricity supply: certificates, green tariffs, supplier and residual mixes.
electricity_distribution_trade Electricity distribution and trade Measures electricity transmission, distribution and trade margins.

heat_cooling: Heat and cooling (3 leaves)#

Purchased district heat, steam and cooling.

code label measures
district_heat_steam District heat and steam Measures heat and steam bought from a network. Heat produced on site or by a dedicated installation is heat_generation: a Fernwaerme filter must not return a heat pump.
cooling Cooling Measures purchased cooling and chilled water.
heat_generation Heat generation Measures heat produced on site or by a dedicated installation rather than bought from a network: solar thermal, heat pumps, shallow and deep geothermal, ambient heat. Combusting a fuel to raise that heat is a fuels leaf; the heat delivered by a network is district_heat_steam.

water: Water (1 leaf)#

Mains water supply.

code label measures
water_supply Water supply Measures mains water supply and its treatment for delivery; wastewater treatment is a waste leaf.

materials: Materials (9 leaves)#

Raw and semi-finished materials and construction products, per unit of material.

code label measures
metals Metals Measures metals and metal semi-products (steel, aluminium, copper), virgin or recycled.
polymers_rubber Polymers and rubber Measures plastics, polymers and rubber materials, virgin or recycled.
paper_wood Paper and wood Measures paper, board, pulp and wood materials.
glass_ceramics Glass and ceramics Measures glass and ceramic materials.
minerals_aggregates Minerals and aggregates Measures cement, lime, aggregates, stone and other mineral materials.
chemicals Chemicals Measures chemical products and preparations, including fertilisers and industrial gases.
textiles_fibres Textiles and fibres Measures textile fibres, yarns and fabrics as materials; finished garments are manufactured goods.
construction_products Construction products Measures manufactured construction products: insulation, bricks, windows, coatings.
packaging_materials Packaging Measures packaging materials and formats: films, containers, pallets.

food_agriculture: Food and agriculture (6 leaves)#

Food, beverages, feed and primary agricultural products and operations.

code label measures
plant_products Plant products Measures primary plant products: crops, fruit, vegetables, grains. The seam with processed_food is the first transformation, not the farm gate: cleaning, drying, sorting and storage leave the commodity here, while milling, crushing, extraction and refining move it on. So wheat is plant_products and wheat flour is not.
animal_products Animal products Measures animal husbandry and primary animal products: meat, milk, eggs, fish.
processed_food Processed food Measures food and feed that has undergone at least a first transformation, through to prepared meals: flour and milled cereals, crude and refined vegetable oil, sugar, starch, dairy products, cured and cut meat, canned and frozen goods. The untransformed commodity is plant_products or animal_products; a drink is beverages.
beverages Beverages Measures beverages, alcoholic and non-alcoholic.
animal_feed Animal feed Measures animal feed and fodder.
agricultural_operations Agricultural operations Measures agricultural operations priced per activity: machinery work, irrigation, greenhouse operation.

manufactured_goods: Manufactured goods (9 leaves)#

Finished manufactured goods.

Umbrella leaf: other_goods.

code label measures
electronics_ict Electronics and ICT equipment Measures electronic and ICT devices: computers, phones, displays, network hardware.
electrical_equipment Electrical equipment Measures electrical equipment: motors, transformers, cables, lighting.
machinery Machinery Measures industrial machinery and mechanical equipment as goods.
vehicles Vehicles Measures vehicles as purchased goods: cars, trucks, ships, aircraft, bicycles.
furniture Furniture Measures furniture and furnishings.
appliances Appliances Measures household and commercial appliances.
apparel_footwear Apparel and footwear Measures garments, footwear and accessories as finished goods; fibre and fabric are material leaves.
medical_precision_instruments Medical and precision instruments Measures medical, dental, surgical, laboratory, optical, measuring and control instruments as goods. Pharmaceuticals and reagents are chemicals; the care itself is health_social.
other_goods Other manufactured goods Measures manufactured goods not covered by a sibling leaf.

buildings_infrastructure: Buildings and infrastructure (2 leaves)#

Construction of buildings and civil infrastructure as built works.

code label measures
building_construction Building construction Measures construction of buildings as whole works (per m2 or per building).
civil_infrastructure Civil infrastructure Measures civil engineering works: roads, bridges, rail track, pipelines as works.

transport: Transport (15 leaves)#

Movement of freight or passengers.

code label measures
freight_road Road freight Measures road freight transport (trucks, vans) per tonne-km or vehicle-km.
freight_rail Rail freight Measures rail freight transport.
freight_air Air freight Measures air freight transport.
freight_sea Sea freight Measures sea freight: container, bulk and tanker shipping.
freight_inland_waterway Inland waterway freight Measures inland waterway freight (barges).
freight_pipeline Pipeline transport Measures pipeline transport of goods.
freight_multimodal Multimodal freight Measures multimodal or unspecified-mode freight chains.
logistics_warehousing Logistics and warehousing Measures logistics services, storage and warehousing.
passenger_car Car travel Measures passenger travel by car, taxi or ride-hailing.
passenger_rail Rail travel Measures passenger travel by train, metro or tram.
passenger_air Air travel Measures passenger travel by air.
passenger_bus_coach Bus and coach travel Measures passenger travel by bus or coach.
passenger_ferry Ferry travel Measures passenger travel by ferry.
passenger_two_three_wheeler Motorcycle and scooter travel Measures passenger travel by motorcycle, scooter or similar.
passenger_multimodal Multimodal passenger travel Measures multimodal or unspecified-mode passenger travel: public transport in general, mixed commuting and business-travel averages. The passenger twin of freight_multimodal.

services: Services (13 leaves)#

Purchased services.

Umbrella leaf: other_services.

code label measures
professional Professional services Measures professional and business services: consulting, legal, engineering, marketing.
ict_digital ICT and digital services Measures ICT and digital services: software, cloud, telecom, AI services.
financial_insurance Financial and insurance services Measures financial and insurance services.
hospitality_catering Hospitality and catering Measures restaurant, catering and food services.
accommodation Accommodation Measures hotel stays and other accommodation.
health_social Health and social care Measures health and social care services.
education_public Education and public services Measures education and public administration services.
real_estate_rent Real estate and rent Measures real estate services and the rent or lease of real property: land, buildings, floor space. Renting movable equipment or vehicles is equipment_rental_leasing.
repair_maintenance_cleaning Repair, maintenance and cleaning Measures repair, maintenance and cleaning services.
trade_retail Trade and retail Measures wholesale and retail trade margins and services.
equipment_rental_leasing Equipment rental and leasing Measures rental and leasing of movable goods: machinery, vehicles, tools, IT equipment, and lessors of non-financial intangible assets. Rent or lease of land and buildings is real_estate_rent; buying the equipment outright is a manufactured-goods leaf.
media_publishing Media and publishing Measures publishing, broadcasting, motion picture, sound recording, news and advertising-funded media services. Software publishing is ict_digital; printing a physical run is a materials leaf.
other_services Other services Measures services not covered by a sibling leaf.

waste: Waste treatment (8 leaves)#

Treatment and disposal of waste, by treatment route, per unit of waste treated.

code label measures
collection_sorting Waste collection and sorting Measures collection, transfer and sorting of waste.
landfill Landfill Measures landfilling of waste.
incineration Incineration Measures incineration of waste, with or without energy recovery; the electricity output is an electricity leaf.
recycling Recycling Measures the recycling process treating a waste material, per unit of waste treated: sorting, shredding, reclamation, materials recovery. A recycled-content material is a material leaf and never this one. Recycled PET granulate is polymers_rubber and a secondary aluminium ingot is metals, because recycled is a grade of a material rather than a category of its own. One exception: under a cut-off convention a secondary-material flow published burden-free stays here, since it is inventory bookkeeping carrying a near-zero value rather than a grade anybody buys, and on a material leaf it would answer a recycled-material question with almost no emissions at all.
composting Composting Measures composting of organic waste.
anaerobic_digestion Anaerobic digestion Measures anaerobic digestion of organic waste.
wastewater_treatment Wastewater treatment Measures treatment of wastewater and sewage.
hazardous_treatment Hazardous waste treatment Measures treatment of hazardous or clinical waste where the source defines the factor by that stream and names no route. It is the one stream-based node in an otherwise route-based set, so it narrows its siblings rather than competing with them: where the source does name a route, the route wins. Incineration of clinical waste is incineration, and hazardous landfill is landfill.

direct_emissions: Direct emissions (3 leaves)#

Direct emission processes: fugitive releases, industrial process and agricultural emissions.

code label measures
refrigerants_fugitives Fugitive emissions and refrigerants Measures fugitive releases of gas to atmosphere, whether or not a refrigerant: refrigerant leakage from cooling equipment, and unintended or vented releases from fuel extraction, processing and distribution, such as well venting, pipeline and distribution-network leakage, flaring, coke ovens, charcoal kilns and coal-mine methane.
industrial_process Industrial process emissions Measures industrial process emissions: calcination, chemical reactions, solvent use.
agriculture_soils_livestock Agricultural process emissions Measures agricultural emission processes: enteric CH4, manure management, soil N2O; food products are food leaves.

land_use_removals: Land use and removals (3 leaves)#

Land-use change, forestry management and carbon removals.

code label measures
land_use_change Land-use change Measures emissions from land-use and land-cover change.
forestry_management Forestry management Measures forestry and land management activities.
carbon_removals Carbon removals Measures carbon removals and sequestration.

Units: 43 codes (norm_version 5)#

normalize_unit returns None for anything unlisted rather than guessing; the loader's UnknownUnitCode guard rejects the factor. A no-result is recoverable, a wrong conversion silently corrupts totals.

Canonical (25): self-describing, safe to convert within the dimension: cad, dkk, eur, fte_hour, gbp, guest_night, hour, jpy, kg, kg_day, km, km_yr, kwh, l, m, m2, m_yr, nzd, p.km, room_night, t.km, teu.km, unit, usd, vehicle_km.

Basis-qualified (18): deliberately NOT the bare dimension. kg_n is a mass of nitrogen, not of the purchased product; matching it as plain kg applies a silent x1 error: count_item, ha_yr, kg_active_substance, kg_dry_solids, kg_k2o, kg_n, kg_p2o5, kg_reference_mass, kg_throughput, kwh_gross_output, kwh_hhv, kwh_primary, m2_floor, m2_forest, m2_nfa, m2_roof, m2_wall, m3_throughput.

reference_basis.kind: 11 kinds#

basis_kind is canonical, context_dependent. Each kind below names what a query-time bridge must supply to put a line quantity on that basis.

kind what the bridge needs
nutrient_content Basis is a mass of a nutrient/active constituent (per kg of N, P2O5, K2O, active substance), not of the purchased product. Bridge needs the constituent fraction of the product (content_factor).
product_mass_qualified Basis is a genuine product mass the source qualifies by product name (per kg of treated leather, per tonne of clinker). Bridge is identity to the mass dimension once the product is confirmed.
treated_throughput_mass Basis is a mass of a substance PROCESSED/removed, not of a purchasable product (per kg of removed COD, per kg NTK). No safe procurement bridge: kept context-dependent.
heating_value Energy basis on a stated calorific reference (higher heating value / PCS / SCV) that differs ~11% from the unqualified-kWh (lower heating value) default. Bridge needs the per-fuel HHV->LHV ratio.
area Basis is a physical area with a product-specific qualifier (net floor area / wall / roof). Bridge needs the line item's area.
land_occupation Basis is area x time (per hectare.year). Bridge needs both an area and a duration.
length Basis is a physical length (per metre, per metre of road). Bridge needs the line item's length.
count_item Basis is a count of a specific item/service the source names (per meal, per plant, per person.month). Bridge needs the items-per-line-unit.
volumetric_density Basis needs a density or a second dimension to reduce to a purchasable quantity (per m3.km). Bridge needs the density/second axis.
gas_volume Basis is a plain canonical volume (unit_code l) of a GAS, metered at the publisher's reference conditions: {temperature_c, pressure_kpa}, or 'unstated' where the source names none. The only kind a canonical factor may carry: the volume converts by rule like any litre, and the conditions ride along for the per-factor bridge to energy or mass, which uses the publisher's own calorific value at those conditions.
energy_accounting_point Basis is a kWh METERED AT A DIFFERENT POINT of the energy chain than the unqualified default (gross generator output / primary energy, versus final energy delivered to the buyer). Distinct from heating_value, which qualifies how a fuel's energy content is counted, not where it is measured: a gross-output kWh and a final-energy kWh differ by generation and network losses, 1.8-3.0x apart in UBA DE's tables while both print the bare label 'g/kWh'. Bridge needs the conversion efficiency and the network-loss factor.

Value axes#

axis codes reading
data_quality_normalized high, medium, low, very_low, problematic The one ordinal comparable across publishers, best first. problematic is set explicitly by an adapter for a value that must not be used naively; factors_flat excludes it. data_quality_rating_native is NOT served by factors_flat: it is only meaningful with its data_quality_scheme_native, so read both off emission_factor_value or not at all.
data_quality_reason_normalized 23 tokens, see below Machine-readable reason the tier is what it is, or why a 0 is real: a closed registry, table below.
co2e_basis fossil_only, biogenic_excluded, net_total, io_total WHICH CO2e the headline counts (biogenic and LULUC in or out). Two factors with different bases are not comparable, however close their numbers look.
data_type average, generic, specific How specific the number is to the thing you bought, and nothing else. specific is the ILCD specific dataset: ONE product from one named plant; a supplier link never implies it on its own, since an industry EPD's declarant is a trade association and a retailer's own published coefficient is that retailer's average across all its customers. generic is a default standing in for a measurement, with no producer attached. average is a mean over several producers, and is where a market, national, sector or operator-wide figure lands. A publisher's own fourth word folds onto one of the three and survives verbatim in source_row.raw.
characterization_model cml_1999, cml_1999_baseline, cml_2001_baseline, ef_3.0, ef_3.1, houghton_net_max, houghton_net_min, impact_world_plus_2_1, ipcc_2021, ipcc_ar5_direct The impact-assessment method the publisher NAMES for this number: what separates an EF 3.1 figure from a CML one, and the only thing telling EXIOBASE's seven values on one factor apart. NULL wherever the source names no method: the vintage already lives in gwp_method_native, so a vintage token here would invent a source claim. Never prose: a sentence restating a GWP choice lands in its own bucket under any GROUP BY.
price_basis basic, producer, purchaser Monetary factors only: producer (ex-margins) / purchaser (incl. trade + transport margins) / basic (producer less product taxes plus subsidies).
grid_mix → calculation_approach production → location_based, consumption → location_based, marginal → location_based, residual → market_based, supplier_specific → market_based, green → market_based GHG-Protocol scope 2 duality; the pair is enforced, they can never disagree.
value_qualifiers keys lca_method, policy_year, preliminary, scenario A closed registry, not a dumping ground: a cross-library concept becomes a typed column instead.
publisher.kind commercial, government, intergovernmental, nonprofit, research What kind of body publishes the library; one value per publisher.
publisher.tags construction, conversion_factors, electricity, epd, food, grid_mix, lci, spend, trade, transport, waste What the library is, many-valued (conversion factors and spend at once); the portal derives its library groups from kind + tags.
publisher.scope generalist, specialist Measured, not declared: a generalist has at least 4 Categories each holding 5% of its top-level factors; NULL while it serves nothing. Rebuilt with the year index.

data_quality_reason_normalized: 23 tokens#

Machine-readable reason the tier is what it is, or why a 0 is real. A token outside this registry halts the ingest: an adapter coining a new one adds it to CONFIDENCE_REASONS in ingest/models.py. It never forces a tier by itself: data_quality_normalized_override floors, and several tokens here name a contractual zero MOD-0015 serves at whatever tier its own quality signal derives (never floored for being zero) rather than a fixed ceiling: see the module docstring.

The last two columns are what the API serves beside the token, from quality_reasons.py (FRN-0030): the token is the stable identifier and tells a reader nothing on its own, so the withheld disclosure carries this prose with it. The English is below; a lang the registry is written in is served that language instead, and a client holding its own translations renders the token.

token meaning served label served explanation
biogenic_excluded_zero a headline 0 on a fuel whose combustion CO2 is biogenic and left out by the value's co2e_basis, the leg printed beside it or not printed at all: an artefact of the basis rather than the world; always problematic, loader-enforced where the leg is printed (ingest/biogenic_zero.py, plan MOD-0009; widened by MOD-0023 step 8). Zero, beside CO2 that is actually released The headline reads 0 because the accounting convention leaves out the biogenic CO2 the fuel releases when burned; the zero describes the convention, not the fuel.
context_dependent_basis a unit conversion usable only through a validated per-line bridge, never a blind one: floored so it never outranks a rated canonical match (ademe, co2emissiefactoren_be/_nl). Needs a conversion we cannot make blindly The number is only usable after a unit conversion that has to be checked line by line, never applied automatically.
estimated_from_broader_region an estimated leg whose input comes from the nearest ancestor region that has one, hops recorded in source_record (rungs L2 and U2): capped at very_low (MOD-0042). Estimated from a broader region The region has no statistic of its own, so open-climate.ai used the nearest larger region that has one, and the result is rated very low for it.
estimated_from_regional_model a fuel-chain leg open-climate.ai estimated from the region's own generation mix weighted by per-fuel upstream factors (rung U1): a model of the region, not a measurement of it, so capped at low (MOD-0042). Estimated from the regional generation mix open-climate.ai computed this fuel-chain leg from the region's own generation mix and per-fuel upstream factors: a model of the region rather than a measurement of it.
estimated_from_regional_statistic an electricity leg open-climate.ai estimated from a statistic for the region itself: the publisher's own printed figures (rung L0) or a regional loss statistic (rung L1). Capped at medium by ESTIMATE_REASON_CEILING; the inputs, formula and year sit in source_record (MOD-0042). Estimated from a regional statistic open-climate.ai computed this leg from a published statistic for the region, such as its grid loss rate, because the publisher prints the generation figure but not this leg.
generic_spend_category an EEIO product/spend category too generic to price sharply: very_low (exiobase's overly-generic code numbers). Too broad to be precise The spending category covers too much ground to price any one purchase sharply.
green_electricity_zero a Guarantee-of-Origin or supplier-specific green tariff's zero: contractual, served at the tier its market-based residual sibling derives, never floored for being zero (MOD-0015). Zero under a green tariff The zero is what the contract certifies, a Guarantee of Origin or a supplier's green tariff, rather than a gap in the data.
hestia_aggregated_quality the tier is carried verbatim from HESTIA's own 1-5 pedigree scale rather than claimed as a data_quality_rating_native under a scheme it does not belong to (WRAP). Rated on the source's own scale The rating is carried straight from the source's own 1 to 5 pedigree scale rather than restated under a scheme it does not belong to.
implausible_mass_intensity a mass-basis value above a plausibility ceiling for its module: a declared-unit or reference-flow error candidate (ÖKOBAUDAT), problematic. Impossibly high per kilogram The emissions per kilogram sit far above anything plausible for this kind of product, which usually means the declared unit or the reference amount in the source is wrong.
implausible_printed_zero a zero the source prints that cannot be true of what it prices and would silently zero every line it matched: a zero intensity in a computed spend matrix (exiobase), a single-gas zero in a national-inventory default (ipcc EFDB): artefact, problematic and withheld (MOD-0023 step 8). A zero that is not really zero The source prints 0 for this row, but the zero comes from how the dataset was built rather than from something that genuinely emits nothing, so anything matched to it would come out at zero emissions.
library_prior the loader's floor when a value carries no native quality signal: a reviewed per-library prior tier (ValueSpec.library_prior) in place of the silent no_native_signal floor. Rated by us, not by the source The source publishes no quality rating for this row, so it carries the tier we reviewed for the library as a whole.
mixed_fossil_biogenic_unsplit a computed total that mixes fossil and biogenic municipal solid waste with no split available: floored to problematic (EPA). Fossil and biogenic mixed together The total combines fossil and biogenic waste with no way to split them, so it cannot be counted as either.
mixed_gwp_vintage a derived total whose legs were published on different IPCC GWP tables: a faithful sum of what the publisher printed, standing on no single vintage, so the mint drops it one rung below its weakest leg (MOD-0039). Built from different GWP tables The total adds up parts the publisher issued under different IPCC global-warming-potential tables, so no single vintage describes it.
no_native_signal the loader's silent floor when a value has neither a native quality signal nor a declared library_prior: artefact of missing signal, not a statement about the world. MOD-0015 withholds it (problematic) on a zero-valued row; a nonzero value floored only for the missing signal is the ordinary low/very_low floor, and is served. A zero with nothing behind it The source gives this row no quality rating at all and the value is zero, so a genuine zero cannot be told apart from a gap in the data.
partial_gas_vector a computed total whose CO2 leg is absent on a CO2-emitting fuel: floored to problematic so it never wins a match over a full-vector factor (EPA's CH4+N2O-only non-road mobile rows). Missing its CO2 The total leaves out the CO2 from a fuel that certainly releases CO2, so it counts only part of what is emitted.
publisher_arithmetic_corrected a published cell replaced with the number the publisher's own arithmetic determines, because its own identity, sibling row or next edition fixes it (co2emissiefactoren_be): served at its derived tier, printed number kept in source_record, correction stated on the factor's description (ingest/published_corrections.py, CLN-0031). Corrected using the publisher's own arithmetic The printed cell disagreed with the publisher's own identity or sibling row, so we serve the number their arithmetic determines and keep the printed one in the source record.
publisher_arithmetic_unresolved a published cell the publisher's own arithmetic falsifies where the right number is not knowable (co2emissiefactoren_nl): kept exactly as printed and floored to problematic, with the finding stated on the factor's description; same registry. The source contradicts itself The publisher's own arithmetic disagrees with this cell and there is no way to tell which number was meant, so we keep it exactly as printed and do not serve it.
publisher_forbids_inventory_use the publisher's own methodology forbids using this value for inventory accounting (eGRID's non-baseload/marginal family): withheld. The publisher says not to use it The publisher's own method states that this number must not be used for greenhouse-gas accounting.
regulatory_default_zero_implausible a regulation-mandated default of 0 where 0 cannot be physically true (cbam's Hydrogen embedded factor): kept, because it is the number the regulation publishes, and floored to very_low so it can never win a generic match. A regulator's zero that cannot be true The regulation mandates a default of 0 where 0 is not physically possible; we serve the number the regulation publishes and rate it as low as the scale allows.
rounded_to_zero a value the publisher itself prints as 0 at its own precision: contractual, served at its derived tier (ipcc's AR6 GWP layer). Rounds to zero The publisher itself prints 0 at the precision it works to.
source_restatement_divergence a factor-year overridden to low because its emission-weighted aggregate diverges from the publisher's own printed annual figure by more than 1%: the publisher restated one input without the other (EPPO Thailand). Does not match the publisher's own annual figure Re-adding this year's inputs diverges by more than 1% from the annual number the publisher prints, which means one of the two was restated without the other.
structural_zero a genuine zero the source itself prints, never a blank: a zero-emission leg (wind/hydro/solar/nuclear/geothermal/heat-pump) or a carbon-free fuel like hydrogen: contractual, served at its derived tier (MOD-0015). The artefact zeros it once also carried are implausible_printed_zero and biogenic_excluded_zero (MOD-0023 step 8). Genuinely zero The source prints 0 and the zero is real: the activity emits nothing at this stage, as with wind or solar power at the point of generation or a carbon-free fuel such as hydrogen.
tiny_denominator_extreme an intensity implausibly large because its denominator is near zero: problematic (exiobase's kgCO2e-per-EUR ceiling). Impossibly large The value is emissions divided by an amount of spending so small that the result lands far above anything physically possible.

GWP normalization#

Every stored measure is _native: as the publisher characterized it. The _normalized twin re-characterizes to AR6 GWP100, the one vintage on which a cross-library sum is arithmetically honest.

gwp_normalization_basis is native, invariant, recharacterized, unconverted: native is a verbatim copy (already the target), invariant is a value no vintage can change (pure CO2), recharacterized applies the per-gas differences as a delta to the published headline, never a re-sum (a publisher's headline is not guaranteed to equal the sum of its legs).

A NULL twin means not exactly derivable: a non-100-year horizon, an unknown vintage, a basket leg (HFCs / PFCs / other), or a row split only by carbon origin. Treat those rows as rows you cannot add, not as rows to fall back to native for. The per-gas legs it reads: value_ch4_biogenic_native, value_ch4_native, value_co2_biogenic_native, value_co2_fossil_native, value_co2_luluc_native, value_co2_native, value_hfcs_native, value_n2o_native, value_nf3_native, value_other_native, value_pfcs_native, value_removals_native, value_sf6_native.

It does not land on re-ingest (an unchanged content_hash skips the value row), so it has its own verb: db-open-ef normalize-gwp.

Text surfaces: 9 fields#

emission_factor_text.field, kept apart rather than concatenated because each answers a different consumer question: activity_detail, activity_full, activity_main, applicability, description, included_processes, tags, unit_label, usage_definition.

activity_full is derived by the loader (never shipped by an adapter) and is the search keyword; usage_definition is ours, generated, and is the one link a re-ingest purge deliberately keeps.

Licence tiers: 4 values#

release.license_tier, closed by the release_license_tier_valid CHECK. The one vocabulary here whose typo is silent: the serving gate fails CLOSED, so an unrecognised tier hides a library rather than raising. The database now refuses one outright.

tier an anonymous caller sees why
open the row and its values public-domain or attribution-only; redistribution is granted
copyleft the row and its values redistribution granted, but the share-alike obligation travels with the rows
restricted the row, with every value field withheld server-side no redistribution right established - coverage is citable, the number is not
prohibited absent entirely - a 404, never a 403 redistribution positively forbidden by the publisher's terms

license_code: a convention, not a registry#

Deliberately an open string rather than a closed list: a new publisher arrives with a new licence, and halting an ingest over an unseen code would be the wrong failure. The convention is lowercase kebab-case, held by review rather than by the schema.

It is not an SPDX identifier field. Where an SPDX identifier exists the code is derived from it, lowercased (cc0-1.0, cc-by-4.0, cc-by-sa-4.0); where none exists (the majority of them) the code is minted locally and names the terms it points at (co2emissiefactoren-nl-terms, us-gov-public-domain). Read license_url for those terms and attribution_text for the string that must be reproduced verbatim.

license_terms: what each code lets a reader do, 25 codes#

One row per license_code (MOD-0038), mirrored from ingest/license_terms_registry.py by db-open-ef seed-license-terms; the gating license_code_without_terms check refuses a release whose code has no row. Each right answers yes, yes_if (the listed conditions), ask (the terms reserve it; the holder grants it), no, or unclear (no written grant settles it). A plain reading, not legal advice: the publisher's terms at the linked page prevail.

code own footprint publish results share with customers embed in a product modify / combine conditions basis permission holder verified
aib-attribution yes yes_if unclear unclear yes_if attribution published_terms Association of Issuing Bodies (AIB) 2026-07-20
cc-by-4.0 yes yes_if yes_if yes_if yes_if attribution, state_changes named_licence - 2026-08-02
cc-by-sa-4.0 yes yes_if yes_if yes_if yes_if attribution, state_changes, share_alike named_licence - 2026-07-17
cc0-1.0 yes yes yes yes yes - named_licence - 2026-08-17
co2emissiefactoren-be-terms yes yes_if unclear unclear unclear attribution owner_risk_decision EnergieID & BENOR 2026-09-14
co2emissiefactoren-nl-terms yes yes_if yes_if yes_if yes_if attribution, notify_publisher written_confirmation Stichting Stimular, for the Green Deal partners 2026-09-15
crs-green-e-no-stated-licence yes yes_if unclear unclear unclear attribution owner_risk_decision Center for Resource Solutions (CRS) 2026-09-14
egovg-12a yes yes_if unclear unclear unclear attribution, state_changes statute Umweltbundesamt (UBA) 2026-07-31
eppo-open-data-common yes yes_if unclear unclear unclear attribution owner_risk_decision Energy Policy and Planning Office (EPPO), Thailand 2026-09-14
etalab-2.0 yes yes_if yes_if yes_if yes_if attribution named_licence - 2026-07-17
glec-sfc-notice yes_if yes_if ask ask ask attribution published_terms Smart Freight Centre 2026-08-08
gobmx-terminos-condiciones yes_if no no no no non_commercial published_terms - 2026-09-24
ipcc-copyright-notice yes_if yes_if ask ask ask attribution published_terms IPCC Secretariat 2026-07-31
ley-37-2007 yes yes_if yes_if yes_if yes_if attribution, keep_unchanged statute - 2026-07-20
mx-gobierno-publico yes yes_if yes_if yes_if yes_if attribution statute - 2026-08-17
offentleglova-7 yes yes yes yes yes - statute - 2026-08-17
ogl-3.0 yes yes_if yes_if yes_if yes_if attribution, no_endorsement named_licence - 2026-07-20
ogl-canada-2.0 yes yes_if yes_if yes_if yes_if attribution, no_endorsement named_licence - 2026-08-16
okobaudat-terms yes yes_if unclear unclear unclear attribution published_terms BBSR (Federal Institute for Research on Building, Urban Affairs and Spatial Development) 2026-07-24
opendata-swiss-by yes yes_if yes_if yes_if yes_if attribution statute - 2026-09-24
pdl-1.0 yes yes_if yes_if yes_if yes_if attribution, state_changes named_licence - 2026-08-16
proprietary-ecoinvent-eula-v3 yes_if yes_if no ask yes_if hold_licence, attribution published_terms ecoinvent Association 2026-08-18
rightsstatements-inc-1.0 yes_if yes_if ask ask ask attribution published_terms Umweltbundesamt (UBA) 2026-08-26
us-gov-public-domain yes yes yes yes yes - statute - 2026-08-05
wrap-terms yes_if yes_if ask ask ask attribution, territorial published_terms WRAP (Waste and Resources Action Programme) 2026-08-05