UFO
|
Profile QC: average temperature observations onto model levels. More...
#include <ProfileAverageTemperature.h>
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... | |
![]() | |
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 | |
![]() | |
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) |
![]() | |
const ConventionalProfileProcessingParameters & | options_ |
Configurable parameters. More... | |
const int | missingValueInt = util::missingValue(1) |
Missing value (int) More... | |
const float | missingValueFloat = util::missingValue(1.0f) |
Missing value (float) More... | |
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.
|
explicit |
Definition at line 25 of file ProfileAverageTemperature.cc.
void ufo::ProfileAverageTemperature::fillValidationData | ( | ProfileDataHolder & | profileDataHolder | ) |
Fill variables in validator (for comparison with OPS output).
Definition at line 323 of file ProfileAverageTemperature.cc.
|
inlineoverridevirtual |
List of names of required GeoVaLs.
Reimplemented from ufo::ProfileCheckBase.
Definition at line 60 of file ProfileAverageTemperature.h.
|
inlineoverridevirtual |
List of names of GeoVaLs used in check validation.
Reimplemented from ufo::ProfileCheckBase.
Definition at line 64 of file ProfileAverageTemperature.h.
|
overridevirtual |
Average temperature observations onto model levels and store the results.
eckit::BadValue | if vectors produced by the AveragePressure routine are not present. |
Implements ufo::ProfileCheckBase.
Definition at line 30 of file ProfileAverageTemperature.cc.
|
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.
|
inlineoverridevirtual |
Run this check on the entire sample?
Reimplemented from ufo::ProfileCheckBase.
Definition at line 57 of file ProfileAverageTemperature.h.