2024-02-19 15:21:48 +00:00
|
|
|
# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
|
2023-03-08 16:29:01 +00:00
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
|
2023-03-08 18:26:41 +00:00
|
|
|
|
2023-03-08 16:29:01 +00:00
|
|
|
rule build_population_layouts:
|
|
|
|
input:
|
2023-08-23 15:14:57 +00:00
|
|
|
nuts3_shapes=resources("nuts3_shapes.geojson"),
|
2024-09-23 13:52:32 +00:00
|
|
|
urban_percent="data/worldbank/API_SP.URB.TOTL.IN.ZS_DS2_en_csv_v2.csv",
|
2024-02-12 15:56:00 +00:00
|
|
|
cutout=lambda w: "cutouts/"
|
|
|
|
+ CDIR
|
|
|
|
+ config_provider("atlite", "default_cutout")(w)
|
|
|
|
+ ".nc",
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
pop_layout_total=resources("pop_layout_total.nc"),
|
|
|
|
pop_layout_urban=resources("pop_layout_urban.nc"),
|
|
|
|
pop_layout_rural=resources("pop_layout_rural.nc"),
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs("build_population_layouts.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=20000,
|
|
|
|
benchmark:
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks("build_population_layouts")
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 8
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_population_layouts.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_clustered_population_layouts:
|
|
|
|
input:
|
2023-08-23 15:14:57 +00:00
|
|
|
pop_layout_total=resources("pop_layout_total.nc"),
|
|
|
|
pop_layout_urban=resources("pop_layout_urban.nc"),
|
|
|
|
pop_layout_rural=resources("pop_layout_rural.nc"),
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2024-02-12 15:56:00 +00:00
|
|
|
cutout=lambda w: "cutouts/"
|
|
|
|
+ CDIR
|
|
|
|
+ config_provider("atlite", "default_cutout")(w)
|
|
|
|
+ ".nc",
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_clustered_population_layouts_s_{clusters}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=10000,
|
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_clustered_population_layouts/s_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_clustered_population_layouts.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_simplified_population_layouts:
|
|
|
|
input:
|
2023-08-23 15:14:57 +00:00
|
|
|
pop_layout_total=resources("pop_layout_total.nc"),
|
|
|
|
pop_layout_urban=resources("pop_layout_urban.nc"),
|
|
|
|
pop_layout_rural=resources("pop_layout_rural.nc"),
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s.geojson"),
|
2024-02-12 15:56:00 +00:00
|
|
|
cutout=lambda w: "cutouts/"
|
|
|
|
+ CDIR
|
|
|
|
+ config_provider("atlite", "default_cutout")(w)
|
|
|
|
+ ".nc",
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
clustered_pop_layout=resources("pop_layout_base_s.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=10000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_simplified_population_layouts_s"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_simplified_population_layouts/s")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_clustered_population_layouts.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-01-04 18:12:04 +00:00
|
|
|
rule build_gas_network:
|
|
|
|
input:
|
|
|
|
gas_network="data/gas_network/scigrid-gas/data/IGGIELGN_PipeSegments.geojson",
|
|
|
|
output:
|
2024-02-10 16:22:01 +00:00
|
|
|
cleaned_gas_network=resources("gas_network.csv"),
|
2024-01-04 18:12:04 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=4000,
|
|
|
|
log:
|
2024-02-10 16:22:01 +00:00
|
|
|
logs("build_gas_network.log"),
|
2024-01-04 18:12:04 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_gas_network.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-01-04 18:12:04 +00:00
|
|
|
rule build_gas_input_locations:
|
|
|
|
input:
|
2024-08-26 13:04:15 +00:00
|
|
|
gem="data/gem/Europe-Gas-Tracker-2024-05.xlsx",
|
2024-01-04 18:12:04 +00:00
|
|
|
entry="data/gas_network/scigrid-gas/data/IGGIELGN_BorderPoints.geojson",
|
|
|
|
storage="data/gas_network/scigrid-gas/data/IGGIELGN_Storages.geojson",
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
|
|
|
regions_offshore=resources("regions_offshore_base_s_{clusters}.geojson"),
|
2024-01-04 18:12:04 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
gas_input_nodes=resources("gas_input_locations_s_{clusters}.geojson"),
|
2024-02-10 16:22:01 +00:00
|
|
|
gas_input_nodes_simplified=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"gas_input_locations_s_{clusters}_simplified.csv"
|
2024-02-10 16:22:01 +00:00
|
|
|
),
|
2024-01-04 18:12:04 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_gas_input_locations_s_{clusters}.log"),
|
2024-01-04 18:12:04 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_gas_input_locations.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-01-04 18:12:04 +00:00
|
|
|
rule cluster_gas_network:
|
|
|
|
input:
|
2024-02-10 16:22:01 +00:00
|
|
|
cleaned_gas_network=resources("gas_network.csv"),
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
|
|
|
regions_offshore=resources("regions_offshore_base_s_{clusters}.geojson"),
|
2024-01-04 18:12:04 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
clustered_gas_network=resources("gas_network_base_s_{clusters}.csv"),
|
2024-01-04 18:12:04 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=4000,
|
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("cluster_gas_network_{clusters}.log"),
|
2024-01-04 18:12:04 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/cluster_gas_network.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-03-01 13:37:16 +00:00
|
|
|
def heat_demand_cutout(wildcards):
|
|
|
|
c = config_provider("sector", "heat_demand_cutout")(wildcards)
|
|
|
|
if c == "default":
|
|
|
|
return (
|
|
|
|
"cutouts/"
|
|
|
|
+ CDIR
|
|
|
|
+ config_provider("atlite", "default_cutout")(wildcards)
|
|
|
|
+ ".nc"
|
|
|
|
)
|
|
|
|
else:
|
|
|
|
return "cutouts/" + CDIR + c + ".nc"
|
|
|
|
|
|
|
|
|
2024-01-15 15:47:19 +00:00
|
|
|
rule build_daily_heat_demand:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2024-02-17 16:16:28 +00:00
|
|
|
snapshots=config_provider("snapshots"),
|
2024-03-01 09:10:26 +00:00
|
|
|
drop_leap_day=config_provider("enable", "drop_leap_day"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-07-24 11:19:57 +00:00
|
|
|
pop_layout=resources("pop_layout_total.nc"),
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2024-03-01 13:37:16 +00:00
|
|
|
cutout=heat_demand_cutout,
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
heat_demand=resources("daily_heat_demand_total_base_s_{clusters}.nc"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=20000,
|
|
|
|
threads: 8
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_daily_heat_demand_total_s_{clusters}.loc"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_daily_heat_demand/total_s_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2024-01-15 15:47:19 +00:00
|
|
|
"../scripts/build_daily_heat_demand.py"
|
|
|
|
|
|
|
|
|
|
|
|
rule build_hourly_heat_demand:
|
|
|
|
params:
|
2024-02-17 16:16:28 +00:00
|
|
|
snapshots=config_provider("snapshots"),
|
2024-03-01 14:26:47 +00:00
|
|
|
drop_leap_day=config_provider("enable", "drop_leap_day"),
|
2024-01-15 15:47:19 +00:00
|
|
|
input:
|
|
|
|
heat_profile="data/heat_load_profile_BDEW.csv",
|
2024-09-13 13:37:01 +00:00
|
|
|
heat_demand=resources("daily_heat_demand_total_base_s_{clusters}.nc"),
|
2024-01-15 15:47:19 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
heat_demand=resources("hourly_heat_demand_total_base_s_{clusters}.nc"),
|
2024-01-15 15:47:19 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
|
|
|
threads: 8
|
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_hourly_heat_demand_total_s_{clusters}.loc"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_hourly_heat_demand/total_s_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2024-01-15 15:47:19 +00:00
|
|
|
"../scripts/build_hourly_heat_demand.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_temperature_profiles:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2024-02-17 16:16:28 +00:00
|
|
|
snapshots=config_provider("snapshots"),
|
2024-03-01 09:10:26 +00:00
|
|
|
drop_leap_day=config_provider("enable", "drop_leap_day"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-07-24 11:19:57 +00:00
|
|
|
pop_layout=resources("pop_layout_total.nc"),
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2024-03-01 13:37:16 +00:00
|
|
|
cutout=heat_demand_cutout,
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
temp_soil=resources("temp_soil_total_base_s_{clusters}.nc"),
|
|
|
|
temp_air=resources("temp_air_total_base_s_{clusters}.nc"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=20000,
|
|
|
|
threads: 8
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_temperature_profiles_total_s_{clusters}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_temperature_profiles/total_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_temperature_profiles.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-08-30 14:01:46 +00:00
|
|
|
rule build_central_heating_temperature_profiles:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2024-08-30 14:01:46 +00:00
|
|
|
max_forward_temperature_central_heating=config_provider(
|
|
|
|
"sector",
|
|
|
|
"district_heating",
|
|
|
|
"supply_temperature_approximation",
|
|
|
|
"max_forward_temperature",
|
2024-07-22 13:39:04 +00:00
|
|
|
),
|
2024-08-30 14:01:46 +00:00
|
|
|
min_forward_temperature_central_heating=config_provider(
|
|
|
|
"sector",
|
|
|
|
"district_heating",
|
|
|
|
"supply_temperature_approximation",
|
|
|
|
"min_forward_temperature",
|
2024-07-22 13:39:04 +00:00
|
|
|
),
|
2024-07-24 13:03:44 +00:00
|
|
|
return_temperature_central_heating=config_provider(
|
2024-08-30 14:01:46 +00:00
|
|
|
"sector",
|
|
|
|
"district_heating",
|
|
|
|
"supply_temperature_approximation",
|
|
|
|
"return_temperature",
|
|
|
|
),
|
|
|
|
snapshots=config_provider("snapshots"),
|
|
|
|
lower_threshold_ambient_temperature=config_provider(
|
|
|
|
"sector",
|
|
|
|
"district_heating",
|
|
|
|
"supply_temperature_approximation",
|
|
|
|
"lower_threshold_ambient_temperature",
|
|
|
|
),
|
|
|
|
upper_threshold_ambient_temperature=config_provider(
|
|
|
|
"sector",
|
|
|
|
"district_heating",
|
|
|
|
"supply_temperature_approximation",
|
|
|
|
"upper_threshold_ambient_temperature",
|
|
|
|
),
|
|
|
|
rolling_window_ambient_temperature=config_provider(
|
|
|
|
"sector",
|
|
|
|
"district_heating",
|
|
|
|
"supply_temperature_approximation",
|
|
|
|
"rolling_window_ambient_temperature",
|
|
|
|
),
|
|
|
|
input:
|
2024-09-13 13:37:01 +00:00
|
|
|
temp_air_total=resources("temp_air_total_base_s_{clusters}.nc"),
|
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2024-08-30 14:01:46 +00:00
|
|
|
output:
|
|
|
|
central_heating_forward_temperature_profiles=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"central_heating_forward_temperature_profiles_base_s_{clusters}.nc"
|
2024-08-30 14:01:46 +00:00
|
|
|
),
|
|
|
|
central_heating_return_temperature_profiles=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"central_heating_return_temperature_profiles_base_s_{clusters}.nc"
|
2024-08-30 14:01:46 +00:00
|
|
|
),
|
|
|
|
resources:
|
|
|
|
mem_mb=20000,
|
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_central_heating_temperature_profiles_s_{clusters}.log"),
|
2024-08-30 14:01:46 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_central_heating_temperature_profiles/s_{clusters}")
|
2024-08-30 14:01:46 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_central_heating_temperature_profiles/run.py"
|
|
|
|
|
|
|
|
|
|
|
|
rule build_cop_profiles:
|
|
|
|
params:
|
|
|
|
heat_pump_sink_T_decentral_heating=config_provider(
|
|
|
|
"sector", "heat_pump_sink_T_individual_heating"
|
2024-07-22 13:39:04 +00:00
|
|
|
),
|
2024-07-24 13:03:44 +00:00
|
|
|
heat_source_cooling_central_heating=config_provider(
|
2024-07-22 13:39:04 +00:00
|
|
|
"sector", "district_heating", "heat_source_cooling"
|
|
|
|
),
|
2024-07-24 13:03:44 +00:00
|
|
|
heat_pump_cop_approximation_central_heating=config_provider(
|
2024-07-22 13:39:04 +00:00
|
|
|
"sector", "district_heating", "heat_pump_cop_approximation"
|
|
|
|
),
|
2024-07-29 12:36:30 +00:00
|
|
|
heat_pump_sources=config_provider("sector", "heat_pump_sources"),
|
2024-08-07 11:33:59 +00:00
|
|
|
snapshots=config_provider("snapshots"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-08-30 14:01:46 +00:00
|
|
|
central_heating_forward_temperature_profiles=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"central_heating_forward_temperature_profiles_base_s_{clusters}.nc"
|
2024-08-30 14:01:46 +00:00
|
|
|
),
|
|
|
|
central_heating_return_temperature_profiles=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"central_heating_return_temperature_profiles_base_s_{clusters}.nc"
|
2024-08-30 14:01:46 +00:00
|
|
|
),
|
2024-09-13 13:37:01 +00:00
|
|
|
temp_soil_total=resources("temp_soil_total_base_s_{clusters}.nc"),
|
|
|
|
temp_air_total=resources("temp_air_total_base_s_{clusters}.nc"),
|
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
cop_profiles=resources("cop_profiles_base_s_{clusters}.nc"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=20000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_cop_profiles_s_{clusters}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_cop_profiles/s_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2024-07-24 13:40:21 +00:00
|
|
|
"../scripts/build_cop_profiles/run.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-03-01 13:37:16 +00:00
|
|
|
def solar_thermal_cutout(wildcards):
|
|
|
|
c = config_provider("solar_thermal", "cutout")(wildcards)
|
|
|
|
if c == "default":
|
|
|
|
return (
|
|
|
|
"cutouts/"
|
|
|
|
+ CDIR
|
|
|
|
+ config_provider("atlite", "default_cutout")(wildcards)
|
|
|
|
+ ".nc"
|
|
|
|
)
|
|
|
|
else:
|
|
|
|
return "cutouts/" + CDIR + c + ".nc"
|
|
|
|
|
|
|
|
|
2023-03-08 16:29:01 +00:00
|
|
|
rule build_solar_thermal_profiles:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2024-02-17 16:16:28 +00:00
|
|
|
snapshots=config_provider("snapshots"),
|
2024-03-01 09:10:26 +00:00
|
|
|
drop_leap_day=config_provider("enable", "drop_leap_day"),
|
2023-08-15 13:02:41 +00:00
|
|
|
solar_thermal=config_provider("solar_thermal"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-07-24 11:19:57 +00:00
|
|
|
pop_layout=resources("pop_layout_total.nc"),
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2024-03-01 13:37:16 +00:00
|
|
|
cutout=solar_thermal_cutout,
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
solar_thermal=resources("solar_thermal_total_base_s_{clusters}.nc"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
2024-05-31 23:20:31 +00:00
|
|
|
mem_mb=20000,
|
|
|
|
threads: 16
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_solar_thermal_profiles_total_s_{clusters}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_solar_thermal_profiles/total_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_solar_thermal_profiles.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_energy_totals:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2023-08-15 13:02:41 +00:00
|
|
|
countries=config_provider("countries"),
|
|
|
|
energy=config_provider("energy"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2023-08-23 15:14:57 +00:00
|
|
|
nuts3_shapes=resources("nuts3_shapes.geojson"),
|
2024-04-15 12:48:34 +00:00
|
|
|
co2="data/bundle/eea/UNFCCC_v23.csv",
|
2024-02-15 15:28:24 +00:00
|
|
|
swiss="data/switzerland-new_format-all_years.csv",
|
2024-03-13 12:42:03 +00:00
|
|
|
swiss_transport="data/gr-e-11.03.02.01.01-cc.csv",
|
2024-08-07 08:07:39 +00:00
|
|
|
idees="data/jrc-idees-2021",
|
2023-03-08 16:29:01 +00:00
|
|
|
district_heat_share="data/district_heat_share.csv",
|
2024-05-21 13:59:46 +00:00
|
|
|
eurostat="data/eurostat/Balances-April2023",
|
2024-04-14 11:28:50 +00:00
|
|
|
eurostat_households="data/eurostat/eurostat-household_energy_balances-february_2024.csv",
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-08-09 12:14:02 +00:00
|
|
|
transformation_output_coke=resources("transformation_output_coke.csv"),
|
2023-08-23 15:14:57 +00:00
|
|
|
energy_name=resources("energy_totals.csv"),
|
|
|
|
co2_name=resources("co2_totals.csv"),
|
|
|
|
transport_name=resources("transport_data.csv"),
|
2024-02-10 16:22:01 +00:00
|
|
|
district_heat_share=resources("district_heat_share.csv"),
|
2024-09-02 17:32:13 +00:00
|
|
|
heating_efficiencies=resources("heating_efficiencies.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 16
|
|
|
|
resources:
|
|
|
|
mem_mb=10000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs("build_energy_totals.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks("build_energy_totals")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_energy_totals.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2023-04-29 16:49:49 +00:00
|
|
|
rule build_heat_totals:
|
|
|
|
input:
|
|
|
|
hdd="data/era5-annual-HDD-per-country.csv",
|
2024-03-01 09:10:26 +00:00
|
|
|
energy_totals=resources("energy_totals.csv"),
|
2023-04-29 16:49:49 +00:00
|
|
|
output:
|
2024-03-01 09:10:26 +00:00
|
|
|
heat_totals=resources("heat_totals.csv"),
|
2023-04-29 16:49:49 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
|
|
|
log:
|
2024-03-01 09:10:26 +00:00
|
|
|
logs("build_heat_totals.log"),
|
2023-04-29 16:49:49 +00:00
|
|
|
benchmark:
|
2024-03-01 12:24:02 +00:00
|
|
|
benchmarks("build_heat_totals")
|
2023-04-29 16:49:49 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_heat_totals.py"
|
|
|
|
|
|
|
|
|
2023-03-08 16:29:01 +00:00
|
|
|
rule build_biomass_potentials:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2023-08-15 13:02:41 +00:00
|
|
|
biomass=config_provider("biomass"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-09-10 19:07:13 +00:00
|
|
|
enspreso_biomass="data/ENSPRESO_BIOMASS.xlsx",
|
Addition of unsustainable biomass potentials (#1139)
* add columns to potential df defined by difference to eurostat
* add network components
* add unsustainable bioliquids
* replaced stores by generators, still infeasible
* remove municipal waste
* remove separate treatment of waste from biomass potential calculation
* phase out unsustainble biomass potentials
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* phase-out unsustainable bioliquids
* remove waste_incineration from build_sector rule
* multiple potential calculation for different planning horizons
* raised costs of unsustainable solid biomass
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* stores instead of generators
* change snakemake inputs
* add phas-eout to config
* add techcolor for unsustainable bioliquids
* add config parameter to disable inclusion of unsustainable bioenergy potentials
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* add biomass to params
* remove call of snakemake object in define_spatial
* Quick resolve of review part 1 (config parameters, if-clause-reduction, bioliquid spatial, fix bioliquid link capacity
* Quick resolve of review part 2 (config table, helper function, fixed build_eurostat, removed dir-change, forced unsustainable usage, reverted overnight distinction in Snakefile)
* Cast of planning_horizon parameter to int type after test run
* added JRC fuel costs for solid and liquid biofuels, BtL VOM
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean-up after master merge
* adressed review (increase threads for build_eurostat, fixed e_max_pu of Stores, changed version of technology-data); added release note
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: lisazeyen <35347358+lisazeyen@users.noreply.github.com>
2024-08-07 15:52:00 +00:00
|
|
|
eurostat="data/eurostat/Balances-April2023",
|
2024-09-12 17:20:07 +00:00
|
|
|
nuts2="data/nuts/NUTS_RG_03M_2013_4326_LEVL_2.geojson",
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2023-03-08 17:03:49 +00:00
|
|
|
nuts3_population=ancient("data/bundle/nama_10r_3popgdp.tsv.gz"),
|
2024-04-15 12:48:34 +00:00
|
|
|
swiss_cantons=ancient("data/ch_cantons.csv"),
|
2023-03-08 17:03:49 +00:00
|
|
|
swiss_population=ancient("data/bundle/je-e-21.03.02.xls"),
|
2023-08-23 15:14:57 +00:00
|
|
|
country_shapes=resources("country_shapes.geojson"),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
biomass_potentials_all=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"biomass_potentials_all_{clusters}_{planning_horizons}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
2024-02-10 16:22:01 +00:00
|
|
|
biomass_potentials=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"biomass_potentials_s_{clusters}_{planning_horizons}.csv"
|
2024-02-10 16:22:01 +00:00
|
|
|
),
|
Addition of unsustainable biomass potentials (#1139)
* add columns to potential df defined by difference to eurostat
* add network components
* add unsustainable bioliquids
* replaced stores by generators, still infeasible
* remove municipal waste
* remove separate treatment of waste from biomass potential calculation
* phase out unsustainble biomass potentials
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* phase-out unsustainable bioliquids
* remove waste_incineration from build_sector rule
* multiple potential calculation for different planning horizons
* raised costs of unsustainable solid biomass
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* stores instead of generators
* change snakemake inputs
* add phas-eout to config
* add techcolor for unsustainable bioliquids
* add config parameter to disable inclusion of unsustainable bioenergy potentials
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* add biomass to params
* remove call of snakemake object in define_spatial
* Quick resolve of review part 1 (config parameters, if-clause-reduction, bioliquid spatial, fix bioliquid link capacity
* Quick resolve of review part 2 (config table, helper function, fixed build_eurostat, removed dir-change, forced unsustainable usage, reverted overnight distinction in Snakefile)
* Cast of planning_horizon parameter to int type after test run
* added JRC fuel costs for solid and liquid biofuels, BtL VOM
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean-up after master merge
* adressed review (increase threads for build_eurostat, fixed e_max_pu of Stores, changed version of technology-data); added release note
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: lisazeyen <35347358+lisazeyen@users.noreply.github.com>
2024-08-07 15:52:00 +00:00
|
|
|
threads: 8
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_biomass_potentials_s_{clusters}_{planning_horizons}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_biomass_potentials_s_{clusters}_{planning_horizons}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_biomass_potentials.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-02-12 15:56:00 +00:00
|
|
|
rule build_biomass_transport_costs:
|
|
|
|
input:
|
2024-09-10 18:51:28 +00:00
|
|
|
sc1="data/biomass_transport_costs_supplychain1.csv",
|
|
|
|
sc2="data/biomass_transport_costs_supplychain2.csv",
|
2024-02-12 15:56:00 +00:00
|
|
|
output:
|
|
|
|
biomass_transport_costs=resources("biomass_transport_costs.csv"),
|
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
|
|
|
log:
|
|
|
|
logs("build_biomass_transport_costs.log"),
|
|
|
|
benchmark:
|
|
|
|
benchmarks("build_biomass_transport_costs")
|
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_biomass_transport_costs.py"
|
|
|
|
|
|
|
|
|
|
|
|
rule build_sequestration_potentials:
|
|
|
|
params:
|
|
|
|
sequestration_potential=config_provider(
|
|
|
|
"sector", "regional_co2_sequestration_potential"
|
|
|
|
),
|
|
|
|
input:
|
2024-09-10 19:54:24 +00:00
|
|
|
sequestration_potential="data/complete_map_2020_unit_Mt.geojson",
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
|
|
|
regions_offshore=resources("regions_offshore_base_s_{clusters}.geojson"),
|
2024-02-12 15:56:00 +00:00
|
|
|
output:
|
|
|
|
sequestration_potential=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"co2_sequestration_potential_base_s_{clusters}.csv"
|
2024-02-12 15:56:00 +00:00
|
|
|
),
|
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=4000,
|
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_sequestration_potentials_{clusters}.log"),
|
2024-02-12 15:56:00 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_sequestration_potentials_{clusters}")
|
2024-02-12 15:56:00 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_sequestration_potentials.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_salt_cavern_potentials:
|
|
|
|
input:
|
2024-04-15 12:48:34 +00:00
|
|
|
salt_caverns="data/bundle/h2_salt_caverns_GWh_per_sqkm.geojson",
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
|
|
|
regions_offshore=resources("regions_offshore_base_s_{clusters}.geojson"),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
h2_cavern_potential=resources("salt_cavern_potentials_s_{clusters}.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_salt_cavern_potentials_s_{clusters}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_salt_cavern_potentials_s_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_salt_cavern_potentials.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_ammonia_production:
|
|
|
|
input:
|
2024-09-10 19:07:13 +00:00
|
|
|
usgs="data/myb1-2022-nitro-ert.xlsx",
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
ammonia_production=resources("ammonia_production.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs("build_ammonia_production.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks("build_ammonia_production")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_ammonia_production.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_industry_sector_ratios:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2023-08-15 13:02:41 +00:00
|
|
|
industry=config_provider("industry"),
|
|
|
|
ammonia=config_provider("sector", "ammonia", default=False),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2023-08-23 15:14:57 +00:00
|
|
|
ammonia_production=resources("ammonia_production.csv"),
|
2024-08-07 08:07:39 +00:00
|
|
|
idees="data/jrc-idees-2021",
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
industry_sector_ratios=resources("industry_sector_ratios.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs("build_industry_sector_ratios.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks("build_industry_sector_ratios")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_industry_sector_ratios.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-02-14 17:15:18 +00:00
|
|
|
rule build_industry_sector_ratios_intermediate:
|
|
|
|
params:
|
2024-02-17 16:38:46 +00:00
|
|
|
industry=config_provider("industry"),
|
2024-02-14 17:15:18 +00:00
|
|
|
input:
|
2024-02-17 16:38:46 +00:00
|
|
|
industry_sector_ratios=resources("industry_sector_ratios.csv"),
|
|
|
|
industrial_energy_demand_per_country_today=resources(
|
|
|
|
"industrial_energy_demand_per_country_today.csv"
|
|
|
|
),
|
|
|
|
industrial_production_per_country=resources(
|
|
|
|
"industrial_production_per_country.csv"
|
|
|
|
),
|
2024-02-14 17:15:18 +00:00
|
|
|
output:
|
2024-02-17 16:38:46 +00:00
|
|
|
industry_sector_ratios=resources(
|
|
|
|
"industry_sector_ratios_{planning_horizons}.csv"
|
|
|
|
),
|
2024-02-14 17:15:18 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
|
|
|
log:
|
2024-02-17 16:38:46 +00:00
|
|
|
logs("build_industry_sector_ratios_{planning_horizons}.log"),
|
2024-02-14 17:15:18 +00:00
|
|
|
benchmark:
|
2024-02-17 16:38:46 +00:00
|
|
|
benchmarks("build_industry_sector_ratios_{planning_horizons}")
|
2024-02-14 17:15:18 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_industry_sector_ratios_intermediate.py"
|
|
|
|
|
|
|
|
|
2023-03-08 16:29:01 +00:00
|
|
|
rule build_industrial_production_per_country:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2023-08-15 13:02:41 +00:00
|
|
|
industry=config_provider("industry"),
|
|
|
|
countries=config_provider("countries"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-08-07 09:49:33 +00:00
|
|
|
ch_industrial_production="data/ch_industrial_production_per_subsector.csv",
|
2023-08-23 15:14:57 +00:00
|
|
|
ammonia_production=resources("ammonia_production.csv"),
|
2024-08-07 08:07:39 +00:00
|
|
|
jrc="data/jrc-idees-2021",
|
2024-05-21 13:59:46 +00:00
|
|
|
eurostat="data/eurostat/Balances-April2023",
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_production_per_country=resources(
|
|
|
|
"industrial_production_per_country.csv"
|
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 8
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs("build_industrial_production_per_country.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks("build_industrial_production_per_country")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_industrial_production_per_country.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_industrial_production_per_country_tomorrow:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2023-08-15 13:02:41 +00:00
|
|
|
industry=config_provider("industry"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_production_per_country=resources(
|
|
|
|
"industrial_production_per_country.csv"
|
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_production_per_country_tomorrow=resources(
|
|
|
|
"industrial_production_per_country_tomorrow_{planning_horizons}.csv"
|
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs("build_industrial_production_per_country_tomorrow_{planning_horizons}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2023-03-08 18:26:41 +00:00
|
|
|
(
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks(
|
|
|
|
"build_industrial_production_per_country_tomorrow_{planning_horizons}"
|
|
|
|
)
|
2023-03-08 18:26:41 +00:00
|
|
|
)
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_industrial_production_per_country_tomorrow.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_industrial_distribution_key:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2023-08-15 13:02:41 +00:00
|
|
|
hotmaps_locate_missing=config_provider(
|
|
|
|
"industry", "hotmaps_locate_missing", default=False
|
|
|
|
),
|
|
|
|
countries=config_provider("countries"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-09-13 13:37:01 +00:00
|
|
|
regions_onshore=resources("regions_onshore_base_s_{clusters}.geojson"),
|
|
|
|
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
|
2024-09-10 19:07:13 +00:00
|
|
|
hotmaps="data/Industrial_Database.csv",
|
2024-08-30 12:53:54 +00:00
|
|
|
gem_gspt="data/gem/Global-Steel-Plant-Tracker-April-2024-Standard-Copy-V1.xlsx",
|
|
|
|
ammonia="data/ammonia_plants.csv",
|
|
|
|
cement_supplement="data/cement-plants-noneu.csv",
|
|
|
|
refineries_supplement="data/refineries-noneu.csv",
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_distribution_key=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_distribution_key_base_s_{clusters}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_industrial_distribution_key_{clusters}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_industrial_distribution_key/s_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_industrial_distribution_key.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_industrial_production_per_node:
|
|
|
|
input:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_distribution_key=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_distribution_key_base_s_{clusters}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
|
|
|
industrial_production_per_country_tomorrow=resources(
|
|
|
|
"industrial_production_per_country_tomorrow_{planning_horizons}.csv"
|
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_production_per_node=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_production_base_s_{clusters}_{planning_horizons}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_industrial_production_per_node_{clusters}_{planning_horizons}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2023-03-08 18:26:41 +00:00
|
|
|
(
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks(
|
2024-09-13 13:37:01 +00:00
|
|
|
"build_industrial_production_per_node/s_{clusters}_{planning_horizons}"
|
2023-08-23 15:14:57 +00:00
|
|
|
)
|
2023-03-08 18:26:41 +00:00
|
|
|
)
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_industrial_production_per_node.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_industrial_energy_demand_per_node:
|
|
|
|
input:
|
2024-02-17 16:38:46 +00:00
|
|
|
industry_sector_ratios=resources(
|
|
|
|
"industry_sector_ratios_{planning_horizons}.csv"
|
|
|
|
),
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_production_per_node=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_production_base_s_{clusters}_{planning_horizons}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
|
|
|
industrial_energy_demand_per_node_today=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_energy_demand_today_base_s_{clusters}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_energy_demand_per_node=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_energy_demand_base_s_{clusters}_{planning_horizons}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs(
|
2024-09-13 13:37:01 +00:00
|
|
|
"build_industrial_energy_demand_per_node_{clusters}_{planning_horizons}.log"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2023-03-08 18:26:41 +00:00
|
|
|
(
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks(
|
2024-09-13 13:37:01 +00:00
|
|
|
"build_industrial_energy_demand_per_node/s_{clusters}_{planning_horizons}"
|
2023-08-23 15:14:57 +00:00
|
|
|
)
|
2023-03-08 18:26:41 +00:00
|
|
|
)
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_industrial_energy_demand_per_node.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_industrial_energy_demand_per_country_today:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2023-08-15 13:02:41 +00:00
|
|
|
countries=config_provider("countries"),
|
|
|
|
industry=config_provider("industry"),
|
2024-09-20 06:54:19 +00:00
|
|
|
ammonia=config_provider("sector", "ammonia", default=False),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-08-09 12:14:02 +00:00
|
|
|
transformation_output_coke=resources("transformation_output_coke.csv"),
|
2024-08-07 08:07:39 +00:00
|
|
|
jrc="data/jrc-idees-2021",
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_production_per_country=resources(
|
|
|
|
"industrial_production_per_country.csv"
|
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_energy_demand_per_country_today=resources(
|
|
|
|
"industrial_energy_demand_per_country_today.csv"
|
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 8
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs("build_industrial_energy_demand_per_country_today.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2023-08-23 15:14:57 +00:00
|
|
|
benchmarks("build_industrial_energy_demand_per_country_today")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_industrial_energy_demand_per_country_today.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_industrial_energy_demand_per_node_today:
|
|
|
|
input:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_distribution_key=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_distribution_key_base_s_{clusters}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
|
|
|
industrial_energy_demand_per_country_today=resources(
|
|
|
|
"industrial_energy_demand_per_country_today.csv"
|
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
industrial_energy_demand_per_node_today=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_energy_demand_today_base_s_{clusters}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_industrial_energy_demand_per_node_today_{clusters}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_industrial_energy_demand_per_node_today/s_{clusters}")
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_industrial_energy_demand_per_node_today.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-02-12 15:56:00 +00:00
|
|
|
rule build_retro_cost:
|
|
|
|
params:
|
|
|
|
retrofitting=config_provider("sector", "retrofitting"),
|
|
|
|
countries=config_provider("countries"),
|
|
|
|
input:
|
|
|
|
building_stock="data/retro/data_building_stock.csv",
|
2024-04-15 12:48:34 +00:00
|
|
|
data_tabula="data/bundle/retro/tabula-calculator-calcsetbuilding.csv",
|
2024-09-13 13:37:01 +00:00
|
|
|
air_temperature=resources("temp_air_total_base_s_{clusters}.nc"),
|
2024-02-12 15:56:00 +00:00
|
|
|
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",
|
|
|
|
floor_area_missing="data/retro/floor_area_missing.csv",
|
2024-09-13 13:37:01 +00:00
|
|
|
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
|
2024-02-12 15:56:00 +00:00
|
|
|
cost_germany="data/retro/retro_cost_germany.csv",
|
|
|
|
window_assumptions="data/retro/window_assumptions.csv",
|
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
retro_cost=resources("retro_cost_base_s_{clusters}.csv"),
|
|
|
|
floor_area=resources("floor_area_base_s_{clusters}.csv"),
|
2024-02-12 15:56:00 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_retro_cost_{clusters}.log"),
|
2024-02-12 15:56:00 +00:00
|
|
|
benchmark:
|
2024-09-13 13:37:01 +00:00
|
|
|
benchmarks("build_retro_cost/s_{clusters}")
|
2024-02-12 15:56:00 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_retro_cost.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_population_weighted_energy_totals:
|
2024-03-14 15:48:32 +00:00
|
|
|
params:
|
|
|
|
snapshots=config_provider("snapshots"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-03-01 09:10:26 +00:00
|
|
|
energy_totals=resources("{kind}_totals.csv"),
|
2024-09-13 13:37:01 +00:00
|
|
|
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("pop_weighted_{kind}_totals_s_{clusters}.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_population_weighted_{kind}_totals_{clusters}.log"),
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_population_weighted_energy_totals.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_shipping_demand:
|
|
|
|
input:
|
|
|
|
ports="data/attributed_ports.json",
|
2023-08-23 15:14:57 +00:00
|
|
|
scope=resources("europe_shape.geojson"),
|
2024-09-13 13:37:01 +00:00
|
|
|
regions=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2023-08-23 15:14:57 +00:00
|
|
|
demand=resources("energy_totals.csv"),
|
2024-02-29 10:38:21 +00:00
|
|
|
params:
|
2024-03-01 09:10:26 +00:00
|
|
|
energy_totals_year=config_provider("energy", "energy_totals_year"),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("shipping_demand_s_{clusters}.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_shipping_demand_s_{clusters}.log"),
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_shipping_demand.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
rule build_transport_demand:
|
2023-05-15 08:33:17 +00:00
|
|
|
params:
|
2024-02-17 16:16:28 +00:00
|
|
|
snapshots=config_provider("snapshots"),
|
2024-03-01 09:10:26 +00:00
|
|
|
drop_leap_day=config_provider("enable", "drop_leap_day"),
|
2023-08-15 13:02:41 +00:00
|
|
|
sector=config_provider("sector"),
|
2024-03-14 15:48:32 +00:00
|
|
|
energy_totals_year=config_provider("energy", "energy_totals_year"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-09-13 13:37:01 +00:00
|
|
|
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
|
2023-08-23 15:14:57 +00:00
|
|
|
pop_weighted_energy_totals=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"pop_weighted_energy_totals_s_{clusters}.csv"
|
2023-08-23 15:14:57 +00:00
|
|
|
),
|
|
|
|
transport_data=resources("transport_data.csv"),
|
2024-04-15 12:48:34 +00:00
|
|
|
traffic_data_KFZ="data/bundle/emobility/KFZ__count",
|
|
|
|
traffic_data_Pkw="data/bundle/emobility/Pkw__count",
|
2024-09-13 13:37:01 +00:00
|
|
|
temp_air_total=resources("temp_air_total_base_s_{clusters}.nc"),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
transport_demand=resources("transport_demand_s_{clusters}.csv"),
|
|
|
|
transport_data=resources("transport_data_s_{clusters}.csv"),
|
|
|
|
avail_profile=resources("avail_profile_s_{clusters}.csv"),
|
|
|
|
dsm_profile=resources("dsm_profile_s_{clusters}.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_transport_demand_s_{clusters}.log"),
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/build_transport_demand.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-01-15 17:55:09 +00:00
|
|
|
rule build_district_heat_share:
|
|
|
|
params:
|
2024-02-10 17:09:23 +00:00
|
|
|
sector=config_provider("sector"),
|
2024-03-14 15:48:32 +00:00
|
|
|
energy_totals_year=config_provider("energy", "energy_totals_year"),
|
2024-01-15 17:55:09 +00:00
|
|
|
input:
|
2024-02-10 17:09:23 +00:00
|
|
|
district_heat_share=resources("district_heat_share.csv"),
|
2024-09-13 13:37:01 +00:00
|
|
|
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
|
2024-01-15 17:55:09 +00:00
|
|
|
output:
|
2024-02-10 17:09:23 +00:00
|
|
|
district_heat_share=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"district_heat_share_base_s_{clusters}_{planning_horizons}.csv"
|
2024-02-10 17:09:23 +00:00
|
|
|
),
|
2024-01-15 17:55:09 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_district_heat_share_{clusters}_{planning_horizons}.log"),
|
2024-01-15 17:55:09 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_district_heat_share.py"
|
|
|
|
|
|
|
|
|
2024-01-31 12:45:45 +00:00
|
|
|
rule build_existing_heating_distribution:
|
|
|
|
params:
|
2024-02-10 17:09:23 +00:00
|
|
|
baseyear=config_provider("scenario", "planning_horizons", 0),
|
|
|
|
sector=config_provider("sector"),
|
|
|
|
existing_capacities=config_provider("existing_capacities"),
|
2024-01-31 12:45:45 +00:00
|
|
|
input:
|
|
|
|
existing_heating="data/existing_infrastructure/existing_heating_raw.csv",
|
2024-09-13 13:37:01 +00:00
|
|
|
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
|
2024-02-10 17:09:23 +00:00
|
|
|
clustered_pop_energy_layout=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"pop_weighted_energy_totals_s_{clusters}.csv"
|
2024-02-10 17:09:23 +00:00
|
|
|
),
|
|
|
|
district_heat_share=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"district_heat_share_base_s_{clusters}_{planning_horizons}.csv"
|
2024-02-10 17:09:23 +00:00
|
|
|
),
|
2024-01-31 12:45:45 +00:00
|
|
|
output:
|
2024-02-10 17:09:23 +00:00
|
|
|
existing_heating_distribution=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"existing_heating_distribution_base_s_{clusters}_{planning_horizons}.csv"
|
2024-02-10 17:09:23 +00:00
|
|
|
),
|
2024-01-31 12:45:45 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
|
|
|
log:
|
2024-02-10 17:09:23 +00:00
|
|
|
logs(
|
2024-09-13 13:37:01 +00:00
|
|
|
"build_existing_heating_distribution_base_s_{clusters}_{planning_horizons}.log"
|
2024-02-10 17:09:23 +00:00
|
|
|
),
|
2024-01-31 12:45:45 +00:00
|
|
|
benchmark:
|
2024-02-10 17:09:23 +00:00
|
|
|
benchmarks(
|
2024-09-13 13:37:01 +00:00
|
|
|
"build_existing_heating_distribution/base_s_{clusters}_{planning_horizons}"
|
2024-01-31 12:45:45 +00:00
|
|
|
)
|
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_existing_heating_distribution.py"
|
|
|
|
|
|
|
|
|
2024-05-14 15:01:04 +00:00
|
|
|
rule time_aggregation:
|
|
|
|
params:
|
|
|
|
time_resolution=config_provider("clustering", "temporal", "resolution_sector"),
|
|
|
|
drop_leap_day=config_provider("enable", "drop_leap_day"),
|
|
|
|
solver_name=config_provider("solving", "solver", "name"),
|
|
|
|
input:
|
2024-09-13 13:37:01 +00:00
|
|
|
network=resources("networks/base_s_{clusters}_elec_l{ll}_{opts}.nc"),
|
2024-05-14 15:01:04 +00:00
|
|
|
hourly_heat_demand_total=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("hourly_heat_demand_total_base_s_{clusters}.nc")
|
2024-05-14 15:01:04 +00:00
|
|
|
if config_provider("sector", "heating")(w)
|
2024-05-23 19:52:09 +00:00
|
|
|
else []
|
2024-05-14 15:01:04 +00:00
|
|
|
),
|
|
|
|
solar_thermal_total=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("solar_thermal_total_base_s_{clusters}.nc")
|
2024-05-14 15:01:04 +00:00
|
|
|
if config_provider("sector", "solar_thermal")(w)
|
2024-05-23 19:52:09 +00:00
|
|
|
else []
|
2024-05-14 15:01:04 +00:00
|
|
|
),
|
|
|
|
output:
|
|
|
|
snapshot_weightings=resources(
|
2024-09-18 14:28:03 +00:00
|
|
|
"snapshot_weightings_base_s_{clusters}_elec_l{ll}_{opts}_{sector_opts}.csv"
|
2024-05-14 15:01:04 +00:00
|
|
|
),
|
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=5000,
|
|
|
|
log:
|
2024-09-18 14:28:03 +00:00
|
|
|
logs("time_aggregation_base_s_{clusters}_elec_l{ll}_{opts}_{sector_opts}.log"),
|
2024-05-14 15:01:04 +00:00
|
|
|
benchmark:
|
2024-09-18 14:28:03 +00:00
|
|
|
benchmarks("time_aggregation_base_s_{clusters}_elec_l{ll}_{opts}_{sector_opts}")
|
2024-05-14 15:01:04 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/time_aggregation.py"
|
|
|
|
|
|
|
|
|
2024-02-20 16:52:57 +00:00
|
|
|
def input_profile_offwind(w):
|
|
|
|
return {
|
2024-09-13 13:37:01 +00:00
|
|
|
f"profile_{tech}": resources("profile_{clusters}_" + tech + ".nc")
|
2024-05-10 11:29:58 +00:00
|
|
|
for tech in ["offwind-ac", "offwind-dc", "offwind-float"]
|
2024-02-20 16:52:57 +00:00
|
|
|
if (tech in config_provider("electricity", "renewable_carriers")(w))
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2024-03-26 22:54:25 +00:00
|
|
|
rule build_egs_potentials:
|
|
|
|
params:
|
|
|
|
snapshots=config_provider("snapshots"),
|
|
|
|
sector=config_provider("sector"),
|
|
|
|
costs=config_provider("costs"),
|
|
|
|
input:
|
|
|
|
egs_cost="data/egs_costs.json",
|
2024-09-13 13:37:01 +00:00
|
|
|
regions=resources("regions_onshore_base_s_{clusters}.geojson"),
|
2024-03-26 22:54:25 +00:00
|
|
|
air_temperature=(
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("temp_air_total_base_s_{clusters}.nc")
|
2024-03-26 22:54:25 +00:00
|
|
|
if config_provider("sector", "enhanced_geothermal", "var_cf")
|
|
|
|
else []
|
|
|
|
),
|
|
|
|
output:
|
2024-09-13 13:37:01 +00:00
|
|
|
egs_potentials=resources("egs_potentials_{clusters}.csv"),
|
|
|
|
egs_overlap=resources("egs_overlap_{clusters}.csv"),
|
|
|
|
egs_capacity_factors=resources("egs_capacity_factors_{clusters}.csv"),
|
2024-03-26 22:54:25 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
|
|
|
mem_mb=2000,
|
|
|
|
log:
|
2024-09-13 13:37:01 +00:00
|
|
|
logs("build_egs_potentials_{clusters}.log"),
|
2024-03-26 22:54:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
|
|
|
script:
|
|
|
|
"../scripts/build_egs_potentials.py"
|
|
|
|
|
|
|
|
|
2023-03-08 16:29:01 +00:00
|
|
|
rule prepare_sector_network:
|
|
|
|
params:
|
2024-02-17 16:16:28 +00:00
|
|
|
time_resolution=config_provider("clustering", "temporal", "resolution_sector"),
|
2023-08-15 13:02:41 +00:00
|
|
|
co2_budget=config_provider("co2_budget"),
|
|
|
|
conventional_carriers=config_provider(
|
|
|
|
"existing_capacities", "conventional_carriers"
|
|
|
|
),
|
|
|
|
foresight=config_provider("foresight"),
|
|
|
|
costs=config_provider("costs"),
|
|
|
|
sector=config_provider("sector"),
|
|
|
|
industry=config_provider("industry"),
|
2024-09-13 13:37:01 +00:00
|
|
|
renewable=config_provider("renewable"),
|
2024-02-17 16:16:28 +00:00
|
|
|
lines=config_provider("lines"),
|
2023-08-15 13:02:41 +00:00
|
|
|
pypsa_eur=config_provider("pypsa_eur"),
|
|
|
|
length_factor=config_provider("lines", "length_factor"),
|
|
|
|
planning_horizons=config_provider("scenario", "planning_horizons"),
|
|
|
|
countries=config_provider("countries"),
|
2024-02-17 16:16:28 +00:00
|
|
|
adjustments=config_provider("adjustments", "sector"),
|
2023-08-15 13:02:41 +00:00
|
|
|
emissions_scope=config_provider("energy", "emissions"),
|
Addition of unsustainable biomass potentials (#1139)
* add columns to potential df defined by difference to eurostat
* add network components
* add unsustainable bioliquids
* replaced stores by generators, still infeasible
* remove municipal waste
* remove separate treatment of waste from biomass potential calculation
* phase out unsustainble biomass potentials
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* phase-out unsustainable bioliquids
* remove waste_incineration from build_sector rule
* multiple potential calculation for different planning horizons
* raised costs of unsustainable solid biomass
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* stores instead of generators
* change snakemake inputs
* add phas-eout to config
* add techcolor for unsustainable bioliquids
* add config parameter to disable inclusion of unsustainable bioenergy potentials
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* add biomass to params
* remove call of snakemake object in define_spatial
* Quick resolve of review part 1 (config parameters, if-clause-reduction, bioliquid spatial, fix bioliquid link capacity
* Quick resolve of review part 2 (config table, helper function, fixed build_eurostat, removed dir-change, forced unsustainable usage, reverted overnight distinction in Snakefile)
* Cast of planning_horizon parameter to int type after test run
* added JRC fuel costs for solid and liquid biofuels, BtL VOM
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* clean-up after master merge
* adressed review (increase threads for build_eurostat, fixed e_max_pu of Stores, changed version of technology-data); added release note
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: lisazeyen <35347358+lisazeyen@users.noreply.github.com>
2024-08-07 15:52:00 +00:00
|
|
|
biomass=config_provider("biomass"),
|
2023-03-08 16:29:01 +00:00
|
|
|
RDIR=RDIR,
|
2024-07-29 16:29:27 +00:00
|
|
|
heat_pump_sources=config_provider("sector", "heat_pump_sources"),
|
2024-08-02 15:15:09 +00:00
|
|
|
heat_systems=config_provider("sector", "heat_systems"),
|
2024-09-11 08:16:09 +00:00
|
|
|
energy_totals_year=config_provider("energy", "energy_totals_year"),
|
2023-03-08 16:29:01 +00:00
|
|
|
input:
|
2024-02-20 16:52:57 +00:00
|
|
|
unpack(input_profile_offwind),
|
2024-01-04 18:12:04 +00:00
|
|
|
**rules.cluster_gas_network.output,
|
|
|
|
**rules.build_gas_input_locations.output,
|
2024-05-14 15:01:04 +00:00
|
|
|
snapshot_weightings=resources(
|
2024-09-18 14:28:03 +00:00
|
|
|
"snapshot_weightings_base_s_{clusters}_elec_l{ll}_{opts}_{sector_opts}.csv"
|
2024-05-14 15:01:04 +00:00
|
|
|
),
|
2024-02-12 15:56:00 +00:00
|
|
|
retro_cost=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("retro_cost_base_s_{clusters}.csv")
|
2024-02-12 15:56:00 +00:00
|
|
|
if config_provider("sector", "retrofitting", "retro_endogen")(w)
|
|
|
|
else []
|
|
|
|
),
|
|
|
|
floor_area=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("floor_area_base_s_{clusters}.csv")
|
2024-02-12 15:56:00 +00:00
|
|
|
if config_provider("sector", "retrofitting", "retro_endogen")(w)
|
|
|
|
else []
|
|
|
|
),
|
|
|
|
biomass_transport_costs=lambda w: (
|
|
|
|
resources("biomass_transport_costs.csv")
|
|
|
|
if config_provider("sector", "biomass_transport")(w)
|
|
|
|
or config_provider("sector", "biomass_spatial")(w)
|
|
|
|
else []
|
|
|
|
),
|
|
|
|
sequestration_potential=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("co2_sequestration_potential_base_s_{clusters}.csv")
|
2024-02-12 15:56:00 +00:00
|
|
|
if config_provider(
|
|
|
|
"sector", "regional_co2_sequestration_potential", "enable"
|
|
|
|
)(w)
|
|
|
|
else []
|
|
|
|
),
|
2024-09-13 13:37:01 +00:00
|
|
|
network=resources("networks/base_s_{clusters}_elec_l{ll}_{opts}.nc"),
|
2024-05-21 13:59:46 +00:00
|
|
|
eurostat="data/eurostat/Balances-April2023",
|
2024-02-10 16:22:01 +00:00
|
|
|
pop_weighted_energy_totals=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"pop_weighted_energy_totals_s_{clusters}.csv"
|
|
|
|
),
|
|
|
|
pop_weighted_heat_totals=resources("pop_weighted_heat_totals_s_{clusters}.csv"),
|
|
|
|
shipping_demand=resources("shipping_demand_s_{clusters}.csv"),
|
|
|
|
transport_demand=resources("transport_demand_s_{clusters}.csv"),
|
|
|
|
transport_data=resources("transport_data_s_{clusters}.csv"),
|
|
|
|
avail_profile=resources("avail_profile_s_{clusters}.csv"),
|
|
|
|
dsm_profile=resources("dsm_profile_s_{clusters}.csv"),
|
2023-08-23 15:14:57 +00:00
|
|
|
co2_totals_name=resources("co2_totals.csv"),
|
2024-04-15 12:48:34 +00:00
|
|
|
co2="data/bundle/eea/UNFCCC_v23.csv",
|
2024-02-12 15:56:00 +00:00
|
|
|
biomass_potentials=lambda w: (
|
2024-02-10 16:22:01 +00:00
|
|
|
resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"biomass_potentials_s_{clusters}_"
|
2024-02-16 10:17:00 +00:00
|
|
|
+ "{}.csv".format(config_provider("biomass", "year")(w))
|
2024-02-10 16:22:36 +00:00
|
|
|
)
|
2024-02-12 15:56:00 +00:00
|
|
|
if config_provider("foresight")(w) == "overnight"
|
2024-09-13 13:37:01 +00:00
|
|
|
else resources("biomass_potentials_s_{clusters}_{planning_horizons}.csv")
|
2023-09-26 13:12:39 +00:00
|
|
|
),
|
2024-02-12 15:54:33 +00:00
|
|
|
costs=lambda w: (
|
2024-02-16 10:17:00 +00:00
|
|
|
resources("costs_{}.csv".format(config_provider("costs", "year")(w)))
|
2024-02-12 15:54:33 +00:00
|
|
|
if config_provider("foresight")(w) == "overnight"
|
2024-02-16 10:17:00 +00:00
|
|
|
else resources("costs_{planning_horizons}.csv")
|
2023-03-08 16:29:01 +00:00
|
|
|
),
|
2024-09-13 13:37:01 +00:00
|
|
|
h2_cavern=resources("salt_cavern_potentials_s_{clusters}.csv"),
|
|
|
|
busmap_s=resources("busmap_base_s.csv"),
|
|
|
|
busmap=resources("busmap_base_s_{clusters}.csv"),
|
|
|
|
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
|
2024-02-10 16:22:01 +00:00
|
|
|
industrial_demand=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_energy_demand_base_s_{clusters}_{planning_horizons}.csv"
|
2024-02-10 16:22:01 +00:00
|
|
|
),
|
|
|
|
hourly_heat_demand_total=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"hourly_heat_demand_total_base_s_{clusters}.nc"
|
2024-02-10 16:22:01 +00:00
|
|
|
),
|
2024-07-29 12:49:57 +00:00
|
|
|
industrial_production=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"industrial_production_base_s_{clusters}_{planning_horizons}.csv"
|
2024-07-29 12:49:57 +00:00
|
|
|
),
|
2024-02-10 16:22:01 +00:00
|
|
|
district_heat_share=resources(
|
2024-09-13 13:37:01 +00:00
|
|
|
"district_heat_share_base_s_{clusters}_{planning_horizons}.csv"
|
2024-02-10 16:22:01 +00:00
|
|
|
),
|
2024-09-02 17:32:13 +00:00
|
|
|
heating_efficiencies=resources("heating_efficiencies.csv"),
|
2024-09-13 13:37:01 +00:00
|
|
|
temp_soil_total=resources("temp_soil_total_base_s_{clusters}.nc"),
|
|
|
|
temp_air_total=resources("temp_air_total_base_s_{clusters}.nc"),
|
|
|
|
cop_profiles=resources("cop_profiles_base_s_{clusters}.nc"),
|
2024-02-12 15:56:00 +00:00
|
|
|
solar_thermal_total=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("solar_thermal_total_base_s_{clusters}.nc")
|
2024-02-12 15:56:00 +00:00
|
|
|
if config_provider("sector", "solar_thermal")(w)
|
2023-03-08 16:29:01 +00:00
|
|
|
else []
|
|
|
|
),
|
2024-03-26 22:54:25 +00:00
|
|
|
egs_potentials=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("egs_potentials_{clusters}.csv")
|
2024-03-26 22:54:25 +00:00
|
|
|
if config_provider("sector", "enhanced_geothermal", "enable")(w)
|
|
|
|
else []
|
|
|
|
),
|
|
|
|
egs_overlap=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("egs_overlap_{clusters}.csv")
|
2024-03-26 22:54:25 +00:00
|
|
|
if config_provider("sector", "enhanced_geothermal", "enable")(w)
|
|
|
|
else []
|
|
|
|
),
|
|
|
|
egs_capacity_factors=lambda w: (
|
2024-09-13 13:37:01 +00:00
|
|
|
resources("egs_capacity_factors_{clusters}.csv")
|
2024-03-26 22:54:25 +00:00
|
|
|
if config_provider("sector", "enhanced_geothermal", "enable")(w)
|
|
|
|
else []
|
|
|
|
),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
|
|
|
RESULTS
|
2024-09-13 13:37:01 +00:00
|
|
|
+ "prenetworks/base_s_{clusters}_l{ll}_{opts}_{sector_opts}_{planning_horizons}.nc",
|
2023-03-08 16:29:01 +00:00
|
|
|
threads: 1
|
|
|
|
resources:
|
2023-08-02 12:02:25 +00:00
|
|
|
mem_mb=2000,
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-02-17 22:36:46 +00:00
|
|
|
RESULTS
|
2024-09-13 13:37:01 +00:00
|
|
|
+ "logs/prepare_sector_network_base_s_{clusters}_l{ll}_{opts}_{sector_opts}_{planning_horizons}.log",
|
2023-03-08 16:29:01 +00:00
|
|
|
benchmark:
|
|
|
|
(
|
2024-02-17 22:36:46 +00:00
|
|
|
RESULTS
|
2024-09-13 13:37:01 +00:00
|
|
|
+ "benchmarks/prepare_sector_network/base_s_{clusters}_l{ll}_{opts}_{sector_opts}_{planning_horizons}"
|
2023-03-08 16:29:01 +00:00
|
|
|
)
|
2023-03-08 16:44:25 +00:00
|
|
|
conda:
|
|
|
|
"../envs/environment.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/prepare_sector_network.py"
|