UFO
ufo::ObsOperatorBase Class Referenceabstract

#include <ObsOperatorBase.h>

Inheritance diagram for ufo::ObsOperatorBase:
Collaboration diagram for ufo::ObsOperatorBase:

Public Member Functions

 ObsOperatorBase (const ioda::ObsSpace &odb, const eckit::Configuration &=eckit::LocalConfiguration())
 
virtual ~ObsOperatorBase ()
 
virtual void simulateObs (const GeoVaLs &, ioda::ObsVector &, ObsDiagnostics &) const =0
 Obs Operator. More...
 
virtual const oops::Variables & requiredVars () const =0
 Operator input required from Model. More...
 
virtual std::unique_ptr< Locationslocations () const
 Locations for GeoVaLs. More...
 
virtual oops::Variables simulatedVars () const
 List of variables simulated by this operator. More...
 

Private Member Functions

virtual void print (std::ostream &) const =0
 

Private Attributes

const ioda::ObsSpace & odb_
 

Detailed Description

Base class for observation operators

Note: subclasses can opt to extract their settings either from a Configuration object or from a subclass of ObsOperatorParametersBase.

In the former case, they should provide a constructor with the following signature:

SubclassName(const ioda::ObsSpace &, const eckit::Configuration &);

In the latter case, the implementer should first define a subclass of ObsOperatorParametersBase holding the settings of the operator in question. The ObsOperatorBase subclass should then typedef Parameters_ to the name of the ObsOperatorParametersBase subclass and provide a constructor with the following signature:

SubclassName(const ioda::ObsSpace &, const Parameters_ &);

Definition at line 55 of file ObsOperatorBase.h.

Constructor & Destructor Documentation

◆ ObsOperatorBase()

ufo::ObsOperatorBase::ObsOperatorBase ( const ioda::ObsSpace &  odb,
const eckit::Configuration &  = eckit::LocalConfiguration() 
)
inlineexplicit

Definition at line 59 of file ObsOperatorBase.h.

◆ ~ObsOperatorBase()

virtual ufo::ObsOperatorBase::~ObsOperatorBase ( )
inlinevirtual

Definition at line 62 of file ObsOperatorBase.h.

Member Function Documentation

◆ locations()

std::unique_ptr< Locations > ufo::ObsOperatorBase::locations ( ) const
virtual

Locations for GeoVaLs.

Reimplemented in ufo::ObsTimeOper, and ufo::ObsGnssroBndROPP2D.

Definition at line 22 of file ObsOperatorBase.cc.

◆ print()

◆ requiredVars()

◆ simulatedVars()

oops::Variables ufo::ObsOperatorBase::simulatedVars ( ) const
virtual

List of variables simulated by this operator.

The default implementation returns the list of all simulated variables in the ObsSpace.

Reimplemented in ufo::ObsSfcPCorrected, ufo::ObsProfileAverage, ufo::ObsIdentity, ufo::ObsComposite, ufo::ObsBackgroundErrorVertInterp, ufo::ObsBackgroundErrorIdentity, ufo::ObsAtmVertInterp, and ufo::ObsAtmSfcInterp.

Definition at line 34 of file ObsOperatorBase.cc.

◆ simulateObs()

Member Data Documentation

◆ odb_

const ioda::ObsSpace& ufo::ObsOperatorBase::odb_
private

Definition at line 80 of file ObsOperatorBase.h.


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