From 085d76a326196ba2c6f317da2b79bc072c3229b3 Mon Sep 17 00:00:00 2001
From: leufen1 <l.leufen@fz-juelich.de>
Date: Wed, 1 Feb 2023 18:39:34 +0100
Subject: [PATCH] store errors of bias free analysis on local disk too

---
 mlair/run_modules/post_processing.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/mlair/run_modules/post_processing.py b/mlair/run_modules/post_processing.py
index 7e400551..86919a85 100644
--- a/mlair/run_modules/post_processing.py
+++ b/mlair/run_modules/post_processing.py
@@ -153,6 +153,8 @@ class PostProcessing(RunEnvironment):
         # bias free evaluation
         if self.data_store.get("do_bias_free_evaluation", "postprocessing") is True:
             bias_free_errors = self.calculate_bias_free_error_metrics()
+            self.report_error_metrics(bias_free_errors[0], tag="bias_free")
+            self.report_error_metrics(bias_free_errors[1], tag="seasonal_bias_free")
             self.bias_free_errors = [self.store_errors(bias_free_errors[0]), self.store_errors(bias_free_errors[1])]
 
         # plotting
@@ -1239,9 +1241,10 @@ class PostProcessing(RunEnvironment):
         file_name = "feature_importance_skill_score_report_raw.csv"
         df.to_csv(os.path.join(report_path, file_name), sep=";")
 
-    def report_error_metrics(self, errors):
+    def report_error_metrics(self, errors, tag=None):
         report_path = os.path.join(self.data_store.get("experiment_path"), "latex_report")
         path_config.check_path_and_create(report_path)
+        base_file_name = "error_report" if tag is None else f"error_report_{tag}"
         for model_type in errors.keys():
             metric_collection = {}
             for station, station_errors in errors[model_type].items():
@@ -1269,9 +1272,9 @@ class PostProcessing(RunEnvironment):
                     df.reindex(df.index.drop(["total"]).to_list() + ["total"], )
                 column_format = tables.create_column_format_for_tex(df)
                 if model_type == "skill_score":
-                    file_name = f"error_report_{model_type}_{metric}.%s".replace(' ', '_').replace('/', '_')
+                    file_name = f"{base_file_name}_{model_type}_{metric}.%s".replace(' ', '_').replace('/', '_')
                 else:
-                    file_name = f"error_report_{metric}_{model_type}.%s".replace(' ', '_').replace('/', '_')
+                    file_name = f"{base_file_name}_{metric}_{model_type}.%s".replace(' ', '_').replace('/', '_')
                 tables.save_to_tex(report_path, file_name % "tex", column_format=column_format, df=df)
                 tables.save_to_md(report_path, file_name % "md", df=df)
 
-- 
GitLab