From 14bcf4ae10ace38ebb2f9b5410dbead1eede097c Mon Sep 17 00:00:00 2001
From: Thibault Hallouin <thibault.hallouin@inrae.fr>
Date: Tue, 22 Apr 2025 20:15:44 +0200
Subject: [PATCH] improve dealing with situation where q_lvl provided in place
 of c_lvl

---
 include/evalhyd/detail/probabilist/evaluator.hpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/evalhyd/detail/probabilist/evaluator.hpp b/include/evalhyd/detail/probabilist/evaluator.hpp
index c01c54b..76f8de0 100644
--- a/include/evalhyd/detail/probabilist/evaluator.hpp
+++ b/include/evalhyd/detail/probabilist/evaluator.hpp
@@ -146,11 +146,11 @@ namespace evalhyd
 
             auto get_c_lvl()
             {
-                if (_c_lvl.size() < 1)
+                if (_c_lvl.size() < 1 && _q_lvl.size() < 1)
                 {
                     throw std::runtime_error(
                             "interval-based metric requested, "
-                            "but *c_lvl* not provided"
+                            "but neither *c_lvl* nor *q_lvl* provided"
                     );
                 }
                 else{
@@ -515,7 +515,7 @@ namespace evalhyd
                 n_tim = q_prd.shape(3);
                 n_msk = t_msk.shape(2);
                 n_thr = _q_thr.shape(1);
-                n_itv = _c_lvl.size();
+                n_itv = _q_lvl.size() > 0 ? _q_lvl.size() : _c_lvl.size();
                 n_exp = b_exp.size();
 
                 // drop time steps where observations and/or predictions are NaN
-- 
GitLab