UFO
ufo::LinearObsOperatorBase Class Referenceabstract

#include <LinearObsOperatorBase.h>

Inheritance diagram for ufo::LinearObsOperatorBase:
Collaboration diagram for ufo::LinearObsOperatorBase:

Public Member Functions

 LinearObsOperatorBase (const ioda::ObsSpace &odb)
 
virtual ~LinearObsOperatorBase ()
 
virtual void setTrajectory (const GeoVaLs &, ObsDiagnostics &)=0
 Obs Operator. More...
 
virtual void simulateObsTL (const GeoVaLs &, ioda::ObsVector &) const =0
 
virtual void simulateObsAD (GeoVaLs &, const ioda::ObsVector &) const =0
 
virtual const oops::Variables & requiredVars () const =0
 Operator input required from Model. More...
 
virtual oops::Variables simulatedVars () const
 List of variables simulated by this operator. More...
 
const ioda::ObsSpace & obsspace () const
 The space containing the observations to be 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 linear 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 LinearObsOperatorBase 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 54 of file LinearObsOperatorBase.h.

Constructor & Destructor Documentation

◆ LinearObsOperatorBase()

ufo::LinearObsOperatorBase::LinearObsOperatorBase ( const ioda::ObsSpace &  odb)
inlineexplicit

Definition at line 57 of file LinearObsOperatorBase.h.

◆ ~LinearObsOperatorBase()

virtual ufo::LinearObsOperatorBase::~LinearObsOperatorBase ( )
inlinevirtual

Definition at line 59 of file LinearObsOperatorBase.h.

Member Function Documentation

◆ obsspace()

const ioda::ObsSpace& ufo::LinearObsOperatorBase::obsspace ( ) const
inline

The space containing the observations to be simulated by this operator.

Definition at line 75 of file LinearObsOperatorBase.h.

Here is the caller graph for this function:

◆ print()

◆ requiredVars()

◆ setTrajectory()

◆ simulatedVars()

oops::Variables ufo::LinearObsOperatorBase::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::ObsProfileAverageTLAD, ufo::ObsIdentityTLAD, ufo::ObsCompositeTLAD, and ufo::ObsAtmVertInterpTLAD.

Definition at line 20 of file LinearObsOperatorBase.cc.

◆ simulateObsAD()

◆ simulateObsTL()

Member Data Documentation

◆ odb_

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

Definition at line 81 of file LinearObsOperatorBase.h.


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