diff --git a/include/evalhyd/detail/probabilist/intervals.hpp b/include/evalhyd/detail/probabilist/intervals.hpp index 8d3024634c3088cb06e0e9b293c92ba4e5a0a4f2..05ee8807659b95663509c4dee95c3af79dc832a5 100644 --- a/include/evalhyd/detail/probabilist/intervals.hpp +++ b/include/evalhyd/detail/probabilist/intervals.hpp @@ -209,16 +209,25 @@ namespace evalhyd auto obs_filtered = xt::filter(obs, !xt::isnan(obs)); - // lower bound - xt::view(clim_bnds, s, l, m, e, i, 0) = - xt::quantile( - obs_filtered, {quantiles(i, 0)} - )(); - // upper bound - xt::view(clim_bnds, s, l, m, e, i, 1) = - xt::quantile( - obs_filtered, {quantiles(i, 1)} - )(); + if (obs_filtered.size() > 0) + { + // lower bound + xt::view(clim_bnds, s, l, m, e, i, 0) = + xt::quantile( + obs_filtered, {quantiles(i, 0)} + )(); + // upper bound + xt::view(clim_bnds, s, l, m, e, i, 1) = + xt::quantile( + obs_filtered, {quantiles(i, 1)} + )(); + } + else + { + xt::view(clim_bnds, s, l, m, e, i, xt::all()) = + NAN; + } + } } }