Heating profile
The heat profile is based on the Hellwig. Besides of the year the function needs to be provided with one of the following building types:
EFH: Einfamilienhaus (single family house)
MFH: Mehrfamilienhaus (multi family house)
GMK: Metall und Kfz (metal and automotive)
GHA: Einzel- und Großhandel (retail and wholesale)
GKO: Gebietskörperschaften, Kreditinstitute und Versicherungen (Local authorities, credit institutions and insurance companies)
GBD: sonstige betriebliche Dienstleistung (other operational services)
GGA: Gaststätten (restaurants)
GBH: Beherbergung (accommodation)
GWA: Wäschereien, chemische Reinigungen (laundries, dry cleaning)
GGB: Gartenbau (horticulture)
GBA: Backstube (bakery)
GPD: Papier und Druck (paper and printing)
GMF: haushaltsähnliche Gewerbebetriebe (household-like business enterprises)
GHD: Summenlastprofil Gewerbe/Handel/Dienstleistungen (Total load profile Business/Commerce/Services)
Furthermore, holidays can be given and a building class (1-11) for the EFH and MFH profile must be given. An annual demand needs to be given to scale the profile to the needed yearly demand. Further information can be found here:heat_profile
An example is:
1import datetime
2
3import pandas as pd
4
5from tssm import profile_generation
6
7
8def main():
9 holidays = [
10 datetime.datetime(2010, 5, 24),
11 datetime.datetime(2010, 4, 5),
12 datetime.datetime(2010, 5, 13),
13 datetime.datetime(2010, 1, 1),
14 datetime.datetime(2010, 10, 3),
15 datetime.datetime(2010, 12, 25),
16 datetime.datetime(2010, 5, 1),
17 datetime.datetime(2010, 4, 2),
18 datetime.datetime(2010, 12, 26),
19 ]
20 holiday_saturday = [datetime.datetime(2010, 3, 29), datetime.datetime(2010, 12, 24), datetime.datetime(2010, 12, 31)]
21
22 temperature = pd.read_csv("temperature_data.csv", index_col=0)["temperature"].to_numpy()
23 efh_profile = profile_generation.create_heat_profile(
24 temperature,
25 2010,
26 "EFH",
27 11,
28 25_000,
29 wind_impact=True,
30 holidays_as_sundays=holidays,
31 holidays_as_saturdays=holiday_saturday,
32 include_domestic_hot_water=True,
33 )
34 print(f"Generated heat profile with a yearly demand of {efh_profile.sum():.0f} kWh")
35
36 gmk_profile = profile_generation.create_heat_profile(
37 temperature,
38 2010,
39 "GMK",
40 0,
41 55_000,
42 wind_impact=False,
43 holidays_as_sundays=holidays,
44 holidays_as_saturdays=holiday_saturday,
45 include_domestic_hot_water=False,
46 )
47 print(f"Generated heat profile with a yearly demand of {gmk_profile.sum():.0f} kWh")
48
49
50if __name__ == "__main__":
51 main()
Contents: