====== Qc2 User Guide ====== **This documentation is mostly for the development version 1.3.1 of kvqc2d as of 2011-12-02.** ===== Configuration ===== The configuration of Qc2 algorithms is done via configuration files in the folder ''/etc/kvalobs/Qc2Config''. To make it easy to switch between development an production version, the development configuration files have the extension ''.cfg2'', and the production configuration files the extension ''.cfg''. All other files are ignored. The new version checks tries to check if there is too much or too little configuration. Error messages about bad configuration files should appear as **ERROR** messages in the logfile ''/var/log/kvalobs/kvqc2d.log''. The configuration files may contain empty lines and comment lines, i.e. lines that start with a ''#'' as first non-whitespace character. Empty lines and comment lines are ignored. The other lines have the form ''option = value''. Options are case-sensitive. If the same option is repeated, a list of values is built, but this feature is not used for all parameters (most take only the first value) and also not checked. ==== Flags and Flag Modification ==== For the development version, the specification of [[kvalobs:kvalobs:kvalobs-flagg|flags]] and flag modifications has been changed and extended. One part of this is flag **matching**, the other flag **modification**. === Flag Matching === To specify flag matching, the following syntax is used: # controlinfo fr must be 9 or fs must be one of A,B,C; there is no constraint on the other controlinfo or useinfo flags discarded_cflags = fr=9|fs=[ABC] # controlinfo(6)=fmis must be 0 and useinfo(0) must be 3 or 7 and useinfo(2) must 0; there is no constraint on the other controlinfo or useinfo flags neighbor_cflags = ..._..0_..._..._ neighbor_uflags = [37].0_..._..._..._ # same as above, but in text format neighbor_cflags = fmis=0 neighbor_uflags = U0=[37]&U2=0 # fmis may not be 7,8 or 9 neighbor_cflags = fmis=)789( # controlinfo must have either fmis=0 and fhqc=0 or fmis=1 and fhqc=A; no constraint on useinfo missing_cflags = fmis=0&fhqc=0|fmis=1&fhqc=A The characters ''.'' and ''_'' match any flag and can be used interchangeably. If using the non-textual specification, it is recommended to use a ''_'' for every fourth flag wildcard and ''.'' for all other wildcards to make it easier to read the specification on screen and paper. === Flag Modification === Flag modification consists of an optional matching part like above and a modification part. Both apply only to controlinfo flags. # set ftime=1 unconditionally; if fmis=3, set fmis=1; if fmis=0 or 2, set fmis=4 update_flagchange = ..._...1..._..._;..._..3_..._..._->..._..1_..._..._;..._..[02]_..._..._->..._..4_..._..._ # if fmis=1, set fmis=3; if fmis=4, set fs=9 missing_flagchange = fmis=1->fmis=3;fmis=4->fs=9 # set fs=8 and fmis=2 highstart_flagchange = fs=8,fmis=2 The changes are applied in the order they are specified if the respective constraint is met. If multiple changes are specified, the constraints of the later are checked against the flags already modified by the previous change specifications. ==== Scheduling ==== Scheduling of the algorithm is done via the //options//: * ''RunAtHour'' specifies the hour of the day at which the algorithm should run. The special value ''-1'' means that the algorithm shall run hourly * ''RunAtMinute'' specifies the minute at which the algorithm should run. If algorithms are scheduled so that one runs so long that other algorithm's scheduled start times fall during the running time of the former, then the //delayed// algorithms are run in the same order as originally specified after the long-running algorithm finished. If several algorithms are scheduled for the same time, the order in which they are run is undefined. See also [[.user:qc2_schedule|Qc2 Schedule]]. ==== Common Configuration ==== A few options are common to all algorithms. These have default values and are not likely to be inserted in the configuration file. * ''CFAILED_STRING'' an extra comment added to ''cfailed'' for any modified row (default: empty, no extra comment) * ''missing'' special value indicating a missing value (default: -32767.0) * ''rejected'' special value indicating a rejected value (default: -32766.0) ==== Time Range Configuration ==== The first and last observation times for which an algorithm shall run is specified with: * either ''Start_YYYY'', ''Start_MM'', ''Start_DD'', ''Start_hh'', ''Start_mm'', ''Start_ss'' and ''End_YYYY'', ''End_MM'', ''End_DD'', ''End_hh'', ''End_mm'', ''End_ss'' * or with ''Last_NDays = //d//'' which takes the present time (not the scheduled time!) and sets seconds and minutes to 0 to obtain the end time; then, ''//d//'' days are subtracted to obtain the start time. It is also possible to set ''Start_hh'' and ''Start_mm'' here, for example for data expected at 06:00. ==== Algorithm Choice and Configuration ==== The algorithm to run is defined by the ''Algorithm'' option. The following algorithms are known, and links are given the their respective descriptions. * ''DipTest'' checks for double jumps in the data, see [[kvalobs:kvoss:system:qc2:requirements:algorithms:diptest03|description]] * ''SingleLinear'' checks for single missing values, see [[kvalobs:kvoss:system:qc2:requirements:algorithms:singlelinear|description]] * ''Redistribute'' redistributes accumulated precipitation based on neighbor station data, see [[kvalobs:kvoss:system:qc2:requirements:algorithms:rarr_24|description]] * ''Plumatic'' checks 1-minute data from //vippepluviometer//, see [[kvalobs:kvoss:system:qc2:requirements:algorithms:plumatic|description]] ===== Links ===== * [[.user:configuration|Old configuration description]] * [[.user:config_summary|Summary of all Configuration Options]] * [[.user:interpolation|Interpolation Configuration]] * [[.user:algorithms|Algorithm Configuration]] * [[.user:installation|Installation]] (old) * [[.user:run|Running Qc2]] (old) * [[.user:version|Version Details]] * [[kvalobs:kvoss:system:qc2|QC2 System Root Page]]