add option for endogenously retrofitting
This commit is contained in:
parent
301d74f059
commit
d1282ba315
21
Snakefile
21
Snakefile
@ -283,6 +283,23 @@ rule build_industrial_demand:
|
|||||||
resources: mem_mb=1000
|
resources: mem_mb=1000
|
||||||
script: 'scripts/build_industrial_demand.py'
|
script: 'scripts/build_industrial_demand.py'
|
||||||
|
|
||||||
|
if config['sector']['retrofitting'].get('retro_endogen', True):
|
||||||
|
rule build_retro_cost:
|
||||||
|
input:
|
||||||
|
building_stock="data/retro/data_building_stock.csv",
|
||||||
|
u_values_PL="data/retro/u_values_poland.csv",
|
||||||
|
tax_w="data/retro/electricity_taxes_eu.csv",
|
||||||
|
construction_index="data/retro/comparative_level_investment.csv",
|
||||||
|
average_surface="data/retro/average_surface_components.csv",
|
||||||
|
floor_area_missing="data/retro/floor_area_missing.csv",
|
||||||
|
clustered_pop_layout="resources/pop_layout_{network}_s{simpl}_{clusters}.csv",
|
||||||
|
cost_germany="data/retro/retro_cost_germany.csv",
|
||||||
|
window_assumptions="data/retro/window_assumptions.csv"
|
||||||
|
output:
|
||||||
|
retro_cost="resources/retro_cost_{network}_s{simpl}_{clusters}.csv",
|
||||||
|
floor_area="resources/floor_area_{network}_s{simpl}_{clusters}.csv"
|
||||||
|
script: "scripts/build_retro_cost.py"
|
||||||
|
|
||||||
|
|
||||||
rule prepare_sector_network:
|
rule prepare_sector_network:
|
||||||
input:
|
input:
|
||||||
@ -320,7 +337,9 @@ rule prepare_sector_network:
|
|||||||
cop_air_urban="resources/cop_air_urban_{network}_s{simpl}_{clusters}.nc",
|
cop_air_urban="resources/cop_air_urban_{network}_s{simpl}_{clusters}.nc",
|
||||||
solar_thermal_total="resources/solar_thermal_total_{network}_s{simpl}_{clusters}.nc",
|
solar_thermal_total="resources/solar_thermal_total_{network}_s{simpl}_{clusters}.nc",
|
||||||
solar_thermal_urban="resources/solar_thermal_urban_{network}_s{simpl}_{clusters}.nc",
|
solar_thermal_urban="resources/solar_thermal_urban_{network}_s{simpl}_{clusters}.nc",
|
||||||
solar_thermal_rural="resources/solar_thermal_rural_{network}_s{simpl}_{clusters}.nc"
|
solar_thermal_rural="resources/solar_thermal_rural_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
retro_cost_energy = "resources/retro_cost_{network}_s{simpl}_{clusters}.csv",
|
||||||
|
floor_area = "resources/floor_area_{network}_s{simpl}_{clusters}.csv"
|
||||||
output: config['results_dir'] + config['run'] + '/prenetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc'
|
output: config['results_dir'] + config['run'] + '/prenetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc'
|
||||||
threads: 1
|
threads: 1
|
||||||
resources: mem_mb=2000
|
resources: mem_mb=2000
|
||||||
|
7
data/retro/average_surface_components.csv
Normal file
7
data/retro/average_surface_components.csv
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
,Dwelling,Ceilling,Standard component surfaces (m2),component,surfaces,(m2),,
|
||||||
|
Building type,Space(m²),Height(m),Roof,Facade,Floor,Windows,,
|
||||||
|
Single/two family house,120,2.5,90,166,63,29,,
|
||||||
|
Large apartment house,1457,2.5,354,1189,354,380,,
|
||||||
|
Apartment house,5276,,598.337,2992.1,598.337,756,tabula ,http://webtool.building-typology.eu/#pdfes
|
||||||
|
,,,,,,,,
|
||||||
|
"Source: https://link.springer.com/article/10.1007/s12053-010-9090-6 ,p.4",,,,,,,,
|
|
49
data/retro/comparative_level_investment.csv
Normal file
49
data/retro/comparative_level_investment.csv
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
NA_ITEM,Price level indices (EU28=100),,,,,,,,,
|
||||||
|
PPP_CAT,Actual individual consumption,,,,,,,,,
|
||||||
|
,,,,,,,,,,
|
||||||
|
GEO/TIME,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018
|
||||||
|
European Union - 28 countries,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0
|
||||||
|
Belgium,113.6,111.9,112.4,111.5,111.0,108.9,106.3,110.3,112.3,112.5
|
||||||
|
Bulgaria,47.1,45.7,45.5,45.0,44.2,42.6,42.2,43.2,45.1,46.3
|
||||||
|
Czech Republic,64.5,66.6,68.9,66.9,63.3,58.3,58.4,60.5,62.4,65.0
|
||||||
|
Denmark,141.7,140.0,139.9,140.0,139.3,138.5,135.0,140.0,138.9,138.1
|
||||||
|
Germany,104.6,103.1,102.2,101.1,102.5,101.5,100.4,102.6,103.7,104.1
|
||||||
|
Estonia,67.5,66.0,67.2,67.6,69.9,69.9,68.9,71.0,73.9,76.3
|
||||||
|
Ireland,129.9,122.7,122.5,120.5,123.2,124.9,122.2,126.5,129.1,129.2
|
||||||
|
Greece,93.6,95.4,94.9,91.9,87.8,83.8,81.0,82.3,83.0,81.8
|
||||||
|
Spain,97.5,98.7,98.5,95.8,95.1,92.7,90.0,92.7,93.7,93.7
|
||||||
|
France,111.2,109.9,109.6,108.7,107.0,106.0,104.0,105.8,107.1,107.4
|
||||||
|
Croatia,70.2,70.1,68.1,65.5,64.5,62.5,60.7,61.3,63.0,64.0
|
||||||
|
Italy,103.6,100.4,101.5,101.1,102.3,102.6,100.3,101.1,101.6,101.4
|
||||||
|
Cyprus,92.0,94.6,95.8,96.0,95.2,92.0,88.5,89.8,91.2,90.6
|
||||||
|
Latvia,68.1,62.3,65.5,65.9,66.0,66.0,64.2,66.9,68.3,69.5
|
||||||
|
Lithuania,60.3,57.8,58.3,58.0,57.8,56.9,55.9,58.3,60.0,61.4
|
||||||
|
Luxembourg,130.0,136.5,136.0,135.8,135.1,135.7,132.1,137.0,139.9,141.6
|
||||||
|
Hungary,58.2,57.4,56.4,54.9,54.4,53.4,53.3,56.2,59.4,59.0
|
||||||
|
Malta,75.8,76.6,78.0,78.0,80.8,80.5,79.8,81.4,81.9,83.4
|
||||||
|
Netherlands,108.5,112.3,112.7,111.3,111.9,111.9,109.6,113.8,114.6,114.8
|
||||||
|
Austria,109.9,109.2,110.1,108.9,109.1,109.1,107.2,110.2,112.8,113.7
|
||||||
|
Poland,53.1,55.2,53.7,52.1,52.4,52.5,51.1,50.9,53.5,54.3
|
||||||
|
Portugal,85.2,85.0,85.3,82.7,81.1,80.4,78.7,81.6,83.5,84.6
|
||||||
|
Romania,49.1,46.9,47.7,45.6,47.8,47.6,47.2,46.8,48.0,48.6
|
||||||
|
Slovenia,85.3,84.3,83.7,81.8,82.1,81.5,79.8,82.3,82.7,83.8
|
||||||
|
Slovakia,66.6,62.5,63.4,63.4,63.4,63.3,62.3,63.6,65.4,66.1
|
||||||
|
Finland,121.0,120.3,121.6,121.8,124.0,122.9,119.6,122.8,123.3,123.4
|
||||||
|
Sweden,109.5,124.6,131.7,134.3,140.5,133.6,128.8,135.3,134.5,126.9
|
||||||
|
United Kingdom,107.5,111.4,111.3,118.6,117.0,123.6,134.7,123.5,117.6,117.7
|
||||||
|
Iceland,94.9,107.6,109.6,111.6,116.0,123.4,132.5,154.5,172.3,163.7
|
||||||
|
Norway,142.4,158.8,165.3,172.5,166.9,157.2,152.2,155.0,157.3,155.4
|
||||||
|
Switzerland,131.6,146.4,161.7,160.6,155.1,153.0,167.0,169.8,167.1,159.1
|
||||||
|
Candidate and potential candidate countries except Turkey and Kosovo (under United Nations Security Council Resolution 1244/99),48.0,45.6,47.1,44.8,46.4,45.2,43.4,44.4,46.0,47.5
|
||||||
|
Montenegro,52.3,49.5,49.3,50.1,50.5,49.3,48.0,48.7,50.5,51.1
|
||||||
|
North Macedonia,41.4,41.3,42.7,42.1,42.5,41.9,40.9,41.7,43.2,43.3
|
||||||
|
Albania,46.2,42.8,42.1,40.6,41.9,41.5,39.8,43.0,43.5,46.6
|
||||||
|
Serbia,48.3,45.0,48.0,44.5,47.3,45.5,43.1,43.8,46.1,47.9
|
||||||
|
Turkey,55.4,61.2,54.7,58.5,57.7,51.6,50.5,50.2,45.4,37.0
|
||||||
|
Bosnia and Herzegovina,51.6,50.7,50.6,49.2,49.1,48.4,47.0,47.5,48.2,48.9
|
||||||
|
Kosovo (under United Nations Security Council Resolution 1244/99),:,:,:,:,:,:,:,:,:,:
|
||||||
|
United States,92.4,98,93.3,101.2,100.3,99,115.9,121.1,120.8,115.2
|
||||||
|
Japan,115.1,126.1,127.8,133.8,101.7,94.8,96.5,113,109.4,103.9
|
||||||
|
,,,,,,,,,,
|
||||||
|
"Source: Eurostat Purchasing power parities (PPPs), price level indices and real expenditures for ESA 2010 aggregates (2019)",,,,,,,,,,
|
||||||
|
https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Comparative_price_levels_for_investment,,,,,,,,,,
|
|
63129
data/retro/data_building_stock.csv
Normal file
63129
data/retro/data_building_stock.csv
Normal file
File diff suppressed because it is too large
Load Diff
164
data/retro/electricity_taxes_eu.csv
Normal file
164
data/retro/electricity_taxes_eu.csv
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
Electricity prices for household consumers - bi-annual data (from 2007 onwards) [nrg_pc_204],,,,
|
||||||
|
,,,,
|
||||||
|
Last update,30.10.19,,,
|
||||||
|
Extracted on,14.11.19,,,
|
||||||
|
Source of data,Eurostat,,,
|
||||||
|
,,,,
|
||||||
|
PRODUCT,Electrical energy,,,
|
||||||
|
CONSOM,Band DC : 2 500 kWh < Consumption < 5 000 kWh,,,
|
||||||
|
UNIT,Kilowatt-hour,,,
|
||||||
|
TIME,2018S1,,,
|
||||||
|
,,,,
|
||||||
|
CURRENCY,Euro,Euro,Euro,
|
||||||
|
GEO/TAX,Excluding taxes and levies,Excluding VAT and other recoverable taxes and levies,All taxes and levies included,% cost without taxes
|
||||||
|
European Union - 28 countries,0.1285,0.1756,0.2052,0.626218323586745
|
||||||
|
"Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19)",0.1331,0.1855,0.2188,0.608318098720293
|
||||||
|
Belgium,0.1903,0.2279,0.2733,0.696304427369191
|
||||||
|
Bulgaria,0.0816,0.0816,0.0979,0.833503575076609
|
||||||
|
Czech Republic,0.1286,0.1298,0.1573,0.817546090273363
|
||||||
|
Denmark,0.1011,0.2501,0.3126,0.32341650671785
|
||||||
|
Germany,0.1379,0.2510,0.2987,0.461667224640107
|
||||||
|
Estonia,0.0989,0.1123,0.1348,0.733679525222552
|
||||||
|
Ireland,0.1846,0.2087,0.2369,0.779231743351625
|
||||||
|
Greece,0.1132,0.1482,0.1672,0.677033492822967
|
||||||
|
Spain,0.1873,0.1969,0.2383,0.785984053713806
|
||||||
|
France,0.1134,0.1492,0.1748,0.648741418764302
|
||||||
|
Croatia,0.1020,0.1160,0.1311,0.778032036613272
|
||||||
|
Italy,0.1285,0.1873,0.2067,0.621673923560716
|
||||||
|
Cyprus,0.1445,0.1606,0.1893,0.763338615953513
|
||||||
|
Latvia,0.1035,0.1266,0.1531,0.676028739386022
|
||||||
|
Lithuania,0.0771,0.0906,0.1097,0.702825888787603
|
||||||
|
Luxembourg,0.1283,0.1547,0.1671,0.767803710353082
|
||||||
|
Hungary,0.0885,0.0885,0.1123,0.78806767586821
|
||||||
|
Malta,0.1209,0.1224,0.1285,0.940856031128405
|
||||||
|
Netherlands,0.1187,0.1410,0.1706,0.6957796014068
|
||||||
|
Austria,0.1232,0.1638,0.1966,0.626653102746694
|
||||||
|
Poland,0.0906,0.1146,0.1410,0.642553191489362
|
||||||
|
Portugal,0.1007,0.1826,0.2246,0.448352626892253
|
||||||
|
Romania,0.0990,0.1120,0.1333,0.742685671417854
|
||||||
|
Slovenia,0.1108,0.1322,0.1613,0.686918784872908
|
||||||
|
Slovakia,0.0942,0.1305,0.1566,0.601532567049808
|
||||||
|
Finland,0.1074,0.1300,0.1612,0.666253101736973
|
||||||
|
Sweden,0.1202,0.1513,0.1891,0.635642517186674
|
||||||
|
United Kingdom,0.1347,0.1797,0.1887,0.713831478537361
|
||||||
|
Iceland,0.1222,0.1246,0.1545,0.790938511326861
|
||||||
|
Liechtenstein,:,:,:,#VALUE!
|
||||||
|
Norway,0.1254,0.1434,0.1751,0.716162193032553
|
||||||
|
Montenegro,0.0828,0.0844,0.1024,0.80859375
|
||||||
|
North Macedonia,0.0662,0.0662,0.0781,0.847631241997439
|
||||||
|
Albania,:,:,:,#VALUE!
|
||||||
|
Serbia,0.0539,0.0587,0.0705,0.764539007092199
|
||||||
|
Turkey,0.0727,0.0766,0.0904,0.804203539823009
|
||||||
|
Bosnia and Herzegovina,0.0722,0.0738,0.0864,0.835648148148148
|
||||||
|
Kosovo (under United Nations Security Council Resolution 1244/99),0.0569,0.0586,0.0633,0.898894154818325
|
||||||
|
Moldova,0.1020,0.1020,0.1020,1
|
||||||
|
Ukraine,0.0342,0.0342,0.0410,0.834146341463415
|
||||||
|
,,,0.157271052631579,
|
||||||
|
Special value:,,,,
|
||||||
|
:,not available,,,
|
||||||
|
,,,,
|
||||||
|
PRODUCT,Electrical energy,,,
|
||||||
|
CONSOM,Band DC : 2 500 kWh < Consumption < 5 000 kWh,,,
|
||||||
|
UNIT,Kilowatt-hour,,,
|
||||||
|
TIME,2018S2,,,
|
||||||
|
,,,,
|
||||||
|
CURRENCY,Euro,Euro,Euro,
|
||||||
|
GEO/TAX,Excluding taxes and levies,Excluding VAT and other recoverable taxes and levies,All taxes and levies included,
|
||||||
|
European Union - 28 countries,0.1329,0.1810,0.2113,
|
||||||
|
"Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19)",0.1376,0.1902,0.2242,
|
||||||
|
Belgium,0.1998,0.2429,0.2937,
|
||||||
|
Bulgaria,0.0838,0.0838,0.1005,
|
||||||
|
Czechia,0.1299,0.1311,0.1586,
|
||||||
|
Denmark,0.1116,0.2499,0.3123,
|
||||||
|
Germany (until 1990 former territory of the FRG),0.1378,0.2521,0.3000,
|
||||||
|
Estonia,0.1048,0.1182,0.1418,
|
||||||
|
Ireland,0.2006,0.2237,0.2539,
|
||||||
|
Greece,0.1125,0.1458,0.1646,
|
||||||
|
Spain,0.1947,0.2047,0.2477,
|
||||||
|
France,0.1168,0.1537,0.1799,
|
||||||
|
Croatia,0.1028,0.1169,0.1321,
|
||||||
|
Italy,0.1416,0.1964,0.2161,
|
||||||
|
Cyprus,0.1745,0.1850,0.2183,
|
||||||
|
Latvia,0.1041,0.1249,0.1511,
|
||||||
|
Lithuania,0.0771,0.0906,0.1097,
|
||||||
|
Luxembourg,0.1302,0.1566,0.1691,
|
||||||
|
Hungary,0.0880,0.0880,0.1118,
|
||||||
|
Malta,0.1229,0.1244,0.1306,
|
||||||
|
Netherlands,0.1212,0.1420,0.1707,
|
||||||
|
Austria,0.1265,0.1676,0.2012,
|
||||||
|
Poland,0.0889,0.1135,0.1396,
|
||||||
|
Portugal,0.1028,0.1864,0.2293,
|
||||||
|
Romania,0.0964,0.1107,0.1317,
|
||||||
|
Slovenia,0.1125,0.1342,0.1638,
|
||||||
|
Slovakia,0.0849,0.1218,0.1462,
|
||||||
|
Finland,0.1144,0.1369,0.1698,
|
||||||
|
Sweden,0.1287,0.1592,0.1990,
|
||||||
|
United Kingdom,0.1401,0.1927,0.2024,
|
||||||
|
Iceland,0.1152,0.1175,0.1457,
|
||||||
|
Liechtenstein,:,:,:,
|
||||||
|
Norway,0.1382,0.1562,0.1907,
|
||||||
|
Montenegro,0.0829,0.0848,0.1030,
|
||||||
|
North Macedonia,0.0667,0.0667,0.0787,
|
||||||
|
Albania,0.0759,0.0759,0.0910,
|
||||||
|
Serbia,0.0542,0.0591,0.0709,
|
||||||
|
Turkey,0.0688,0.0726,0.0857,
|
||||||
|
Bosnia and Herzegovina,0.0729,0.0744,0.0871,
|
||||||
|
Kosovo (under United Nations Security Council Resolution 1244/99),0.0579,0.0591,0.0638,
|
||||||
|
Moldova,0.0960,0.0960,0.1029,
|
||||||
|
Ukraine,0.0342,0.0342,0.0410,
|
||||||
|
,,,,
|
||||||
|
Special value:,,,,
|
||||||
|
:,not available,,,
|
||||||
|
,,,,
|
||||||
|
PRODUCT,Electrical energy,,,
|
||||||
|
CONSOM,Band DC : 2 500 kWh < Consumption < 5 000 kWh,,,
|
||||||
|
UNIT,Kilowatt-hour,,,
|
||||||
|
TIME,2019S1,,,
|
||||||
|
,,,,
|
||||||
|
CURRENCY,Euro,Euro,Euro,
|
||||||
|
GEO/TAX,Excluding taxes and levies,Excluding VAT and other recoverable taxes and levies,All taxes and levies included,
|
||||||
|
European Union - 28 countries,0.1351,0.1841,0.2147,
|
||||||
|
"Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19)",0.1396,0.1928,0.2270,
|
||||||
|
Belgium,0.1965,0.2355,0.2839,
|
||||||
|
Bulgaria,0.0831,0.0831,0.0997,
|
||||||
|
Czechia,0.1433,0.1444,0.1748,
|
||||||
|
Denmark,0.1084,0.2387,0.2984,
|
||||||
|
Germany (until 1990 former territory of the FRG),0.1473,0.2595,0.3088,
|
||||||
|
Estonia,0.0982,0.1131,0.1357,
|
||||||
|
Ireland,0.2027,0.2134,0.2423,
|
||||||
|
Greece,0.1139,0.1482,0.1650,
|
||||||
|
Spain,0.1889,0.1986,0.2403,
|
||||||
|
France,0.1138,0.1508,0.1765,
|
||||||
|
Croatia,0.1028,0.1169,0.1321,
|
||||||
|
Italy,0.1432,0.2090,0.2301,
|
||||||
|
Cyprus,0.1762,0.1867,0.2203,
|
||||||
|
Latvia,0.1136,0.1347,0.1629,
|
||||||
|
Lithuania,0.0947,0.1037,0.1255,
|
||||||
|
Luxembourg,0.1326,0.1666,0.1798,
|
||||||
|
Hungary,0.0882,0.0882,0.1120,
|
||||||
|
Malta,0.1228,0.1243,0.1305,
|
||||||
|
Netherlands,0.1357,0.1708,0.2052,
|
||||||
|
Austria,0.1316,0.1695,0.2034,
|
||||||
|
Poland,0.0884,0.1092,0.1343,
|
||||||
|
Portugal,0.1103,0.1751,0.2154,
|
||||||
|
Romania,0.0983,0.1141,0.1358,
|
||||||
|
Slovenia,0.1125,0.1339,0.1634,
|
||||||
|
Slovakia,0.0962,0.1314,0.1577,
|
||||||
|
Finland,0.1173,0.1398,0.1734,
|
||||||
|
Sweden,0.1297,0.1612,0.2015,
|
||||||
|
United Kingdom,0.1450,0.2021,0.2122,
|
||||||
|
Iceland,0.1112,0.1134,0.1406,
|
||||||
|
Liechtenstein,:,:,:,
|
||||||
|
Norway,0.1360,0.1529,0.1867,
|
||||||
|
Montenegro,0.0834,0.0850,0.1032,
|
||||||
|
North Macedonia,:,:,:,
|
||||||
|
Albania,:,:,:,
|
||||||
|
Serbia,0.0541,0.0589,0.0706,
|
||||||
|
Turkey,0.0684,0.0718,0.0847,
|
||||||
|
Bosnia and Herzegovina,0.0729,0.0746,0.0873,
|
||||||
|
Kosovo (under United Nations Security Council Resolution 1244/99),0.0537,0.0556,0.0600,
|
||||||
|
Moldova,0.0936,0.0936,0.0936,
|
||||||
|
Ukraine,0.0369,0.0369,0.0442,
|
||||||
|
,,,,
|
||||||
|
Special value:,,,,
|
||||||
|
:,not available,,,
|
|
17
data/retro/floor_area_missing.csv
Normal file
17
data/retro/floor_area_missing.csv
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
country,sector,estimated,value,source,,comments,population [in Million],
|
||||||
|
AL,residential,0,64,p.13 1.6 million m² = 2.5% of total floor area,https://www.buildup.eu/sites/default/files/content/sled_albania_residential_building_eng.pdf,,,
|
||||||
|
AL,services,0,,,,,,
|
||||||
|
BA,residential,0,125.89,Tabula,https://episcope.eu/building-typology/country/ba/,strong differences ? other source claims more than 300 Million m²,,https://www.buildup.eu/sites/default/files/content/sled_serbia_building_eng.pdf
|
||||||
|
BA,services,0,,,,,,
|
||||||
|
RS,residential,0,72.3,Odyssee(2011),https://odyssee.enerdata.net/database/,,,
|
||||||
|
RS,services,0,,,,,,
|
||||||
|
MK,residential,0,,"Worldbank p.7 Skopje 75% residential, 25% commercial",http://documents.albankaldawli.org/curated/ar/838951574180734318/pdf/Project-Information-Document-North-Macedonia-Public-Sector-Energy-Efficiency-Project-P149990.pdf,15 % live in illegal constructed buildings ? not part of the statistics,2.1,
|
||||||
|
MK,services,0,,,,,,
|
||||||
|
ME,residential,0,19.625,p.13 0.314 million m² = 1.6% of total floor area,buildup.eu/sites/default/files/content/sled_montenegro_building_eng.pdf,Only 50 % of the floor area is heated p.12,,buildup.eu/sites/default/files/content/sled_montenegro_building_eng.pdf
|
||||||
|
ME,services,0,,,,,,
|
||||||
|
CH,residential,0,99.45,Odyssee(2015),,,,
|
||||||
|
CH,services,1,78.1392857142857,p.8 44%floor area is services,https://bta.climate-kic.org/wp-content/uploads/2018/04/171123-CK-BTA-DEF-BMB_SWITZERLAND_.pdf,,,
|
||||||
|
NO,residential,0,121.55,Odyssee(2015),,,,
|
||||||
|
NO,services,0,115.21,Odyssee(2015),,,,
|
||||||
|
PL,residential,0,1028.41,EU Building Database,,,,
|
||||||
|
PL,services,0,498.84,EU Building Database,,,,
|
|
7
data/retro/retro_cost_germany.csv
Normal file
7
data/retro/retro_cost_germany.csv
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
component,cost_fix,cost_var,life_time,comment,additional source
|
||||||
|
wall,70.34,2.36,40,Agora Energiewende p.110,
|
||||||
|
floor,39.39,1.3,40,Agora Energiewende p.110,
|
||||||
|
roof,75.61,1.3,40,Agora Energiewende p.110,https://www.baulinks.de/webplugin/2018/1524.php4
|
||||||
|
window,nan,nan,35,,
|
||||||
|
source: p.37 https://www.umweltbundesamt.de/sites/default/files/medien/1410/publikationen/2019-10-29_texte_132-2019_energieaufwand-gebaeudekonzepte.pdf,,,https://www.agora-energiewende.de/en/publications/building-sector-efficiency-a-crucial-component-of-the-energy-transition/,,
|
||||||
|
,,,p.115,,
|
|
9
data/retro/u_values_poland.csv
Normal file
9
data/retro/u_values_poland.csv
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
component,Before 1945,1945 - 1969,1970 - 1979,1980 - 1989,1990 - 1999,2000 - 2010,Post 2010,sector
|
||||||
|
Walls,1.7,1.4,0.9,0.9,0.6,0.4,1.7,residential
|
||||||
|
Windows,4.6,3.6,2.6,2.6,2.1,2.1,2.1,residential
|
||||||
|
Roof,0.8,0.7,0.6,0.6,0.6,0.4,0.33,residential
|
||||||
|
Floor,1.9,1.4,1.2,1.1,0.9,0.6,0.45,residential
|
||||||
|
Walls,1.3,1.3,1.3,0.8,0.6,0.6,0.6,services
|
||||||
|
Windows,4.7,3.7,2.6,2.6,2.3,2.1,2.1,services
|
||||||
|
Roof,1,0.9,0.7,0.5,0.3,0.3,0.3,services
|
||||||
|
Floor,1.6,1.2,1.2,1.1,1,0.7,0.7,services
|
|
8
data/retro/window_assumptions.csv
Normal file
8
data/retro/window_assumptions.csv
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
strength,u_value,cost,u_limit,comment
|
||||||
|
[m],[W/m^2K],EUR/m^2,[W/m^2K],
|
||||||
|
0.076,1.34,180.08,3.5,Double-glazing
|
||||||
|
0.197,0.8,225,1.3,Triple-glazing
|
||||||
|
,,,,
|
||||||
|
"source: https://www.agora-energiewende.de/en/publications/building-sector-efficiency-a-crucial-component-of-the-energy-transition/
|
||||||
|
p.115
|
||||||
|
",,,,
|
|
@ -1284,6 +1284,113 @@ def add_heat(network):
|
|||||||
lifetime=costs.at['micro CHP','lifetime'])
|
lifetime=costs.at['micro CHP','lifetime'])
|
||||||
|
|
||||||
|
|
||||||
|
if options['retrofitting']['retro_endogen']:
|
||||||
|
|
||||||
|
print("adding retrofitting endogenously")
|
||||||
|
# resample heat demand to not overestimate retrofitting
|
||||||
|
heat_demand_r = heat_demand.resample(opts[1]).mean()
|
||||||
|
|
||||||
|
# get space heat demand
|
||||||
|
space_heat_demand = pd.concat([heat_demand_r["residential space"],
|
||||||
|
heat_demand_r["services space"]],
|
||||||
|
axis=1)
|
||||||
|
|
||||||
|
# costs and floor area per country
|
||||||
|
retro_cost = pd.read_csv(snakemake.input.retro_cost_energy,
|
||||||
|
index_col=[0, 1], skipinitialspace=True,
|
||||||
|
header=[0, 1])
|
||||||
|
floor_area = pd.read_csv(snakemake.input.floor_area, index_col=[0, 1])
|
||||||
|
|
||||||
|
index = pd.MultiIndex.from_product([pop_layout.index, sectors + ["tot"]])
|
||||||
|
square_metres = pd.DataFrame(np.nan, index=index, columns=["m²"])
|
||||||
|
|
||||||
|
# weighting for share of space heat demand
|
||||||
|
w_space = {}
|
||||||
|
for sector in sectors:
|
||||||
|
w_space[sector] = heat_demand_r[sector + " space"] / \
|
||||||
|
(heat_demand_r[sector + " space"] + heat_demand_r[sector + " water"])
|
||||||
|
w_space["tot"] = ((heat_demand_r["services space"] +
|
||||||
|
heat_demand_r["residential space"]) /
|
||||||
|
heat_demand_r.groupby(level=[1], axis=1).sum())
|
||||||
|
|
||||||
|
network.add("Carrier", "retrofitting")
|
||||||
|
|
||||||
|
for node in list(heat_demand.columns.levels[1]):
|
||||||
|
retro_nodes = pd.Index([node])
|
||||||
|
space_heat_demand_node = space_heat_demand[retro_nodes]
|
||||||
|
space_heat_demand_node.columns = sectors
|
||||||
|
ct = node[:2]
|
||||||
|
square_metres = (pop_layout.loc[node].fraction
|
||||||
|
* floor_area.loc[ct, "value"] * 10**6)
|
||||||
|
for carrier in heat_systems:
|
||||||
|
name = node + " " + carrier + " heat"
|
||||||
|
if (name in list(network.loads_t.p_set.columns)):
|
||||||
|
|
||||||
|
# if "urban central" in carrier:
|
||||||
|
# f = dist_fraction[node]
|
||||||
|
# elif "urban decentral" in carrier:
|
||||||
|
# f = urban_fraction[node] - dist_fraction[node]
|
||||||
|
if "urban" in carrier:
|
||||||
|
f = urban_fraction[node]
|
||||||
|
else:
|
||||||
|
f = 1 - urban_fraction[node]
|
||||||
|
|
||||||
|
if f == 0:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if "residential" in carrier:
|
||||||
|
sec = "residential"
|
||||||
|
elif "services" in carrier:
|
||||||
|
sec = "services"
|
||||||
|
else:
|
||||||
|
sec = "tot"
|
||||||
|
|
||||||
|
square_metres_c = (square_metres.loc[sec] * f)
|
||||||
|
# weighting instead of taking space heat demand to
|
||||||
|
# allow simulatounsly exogenous and optimised
|
||||||
|
# retrofitting
|
||||||
|
demand = (network.loads_t.p_set[name].resample(opts[1])
|
||||||
|
.mean())
|
||||||
|
space_heat_demand_c = demand * w_space[sec][node]
|
||||||
|
space_peak_c = space_heat_demand_c.max()
|
||||||
|
if space_peak_c == 0:
|
||||||
|
continue
|
||||||
|
space_pu_c = (space_heat_demand_c /
|
||||||
|
space_peak_c).to_frame(name=node)
|
||||||
|
|
||||||
|
dE = retro_cost.loc[(ct, sec), ("dE")]
|
||||||
|
dE_diff = abs(dE.diff()).fillna(1-dE.iloc[0])
|
||||||
|
cost_c = retro_cost.loc[(ct, sec), ("cost")]
|
||||||
|
capital_cost = cost_c * square_metres_c / \
|
||||||
|
((1 - dE) * space_peak_c)
|
||||||
|
steps = retro_cost.cost.columns
|
||||||
|
if (capital_cost.diff() < 0).sum():
|
||||||
|
print(
|
||||||
|
"warning, costs are not linear for ", ct, " ", sec)
|
||||||
|
s = capital_cost[(capital_cost.diff() < 0)].index
|
||||||
|
steps = steps.drop(s)
|
||||||
|
|
||||||
|
space_pu_c = (space_pu_c.reindex(index=heat_demand.index)
|
||||||
|
.fillna(method="ffill"))
|
||||||
|
for strength in steps:
|
||||||
|
network.madd(
|
||||||
|
'Generator',
|
||||||
|
retro_nodes,
|
||||||
|
suffix=' retrofitting ' + strength + " " + carrier,
|
||||||
|
bus=node + " " + carrier + " heat",
|
||||||
|
strength=' retrofitting ' + strength,
|
||||||
|
type=carrier,
|
||||||
|
carrier="retrofitting",
|
||||||
|
p_nom_extendable=True,
|
||||||
|
p_nom_max=dE_diff[strength] * space_peak_c,
|
||||||
|
dE=dE_diff[strength],
|
||||||
|
p_max_pu=space_pu_c,
|
||||||
|
p_min_pu=space_pu_c,
|
||||||
|
country=ct,
|
||||||
|
capital_cost=capital_cost[strength] * options['retrofitting']['cost_factor'])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def create_nodes_for_heat_sector():
|
def create_nodes_for_heat_sector():
|
||||||
sectors = ["residential", "services"]
|
sectors = ["residential", "services"]
|
||||||
# stores the different groups of nodes
|
# stores the different groups of nodes
|
||||||
@ -1746,6 +1853,8 @@ if __name__ == "__main__":
|
|||||||
solar_thermal_urban="resources/solar_thermal_urban_{network}_s{simpl}_{clusters}.nc",
|
solar_thermal_urban="resources/solar_thermal_urban_{network}_s{simpl}_{clusters}.nc",
|
||||||
traffic_data = "data/emobility/",
|
traffic_data = "data/emobility/",
|
||||||
solar_thermal_rural="resources/solar_thermal_rural_{network}_s{simpl}_{clusters}.nc",
|
solar_thermal_rural="resources/solar_thermal_rural_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
retro_cost_energy = "resources/retro_cost_{network}_s{simpl}_{clusters}.csv",
|
||||||
|
floor_area = "resources/floor_area_{network}_s{simpl}_{clusters}.csv"
|
||||||
),
|
),
|
||||||
output=['pypsa-eur-sec/results/test/prenetworks/{network}_s{simpl}_{clusters}_lv{lv}__{sector_opts}_{co2_budget_name}_{planning_horizons}.nc']
|
output=['pypsa-eur-sec/results/test/prenetworks/{network}_s{simpl}_{clusters}_lv{lv}__{sector_opts}_{co2_budget_name}_{planning_horizons}.nc']
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user