Skip to main content

HYdroPowER Simulation and Optimization Toolbox

Project description

HYPER: HYdroPowER Simulation and Optimization Toolbox

Welcome to the HYPER repository! This repository hosts Python code for HYPER (HYdroPowER), an advanced tool crafted to simulate and optimize the performance of run-of-river (RoR) hydropower plants. Built entirely in Python, this toolbox represents an evolution of an earlier version introduced in the paper by V. Yildiz and J. Vrugt, titled "A toolbox for the optimal design of run-of-river hydropower plants," which was published in Environmental Modelling & Software.

Overview

HYPER uses a daily time step to simulate various aspects of RoR hydropower plants, including: Technical performance Energy production Maintenance and operational costs Economic profit

The toolbox accounts for different design and construction variables and utilizes historical river flow records. It also includes an evolutionary algorithm to optimize various design parameters, such as: Penstock diameter Turbine type (Kaplan, Francis, Pelton) Turbine design flow Turbine configuration (single or multiple)

Additionally, HYPER allows for the simulation of predefined designs.

Contents

global_parameters.json: Contains global parameters for both optimization and simulation.

Run_Simulation.py: Main script to simulate energy production based on predefined design parameters.

sim_energy_functions.py: Includes functions for daily power production and objective functions for single and multiple operation modes in simulations.

model_functions.py: Contains all required sub-functions for the simulation and optimization processes.

Run_Optimisation.py: Main script to optimize the design of an RoR project.

opt_energy_functions.py: Includes functions for daily power production and objective functions for single and multiple operation modes in optimization.

Getting Started

Prerequisites

  1. Project Folder: Create a project folder on your desktop.

    • Example: HYPER_Project
  2. Input Data: Inside the project folder, create a subfolder named input and place the necessary input data files there.

    • Example: HYPER_Project/input/b_observed.txt (containing river flow records)
  3. Global Parameters: Modify the global_parameters.json file to suit your specific project requirements.

Installation

To install the HYPER package:

  1. Navigate to the project directory in your command line interface.
  2. Create a virtual environment:
    • Windows: py -m venv .venv
    • macOS / Linux: python3 -m venv .venv
  3. Activate the virtual environment:
    • Windows: .venv\Scripts\activate
    • macOS / Linux: source .venv/bin/activate
  4. Install the package:
    • py -m pip install .
    • For editable install: py -m pip install -e .

Usage

Single Objective Optimization To run a single objective optimization from the command line: py run-SO-opt

Multi Objective Optimization To run a multi-objective optimization from the command line: py run-MO-opt

If you are developing on the package you may wish to do an editable install: py -m pip install -e .

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

The development of this toolbox was introduced in the following papers:

V. Yildiz and J. Vrugt, "A toolbox for the optimal design of run-of-river hydropower plants," published in Environmental Modelling & Software. V. Yildiz, S. Brown, and C. Rouge, "Robust and Computationally Efficient Design for Run-of-River Hydropower," submitted to Environmental Modelling & Software. These papers laid the foundation for the methodologies and algorithms implemented in this HYPER toolbox.

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

hyper_ford-0.0.2.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

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

hyper_ford-0.0.2-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file hyper_ford-0.0.2.tar.gz.

File metadata

  • Download URL: hyper_ford-0.0.2.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for hyper_ford-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1141c6cb2727bd77cae5a37acbfc4ac697cda0ede3eede2460976301e3bd0573
MD5 f80bed9928f24f6152b73c4c35dc51f6
BLAKE2b-256 6540acb9f86a5b6fc30acd834a7035bbcaebffea8d5b5efd08efa182f34c1422

See more details on using hashes here.

File details

Details for the file hyper_ford-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: hyper_ford-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for hyper_ford-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aa464d87e15be332ef826486760f6696182c1ba460ad3f88195fc025f41147ee
MD5 0e01f33025e07350c2e539849977b2fd
BLAKE2b-256 6f1c3332cb47a8f186b9ddae47d9f7f90d373925faea1f2aaf4c9c4997b1aa78

See more details on using hashes here.

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