Commit c0afb127 authored by Thibault Hallouin's avatar Thibault Hallouin
Browse files

fix indentation problem

Showing with 92 additions and 92 deletions
+92 -92
...@@ -148,107 +148,107 @@ namespace evalhyd ...@@ -148,107 +148,107 @@ namespace evalhyd
r.emplace_back(xt::zeros<double>(dim[metric])); r.emplace_back(xt::zeros<double>(dim[metric]));
// compute variables one site at a time to minimise memory imprint // compute variables one site at a time to minimise memory imprint
for (int s = 0; s < n_sit; s++) for (int s = 0; s < n_sit; s++)
// compute variables one lead time at a time to minimise memory imprint // compute variables one lead time at a time to minimise memory imprint
for (int l = 0; l < n_ltm; l++) for (int l = 0; l < n_ltm; l++)
{
// instantiate probabilist evaluator
const auto q_obs_v = xt::view(q_obs, s, xt::all());
const auto q_prd_v = xt::view(q_prd, s, l, xt::all(), xt::all());
const auto q_thr_v = xt::view(q_thr, s, xt::all());
const auto t_msk_v = xt::view(t_msk, s, xt::all(), xt::all());
eh::probabilist::Evaluator evaluator(
q_obs_v, q_prd_v, q_thr_v, t_msk_v
);
// pre-compute required elt
for (const auto& element : req_elt)
{ {
if ( element == "o_k" ) // instantiate probabilist evaluator
evaluator.calc_o_k(); const auto q_obs_v = xt::view(q_obs, s, xt::all());
else if ( element == "bar_o" ) const auto q_prd_v = xt::view(q_prd, s, l, xt::all(), xt::all());
evaluator.calc_bar_o(); const auto q_thr_v = xt::view(q_thr, s, xt::all());
else if ( element == "y_k" ) const auto t_msk_v = xt::view(t_msk, s, xt::all(), xt::all());
evaluator.calc_y_k();
else if ( element == "q_qnt" ) eh::probabilist::Evaluator evaluator(
evaluator.calc_q_qnt(); q_obs_v, q_prd_v, q_thr_v, t_msk_v
} );
// pre-compute required dep // pre-compute required elt
for (const auto& dependency : req_dep) for (const auto& element : req_elt)
{
if ( dependency == "bs" )
evaluator.calc_bs();
else if ( dependency == "qs" )
evaluator.calc_qs();
else if ( dependency == "crps" )
evaluator.calc_crps();
}
// retrieve or compute requested metrics
for (int m = 0; m < metrics.size(); m++)
{
const auto& metric = metrics[m];
if ( metric == "BS" )
{ {
if (std::find(req_dep.begin(), req_dep.end(), metric) if ( element == "o_k" )
== req_dep.end()) evaluator.calc_o_k();
evaluator.calc_BS(); else if ( element == "bar_o" )
// (sites, lead times, subsets, thresholds) evaluator.calc_bar_o();
xt::view(r[m], s, l, xt::all(), xt::all()) = else if ( element == "y_k" )
evaluator.BS; evaluator.calc_y_k();
else if ( element == "q_qnt" )
evaluator.calc_q_qnt();
} }
else if ( metric == "BSS" )
{ // pre-compute required dep
if (std::find(req_dep.begin(), req_dep.end(), metric) for (const auto& dependency : req_dep)
== req_dep.end())
evaluator.calc_BSS();
// (sites, lead times, subsets, thresholds)
xt::view(r[m], s, l, xt::all(), xt::all()) =
evaluator.BSS;
}
else if ( metric == "BS_CRD" )
{
if (std::find(req_dep.begin(), req_dep.end(), metric)
== req_dep.end())
evaluator.calc_BS_CRD();
// (sites, lead times, subsets, thresholds, components)
xt::view(r[m], s, l, xt::all(), xt::all(), xt::all()) =
evaluator.BS_CRD;
}
else if ( metric == "BS_LBD" )
{
if (std::find(req_dep.begin(), req_dep.end(), metric)
== req_dep.end())
evaluator.calc_BS_LBD();
// (sites, lead times, subsets, thresholds, components)
xt::view(r[m], s, l, xt::all(), xt::all(), xt::all()) =
evaluator.BS_LBD;
}
else if ( metric == "QS" )
{ {
if (std::find(req_dep.begin(), req_dep.end(), metric) if ( dependency == "bs" )
== req_dep.end()) evaluator.calc_bs();
evaluator.calc_QS(); else if ( dependency == "qs" )
// (sites, lead times, subsets, quantiles) evaluator.calc_qs();
xt::view(r[m], s, l, xt::all(), xt::all()) = else if ( dependency == "crps" )
evaluator.QS; evaluator.calc_crps();
} }
else if ( metric == "CRPS" )
// retrieve or compute requested metrics
for (int m = 0; m < metrics.size(); m++)
{ {
if (std::find(req_dep.begin(), req_dep.end(), metric) const auto& metric = metrics[m];
== req_dep.end())
evaluator.calc_CRPS(); if ( metric == "BS" )
// (sites, lead times, subsets) {
xt::view(r[m], s, l, xt::all()) = if (std::find(req_dep.begin(), req_dep.end(), metric)
evaluator.CRPS; == req_dep.end())
evaluator.calc_BS();
// (sites, lead times, subsets, thresholds)
xt::view(r[m], s, l, xt::all(), xt::all()) =
evaluator.BS;
}
else if ( metric == "BSS" )
{
if (std::find(req_dep.begin(), req_dep.end(), metric)
== req_dep.end())
evaluator.calc_BSS();
// (sites, lead times, subsets, thresholds)
xt::view(r[m], s, l, xt::all(), xt::all()) =
evaluator.BSS;
}
else if ( metric == "BS_CRD" )
{
if (std::find(req_dep.begin(), req_dep.end(), metric)
== req_dep.end())
evaluator.calc_BS_CRD();
// (sites, lead times, subsets, thresholds, components)
xt::view(r[m], s, l, xt::all(), xt::all(), xt::all()) =
evaluator.BS_CRD;
}
else if ( metric == "BS_LBD" )
{
if (std::find(req_dep.begin(), req_dep.end(), metric)
== req_dep.end())
evaluator.calc_BS_LBD();
// (sites, lead times, subsets, thresholds, components)
xt::view(r[m], s, l, xt::all(), xt::all(), xt::all()) =
evaluator.BS_LBD;
}
else if ( metric == "QS" )
{
if (std::find(req_dep.begin(), req_dep.end(), metric)
== req_dep.end())
evaluator.calc_QS();
// (sites, lead times, subsets, quantiles)
xt::view(r[m], s, l, xt::all(), xt::all()) =
evaluator.QS;
}
else if ( metric == "CRPS" )
{
if (std::find(req_dep.begin(), req_dep.end(), metric)
== req_dep.end())
evaluator.calc_CRPS();
// (sites, lead times, subsets)
xt::view(r[m], s, l, xt::all()) =
evaluator.CRPS;
}
} }
} }
}
return r; return r;
} }
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment