diff --git a/Model_Library b/Model_Library
index a23357dda91a859b2aca04bb833d11e935106a60..c9a8706272165916d927210c8f58d9e282388fc2 160000
--- a/Model_Library
+++ b/Model_Library
@@ -1 +1 @@
-Subproject commit a23357dda91a859b2aca04bb833d11e935106a60
+Subproject commit c9a8706272165916d927210c8f58d9e282388fc2
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/running_179_2022.csv b/input_files/models/prosumer_models/building_types_aachen_2022/running_179_2022.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7174cb266894e0433cb00ceac866ce72bdc58d84
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/running_179_2022.csv
@@ -0,0 +1,197 @@
+,ID_Building,reference_el_demand,reference_heat_demand,reference_hot_water,profile_el,profile_th,Building_type,name_building
+0,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_0
+1,A_13_STR,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_STR_Q_179_1
+2,AE_2,3658.128906,14725.30522,1060.020259,h0+g4,GMF,0,AE_2_Q_179_2
+3,AC_0,8095.942719,45944.03015,1391.120775,h0+g1,GMF,0,AC_0_Q_179_3
+4,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_4
+5,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_5
+6,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_6
+7,A_24,29861.09516,120201.8167,8652.884205,h0,MFH,1,A_24_Q_179_7
+8,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_8
+9,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_9
+10,AC_0,7063.27682,44458.15329,900.9139906,h0+g1,GMF,0,AC_0_Q_179_10
+11,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_179_11
+12,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_12
+13,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_13
+14,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_14
+15,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_15
+16,A_27_PV5.0,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_PV5.0_Q_179_16
+17,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_17
+18,N_0,16602.35612,29318.56517,1312.394883,g1,GBD,0,N_0_Q_179_18
+19,A_24,29861.09516,120201.8167,8652.884205,h0,MFH,1,A_24_Q_179_19
+20,A_24,29861.09516,120201.8167,8652.884205,h0,MFH,1,A_24_Q_179_20
+21,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_21
+22,A_24,29861.09516,120201.8167,8652.884205,h0,MFH,1,A_24_Q_179_22
+23,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_23
+24,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_24
+25,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_25
+26,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_179_26
+27,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_27
+28,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_28
+29,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_29
+30,A_13_PV10.0,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_PV10.0_Q_179_30
+31,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_31
+32,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_32
+33,A_13_PV10.0,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_PV10.0_Q_179_33
+34,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_34
+35,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_35
+36,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_36
+37,A_8_STR,82147.63936,330674.2582,23804.01681,h0,MFH,1,A_8_STR_Q_179_37
+38,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_38
+39,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_39
+40,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_40
+41,AC_0,7063.27682,44458.15329,900.9139906,h0+g1,GMF,0,AC_0_Q_179_41
+42,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_42
+43,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_43
+44,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_44
+45,N_0,16602.35612,29318.56517,1312.394883,g1,GBD,0,N_0_Q_179_45
+46,AC_0,7063.27682,44458.15329,900.9139906,h0+g1,GMF,0,AC_0_Q_179_46
+47,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_47
+48,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_48
+49,A_9,24734.64265,99565.97261,7167.386111,h0,MFH,1,A_9_Q_179_49
+50,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_179_50
+51,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_51
+52,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_52
+53,AE_2,3658.128906,14725.30522,1060.020259,h0+g4,GMF,0,AE_2_Q_179_53
+54,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_54
+55,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_179_55
+56,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_179_56
+57,AC_0,7063.27682,44458.15329,900.9139906,h0+g1,GMF,0,AC_0_Q_179_57
+58,A_13_STR,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_STR_Q_179_58
+59,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_59
+60,A_0_PV9.0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV9.0_Q_179_60
+61,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_61
+62,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_62
+63,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_179_63
+64,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_64
+65,L_0,4160.278216,11840.43691,468.9450257,l2,GGB,0,L_0_Q_179_65
+66,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_66
+67,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_67
+68,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_68
+69,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_179_69
+70,AE_2,3658.128906,14725.30522,1060.020259,h0+g4,GMF,0,AE_2_Q_179_70
+71,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_71
+72,D_0,4108.428458,11693.41854,74.68525454,l0,GMK,0,D_0_Q_179_72
+73,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_73
+74,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_179_74
+75,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_75
+76,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_76
+77,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_179_77
+78,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_78
+79,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_79
+80,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_80
+81,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_81
+82,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_179_82
+83,AC_0,7063.27682,44458.15329,900.9139906,h0+g1,GMF,0,AC_0_Q_179_83
+84,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_84
+85,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_85
+86,C_0,5895.243735,45146.8427,177.0449093,g1,GBD,0,C_0_Q_179_86
+87,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_87
+88,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_179_88
+89,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_89
+90,AC_0,7063.27682,44458.15329,900.9139906,h0+g1,GMF,0,AC_0_Q_179_90
+91,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_179_91
+92,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_92
+93,A_0_STR,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_STR_Q_179_93
+94,AC_0_PV30.0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_PV30.0_Q_179_94
+95,AC_0,7063.27682,44458.15329,900.9139906,h0+g1,GMF,0,AC_0_Q_179_95
+96,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_96
+97,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_179_97
+98,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_98
+99,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_99
+100,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_100
+101,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_101
+102,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_102
+103,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_103
+104,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_104
+105,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_105
+106,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_106
+107,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_107
+108,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_108
+109,N_0,16602.35612,29318.56517,1312.394883,g1,GBD,0,N_0_Q_179_109
+110,A_19_PV28.0_STR,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_PV28.0_STR_Q_179_110
+111,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_111
+112,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_112
+113,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_179_113
+114,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_114
+115,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_115
+116,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_116
+117,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_117
+118,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_118
+119,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_119
+120,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_120
+121,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_121
+122,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_179_122
+123,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_123
+124,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_124
+125,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_125
+126,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_126
+127,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_127
+128,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_179_128
+129,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_129
+130,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_130
+131,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_179_131
+132,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_132
+133,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_133
+134,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_134
+135,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_135
+136,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_179_136
+137,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_137
+138,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_138
+139,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_139
+140,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_140
+141,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_141
+142,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_142
+143,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_143
+144,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_144
+145,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_145
+146,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_146
+147,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_147
+148,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_179_148
+149,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_149
+150,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_150
+151,C_0,5895.243735,45146.8427,177.0449093,g1,GBD,0,C_0_Q_179_151
+152,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_152
+153,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_153
+154,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_154
+155,AD_0,2788.678995,11225.4517,808.0787492,h0+l1,GMF,0,AD_0_Q_179_155
+156,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_156
+157,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_157
+158,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_158
+159,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_159
+160,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_179_160
+161,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_161
+162,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_162
+163,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_163
+164,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_164
+165,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_165
+166,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_166
+167,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_167
+168,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_168
+169,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_179_169
+170,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_179_170
+171,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_171
+172,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_179_172
+173,A_0_PV9.0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV9.0_Q_179_173
+174,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_174
+175,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_175
+176,A_0_PV9.0_HP,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV9.0_HP_Q_179_176
+177,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_177
+178,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_178
+179,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_179_179
+180,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_179_180
+181,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_179_181
+182,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_179_182
+183,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_183
+184,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_184
+185,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_179_185
+186,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_179_186
+187,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_179_187
+188,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_179_188
+189,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_179_189
+190,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_179_190
+191,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_191
+192,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_179_192
+193,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_193
+194,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_179_194
+195,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_179_195
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/running_215_2022.csv b/input_files/models/prosumer_models/building_types_aachen_2022/running_215_2022.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f396d8bcc9066ba5174c6de8383ce7923f99426f
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/running_215_2022.csv
@@ -0,0 +1,195 @@
+,ID_Building,reference_el_demand,reference_heat_demand,reference_hot_water,profile_el,profile_th,Building_type,name_building
+0,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_0
+1,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_1
+2,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_2
+3,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_3
+4,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_4
+5,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_5
+6,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_215_6
+7,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_7
+8,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_8
+9,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_9
+10,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_10
+11,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_215_11
+12,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_12
+13,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_13
+14,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_14
+15,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_15
+16,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_16
+17,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_17
+18,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_18
+19,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_19
+20,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_20
+21,A_13_PV5.0,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_PV5.0_Q_215_21
+22,A_0_PV9.0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV9.0_Q_215_22
+23,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_23
+24,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_24
+25,A_21_PV28.0,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_PV28.0_Q_215_25
+26,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_26
+27,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_27
+28,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_28
+29,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_29
+30,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_215_30
+31,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_31
+32,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_32
+33,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_33
+34,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_34
+35,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_35
+36,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_36
+37,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_37
+38,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_38
+39,A_15_PV1.0,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_PV1.0_Q_215_39
+40,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_40
+41,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_41
+42,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_42
+43,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_43
+44,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_44
+45,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_45
+46,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_46
+47,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_47
+48,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_48
+49,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_49
+50,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_50
+51,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_51
+52,A_13_PV9.0,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_PV9.0_Q_215_52
+53,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_53
+54,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_54
+55,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_55
+56,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_56
+57,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_57
+58,G_1_PV30.0_HP,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_PV30.0_HP_Q_215_58
+59,A_19_STR,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_STR_Q_215_59
+60,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_60
+61,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_61
+62,A_0_PV5.0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV5.0_Q_215_62
+63,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_63
+64,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_64
+65,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_65
+66,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_66
+67,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_67
+68,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_68
+69,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_69
+70,A_0_PV5.0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV5.0_Q_215_70
+71,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_71
+72,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_72
+73,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_73
+74,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_74
+75,G_1_PV7.0,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_PV7.0_Q_215_75
+76,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_76
+77,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_77
+78,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_78
+79,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_79
+80,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_80
+81,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_81
+82,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_82
+83,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_83
+84,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_84
+85,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_85
+86,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_86
+87,A_9,24734.64265,99565.97261,7167.386111,h0,MFH,1,A_9_Q_215_87
+88,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_88
+89,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_89
+90,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_90
+91,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_91
+92,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_92
+93,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_93
+94,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_94
+95,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_95
+96,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_96
+97,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_97
+98,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_98
+99,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_99
+100,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_100
+101,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_101
+102,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_102
+103,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_103
+104,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_104
+105,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_105
+106,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_215_106
+107,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_107
+108,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_215_108
+109,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_215_109
+110,A_5_PV8.0_HP,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_PV8.0_HP_Q_215_110
+111,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_111
+112,N_0,16602.35612,29318.56517,1312.394883,g1,GBD,0,N_0_Q_215_112
+113,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_113
+114,A_22_PV9.0,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_PV9.0_Q_215_114
+115,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_115
+116,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_116
+117,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_117
+118,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_118
+119,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_119
+120,A_0_PV8.0_STR,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV8.0_STR_Q_215_120
+121,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_121
+122,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_122
+123,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_123
+124,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_215_124
+125,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_215_125
+126,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_126
+127,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_127
+128,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_128
+129,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_129
+130,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_215_130
+131,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_131
+132,A_14_STR,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_STR_Q_215_132
+133,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_133
+134,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_215_134
+135,A_26,44777.02232,180243.8726,12975.08973,h0,MFH,1,A_26_Q_215_135
+136,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_136
+137,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_215_137
+138,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_138
+139,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_139
+140,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_140
+141,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_141
+142,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_215_142
+143,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_215_143
+144,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_144
+145,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_215_145
+146,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_146
+147,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_147
+148,N_0,16602.35612,29318.56517,1312.394883,g1,GBD,0,N_0_Q_215_148
+149,N_0,16602.35612,29318.56517,1312.394883,g1,GBD,0,N_0_Q_215_149
+150,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_150
+151,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_151
+152,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_152
+153,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_153
+154,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_154
+155,A_0_PV9.0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV9.0_Q_215_155
+156,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_156
+157,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_157
+158,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_158
+159,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_159
+160,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_215_160
+161,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_161
+162,A_15,1093.874944,4403.24626,316.9734123,h0,MFH,1,A_15_Q_215_162
+163,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_163
+164,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_164
+165,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_165
+166,A_21_PV10.0,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_PV10.0_Q_215_166
+167,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_167
+168,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_168
+169,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_215_169
+170,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_170
+171,G_1,6694.222472,19832.34201,2013.477135,g2,GGA,0,G_1_Q_215_171
+172,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_215_172
+173,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_173
+174,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_174
+175,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_215_175
+176,A_19_PV10.0,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_PV10.0_Q_215_176
+177,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_177
+178,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_178
+179,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_215_179
+180,A_2,20488.69532,82474.4835,5937.033024,h0,MFH,1,A_2_Q_215_180
+181,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_181
+182,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_182
+183,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_183
+184,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_184
+185,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_215_185
+186,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_186
+187,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_215_187
+188,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_188
+189,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_189
+190,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_190
+191,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_215_191
+192,U_0,483.909035,16624.73222,3890.554002,g3,GKO,0,U_0_Q_215_192
+193,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_215_193
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/running_77_2022.csv b/input_files/models/prosumer_models/building_types_aachen_2022/running_77_2022.csv
new file mode 100644
index 0000000000000000000000000000000000000000..b4305cda643428f232adba9d306f5f2d1585266a
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/running_77_2022.csv
@@ -0,0 +1,200 @@
+,ID_Building,reference_el_demand,reference_heat_demand,reference_hot_water,profile_el,profile_th,Building_type,name_building
+0,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_0
+1,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_1
+2,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_2
+3,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_3
+4,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_4
+5,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_5
+6,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_77_6
+7,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_7
+8,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_8
+9,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_9
+10,A_21_PV28.0,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_PV28.0_Q_77_10
+11,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_11
+12,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_12
+13,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_13
+14,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_14
+15,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_15
+16,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_16
+17,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_17
+18,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_18
+19,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_19
+20,A_5_PV8.0,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_PV8.0_Q_77_20
+21,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_21
+22,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_22
+23,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_23
+24,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_77_24
+25,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_25
+26,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_26
+27,L_0,4160.278216,11840.43691,468.9450257,l2,GGB,0,L_0_Q_77_27
+28,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_28
+29,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_29
+30,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_77_30
+31,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_77_31
+32,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_32
+33,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_33
+34,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_34
+35,AC_0,9386.775092,47801.37623,2003.879256,h0+g1,GMF,0,AC_0_Q_77_35
+36,A_4,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_Q_77_36
+37,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_37
+38,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_38
+39,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_77_39
+40,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_40
+41,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_41
+42,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_77_42
+43,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_43
+44,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_44
+45,E_0_PV8.0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_PV8.0_Q_77_45
+46,AC_0,8095.942719,45944.03015,1391.120775,h0+g1,GMF,0,AC_0_Q_77_46
+47,AC_0,8095.942719,45944.03015,1391.120775,h0+g1,GMF,0,AC_0_Q_77_47
+48,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_48
+49,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_77_49
+50,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_50
+51,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_51
+52,A_4,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_Q_77_52
+53,C_0,5895.243735,45146.8427,177.0449093,g1,GBD,0,C_0_Q_77_53
+54,A_21_PV28.0_STR,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_PV28.0_STR_Q_77_54
+55,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_55
+56,D_0,4108.428458,11693.41854,74.68525454,l0,GMK,0,D_0_Q_77_56
+57,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_77_57
+58,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_58
+59,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_77_59
+60,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_77_60
+61,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_61
+62,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_62
+63,A_4,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_Q_77_63
+64,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_64
+65,AC_0_PV30.0,7450.526532,45015.35711,1084.741535,h0+g1,GMF,0,AC_0_PV30.0_Q_77_65
+66,A_27_PV4.0,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_PV4.0_Q_77_66
+67,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_67
+68,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_68
+69,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_77_69
+70,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_70
+71,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_71
+72,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_72
+73,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_73
+74,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_74
+75,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_75
+76,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_76
+77,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_77_77
+78,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_78
+79,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_79
+80,A_16_STR,67895.81632,273305.4641,19674.2495,h0,MFH,1,A_16_STR_Q_77_80
+81,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_81
+82,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_82
+83,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_83
+84,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_84
+85,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_85
+86,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_86
+87,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_77_87
+88,N_0,16602.35612,29318.56517,1312.394883,g1,GBD,0,N_0_Q_77_88
+89,A_5_PV4.0,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_PV4.0_Q_77_89
+90,A_16,67895.81632,273305.4641,19674.2495,h0,MFH,1,A_16_Q_77_90
+91,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_91
+92,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_92
+93,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_93
+94,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_94
+95,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_77_95
+96,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_96
+97,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_97
+98,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_98
+99,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_99
+100,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_100
+101,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_101
+102,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_102
+103,A_27_PV4.0,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_PV4.0_Q_77_103
+104,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_104
+105,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_105
+106,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_106
+107,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_107
+108,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_108
+109,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_109
+110,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_110
+111,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_111
+112,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_112
+113,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_113
+114,A_4,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_Q_77_114
+115,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_115
+116,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_116
+117,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_77_117
+118,A_16,67895.81632,273305.4641,19674.2495,h0,MFH,1,A_16_Q_77_118
+119,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_77_119
+120,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_77_120
+121,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_121
+122,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_122
+123,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_77_123
+124,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_77_124
+125,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_125
+126,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_126
+127,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_127
+128,A_0_PV9.0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_PV9.0_Q_77_128
+129,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_77_129
+130,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_77_130
+131,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_131
+132,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_132
+133,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_133
+134,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_134
+135,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_135
+136,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_136
+137,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_137
+138,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_138
+139,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_139
+140,A_14_STR,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_STR_Q_77_140
+141,A_21_PV28.0_HP_STR,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_PV28.0_HP_STR_Q_77_141
+142,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_142
+143,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_143
+144,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_144
+145,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_145
+146,A_13_PV9.0,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_PV9.0_Q_77_146
+147,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_147
+148,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_148
+149,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_149
+150,A_22_PV9.0,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_PV9.0_Q_77_150
+151,L_0,4160.278216,11840.43691,468.9450257,l2,GGB,0,L_0_Q_77_151
+152,AC_0_PV8.0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_PV8.0_Q_77_152
+153,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_77_153
+154,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_77_154
+155,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_77_155
+156,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_77_156
+157,L_0,4160.278216,11840.43691,468.9450257,l2,GGB,0,L_0_Q_77_157
+158,A_4_PV27.0,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_PV27.0_Q_77_158
+159,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_159
+160,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_77_160
+161,C_0,5895.243735,45146.8427,177.0449093,g1,GBD,0,C_0_Q_77_161
+162,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_77_162
+163,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_77_163
+164,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_164
+165,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_77_165
+166,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_77_166
+167,A_4,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_Q_77_167
+168,L_0,4160.278216,11840.43691,468.9450257,l2,GGB,0,L_0_Q_77_168
+169,A_24_PV9.0,29861.09516,120201.8167,8652.884205,h0,MFH,1,A_24_PV9.0_Q_77_169
+170,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_170
+171,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_171
+172,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_172
+173,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_173
+174,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_77_174
+175,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_175
+176,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_176
+177,E_0,9979.480577,27156.03132,1075.905206,g4,GHA,0,E_0_Q_77_177
+178,A_19,8523.514643,34310.26021,2469.868732,h0,MFH,1,A_19_Q_77_178
+179,AC_0,13259.27221,53373.41447,3842.154699,h0+g1,GMF,0,AC_0_Q_77_179
+180,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_77_180
+181,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_181
+182,A_4_STR,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_STR_Q_77_182
+183,A_11_STR,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_STR_Q_77_183
+184,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_184
+185,A_13,6666.867267,26836.57626,1931.865866,h0,MFH,1,A_13_Q_77_185
+186,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_186
+187,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_187
+188,A_21,5091.9992,20497.15697,1475.514519,h0,MFH,1,A_21_Q_77_188
+189,A_22,13329.62261,53656.60053,3862.540216,h0,MFH,1,A_22_Q_77_189
+190,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_190
+191,A_11,36178.51608,145631.7438,10483.4906,h0,MFH,1,A_11_Q_77_191
+192,A_27,2365.64327,9522.578367,685.4951961,h0,MFH,1,A_27_Q_77_192
+193,A_0,3642.673994,14663.09355,1055.541872,h0,MFH,1,A_0_Q_77_193
+194,A_4,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_Q_77_194
+195,A_5,10739.11627,43228.86614,3111.886186,h0,MFH,1,A_5_Q_77_195
+196,A_14,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_Q_77_196
+197,A_4,54611.4143,219830.893,15824.81291,h0,MFH,1,A_4_Q_77_197
+198,A_14_PV84.0_STR,16630.23974,66942.79025,4818.963874,h0,MFH,1,A_14_PV84.0_STR_Q_77_198
diff --git a/runme.py b/runme.py
index c56dfbf0975886929da536f3a3c262da030676c6..e24b918216b4ed65a784160c6d116d4a29dcbb2c 100644
--- a/runme.py
+++ b/runme.py
@@ -7,6 +7,8 @@ import Model_Library.Prosumer.main as main_prosumer
 import Model_Library.District.main as main_district
 from enum import Enum
 import os
+import random
+import pickle
 
 class SimulationScope(Enum):
     PROSUMER = 1
@@ -14,29 +16,55 @@ class SimulationScope(Enum):
 
 simulation_scope = SimulationScope.DISTRICT
 t_start = pd.Timestamp("2019-01-01 00:00:00") # start time of simulation
-t_horizon = 100 # number of time steps to be simulated
+t_horizon = 8760 # number of time steps to be simulated
 t_step = 1 # length of a time step in hours
 
+inputpath_dataframe = 'input_files/models/prosumer_models/building_types_aachen_2022/running_77_2022.csv'
+#inputpath_dataframe = 'input_files/models/district_models/quarter_extraction_df_Q_0.csv'
+building_types = pd.read_csv(inputpath_dataframe)
+
 input_profile_dict = {'pv_factors_aachen_1': ['pv_factors', 'input_files/data/irradiance/aachen_pv_factors_ninja_2019_1h_to_2019_15min.csv'],
+                      'pv_factors_germany_1': ['pv_factors', 'input_files/data/irradiance/irr_ren_ninja_avg_Germany.csv'],
                       'temperature_1': ['air_temperature', 'input_files/data/temperature/temperature_TRY2010.csv'],
-                      'elec_demand_htw': ['elec_demand', r"input_files\data\demand\electricity\PL_SUM_15.csv"],
+                      'elec_demand_htw': ['elec_demand', 'input_files/data/demand/electricity/PL_SUM_15.csv'],
                       'room_heating_sfh_passive': ['room_heating_demand', 'input_files/data/demand/room_heating/synPRO_passive_single_family_house_rh_2021_to_2019_kW.csv'],
                       'dhw_shf_passive': ['hot_water_demand', 'input_files/data/demand/domestic_hot_water/synPRO_passive_single_family_house_dhw_2021_to_2019_kW.csv'],
+                      'room_heating_mfh_passive': ['room_heating_demand', 'input_files/data/demand/room_heating/synPRO_passive_multi_party_house_rh_2021_to_2019_kW.csv'],
+                      'dhw_mhf_passive': ['hot_water_demand', 'input_files/data/demand/domestic_hot_water/synPRO_passive_multi_party_house_dhw_2021_to_2019_kW.csv'],
                       'elec_price_1': ['prices', 'input_files/data/prices/day-ahead/hourly_price.csv']}
 
+for i in building_types.index[44:55]:
+    if 'A_' in building_types.iloc[i]['ID_Building']:
+        pass
+    else:
+        if len(building_types['profile_el'][i]) > 2:
+            profile_list = building_types['profile_el'][i].split('+')
+            input_profile_dict['elec_demand_prosumer_' + str(building_types.loc[i, 'ID_Building'])] = ['elec_demand','generate',
+                                                                                                       building_types['reference_el_demand'][i],
+                                                                                                       profile_list[0]]
+            input_profile_dict['Add_elec_demand_prosumer_' + str(building_types.loc[i, 'ID_Building'])] = ['elec_demand','generate',
+                                                                                                         building_types['reference_el_demand'][i],
+                                                                                                         profile_list[1]]
+        else:
+            input_profile_dict['elec_demand_prosumer_' + str(building_types.loc[i, 'ID_Building'])] = ['elec_demand', 'generate',
+                                                                                                       building_types['reference_el_demand'][i],
+                                                                                                       building_types['profile_el'][i]]
+
 input_profiles = Tooling.input_profile_processor.input_profile_processor.process_input_profiles(input_profile_dict, t_start, t_horizon, t_step)
 
 for i in input_profiles['elec_demand_htw']:
     input_profiles['ref_elec_demand_id_' + str(i)] = input_profiles['elec_demand_htw'][i]
 
+for i in input_profiles.keys():
+    if 'Add_' in i:
+        strings = i.split('Add_')
+        profile2 = input_profiles[i]
+        input_profiles[strings[1]] += profile2
+
 # get the annual electric, heating and hw demand s of the example buildings
 ref_yearly_elec_demand = input_profiles['elec_demand_htw'].sum()*t_step  # in kWh
-ref_yearly_rh_demand = input_profiles['room_heating_sfh_passive'].sum()*t_step  # in kWh
-ref_yearly_dhw_demand = input_profiles['dhw_shf_passive'].sum()*t_step  # in kWh
-
-inputpath_dataframe = r'input_files\models\prosumer_models\building_types_aachen\running_77_2022.csv'
-#inputpath_dataframe = 'input_files/models/district_models/quarter_extraction_df_Q_0.csv'
-building_types = pd.read_csv(inputpath_dataframe)
+ref_yearly_rh_demand = input_profiles['room_heating_mfh_passive'].sum()*t_step  # in kWh
+ref_yearly_dhw_demand = input_profiles['dhw_mhf_passive'].sum()*t_step  # in kWh
 
 # Create a new column in building_types to store the index of the closest value
 building_types['closest_index'] = building_types.apply(
@@ -47,47 +75,78 @@ building_types['closest_index'] = building_types.apply(
 # 'topology_path': path to directory that contains the matrices that define the prosumer topology
 prosumer_dict = {}
 
-for i in building_types.index[0:10]:
+# drop the heatpump
+building_types.drop(index=141, inplace=True)
+building_types.reset_index(inplace=True)
 
-    # get the index of the reference profile for this building type
-    index_ref_elec_demand = building_types['closest_index'][i]
 
-    # scale profiles based on the reference data
-    # ELECTRICITY
-    scaled_heat_demand = building_types['reference_el_demand'][i] / ref_yearly_elec_demand[index_ref_elec_demand] * input_profiles['ref_elec_demand_id_' + str(index_ref_elec_demand)]
-    input_profiles['elec_demand_prosumer_' + str(building_types.loc[i, 'ID_Building'])] = scaled_heat_demand
+# building_types.index[53:61]
+community_sample = random.sample(range(197),30)
+
+# how many storages
+ids = building_types.loc[:]['ID_Building']
+string_str = 'STR'
+string_pv = 'PV'
+string_ac = 'AC'
+
+count_str = 0
+count_pv = 0
+count_ac = 0
+for string in ids:
+    count_str += string.count(string_str)
+    count_pv += string.count(string_pv)
+    count_ac += string.count(string_ac)
+
+print('Number of storages: ' + str(count_str))
+print('Number of PV: ' + str(count_pv))
+print('Number of AC: ' + str(count_ac))
+
+consumer_count = 0
+for i in building_types.index[44:55]:
+
+    if 'A_' in building_types.iloc[i]['ID_Building']:
+        # get the index of the reference profile for this building type
+        index_ref_elec_demand = building_types['closest_index'][i]
+
+        # scale profiles based on the reference data
+        # ELECTRICITY
+        scaled_heat_demand = building_types['reference_el_demand'][i] / ref_yearly_elec_demand[index_ref_elec_demand] * input_profiles['ref_elec_demand_id_' + str(index_ref_elec_demand)]
+        input_profiles['elec_demand_prosumer_' + str(building_types.loc[i, 'ID_Building'])] = scaled_heat_demand
 
     # ROOM HEATING
-    scaled_heat_demand = building_types['reference_heat_demand'][i] / ref_yearly_rh_demand * input_profiles['room_heating_sfh_passive']
+    scaled_heat_demand = building_types['reference_heat_demand'][i] / ref_yearly_rh_demand * input_profiles['room_heating_mfh_passive']
     input_profiles['room_heat_demand_prosumer_' + str(building_types.loc[i,'ID_Building'])] = scaled_heat_demand
 
     # HOT WATER
-    scaled_hot_water_demand = building_types['reference_hot_water'][i] / ref_yearly_rh_demand * input_profiles['dhw_shf_passive']
+    scaled_hot_water_demand = building_types['reference_hot_water'][i] / ref_yearly_rh_demand * input_profiles['dhw_mhf_passive']
     input_profiles['hot_water_demand_prosumer_' + str(building_types.loc[i, 'ID_Building'])] = scaled_hot_water_demand
 
+
     if 'PV' in building_types.loc[i,'ID_Building'] and 'HP' in building_types.loc[i, 'ID_Building']:
 
-        prosumer_dict[building_types.loc[i,'name_building']]= {'config_path': 'input_files/models/prosumer_models/building_types_aachen/'+ str(building_types.loc[i,'ID_Building']) + '/config.csv',
-                                                 'topology_path': 'input_files/models/prosumer_models/building_types_aachen/'+ str(building_types.loc[i,'ID_Building']),
+        prosumer_dict[building_types.loc[i,'name_building']]= {'config_path': 'input_files/models/prosumer_models/building_types_aachen_2022/'+ str(building_types.loc[i,'ID_Building']) + '/config.csv',
+                                                 'topology_path': 'input_files/models/prosumer_models/building_types_aachen_2022/'+ str(building_types.loc[i,'ID_Building']),
                                                 'profiles':{'elec_cns': 'elec_demand_prosumer_' + str(building_types.loc[i, 'ID_Building']),
                                                             'therm_cns': 'room_heat_demand_prosumer_' + str(building_types.loc[i,'ID_Building']),
                                                             'dhw_dmd': 'hot_water_demand_prosumer_' + str(building_types.loc[i, 'ID_Building']),
                                                             'pv_roof': ['pv_factors_aachen_1'],
                                                             'heat_pump': 'temperature_1'}}
     elif 'PV' in building_types.loc[i,'ID_Building']:
-        prosumer_dict[building_types.loc[i, 'name_building']] = {'config_path': 'input_files/models/prosumer_models/building_types_aachen/'+ str(building_types.loc[i, 'ID_Building']) + '/config.csv',
-                                                    'topology_path': 'input_files/models/prosumer_models/building_types_aachen/'+ str(building_types.loc[i, 'ID_Building']),
+        prosumer_dict[building_types.loc[i, 'name_building']] = {'config_path': 'input_files/models/prosumer_models/building_types_aachen_2022/'+ str(building_types.loc[i, 'ID_Building']) + '/config.csv',
+                                                    'topology_path': 'input_files/models/prosumer_models/building_types_aachen_2022/'+ str(building_types.loc[i, 'ID_Building']),
                                                     'profiles': {'elec_cns': 'elec_demand_prosumer_' + str(building_types.loc[i, 'ID_Building']),
                                                                 'therm_cns': 'room_heat_demand_prosumer_' + str(building_types.loc[i,'ID_Building']),
                                                                  'dhw_dmd': 'hot_water_demand_prosumer_' + str(building_types.loc[i, 'ID_Building']),
                                                                  'pv_roof': ['pv_factors_aachen_1']}}
     else:
-        prosumer_dict[building_types.loc[i, 'name_building']] = {'config_path': 'input_files/models/prosumer_models/building_types_aachen/'+ str(building_types.loc[i, 'ID_Building']) + '/config.csv',
-                                                    'topology_path': 'input_files/models/prosumer_models/building_types_aachen/'+ str(building_types.loc[i, 'ID_Building']),
+        prosumer_dict[building_types.loc[i, 'name_building']] = {'config_path': 'input_files/models/prosumer_models/building_types_aachen_2022/'+ str(building_types.loc[i, 'ID_Building']) + '/config.csv',
+                                                    'topology_path': 'input_files/models/prosumer_models/building_types_aachen_2022/'+ str(building_types.loc[i, 'ID_Building']),
                                                     'profiles': {'elec_cns': 'elec_demand_prosumer_' + str(building_types.loc[i, 'ID_Building']),
                                                                  'therm_cns': 'room_heat_demand_prosumer_' + str(building_types.loc[i,'ID_Building']),
                                                                  'dhw_dmd': 'hot_water_demand_prosumer_' + str(building_types.loc[i, 'ID_Building'])}}
 
+
+
 num=0
 
 """
@@ -104,7 +163,7 @@ prosumer_dict = {'SCN2_CAT1_PV11_3000_6000':{'config_path': 'input_files/models/
                                                       'dhw_dmd': 'demand_hot_water_2'}}}
 """
 
-prosumer_main = main_prosumer.ProsumerMain(prosumer_dict, input_profiles, t_horizon, t_step)
+prosumer_main = main_prosumer.ProsumerMain(prosumer_dict, input_profiles, t_horizon, t_step, new_prosumers=True)
 
 prosumer_sizing_strategy = 'annuity'
 prosumer_main.optimize_sizing(prosumer_sizing_strategy)
@@ -119,6 +178,7 @@ if simulation_scope == SimulationScope.PROSUMER:
 district_assets_dict = {'da_bat': {'config_path': 'input_files/models/district_models/example_CA/config.csv',
                                    'topology_path': 'input_files/models/district_models/example_CA',
                                    'profiles': {}}}
+district_assets_dict = {}
 
 district_assets = main_prosumer.DistrictAssetMain(district_assets_dict, input_profiles, t_horizon, t_step).district_assets