Implementation of the standard load profiles

class demandlib.bdew.elec_slp.ElecSlp(year, seasons=None, holidays=None)[source]

Bases: object

Generate electrical standardized load profiles based on the BDEW method.

  • datapath (string) – Path to the csv files containing the load profile data.
  • date_time_index (pandas.DateTimeIndex) – Time range for and frequency for the profile.
  • year (integer) – Year of the demand series.
  • Optional Parameters
  • ——————-
  • seasons (dictionary) – Describing the time ranges for summer, winter and transition periods.
  • holidays (dictionary or list) – The keys of the dictionary or the items of the list should be datetime objects of the days that are holidays.
all_load_profiles(time_df, holidays=None)[source]
create_bdew_load_profiles(dt_index, slp_types, holidays=None)[source]

Calculates the hourly electricity load profile in MWh/h of a region.


Use the dynamisation function of the BDEW to smoothen the seasonal edges. Functions resolution is daily.

f(x) = -3.916649251 * 10^-10 * x^4 + 3,2 * 10^-7 * x³ - 7,02
* 10^-5 * x²+0,0021 * x +1,24

Adjustment of accuracy: from -3,92 to -3.916649251


Get the profiles for the given annual demand

Parameters:ann_el_demand_per_sector (dictionary) – Key: sector, value: annual value
Returns:pandas.DataFrame (Table with all profiles)

Implementation of the bdew heat load profiles

class demandlib.bdew.heat_building.HeatBuilding(df_index, **kwargs)[source]

Bases: object


year (int) – year for which the profile is created

  • datapath (string) – path to the bdew basic data files (csv)
  • temperature (pandas.Series) – Series containing hourly temperature data
  • annual_heat_demand (float) – annual heat demand of building in kWh
  • building_class (int) – class of building according to bdew classification possible numbers are: 1 - 11
  • shlp_type (string) – type of standardized heat load profile according to bdew possible types are: GMF, GPD, GHD, GWA, GGB, EFH, GKO, MFH, GBD, GBA, GMK, GBH, GGA, GHA
  • wind_class (int) – wind classification for building location (0=not windy or 1=windy)
  • ww_incl (boolean) – decider whether warm water load is included in the heat load profile

Calculation of the hourly heat demand using the bdew-equations


Calculation of the normalized hourly heat demand


Determine the h-values

Parameters:filename (string) – name of file where sigmoid factors are stored

Retrieve the sigmoid parameters from csv-files

Parameters:filename (string) – name of file where sigmoid factors are stored

Appoints the corresponding temperature interval to each temperature in the temperature vector.


Retrieve the weekday parameter from csv-file

Parameters:filename (string) – name of file where sigmoid factors are stored

A new temperature vector is generated containing a multi-day average temperature as needed in the load profile function.

Parameters:how (string) – string which type to return (“geometric_series” or “mean”)


Equation for the mathematical series of the average temperature [1]:

T=\frac{T_{D}+0.5\cdot T_{D-1}+0.25\cdot T_{D-2}+
        0.125\cdot T_{D-3}}{1+0.5+0.25+0.125}

with T_D = Average temperature on the present day
T_{D-i} = Average temperature on the day - i


[1]BDEW, # noqa: E501 BDEW Documentation for heat profiles.

Implementation of the bdew standard load profiles for electric power.

class demandlib.particular_profiles.IndustrialLoadProfile(dt_index, holidays=None)[source]

Bases: object

Generate an industrial heat or electric load profile.

simple_profile(annual_demand, **kwargs)[source]

Create industrial load profile


annual_demand (float) – Total demand.

Other Parameters:
  • am (datetime.time) – beginning of workday
  • pm (datetime.time) – end of workday
  • week (list) – list of weekdays
  • weekend (list) – list of weekend days
  • profile_factors (dictionary) – dictionary with scaling factors for night and day of weekdays and weekend days