Flow Mapping
Flow mapping is the process of linking elementary flows in your LCA databases to characterization factors in your LCIA methods. Good mapping coverage is essential for accurate LCIA results.
Why mapping matters
Section titled “Why mapping matters”Different databases and methods use different names for the same substance. For example, “Carbon dioxide, fossil” in EcoSpold 2 might be “CO2 (fossil)” in an ILCD method. VoLCA resolves these differences automatically through a matching cascade.
The matching cascade
Section titled “The matching cascade”For each characterization factor in a method, VoLCA tries to match it to a database flow in this order; the first hit wins, and the strategy that matched is recorded:
| Step | Strategy | Description |
|---|---|---|
| 1 | UUID | exact elementary-flow UUID match |
| 2 | CAS | CAS-number match (compartment-aware) |
| 3 | Name | normalized-name match (compartment-aware) |
| 4 | Synonym | matched via a loaded synonym group (e.g. "CO2" ↔ "Carbon dioxide, fossil") |
| — | Unmatched | none of the above hit — the flow stays uncharacterized and contributes nothing to the score |
Checking coverage
Section titled “Checking coverage”# Summary: matched/unmatched counts and ratesvolca --config volca.toml --db ecoinvent flow-mapping <METHOD_UUID>
# Detailed: which CFs matched and by what strategyvolca --config volca.toml --db ecoinvent flow-mapping <METHOD_UUID> --matched
# Gaps: CFs with no database matchvolca --config volca.toml --db ecoinvent flow-mapping <METHOD_UUID> --unmatched
# Gaps: database flows with no characterizationvolca --config volca.toml --db ecoinvent flow-mapping <METHOD_UUID> --uncharacterizedImproving coverage with flow synonyms
Section titled “Improving coverage with flow synonyms”Flow synonym sets teach VoLCA how to translate flow names between systems. You can:
- Use a pre-built synonym set (shipped with VoLCA for common database/method combinations)
- Add a custom CSV synonym set
Register a custom set in volca.toml (see Configuration):
[[flow-synonyms]]name = "my-synonyms"path = "/data/my-synonyms.csv"active = trueThe CSV has a name1,name2 header — one synonym pair per row. A running server can also accept one at runtime through the web UI or POST /api/v1/flow-synonyms/upload.
Cross-database flow linking
Section titled “Cross-database flow linking”When you have multiple databases loaded (e.g. ecoinvent + agribalyse), VoLCA can link flows between them using depends in the config:
[[databases]]name = "agribalyse"path = "/data/agribalyse4.csv"load = truedepends = ["ecoinvent"] # background flows resolved in ecoinventAfter loading, finalize the cross-database links:
# Via APIPOST /api/v1/db/agribalyse/finalizeThis resolves agribalyse’s background activities against ecoinvent, enabling full inventory computation across databases.
API endpoints
Section titled “API endpoints”GET /api/v1/db/{db}/method/{methodId}/mapping — coverage statsGET /api/v1/db/{db}/method/{methodId}/flow-mapping — per-flow mapping detailMCP tools
Section titled “MCP tools”{ "name": "get_flow_mapping", "arguments": { "database": "ecoinvent", "method_id": "..." } }See also
Section titled “See also”- Flow Mapping Audit — detect and close mapping gaps using the post-scoring suggester,
compare_impacts, and the PubChem synonym snapshot.