{"id":13721782,"url":"https://github.com/PREP-NexT/PREP-SHOT","last_synced_at":"2025-05-07T14:30:51.471Z","repository":{"id":101022742,"uuid":"497578580","full_name":"PREP-NexT/PREP-SHOT","owner":"PREP-NexT","description":"Pathways for Renewable Energy Planning coupling Short-term Hydropower OperaTion","archived":false,"fork":false,"pushed_at":"2025-04-26T10:41:33.000Z","size":75203,"stargazers_count":413,"open_issues_count":0,"forks_count":19,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-02T15:38:28.252Z","etag":null,"topics":["hydropower","renewable-energy","reservoir-modeling"],"latest_commit_sha":null,"homepage":"https://prep-next.github.io/PREP-SHOT/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PREP-NexT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-29T12:03:21.000Z","updated_at":"2025-04-26T10:37:44.000Z","dependencies_parsed_at":"2023-09-21T19:47:41.382Z","dependency_job_id":"7a2bdcbd-a819-4284-8f10-107ce9fd601e","html_url":"https://github.com/PREP-NexT/PREP-SHOT","commit_stats":{"total_commits":195,"total_committers":6,"mean_commits":32.5,"dds":0.6205128205128205,"last_synced_commit":"8aa259ddf0088128862ebab6a59c101677b38525"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PREP-NexT%2FPREP-SHOT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PREP-NexT%2FPREP-SHOT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PREP-NexT%2FPREP-SHOT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PREP-NexT%2FPREP-SHOT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PREP-NexT","download_url":"https://codeload.github.com/PREP-NexT/PREP-SHOT/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252215109,"owners_count":21712918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hydropower","renewable-energy","reservoir-modeling"],"created_at":"2024-08-03T01:01:21.302Z","updated_at":"2025-05-07T14:30:46.458Z","avatar_url":"https://github.com/PREP-NexT.png","language":"Jupyter Notebook","funding_links":[],"categories":["Energy Systems"],"sub_categories":["Energy System Modeling Frameworks"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://prep-next.github.io/PREP-SHOT/\"\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/50036800/221886195-3113531b-f9c4-4c6a-bb66-612c8b9c3d9a.png\" width=\"550\" alt=\"PREP-SHOT logo\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.python.org/\"\u003e\u003cimg alt=\"Build\" src=\"https://img.shields.io/badge/Made%20with-Python-1f425f.svg?color=purple\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/PREP-NexT/PREP-SHOT\"\u003e\u003cimg src=\"https://img.shields.io/github/contributors/PREP-NexT/PREP-SHOT.svg\" alt=\"GitHub contributors\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/PREP-NexT/PREP-SHOT\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/PREP-NexT/PREP-SHOT.svg\" alt=\"GitHub issues\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://twitter.com/PREPNexT_Lab\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/PREPNexT_Lab.svg?label=Follow\u0026style=social\" alt=\"Twitter Follow\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/PREP-NexT/PREP-SHOT\"\u003e\u003cimg src=\"https://img.shields.io/github/license/PREP-NexT/PREP-SHOT.svg\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/PREP-NexT/PREP-SHOT\"\u003e\u003cimg src=\"https://badges.frapsoft.com/os/v1/open-source.svg?v=103\" alt=\"Download\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://colab.research.google.com/github/PREP-NexT/PREP-SHOT/blob/main/example/single_node_with_hydro/main.ipynb\"\u003e\u003cimg src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Google Colab\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#overview\"\u003eOverview\u003c/a\u003e |\n  \u003ca href=\"#key-features\"\u003eFeatures\u003c/a\u003e |\n  \u003ca href=\"#getting-started\"\u003eQuick Start\u003c/a\u003e |\n  \u003ca href=\"#how-to-contribute\"\u003eContribute\u003c/a\u003e |\n  \u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e |\n  \u003ca href=\"#citation\"\u003eCitation\u003c/a\u003e\n\u003c/p\u003e\n\n## Overview\n\n**PREP-SHOT** (**P**athways for **R**enewable **E**nergy **P**lanning coupling **S**hort-term **H**ydropower **O**pera**T**ion) 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](https://www.researchgate.net/profile/Zhanwei-Liu-4) and [Xiaogang He](http://hydro.iis.u-tokyo.ac.jp/~hexg/) from the [PREP-NexT](https://github.com/PREP-NexT) Lab at the [National University of Singapore](https://nus.edu.sg/).\n\nFor more information, please visit the [Official Documentation](https://prep-next.github.io/PREP-SHOT/).\n\nThis project is licensed under the [GNU General Public License 3.0](https://github.com/PREP-NexT/PREP-SHOT/blob/main/LICENSE).\n\n## Why the Name?\n\nThe 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.\n\n## Key Features\n\n- Optimization model based on linear programming for multi-zone energy systems.\n- Cost minimization while meeting given demand time series.\n- Adjustable operation on hourly-spaced time steps.\n- Input data in Excel format and output data in ``NetCDF`` format using [Xarray](https://docs.xarray.dev/en/stable/).\n- Support for multiple solvers like [HiGHS](https://github.com/jump-dev/HiGHS.jl) , [GUROBI](https://www.gurobi.com/), [COPT](https://www.copt.de/), and [MOSEK](https://www.mosek.com/) via [PyOptInterface](https://github.com/metab0t/PyOptInterface).\n- Allows input of multiple scenarios for specific parameters.\n- A pure Python program, leveraging [pandas](https://pandas.pydata.org/) and [Xarray](https://docs.xarray.dev/en/stable/) for simplified complex data analysis and extensibility.\n\n## Getting Started\n\nThis section includes a brief tutorial on running your first PREP-SHOT model.\n\n1. Clone the repo\n\n    ```bash\n    git clone https://github.com/PREP-NexT/PREP-SHOT.git\n    ```\n\n2. Install the dependencies\n\n    ```bash\n    cd PREP-SHOT\n    conda create -n prep-shot python=3.8\n    conda activate prep-shot\n    pip install -r requirements.txt\n    ```\n\n3. Run your first model\n\n    ```bash\n    python run.py\n    ```\n\nThis example is inspired by real-world data. For a detailed elaboration of this tutorial, check out the [Tutorial Page](https://prep-next.github.io/PREP-SHOT/Tutorial.html) in our documentation.\n\nBy default, PREP-SHOT uses open-source [HiGHS](https://github.com/jump-dev/HiGHS.jl) 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:\n\n+ [Gurobi](https://www.gurobi.com/)\n+ [COPT](https://www.copt.de/)\n+ [MOSEK](https://www.mosek.com/)\n\n## How to Contribute\n\nTo contribute to this project, please read our [Contributing Guidelines](https://prep-next.github.io/PREP-SHOT/Changelog.html#contributing-to-prep-shot).\n\n## Citation\n\nIf you use PREP-SHOT in a scientific publication, we would appreciate citations. You can use the following BibTeX entry:\n\n```bibtex\n@article{liu2023,\n  title = {Balancing-oriented hydropower operation makes the clean energy transition more affordable and simultaneously boosts water security},\n  author = {Liu, Zhanwei and He, Xiaogang},\n  journal = {Nature Water},\n  volume = {1},\n  pages = {778--789},\n  year = {2023},\n  doi = {10.1038/s44221-023-00126-0},\n}\n```\n\n## Contact Us\n\nIf 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](mailto:liuzhanwei@u.nus.edu).\n\nPlease use the GitHub Issues for public discussions related to bugs, enhancements, or other project-related discussions.\n\n## Roadmap\n\n- [x] `Benders` decomposition-based fast solution framework\n- [x] [`PyOptInterface`](https://github.com/metab0t/PyOptInterface)-based low-memory and fast modelling engine\n- [x] Support for input of cost–supply curves of technologies\n- [ ] Support for expanding conventional hydropower plants\n- [ ] Support for refurbishing conventional hydropower plants to pumped-storage schemes\n- [ ] Support for refurbishing carbon-emission plants to carbon capture and storage (CCS) schemes\n\n## Disclaimer\n\nThe 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.\n\n---\n\n## Repo Activity\n![Repo Analytics](https://repobeats.axiom.co/api/embed/159a603ee4c6124a5addc35d47b3cb02e3fc39f0.svg \"Repo analytics\")\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=PREP-NexT/PREP-SHOT\u0026type=Date)](https://star-history.com/#PREP-NexT/PREP-SHOT\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPREP-NexT%2FPREP-SHOT","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPREP-NexT%2FPREP-SHOT","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPREP-NexT%2FPREP-SHOT/lists"}