From 5c5daddab3dc3294275eaaf8425e3db437b954ed Mon Sep 17 00:00:00 2001
From: Thibault Hallouin <thibault.hallouin@inrae.fr>
Date: Mon, 23 Jan 2023 11:30:37 +0100
Subject: [PATCH] fix dimension error in RANK_DIAG

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

diff --git a/include/evalhyd/detail/probabilist/evaluator.hpp b/include/evalhyd/detail/probabilist/evaluator.hpp
index b4981c6..0e2ba05 100644
--- a/include/evalhyd/detail/probabilist/evaluator.hpp
+++ b/include/evalhyd/detail/probabilist/evaluator.hpp
@@ -91,7 +91,7 @@ namespace evalhyd
             xtl::xoptional<xt::xtensor<double, 6>, bool> CSI;
             xtl::xoptional<xt::xtensor<double, 5>, bool> ROCSS;
             // > Ranks-based
-            xtl::xoptional<xt::xtensor<double, 6>, bool> RANK_DIAG;
+            xtl::xoptional<xt::xtensor<double, 5>, bool> RANK_DIAG;
             xtl::xoptional<xt::xtensor<double, 4>, bool> DS;
             xtl::xoptional<xt::xtensor<double, 4>, bool> AS;
 
@@ -543,7 +543,7 @@ namespace evalhyd
                 return ROCSS.value();
             };
 
-            xt::xtensor<double, 6> get_RANK_DIAG()
+            xt::xtensor<double, 5> get_RANK_DIAG()
             {
                 if (!RANK_DIAG.has_value())
                 {
diff --git a/include/evalhyd/detail/probabilist/ranks.hpp b/include/evalhyd/detail/probabilist/ranks.hpp
index 2efc15f..a594b8f 100644
--- a/include/evalhyd/detail/probabilist/ranks.hpp
+++ b/include/evalhyd/detail/probabilist/ranks.hpp
@@ -208,7 +208,7 @@ namespace evalhyd
             /// \return
             ///     Rank diagram.
             ///     shape: (sites, lead times, subsets, samples, ranks)
-            inline xt::xtensor<double, 6> calc_RANK_DIAG(
+            inline xt::xtensor<double, 5> calc_RANK_DIAG(
                     const xt::xtensor<double, 5>& o_j,
                     const xt::xtensor<bool, 4>& t_msk,
                     const std::vector<xt::xkeep_slice<int>>& b_exp,
@@ -220,9 +220,8 @@ namespace evalhyd
             )
             {
                 // initialise output variable
-                xt::xtensor<double, 6> REL_DIAG =
-                        xt::zeros<double>({n_sit, n_ldt, n_msk, n_exp,
-                                           n_mbr + 1, std::size_t {2}});
+                xt::xtensor<double, 5> REL_DIAG =
+                        xt::zeros<double>({n_sit, n_ldt, n_msk, n_exp, n_mbr + 1});
 
                 // compute variable one mask at a time to minimise memory imprint
                 for (std::size_t m = 0; m < n_msk; m++)
-- 
GitLab