Models / PyPSA-USA ERCOT

An open production-cost model of the ERCOT market covering most of Texas: full-year 2025 dispatch of the real fleet at 3-hourly resolution, in Convexity and PyPSA format.

License: MIT
Repository
Open
licenseMITproblemLP

Overview

An open model of the ERCOT power system covering most of Texas, across 185 county-level zones, modelling 2025 dispatch and production cost at 3-hourly resolution. ERCOT is electrically islanded (its own interconnect), so it is modelled in full rather than carved from a larger grid. It is derived from the open-source PyPSA-USA toolchain (more flexibly configurable through its full workflow); we host a ready-to-run 2025 model here for free, in Convexity .db and PyPSA .nc formats.

Model

A production-cost (historical back-cast) of the ERCOT market for 2025 at 3-hourly resolution:

  • Fleet — every operable generating unit from the latest EIA record (EIA-860 2024 final plus EIA-860M 2025 monthlies, so 2025 build-out is included), placed at its true coordinates.
  • Renewables — wind and solar capacity factors from ERA5 reanalysis (2025 weather), mapped to each bus.
  • Demand — hourly EIA-930 / GridEmissions actuals for the balancing authority.
  • Dispatch — an economic-dispatch LP (coal on a must-run floor; no unit commitment yet), fixed transmission, load-shedding priced at value of lost load, solved with MOSEK.

Because ERCOT runs as its own synchronous island, the whole system is modelled directly with no boundary imports to calibrate. It is a research-grade back-cast: indicative, not settlement-grade. Coal units carry a must-run floor (real Texas coal runs as constrained baseload rather than being out-competed by cheap gas in a pure LP), unit fuel costs and heat rates are held at 2024 (no 2025 EIA-923 yet), and wholesale-price validation is deferred.

A one-week demo of the 2025 model opens in Convexity and solves in about two minutes in the browser.

Scenario

Each .db ships with a what-if scenario alongside the historical-dispatch base case: a gas-price shock that raises every gas generator's marginal cost by 50%. Switch to it in Convexity and re-solve to watch gas cede the margin to coal, nuclear and renewables, with prices climbing in the hours gas would have set them. Only the changed generator costs are stored — everything else is shared with the base case.

Map

Every .db carries a US national border layer (GeoJSON from Natural Earth), drawn in the Convexity network tree and on the map, with each named unit pinned at its true county-level site — so the Texas footprint and its fleet sit in geographic context. Both the .db and the solved .nc are free downloads (sign-in).

Sources

  • Fleet & demand: EIA-860 / EIA-923 / EIA-930 (US Energy Information Administration, public domain).
  • Weather & renewables: ERA5 reanalysis (Copernicus / ECMWF); profiles via NREL GODEEEP.
  • Network & methodology: PyPSA-USA (MIT).
  • Solver: MOSEK.

Authors and Contributing

PyPSA-USA builds on and leverages the work of PyPSA-EUR developed by TU Berlin. PyPSA-USA is actively developed by the INES Research Group at Stanford University and the ΔE+ Research Group at Simon Fraser University. The authors welcome your contributions to this project. Please see the contributions guide in our readthedocs page for more information. Please do not hesitate to reach out to ktehranchi@stanford.edu or trevor_barnes@sfu.ca with specific questions, requests, or feature ideas.