8 #ifndef UFO_FILTERS_MWCLWCHECK_H_
9 #define UFO_FILTERS_MWCLWCHECK_H_
16 #include "oops/base/ParameterTraitsVariables.h"
17 #include "oops/base/Variables.h"
18 #include "oops/util/ObjectCounter.h"
19 #include "oops/util/parameters/NumericConstraints.h"
20 #include "oops/util/parameters/RequiredParameter.h"
29 template <
typename DATATYPE>
class ObsDataVector;
40 oops::RequiredParameter<oops::Variables>
clwVariables{
"clw variables",
this};
42 oops::RequiredParameter<std::vector<float>>
clwThresholds{
"clw_thresholds",
this};
49 oops::RequiredParameter<int>
clwOption{
"clw_option",
this, {oops::minConstraint<int>(1),
50 oops::maxConstraint<int>(3)}};
54 private util::ObjectCounter<MWCLWCheck> {
60 static const std::string
classname() {
return "ufo::MWCLWCheck";}
68 void print(std::ostream &)
const override;
70 std::vector<std::vector<bool>> &)
const override;
Base class for UFO QC filters.
Parameters shared by all filters having a default action (typically "reject").
MWCLWCheck(ioda::ObsSpace &, const Parameters_ &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
int qcFlag() const override
void print(std::ostream &) const override
static const std::string classname()
MWCLWCheckParameters Parameters_
void applyFilter(const std::vector< bool > &, const Variables &, std::vector< std::vector< bool >> &) const override
Parameters controlling the operation of the MWCLWCheck filter.
oops::RequiredParameter< std::vector< float > > clwThresholds
oops::RequiredParameter< oops::Variables > clwVariables
oops::RequiredParameter< int > clwOption