Skip to main content

Peak shaving analysis for industrial load profiles

Project description

Peak Shaving Analyzer

This repository contains tools and utilities for analyzing and optimizing energy consumption with peak shaving strategies. The project includes data fetching, analysis, and visualization components, as well as Docker configurations for deployment.

Table of Contents

Overview

Peak shaving is a strategy to reduce energy costs by minimizing peak demand utilizing energy storage systems. This project provides tools to optimize a given consumption time series with peak-shaving reducing capacity costs and visualizing results using Grafana.

Features

  • Peak shaving optimization using FINE by FZJ
  • Easy configuration of many parameters
  • Support for dynamic prices
  • Inclusion of PV system integration with automatic retrieving of generation timeseries depending on location (with detection for leap years)
  • Dockerized deployment with Grafana dashboards
  • Example configurations for various scenarios

Installation

You can install peakshaving-analyzer using pip. Choose the appropriate installation method based on your needs:

Using pip

To install the core package:

pip install peakshaving-analyzer

Timescale Database and Grafana Dashboards

If you want to benefit from a supported database and integrated Grafana dashboards for scenario analysis, you can use the provided Docker Compose file.

Follow these steps:

  1. Clone the repository and navigate to its directory:
git clone https://github.com/NOWUM/peakshaving-analyzer.git
cd peakshaving-analyzer
  1. Start the database and Grafana using the following command:
docker compose up -d

This will launch a container for TimescaleDB and Grafana with preconfigured dashboards for analysis. You can access the Grafana dashboards at http://localhost:3000.

Usage

from peakshaving_analyzer import Config, PeakShavingAnalyzer


config = Config("/path/to/your/config/file.yml")
psa = PeakShavingAnalyzer(config=config)

The optimization can be adjusted by changing values in the config.yml file.

If you're connecting to your own database either create the predefined tables or set overwrite_existing_optimization to False on the first optimization.

Examples

In the examples directory are four examples:

  • A scenario examining only a storage system using hourly values with a fixed, non-dynamic price for the used energy.
  • A scenario examining only a storage system using quarterhouly values with a fixed, non-dynamic price for the used energy.
  • A scenario examining only a storage system using quarterhourly values with a dynamic, time-depended price for the used energy.
  • A scenario examining a storage system as well as a photovoltaic system using hourly values with a dynamic, time-depended price for the used energy.

You can run these examples with python3 ./examples/example/main.py from the base directory.

License

This project is licensed under the terms of the LICENSE file.

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

peakshaving_analyzer-0.0.3.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

peakshaving_analyzer-0.0.3-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file peakshaving_analyzer-0.0.3.tar.gz.

File metadata

  • Download URL: peakshaving_analyzer-0.0.3.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for peakshaving_analyzer-0.0.3.tar.gz
Algorithm Hash digest
SHA256 448095325cb59ee3f0004e1ca853a906a308d83b141f4386241c47a6df86471e
MD5 93ccdc4a8ab94811dd12fa6452eec645
BLAKE2b-256 3a97b089bf2e6c19a8e3f9278358c95640d1ea3a7d4f0d5bdde1720eca05c12e

See more details on using hashes here.

Provenance

The following attestation bundles were made for peakshaving_analyzer-0.0.3.tar.gz:

Publisher: publish.yml on NOWUM/peakshaving-analyzer

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

File details

Details for the file peakshaving_analyzer-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for peakshaving_analyzer-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 35d40a5c08bd184641ad78c37bae340351507e397792134fc557b68ff123e38c
MD5 ee25cb71425efb5ccc405ce8e0e5e95f
BLAKE2b-256 fed390a03e5f41b725a4cf016a929631587d28e2d3aea9135ce27ff8084f809c

See more details on using hashes here.

Provenance

The following attestation bundles were made for peakshaving_analyzer-0.0.3-py3-none-any.whl:

Publisher: publish.yml on NOWUM/peakshaving-analyzer

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 Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page