Recent Releases of PyPSA-GB
PyPSA-GB - v2.2.0
PyPSA-GB v2.2.0
PyPSA-GB v2.2.0 adds a major two-stage market dispatch workflow, stronger historical market validation, improved ETYS network upgrade handling, and new tools for renewable aggregation and marginal-cost calibration.
Highlights
-
Added two-stage market dispatch:
- Stage 1 copperplate wholesale market solve.
- Stage 2 constrained balancing mechanism redispatch.
- Rolling day-ahead wholesale mode and rolling/per-timestep balancing mode.
- Optional wholesale-only workflow.
- Market dashboards, summaries, and generated analysis notebooks.
-
Added ELEXON and NESO market validation tooling:
- ELEXON BMRS bid/offer data retrieval and shared cache handling.
- BMU-to-generator mapping.
- ELEXON-derived bid/offer price support.
- BM calibration scorecards.
- NESO constraint validation and boundary analysis outputs.
-
Improved marginal-cost and subsidy modelling:
- Daily, thermal, and renewable marginal-cost calibration scripts.
- CfD and ROC subsidy tracking.
- Post-solve revenue accounting.
- Support for empirical renewable marginal costs from ELEXON bid data.
-
Improved ETYS network modelling:
- More robust ETYS upgrade application for circuits, transformers, and HVDC links.
- ETYS file registry for version-aware file and sheet handling.
- Better handling of HVDC aliases, coordinates, and network validation.
- New ETYS network figures for 2023 and 2035.
-
Added renewable aggregation:
- Optional aggregation of renewable generators by bus and carrier.
- Capacity-preserving aggregation with capacity-weighted
p_max_puprofiles. - Unit tests covering aggregation behaviour.
-
Expanded configuration and scenarios:
- New market scenario examples.
- Rolling market validation scenarios.
- Renewable performance factors.
- Embedded generation correction options.
- BM line-rating overrides and voltage-level relaxation settings.
-
Documentation updates:
- New market dispatch user guide.
- Updated API documentation for market, ETYS, and integration modules.
- Updated workflow, configuration, scenario, network, and troubleshooting docs.
- Added market dispatch tutorial.
Testing
This release adds unit coverage for renewable aggregation, BMU mapping, market utilities, connectivity repair, and updates workflow scenario validation tests.
Energy Systems - Global and Regional Energy System Models
- Jupyter Notebook
Published by andrewlyden 3 months ago
PyPSA-GB - v2.1.0
Demand-Side Flexibility (major new feature)
- Added heat pump flexibility modelling with three modes: TANK (hot water storage), COSY (building thermal mass pre-heating), and MIXED
- Added electric vehicle flexibility modelling with four tariff modes: GO (off-peak), INT (intelligent), V2G (vehicle-to-grid), and MIXED
- Added event response flexibility (demand response during peak windows)
- New orchestration script (add_demand_flexibility.py) integrates all three flexibility types into the Snakemake pipeline
- New support scripts: build_ev_availability.py, build_heat_profiles.py, finalize_demand_integration.py
- Flexibility configuration added to defaults.yaml with per-component enable/disable toggles
- New example scenarios: HT35_flex, HT30_event_response, HT35_year
Cutout Support
- Added Zenodo data download support
Network Clustering and Aggregation
- Added post-clustering component aggregation to reduce memory requirements (aggregate_components.py)
- New aggregate_components config block with toggles for storage units, loads, and stores
- Fixed component clustering issues
Solver and Numerics
- Relaxed default solver tolerances (BarConvTol, FeasibilityTol, OptimalityTol: 1e-5 to 1e-4) for stability with large storage models
- Increased NumericFocus from 2 to 3 (maximum numerical care)
- Added BarIterLimit solver parameter
Marginal Costs
- Added configurable marginal cost defaults for future scenarios (carbon price, fuel prices)
- Support for FES-extracted dynamic prices with fallback to configured defaults
- Tidied marginal cost application logic
ETYS Network
- Modified ETYS network mapping for flexibility integration
- Fixed DUKES carrier assignment
- Improved thermal plant spatial allocation
Carrier Definitions
- Registered 18+ new carriers (heat pump, EV, demand response, thermal, V2G, etc.)
Documentation
- Rebuilt Sphinx docs with updated content for clustering and flexibility features
Other
- Merged sector-coupling PR
- Cutout year now aligns with the selected scenario
- Added various diagnostic and test scripts
Energy Systems - Global and Regional Energy System Models
- Jupyter Notebook
Published by andrewlyden 6 months ago
PyPSA-GB - v2.0.0
PyPSA-GB v2.0.0
PyPSA-GB v2.0.0 is a major release of the open-source energy system model for Great Britain, designed for high-resolution, scenario-based electricity network analysis. This version features:
- Full support for ETYS (2000+ bus) transmission network, Reduced (32-bus), and Zonal (17-zone) models.
- Automated scenario routing: historical (DUKES, REPD, ESPENI) vs. future (FES, GSP-level, projections).
- Improved renewable and storage integration using FES GSP-level data and REPD patterns.
- Accurate spatial mapping with robust WGS84↔OSGB36 coordinate handling.
- ETYS Appendix B 2023 network upgrades (circuit, transformer, HVDC) with scenario-based filtering.
- Modular Snakemake workflow for reproducible, scalable runs.
- Enhanced debugging, validation, and logging tools.
- Performance optimizations for large networks and time series.
Ideal for researchers, planners, and policymakers modeling GB’s future electricity system.
Energy Systems - Global and Regional Energy System Models
- Jupyter Notebook
Published by andrewlyden 7 months ago