Add carbon_budget_name and planning_horizons to the wildcards also for the overnight option (they are not used in this case). Also, rename prenetworks_bf to prenetworks_brownfield
This commit is contained in:
parent
dedabe695e
commit
b23b7a143c
348
Snakefile
348
Snakefile
@ -175,168 +175,133 @@ rule build_industrial_demand:
|
|||||||
resources: mem_mb=1000
|
resources: mem_mb=1000
|
||||||
script: 'scripts/build_industrial_demand.py'
|
script: 'scripts/build_industrial_demand.py'
|
||||||
|
|
||||||
|
|
||||||
|
rule prepare_sector_network:
|
||||||
|
input:
|
||||||
|
network=pypsaeur('networks/{network}_s{simpl}_{clusters}_ec_lv{lv}_{opts}.nc'),
|
||||||
|
energy_totals_name='data/energy_totals.csv',
|
||||||
|
co2_totals_name='data/co2_totals.csv',
|
||||||
|
transport_name='data/transport_data.csv',
|
||||||
|
biomass_potentials='data/biomass_potentials.csv',
|
||||||
|
timezone_mappings='data/timezone_mappings.csv',
|
||||||
|
heat_profile="data/heat_load_profile_BDEW.csv",
|
||||||
|
costs="data/costs.csv", #"data/costs/costs_{planning_horizons}.csv",
|
||||||
|
co2_budget="data/co2_budget.csv",
|
||||||
|
clustered_pop_layout="resources/pop_layout_{network}_s{simpl}_{clusters}.csv",
|
||||||
|
industrial_demand="resources/industrial_demand_{network}_s{simpl}_{clusters}.csv",
|
||||||
|
heat_demand_urban="resources/heat_demand_urban_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
heat_demand_rural="resources/heat_demand_rural_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
heat_demand_total="resources/heat_demand_total_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
temp_soil_total="resources/temp_soil_total_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
temp_soil_rural="resources/temp_soil_rural_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
temp_soil_urban="resources/temp_soil_urban_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
temp_air_total="resources/temp_air_total_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
temp_air_rural="resources/temp_air_rural_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
temp_air_urban="resources/temp_air_urban_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
cop_soil_total="resources/cop_soil_total_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
cop_soil_rural="resources/cop_soil_rural_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
cop_soil_urban="resources/cop_soil_urban_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
cop_air_total="resources/cop_air_total_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
cop_air_rural="resources/cop_air_rural_{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_urban="resources/solar_thermal_urban_{network}_s{simpl}_{clusters}.nc",
|
||||||
|
solar_thermal_rural="resources/solar_thermal_rural_{network}_s{simpl}_{clusters}.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
|
||||||
|
resources: mem_mb=2000
|
||||||
|
benchmark: "benchmarks/prepare_network/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}"
|
||||||
|
script: "scripts/prepare_sector_network.py"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
rule plot_network:
|
||||||
|
input:
|
||||||
|
network=config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc"
|
||||||
|
output:
|
||||||
|
map=config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all_{co2_budget_name}_{planning_horizons}.pdf",
|
||||||
|
today=config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}-today.pdf"
|
||||||
|
threads: 2
|
||||||
|
resources: mem_mb=10000
|
||||||
|
script: "scripts/plot_network.py"
|
||||||
|
|
||||||
|
|
||||||
|
rule copy_config:
|
||||||
|
input:
|
||||||
|
networks=expand(config['results_dir'] + config['run'] + "/prenetworks_brownfield/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc",
|
||||||
|
**config['scenario'])
|
||||||
|
output:
|
||||||
|
config=config['summary_dir'] + '/' + config['run'] + '/configs/config.yaml'
|
||||||
|
threads: 1
|
||||||
|
resources: mem_mb=1000
|
||||||
|
script:
|
||||||
|
'scripts/copy_config.py'
|
||||||
|
|
||||||
|
|
||||||
|
rule make_summary:
|
||||||
|
input:
|
||||||
|
networks=expand(config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc",
|
||||||
|
**config['scenario']),
|
||||||
|
#plots=expand(config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all_{co2_budget_name}_{planning_horizons}.pdf",
|
||||||
|
# **config['scenario'])
|
||||||
|
#heat_demand_name='data/heating/daily_heat_demand.h5'
|
||||||
|
output:
|
||||||
|
nodal_costs=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_costs.csv',
|
||||||
|
nodal_capacities=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_capacities.csv',
|
||||||
|
nodal_cfs=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_cfs.csv',
|
||||||
|
cfs=config['summary_dir'] + '/' + config['run'] + '/csvs/cfs.csv',
|
||||||
|
costs=config['summary_dir'] + '/' + config['run'] + '/csvs/costs.csv',
|
||||||
|
capacities=config['summary_dir'] + '/' + config['run'] + '/csvs/capacities.csv',
|
||||||
|
curtailment=config['summary_dir'] + '/' + config['run'] + '/csvs/curtailment.csv',
|
||||||
|
energy=config['summary_dir'] + '/' + config['run'] + '/csvs/energy.csv',
|
||||||
|
supply=config['summary_dir'] + '/' + config['run'] + '/csvs/supply.csv',
|
||||||
|
supply_energy=config['summary_dir'] + '/' + config['run'] + '/csvs/supply_energy.csv',
|
||||||
|
prices=config['summary_dir'] + '/' + config['run'] + '/csvs/prices.csv',
|
||||||
|
weighted_prices=config['summary_dir'] + '/' + config['run'] + '/csvs/weighted_prices.csv',
|
||||||
|
market_values=config['summary_dir'] + '/' + config['run'] + '/csvs/market_values.csv',
|
||||||
|
price_statistics=config['summary_dir'] + '/' + config['run'] + '/csvs/price_statistics.csv',
|
||||||
|
metrics=config['summary_dir'] + '/' + config['run'] + '/csvs/metrics.csv'
|
||||||
|
threads: 2
|
||||||
|
resources: mem_mb=10000
|
||||||
|
script:
|
||||||
|
'scripts/make_summary.py'
|
||||||
|
|
||||||
|
|
||||||
|
rule plot_summary:
|
||||||
|
input:
|
||||||
|
costs=config['summary_dir'] + '/' + config['run'] + '/csvs/costs.csv',
|
||||||
|
energy=config['summary_dir'] + '/' + config['run'] + '/csvs/energy.csv',
|
||||||
|
balances=config['summary_dir'] + '/' + config['run'] + '/csvs/supply_energy.csv'
|
||||||
|
output:
|
||||||
|
costs=config['summary_dir'] + '/' + config['run'] + '/graphs/costs.pdf',
|
||||||
|
energy=config['summary_dir'] + '/' + config['run'] + '/graphs/energy.pdf',
|
||||||
|
#balances=config['summary_dir'] + '/' + config['run'] + '/graphs/balances-energy.pdf'
|
||||||
|
threads: 2
|
||||||
|
resources: mem_mb=10000
|
||||||
|
script:
|
||||||
|
'scripts/plot_summary.py'
|
||||||
|
|
||||||
if config["foresight"] == "overnight":
|
if config["foresight"] == "overnight":
|
||||||
|
|
||||||
rule prepare_sector_network:
|
|
||||||
input:
|
|
||||||
network=pypsaeur('networks/{network}_s{simpl}_{clusters}_ec_lv{lv}_{opts}.nc'),
|
|
||||||
energy_totals_name='data/energy_totals.csv',
|
|
||||||
co2_totals_name='data/co2_totals.csv',
|
|
||||||
transport_name='data/transport_data.csv',
|
|
||||||
biomass_potentials='data/biomass_potentials.csv',
|
|
||||||
timezone_mappings='data/timezone_mappings.csv',
|
|
||||||
heat_profile="data/heat_load_profile_BDEW.csv",
|
|
||||||
costs="data/costs.csv",
|
|
||||||
clustered_pop_layout="resources/pop_layout_{network}_s{simpl}_{clusters}.csv",
|
|
||||||
industrial_demand="resources/industrial_demand_{network}_s{simpl}_{clusters}.csv",
|
|
||||||
heat_demand_urban="resources/heat_demand_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
heat_demand_rural="resources/heat_demand_rural_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
heat_demand_total="resources/heat_demand_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_soil_total="resources/temp_soil_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_soil_rural="resources/temp_soil_rural_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_soil_urban="resources/temp_soil_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_air_total="resources/temp_air_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_air_rural="resources/temp_air_rural_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_air_urban="resources/temp_air_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_soil_total="resources/cop_soil_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_soil_rural="resources/cop_soil_rural_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_soil_urban="resources/cop_soil_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_air_total="resources/cop_air_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_air_rural="resources/cop_air_rural_{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_urban="resources/solar_thermal_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
solar_thermal_rural="resources/solar_thermal_rural_{network}_s{simpl}_{clusters}.nc"
|
|
||||||
output: config['results_dir'] + config['run'] + '/prenetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc'
|
|
||||||
threads: 1
|
|
||||||
resources: mem_mb=2000
|
|
||||||
benchmark: "benchmarks/prepare_network/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}"
|
|
||||||
script: "scripts/prepare_sector_network.py"
|
|
||||||
|
|
||||||
|
|
||||||
rule solve_network:
|
rule solve_network:
|
||||||
input:
|
input:
|
||||||
network=config['results_dir'] + config['run'] + "/prenetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc",
|
network=config['results_dir'] + config['run'] + "/prenetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc",
|
||||||
config=config['summary_dir'] + '/' + config['run'] + '/configs/config.yaml'
|
costs="data/costs/costs_{planning_horizons}.csv",
|
||||||
output: config['results_dir'] + config['run'] + "/postnetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc"
|
|
||||||
|
output: config['results_dir'] + config['run'] + "/postnetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc"
|
||||||
shadow: "shallow"
|
shadow: "shallow"
|
||||||
log:
|
log:
|
||||||
solver="logs/" + config['run'] + "/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_solver.log",
|
solver="logs/" + config['run'] + "/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}_solver.log",
|
||||||
python="logs/" + config['run'] + "/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_python.log",
|
python="logs/" + config['run'] + "/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}_python.log",
|
||||||
memory="logs/" + config['run'] + "/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_memory.log"
|
memory="logs/" + config['run'] + "/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}_memory.log"
|
||||||
benchmark: "benchmarks/solve_network/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}"
|
benchmark: "benchmarks/solve_network/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}"
|
||||||
threads: 4
|
threads: 4
|
||||||
resources: mem_mb=config['solving']['mem']
|
resources: mem_mb=config['solving']['mem']
|
||||||
# group: "solve" # with group, threads is ignored https://bitbucket.org/snakemake/snakemake/issues/971/group-job-description-does-not-contain
|
# group: "solve" # with group, threads is ignored https://bitbucket.org/snakemake/snakemake/issues/971/group-job-description-does-not-contain
|
||||||
script: "scripts/solve_network.py"
|
script: "scripts/solve_network.py"
|
||||||
|
|
||||||
|
|
||||||
rule plot_network:
|
|
||||||
input:
|
|
||||||
network=config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc"
|
|
||||||
output:
|
|
||||||
map=config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all.pdf",
|
|
||||||
today=config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-today.pdf"
|
|
||||||
threads: 2
|
|
||||||
resources: mem_mb=10000
|
|
||||||
script: "scripts/plot_network.py"
|
|
||||||
|
|
||||||
|
|
||||||
rule copy_config:
|
|
||||||
input:
|
|
||||||
networks=expand(config['results_dir'] + config['run'] + "/prenetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc",
|
|
||||||
**config['scenario'])
|
|
||||||
output:
|
|
||||||
config=config['summary_dir'] + '/' + config['run'] + '/configs/config.yaml'
|
|
||||||
threads: 1
|
|
||||||
resources: mem_mb=1000
|
|
||||||
script:
|
|
||||||
'scripts/copy_config.py'
|
|
||||||
|
|
||||||
|
|
||||||
rule make_summary:
|
|
||||||
input:
|
|
||||||
networks=expand(config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc",
|
|
||||||
**config['scenario']),
|
|
||||||
plots=expand(config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all.pdf",
|
|
||||||
**config['scenario'])
|
|
||||||
#heat_demand_name='data/heating/daily_heat_demand.h5'
|
|
||||||
output:
|
|
||||||
nodal_costs=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_costs.csv',
|
|
||||||
nodal_capacities=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_capacities.csv',
|
|
||||||
nodal_cfs=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_cfs.csv',
|
|
||||||
cfs=config['summary_dir'] + '/' + config['run'] + '/csvs/cfs.csv',
|
|
||||||
costs=config['summary_dir'] + '/' + config['run'] + '/csvs/costs.csv',
|
|
||||||
capacities=config['summary_dir'] + '/' + config['run'] + '/csvs/capacities.csv',
|
|
||||||
curtailment=config['summary_dir'] + '/' + config['run'] + '/csvs/curtailment.csv',
|
|
||||||
energy=config['summary_dir'] + '/' + config['run'] + '/csvs/energy.csv',
|
|
||||||
supply=config['summary_dir'] + '/' + config['run'] + '/csvs/supply.csv',
|
|
||||||
supply_energy=config['summary_dir'] + '/' + config['run'] + '/csvs/supply_energy.csv',
|
|
||||||
prices=config['summary_dir'] + '/' + config['run'] + '/csvs/prices.csv',
|
|
||||||
weighted_prices=config['summary_dir'] + '/' + config['run'] + '/csvs/weighted_prices.csv',
|
|
||||||
market_values=config['summary_dir'] + '/' + config['run'] + '/csvs/market_values.csv',
|
|
||||||
price_statistics=config['summary_dir'] + '/' + config['run'] + '/csvs/price_statistics.csv',
|
|
||||||
metrics=config['summary_dir'] + '/' + config['run'] + '/csvs/metrics.csv'
|
|
||||||
threads: 2
|
|
||||||
resources: mem_mb=10000
|
|
||||||
script:
|
|
||||||
'scripts/make_summary.py'
|
|
||||||
|
|
||||||
|
|
||||||
rule plot_summary:
|
|
||||||
input:
|
|
||||||
costs=config['summary_dir'] + '/' + config['run'] + '/csvs/costs.csv',
|
|
||||||
energy=config['summary_dir'] + '/' + config['run'] + '/csvs/energy.csv',
|
|
||||||
balances=config['summary_dir'] + '/' + config['run'] + '/csvs/supply_energy.csv'
|
|
||||||
output:
|
|
||||||
costs=config['summary_dir'] + '/' + config['run'] + '/graphs/costs.pdf',
|
|
||||||
energy=config['summary_dir'] + '/' + config['run'] + '/graphs/energy.pdf',
|
|
||||||
balances=config['summary_dir'] + '/' + config['run'] + '/graphs/balances-energy.pdf'
|
|
||||||
threads: 2
|
|
||||||
resources: mem_mb=10000
|
|
||||||
script:
|
|
||||||
'scripts/plot_summary.py'
|
|
||||||
|
|
||||||
|
|
||||||
if config["foresight"] == "myopic":
|
|
||||||
|
|
||||||
rule prepare_sector_network_myopic:
|
if config["foresight"] == "myopic":
|
||||||
input:
|
|
||||||
network=pypsaeur('networks/{network}_s{simpl}_{clusters}_ec_lv{lv}_{opts}.nc'),
|
|
||||||
energy_totals_name='data/energy_totals.csv',
|
|
||||||
co2_totals_name='data/co2_totals.csv',
|
|
||||||
transport_name='data/transport_data.csv',
|
|
||||||
biomass_potentials='data/biomass_potentials.csv',
|
|
||||||
timezone_mappings='data/timezone_mappings.csv',
|
|
||||||
heat_profile="data/heat_load_profile_BDEW.csv",
|
|
||||||
costs="data/costs.csv", #"data/costs/costs_{planning_horizons}.csv",
|
|
||||||
co2_budget="data/co2_budget.csv",
|
|
||||||
clustered_pop_layout="resources/pop_layout_{network}_s{simpl}_{clusters}.csv",
|
|
||||||
industrial_demand="resources/industrial_demand_{network}_s{simpl}_{clusters}.csv",
|
|
||||||
heat_demand_urban="resources/heat_demand_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
heat_demand_rural="resources/heat_demand_rural_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
heat_demand_total="resources/heat_demand_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_soil_total="resources/temp_soil_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_soil_rural="resources/temp_soil_rural_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_soil_urban="resources/temp_soil_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_air_total="resources/temp_air_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_air_rural="resources/temp_air_rural_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
temp_air_urban="resources/temp_air_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_soil_total="resources/cop_soil_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_soil_rural="resources/cop_soil_rural_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_soil_urban="resources/cop_soil_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_air_total="resources/cop_air_total_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
cop_air_rural="resources/cop_air_rural_{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_urban="resources/solar_thermal_urban_{network}_s{simpl}_{clusters}.nc",
|
|
||||||
solar_thermal_rural="resources/solar_thermal_rural_{network}_s{simpl}_{clusters}.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
|
|
||||||
resources: mem_mb=2000
|
|
||||||
benchmark: "benchmarks/prepare_network/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}"
|
|
||||||
script: "scripts/prepare_sector_network.py"
|
|
||||||
|
|
||||||
|
|
||||||
rule add_existing_baseyear:
|
rule add_existing_baseyear:
|
||||||
input:
|
input:
|
||||||
@ -344,7 +309,7 @@ if config["foresight"] == "myopic":
|
|||||||
costs="data/costs/costs_{}.csv".format(config['scenario']['planning_horizons'][0]),
|
costs="data/costs/costs_{}.csv".format(config['scenario']['planning_horizons'][0]),
|
||||||
cop_soil_total="resources/cop_soil_total_{network}_s{simpl}_{clusters}.nc",
|
cop_soil_total="resources/cop_soil_total_{network}_s{simpl}_{clusters}.nc",
|
||||||
cop_air_total="resources/cop_air_total_{network}_s{simpl}_{clusters}.nc"
|
cop_air_total="resources/cop_air_total_{network}_s{simpl}_{clusters}.nc"
|
||||||
output: config['results_dir'] + config['run'] + '/prenetworks_bf/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc'
|
output: config['results_dir'] + config['run'] + '/prenetworks_brownfield/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc'
|
||||||
wildcard_constraints:
|
wildcard_constraints:
|
||||||
planning_horizons=config['scenario']['planning_horizons'][0] #only applies to baseyear
|
planning_horizons=config['scenario']['planning_horizons'][0] #only applies to baseyear
|
||||||
threads: 1
|
threads: 1
|
||||||
@ -364,15 +329,16 @@ if config["foresight"] == "myopic":
|
|||||||
cop_soil_total="resources/cop_soil_total_{network}_s{simpl}_{clusters}.nc",
|
cop_soil_total="resources/cop_soil_total_{network}_s{simpl}_{clusters}.nc",
|
||||||
cop_air_total="resources/cop_air_total_{network}_s{simpl}_{clusters}.nc"
|
cop_air_total="resources/cop_air_total_{network}_s{simpl}_{clusters}.nc"
|
||||||
|
|
||||||
output: config['results_dir'] + config['run'] + "/prenetworks_bf/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc"
|
output: config['results_dir'] + config['run'] + "/prenetworks_brownfield/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc"
|
||||||
threads: 4
|
threads: 4
|
||||||
resources: mem_mb=2000
|
resources: mem_mb=2000
|
||||||
script: "scripts/add_brownfield.py"
|
script: "scripts/add_brownfield.py"
|
||||||
|
|
||||||
|
ruleorder: add_existing_baseyear > add_brownfield
|
||||||
|
|
||||||
rule solve_network_myopic:
|
rule solve_network_myopic:
|
||||||
input:
|
input:
|
||||||
network=config['results_dir'] + config['run'] + "/prenetworks_bf/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc",
|
network=config['results_dir'] + config['run'] + "/prenetworks_brownfield/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc",
|
||||||
costs="data/costs/costs_{planning_horizons}.csv",
|
costs="data/costs/costs_{planning_horizons}.csv",
|
||||||
|
|
||||||
output: config['results_dir'] + config['run'] + "/postnetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc"
|
output: config['results_dir'] + config['run'] + "/postnetworks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc"
|
||||||
@ -386,72 +352,6 @@ if config["foresight"] == "myopic":
|
|||||||
resources: mem_mb=config['solving']['mem']
|
resources: mem_mb=config['solving']['mem']
|
||||||
script: "scripts/solve_network.py"
|
script: "scripts/solve_network.py"
|
||||||
|
|
||||||
|
|
||||||
rule plot_network:
|
|
||||||
input:
|
|
||||||
network=config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc"
|
|
||||||
output:
|
|
||||||
map=config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all_{co2_budget_name}_{planning_horizons}.pdf",
|
|
||||||
today=config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}-today.pdf"
|
|
||||||
threads: 2
|
|
||||||
resources: mem_mb=10000
|
|
||||||
script: "scripts/plot_network.py"
|
|
||||||
|
|
||||||
|
|
||||||
rule copy_config:
|
|
||||||
input:
|
|
||||||
networks=expand(config['results_dir'] + config['run'] + "/prenetworks_bf/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc",
|
|
||||||
**config['scenario'])
|
|
||||||
output:
|
|
||||||
config=config['summary_dir'] + '/' + config['run'] + '/configs/config.yaml'
|
|
||||||
threads: 1
|
|
||||||
resources: mem_mb=1000
|
|
||||||
script:
|
|
||||||
'scripts/copy_config.py'
|
|
||||||
|
|
||||||
|
|
||||||
rule make_summary:
|
|
||||||
input:
|
|
||||||
networks=expand(config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}_{co2_budget_name}_{planning_horizons}.nc",
|
|
||||||
**config['scenario']),
|
|
||||||
#plots=expand(config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all_{co2_budget_name}_{planning_horizons}.pdf",
|
|
||||||
# **config['scenario'])
|
|
||||||
#heat_demand_name='data/heating/daily_heat_demand.h5'
|
|
||||||
output:
|
|
||||||
nodal_costs=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_costs.csv',
|
|
||||||
nodal_capacities=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_capacities.csv',
|
|
||||||
nodal_cfs=config['summary_dir'] + '/' + config['run'] + '/csvs/nodal_cfs.csv',
|
|
||||||
cfs=config['summary_dir'] + '/' + config['run'] + '/csvs/cfs.csv',
|
|
||||||
costs=config['summary_dir'] + '/' + config['run'] + '/csvs/costs.csv',
|
|
||||||
capacities=config['summary_dir'] + '/' + config['run'] + '/csvs/capacities.csv',
|
|
||||||
curtailment=config['summary_dir'] + '/' + config['run'] + '/csvs/curtailment.csv',
|
|
||||||
energy=config['summary_dir'] + '/' + config['run'] + '/csvs/energy.csv',
|
|
||||||
supply=config['summary_dir'] + '/' + config['run'] + '/csvs/supply.csv',
|
|
||||||
supply_energy=config['summary_dir'] + '/' + config['run'] + '/csvs/supply_energy.csv',
|
|
||||||
prices=config['summary_dir'] + '/' + config['run'] + '/csvs/prices.csv',
|
|
||||||
weighted_prices=config['summary_dir'] + '/' + config['run'] + '/csvs/weighted_prices.csv',
|
|
||||||
market_values=config['summary_dir'] + '/' + config['run'] + '/csvs/market_values.csv',
|
|
||||||
price_statistics=config['summary_dir'] + '/' + config['run'] + '/csvs/price_statistics.csv',
|
|
||||||
metrics=config['summary_dir'] + '/' + config['run'] + '/csvs/metrics.csv'
|
|
||||||
threads: 2
|
|
||||||
resources: mem_mb=10000
|
|
||||||
script:
|
|
||||||
'scripts/make_summary.py'
|
|
||||||
|
|
||||||
|
|
||||||
rule plot_summary:
|
|
||||||
input:
|
|
||||||
costs=config['summary_dir'] + '/' + config['run'] + '/csvs/costs.csv',
|
|
||||||
energy=config['summary_dir'] + '/' + config['run'] + '/csvs/energy.csv',
|
|
||||||
balances=config['summary_dir'] + '/' + config['run'] + '/csvs/supply_energy.csv'
|
|
||||||
output:
|
|
||||||
costs=config['summary_dir'] + '/' + config['run'] + '/graphs/costs.pdf',
|
|
||||||
energy=config['summary_dir'] + '/' + config['run'] + '/graphs/energy.pdf',
|
|
||||||
#balances=config['summary_dir'] + '/' + config['run'] + '/graphs/balances-energy.pdf'
|
|
||||||
threads: 2
|
|
||||||
resources: mem_mb=10000
|
|
||||||
script:
|
|
||||||
'scripts/plot_summary.py'
|
|
||||||
|
|
||||||
ruleorder: add_existing_baseyear > add_brownfield
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user