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_pu profiles.
    • 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

PyPSA-GB - v1.0.0

Energy Systems - Global and Regional Energy System Models - Jupyter Notebook
Published by andrewlyden over 2 years ago