UFO
ufo::ProfileAverageWindSpeed Class Reference

Profile QC: average wind speed observations onto model levels. More...

#include <ProfileAverageWindSpeed.h>

Inheritance diagram for ufo::ProfileAverageWindSpeed:
Collaboration diagram for ufo::ProfileAverageWindSpeed:

Public Member Functions

 ProfileAverageWindSpeed (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 wind speed observations onto model levels.

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

The eastward and northward wind components are averaged separately over model layers defined by adjacent pressure levels, including the surface pressure.

Definition at line 36 of file ProfileAverageWindSpeed.h.

Constructor & Destructor Documentation

◆ ProfileAverageWindSpeed()

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

Definition at line 25 of file ProfileAverageWindSpeed.cc.

Member Function Documentation

◆ fillValidationData()

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

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

Definition at line 252 of file ProfileAverageWindSpeed.cc.

Here is the caller graph for this function:

◆ getGeoVaLNames()

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

List of names of required GeoVaLs.

Reimplemented from ufo::ProfileCheckBase.

Definition at line 52 of file ProfileAverageWindSpeed.h.

◆ getValidationGeoVaLNames()

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

List of names of GeoVaLs used in check validation.

Reimplemented from ufo::ProfileCheckBase.

Definition at line 56 of file ProfileAverageWindSpeed.h.

◆ runCheck()

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

Average wind speed 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 ProfileAverageWindSpeed.cc.

Here is the call graph for this function:

◆ runCheckOnProfiles()

void ufo::ProfileAverageWindSpeed::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 108 of file ProfileAverageWindSpeed.cc.

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

◆ runOnEntireSample()

bool ufo::ProfileAverageWindSpeed::runOnEntireSample ( )
inlineoverridevirtual

Run this check on the entire sample?

Reimplemented from ufo::ProfileCheckBase.

Definition at line 49 of file ProfileAverageWindSpeed.h.


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