This project models PFAS use and environmental burden in a lithography-focused pathway linked to server/GPU scale growth.
The workflow is organized into three computational stages:
- Server projection: estimates quarterly server-scale growth with Monte Carlo sampling. This module was partially inspired by the methodology described in https://doi.org/10.1038/s43588-024-00712-6 and related materials available at https://zenodo.org/records/13790035.
- Emission model: converts scale into lithography PFAS usage, then maps usage to emissions across media.
- Burden model: applies treatment/destruction burden factors to emissions and calculates burden outputs.
The model results focus on 2025 to 2030, and outputs Excel files for downstream analysis and plotting.
At the top level:
Core code example/- Main and module code for the full pipeline.
Data input/- Required input Excel files used by the model.
Excel results/- All model output Excel files are written here.
Data for figures/- Organized data prepared for manuscript plotting.
Premise-IAM model/- Materials/scripts related to IAM-driven background database updating using premise.
Economic model/- Additional analysis resources for economic components.
Inside Core code example/:
PFAS usage-burden prediction.py- Main entry point. Orchestrates all modules and controls all Excel exports.
server_projection_module.py- Server projection Monte Carlo simulation and scale statistics.
emission_module.py- Lithography PFAS usage and media-specific emission calculations.
burden_module.py- Treatment/destruction burden calculations by medium and by process/component.
Inside Data input/:
data.xls- Main input workbook for server projection, lithography PFAS settings, emission factors, and toxicity inputs.
destruction summary.xls- Burden factor and uncertainty inputs for treatment/destruction pathways.
All outputs are written to Excel results/:
Result.xlsx- Core photolithography manufacturing summary.
PFAS_Litho_2021_2030.xlsx- Lithography usage and emissions by medium, plus quarterly computing power summary.
burden-type.xlsx- Burden results by treatment medium (gas/solid/solvent/water).
burden-process.xlsx- Burden results by lithography component/process category.
toxicity-PFOA-PFOS.xlsx- Toxicity summary outputs.
Run from the project root directory:
python "Core code example/PFAS usage-burden prediction.py"If your environment uses python3, run:
python3 "Core code example/PFAS usage-burden prediction.py"On successful execution, the script prints:
done
Note that the LCA results generated using premise and ecoinvent have already been integrated and provided in Excel format. Therefore, running premise or IAM models is not required here;
Typical Python dependencies:
numpypandasxlrd
- Current scope is lithography-focused PFAS usage and burden.
- The integrated pipeline follows:
server projection -> emission -> burden
- Existing formulas, uncertainty handling, and computational order are preserved in modular form.
- Main script controls output writing to keep I/O management centralized.
Data for figures/ contains curated, post-processed data used for manuscript plotting.
This folder includes the datasets for Figure 2 through Figure 5, and together they cover the core quantitative results presented in the paper.
Premise-IAM model/ documents and supports how IAM scenario information is integrated through the premise tool to update the background LCI database.
Core concept:
- Information from different IAM scenarios is harmonized via premise.
- These scenario signals are used to update the ecoinvent database.
- Activity-level results are adjusted over time according to socioeconomic development and energy system transitions.
For premise details, see:
- Update assumptions and parameters in
Data input/*.xls. - Run the main script.
- Review outputs in
Excel results/. - Use
Data for figures/for final plotting and manuscript figures.