UFO
ufo::TemporalThinning Class Reference

Thin observations so that the retained ones are sufficiently separated in time. More...

#include <TemporalThinning.h>

Inheritance diagram for ufo::TemporalThinning:
Collaboration diagram for ufo::TemporalThinning:

Public Types

typedef TemporalThinningParameters Parameters_
 

Public Member Functions

 TemporalThinning (ioda::ObsSpace &obsdb, const Parameters_ &parameters, std::shared_ptr< ioda::ObsDataVector< int > > flags, std::shared_ptr< ioda::ObsDataVector< float > > obserr)
 
 ~TemporalThinning () override
 
- 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
 
ObsAccessor createObsAccessor () const
 
std::vector< bool > identifyThinnedObservations (const std::vector< bool > &apply, const Variables &filtervars, const ObsAccessor &obsAccessor) const
 
boost::optional< std::vector< int > > getObservationPriorities (const ObsAccessor &obsAccessor) const
 

Private Attributes

Parameters_ options_
 

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

Thin observations so that the retained ones are sufficiently separated in time.

See TemporalThinningParameters for the documentation of the available parameters.

Definition at line 45 of file src/ufo/filters/TemporalThinning.h.

Member Typedef Documentation

◆ Parameters_

Constructor & Destructor Documentation

◆ TemporalThinning()

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

Definition at line 306 of file TemporalThinning.cc.

◆ ~TemporalThinning()

ufo::TemporalThinning::~TemporalThinning ( )
override

Definition at line 315 of file TemporalThinning.cc.

Member Function Documentation

◆ applyFilter()

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

Implements ufo::FilterBase.

Definition at line 318 of file TemporalThinning.cc.

Here is the call graph for this function:

◆ classname()

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

Definition at line 50 of file src/ufo/filters/TemporalThinning.h.

◆ createObsAccessor()

ObsAccessor ufo::TemporalThinning::createObsAccessor ( ) const
private

Definition at line 328 of file TemporalThinning.cc.

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

◆ getObservationPriorities()

boost::optional< std::vector< int > > ufo::TemporalThinning::getObservationPriorities ( const ObsAccessor obsAccessor) const
private

Definition at line 361 of file TemporalThinning.cc.

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

◆ identifyThinnedObservations()

std::vector< bool > ufo::TemporalThinning::identifyThinnedObservations ( const std::vector< bool > &  apply,
const Variables filtervars,
const ObsAccessor obsAccessor 
) const
private

Definition at line 341 of file TemporalThinning.cc.

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

◆ print()

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

Implements ufo::FilterBase.

Definition at line 372 of file TemporalThinning.cc.

◆ qcFlag()

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

Implements ufo::FilterBase.

Definition at line 62 of file src/ufo/filters/TemporalThinning.h.

Member Data Documentation

◆ options_

Parameters_ ufo::TemporalThinning::options_
private

Definition at line 74 of file src/ufo/filters/TemporalThinning.h.


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