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.10.1 | water → unspecified |
Environmental → Water → Unknown
envi-wate-unkn
|
— |
| ecoinvent-3.11 | air → low population density, long-term |
Environmental → Air → Long-term
envi-air-lote
|
Moved off envi-air-grle-ru10pesq 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 `Uses default 'Ground level' strata. Temporal differentiation is done by LCIA, not LCI`, which is the reading 3.8 and 3.12 moved away from. |
| ecoinvent-3.11 | air → lower stratosphere + upper troposphere |
Environmental → Air → Aircraft cruise height
envi-air-aicrhe
|
— |
| ecoinvent-3.11 | 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. (#411) |
| ecoinvent-3.11 | 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. (#411) |
| ecoinvent-3.11 | air → urban air close to ground |
Environmental → Air → Ground level → Urban (>1000 people/square mile)
envi-air-grle-ur10pesq
|
— |
| ecoinvent-3.11 | economic → primary production factor |
Economic
econ
|
— |
| ecoinvent-3.11 | inventory indicator → output flow |
Inventory Indicator
inin
|
— |
| ecoinvent-3.11 | inventory indicator → resource use |
Inventory Indicator
inin
|
— |
| ecoinvent-3.11 | inventory indicator → waste |
Inventory Indicator
inin
|
— |
| ecoinvent-3.11 | natural resource → biotic |
Resource → Biotic
reso-biot
|
— |
| ecoinvent-3.11 | 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 #276. |
| ecoinvent-3.11 | natural resource → in air |
Resource → Air
reso-air
|
— |
| ecoinvent-3.11 | natural resource → in ground |
Resource → Ground
reso-grou
|
— |
| ecoinvent-3.11 | natural resource → in water |
Resource → Water → Unknown
reso-wate
|
— |
| ecoinvent-3.11 | 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 (#339). |
| ecoinvent-3.11 | soil → agricultural |
Environmental → Ground → Agricultural
envi-grou-agri
|
— |
| ecoinvent-3.11 | soil → forestry |
Environmental → Ground → Silvicultural
envi-grou-silv
|
— |
| ecoinvent-3.11 | soil → industrial |
Environmental → Ground → Industrial
envi-grou-indu
|
— |
| ecoinvent-3.11 | soil → unspecified |
Environmental → Ground → Unknown
envi-grou-unkn
|
— |
| ecoinvent-3.11 | water → fossil well |
Environmental → Water → Confined aquifer with fossil groundwater
envi-wate-coaqwifo
|
— |
| ecoinvent-3.11 | water → ground- |
Environmental → Water → Unconfined aquifer
envi-wate-unaq
|
— |
| ecoinvent-3.11 | 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.11 | water → ocean |
Environmental → Water → Ocean
envi-wate-ocea
|
— |
| ecoinvent-3.11 | water → surface water |
Environmental → Water → Surface water
envi-wate-suwa
|
— |
| ecoinvent-3.11 | water → unspecified |
Environmental → Water → Unknown
envi-wate-unkn
|
— |
| ecoinvent-3.12 | air → low population density, long-term |
Environmental → Air → Long-term
envi-air-lote
|
Was envi-air-grle-ru10pesq, where 344 flows sat on a ground-level rural context that is not where they belong and merged with EF's `Emissions to air, unspecified (long-term)`. Long-term is carried as a strata value (cauldron/brightway#3012), so it cannot also express `low population density`: this trades ecoinvent's rural qualifier for the temporal one. ecoinvent defines this subcompartment as emissions >100 years after the activity starts, essentially uranium mill tailings, so the temporal axis is the one that matters. |
| ecoinvent-3.12 | air → lower stratosphere + upper troposphere |
Environmental → Air → Aircraft cruise height
envi-air-aicrhe
|
Set context_iri manually. |
| ecoinvent-3.12 | 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. (#411) |
| ecoinvent-3.12 | 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. (#411) |
| ecoinvent-3.12 | air → urban air close to ground |
Environmental → Air → Ground level → Urban (>1000 people/square mile)
envi-air-grle-ur10pesq
|
Set context_iri manually. |
| ecoinvent-3.12 | economic → primary production factor |
Economic
econ
|
Set context_iri manually. |
| ecoinvent-3.12 | inventory indicator → output flow |
Inventory Indicator
inin
|
Set context_iri manually. |
| ecoinvent-3.12 | inventory indicator → resource use |
Inventory Indicator
inin
|
Set context_iri manually. |
| ecoinvent-3.12 | inventory indicator → waste |
Inventory Indicator
inin
|
Set context_iri manually. |
| ecoinvent-3.12 | natural resource → biotic |
Resource → Biotic
reso-biot
|
Set context_iri manually. |
| ecoinvent-3.12 | 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 #276. |
| ecoinvent-3.12 | natural resource → in air |
Resource → Air
reso-air
|
Set context_iri manually. |
| ecoinvent-3.12 | natural resource → in ground |
Resource → Ground
reso-grou
|
Set context_iri manually. |
| ecoinvent-3.12 | natural resource → in water |
Resource → Water → Unknown
reso-wate
|
Set context_iri manually. |
| ecoinvent-3.12 | 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 (#339). |
| ecoinvent-3.12 | soil → agricultural |
Environmental → Ground → Agricultural
envi-grou-agri
|
Set context_iri manually. |
| ecoinvent-3.12 | soil → forestry |
Environmental → Ground → Silvicultural
envi-grou-silv
|
Set context_iri manually. |
| ecoinvent-3.12 | soil → industrial |
Environmental → Ground → Industrial
envi-grou-indu
|
Set context_iri manually. |
| ecoinvent-3.12 | soil → unspecified |
Environmental → Ground → Unknown
envi-grou-unkn
|
Set context_iri manually. |
| ecoinvent-3.12 | water → fossil well |
Environmental → Water → Confined aquifer with fossil groundwater
envi-wate-coaqwifo
|
Set context_iri manually. |
| ecoinvent-3.12 | water → ground- |
Environmental → Water → Unconfined aquifer
envi-wate-unaq
|
Set context_iri manually. |
| ecoinvent-3.12 | water → ground-, long-term |
Environmental → Water → Long-term
envi-wate-lote
|
Was envi-wate-unaq, the same IRI as `water / ground-`, so the two were one flow after deduplication and 261 consensus flows received both this subcompartment and `water / unspecified`. Long-term is carried as a water body value (cauldron/brightway#3012), so it cannot also express `ground-`: this trades the aquifer for the temporal qualifier. The previous comment here read `Temporal differentiation belongs to LCIA, not LCI`, which holds for EF 3.1's `Emissions to water, unspecified (long-term)` -- that flow ships uncharacterised, so collapsing it costs no CF values -- but not for this one, where ecoinvent means releases >100 years after the activity starts, essentially landfill and tailings leachate. |
| ecoinvent-3.12 | water → ocean |
Environmental → Water → Ocean
envi-wate-ocea
|
Set context_iri manually. |
| ecoinvent-3.12 | water → surface water |
Environmental → Water → Surface water
envi-wate-suwa
|
Set context_iri manually. |