Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 98 additions & 13 deletions rules/cba.smk
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ if config.get("cba", {}).get("cba_scenario_input", {}).get("use_presolved", Fals
network=RESULTS
+ f"networks/presolved-{config['cba']['cba_scenario_input']['sb_version']}/base_s_all___{{planning_horizons}}.nc",
log:
logs("retrieve_presolved_sb_networks_{planning_horizons}.log"),
logs("cba/retrieve_presolved_sb_networks_{planning_horizons}.log"),
run:
target_suffix = (
f"networks/base_s_all___{wildcards.planning_horizons}.nc"
Expand Down Expand Up @@ -168,6 +168,10 @@ checkpoint clean_projects:
transmission_projects=resources("cba/transmission_projects.csv"),
storage_projects=resources("cba/storage_projects.csv"),
methods=resources("cba/cba_project_methods.csv"),
log:
logs("cba/clean_projects.log"),
benchmark:
benchmarks("performances/cba/clean_projects")
script:
scripts("cba/clean_projects.py")

Expand All @@ -178,6 +182,10 @@ rule clean_tyndp_indicators:
output:
indicators=resources("cba/tyndp_indicators.csv"),
readme=resources("cba/tyndp_indicators_name_unit.csv"),
log:
logs("cba/clean_tyndp_indicators.log"),
benchmark:
benchmarks("performances/cba/clean_tyndp_indicators")
script:
scripts("cba/clean_tyndp_indicators.py")

Expand Down Expand Up @@ -255,6 +263,10 @@ rule simplify_sb_network:
),
output:
network=resources("cba/networks/simple_{planning_horizons}.nc"),
log:
logs("cba/simplify_sb_network_{planning_horizons}.log"),
benchmark:
benchmarks("performances/cba/simplify_sb_network_{planning_horizons}")
params:
tyndp_conventional_carriers=config_provider(
"electricity", "tyndp_conventional_carriers"
Expand Down Expand Up @@ -300,6 +312,10 @@ rule prepare_reference:
costs=resources("costs_{planning_horizons}_processed.csv"),
output:
network=resources("cba/networks/reference_{planning_horizons}.nc"),
log:
logs("cba/prepare_reference_{planning_horizons}.log"),
benchmark:
benchmarks("performances/cba/prepare_reference_{planning_horizons}")
params:
hurdle_costs=config_provider("cba", "hurdle_costs"),
patch_sb_with_annexe=config_provider(
Expand All @@ -317,6 +333,10 @@ rule build_msv_snapshot_weightings:
snapshot_weightings=resources(
"cba/msv_snapshot_weightings_{planning_horizons}.csv"
),
log:
logs("cba/build_msv_snapshot_weightings_{planning_horizons}.log"),
benchmark:
benchmarks("performances/cba/build_msv_snapshot_weightings_{planning_horizons}")
params:
msv_resolution=config_provider("cba", "msv_extraction", "resolution"),
drop_leap_day=config_provider("enable", "drop_leap_day"),
Expand All @@ -343,6 +363,8 @@ rule solve_cba_msv_extraction:
solver=RESULTS + "logs/cba/msv/{planning_horizons}_solver.log",
memory=RESULTS + "logs/cba/msv/{planning_horizons}_memory.log",
python=RESULTS + "logs/cba/msv/{planning_horizons}_python.log",
benchmark:
RESULTS + "benchmarks/performances/cba/msv/{planning_horizons}"
threads: solver_threads
params:
solving=config_provider("solving"),
Expand All @@ -364,6 +386,10 @@ rule prepare_rolling_horizon:
network_msv=rules.solve_cba_msv_extraction.output.network,
output:
network=resources("cba/networks/rl_{planning_horizons}.nc"),
log:
logs("cba/prepare_rolling_horizon_{planning_horizons}.log"),
benchmark:
benchmarks("performances/cba/prepare_rolling_horizon_{planning_horizons}")
params:
cyclic_carriers=config_provider("cba", "storage", "cyclic_carriers"),
soc_boundary_carriers=config_provider("cba", "storage", "soc_boundary_carriers"),
Expand All @@ -385,6 +411,10 @@ rule prepare_project:
network=temp(
resources("cba/networks/project_{cba_project}_{planning_horizons}.nc")
),
log:
logs("cba/prepare_project_{cba_project}_{planning_horizons}.log"),
benchmark:
benchmarks("performances/cba/prepare_project_{cba_project}_{planning_horizons}")
params:
hurdle_costs=config_provider("cba", "hurdle_costs"),
cyclic_carriers=config_provider("cba", "storage", "cyclic_carriers"),
Expand All @@ -403,6 +433,8 @@ rule solve_cba_reference_network:
solver=RESULTS + "logs/cba/reference/reference_{planning_horizons}_solver.log",
memory=RESULTS + "logs/cba/reference/reference_{planning_horizons}_memory.log",
python=RESULTS + "logs/cba/reference/reference_{planning_horizons}_python.log",
benchmark:
RESULTS + "benchmarks/performances/cba/reference/reference_{planning_horizons}"
threads: 1
params:
solving=config_provider("solving"),
Expand All @@ -427,6 +459,9 @@ rule solve_cba_network:
+ "logs/cba/projects/project_{cba_project}_{planning_horizons}_memory.log",
python=RESULTS
+ "logs/cba/projects/project_{cba_project}_{planning_horizons}_python.log",
benchmark:
RESULTS
+ "benchmarks/performances/cba/projects/project_{cba_project}_{planning_horizons}"
threads: 1
params:
solving=config_provider("solving"),
Expand All @@ -451,7 +486,12 @@ rule make_indicators:
benchmark=rules.clean_tyndp_indicators.output.indicators,
methods=rules.clean_projects.output.methods,
output:
indicators=RESULTS + "cba/project_{cba_project}_{planning_horizons}.csv",
indicators=RESULTS
+ "cba/results/{planning_horizons}/project_{cba_project}_{planning_horizons}.csv",
log:
logs("cba/make_indicators_{cba_project}_{planning_horizons}.log"),
benchmark:
benchmarks("performances/cba/make_indicators_{cba_project}_{planning_horizons}")
script:
scripts("cba/make_indicators.py")

Expand Down Expand Up @@ -495,7 +535,12 @@ rule combine_indicators:
input:
indicators=input_indicators,
output:
indicators=RESULTS + "cba/indicators_{planning_horizons}.csv",
indicators=RESULTS
+ "cba/results/{planning_horizons}/indicators_{planning_horizons}.csv",
log:
logs("cba/combine_indicators_{planning_horizons}.log"),
benchmark:
benchmarks("performances/cba/combine_indicators_{planning_horizons}")
script:
scripts("cba/combine_indicators.py")

Expand All @@ -505,7 +550,11 @@ rule plot_indicators:
indicators=rules.combine_indicators.output.indicators,
transmission_projects=rules.clean_projects.output.transmission_projects,
output:
plot_dir=directory(RESULTS + "cba/plots_{planning_horizons}"),
plot_dir=directory(RESULTS + "cba/graphs/{planning_horizons}/summary"),
log:
logs("cba/plot_indicators_{planning_horizons}.log"),
benchmark:
benchmarks("performances/cba/plot_indicators_{planning_horizons}")
params:
plotting=config_provider("plotting"),
script:
Expand All @@ -518,10 +567,16 @@ rule plot_indicators:

rule plot_cba_benchmark:
input:
indicators=RESULTS + "cba/project_{cba_project}_{planning_horizons}.csv",
indicators=rules.make_indicators.output.indicators,
output:
plot_file=RESULTS
+ "cba/validation_{planning_horizons}/project_{cba_project}_{planning_horizons}.png",
+ "cba/validation/{planning_horizons}/project_{cba_project}_{planning_horizons}.png",
log:
logs("cba/plot_cba_benchmark_{cba_project}_{planning_horizons}.log"),
benchmark:
benchmarks(
"performances/cba/plot_cba_benchmark_{cba_project}_{planning_horizons}"
)
script:
scripts("cba/plot_benchmark_indicators.py")

Expand All @@ -530,7 +585,7 @@ rule plot_cba_benchmark:
# input:
# indicators=rules.combine_indicators.output.indicators,
# output:
# plot_dir=directory(RESULTS + "cba/validation_{planning_horizons}"),
# plot_dir=directory(RESULTS + "cba/validation/{planning_horizons}"),
# script:
# scripts("cba/plot_benchmark_indicators.py")

Expand All @@ -541,7 +596,13 @@ rule plot_weather_benchmark:
indicators=rules.make_indicators.output.indicators,
output:
plot_file=RESULTS
+ "cba/ensemble_plots/ensemble_{cba_project}_{planning_horizons}.png",
+ "cba/graphs/{planning_horizons}/ensemble_{cba_project}_{planning_horizons}.png",
log:
logs("cba/plot_weather_benchmark_{cba_project}_{planning_horizons}.log"),
benchmark:
benchmarks(
"performances/cba/plot_weather_benchmark_{cba_project}_{planning_horizons}"
)
script:
scripts("cba/plot_benchmark_indicators.py")

Expand All @@ -556,7 +617,13 @@ rule average_indicators_per_project_and_planning_horizon:
),
output:
indicators=RESULTS
+ "cba/ensemble_indicators/ensemble_indicators_{cba_project}_{planning_horizons}.csv",
+ "cba/results/all/ensemble_indicators_{cba_project}_{planning_horizons}.csv",
log:
logs("cba/average_indicators_{cba_project}_{planning_horizons}.log"),
benchmark:
benchmarks(
"performances/cba/average_indicators_{cba_project}_{planning_horizons}"
)
script:
scripts("cba/average_indicators.py")

Expand All @@ -570,7 +637,11 @@ rule summarize_indicators_per_project:
run=[w.run],
),
output:
plot_file=RESULTS + "cba/ensemble_plots/ensemble_{cba_project}_all_horizons.png",
plot_file=RESULTS + "cba/graphs/all/ensemble_{cba_project}_all_horizons.png",
log:
logs("cba/summarize_indicators_{cba_project}.log"),
benchmark:
benchmarks("performances/cba/summarize_indicators_{cba_project}")
script:
scripts("cba/summarize_indicators.py")

Expand Down Expand Up @@ -600,9 +671,15 @@ rule plot_summary_projects_benchmark:
indicators=summary_benchmark_indicators,
output:
plot_file=RESULTS
+ "cba/ensemble_plots/summary_benchmark_{planning_horizons}.png",
+ "cba/validation/{planning_horizons}/summary_benchmark_{planning_horizons}.png",
log:
logs("cba/plot_summary_projects_benchmark_{planning_horizons}.log"),
benchmark:
benchmarks(
"performances/cba/plot_summary_projects_benchmark_{planning_horizons}"
)
script:
"../scripts/cba/plot_benchmark_indicators.py"
scripts("cba/plot_benchmark_indicators.py")


rule summarize_all_indicators:
Expand All @@ -614,7 +691,11 @@ rule summarize_all_indicators:
run=cba_source_runs(w),
),
output:
plot_file=RESULTS + "cba/ensemble_plots/ensemble_all.png",
plot_file=RESULTS + "cba/graphs/all/ensemble_all.png",
log:
logs("cba/summarize_all_indicators.log"),
benchmark:
benchmarks("performances/cba/summarize_all_indicators")
script:
scripts("cba/summarize_all.py")

Expand Down Expand Up @@ -772,6 +853,10 @@ rule collect_cba_scenario:
collect_cba_scenario_inputs,
output:
touch(RESULTS + "cba/all_scenarios.txt"),
log:
logs("cba/collect_cba_scenario.log"),
benchmark:
benchmarks("performances/cba/collect_cba_scenario")


def cba_ensemble_inputs(w):
Expand Down