UFO
ufo::ObsIdentity Class Reference

Identity observation operator. More...

#include <ObsIdentity.h>

Inheritance diagram for ufo::ObsIdentity:
Collaboration diagram for ufo::ObsIdentity:

Public Member Functions

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

Static Public Member Functions

static const std::string classname ()
 

Private Member Functions

void print (std::ostream &) const override
 

Private Attributes

oops::Variables requiredVars_
 Required variables. More...
 
oops::Variables operatorVars_
 Operator variables. More...
 
std::vector< int > operatorVarIndices_
 Indices of operator variables. More...
 

Detailed Description

Identity observation operator.

This observation operator transfers model values directly to the H(x) vector, after horizontal interpolation has been performed, with no further processing. For GeoVaLs with more than one vertical level, only the first entry in the GeoVaL is processed in this way.

An example yaml configuration is:

obs operator:
 name: Identity

This operator also accepts an optional variables parameter, which controls which ObsSpace variables will be simulated. This option should only be set if this operator is used as a component of the Composite operator. If variables is not set, the operator will simulate all ObsSpace variables. Please see the documentation of the Composite operator for further details.

Definition at line 51 of file ObsIdentity.h.

Constructor & Destructor Documentation

◆ ObsIdentity()

ufo::ObsIdentity::ObsIdentity ( const ioda::ObsSpace &  odb,
const eckit::Configuration &  config 
)

Definition at line 27 of file ObsIdentity.cc.

Here is the call graph for this function:

◆ ~ObsIdentity()

ufo::ObsIdentity::~ObsIdentity ( )
override

Definition at line 41 of file ObsIdentity.cc.

Member Function Documentation

◆ classname()

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

Definition at line 54 of file ObsIdentity.h.

◆ print()

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

Implements ufo::ObsOperatorBase.

Definition at line 67 of file ObsIdentity.cc.

◆ requiredVars()

const oops::Variables& ufo::ObsIdentity::requiredVars ( ) const
inlineoverridevirtual

Operator input required from Model.

Implements ufo::ObsOperatorBase.

Definition at line 61 of file ObsIdentity.h.

◆ simulatedVars()

oops::Variables ufo::ObsIdentity::simulatedVars ( ) const
inlineoverridevirtual

List of variables simulated by this operator.

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

Reimplemented from ufo::ObsOperatorBase.

Definition at line 63 of file ObsIdentity.h.

◆ simulateObs()

void ufo::ObsIdentity::simulateObs ( const GeoVaLs ,
ioda::ObsVector &  ,
ObsDiagnostics  
) const
overridevirtual

Obs Operator.

Implements ufo::ObsOperatorBase.

Definition at line 47 of file ObsIdentity.cc.

Here is the call graph for this function:

Member Data Documentation

◆ operatorVarIndices_

std::vector<int> ufo::ObsIdentity::operatorVarIndices_
private

Indices of operator variables.

Definition at line 76 of file ObsIdentity.h.

◆ operatorVars_

oops::Variables ufo::ObsIdentity::operatorVars_
private

Operator variables.

Definition at line 73 of file ObsIdentity.h.

◆ requiredVars_

oops::Variables ufo::ObsIdentity::requiredVars_
private

Required variables.

Definition at line 70 of file ObsIdentity.h.


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