This is an old revision of the document!
Qc2 Flag Specification
DRAFT
fw
For flagging spatial analysis of the available observation data.
Controlflag Setting | Description |
---|---|
fw=0 | Ikke kontrollert |
fw=1 | Kontrollert. Funnet i orden |
fw=2 | Kontrollert. Observert verdis avvik fra beregnet verdi er større enn høy testverdi |
fw=3 | Kontrollert. Observert verdis avvik fra beregnet verdi er mindre enn lav testverdi |
fw=4 | Kontrollert. Observert verdis avvik fra beregnet verdi er større enn høyeste testverdi |
fw=5 | Kontrollert. Observert verdis avvik fra beregnet verdi er mindre enn laveste testverdi |
fw=6 | Original verdi mangler eller er forkastet av en annen QC2-kontroll. Interpolert/korrigert med beregnet verdi |
(fw=7 Vi vil vurdere om interpolasjonsmetodikken (fw-kontrollen) selv kan forkaste en verdi. Foreløpig er vi litt tvilende til det, men holder muligheten åpen.)
The beregnet verdi/calculated value is the model value provided by th Qc2 algorithm used. The algorithm used is recorded in the “cfailed” string.
… To do: parse all flag group responses and document.
Regression testing to-do
Observation
Under https://kvalobs.wiki.met.no/doku.php?id=kvoss:system:qc2:flag:regression there are a lot of observations where useinfo(7) has been changed from a positive value (3 or 4 - observasjon er meldt for tidlig/sent) into 0.
Analysis
Assumed that some kind of resetting of useinfo flags has occurred before running “setUseFlags(const kvControlInfo& cinfo) with the existing Qc2 logic turned on”? If so, useinfo(7)=3,4 should not be reset, because the only place where these values are set is when decoding the original message (the values are set by the decoder).
The only values for useinfo(7) in the Kvalobs database are 0, 3 and 4.
Confirmation
Yes … the input to setUseFlags in the tests was the value of the controlinfo in order to see what useinfo was generated without any prior initialisation of the useinfo.
Next Step
Rerun the regression tests with initialised valid useinfo … and then compare the results with previous data.
setUseFlags code change
Regarding the setUseFlags anticipation of the setting of user flags in response to QC2 controls, most of the logic is commented out in the operational code, as indicated below:
bool kvControlInfo::qc2dDone() const { return false;//flag( f_fs ) or flag( f_ftime ) or flag( f_fw ) or flag( f_fstat ); } ... bool kvControlInfo::qc2mDone() const { return false;//flag( f_fclim ) or flag( f_fd ); } "
for the specific values of f_s which QC2 alone is able to set. fs=1,2,3 should not imply qc2dDone=true, because fs=1,2,3 is set by QC1, not QC2. Similarly for the flag f_fd in qc2mDone.^
Working Note
The Flaggdokumentet update with the new values for fw implies changes in setting of useinfo(2) also and will therefore take place after the implementation of 1272 that also involves useinfo(2).