8 #ifndef OOPS_GENERIC_GEOVALSWRITER_H_
9 #define OOPS_GENERIC_GEOVALSWRITER_H_
13 #include "eckit/config/LocalConfiguration.h"
21 #include "oops/util/dot_product.h"
22 #include "oops/util/Logger.h"
28 template <
typename OBS>
34 template <
typename DATA>
using ObsDataPtr_ = std::shared_ptr<ObsDataVector<OBS, DATA> >;
44 const double zz = sqrt(dot_product(gv, gv));
45 Log::info() <<
"GeoVaLsWriter norm = " << zz << std::endl;
55 const eckit::LocalConfiguration
conf_;
58 void print(std::ostream &)
const override;
63 template <
typename OBS>
65 os <<
"GeoVaLsWriter: " << conf_;
void write(const eckit::Configuration &) const
void preProcess() const override
ObsSpace< OBS > ObsSpace_
const eckit::LocalConfiguration conf_
ObsVector< OBS > ObsVector_
GeoVaLsWriter(const ObsSpace_ &, const eckit::Configuration &conf, ObsDataPtr_< int >, ObsDataPtr_< float >)
void print(std::ostream &) const override
Variables requiredHdiagnostics() const override
std::shared_ptr< ObsDataVector< OBS, DATA > > ObsDataPtr_
void priorFilter(const GeoVaLs_ &gv) const override
ObsDiagnostics< OBS > ObsDiags_
void postFilter(const ObsVector_ &, const ObsDiags_ &) const override
Variables requiredVars() const override
Base class for QC filters applied to observations.
The namespace for the main oops code.