ADM1-TEA-LCA
An executable record of earlier ADM1-based grass-silage/cattle-slurry biomethane research, including simulation, techno-economic analysis, partial environmental accounting, finite-grid optimization, robustness and sensitivity analysis.
한국어 설명 · Reconstruction record · Light test record
Purpose and provenance
The existing mass-based ADM1/R1–R4 equation sources and archived input tables are preserved byte-for-byte. The missing analysis interfaces were reconstructed on 2026-10-24 from the project's July–August research notes. This is a research-code record, not a claim of complete historical numerical reproduction. No DWSIM, Aspen or downstream hydrogen optimization is included.
Install
Python 3.10 or newer:
python -m pip install adm1-tea-lca
adm1-tea-lca run --output runs/baseline
adm1-tea-lca demo --output runs/demo
From a source checkout:
python -m pip install -e ".[dev]"
python run.py run --config examples/recorded_baseline.json --output runs/baseline
python run.py demo --output runs/demo
python -m pytest -q
Existing run directories are not overwritten. The default representative point
uses a silage VS fraction of 0.8, HRT of 30 days, OLR of 2 kg VS/m3/d, and
10,000 m3 liquid volume. demo adds only a four-point grid, an eight-row OAT
screen and 64 descriptive sensitivity samples.
from adm1_tea_lca import PlantEvaluator
from adm1_tea_lca.analysis import grid_search
plant = PlantEvaluator()
result = plant.evaluate(silage_vs_fraction=0.8, hrt_days=30, olr=2)
print(result["tea"]["npv_eur"], result["tea"]["lcob_eur_mwh"])
grid = grid_search(plant, fractions=[0.6, 0.8], hrts=[25., 30.], olrs=[2.])
Workflow and modules
feed characterization -> direct ADM1 integration -> gas/product/material ledger -> TEA and partial GHG screen -> finite-grid analyses -> hashed records
| Module | Role | Status |
|---|---|---|
_legacy/adm1_basic.py, adm1_r1.py–adm1_r4.py |
Existing model equations | Preserved source bytes |
_legacy/input.py, initial.py, parameters.py, main.py |
Existing inputs and runner | Preserved source bytes |
adm1.py |
Feed mixing, BDF integration, state diagnostics and gas conversion | New adapter |
tea.py |
CAPEX/OPEX, cash flows, NPV, IRR, LCOB and payback | Reconstructed from notes |
lca.py |
Incurred GHG, counterfactual credits and missing inventories | Reconstructed from notes |
boundaries.py |
Optional empirical HRT-loss and TS-rheology postprocessing | Reconstructed from notes |
pipeline.py |
One-way calculation and consistent product-loss ledger | Reconstructed interface |
analysis.py |
Grid search, Pareto screen, robustness kernel, OAT and sampled ranks | Lightweight implementation |
records.py |
Settings, environment, source and result SHA-256 records | New recording interface |
Recorded execution
The release includes recorded_runs/demo_20261024/:
evaluation.json: feed quantities, 34 states, pH, gas, trajectory, numerical diagnostics, economic/environmental outputs and assumptions;analyses.json: finite-grid, Pareto, robustness and sensitivity results;grid.csv: the four accepted evaluated points; andrun_manifest.json: versions, command and source/input/output hashes.
The five light tests passed. The representative run converged at pH 7.7640
and produced 5,773.5003 Nm3/d saleable methane under the declared losses.
The tests check execution and bookkeeping, rather than experimental validity.
SOURCE_MANIFEST.json identifies the preserved originals. The release record
ZIP includes all code, documentation and the small executed example.
Interpretation limits
- The integrated runner uses the full 34-state model. R1–R4 are retained for provenance and were not individually revalidated in this light test scope.
- Effective feed inputs already include their degradability mapping; DQ is not applied twice. The archived parameter temperature remains 311 K.
- Gas is converted from component mass to dry-normal Nm3. Digester leak and upgrading losses consistently affect both product energy and methane emissions.
- Digestate mass is obtained by difference. Its ledger closure is not an independent elemental-balance validation.
- Empirical HRT/rheology corrections default to off. Enable them with
--historical-boundaries. They are recorded postprocessing assumptions, not validated collapse predictions. Influent TS is the default solids basis; the old digestate proxy is an explicitly named optional approximation. - LCOB is EUR/MWh and excludes co-product revenue; the cash-flow metrics include the declared digestate revenue and financial assumptions. No new cost-year escalation has been applied.
- Environmental outputs are a partial historical GHG screen. Full LCA remains null. In particular, the archived fertilizer credit scales with wet digestate mass including dilution water and can overstate credits. Negative partial balances must not be reported as product footprints or verified savings.
- Robustness uses a normalized kernel on the available finite grid. It is not the original full-domain expected-NPV convolution. The sampled rank screen is descriptive Spearman analysis, not a reproduction of historical Borgonovo-delta/PAWN GSA or a convergence claim.
Citation and license
Software creator: Ugwiyeon Lee, Korea Gas Safety Corporation. Cite the
versioned software archive described in CITATION.cff; the Zenodo DOI is added
after the first release is archived.
The repository uses the MIT license. Upstream attribution is retained
in THIRD_PARTY_NOTICES.md and
third_party_licenses/Weinrich-MIT.txt.
Metadata
Release files for adm1-tea-lca 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| adm1_tea_lca-0.1.0.tar.gz | 59.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adm1_tea_lca-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 121.5 kB
Release files / adm1_tea_lca-0.1.0.tar.gz
| Download URL | adm1_tea_lca-0.1.0.tar.gz |
|---|---|
| Size | 59.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
891215e3226e719f2f1933f6992744cfa03ff035bc144c83ac1b909cbb8f551b
|
|
BLAKE2b-256 checksum How to use checksums |
ca5aecb48209e1e6e32d634b942004c8026921eb46af083b0cdecae13224df6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logRelease files / adm1_tea_lca-0.1.0-py3-none-any.whl
| Download URL | adm1_tea_lca-0.1.0-py3-none-any.whl |
|---|---|
| Size | 62.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dac9f23c9ad55c9bba192679d4eb693c8b0c2ef224605758f1b144ebe37c4b0e
|
|
BLAKE2b-256 checksum How to use checksums |
faae4f68a9322b5f58b339e7843e54ef531d8ab903feb6170e0fa01270285500
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logSecurity for adm1-tea-lca 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for adm1_tea_lca-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.