AI-based Life Cycle Assessment (LCA) report generator for IFC building models.
compas_lca normalizes building data (from IFC) and environmental data (EPDs) into a unified schema that enables precise, customizable, and deterministic matching based on semantic and functional constraints.
In conventional BIM and environmental data schemas, critical classification and attribute information is often distributed across semi-structured and highly variable representations. compas_lca extracts and consolidates relevant attributes into an overlapping normalized format, enabling deterministic building-element to EPD matching and reproducible LCA report generation.
Install from source:
git clone https://github.com/BlockResearchGroup/compas_lca.git
cd compas_lca
pip install -e ".[dev]"Download the LCA database
Unzip the archive and move the extracted folder into the data directory such that the following path exists:
data/lca_database- Add your API key to a
.envfile in the project root - Specify project configurations in
config.yaml - Supported indicator values in
config.yamlcan be found insrc/compas_lca/inventory/constants.pyunder theOBD_INDICATOR_NAMElist.
All workflows are executed via:
python scripts/0_menu.py- Drag and drop your IFC file into:
data/building_model - Configure relevant parameters in
config.yaml - Run
scripts/0_menu.py - Execute action points 01a to 01f sequentially.
This workflow extracts, normalizes building model data for deterministic EPD matching and generates a report per configured emissions indicator.
NOTE: The matching parameters (score threshold and top_k matches) can be retroactively changed. Exit the menu, adjust the parameters, relaunch the menu and run action steps 01e and 01f. This requires no API usage. Create a backup of initial files (if you want to compare results), as previous files will be overwritten!
- Review
oekobaudat_remaining.csv - Add UUIDs of selected elements to
epd_parser.yaml - Run
scripts/0_menu.py - Execute action points 02a to 02c sequentially.
This workflow parses and integrates additional Environmental Product Declarations (EPDs) into the existing LCA database.
The multi-LLM benchmark scripts accompanying the thesis chapter "Data Model for AI"
live in thesis/evaluation/. The benchmark datasets,
model outputs, and case-study artifacts are distributed as a separate data package
(see that README for access details); they are not committed to this repository.
If you find a bug or if you have a problem with running the code, please file an issue on the Issue Tracker.