From 380754ae6d65e1ef4a905851d0e378043d8e4ab3 Mon Sep 17 00:00:00 2001
From: Eric Duminil <eric.duminil@gmail.com>
Date: Tue, 23 Apr 2024 10:19:16 +0200
Subject: [PATCH] window ratio as parameter

---
 .../variable_window_ratio.py                  | 41 +++++++++++--------
 1 file changed, 23 insertions(+), 18 deletions(-)

diff --git a/python_scripts/run_simstadt_from_python/variable_window_ratio.py b/python_scripts/run_simstadt_from_python/variable_window_ratio.py
index e14d34e..f119983 100644
--- a/python_scripts/run_simstadt_from_python/variable_window_ratio.py
+++ b/python_scripts/run_simstadt_from_python/variable_window_ratio.py
@@ -62,7 +62,7 @@ def parse_library(library_path: Path) -> et.ElementTree:
     return et.parse(library_path)
 
 
-def set_custom_window_ratio(tree: et.ElementTree, window_ratio_node: float, export_path: Path):
+def set_custom_window_ratio(window_ratio: float, tree: et.ElementTree, window_ratio_node: float, export_path: Path):
     root = tree.getroot()
     root.find('name', NAMESPACE).text = f"Custom Physics Library with Window Ratio : {window_ratio}"
     for surface in SURFACES:
@@ -90,26 +90,31 @@ def parse_results(window_ratio, heat_demand_csv):
             'CoolingDemand': cooling_demand_MWh}
 
 
-workflow_path, physics_processor_step = copy_workflow_from_template(TEMPLATE_NAME, PROJECT_PATH)
-custom_library_path = set_custom_library(physics_processor_step)
-lib_tree = parse_library(custom_library_path)
+def main():
+    workflow_path, physics_processor_step = copy_workflow_from_template(TEMPLATE_NAME, PROJECT_PATH)
+    custom_library_path = set_custom_library(physics_processor_step)
+    lib_tree = parse_library(custom_library_path)
 
-all_results = []
-for window_ratio in WINDOW_RATIOS:
-    # TODO: Status quo too
-    set_custom_window_ratio(lib_tree, window_ratio, custom_library_path)
+    all_results = []
+    for window_ratio in WINDOW_RATIOS:
+        # TODO: Status quo too
+        set_custom_window_ratio(window_ratio, lib_tree, window_ratio, custom_library_path)
 
-    output_files = run_workflow(find_simstadt(SIMSTADT2_GLOB), workflow_path, [CITYGML])
+        output_files = run_workflow(find_simstadt(SIMSTADT2_GLOB), workflow_path, [CITYGML])
 
-    heat_demand_csv = next(file for file in output_files if 'HEATING_AND_COOLING.csv' in file.name)
+        heat_demand_csv = next(file for file in output_files if 'HEATING_AND_COOLING.csv' in file.name)
 
-    ################### Parse heat demand ########################
+        ################### Parse heat demand ########################
 
-    all_results.append(parse_results(window_ratio, heat_demand_csv))
+        all_results.append(parse_results(window_ratio, heat_demand_csv))
 
-df = pd.DataFrame(all_results).set_index('WindowRatio')
-print(df)
-df.plot()
-plt.ylabel('MWh')
-plt.title("Demands depending on Window Ratio")
-plt.show()
+    df = pd.DataFrame(all_results).set_index('WindowRatio')
+    print(df)
+    df.plot()
+    plt.ylabel('MWh')
+    plt.title("Demands depending on Window Ratio")
+    plt.show()
+
+
+if __name__ == "__main__":
+    main()
-- 
GitLab