UFO
|
A filter that modifies the assigned pressure of AMV observations if a temperature inversion is detected in the model profile and defined criteria are met. More...
#include <SatwindInversionCorrection.h>
Public Types | |
typedef SatwindInversionCorrectionParameters | Parameters_ |
Public Member Functions | |
SatwindInversionCorrection (ioda::ObsSpace &, const Parameters_ &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~SatwindInversionCorrection () | |
![]() | |
FilterBase (ioda::ObsSpace &, const FilterParametersBaseWithAbstractAction ¶meters, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
FilterBase (ioda::ObsSpace &, const eckit::Configuration &, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~FilterBase () | |
![]() | |
ObsProcessorBase (ioda::ObsSpace &, bool deferToPost, std::shared_ptr< ioda::ObsDataVector< int > >, std::shared_ptr< ioda::ObsDataVector< float > >) | |
~ObsProcessorBase () | |
void | preProcess () override |
void | priorFilter (const GeoVaLs &) override |
void | postFilter (const ioda::ObsVector &, const ioda::ObsVector &, const ObsDiagnostics &) override |
oops::Variables | requiredVars () const override |
oops::Variables | requiredHdiagnostics () const override |
Static Public Member Functions | |
static const std::string | classname () |
Private Member Functions | |
void | print (std::ostream &) const override |
void | applyFilter (const std::vector< bool > &, const Variables &, std::vector< std::vector< bool >> &) const override |
A filter that modifies the assigned pressure of AMV observations if a temperature inversion is detected in the model profile and defined criteria are met. More... | |
int | qcFlag () const override |
Private Attributes | |
Parameters_ | parameters_ |
Additional Inherited Members | |
![]() | |
const eckit::LocalConfiguration | config_ |
ufo::Variables | filtervars_ |
![]() | |
ioda::ObsSpace & | obsdb_ |
std::shared_ptr< ioda::ObsDataVector< int > > | flags_ |
std::shared_ptr< ioda::ObsDataVector< float > > | obserr_ |
ufo::Variables | allvars_ |
ObsFilterData | data_ |
A filter that modifies the assigned pressure of AMV observations if a temperature inversion is detected in the model profile and defined criteria are met.
See SatwindInversionCorrectionParameters for the documentation of the parameters controlling this filter.
Definition at line 70 of file SatwindInversionCorrection.h.
The type of parameters accepted by the constructor of this filter. This typedef is used by the FilterFactory.
Definition at line 75 of file SatwindInversionCorrection.h.
ufo::SatwindInversionCorrection::SatwindInversionCorrection | ( | ioda::ObsSpace & | obsdb, |
const Parameters_ & | parameters, | ||
std::shared_ptr< ioda::ObsDataVector< int > > | flags, | ||
std::shared_ptr< ioda::ObsDataVector< float > > | obserr | ||
) |
Definition at line 27 of file SatwindInversionCorrection.cc.
ufo::SatwindInversionCorrection::~SatwindInversionCorrection | ( | ) |
Definition at line 44 of file SatwindInversionCorrection.cc.
|
overrideprivatevirtual |
A filter that modifies the assigned pressure of AMV observations if a temperature inversion is detected in the model profile and defined criteria are met.
The model profile is searched for the presence of a temperature inversion. Where there are multiple temperature inversions, only the lowest one is found. This is intended only for use on low level AMVs, typically below 700 hPa height.
The pressure of the AMV is corrected downwards in height if the following conditions are true: a) Originally assigned pressure is greater than or equal to min_pressure (Pa). b) AMV derived from IR and visible channels only. c) Temperature inversion is present in the model profile for pressures less than or equal to max_pressure (Pa). d) In order to be considered significant, the temperature difference across the top and base of the inversion must be greater than or equal to the inversion_temperature (K) value. e) Relative humidity at the top of the inversion is less than the rh_threshold value. f) AMV has been assigned above the height of the inversion base.
The AMV is then re-assigned to the base of the inversion.
Reference for initial implementation: Cotton, J., Forsythe, M., Warrick, F., (2016). Towards improved height assignment and quality control of AMVs in Met Office NWP. Proceedings for the 13th International Winds Workshop 27 June - 1 July 2016, Monterey, California, USA.
Implements ufo::FilterBase.
Definition at line 89 of file SatwindInversionCorrection.cc.
|
inlinestatic |
Definition at line 77 of file SatwindInversionCorrection.h.
|
overrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 234 of file SatwindInversionCorrection.cc.
|
inlineoverrideprivatevirtual |
Implements ufo::FilterBase.
Definition at line 88 of file SatwindInversionCorrection.h.
|
private |
Definition at line 90 of file SatwindInversionCorrection.h.