18 #include "eckit/config/Configuration.h"
21 #include "oops/util/Logger.h"
27 : active_(false), geovars_(), hdiags_() {
28 oops::Log::info() <<
"ObsBias: conf = " << params << std::endl;
31 params.
uwind.value() != boost::none ||
32 params.
vwind.value() != boost::none ||
33 params.
wspeed.value() != boost::none;
36 if (params.
uwind.value() != boost::none)
bias_[1] = *params.
uwind.value();
37 if (params.
vwind.value() != boost::none)
bias_[2] = *params.
vwind.value();
39 std::string strn =
"";
41 if (jj > 0) strn +=
", ";
42 std::ostringstream strs;
46 oops::Log::info() <<
"ObsBias::ObsBias created, bias = " << strn << std::endl;
51 : active_(other.active_),
52 geovars_(other.geovars_), hdiags_(other.hdiags_)
63 for (
unsigned int jj = 0; jj <
ntypes; ++jj)
bias_[jj] += dx[jj];
80 for (
unsigned int jj = 0; jj <
ntypes; ++jj) {
85 zz = std::sqrt(zz/ii);
92 std::string strn =
"";
94 if (jj > 0) strn +=
", ";
95 std::ostringstream strs;
99 os <<
"ObsBias = " << strn;
Class to handle observation bias parameters.
void print(std::ostream &) const
ObsBias & operator+=(const ObsBiasIncrement &)
std::array< double, ntypes > bias_
ObsBias & operator=(const ObsBias &)
ObsBias(const ObsSpaceQG &, const Parameters_ &)
static const unsigned int ntypes
oops::OptionalParameter< double > wspeed
oops::OptionalParameter< double > uwind
oops::OptionalParameter< double > stream
oops::OptionalParameter< double > vwind
The namespace for the qg model.