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 Member Functions

 TemporalThinning (ioda::ObsSpace &obsdb, const eckit::Configuration &config, 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 eckit::Configuration &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
 
 ~FilterBase ()
 
void preProcess ()
 
void priorFilter (const GeoVaLs &)
 
void postFilter (const ioda::ObsVector &, const ObsDiagnostics &)
 
oops::Variables requiredVars () const
 
oops::Variables requiredHdiagnostics () const
 

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::vector< bool > identifyThinnedObservations (const std::vector< bool > &apply) const
 
std::vector< size_t > getValidObservationIds (const std::vector< bool > &apply) const
 
std::unique_ptr< ioda::ObsDataVector< int > > getObservationPriorities () const
 
void groupObservationsByCategory (const std::vector< size_t > &validObsIds, RecursiveSplitter &splitter) const
 
void flagThinnedObservations (const std::vector< bool > &isThinned, std::vector< std::vector< bool >> &flagged) const
 

Private Attributes

std::unique_ptr< TemporalThinningParametersoptions_
 

Additional Inherited Members

- Protected Attributes inherited from ufo::FilterBase
ioda::ObsSpace & obsdb_
 
const eckit::LocalConfiguration config_
 
std::shared_ptr< ioda::ObsDataVector< int > > flags_
 
std::shared_ptr< ioda::ObsDataVector< float > > obserr_
 
ufo::Variables allvars_
 
ufo::Variables filtervars_
 
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 44 of file src/ufo/filters/TemporalThinning.h.

Constructor & Destructor Documentation

◆ TemporalThinning()

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

Definition at line 305 of file TemporalThinning.cc.

◆ ~TemporalThinning()

ufo::TemporalThinning::~TemporalThinning ( )
override

Definition at line 317 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 320 of file TemporalThinning.cc.

Here is the call graph for this function:

◆ classname()

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

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

◆ flagThinnedObservations()

void ufo::TemporalThinning::flagThinnedObservations ( const std::vector< bool > &  isThinned,
std::vector< std::vector< bool >> &  flagged 
) const
private

Definition at line 387 of file TemporalThinning.cc.

Here is the caller graph for this function:

◆ getObservationPriorities()

std::unique_ptr< ioda::ObsDataVector< int > > ufo::TemporalThinning::getObservationPriorities ( ) const
private

Definition at line 377 of file TemporalThinning.cc.

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

◆ getValidObservationIds()

std::vector< size_t > ufo::TemporalThinning::getValidObservationIds ( const std::vector< bool > &  apply) const
private

Definition at line 352 of file TemporalThinning.cc.

Here is the caller graph for this function:

◆ groupObservationsByCategory()

void ufo::TemporalThinning::groupObservationsByCategory ( const std::vector< size_t > &  validObsIds,
RecursiveSplitter splitter 
) 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
private

Definition at line 332 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 396 of file TemporalThinning.cc.

◆ qcFlag()

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

Implements ufo::FilterBase.

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

Member Data Documentation

◆ options_

std::unique_ptr<TemporalThinningParameters> 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: