UFO
ufo::ProfileAveragePressure Class Reference

Profile QC: apply various transformations to observed and model pressures. The transformed pressures are used in subsequent profile averaging routines. More...

#include <ProfileAveragePressure.h>

Inheritance diagram for ufo::ProfileAveragePressure:
Collaboration diagram for ufo::ProfileAveragePressure:

Public Member Functions

 ProfileAveragePressure (const ConventionalProfileProcessingParameters &options)
 
void runCheck (ProfileDataHandler &profileDataHandler) override
 Run check on all profiles. More...
 
void fillValidationData (ProfileDataHolder &profileDataHolder)
 Fill variables in validator. 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 logPressure (const std::vector< float > &pressures, std::vector< float > &logP)
 Calculate log(pressure). More...
 
void ExnerPressure (const std::vector< float > &pressures, std::vector< float > &ExnerP)
 Calculate Exner pressure. More...
 
void bigPressureGaps (const std::vector< float > &pressures, const int ObsType, std::vector< float > &bigPgaps)
 Calculate big gap for each pressure. More...
 
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: apply various transformations to observed and model pressures. The transformed pressures are used in subsequent profile averaging routines.

Definition at line 31 of file ProfileAveragePressure.h.

Constructor & Destructor Documentation

◆ ProfileAveragePressure()

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

Definition at line 25 of file ProfileAveragePressure.cc.

Member Function Documentation

◆ bigPressureGaps()

void ufo::ProfileAveragePressure::bigPressureGaps ( const std::vector< float > &  pressures,
const int  ObsType,
std::vector< float > &  bigPgaps 
)
private

Calculate big gap for each pressure.

Definition at line 48 of file ProfileAveragePressure.cc.

Here is the caller graph for this function:

◆ ExnerPressure()

void ufo::ProfileAveragePressure::ExnerPressure ( const std::vector< float > &  pressures,
std::vector< float > &  ExnerP 
)
private

Calculate Exner pressure.

Definition at line 38 of file ProfileAveragePressure.cc.

Here is the caller graph for this function:

◆ fillValidationData()

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

Fill variables in validator.

Definition at line 211 of file ProfileAveragePressure.cc.

Here is the caller graph for this function:

◆ getGeoVaLNames()

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

List of names of required GeoVaLs.

Reimplemented from ufo::ProfileCheckBase.

Definition at line 45 of file ProfileAveragePressure.h.

◆ getValidationGeoVaLNames()

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

List of names of GeoVaLs used in check validation.

Reimplemented from ufo::ProfileCheckBase.

Definition at line 50 of file ProfileAveragePressure.h.

◆ logPressure()

void ufo::ProfileAveragePressure::logPressure ( const std::vector< float > &  pressures,
std::vector< float > &  logP 
)
private

Calculate log(pressure).

Definition at line 30 of file ProfileAveragePressure.cc.

Here is the caller graph for this function:

◆ runCheck()

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

Run check on all profiles.

Implements ufo::ProfileCheckBase.

Definition at line 65 of file ProfileAveragePressure.cc.

Here is the call graph for this function:

◆ runCheckOnProfiles()

void ufo::ProfileAveragePressure::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 128 of file ProfileAveragePressure.cc.

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

◆ runOnEntireSample()

bool ufo::ProfileAveragePressure::runOnEntireSample ( )
inlineoverridevirtual

Run this check on the entire sample?

Reimplemented from ufo::ProfileCheckBase.

Definition at line 42 of file ProfileAveragePressure.h.


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