UFO
ufo::Thinning Class Reference

Randomly thin a given percentage of observations. More...

#include <Thinning.h>

Inheritance diagram for ufo::Thinning:
Collaboration diagram for ufo::Thinning:

Public Types

typedef ThinningParameters Parameters_
 

Public Member Functions

 Thinning (ioda::ObsSpace &, const Parameters_ &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
 
 ~Thinning ()
 
- 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
 

Private Attributes

Parameters_ parameters_
 

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

Randomly thin a given percentage of observations.

See ThinningParameters for the documentation of the parameters controlling this filter.

Definition at line 55 of file Thinning.h.

Member Typedef Documentation

◆ Parameters_

The type of parameters accepted by the constructor of this filter. This typedef is used by the FilterFactory.

Definition at line 60 of file Thinning.h.

Constructor & Destructor Documentation

◆ Thinning()

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

Definition at line 25 of file Thinning.cc.

◆ ~Thinning()

ufo::Thinning::~Thinning ( )

Definition at line 35 of file Thinning.cc.

Member Function Documentation

◆ applyFilter()

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

Implements ufo::FilterBase.

Definition at line 39 of file Thinning.cc.

Here is the call graph for this function:

◆ classname()

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

Definition at line 62 of file Thinning.h.

◆ print()

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

Implements ufo::FilterBase.

Definition at line 66 of file Thinning.cc.

◆ qcFlag()

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

Implements ufo::FilterBase.

Definition at line 73 of file Thinning.h.

Member Data Documentation

◆ parameters_

Parameters_ ufo::Thinning::parameters_
private

Definition at line 75 of file Thinning.h.


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