Environmental Flows¶
This guide covers working with biosphere exchanges - the emissions, resource consumption, and other environmental flows in your LCA models.
What are Environmental Flows?¶
Environmental flows (also called elementary flows or biosphere flows) represent exchanges between the industrial economy (technosphere) and the natural environment (biosphere):
- Emissions: Substances released to air, water, or soil
- Resources: Materials extracted from nature
- Land use: Occupation and transformation of land
graph LR
subgraph Technosphere
A[Industrial<br/>Processes]
end
subgraph Biosphere
B[Air]
C[Water]
D[Soil]
E[Resources]
F[Land]
end
A -->|Emissions| B
A -->|Emissions| C
A -->|Emissions| D
E -->|Extraction| A
F -->|Use| A
style A fill:#e3f2fd
style B fill:#ffebee
style C fill:#e3f2fd
style D fill:#efebe9
style E fill:#e8f5e9
style F fill:#fff3e0
Biosphere Structure¶
Environmental flows in ecoinvent are organized hierarchically:
Main Compartments¶
| Compartment | Description | Example Flows |
|---|---|---|
| Air | Emissions to atmosphere | CO₂, CH₄, NOₓ, particulates |
| Water | Emissions to water bodies | Phosphate, heavy metals, COD |
| Soil | Emissions to soil | Pesticides, heavy metals |
| Natural resource | Extractions from nature | Iron ore, crude oil, water |
| Land | Land occupation/transformation | Forest, agricultural land |
Sub-compartments¶
Each compartment has specific sub-compartments:
low population density, long-termlower stratosphere + upper tropospherenon-urban air or from high stacksurban air close to groundunspecified
ground-ground-, long-termlakeoceanriverriver, long-termunspecified
agriculturalforestryindustrialunspecified
bioticfossilin airin groundin waterland
Finding Biosphere Flows¶
Use search_biosphere to find the correct flow codes:
# Search for CO2 emissions
search_biosphere(
q="carbon dioxide",
database="ecoinvent-3.9.1-cutoff",
compartment="air"
)
# Search for water emissions
search_biosphere(
q="phosphate",
database="ecoinvent-3.9.1-cutoff",
compartment="water"
)
# Search with sub-compartment filter
search_biosphere(
q="carbon dioxide",
database="ecoinvent-3.9.1-cutoff",
compartment="air",
sub_compartment="urban air close to ground"
)
Common Flows¶
| Category | Flow Name | Compartment | Typical Unit |
|---|---|---|---|
| GHG | Carbon dioxide, fossil | air | kg |
| GHG | Methane, fossil | air | kg |
| GHG | Dinitrogen monoxide | air | kg |
| Acidification | Sulfur dioxide | air | kg |
| Acidification | Nitrogen oxides | air | kg |
| Eutrophication | Phosphate | water | kg |
| Eutrophication | Nitrate | water | kg |
| Resources | Water, unspecified | natural resource/in water | m³ |
| Resources | Crude oil | natural resource/in ground | kg |
Adding Biosphere Exchanges¶
Direct Emissions¶
When your process directly emits substances:
# Step 1: Find the biosphere flow
result = search_biosphere(
q="carbon dioxide fossil",
database="ecoinvent-3.9.1-cutoff",
compartment="air"
)
# Get the code from results, e.g., "349b29d1-3e58-4c66-98b9-9d1a076efd2e"
# Step 2: Create the exchange
create_database_exchange(
activity_id="your-activity-uuid",
amount=2.5, # 2.5 kg CO2 emitted
exchange_type="biosphere",
input_database="ecoinvent-3.9.1-cutoff",
input_biosphere_code="349b29d1-3e58-4c66-98b9-9d1a076efd2e"
)
Resource Consumption¶
When your process directly consumes natural resources:
# Water consumption
create_database_exchange(
activity_id="your-activity-uuid",
amount=100.0, # 100 m³ of water
exchange_type="biosphere",
input_database="ecoinvent-3.9.1-cutoff",
input_biosphere_code="water_flow_code"
)
Sign Convention for Biosphere¶
Positive Values
Use positive values for all biosphere exchanges:
- ✅ Emissions to environment:
amount=2.5(2.5 kg CO₂ released) - ✅ Resource consumption:
amount=100(100 L water consumed)
The directionality is determined by the flow definition, not the sign:
| Flow Type | Amount Sign | Meaning |
|---|---|---|
| Emission to air | Positive | Substance released to atmosphere |
| Emission to water | Positive | Substance released to water body |
| Resource from ground | Positive | Material extracted from earth |
| Resource from water | Positive | Water withdrawn from source |
Choosing the Right Sub-compartment¶
The sub-compartment affects characterization factors in impact assessment:
Air Emissions¶
| Sub-compartment | When to Use |
|---|---|
urban air close to ground |
Urban industrial processes, traffic |
non-urban air or from high stacks |
Power plants, large industrial facilities |
low population density, long-term |
Remote locations, long-term releases |
unspecified |
When location is unknown |
Water Emissions¶
| Sub-compartment | When to Use |
|---|---|
river |
Discharge to flowing water |
lake |
Discharge to standing freshwater |
ocean |
Marine discharge |
ground- |
Groundwater contamination |
unspecified |
When receiving water body is unknown |
When in Doubt
Use unspecified if you're unsure about the exact sub-compartment.
This is often the most common choice in generic LCA studies.
Impact Categories and Flows¶
Different impact assessment methods characterize different flows:
Climate Change (GWP)¶
Key flows:
- Carbon dioxide, fossil
- Methane, fossil
- Dinitrogen monoxide (N₂O)
- Hydrofluorocarbons (HFCs)
- Perfluorocarbons (PFCs)
- Sulfur hexafluoride (SF₆)
Acidification¶
Key flows:
- Sulfur dioxide (SO₂)
- Nitrogen oxides (NOₓ)
- Ammonia (NH₃)
- Hydrogen chloride (HCl)
Eutrophication¶
Key flows:
- Phosphate (PO₄³⁻)
- Nitrate (NO₃⁻)
- Ammonia (NH₃)
- Nitrogen oxides (NOₓ)
- COD (Chemical Oxygen Demand)
Human Toxicity¶
Key flows:
- Heavy metals (Pb, Cd, Hg, As)
- Particulate matter (PM2.5, PM10)
- Volatile organic compounds (VOCs)
- Dioxins and furans
Working with Land Use¶
Land use flows are special biosphere exchanges:
Land Occupation¶
Time-integrated land use (area × time):
# Occupation of agricultural land for 1 year
search_biosphere(
q="occupation, arable",
database="ecoinvent-3.9.1-cutoff",
compartment="natural resource"
)
# Unit: m²·year (or hectare·year)
Land Transformation¶
Change from one land type to another:
# Transformation from forest to agricultural land
search_biosphere(
q="transformation, from forest",
database="ecoinvent-3.9.1-cutoff",
compartment="natural resource"
)
# Unit: m² (or hectare)
Best Practices¶
1. Match Specificity to Data Quality¶
# If you know the exact emission point:
sub_compartment="urban air close to ground"
# If you only have aggregate data:
sub_compartment=None # Uses "unspecified"
2. Use Consistent Flow Names¶
Search for the exact flow name used in ecoinvent:
# ❌ May not find the right flow
search_biosphere(q="CO2")
# ✅ More specific, better results
search_biosphere(q="carbon dioxide, fossil")
3. Verify Units¶
Biosphere flows have specific units:
| Flow Type | Common Units |
|---|---|
| Mass emissions | kg |
| Volume emissions | m³ |
| Energy resources | MJ |
| Land use | m²·year, m² |
| Water | m³ |
4. Consider Upstream vs Direct¶
Many emissions come from upstream processes (electricity, materials) rather than direct releases:
graph TD
A[Your Process] -->|Direct emissions| B[Biosphere]
C[Electricity Production] -->|Upstream emissions| B
D[Material Production] -->|Upstream emissions| B
A -->|Input| C
A -->|Input| D
style A fill:#e3f2fd
style B fill:#ffebee
style C fill:#fff3e0
style D fill:#fff3e0
Don't Double Count
If your material inputs are linked to ecoinvent activities, those activities already include their emissions. Only add direct biosphere exchanges for emissions that occur at your specific process.
Exploring Available Flows¶
Get All Compartments¶
Returns the complete hierarchy of compartments and sub-compartments.
Browse by Category¶
# All air emissions
search_biosphere(
q="", # Empty query
database="ecoinvent-3.9.1-cutoff",
compartment="air",
limit=100
)
Troubleshooting¶
"Biosphere flow not found"¶
- Check spelling matches ecoinvent exactly
- Try searching with fewer words
- Verify the compartment filter is correct
Zero impact for some categories¶
- Your process may not emit relevant substances
- Check if the correct biosphere flows are included
- Verify the impact method includes characterization for your flows
Unexpectedly high/low impacts¶
- Verify emission amounts and units
- Check if the sub-compartment is appropriate
- Compare with similar ecoinvent activities
Next Steps¶
- Exchange Conventions - Sign conventions
- Computational Structure - How calculations work
- search_biosphere - Tool reference