This repository contains the code that was used to perform the environmental life cycle assessment (LCA) of the SpiralG biorefinery. This work was conducted in the frame of the Circular Bio-based Europe Joint Undertaking (CBE-JU) project "SpiralG" that started in 2018 and ended in 2023.
This project aimed at revisiting the Spirulina value chain to convert the residual biomass obtained after phycocyanin extraction into ingredients for food, feed, cosmetics, and agricultural products. The work on LCA corresponded to the work package 5 of SpiralG and aimed at (1) identifying hotpsots in the Spirulina value chain and (2) evaluate whether the technological improvements and knowledge gained on the biomass and conversion processes led to a reduction of the climate impacts between 2019 and 2022 by at least 10%.
This repository contains all the code, data, and documents required to reproduce the following studies (submitted for publication):
- L. Braud, K. McDonnell and F. Murphy (2025). Beyond phycocyanin: Environmental life cycle assessment of a European pilot scale Spirulina biorefinery, Bioresource Technology Reports, https://doi.org/10.1016/j.biteb.2025.102027
- L. Braud, K. McDonnell and F. Murphy (2025).Integration of a pilot scale Spirulina biorefinery into a local bioeconomy: Comparative life cycle assessment of potential environmental mitigation strategies (under review)
This GitHub repository is linked to a Zenodo repository in which the life cycle inventory (LCI) datasets and supplementary documents associated with the two articles are shared: https://doi.org/10.5281/zenodo.14718128.
📁 Your_Parent_Folder/ # Example: /home/username/Documents/
├── 📁 spiralgorithm/ # REQUIRED: Must be in the SAME parent folder
│ ├── 📁 anadig_model/ # Anaerobic digestion modules
│ ├── 📁 bioref2lca/ # Biorefinery-to-LCA modules
│ ├── 📁 bioref_model/ # Biorefinery modules
│ ├── 📁 datasets/ # Datasets for analysis (for the AD model)
│ ├── 📁 lca_calc/ # LCA calculation modules
│ ├── 📁 packages/ # Additional packages for uncertainty analysis
│ ├── 📁 uncertainties/ # Uncertainty analysis modules
└── 📁 LCASpiralG1/ # REPOSITORY FOR PAPER 1 (your working directory)
│ ├── your_notebook.ipynb # Main Jupyter notebook to perform the LCA of paper 1
│ └── ...
└── 📁 LCASpiralg2/ # REPOSITORY FOR PAPER 2 (your working directory)
│ ├── your_notebook.ipynb # Main Jupyter notebook
│ ├── scripts/ # Python scripts specific to the second LCA study (scenario analysis, paper 2)
│ └── ... # Other project files (e.g., Excel files for scenario analysis)
- Download this repository to your computer
- Place the
spiralgorithm/folder in the same parent directory asLCASpiralG1/andLCASpiralG2/- Example: If
LCASpiralG1/is in/home/username/Documents/, thenspiralgorithm/must also be in/home/username/Documents/
- Example: If
- Open the Jupyter notebook or run scripts from the
LCASpiralG1/orLCASpiralG2/directory depending which LCA study is performed (paper 1 or paper 2).
- The code automatically looks for
spiralgorithm/in the parent directory - If the folders aren't in the correct locations, you'll get
ModuleNotFoundError - For Windows users: Make sure to use forward slashes
/or raw stringsr"path\with\backslashes"
If you get errors about missing modules:
- Check your folder structure matches the diagram above
- Verify the paths in your code match your actual directory structure
- Run this in your notebook to check your working directory:
from pathlib import Path print("Current working directory:", Path.cwd())

