Skip to main content

Calculate aFRR remuneration in resolution of seconds

Project description

e2m logo

aFRR remuneration

A tool to calculate the aFRR remuneration for the european energy market.

About

This project was initiated with the start of aFRR remuneration in temporal resolution of seconds on October 1st 2021 which is one further step to fulfill the EU target market design. The motivation for creating this python package is to provide a tool for evaluating remuneration of aFRR activation events by TSOs. Therefore, it provides an implementation of the calculation procedure described in the model description as python code.

Installation

We aim to release a package on PyPi soonish. Until then, please see in development installation how to install the package from sources.

Usage

Here is some example code that shows how use functionality of this package. Make sure you have a file at hand with data about setpoints and actual values of an aFRR activation event. See the example files from regelleistung.net to understand the required file format. Note, you have to make sure that data starts at the beginning of an aFRR activation event.

from afrr_renumeration.aFRR import calc_acceptance_tolerance_band, calc_underfulfillment_and_account
from afrr_renumeration.data import parse_tso_data

# load the setpoint and the measured value for example by reading the tso data
file = "20211231_aFRR_XXXXXXXXXXXXXXXX_XXX_PT1S_043_V01.csv"
tso_df = parse_tso_data(file)

# calculate the tolerance band 
band_df = calc_acceptance_tolerance_band(
    setpoint=tso_df["setpoint"], measured=tso_df["measured"]
    )

# calculate acceptance values and other relevant serieses like the under-/overfulfillment 
underful_df = calc_underfulfillment_and_account(
    setpoint=band_df.setpoint,
    measured=band_df.measured,
    upper_acceptance_limit=band_df.upper_acceptance_limit,
    lower_acceptance_limit=band_df.lower_acceptance_limit,
    lower_tolerance_limit=band_df.lower_tolerance_limit,
    upper_tolerance_limit=band_df.upper_tolerance_limit,
)

Next Steps

We plan to

  • Add a testfile with artificial data
  • Add an example with a valid MOL

Feel free to help us here!

Contributing

Contributions are highly welcome. For more details, please have a look in to contribution guidelines.

Development installation

For installing the package from sources, please clone the repository with

git clone git@github.com:energy2market/afrr-remuneration.git

Then, in the directory afrr-remuneration (the one the source code was cloned to), execute

poetry install

which creates a virtual environment under ./venv and installs required package and the package itself to this virtual environment. Read here for more information about poetry.

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

afrr-remuneration-0.0.1.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

afrr_remuneration-0.0.1-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file afrr-remuneration-0.0.1.tar.gz.

File metadata

  • Download URL: afrr-remuneration-0.0.1.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1025-azure

File hashes

Hashes for afrr-remuneration-0.0.1.tar.gz
Algorithm Hash digest
SHA256 e08f32da1968f65ba20e784085081d8b3ce46bbbd73f685abad763b887a2533a
MD5 7247a9c53de4381c69dd706437154ec0
BLAKE2b-256 9e28bfff8972d84ec6ad9ec4525e8f9ccddccea2bfe9f13acc042829807b618d

See more details on using hashes here.

File details

Details for the file afrr_remuneration-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: afrr_remuneration-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1025-azure

File hashes

Hashes for afrr_remuneration-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1a976573e49be14c34bf704c72581b85f927149597c741f9150a708e106dda5
MD5 40b4048430457f96787fd6b762cf3c1e
BLAKE2b-256 19d462b92179275780793df3b20445df0096b1f76016e29febb0b0f636c6d4b2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page