This commit is contained in:
Joaquin Gottlebe
2025-07-30 15:57:48 +02:00
parent e49fcfac46
commit a639c34cee
273 changed files with 20151 additions and 0 deletions
@@ -0,0 +1,63 @@
import os
import platform
from pathlib import Path
configfile: "config/config.yml"
RESULTS = config["result_path"]
SUNSHINE_DATA = "sunshine_duration"
SUNSHINE_FILES = glob_wildcards(f"{RESULTS}/{SUNSHINE_DATA}/{{file}}.txt").file
REPORT = config["report_path"]
DATA = config["data_path"]
YEAR = config["year"]
EFFICIENCY = config["efficiency"]
os.makedirs(RESULTS, exist_ok=True)
os.makedirs(f"{RESULTS}/{SUNSHINE_DATA}/", exist_ok=True)
os.makedirs(REPORT, exist_ok=True)
os.makedirs(DATA, exist_ok=True)
SRC = config["scripts_path"]
# Detect the platform and set the Python executable
PYTHON = "python3" if platform.system() != "Windows" else "python"
# include all Rules
include: Path("rules/solarparc_data_processing.smk")
include: Path("rules/photovoltaic_data_processing.smk")
include: Path("rules/sunshine_duration_data_processing.smk")
include: Path("rules/analysis.smk")
# Defines a complete workflow run
rule all:
input:
f"{RESULTS}/sunshine_duration.csv",
f"{RESULTS}/sunshine_duration_yearly.csv",
f"{RESULTS}/sunshine_duration_yearly_trimmed.csv",
f"{REPORT}/sunshine_duration_yearly_trimmed.png",
f"{RESULTS}/solarparcs_area.txt",
f"{REPORT}/solarparcs.png",
f"{RESULTS}/solarparcs_energy.csv",
f"{RESULTS}/solarparcs_energy_yearly.csv",
f"{RESULTS}/solarparcs_energy_yearly_trimmed.csv",
f"{REPORT}/solarparcs_energy_yearly_trimmed.png",
f"{RESULTS}/pv_data_cleaned.csv",
f"{RESULTS}/pv_data_cleaned_trimmed.csv",
f"{RESULTS}/pv_data_cleaned_trimmed_collapsed.csv",
f"{REPORT}/pv_data_cleaned_trimmed_collapsed.png",
f"{RESULTS}/energy_difference.csv",
f"{REPORT}/pv_monthly_change_{YEAR}.png",
f"{REPORT}/energy_difference.png"
# Removes all output files
rule clean:
run:
if platform.system() == "Windows":
os.system(f'del /Q "{RESULTS}\\{SUNSHINE_DATA}"')
os.system(f'del /Q "{RESULTS}"')
os.system(f'del /Q "{REPORT}"')
else:
os.system(f'rm -rf {RESULTS}/{SUNSHINE_DATA}')
os.system(f'rm -rf {RESULTS}')
os.system(f'rm -rf {REPORT}')