8 #ifndef OOPS_BASE_STATEENSEMBLE_H_
9 #define OOPS_BASE_STATEENSEMBLE_H_
14 #include "eckit/config/LocalConfiguration.h"
19 #include "oops/util/Logger.h"
51 template<
typename MODEL>
53 const eckit::Configuration & config)
55 std::vector<eckit::LocalConfiguration> memberConfig;
56 config.get(
"members", memberConfig);
57 states_.reserve(memberConfig.size());
59 for (
size_t jj = 0; jj < memberConfig.size(); ++jj) {
62 Log::trace() <<
"StateEnsemble:contructor done" << std::endl;
67 template<
typename MODEL>
72 const double rr = 1.0/
static_cast<double>(states_.size());
73 for (
size_t iens = 0; iens < states_.size(); ++iens) {
74 ensmean.
accumul(rr, states_[iens]);
77 Log::trace() <<
"StateEnsemble::mean done" << std::endl;
78 return std::move(ensmean);
85 #endif // OOPS_BASE_STATEENSEMBLE_H_