Qc2 User Guide

This documentation is mostly for the development version of kvqc2d as of 2011-11-18.

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 flags and flag modifications has been changed and extended. One part of this is flag matching, the other flag changing.

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

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 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

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 description

SingleLinear checks for single missing values

Redistribute redistributes accumulated precipitation based on neighbor station data, see description

Plumatic checks 1-minute data from vippepluviometer, see description

Links

Old configuration description

Summary of all Configuration Options

Interpolation Configuration

Algorithm Configuration

Installation (old)

Running Qc2 (old)

Version Details

QC2 System Root Page