15 #include "eckit/config/Configuration.h"
17 #include "ioda/ObsDataVector.h"
18 #include "ioda/ObsSpace.h"
20 #include "oops/util/abor1_cpp.h"
21 #include "oops/util/Logger.h"
32 ioda::ObsSpace& obsdb,
const eckit::Configuration& config,
42 for (
const auto& cal_ :
options_->Transform.value()) {
43 std::unique_ptr<TransformBase> Transform =
45 Variables gvars = Transform->requiredVariables();
49 oops::Log::debug() <<
"VariableTransforms: config = " << config << std::endl;
59 const std::vector<bool>& apply,
const Variables& filtervars,
60 std::vector<std::vector<bool>>& flagged)
const {
61 print(oops::Log::trace());
62 std::cout <<
" --> In variabletransforms::applyFilter" << std::endl;
63 std::cout <<
" --> set Transform object" << std::endl;
66 for (
const auto& cal_ :
options_->Transform.value()) {
68 std::unique_ptr<TransformBase> Transform =
70 Transform->runTransform(apply);
77 os <<
"VariableTransforms: config = " <<
config_ << std::endl;
Base class for UFO QC filters.
const eckit::LocalConfiguration config_
ufo::Variables filtervars_
std::shared_ptr< ioda::ObsDataVector< int > > flags_