Skip to content

PREP-NexT/PREP-SHOT

Repository files navigation

PREP-SHOT logo

Build GitHub contributors GitHub issues Twitter Follow License Download Google Colab

Overview | Features | Quick Start | Contribute | Roadmap | Citation

Overview

PREP-SHOT (Pathways for Renewable Energy Planning coupling Short-term Hydropower OperaTion) is a transparent, modular, and open-source energy expansion model, offering advanced solutions for multi-scale, intertemporal, and cost-effective expansion of energy systems and transmission lines. It's developed by Zhanwei Liu and Xiaogang He from the PREP-NexT Lab at the National University of Singapore.

For more information, please visit the Official Documentation.

This project is licensed under the GNU General Public License 3.0.

Why the Name?

The clean energy transition is our new moonshot to combat climate change – an ambitious 'shot' yet achievable. We're up to the challenge, which is why we developed PREP-SHOT to prepare us for this long shot.

Key Features

  • Optimization model based on linear programming for multi-zone energy systems.
  • Cost minimization while meeting given demand time series.
  • Adjustable operation on hourly-spaced time steps.
  • Input data in Excel format and output data in NetCDF format using Xarray.
  • Support for multiple solvers like HiGHS , GUROBI, COPT, and MOSEK via PyOptInterface.
  • Allows input of multiple scenarios for specific parameters.
  • A pure Python program, leveraging pandas and Xarray for simplified complex data analysis and extensibility.

Getting Started

This section includes a brief tutorial on running your first PREP-SHOT model.

  1. Clone the repo

    git clone https://github.com/PREP-NexT/PREP-SHOT.git
  2. Install the dependencies

    cd PREP-SHOT
    conda create -n prep-shot python=3.8
    conda activate prep-shot
    pip install -r requirements.txt
  3. Run your first model

    python run.py

This example is inspired by real-world data. For a detailed elaboration of this tutorial, check out the Tutorial Page in our documentation.

By default, PREP-SHOT uses open-source HiGHS solver. Solver-specific parameters are specified in the config.json file, which should be located in the current working directory. Additionaly, we provide the option to use one of the following three commercial solvers:

How to Contribute

To contribute to this project, please read our Contributing Guidelines.

Citation

If you use PREP-SHOT in a scientific publication, we would appreciate citations. You can use the following BibTeX entry:

@article{liu2023,
  title = {Balancing-oriented hydropower operation makes the clean energy transition more affordable and simultaneously boosts water security},
  author = {Liu, Zhanwei and He, Xiaogang},
  journal = {Nature Water},
  volume = {1},
  pages = {778--789},
  year = {2023},
  doi = {10.1038/s44221-023-00126-0},
}

Contact Us

If you have any questions, comments, or suggestions that aren't suitable for public discussions in the Issues section, please feel free to reach out to Zhanwei Liu.

Please use the GitHub Issues for public discussions related to bugs, enhancements, or other project-related discussions.

Roadmap

  • Benders decomposition-based fast solution framework
  • PyOptInterface-based low-memory and fast modelling engine
  • Support for input of cost–supply curves of technologies
  • Support for expanding conventional hydropower plants
  • Support for refurbishing conventional hydropower plants to pumped-storage schemes
  • Support for refurbishing carbon-emission plants to carbon capture and storage (CCS) schemes

Disclaimer

The PREP-SHOT model is an academic project and is not intended to be used as a precise prediction tool for specific hydropower operations or energy planning. The developers will not be held liable for any decisions made based on the use of this model. We recommend applying it in conjunction with expert judgment and other modeling tools in a decision-making context.


Repo Activity

Repo Analytics

Star History

Star History Chart