BDEW Load Profiles¶
Using the demandlib you can create heat and electrical profiles by scaling the BDEW profiles to your desired annual demand. The BDEW profiles are the standard load profiles from BDEW.
Heat Profiles¶
Description¶
Heat profiles are created according to the approach described in the BDEW guideline.
The method was originally established in this PhD Thesis at TU Munich.
The approach for generating heat demand profiles is described in section 4.1 (Synthetic load profile approach).
The geometric series approach is meant to account for thermal inertia.
Depending on the profile type, different coefficients A, B, C, D for the sigmoid function are used.
Types of houses:
Usage¶
from demandlib import bdew
...
Electrical Profiles¶
Description¶
The electrical profiles are the standard load profiles from BDEW. All profiles have a resolution of 15 minutes. They are based on measurements in the German electricity sector. There is a dynamic function (h0_dyn) for the houshold (h0) profile that better takes the seasonal variance into account [BDEW].
With t the day of the year as a decimal number.
The following profile types are available. Be aware that the types in Python code are strings in lowercase.
Typ | Beschreibung | Erläuterung |
---|---|---|
G0 | Gewerbe allgemein | Gewogener Mittelwert der Profile G1-G6 |
G1 | Gewerbe werktags 8–18 Uhr | z.B. Büros, Arztpraxen, Werkstätten, Verwaltungseinrichtungen |
G2 | Gewerbe mit starkem bis überwiegendem Verbrauch in den Abendstunden | z.B. Sportvereine, Fitnessstudios, Abendgaststätten |
G3 | Gewerbe durchlaufend | z.B. Kühlhäuser, Pumpen, Kläranlagen |
G4 | Laden/Friseur | |
G5 | Bäckerei mit Backstube | |
G6 | Wochenendbetrieb | z.B. Kinos |
G7 | Mobilfunksendestation | durchgängiges Bandlastprofil |
L0 | Landwirtschaftsbetriebe allgemein | Gewogener Mittelwert der Profile L1 und L2 |
L1 | Landwirtschaftsbetriebe mit Milchwirtschaft/Nebenerwerbs-Tierzucht | |
L2 | Übrige Landwirtschaftsbetriebe | |
H0/H0_dyn | Haushalt/Haushalt dynamisiert |
type | description | explanation |
---|---|---|
G0 | General trade/business/commerce | Weighted average of profiles G1-G6 |
G1 | Business on weekdays 8 a.m. - 6 p.m. | e.g. offices, doctors’ surgeries, workshops, administrative facilities |
G2 | Businesses with heavy to predominant consumption in the evening hours | e.g. sports clubs, fitness studios, evening restaurants |
G3 | Continuous business | e.g. cold stores, pumps, sewage treatment plants |
G4 | Shop/barber shop | |
G5 | Bakery with bakery | |
G6 | Weekend operation | e.g. cinemas |
G7 | Mobile phone transmitter station | continuous band load profile |
L0 | General farms | Weighted average of profiles L1 and L2 |
L1 | Farms with dairy farming/part-time livestock farming | |
L2 | Other farms | |
H0/H0_dyn | Household/dynamic houshold |
Further information in German language is available at the BDEW.
Usage¶
from demandlib import bdew
e_slp = bdew.ElecSlp(year=2020)
# get all available types
print(e_slp.get_profiles().columns)
# get the "h0" and "g0" profile
profiles = e_slp.get_profiles("h0", "g0")
# get scaled profiles
scaled_profiles = e_slp.get_scaled_profiles({"h0": 3000, "g0": 5000})
# get scaled profiles with power values instead of energy values
# a conversion_factor of 4 will convert Wh, kWh etc. to W, kW
e_slp.get_scaled_power_profiles({"h0": 3000, "g0": 5000}, conversion_factor=4)
# add holidays, holidays are treated as Sundays
holidays = {
datetime.date(2010, 1, 1): "New year",
datetime.date(2010, 10, 3): "Day of German Unity",
}
e_slp = bdew.ElecSlp(year=2010, holidays=holidays)
# holiday dictionaries can be created using workalendar
# https://github.com/workalendar/workalendar