AIDAN KARASBoston UniversityContact
← Projects

PyGREET impact dominance — where does a life-cycle impact come from?

2026-05 → 2026-08 · completed · DOE SULI research software engineering intern, Argonne National Laboratory

A module for Argonne's PyGREET platform that breaks a life-cycle total into ranked per-process contributions. Merged upstream after review.

PythonNumPySciPyDjango RESTpytestGitHub Actions

Private repository

Overview

Life-cycle assessment normally reports one total per metric. During summer 2026 at Argonne National Laboratory (DOE SULI program, Life Cycle Analysis Group) I contributed a module to PyGREET, the Python platform for Argonne’s R&D GREET life-cycle model, which has 70,000+ users. The module shows where in a supply chain an impact comes from.

What I built

  • An impact dominance analyzer that ranks per-process contributions and reports how concentrated an impact is.
  • It reuses the engine’s already-solved sparse direct-contribution matrices, so there is no re-solve.
  • An upstream contribution tree builder.
  • Django REST endpoints, tested with pytest, pre-commit and GitHub Actions. The module was merged into PyGREET after review.
  • An interactive front end was designed as a wireframe only; it was not built.

Result

In a case study on battery-grade lithium hydroxide (a DOE critical material), at most 7 of 217 processes produced at least 80% of the impact for every indicator analyzed (GWP, CO2, energy, water, PM2.5). Which processes dominated changed from one indicator to the next.

Deliverables

Research report, symposium poster, lightning talk, general-audience abstract, and a peer review.

Scope note

The code lives in PyGREET, which is developed by Argonne’s group; I contributed this module and am not an author of the PyGREET platform or its publications.