UFO
ufo::ProfileAverageTemperature Class Reference

Profile QC: average temperature observations onto model levels. More...

#include <ProfileAverageTemperature.h>

Inheritance diagram for ufo::ProfileAverageTemperature:
Collaboration diagram for ufo::ProfileAverageTemperature:

Public Member Functions

 ProfileAverageTemperature (const ConventionalProfileProcessingParameters &options)
 
void runCheck (ProfileDataHandler &profileDataHandler) override
 
void fillValidationData (ProfileDataHolder &profileDataHolder)
 Fill variables in validator (for comparison with OPS output). More...
 
bool runOnEntireSample () override
 Run this check on the entire sample? More...
 
oops::Variables getGeoVaLNames () override
 List of names of required GeoVaLs. More...
 
oops::Variables getValidationGeoVaLNames () override
 List of names of GeoVaLs used in check validation. More...
 
- Public Member Functions inherited from ufo::ProfileCheckBase
 ProfileCheckBase (const ConventionalProfileProcessingParameters &options)
 
virtual ~ProfileCheckBase ()
 
virtual void fillValidationData (ProfileDataHandler &profileDataHandler)
 
virtual bool getResult ()
 Get result of check (default fail) More...
 
virtual oops::Variables getObsDiagNames ()
 List of names of required obs diagnostics. More...
 

Private Member Functions

void runCheckOnProfiles (ProfileDataHolder &profileOriginal, ProfileDataHolder &profileExtended)
 

Additional Inherited Members

- Protected Member Functions inherited from ufo::ProfileCheckBase
template<typename T >
void correctVector (const std::vector< T > &v1, const std::vector< T > &v2, std::vector< T > &vout)
 Apply correction to vector of values. More...
 
template<typename T >
void SetQCFlag (const int &flag, const size_t &jlev, std::vector< T > &vec)
 
template<typename T , typename... Args>
void SetQCFlag (const int &flag, const size_t &jlev, std::vector< T > &vec1, Args &... vecs)
 
- Protected Attributes inherited from ufo::ProfileCheckBase
const ConventionalProfileProcessingParametersoptions_
 Configurable parameters. More...
 
const int missingValueInt = util::missingValue(1)
 Missing value (int) More...
 
const float missingValueFloat = util::missingValue(1.0f)
 Missing value (float) More...
 

Detailed Description

Profile QC: average temperature observations onto model levels.

Vectors produced by the AveragePressure routine must be present otherwise the exception eckit::BadValue will be thrown.

The vertical processing of temperature is based on calculating the thickness of the model layers (rather than just averaging the temperatures). The potential temperature in each layer is converted to temperature by multiplying by the Exner pressure.

When the model layer is not completely covered by observations, a potential temperature observation-minus-background increment is computed using linear interpolation of temperature between the layer boundaries. This increment is added to the background value to produce the averaged observation value.

Definition at line 44 of file ProfileAverageTemperature.h.

Constructor & Destructor Documentation

◆ ProfileAverageTemperature()

ufo::ProfileAverageTemperature::ProfileAverageTemperature ( const ConventionalProfileProcessingParameters options)
explicit

Definition at line 25 of file ProfileAverageTemperature.cc.

Member Function Documentation

◆ fillValidationData()

void ufo::ProfileAverageTemperature::fillValidationData ( ProfileDataHolder profileDataHolder)

Fill variables in validator (for comparison with OPS output).

Definition at line 323 of file ProfileAverageTemperature.cc.

Here is the caller graph for this function:

◆ getGeoVaLNames()

oops::Variables ufo::ProfileAverageTemperature::getGeoVaLNames ( )
inlineoverridevirtual

List of names of required GeoVaLs.

Reimplemented from ufo::ProfileCheckBase.

Definition at line 60 of file ProfileAverageTemperature.h.

◆ getValidationGeoVaLNames()

oops::Variables ufo::ProfileAverageTemperature::getValidationGeoVaLNames ( )
inlineoverridevirtual

List of names of GeoVaLs used in check validation.

Reimplemented from ufo::ProfileCheckBase.

Definition at line 64 of file ProfileAverageTemperature.h.

◆ runCheck()

void ufo::ProfileAverageTemperature::runCheck ( ProfileDataHandler profileDataHandler)
overridevirtual

Average temperature observations onto model levels and store the results.

Exceptions
eckit::BadValueif vectors produced by the AveragePressure routine are not present.

Implements ufo::ProfileCheckBase.

Definition at line 30 of file ProfileAverageTemperature.cc.

Here is the call graph for this function:

◆ runCheckOnProfiles()

void ufo::ProfileAverageTemperature::runCheckOnProfiles ( ProfileDataHolder profileOriginal,
ProfileDataHolder profileExtended 
)
private

Run check on a profile in the original ObsSpace and put the averaged data into the corresponding profile in the extended ObsSpace.

Definition at line 103 of file ProfileAverageTemperature.cc.

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

◆ runOnEntireSample()

bool ufo::ProfileAverageTemperature::runOnEntireSample ( )
inlineoverridevirtual

Run this check on the entire sample?

Reimplemented from ufo::ProfileCheckBase.

Definition at line 57 of file ProfileAverageTemperature.h.


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