Documented model frameworks associated with published and accepted research. Each repository gives the model formulation with references to the source equations, describes the data pipeline and the input formats, and includes a runnable implementation with examples on synthetic data and tests.
9framework repositories
Python3.10 or later, pip or conda
HiGHSopen solver by default for the optimization models; Gurobi optional
What every repository contains
Formulation
The mathematics, keyed to the article’s equation numbers.
Data pipeline
How each input is prepared, and the input file formats.
Implementation
A Python package with a command line.
Examples
Runnable examples on synthetic or illustrative data.
Tests
A pytest suite, run with one command after installation.
Open licences
MIT for code, CC BY 4.0 for documentation; citation metadata in CITATION.cff.
Repositories
One repository per framework, each with the paper or papers it accompanies.
Hydrogen systems Hourly MILP and lifecycle TEA
Nuclear–hydrogen integration framework
Henryutd2021/nuclear-hydrogen-integration
Hourly operation and sizing of a nuclear plant with high-temperature electrolysis, hydrogen storage and batteries, selling energy, hydrogen and ancillary services, linked to a lifecycle cash-flow model with federal tax credits. Includes the article’s 2024 PJM price inputs (PJM data, under PJM’s terms of use); the other examples run on synthetic data.
Accompanies
Python linopy HiGHS Gurobi (optional)
Nuclear & data centers Hourly MILP co-optimization
SMR cogeneration framework
Henryutd2021/smr-datacenter-cogeneration
A small modular reactor that supplies a data center with power and, through turbine steam extraction to an absorption chiller, with cooling: hourly co-optimization of reactor output, cooling and grid exchange, cost accounting and break-even metrics.
Python linopy HiGHS Gurobi (optional)
Nuclear & data centers Multi-account cost framework
CoDE framework
Henryutd2021/code-delayed-energization
The cost of delayed grid energization for AI data centers, kept in separate developer, ratepayer and social accounts, with the delay cost intensity and the break-even acceleration payment as metrics.
Accompanies
Python NumPy pandas
Hydrogen systems Two-stage stochastic LP
TXH2 framework
Henryutd2021/txh2-ercot-hydrogen
Two-stage stochastic planning of electrolyzers, hydrogen storage and fuel cells with inter-zonal hydrogen transport, under uncertain renewable build-out and electricity demand.
Accompanies
Python linopy HiGHS Gurobi (optional)
Hydrogen systems MILP
REopt hydrogen framework
Henryutd2021/reopt-hydrogen-framework
Sizing and dispatch of wind, solar, storage, electrolyzers, hydrogen tanks and fuel cells: a REopt-type MILP, with a concentrated-solar option.
Python linopy HiGHS Gurobi (optional)
Carbon-aware grid MILP
GHG load-regulation framework
Henryutd2021/ghg-load-regulation
Demand-side load regulation guided by real-time emission intensity, with a classification of grid regions by renewable penetration, generation diversity and emission-intensity fluctuation.
Accompanies
Python linopy HiGHS Gurobi (optional)
Microgrids & supply chains MILP and LP models
Supply chains with on-site microgrids
Henryutd2021/supply-chain-microgrid-models
Supply-chain facility location with on-site microgrids; virtual power plant scheduling in the day-ahead and intraday markets.
Python Pyomo HiGHS Gurobi (optional)
Wind uncertainty Uncertainty metrics and surrogates
Wind UQ surrogate framework
Henryutd2021/wind-uq-surrogate
Uncertainty metrics of a wind power model’s inputs, calibrated uncertainty targets at observed plants, and surrogate models validated on held-out plants, for plant-level power uncertainty where no measurements exist. Since v1.1.0, a public-data case study of 264 ERCOT wind plants (ARPA-E PERFORM, simulated plant power).
Accompanies
Python NumPy SciPy scikit-learn
Wind uncertainty Gaussian processes
MF-GPR framework
Henryutd2021/mfgpr-wind-power-curve
Multi-fidelity Gaussian process regression for probabilistic wind power curves, fusing the theoretical curve of the turbine type with measured operating records.
Accompanies
Python NumPy SciPy pandas
Data availability
The repositories present the modelling frameworks. They do not contain the code, the input data or the results used for the published articles. For the data and code of individual studies, see each paper’s data availability statement.