eelib.data.dataclass.tariff

Dataclasses for tariffs and market data used in eELib.

Author: elenia@TUBS
Copyright 2024 elenia
This file is part of eELib, which is free software under the terms of the GNU GPL Version 3.

Module Contents

Classes

TariffData

Dataclass for Tariff data.

Attributes

_logger

_logger
class TariffData

Bases: eelib.data.dataclass.BaseData

Dataclass for Tariff data.

start_timestep

The start sim step for the data.

Type:

int | None

n_steps

The number of steps in the data.

Type:

int | None

resolution

The resolution of the tariff data in seconds.

Type:

int | None

price

A list of int | float values.

Type:

list[int | float] | int | float | None

feed_in_tariff

Feed-in tariff in EUR/kWh. If provided as dict, each key specifies a lower bound of DER power, and the corresponding value is the applicable tariff. If provided as list, it represents a time-variable feed-in-tariff. The feed_in_tariff as floats for each timestep. Defaults to 0.0.

Type:

float | list[float] | dict[float, float]

price_components_net

A dictionary of price components without tax. The keys are the names of the price components. The values are a list of values if the price component is time-dependent, or a single value if it is constant.

Type:

dict[str, list[int | float] | int | float]

tariff_additionals

A dictionary of additional tariff parts like base price or capacity fees.

Type:

dict[str, list[int | float] | int | float]

tax_rate

The tax rate for the tariff. This is used to calculate the tax part of the tariff. The tax part is calculated as the sum of all price components multiplied by the tax rate. If None, the price is net.

Type:

float | None

__post_init__() None

Post-init, it ensures feed_in_tariff contains the correct data types for HEMS.

get_index(timestep: int, sim_resolution: int) int | None

Get the index of the given timestep in the series data.

Parameters:
  • timestep (int) – The timestep to find in the series data.

  • sim_resolution (int) – The resolution of the simulation in seconds.

Returns:

The index of the timestep in the series data.

Return type:

int | None

reduce(timestep: int, sim_resolution: int) None

Reduce the tariff data to the given time.

Parameters:
  • timestep (int) – The timestep to reduce the series data to.

  • sim_resolution (int) – The resolution of the simulation in seconds.

resample(target_resolution: int) None

Resample the tariff to fit target_resolution Limited to mean agg function -> power, prices Not suitable for energy.

Parameters:

target_resolution (int) – the target resolution for resampling

Raises:

NotImplementedError – fractional resampling factors not supported