UFO
ufo::ObsProfileAverageData Class Reference

Data handling class for the ProfileAverage observation operator and TL/AD code. More...

#include <ObsProfileAverageData.h>

Collaboration diagram for ufo::ObsProfileAverageData:

Public Member Functions

 ObsProfileAverageData (const ioda::ObsSpace &odb, const eckit::Configuration &config)
 
const oops::Variables & requiredVars () const
 Return required variables for the operator. More...
 
const oops::Variables & simulatedVars () const
 Return simulated variables for the operator. More...
 
const std::vector< int > & operatorVarIndices () const
 Return operator variable indices for the operator. More...
 
void cacheGeoVaLs (const GeoVaLs &gv) const
 Cache the initial values of the GeoVaLs. More...
 
std::vector< std::size_t > getSlantPathLocations (const std::vector< std::size_t > &locsOriginal, const std::vector< std::size_t > &locsExtended) const
 
void print (std::ostream &os) const
 Print operator configuration options. More...
 

Private Member Functions

void setUpAuxiliaryReferenceVariables ()
 
void compareAuxiliaryReferenceVariables (const std::vector< std::size_t > &locsExtended, const std::vector< std::size_t > &slant_path_location, const std::vector< float > &slant_pressure) const
 Compare auxiliary reference variables with those obtained in OPS. More...
 

Private Attributes

const ioda::ObsSpace & odb_
 ObsSpace. More...
 
ObsProfileAverageParameters options_
 Options for this observation operator. More...
 
std::string modelVerticalCoord_
 Name of model vertical coordinate. More...
 
oops::Variables requiredVars_
 Required variables. More...
 
oops::Variables operatorVars_
 Operator variables. More...
 
std::vector< int > operatorVarIndices_
 Indices of operator variables. More...
 
std::unique_ptr< GeoVaLscachedGeoVaLs_
 Cached GeoVaLs. More...
 
std::vector< int > slant_path_location_ref_
 Reference values of slant path locations. More...
 
std::vector< float > slant_pressure_ref_
 Reference values of slant path pressures. More...
 

Detailed Description

Data handling class for the ProfileAverage observation operator and TL/AD code.

Definition at line 30 of file ObsProfileAverageData.h.

Constructor & Destructor Documentation

◆ ObsProfileAverageData()

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

Definition at line 17 of file ObsProfileAverageData.cc.

Here is the call graph for this function:

Member Function Documentation

◆ cacheGeoVaLs()

void ufo::ObsProfileAverageData::cacheGeoVaLs ( const GeoVaLs gv) const

Cache the initial values of the GeoVaLs.

Definition at line 71 of file ObsProfileAverageData.cc.

Here is the caller graph for this function:

◆ compareAuxiliaryReferenceVariables()

void ufo::ObsProfileAverageData::compareAuxiliaryReferenceVariables ( const std::vector< std::size_t > &  locsExtended,
const std::vector< std::size_t > &  slant_path_location,
const std::vector< float > &  slant_pressure 
) const
private

Compare auxiliary reference variables with those obtained in OPS.

Definition at line 118 of file ObsProfileAverageData.cc.

Here is the caller graph for this function:

◆ getSlantPathLocations()

std::vector< std::size_t > ufo::ObsProfileAverageData::getSlantPathLocations ( const std::vector< std::size_t > &  locsOriginal,
const std::vector< std::size_t > &  locsExtended 
) const

Get slant path locations. This determines, for each model level, the location that corresponds to the intersection of the observed profile with that level.

Definition at line 76 of file ObsProfileAverageData.cc.

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

◆ operatorVarIndices()

const std::vector< int > & ufo::ObsProfileAverageData::operatorVarIndices ( ) const

Return operator variable indices for the operator.

Definition at line 67 of file ObsProfileAverageData.cc.

Here is the caller graph for this function:

◆ print()

void ufo::ObsProfileAverageData::print ( std::ostream &  os) const

Print operator configuration options.

Definition at line 149 of file ObsProfileAverageData.cc.

Here is the caller graph for this function:

◆ requiredVars()

const oops::Variables & ufo::ObsProfileAverageData::requiredVars ( ) const

Return required variables for the operator.

Definition at line 59 of file ObsProfileAverageData.cc.

Here is the caller graph for this function:

◆ setUpAuxiliaryReferenceVariables()

void ufo::ObsProfileAverageData::setUpAuxiliaryReferenceVariables ( )
private

Set up auxiliary reference variables that are used for comparison with OPS. These reference variables are called MetOfficeHofX/slant_path_location and MetOfficeHofX/slant_pressure. If a comparison with OPS is to be performed then these variables must be present in the input data set.

Definition at line 107 of file ObsProfileAverageData.cc.

Here is the caller graph for this function:

◆ simulatedVars()

const oops::Variables & ufo::ObsProfileAverageData::simulatedVars ( ) const

Return simulated variables for the operator.

Definition at line 63 of file ObsProfileAverageData.cc.

Here is the caller graph for this function:

Member Data Documentation

◆ cachedGeoVaLs_

std::unique_ptr<GeoVaLs> ufo::ObsProfileAverageData::cachedGeoVaLs_
mutableprivate

Cached GeoVaLs.

Definition at line 88 of file ObsProfileAverageData.h.

◆ modelVerticalCoord_

std::string ufo::ObsProfileAverageData::modelVerticalCoord_
private

Name of model vertical coordinate.

Definition at line 76 of file ObsProfileAverageData.h.

◆ odb_

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

ObsSpace.

Definition at line 70 of file ObsProfileAverageData.h.

◆ operatorVarIndices_

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

Indices of operator variables.

Definition at line 85 of file ObsProfileAverageData.h.

◆ operatorVars_

oops::Variables ufo::ObsProfileAverageData::operatorVars_
private

Operator variables.

Definition at line 82 of file ObsProfileAverageData.h.

◆ options_

ObsProfileAverageParameters ufo::ObsProfileAverageData::options_
private

Options for this observation operator.

Definition at line 73 of file ObsProfileAverageData.h.

◆ requiredVars_

oops::Variables ufo::ObsProfileAverageData::requiredVars_
private

Required variables.

Definition at line 79 of file ObsProfileAverageData.h.

◆ slant_path_location_ref_

std::vector<int> ufo::ObsProfileAverageData::slant_path_location_ref_
private

Reference values of slant path locations.

Definition at line 91 of file ObsProfileAverageData.h.

◆ slant_pressure_ref_

std::vector<float> ufo::ObsProfileAverageData::slant_pressure_ref_
private

Reference values of slant path pressures.

Definition at line 94 of file ObsProfileAverageData.h.


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