This project leverages PyPSA (Python for Power System Analysis) to model and analyze hybrid renewable energy networks. It focuses on optimizing network design for cost, reliability, and efficiency by simulating energy flows, identifying bottlenecks, and comparing various scenarios.
- Overview
- Features
- Project Structure
- Getting Started
- Data
- Results
- Contributing
- License
- Acknowledgements
The project aims to:
- Model hybrid renewable energy systems incorporating wind, solar, and battery storage.
- Perform optimal power flow analysis to identify inefficiencies.
- Visualize network topology and energy flows.
- Compare different scenarios to enhance system performance.
- Hybrid Energy Modeling: Supports wind, solar, and battery storage integration.
- Optimal Power Flow: Performs cost and reliability optimization.
- Network Visualization: Provides detailed visualizations of network components and energy flows.
- Scenario Comparison: Evaluates different configurations for improved efficiency.
- Bottleneck Identification: Highlights inefficiencies and critical paths in the network.
Hybrid Renewable PyPSA Network Analysis/
├── config/ # Configuration files (anticipated)
│ └── (no files at the moment)
├── cwd/ # Standalone scripts for generating profiles
│ └── profiles_generator.ipynb
├── data/
│ ├── components/ # Component definitions (buses, generators, etc.)
│ │ ├── buses.csv
│ │ ├── generators.csv
│ │ ├── loads.csv
│ │ ├── storage_units.csv
│ │ ├── lines.csv
│ │ ├── transformers.csv
│ │ └── links.csv
│ ├── tech_libraries/ # Technology libraries
│ │ ├── generator_tech_library.csv
│ │ ├── storage_tech_library.csv
│ │ ├── transformer_tech_library.csv
│ │ └── line_types.csv
│ ├── constraints/ # Constraint definitions
│ │ ├── global_constraints.csv
│ │ ├── node_constraints.csv
│ │ └── branch_constraints.csv
│ ├── profiles/ # Time-series profiles
│ │ ├── load_profiles/
│ │ │ ├── residential_1.csv
│ │ │ ├── residential_2.csv
│ │ │ ├── residential_3.csv
│ │ │ ├── residential_4.csv
│ │ │ ├── commercial_1.csv
│ │ │ ├── commercial_2.csv
│ │ │ ├── commercial_3.csv
│ │ │ ├── industrial_1.csv
│ │ │ ├── industrial_2.csv
│ │ │ └── industrial_3.csv
│ │ ├── generator_profiles/
│ │ │ ├── solar-p_max_pu.csv
│ │ │ └── hydro-p_max_pu.csv
│ │ ├── grid_profiles/
│ │ │ └── grid_import_p_max_pu.csv
│ │ └── storage_profiles/ # (Optional storage profiles)
│ ├── metadata/ # Metadata for profiles and other data
│ │ ├── load_profiles_metadata.csv
│ │ ├── generator_profiles_metadata.csv
│ │ └── grid_profiles_metadata.csv
│ └── documentation/ # Project documentation and supplementary info
│ ├── README.md # Additional docs if needed
│ └── LICENSE
├── results/ # Output files (plots, analysis results, etc.)
│ ├── network_plot.png
│ └── network_interactive.html
├── src/ # Python source code for the project
│ ├── data_loader.py
│ ├── logger_setup.py
│ ├── network_setup.py
│ ├── network_plot.py
│ └── network_analysis.py
├── pyproject.toml # Poetry configuration and dependencies
├── README.md # Project overview
└── LICENSE # Project license
tests/ # Tests for the code in the src folder
│ └── (test scripts)
docs/ # Sphinx-generated documentation
│ └── (documentation build output)
.github/ # GitHub workflows and CI/CD configurations
│ └── workflows/
│ └── ci.yml
- Python 3.10.4 or higher
- Poetry 2.0.1 or higher (for dependency management)
- Clone the Repository:
git clone https://github.com/tinegachris/hybrid_renewable_pypsa.git
cd hybrid_renewable_pypsa
- Install Poetry (if not already installed):
curl -sSL https://install.python-poetry.org | python3 -
- Install Dependencies:
poetry install
- Run Network Setup:
poetry run python -m hybrid_renewable_pypsa.src.network_setup
- Run Network Analysis:
poetry run python -m hybrid_renewable_pypsa.src.network_analysis
- Plot Network:
poetry run python -m hybrid_renewable_pypsa.src.network_plot
Input data for the network analysis is stored in the data/
directory. This includes:
- CSV files: Hourly wind, solar, and load profiles.
- Configuration files: Network parameters and settings.
Outputs are saved in the results/
directory, including:
- Network diagrams: Visual representations of the network.
- Optimized power flow solutions: Results from the optimization process.
- Key performance indicators: Metrics for evaluating network performance.
Contributions are welcome! Please follow these steps:
- Open an issue to discuss proposed changes.
- Fork the repository and create a new branch.
- Submit a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- PyPSA Documentation
- The open-source community for their invaluable tools and resources.