UFO
ufo::ObsProcessorBase Class Referenceabstract

Base class for UFO observation processors (including QC filters). More...

#include <ObsProcessorBase.h>

Inheritance diagram for ufo::ObsProcessorBase:
Collaboration diagram for ufo::ObsProcessorBase:

Public Member Functions

 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
 

Protected Attributes

ioda::ObsSpace & obsdb_
 
std::shared_ptr< ioda::ObsDataVector< int > > flags_
 
std::shared_ptr< ioda::ObsDataVector< float > > obserr_
 
ufo::Variables allvars_
 
ObsFilterData data_
 

Private Member Functions

virtual void doFilter () const =0
 

Private Attributes

bool prior_
 
bool post_
 
bool deferToPost_
 

Detailed Description

Base class for UFO observation processors (including QC filters).

Observation processors only need to implement the constructor and the doFilter method; the base class takes care of applying the processor at the pre, prior or post stage.

Definition at line 39 of file ObsProcessorBase.h.

Constructor & Destructor Documentation

◆ ObsProcessorBase()

ufo::ObsProcessorBase::ObsProcessorBase ( ioda::ObsSpace &  os,
bool  deferToPost,
std::shared_ptr< ioda::ObsDataVector< int > >  flags,
std::shared_ptr< ioda::ObsDataVector< float > >  obserr 
)

Definition at line 30 of file ObsProcessorBase.cc.

Here is the call graph for this function:

◆ ~ObsProcessorBase()

ufo::ObsProcessorBase::~ObsProcessorBase ( )

Definition at line 47 of file ObsProcessorBase.cc.

Member Function Documentation

◆ doFilter()

virtual void ufo::ObsProcessorBase::doFilter ( ) const
privatepure virtual

Implemented in ufo::VariableAssignment, ufo::ProcessAMVQI, ufo::FinalCheck, and ufo::FilterBase.

Here is the caller graph for this function:

◆ postFilter()

void ufo::ObsProcessorBase::postFilter ( const ioda::ObsVector &  hofx,
const ioda::ObsVector &  bias,
const ObsDiagnostics diags 
)
override

Definition at line 81 of file ObsProcessorBase.cc.

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

◆ preProcess()

void ufo::ObsProcessorBase::preProcess ( )
override

Definition at line 53 of file ObsProcessorBase.cc.

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

◆ priorFilter()

void ufo::ObsProcessorBase::priorFilter ( const GeoVaLs gv)
override

Definition at line 72 of file ObsProcessorBase.cc.

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

◆ requiredHdiagnostics()

oops::Variables ufo::ObsProcessorBase::requiredHdiagnostics ( ) const
inlineoverride

Definition at line 53 of file ObsProcessorBase.h.

Here is the call graph for this function:

◆ requiredVars()

oops::Variables ufo::ObsProcessorBase::requiredVars ( ) const
inlineoverride

Definition at line 51 of file ObsProcessorBase.h.

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

Member Data Documentation

◆ allvars_

ufo::Variables ufo::ObsProcessorBase::allvars_
protected

Definition at line 60 of file ObsProcessorBase.h.

◆ data_

ObsFilterData ufo::ObsProcessorBase::data_
protected

Definition at line 61 of file ObsProcessorBase.h.

◆ deferToPost_

bool ufo::ObsProcessorBase::deferToPost_
private

Definition at line 70 of file ObsProcessorBase.h.

◆ flags_

std::shared_ptr<ioda::ObsDataVector<int> > ufo::ObsProcessorBase::flags_
protected

Definition at line 58 of file ObsProcessorBase.h.

◆ obsdb_

ioda::ObsSpace& ufo::ObsProcessorBase::obsdb_
protected

Definition at line 57 of file ObsProcessorBase.h.

◆ obserr_

std::shared_ptr<ioda::ObsDataVector<float> > ufo::ObsProcessorBase::obserr_
protected

Definition at line 59 of file ObsProcessorBase.h.

◆ post_

bool ufo::ObsProcessorBase::post_
private

Definition at line 67 of file ObsProcessorBase.h.

◆ prior_

bool ufo::ObsProcessorBase::prior_
private

Definition at line 66 of file ObsProcessorBase.h.


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