====== QC2h-1: Plumatic Controls ====== * {{kvalobs:kvoss:system:qc2:requirements:algorithms:qc2-plu-timeseries-v0.9.pdf|Specification}} * [[kvalobs:kvoss:system:qc2:requirements:algorithms:QC2h1|QC2h1 spesifikasjon]] See also the [[https://github.com/metno/kvqc2d/blob/master/doc/Plumatic.md|Plumatic documentation]] in the source code repository. ==== Procedure ==== The algorithm first checks prioritet 2, 3, and 4 from the [[kvalobs:kvoss:system:qc2:requirements:algorithms:qc2h1|specification]] and applies the correpsonding flag modifications. After that, the sliding aggregation check is performed, excluding any periods with data matching **discarded_*flags**. ==== Configuration ==== Beyond the standard configuration options detailed in the [[kvalobs:kvoss:system:qc2:user|user guide]], the following options are available for Plumatic. ^ Option ^ Default ^ Description ^ | highsingle_flagchange | fs=8,fmis=2 | flags to set if a "high single" is detected (prioritet 2 in the [[kvalobs:kvoss:system:qc2:requirements:algorithms:qc2h1|specification]]) | | highstart_flagchange | fs=8,fmis=2 | flags to set if a "high start" is detected (prioritet 3 in the [[kvalobs:kvoss:system:qc2:requirements:algorithms:qc2h1|specification]]) | | interruptedrain_flagchange | fs=8,fmis=2 | flags to set if a "rain interruption" is detected (prioritet 4 in the [[kvalobs:kvoss:system:qc2:requirements:algorithms:qc2h1|specification]]) | | aggregation_flagchange | fr=9 | flags to set if a sliding aggregation exceeds a threshold (prioritet 1 in the [[kvalobs:kvoss:system:qc2:requirements:algorithms:qc2h1|specification]]) | | discarded_cflags | %%fr=9|fs=8|fmis=2%% | specify which rows shall be regarded as "bad" and excluded from further tests | | discarded_uflags | no constraint | ::: | | stations | --- | resolutions and station ids, see below | | sliding_alarms | --- | periods (in minutes) and precipitation thresholds for sliding aggregation test, see below | === Option stations === This parameter contains a resolution in mm-per-tipping, and a list of stations. Example: stations = 0.1:3015,3019,3030;0.2:200,1220,2840,3030,3190,3290,3810 This list should not be written manually, but using the script **stinfosys-vipp-pluviometer.pl** which extracts the station list from stinfosys. This script uses **stinfosys** to determine which sensors deliver RR_01 and which resolution these sensors have. Therefore it is important to register the sensors in **stinfosys**. The script uses a SQL query similar to this one: SELECT si.stationid, em.description FROM sensor_info AS si, equipment AS eq, equipmentmodel AS em WHERE em.description LIKE '%unit_resolution=mm per vipp%' AND paramid = 105 AND em.modelname = eq.modelname AND si.equipmentid = eq.equipmentid AND ((si.totime IS NULL AND si.fromtime <= now()) OR (si.totime IS NOT NULL AND now() BETWEEN si.fromtime AND em.totime)) ORDER BY si.stationid === Option sliding_alarms === This option describes the duration and threshold for the sliding aggregation tests. The format is like this: sliding_alarms = 2<8.1;3<11.9;5<16.2;10<25.6;15<27.3;20<34.4;30<42.0;45<49.1;60<54.9;90<56.7;180<60.8;360<83.3;720<144.1;1440<159.7 The durations must be increasing.