From 6b15439d90ff6aad5bac65e1c2faabb9c8d1a9f1 Mon Sep 17 00:00:00 2001
From: Thibault Hallouin <thibault.hallouin@inrae.fr>
Date: Fri, 27 Jan 2023 09:48:29 +0100
Subject: [PATCH] fix bug for AWN: missing "real" lead time dimension

---
 include/evalhyd/detail/probabilist/evaluator.hpp | 2 +-
 include/evalhyd/detail/probabilist/intervals.hpp | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/include/evalhyd/detail/probabilist/evaluator.hpp b/include/evalhyd/detail/probabilist/evaluator.hpp
index 4e5fb2c..f8abf7a 100644
--- a/include/evalhyd/detail/probabilist/evaluator.hpp
+++ b/include/evalhyd/detail/probabilist/evaluator.hpp
@@ -706,7 +706,7 @@ namespace evalhyd
                 {
                     AWN = metrics::calc_AWN(
                             q_obs, get_AW(), t_msk, b_exp,
-                            n_sit, n_msk, n_exp
+                            n_sit, n_ldt, n_msk, n_exp
                     );
                 }
                 return AWN.value();
diff --git a/include/evalhyd/detail/probabilist/intervals.hpp b/include/evalhyd/detail/probabilist/intervals.hpp
index dbc209b..e46761f 100644
--- a/include/evalhyd/detail/probabilist/intervals.hpp
+++ b/include/evalhyd/detail/probabilist/intervals.hpp
@@ -439,6 +439,8 @@ namespace evalhyd
             ///     shape: (samples, time slice)
             /// \param n_sit
             ///     Number of sites.
+            /// \param n_ldt
+            ///     Number of lead times.
             /// \param n_msk
             ///     Number of temporal subsets.
             /// \param n_exp
@@ -453,14 +455,15 @@ namespace evalhyd
                     const xt::xtensor<bool, 4>& t_msk,
                     const std::vector<xt::xkeep_slice<int>>& b_exp,
                     std::size_t n_sit,
+                    std::size_t n_ldt,
                     std::size_t n_msk,
                     std::size_t n_exp
             )
             {
                 // compute "climatology" average width
                 xt::xtensor<double, 5> mean_obs =
-                        xt::zeros<double>({n_sit, std::size_t {1}, n_msk,
-                                           n_exp, std::size_t {1}});
+                        xt::zeros<double>({n_sit, n_ldt, n_msk, n_exp,
+                                           std::size_t {1}});
 
                 // compute variable one mask at a time to minimise memory imprint
                 for (std::size_t m = 0; m < n_msk; m++) {
-- 
GitLab