Skip to main content

An open-source capacity expansion model based on the methodology and datasets used by the Australian Energy Market Operator (AEMO) in their Integrated System Plan (ISP).

Project description

ISPyPSA

Continuous Integration and Deployment codecov pre-commit.ci status UV

An open-source capacity expansion modelling tool based on the methodology and assumptions used by the Australian Energy Market Operator (AEMO) to produce their Integrated System Plan (ISP). Built on PyPSA.

This README is a quick reference. For detailed instructions, tutorials, and API documentation, see the full documentation:

Installation

pip install ispypsa

Or with uv:

uv add ispypsa

Quick Start

  1. Download the example config and edit paths for your environment
  2. Run:
# Download ISP workbook and trace data
ispypsa config=ispypsa_config.yaml download_workbook
ispypsa config=ispypsa_config.yaml download_trace_data

# Run complete workflow (capacity expansion + operational model)
ispypsa config=ispypsa_config.yaml

CLI Reference

Task Description
download_workbook Download IASR Excel workbook
download_trace_data Download wind/solar/demand traces
cache_required_iasr_workbook_tables Extract workbook data to CSV cache
create_ispypsa_inputs Generate ISPyPSA input tables
create_pypsa_friendly_inputs Convert to PyPSA format
create_and_run_capacity_expansion_model Build and solve capacity expansion
create_and_run_operational_model Build and solve operational model
create_capacity_expansion_plots Generate result plots
create_operational_plots Generate operational plots
list Show available tasks

Common Options

# Override config values on command line
ispypsa config=config.yaml create_plots=True create_and_run_capacity_expansion_model

# Skip optimisation (build network only)
ispypsa config=config.yaml run_optimisation=False create_and_run_capacity_expansion_model

# Force re-run even if up-to-date
ispypsa config=config.yaml -a create_ispypsa_inputs

Output Structure

<run_directory>/
└── <ispypsa_run_name>/
   ├── ispypsa_inputs/
   │   ├── build_costs.csv
   │   └── ...
   ├── pypsa_friendly/
   │   ├── buses.csv
   │   ├── ...
   │   ├── capacity_expansion_timeseries/
   │   │   ├── demand_traces/
   │   │   │   ├── CNSW.parquet
   │   │   │   └── ...
   │   │   ├── solar_traces/
   │   │   │   ├── Bomen Solar Farm.parquet
   │   │   │   └── ...
   │   │   └── wind_traces/
   │   │       ├── Ararat Wind Farm.parquet
   │   │       └── ...
   │   └── operational_timeseries/
   │       └── (same structure as capacity_expansion_timeseries)
   └── outputs/
       ├── capacity_expansion.nc
       ├── capacity_expansion_results_viewer.html
       ├── capacity_expansion_tables
       │   └── ...
       ├── capacity_expansion_plots
       │   └── ...
       ├── operational.nc
       ├── operational_results_viewer.html
       ├── operational_tables
       │   └── ...
       └── operational_plots
           └── ...

Related Projects

Contributing

Interested in contributing to the source code or adding table configurations? Check out the contributing instructions, which also includes steps to install ispypsa for development.

Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

ispypsa was created as a part of the OpenISP project. It is licensed under the terms of GNU GPL-3.0-or-later licences.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ispypsa-0.1.1b1.tar.gz (135.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ispypsa-0.1.1b1-py3-none-any.whl (169.1 kB view details)

Uploaded Python 3

File details

Details for the file ispypsa-0.1.1b1.tar.gz.

File metadata

  • Download URL: ispypsa-0.1.1b1.tar.gz
  • Upload date:
  • Size: 135.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ispypsa-0.1.1b1.tar.gz
Algorithm Hash digest
SHA256 5532a8f968b62e10edda7065d4c69433f8689849c07a8a30b93bfa444498230a
MD5 cc92f5315fe8674f9cd6c6fd6e5ceb07
BLAKE2b-256 f4766435386c6096eab05c9b980e1a5340c8e74e904c9b40e3eefb961293f3e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ispypsa-0.1.1b1.tar.gz:

Publisher: cicd.yml on Open-ISP/ISPyPSA

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ispypsa-0.1.1b1-py3-none-any.whl.

File metadata

  • Download URL: ispypsa-0.1.1b1-py3-none-any.whl
  • Upload date:
  • Size: 169.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ispypsa-0.1.1b1-py3-none-any.whl
Algorithm Hash digest
SHA256 abc9c4377aace52ae1160f261c6af18d4d056c88d196d00da1c06ff699dd7ab7
MD5 f8fc94283ba1c1a52227bfe192572085
BLAKE2b-256 0e37e547934fbc12dc43fe7c4be200dab6f388a8fe5dbc821c8a5b8472d86f06

See more details on using hashes here.

Provenance

The following attestation bundles were made for ispypsa-0.1.1b1-py3-none-any.whl:

Publisher: cicd.yml on Open-ISP/ISPyPSA

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page