From c5e0e40ee0b7aecbf3fc7c8ccdd687eecccca718 Mon Sep 17 00:00:00 2001
From: "v.gramlich1" <v.gramlichfz-juelich.de>
Date: Wed, 4 Aug 2021 09:27:53 +0200
Subject: [PATCH] Gives ValueError if window_lead_time of competitors and model
 dont match

---
 mlair/run_modules/post_processing.py | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/mlair/run_modules/post_processing.py b/mlair/run_modules/post_processing.py
index 80d40a66..4defc4d6 100644
--- a/mlair/run_modules/post_processing.py
+++ b/mlair/run_modules/post_processing.py
@@ -138,7 +138,16 @@ class PostProcessing(RunEnvironment):
             except (FileNotFoundError, KeyError):
                 logging.debug(f"No competitor found for combination '{station_name}' and '{competitor_name}'.")
                 continue
-        return xr.concat(competing_predictions, "type") if len(competing_predictions) > 0 else None
+        if len(competing_predictions)==0:
+            return None
+        else:
+            comp_array = xr.concat(competing_predictions, "type")
+            if len(comp_array.coords[self.ahead_dim]) == self.window_lead_time:
+                return comp_array
+            else:
+                raise ValueError(f"Ahead dimensions of competitors do not match model."
+                                 f" Competitor ahead: {len(comp_array.coords[self.ahead_dim])}"
+                                 f" but window_lead_time is {self.window_lead_time}.")
 
     def bootstrap_postprocessing(self, create_new_bootstraps: bool, _iter: int = 0, bootstrap_type="singleinput",
                                  bootstrap_method="shuffle") -> None:
-- 
GitLab