UFO
ufo::ProfileBackgroundCheck Class Reference

#include <ProfileBackgroundCheck.h>

Inheritance diagram for ufo::ProfileBackgroundCheck:
Collaboration diagram for ufo::ProfileBackgroundCheck:

Public Types

typedef ProfileBackgroundCheckParameters Parameters_
 

Public Member Functions

 ProfileBackgroundCheck (ioda::ObsSpace &, const Parameters_ &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >)
 
 ~ProfileBackgroundCheck ()
 
- 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
 Apply the profile background check filter. More...
 
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

ProfileBackgroundCheck: check observation closeness to background over a profile

See the cc file for more details.

Definition at line 57 of file ProfileBackgroundCheck.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 62 of file ProfileBackgroundCheck.h.

Constructor & Destructor Documentation

◆ ProfileBackgroundCheck()

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

ProfileBackgroundCheck: check observation closeness to background over a profile

This will use the record number in obsdb_ to identify which observations belong to a given profile (all members of a profile must share the same record number). For each profile the RMS of observed-HofX is calculated, and this is compared against the given threshold. If "relative threshold" is used (rather than "absolute threshold") then the RMS is normalised by observation error.

The threshold can be a floating-point constant or the name of a variable indicating the threshold to use at each location. In this case, the value of the threshold is taken from the threshold given for the first observation in the profile.

This is related to BackgroundCheck, which checks each observation against a threshold. There is also a group of other profile checks (ConventionalProfileProcessing) which are mostly aimed to processing radiosondes.

Definition at line 45 of file ProfileBackgroundCheck.cc.

◆ ~ProfileBackgroundCheck()

ufo::ProfileBackgroundCheck::~ProfileBackgroundCheck ( )

Definition at line 60 of file ProfileBackgroundCheck.cc.

Member Function Documentation

◆ applyFilter()

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

Apply the profile background check filter.

Implements ufo::FilterBase.

Definition at line 67 of file ProfileBackgroundCheck.cc.

Here is the call graph for this function:

◆ classname()

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

Definition at line 64 of file ProfileBackgroundCheck.h.

◆ print()

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

Implements ufo::FilterBase.

Definition at line 171 of file ProfileBackgroundCheck.cc.

◆ qcFlag()

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

Implements ufo::FilterBase.

Definition at line 75 of file ProfileBackgroundCheck.h.

Member Data Documentation

◆ parameters_

Parameters_ ufo::ProfileBackgroundCheck::parameters_
private

Definition at line 76 of file ProfileBackgroundCheck.h.


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