diff --git a/include/evalhyd/detail/probabilist/cdf.hpp b/include/evalhyd/detail/probabilist/cdf.hpp index 1f5489eaaba8cfca095d89ba29080b3de81a0dd8..e0cf0b146c8a9d65554bc43e416075c1b4d83c1a 100644 --- a/include/evalhyd/detail/probabilist/cdf.hpp +++ b/include/evalhyd/detail/probabilist/cdf.hpp @@ -107,16 +107,17 @@ namespace evalhyd ); // compute crps as difference between the quadratic CDFs - auto p_i_2 = xt::eval( + auto p_i = xt::eval( xt::view( - xt::square(xt::arange<double>(n_mbr + 1) / n_mbr), + xt::arange<double>(n_mbr + 1) / n_mbr, xt::all(), xt::newaxis(), xt::newaxis(), xt::newaxis() ) ); auto crps_from_ecdf = xt::sum( - (alpha_i * p_i_2) + (beta_i * (1 - p_i_2)), + (alpha_i * xt::square(p_i)) + + (beta_i * xt::square(1 - p_i)), 0 ); diff --git a/tests/expected/evalp/CRPS_FROM_ECDF.csv b/tests/expected/evalp/CRPS_FROM_ECDF.csv index 13832cc05b6185a94d67fc615af231bc718fe8e1..a639c991d747ee29be096a2354aafdb4d737cb01 100644 --- a/tests/expected/evalp/CRPS_FROM_ECDF.csv +++ b/tests/expected/evalp/CRPS_FROM_ECDF.csv @@ -1 +1 @@ -271.9578705197483 +262.615225902479