UFO
|
#include <ObsOperatorBase.h>
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< Locations > | locations () 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_ |
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.
|
inlineexplicit |
Definition at line 59 of file ObsOperatorBase.h.
|
inlinevirtual |
Definition at line 62 of file ObsOperatorBase.h.
|
virtual |
Reimplemented in ufo::ObsTimeOper, and ufo::ObsGnssroBndROPP2D.
Definition at line 22 of file ObsOperatorBase.cc.
|
privatepure virtual |
Implemented in ufo::ObsExample, ufo::ObsTimeOper, ufo::ObsSfcPCorrected, ufo::ObsScatwindNeutralMetOffice, ufo::SatTCWV, ufo::ObsRadianceRTTOVCPP, ufo::ObsRadianceRTTOV, ufo::ObsRadarRadialVelocity, ufo::ObsProfileAverage, ufo::ObsSeaIceThickness, ufo::ObsSeaIceFraction, ufo::ObsMarineVertInterp, ufo::ObsInsituTemperature, ufo::ObsCoolSkin, ufo::ObsChlEuzIntegr, ufo::ObsADT, ufo::ObsIdentity, ufo::ObsGroundgnssROPP, ufo::ObsGroundgnssMetOffice, ufo::ObsGnssGBRefROPP1D, ufo::ObsGnssroRef, ufo::ObsGnssroRefMetOffice, ufo::ObsGnssroBndROPP2D, ufo::ObsGnssroBndROPP1D, ufo::ObsGnssroBndNBAM, ufo::ObsGnssroBendMetOffice, ufo::ObsRadianceCRTM, ufo::ObsAodLUTs, ufo::ObsAodCRTM, ufo::ObsComposite, ufo::ObsCategorical, ufo::ObsBackgroundErrorVertInterp, ufo::ObsBackgroundErrorIdentity, ufo::ObsAvgKernel, ufo::ObsAtmVertInterpLay, ufo::ObsAtmVertInterp, ufo::ObsAtmSfcInterp, ufo::ObsAodGeos, and ufo::ObsAodExt.
|
pure virtual |
Operator input required from Model.
Implemented in ufo::ObsExample, ufo::ObsTimeOper, ufo::ObsSfcPCorrected, ufo::ObsScatwindNeutralMetOffice, ufo::SatTCWV, ufo::ObsRadianceRTTOVCPP, ufo::ObsRadianceRTTOV, ufo::ObsRadarRadialVelocity, ufo::ObsProfileAverage, ufo::ObsSeaIceThickness, ufo::ObsSeaIceFraction, ufo::ObsMarineVertInterp, ufo::ObsInsituTemperature, ufo::ObsCoolSkin, ufo::ObsChlEuzIntegr, ufo::ObsADT, ufo::ObsIdentity, ufo::ObsGroundgnssROPP, ufo::ObsGroundgnssMetOffice, ufo::ObsGnssGBRefROPP1D, ufo::ObsGnssroRef, ufo::ObsGnssroRefMetOffice, ufo::ObsGnssroBndROPP2D, ufo::ObsGnssroBndROPP1D, ufo::ObsGnssroBndNBAM, ufo::ObsGnssroBendMetOffice, ufo::ObsRadianceCRTM, ufo::ObsAodLUTs, ufo::ObsAodCRTM, ufo::ObsComposite, ufo::ObsCategorical, ufo::ObsBackgroundErrorVertInterp, ufo::ObsBackgroundErrorIdentity, ufo::ObsAvgKernel, ufo::ObsAtmVertInterpLay, ufo::ObsAtmVertInterp, ufo::ObsAtmSfcInterp, ufo::ObsAodGeos, and ufo::ObsAodExt.
|
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.
|
pure virtual |
Obs Operator.
Implemented in ufo::ObsExample, ufo::ObsTimeOper, ufo::ObsSfcPCorrected, ufo::ObsScatwindNeutralMetOffice, ufo::SatTCWV, ufo::ObsRadianceRTTOVCPP, ufo::ObsRadianceRTTOV, ufo::ObsRadarRadialVelocity, ufo::ObsProfileAverage, ufo::ObsSeaIceThickness, ufo::ObsSeaIceFraction, ufo::ObsMarineVertInterp, ufo::ObsInsituTemperature, ufo::ObsCoolSkin, ufo::ObsChlEuzIntegr, ufo::ObsADT, ufo::ObsIdentity, ufo::ObsGroundgnssROPP, ufo::ObsGroundgnssMetOffice, ufo::ObsGnssGBRefROPP1D, ufo::ObsGnssroRef, ufo::ObsGnssroRefMetOffice, ufo::ObsGnssroBndROPP2D, ufo::ObsGnssroBndROPP1D, ufo::ObsGnssroBndNBAM, ufo::ObsGnssroBendMetOffice, ufo::ObsRadianceCRTM, ufo::ObsAodLUTs, ufo::ObsAodCRTM, ufo::ObsComposite, ufo::ObsCategorical, ufo::ObsBackgroundErrorVertInterp, ufo::ObsBackgroundErrorIdentity, ufo::ObsAvgKernel, ufo::ObsAtmVertInterpLay, ufo::ObsAtmVertInterp, ufo::ObsAtmSfcInterp, ufo::ObsAodGeos, and ufo::ObsAodExt.
|
private |
Definition at line 80 of file ObsOperatorBase.h.