UFO
ufo::BayesianBackgroundQCFlags Class Reference

#include <BayesianBackgroundQCFlags.h>

Inheritance diagram for ufo::BayesianBackgroundQCFlags:
Collaboration diagram for ufo::BayesianBackgroundQCFlags:

Public Types

typedef BayesianBackgroundQCFlagsParameters Parameters_
 

Public Member Functions

 BayesianBackgroundQCFlags (ioda::ObsSpace &, const Parameters_ &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
 
 ~BayesianBackgroundQCFlags ()
 
- Public Member Functions inherited from ufo::FilterBase
 FilterBase (ioda::ObsSpace &, const FilterParametersBaseWithAbstractAction &parameters, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
 
 FilterBase (ioda::ObsSpace &, const eckit::Configuration &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
 
 ~FilterBase ()
 
- Public Member Functions inherited from ufo::ObsProcessorBase
 ObsProcessorBase (ioda::ObsSpace &, bool deferToPost, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
 
 ~ObsProcessorBase ()
 
void preProcess () override
 
void priorFilter (const GeoVaLs &) override
 
void postFilter (const ioda::ObsVector &, const ioda::ObsVector &, const ObsDiagnostics &) override
 
oops::Variables requiredVars () const override
 
oops::Variables requiredHdiagnostics () const override
 

Static Public Member Functions

static const std::string classname ()
 

Private Member Functions

void print (std::ostream &) const override
 
void applyFilter (const std::vector< bool > &, const Variables &, std::vector< std::vector< bool >> &) const override
 
int qcFlag () const override
 
std::string getPGEsubstituteName (const std::string &varname) const
 
void setFlags (const std::string &varname, const std::vector< bool > &apply, std::vector< bool > &flagged) const
 

Private Attributes

Parameters_ parameters_
 Parameters used in this filter. More...
 

Additional Inherited Members

- Protected Attributes inherited from ufo::FilterBase
const eckit::LocalConfiguration config_
 
ufo::Variables filtervars_
 
- Protected Attributes inherited from ufo::ObsProcessorBase
ioda::ObsSpace & obsdb_
 
std::shared_ptr< ioda::ObsDataVector< int > > flags_
 
std::shared_ptr< ioda::ObsDataVector< float > > obserr_
 
ufo::Variables allvars_
 
ObsFilterData data_
 

Detailed Description

BayesianBackgroundQCFlags: apply QC flags based on values of probability of gross error (PGE). If the PGE is larger than the threshold PGEcrit then the observation is rejected. If the Bayesian background or buddy checks were applied, use the PGE that was obtained from those checks. Sometimes the PGE of one variable is used to set the QC flags of another; this happens for (e.g.) wind u and v components.

todo(UKMO): deal with Pstar/Pmsl and u10AmbWind/v10AmbWind (as they are known in OPS). These are each treated slightly differently in the OPS code.

Definition at line 59 of file BayesianBackgroundQCFlags.h.

Member Typedef Documentation

◆ Parameters_

Constructor & Destructor Documentation

◆ BayesianBackgroundQCFlags()

ufo::BayesianBackgroundQCFlags::BayesianBackgroundQCFlags ( ioda::ObsSpace &  obsdb,
const Parameters_ parameters,
std::shared_ptr< ioda::ObsDataVector< int > >  flags,
std::shared_ptr< ioda::ObsDataVector< float > >  obserr 
)

Definition at line 24 of file BayesianBackgroundQCFlags.cc.

◆ ~BayesianBackgroundQCFlags()

ufo::BayesianBackgroundQCFlags::~BayesianBackgroundQCFlags ( )

Definition at line 34 of file BayesianBackgroundQCFlags.cc.

Member Function Documentation

◆ applyFilter()

void ufo::BayesianBackgroundQCFlags::applyFilter ( const std::vector< bool > &  apply,
const Variables filtervars,
std::vector< std::vector< bool >> &  flagged 
) const
overrideprivatevirtual

Implements ufo::FilterBase.

Definition at line 118 of file BayesianBackgroundQCFlags.cc.

Here is the call graph for this function:

◆ classname()

static const std::string ufo::BayesianBackgroundQCFlags::classname ( )
inlinestatic

Definition at line 64 of file BayesianBackgroundQCFlags.h.

◆ getPGEsubstituteName()

std::string ufo::BayesianBackgroundQCFlags::getPGEsubstituteName ( const std::string &  varname) const
private

Get the name of the variable whose PGE is tested in order to set the QC flags for the variable varname. By default, varname is returned by this routine; any substitutions are listed in the PGEsubstituteNames parameter.

Definition at line 38 of file BayesianBackgroundQCFlags.cc.

Here is the caller graph for this function:

◆ print()

void ufo::BayesianBackgroundQCFlags::print ( std::ostream &  os) const
overrideprivatevirtual

Implements ufo::FilterBase.

Definition at line 129 of file BayesianBackgroundQCFlags.cc.

Here is the caller graph for this function:

◆ qcFlag()

int ufo::BayesianBackgroundQCFlags::qcFlag ( ) const
inlineoverrideprivatevirtual

Implements ufo::FilterBase.

Definition at line 75 of file BayesianBackgroundQCFlags.h.

◆ setFlags()

void ufo::BayesianBackgroundQCFlags::setFlags ( const std::string &  varname,
const std::vector< bool > &  apply,
std::vector< bool > &  flagged 
) const
private

Set flags for the variable varname given the apply vector. Set both integer bitmap flags and an overall filter flag (bayesianQC).

Definition at line 47 of file BayesianBackgroundQCFlags.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ parameters_

Parameters_ ufo::BayesianBackgroundQCFlags::parameters_
private

Parameters used in this filter.

Definition at line 90 of file BayesianBackgroundQCFlags.h.


The documentation for this class was generated from the following files: