Context mappings
Each source list's raw compartments, and the consensus context they become. These are the rules the transform applies to every list at once — not the per-release mappings the merge reads to place one list.
| Source | Its compartment | Consensus context | Why |
|---|---|---|---|
| ecoinvent-3.9.1 | air → non-urban air or from high stacks |
Environmental → Air → Medium stack, <150 meters → Rural (<1000 people/square mile)
envi-air-mest15me-ru10pesq
|
`non-urban air or from high stacks` names two situations at once -- a release in the countryside, or a release from a tall stack anywhere -- and no context can hold both. It was published as envi-air-hist15me, which says a dairy barn's ammonia left a 150-metre chimney; the other reading, Ground level + Rural, says a power-station plume was released at head height, and nothing in a flow says which it is. EF 3.1's factors settle it, and they pick neither: in all 40 (flow, method) pairs where this compartment and one of EF's narrow non-urban compartments are both characterised, EF gives this one exactly the factor it gives `Emissions to non-urban air high stack` -- particles (PM2.5) 3.01757e-06, against 1.13763e-05 non-urban close to ground and 1.62949e-06 non-urban very high stack. That compartment is envi-air-mest15me-ru10pesq here, so this keeps the rural qualifier the compartment does assert and takes the stack height EF characterises rather than the one the name suggests. What is given up: a release that really did leave a >150-metre stack is published as a sub-150-metre one, which EF's own numbers say is the smaller error. Decided once for the three lists that spell this compartment differently -- EF 3.1, ecoinvent in all five versions, and BAFU's `emissions to air / low. pop.`, SimaPro's spelling of ecoinvent v2's `low population density` -- because moving one alone would split them apart. (#79) |
| ecoinvent-3.9.1 | air → unspecified |
Environmental → Air → Unknown
envi-air-unkn
|
Was envi-air-grle-unkn, which asserted a stratum the source does not name. ecoinvent's `unspecified` says only that the release went to air; reading it as ground level split it from EF 3.1's `Emissions to air, unspecified` and BAFU's `emissions to air / unspecified`, which both sit on envi-air-unkn -- one compartment under three spellings landing in two places. It split ecoinvent from itself as well: the rows the correspondence tables match onto EF's unspecified air flow (383 in 3.8 up to 1,175 in 3.12) were already published in envi-air-unkn, with the guard reconciling that by a permitted coarsening in correspondence-context-routing.json, and only the rows that found no EF partner stayed behind. On the 2026-08-13 build those were all 54 flows in envi-air-grle-unkn -- every one an ecoinvent creation, none carrying a characterisation factor, in a context no other list can reach. The coarsening entry is removed with this change. Nothing is given up: the ground-level qualifier was never in the source. (#79) |
| ecoinvent-3.9.1 | air → urban air close to ground |
Environmental → Air → Ground level → Urban (>1000 people/square mile)
envi-air-grle-ur10pesq
|
— |
| ecoinvent-3.9.1 | economic → primary production factor |
Economic
econ
|
— |
| ecoinvent-3.9.1 | inventory indicator → output flow |
Inventory Indicator
inin
|
— |
| ecoinvent-3.9.1 | inventory indicator → resource use |
Inventory Indicator
inin
|
— |
| ecoinvent-3.9.1 | inventory indicator → waste |
Inventory Indicator
inin
|
— |
| ecoinvent-3.9.1 | natural resource → biotic |
Resource → Biotic
reso-biot
|
— |
| ecoinvent-3.9.1 | natural resource → fossil well |
Resource → Water → Confined aquifer with fossil groundwater
reso-wate-coaqwifo
|
ecoinvent's one water compartment that names its body -- EF 3.1 gives all six of its water bodies one compartment, so the rest need a per-flow rule. The subcompartment holds exactly one flow, `Water, unspecified natural origin` 2caa889e, in every version 3.8 to 3.12. ecoinvent publishes no definition of `fossil well`, and the name reads either as a well into a fossil aquifer or as a fossil-fuel well producing formation water -- but those converge on this body rather than diverging. Produced water from a hydrocarbon well is connate water in a confined formation with negligible modern recharge, which is fossil groundwater; the two readings differ in why somebody drilled, not in what the water is, and this axis is the body. Salinity does not argue against it either: formation water is typically hypersaline, and salinity is a material property carried on the other axis. ecoinvent's own correspondence table sends this flow to EF 3.1's `ground water`, so they read it as groundwater too; `Confined aquifer with fossil groundwater` is the more precise version of what they said. The emission side already maps `water / fossil well` here, and this makes the two sides agree. Repointed in all five registered versions at once: the subcompartment is unchanged between them. See #263. |
| ecoinvent-3.9.1 | natural resource → in air |
Resource → Air
reso-air
|
— |
| ecoinvent-3.9.1 | natural resource → in ground |
Resource → Ground
reso-grou
|
— |
| ecoinvent-3.9.1 | natural resource → in water |
Resource → Water → Unknown
reso-wate
|
— |
| ecoinvent-3.9.1 | natural resource → land |
Land Use → Occupation
laus-occu
|
ecoinvent puts occupation and transformation in this one compartment, so the compartment cannot say which a flow is; the name does, and the rules that read it are in `name_prefix_context_mappings`. They cover every flow ecoinvent ships here in every registered version and refuse a name they do not recognise, so this row is the compartment's declaration rather than the rule that places a land flow (#52). |
| ecoinvent-3.9.1 | soil → agricultural |
Environmental → Ground → Agricultural
envi-grou-agri
|
— |
| ecoinvent-3.9.1 | soil → forestry |
Environmental → Ground → Silvicultural
envi-grou-silv
|
— |
| ecoinvent-3.9.1 | soil → industrial |
Environmental → Ground → Industrial
envi-grou-indu
|
— |
| ecoinvent-3.9.1 | soil → unspecified |
Environmental → Ground → Unknown
envi-grou-unkn
|
— |
| ecoinvent-3.9.1 | water → fossil well |
Environmental → Water → Confined aquifer with fossil groundwater
envi-wate-coaqwifo
|
— |
| ecoinvent-3.9.1 | water → ground- |
Environmental → Water → Unconfined aquifer
envi-wate-unaq
|
— |
| ecoinvent-3.9.1 | water → ground-, long-term |
Environmental → Water → Long-term
envi-wate-lote
|
Moved off envi-wate-unaq for the reasons on the identical ecoinvent-3.12 row; the subcompartment is unchanged across every release from 3.01 to 3.12, so it resolves the same way in all of them. The previous comment here read `Temporal differentiation belongs to LCIA, not LCI`, which holds for EF 3.1's uncharacterised long-term water flow but not for ecoinvent's landfill and tailings leachate. |
| ecoinvent-3.9.1 | water → ocean |
Environmental → Water → Ocean
envi-wate-ocea
|
— |
| ecoinvent-3.9.1 | water → surface water |
Environmental → Water → Surface water
envi-wate-suwa
|
— |
| ecoinvent-3.9.1 | water → unspecified |
Environmental → Water → Unknown
envi-wate-unkn
|
— |
| EF 3.1 | Emissions → Emissions to air → Emissions to air, indoor |
Environmental → Air → Indoor
envi-air-indr-unkn
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to air, unspecified (long-term) |
Environmental → Air → Long-term
envi-air-lote
|
Was envi-air-grle-ru10pesq, which mismapped 7,277 flows onto a ground-level rural context and collided with `Emissions to non-urban air close to ground`. EF gives this flow different factors from `Emissions to air, unspecified` for 6,591 of the 7,284 substances they share, so it cannot be folded onto envi-air-unkn either; the long-term strata value is what makes a correct mapping expressible. |
| EF 3.1 | Emissions → Emissions to air → Emissions to air, unspecified |
Environmental → Air → Unknown
envi-air-unkn
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to lower stratosphere and upper troposphere |
Environmental → Air → Aircraft cruise height
envi-air-aicrhe
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to non-urban air close to ground |
Environmental → Air → Ground level → Rural (<1000 people/square mile)
envi-air-grle-ru10pesq
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to non-urban air high stack |
Environmental → Air → Medium stack, <150 meters → Rural (<1000 people/square mile)
envi-air-mest15me-ru10pesq
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to non-urban air low stack |
Environmental → Air → Low stack, <25 meters → Rural (<1000 people/square mile)
envi-air-lost25me-ru10pesq
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to non-urban air or from high stacks |
Environmental → Air → Medium stack, <150 meters → Rural (<1000 people/square mile)
envi-air-mest15me-ru10pesq
|
`non-urban air or from high stacks` names two situations at once -- a release in the countryside, or a release from a tall stack anywhere -- and no context can hold both. It was published as envi-air-hist15me, which says a dairy barn's ammonia left a 150-metre chimney; the other reading, Ground level + Rural, says a power-station plume was released at head height, and nothing in a flow says which it is. EF 3.1's factors settle it, and they pick neither: in all 40 (flow, method) pairs where this compartment and one of EF's narrow non-urban compartments are both characterised, EF gives this one exactly the factor it gives `Emissions to non-urban air high stack` -- particles (PM2.5) 3.01757e-06, against 1.13763e-05 non-urban close to ground and 1.62949e-06 non-urban very high stack. That compartment is envi-air-mest15me-ru10pesq here, so this keeps the rural qualifier the compartment does assert and takes the stack height EF characterises rather than the one the name suggests. What is given up: a release that really did leave a >150-metre stack is published as a sub-150-metre one, which EF's own numbers say is the smaller error. Decided once for the three lists that spell this compartment differently -- EF 3.1, ecoinvent in all five versions, and BAFU's `emissions to air / low. pop.`, SimaPro's spelling of ecoinvent v2's `low population density` -- because moving one alone would split them apart. (#79) EF alone also ships the narrow `Emissions to non-urban air high stack` (16 flows), which maps here as well; the two collapse, and since EF gives them the same factor in every pair that has one, no characterisation is lost. |
| EF 3.1 | Emissions → Emissions to air → Emissions to non-urban air very high stack |
Environmental → Air → High stack, >150 meters → Rural (<1000 people/square mile)
envi-air-hist15me-ru10pesq
|
Was envi-air-hist15me, which had no population density and so collapsed this onto the urban very-high-stack flow and the legacy `non-urban air or from high stacks`. EF characterises the distinction: particles (PM2.5) is 1.62949e-06 here against 3.41614e-05 urban, and the survivor was decided by UUID sort order. |
| EF 3.1 | Emissions → Emissions to air → Emissions to urban air close to ground |
Environmental → Air → Ground level → Urban (>1000 people/square mile)
envi-air-grle-ur10pesq
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to urban air high stack |
Environmental → Air → Medium stack, <150 meters → Urban (>1000 people/square mile)
envi-air-mest15me-ur10pesq
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to urban air low stack |
Environmental → Air → Low stack, <25 meters → Urban (>1000 people/square mile)
envi-air-lost25me-ur10pesq
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to air → Emissions to urban air very high stack |
Environmental → Air → High stack, >150 meters → Urban (>1000 people/square mile)
envi-air-hist15me-ur10pesq
|
Was envi-air-hist15me; see the non-urban very-high-stack row. This is the arm of the pair that carried the higher factors. |
| EF 3.1 | Emissions → Emissions to industrial soil → Other emissions to industrial soil |
Environmental → Ground → Industrial
envi-grou-indu
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to soil → Emissions to agricultural soil |
Environmental → Ground → Agricultural
envi-grou-agri
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to soil → Emissions to non-agricultural soil |
Environmental → Ground → Non-agricultural
envi-grou-noag
|
Was envi-grou-unkn, shared with `Emissions to soil, unspecified`; the collapse discarded 11,824 CF values and left ecoinvent's `soil / unspecified` inheriting whichever factor won on UUID sort order, the two differing by up to 30x. envi-grou-noag is deprecated on arrival: it exists to separate these two EF contexts, not as a land cover class to map onto. |
| EF 3.1 | Emissions → Emissions to soil → Emissions to soil, unspecified |
Environmental → Ground → Unknown
envi-grou-unkn
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to water → Emissions to fresh water |
Environmental → Water → Surface water
envi-wate-suwa
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to water → Emissions to sea water |
Environmental → Water → Ocean
envi-wate-ocea
|
Set context_iri manually. |
| EF 3.1 | Emissions → Emissions to water → Emissions to water, unspecified (long-term) |
Environmental → Water → Long-term
envi-wate-lote
|
Was envi-wate-unkn, the same IRI as `Emissions to water, unspecified`, so EF's 7,186 long-term water flows collapsed onto the short-term ones under deduplication. That collapse is what stranded ecoinvent's `water / ground-, long-term`: its correspondence table points 260 of 269 rows at EF's own long-term flow, and following the deprecation redirect landed them back on unspecified water, where 180 of them received a short-term factor for a release ecoinvent defines as >100 years out. This is the same move #40 made for `Emissions to air, unspecified (long-term)`, and for the same reason -- both sides of a temporal pair have to meet in the temporal context or neither does. The previous comment read `Temporal differentiation belongs to LCIA, not LCI`, which was decided before ecoinvent's row moved; #41 is where the combination was weighed. It costs ~7,156 uncharacterised identifiers: only 30 of the 7,186 carry any EF 3.1 factor, so almost nothing is recovered by publishing them, and what is bought is that no flow silently inherits a factor from a different compartment. |
| EF 3.1 | Emissions → Emissions to water → Emissions to water, unspecified |
Environmental → Water → Unknown
envi-wate-unkn
|
Set context_iri manually. |
| EF 3.1 | Land use → Land occupation |
Land Use → Occupation
laus-occu
|
Set context_iri manually. |
| EF 3.1 | Land use → Land transformation |
Land Use → Transformation
laus-tran
|
Set context_iri manually. |
| EF 3.1 | Resources → Resources from air → Renewable element resources from air |
Resource → Air
reso-air
|
Set context_iri manually. |
| EF 3.1 | Resources → Resources from air → Renewable energy resources from air |
Resource → Air
reso-air
|
Set context_iri manually. |
| EF 3.1 | Resources → Resources from air → Renewable material resources from air |
Resource → Air
reso-air
|
Set context_iri manually. |
| EF 3.1 | Resources → Resources from biosphere → Renewable energy resources from biosphere |
Resource → Biotic
reso-biot
|
Set context_iri manually. |