Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
kvalobs:kvoss:system:qc2:user [2010-08-13 22:01:38]
paule
kvalobs:kvoss:system:qc2:user [2022-05-31 09:29:32] (current)
Line 1: Line 1:
  
-====== Qc2 User Guides & Manuals ======+====== Qc2 User Guide ======
  
-  [[.user:installation|Installation]] +**This documentation is mostly for the development version 1.3.1 of kvqc2d as of 2011-12-02.**
-  [[.user:run|Running Qc2]] +
-  * [[.user:configuration|Configuration]] +
-  * [[.user:version|Version Details]] +
-  [[.user:qc2_schedule|Qc2 Schedule]]+
  
-====== Reference ======+===== 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:
 +
 +<code>
 +# 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
 +</code>
 +
 +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.
 +
 +<code>
 +# 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
 +</code>
 +
 +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:config_summary|Summary of all Configuration Options]]
   * [[.user:interpolation|Interpolation Configuration]]   * [[.user:interpolation|Interpolation Configuration]]
   * [[.user:algorithms|Algorithm 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]]
-  * [[kvoss:system:qc2|QC2 System Root Page]]+
  • kvalobs/kvoss/system/qc2/user.1281736898.txt.gz
  • Last modified: 2022-05-31 09:23:18
  • (external edit)