UFO
MetOfficeQCFlags.h
Go to the documentation of this file.
1 /*
2  * (C) Crown copyright 2020, Met Office
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef UFO_UTILS_METOFFICE_METOFFICEQCFLAGS_H_
9 #define UFO_UTILS_METOFFICE_METOFFICEQCFLAGS_H_
10 
11 namespace ufo {
12  /// \file QC flags used in OPS
13  /// A variety of flags are defined for entire observations,
14  /// particular elements within (generic) observations, and specific observations
15 
16 namespace MetOfficeQCFlags {
17  // Report flags for whole observations
18  // Notes:
19  // PermRejectReport = used for station list rejections
20  // SurplusReport = used for ship/airep data judged to be (almost) duplicate
21  // used for thinned buoy reports
22  // OutOfAreaReport = used for data outside model area
23  // (outside ocean mask for ocean/sst/wave analysis)
24  // used for data outside time window of analysis
26  FinalRejectReport = 1 << 0, ///< One of flags 1-6 set
27  PermRejectReport = 1 << 1, ///< Blacklisted data
28  SurplusReport = 1 << 2, ///< (Near) duplicate data
29  OutOfAreaReport = 1 << 3, ///< Outside analysis area/time
30  LandRejectReport = 1 << 4, ///< Marine ob over land
31  UsedInSuperObReport = 1 << 5, ///< Combined with other obs
32  TrackRejectReport = 1 << 6, ///< Failed track check
33  SuperObReport = 1 << 8, ///< This is a SuperOb
34  // Sonde data
35  NoPressureSensor = 1 << 13, ///< No PILOT pressure sensor
36  // Satellite wind data
37  MissingDataReport = 1 << 14, ///< Missing data
38  SatwindAltReport = 1 << 15, ///< Satwind alternative p/uv
39  SatwindGoodConstraint = 1 << 16, ///< Best-fit pressure is not well constrained
40  // Other miscellaneous flags
41  Thin4DFlag = 1 << 17, ///< Duplicate found
42  StationListThinFlag = 1 << 18 ///< Rejected based on station list
43  };
44 
45  // Assim flags for whole observations
46  enum WholeObAssim {
47  NewReport = 1 << 0, ///< Ob not yet assimilated
48  AssimilatedReport = 1 << 1, ///< Ob already assimilated
49  };
50 
51  // Flags for individual (generic) observation elements
52  enum Elem {
53  NoAssimFlag = 1 << 23, ///< Do not use in analysis
54  FinalRejectFlag = 1 << 0, ///< Final QC flag
55  BuddyRejectFlag = 1 << 1, ///< PGE>0.5 after buddy check
56  BackRejectFlag = 1 << 2, ///< PGE>0.5 after backgr check
57  PermRejectFlag = 1 << 3, ///< Blacklisted data
58  ClimRejectFlag = 1 << 4, ///< PGE>0.5 after climat check
59  BuddyPerfFlag = 1 << 5, ///< Buddy check performed
60  BackPerfFlag = 1 << 6, ///< Background check performed
61  ClimPerfFlag = 1 << 7, ///< Climatological check perf
62  PermCorrectFlag = 1 << 8, ///< Fixed correction
63  DataCorrectFlag = 1 << 9, ///< Eg sign correction
64  ConsistencyFlag = 1 << 10, ///< Internal consistency check
65  ExtremeValueFlag = 1 << 11 ///< Extreme value check
66  };
67 
68  // Flags for surface data
69  enum Surface {
70  TendencyFlag = 1 << 12, ///< Pressure tendency check.
71  PstdRepFlag = 1 << 13, ///< Pstd reported not Pmsl.
72  PstnPrefFlag = 1 << 14, ///< Use Pstn if reported.
73  PmslUsedFlag = 1 << 15, ///< Pmsl used in P* calc.
74  PstdUsedFlag = 1 << 16, ///< Pstd used in P* calc.
75  PstnUsedFlag = 1 << 17, ///< Pstn used in P* calc.
76  QNHinHgFlag = 1 << 16, ///< QNH in 0.01 inches Hg
77  QNHhPaFlag = 1 << 17, ///< QNH in whole hPa - Metars
78  RHreportFlag = 1 << 18, ///< RH was reported
79  SiteQualityFlag = 1 << 20, ///< AIRQAL site quality reject flag
80  VisRejFlag = 1 << 22, ///< Reject Visibility Ob
81  notRoundedFlag = 1 << 24, ///< Metar QNH not rounded to whole hPa
82  };
83 
84  // Flags for profiles
85  enum Profile {
86  HydrostaticFlag = 1 << 12, ///< Hydrostatic check flag
87  InterpolationFlag = 1 << 13, ///< Interpolation check flag
88  SuperadiabatFlag = 1 << 14, ///< Superadiabatic check flag
89  SurfaceLevelFlag = 1 << 15, ///< Surface Level
90  StandardLevelFlag = 1 << 16, ///< Standard Level
91  SigTempLevelFlag = 1 << 17, ///< Significant Temperature
92  SigWindLevelFlag = 1 << 18, ///< Significant Wind Level
93  MaxWindLevelFlag = 1 << 19, ///< Maximum Wind Level
94  TropopauseFlag = 1 << 20, ///< Tropopause Level
95  PartialLayerFlag = 1 << 21 ///< Partial Layer Vert Average
96  };
97 
98  // Flags for satellite winds
99  enum SatWind {
100  SatwindConfFlag = 1 << 12, ///< Satwind product confidence
101  SatwindInversionFlag = 1 << 13, ///< Inversion height corrected
102  SatwindDryLayerFlag = 1 << 14, ///< Model dry layer QC
103  SatwindWrongLayerFlag = 1 << 15 ///< Wrong moist layer QC
104  };
105 
106  // Flags for scatterometers
107  enum Scatt {
108  ScatConfidenceFlag = 1 << 12, ///< Wind product confidence
109  ScatAmbigRemov1Flag = 1 << 13, ///< Wind ambiguity removal
110  ScatAmbigRemov2Flag = 1 << 14, ///< Wind ambiguity removal
111  ScatIncAngle1Flag = 1 << 15, ///< Wind angle of incidence
112  ScatIncAngle2Flag = 1 << 16 ///< Wind angle of incidence
113  };
114 
115  // Flags for aircraft relative humidity
116  enum AircraftRH {
117  DerivedFromMixRatioFlag = 1 << 12, ///< Relative humidity derived from mixing ratio
118  DerivedFromFlightLevelFlag = 1 << 13, ///< Pressure derived from flight level
119  };
120 
121  // Flags for satellite SST
122  enum SatSST {
123  DaytimeFlag = 1 << 12, ///< Observation recorded in daytime
124  DiurnalWarmFlag = 1 << 13 ///< Indicates a likely diurnal warming component in signal
125  };
126 
127 } // namespace MetOfficeQCFlags
128 
129 } // namespace ufo
130 
131 #endif // UFO_UTILS_METOFFICE_METOFFICEQCFLAGS_H_
ufo::MetOfficeQCFlags::PmslUsedFlag
@ PmslUsedFlag
Pmsl used in P* calc.
Definition: MetOfficeQCFlags.h:73
ufo::MetOfficeQCFlags::Surface
Surface
Definition: MetOfficeQCFlags.h:69
ufo::MetOfficeQCFlags::TropopauseFlag
@ TropopauseFlag
Tropopause Level.
Definition: MetOfficeQCFlags.h:94
ufo::MetOfficeQCFlags::ConsistencyFlag
@ ConsistencyFlag
Internal consistency check.
Definition: MetOfficeQCFlags.h:64
ufo::MetOfficeQCFlags::BackPerfFlag
@ BackPerfFlag
Background check performed.
Definition: MetOfficeQCFlags.h:60
ufo::MetOfficeQCFlags::DerivedFromFlightLevelFlag
@ DerivedFromFlightLevelFlag
Pressure derived from flight level.
Definition: MetOfficeQCFlags.h:118
ufo::MetOfficeQCFlags::RHreportFlag
@ RHreportFlag
RH was reported.
Definition: MetOfficeQCFlags.h:78
ufo::MetOfficeQCFlags::NoAssimFlag
@ NoAssimFlag
Do not use in analysis.
Definition: MetOfficeQCFlags.h:53
ufo::MetOfficeQCFlags::PermRejectFlag
@ PermRejectFlag
Blacklisted data.
Definition: MetOfficeQCFlags.h:57
ufo::MetOfficeQCFlags::WholeObAssim
WholeObAssim
Definition: MetOfficeQCFlags.h:46
ufo::MetOfficeQCFlags::PstdUsedFlag
@ PstdUsedFlag
Pstd used in P* calc.
Definition: MetOfficeQCFlags.h:74
ufo::MetOfficeQCFlags::ScatConfidenceFlag
@ ScatConfidenceFlag
Wind product confidence.
Definition: MetOfficeQCFlags.h:108
ufo::MetOfficeQCFlags::TendencyFlag
@ TendencyFlag
Pressure tendency check.
Definition: MetOfficeQCFlags.h:70
ufo::MetOfficeQCFlags::SatWind
SatWind
Definition: MetOfficeQCFlags.h:99
ufo::MetOfficeQCFlags::BackRejectFlag
@ BackRejectFlag
PGE>0.5 after backgr check.
Definition: MetOfficeQCFlags.h:56
ufo::MetOfficeQCFlags::BuddyPerfFlag
@ BuddyPerfFlag
Buddy check performed.
Definition: MetOfficeQCFlags.h:59
ufo::MetOfficeQCFlags::AssimilatedReport
@ AssimilatedReport
Ob already assimilated.
Definition: MetOfficeQCFlags.h:48
ufo::MetOfficeQCFlags::Scatt
Scatt
Definition: MetOfficeQCFlags.h:107
ufo::MetOfficeQCFlags::SatwindWrongLayerFlag
@ SatwindWrongLayerFlag
Wrong moist layer QC.
Definition: MetOfficeQCFlags.h:103
ufo::MetOfficeQCFlags::SatwindGoodConstraint
@ SatwindGoodConstraint
Best-fit pressure is not well constrained.
Definition: MetOfficeQCFlags.h:39
ufo::MetOfficeQCFlags::LandRejectReport
@ LandRejectReport
Marine ob over land.
Definition: MetOfficeQCFlags.h:30
ufo::MetOfficeQCFlags::QNHhPaFlag
@ QNHhPaFlag
QNH in whole hPa - Metars.
Definition: MetOfficeQCFlags.h:77
ufo::MetOfficeQCFlags::AircraftRH
AircraftRH
Definition: MetOfficeQCFlags.h:116
ufo::MetOfficeQCFlags::SatwindInversionFlag
@ SatwindInversionFlag
Inversion height corrected.
Definition: MetOfficeQCFlags.h:101
ufo
Definition: RunCRTM.h:27
ufo::MetOfficeQCFlags::NoPressureSensor
@ NoPressureSensor
No PILOT pressure sensor.
Definition: MetOfficeQCFlags.h:35
ufo::MetOfficeQCFlags::SuperadiabatFlag
@ SuperadiabatFlag
Superadiabatic check flag.
Definition: MetOfficeQCFlags.h:88
ufo::MetOfficeQCFlags::OutOfAreaReport
@ OutOfAreaReport
Outside analysis area/time.
Definition: MetOfficeQCFlags.h:29
ufo::MetOfficeQCFlags::SatwindConfFlag
@ SatwindConfFlag
Satwind product confidence.
Definition: MetOfficeQCFlags.h:100
ufo::MetOfficeQCFlags::UsedInSuperObReport
@ UsedInSuperObReport
Combined with other obs.
Definition: MetOfficeQCFlags.h:31
ufo::MetOfficeQCFlags::PartialLayerFlag
@ PartialLayerFlag
Partial Layer Vert Average.
Definition: MetOfficeQCFlags.h:95
ufo::MetOfficeQCFlags::PstdRepFlag
@ PstdRepFlag
Pstd reported not Pmsl.
Definition: MetOfficeQCFlags.h:71
ufo::MetOfficeQCFlags::MaxWindLevelFlag
@ MaxWindLevelFlag
Maximum Wind Level.
Definition: MetOfficeQCFlags.h:93
ufo::MetOfficeQCFlags::StationListThinFlag
@ StationListThinFlag
Rejected based on station list.
Definition: MetOfficeQCFlags.h:42
ufo::MetOfficeQCFlags::ScatIncAngle2Flag
@ ScatIncAngle2Flag
Wind angle of incidence.
Definition: MetOfficeQCFlags.h:112
ufo::MetOfficeQCFlags::Profile
Profile
Definition: MetOfficeQCFlags.h:85
ufo::MetOfficeQCFlags::TrackRejectReport
@ TrackRejectReport
Failed track check.
Definition: MetOfficeQCFlags.h:32
ufo::MetOfficeQCFlags::VisRejFlag
@ VisRejFlag
Reject Visibility Ob.
Definition: MetOfficeQCFlags.h:80
ufo::MetOfficeQCFlags::SatwindDryLayerFlag
@ SatwindDryLayerFlag
Model dry layer QC.
Definition: MetOfficeQCFlags.h:102
ufo::MetOfficeQCFlags::DerivedFromMixRatioFlag
@ DerivedFromMixRatioFlag
Relative humidity derived from mixing ratio.
Definition: MetOfficeQCFlags.h:117
ufo::MetOfficeQCFlags::SigTempLevelFlag
@ SigTempLevelFlag
Significant Temperature.
Definition: MetOfficeQCFlags.h:91
ufo::MetOfficeQCFlags::PermRejectReport
@ PermRejectReport
Blacklisted data.
Definition: MetOfficeQCFlags.h:27
ufo::MetOfficeQCFlags::ScatAmbigRemov2Flag
@ ScatAmbigRemov2Flag
Wind ambiguity removal.
Definition: MetOfficeQCFlags.h:110
ufo::MetOfficeQCFlags::MissingDataReport
@ MissingDataReport
Missing data.
Definition: MetOfficeQCFlags.h:37
ufo::MetOfficeQCFlags::PstnPrefFlag
@ PstnPrefFlag
Use Pstn if reported.
Definition: MetOfficeQCFlags.h:72
ufo::MetOfficeQCFlags::SigWindLevelFlag
@ SigWindLevelFlag
Significant Wind Level.
Definition: MetOfficeQCFlags.h:92
ufo::MetOfficeQCFlags::BuddyRejectFlag
@ BuddyRejectFlag
PGE>0.5 after buddy check.
Definition: MetOfficeQCFlags.h:55
ufo::MetOfficeQCFlags::Elem
Elem
Definition: MetOfficeQCFlags.h:52
ufo::MetOfficeQCFlags::ScatAmbigRemov1Flag
@ ScatAmbigRemov1Flag
Wind ambiguity removal.
Definition: MetOfficeQCFlags.h:109
ufo::MetOfficeQCFlags::WholeObReport
WholeObReport
Definition: MetOfficeQCFlags.h:25
ufo::MetOfficeQCFlags::SatwindAltReport
@ SatwindAltReport
Satwind alternative p/uv.
Definition: MetOfficeQCFlags.h:38
ufo::MetOfficeQCFlags::ExtremeValueFlag
@ ExtremeValueFlag
Extreme value check.
Definition: MetOfficeQCFlags.h:65
ufo::MetOfficeQCFlags::HydrostaticFlag
@ HydrostaticFlag
Hydrostatic check flag.
Definition: MetOfficeQCFlags.h:86
ufo::MetOfficeQCFlags::SatSST
SatSST
Definition: MetOfficeQCFlags.h:122
ufo::MetOfficeQCFlags::notRoundedFlag
@ notRoundedFlag
Metar QNH not rounded to whole hPa.
Definition: MetOfficeQCFlags.h:81
ufo::MetOfficeQCFlags::FinalRejectReport
@ FinalRejectReport
One of flags 1-6 set.
Definition: MetOfficeQCFlags.h:26
ufo::MetOfficeQCFlags::FinalRejectFlag
@ FinalRejectFlag
Final QC flag.
Definition: MetOfficeQCFlags.h:54
ufo::MetOfficeQCFlags::ScatIncAngle1Flag
@ ScatIncAngle1Flag
Wind angle of incidence.
Definition: MetOfficeQCFlags.h:111
ufo::MetOfficeQCFlags::InterpolationFlag
@ InterpolationFlag
Interpolation check flag.
Definition: MetOfficeQCFlags.h:87
ufo::MetOfficeQCFlags::DiurnalWarmFlag
@ DiurnalWarmFlag
Indicates a likely diurnal warming component in signal.
Definition: MetOfficeQCFlags.h:124
ufo::MetOfficeQCFlags::NewReport
@ NewReport
Ob not yet assimilated.
Definition: MetOfficeQCFlags.h:47
ufo::MetOfficeQCFlags::ClimPerfFlag
@ ClimPerfFlag
Climatological check perf.
Definition: MetOfficeQCFlags.h:61
ufo::MetOfficeQCFlags::DaytimeFlag
@ DaytimeFlag
Observation recorded in daytime.
Definition: MetOfficeQCFlags.h:123
ufo::MetOfficeQCFlags::QNHinHgFlag
@ QNHinHgFlag
QNH in 0.01 inches Hg.
Definition: MetOfficeQCFlags.h:76
ufo::MetOfficeQCFlags::PstnUsedFlag
@ PstnUsedFlag
Pstn used in P* calc.
Definition: MetOfficeQCFlags.h:75
ufo::MetOfficeQCFlags::SiteQualityFlag
@ SiteQualityFlag
AIRQAL site quality reject flag.
Definition: MetOfficeQCFlags.h:79
ufo::MetOfficeQCFlags::StandardLevelFlag
@ StandardLevelFlag
Standard Level.
Definition: MetOfficeQCFlags.h:90
ufo::MetOfficeQCFlags::ClimRejectFlag
@ ClimRejectFlag
PGE>0.5 after climat check.
Definition: MetOfficeQCFlags.h:58
ufo::MetOfficeQCFlags::DataCorrectFlag
@ DataCorrectFlag
Eg sign correction.
Definition: MetOfficeQCFlags.h:63
ufo::MetOfficeQCFlags::PermCorrectFlag
@ PermCorrectFlag
Fixed correction.
Definition: MetOfficeQCFlags.h:62
ufo::MetOfficeQCFlags::SurplusReport
@ SurplusReport
(Near) duplicate data
Definition: MetOfficeQCFlags.h:28
ufo::MetOfficeQCFlags::SuperObReport
@ SuperObReport
This is a SuperOb.
Definition: MetOfficeQCFlags.h:33
ufo::MetOfficeQCFlags::SurfaceLevelFlag
@ SurfaceLevelFlag
Surface Level.
Definition: MetOfficeQCFlags.h:89
ufo::MetOfficeQCFlags::Thin4DFlag
@ Thin4DFlag
Duplicate found.
Definition: MetOfficeQCFlags.h:41