QC1-3

There are three different checks

Step check;

Freeze check;

Dip check.

QC1-3a STEP CHECK

Only meteorological parameters with continuous observation values is controlled.

Comparison between the present values and the previous one results in an error flag when the difference equals or exceeds the parameter specific threshold.

This is both a Step-Up and Step-Down Check.
This is a subroutine in Kvalobs check category QC1-3 that is to be found in a metadata table named: algorithms.
kvQabase (in real time use as a daemon) is running this STEP_CHECK.
This algorithm supports only the time resolution between 1 and 60 minutes.
Checking if the (absolute value) difference between the present value ($X[0]) and the previous value ($X[1]) exceeds threshold values.
Operating with 2 sets of threshold values, one (high) put fs-flag to 2 and the other (max) to 8, if threshold values are exceeded.

Source code:

https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/algorithms/STEP_CHECK.pl

Flag document:

https://wiki.met.no/kvalobs/kvalobs/kvalobs-flagg#sprangkontroll_stepdipfreezedrift

Threshold values:

Headerinfo for thresholdvalues (as mentioned above, the 'high' set is for low fs-flag, the 'max' set is for max fs-flag. The digits are time resolutions in minutes.):
high60;high30;high20;high10;high05;high02;high01;max60;max30;max20;max10;max05;max02;max01

Example for the Air Temperature: First paramid = 211 (TA), then the 2 sets of threshold values rest of the row.
211 7.5 7.0 6.0 5.0 4.0 3.0 1.0 18.6 11.1 10.8 7.2 3.5 2.3 1.4

https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/station_param/station_param_auto/QC1-3a

QC1-3b FREEZE CHECK

The treshold value is the time period with equal values, not each single observation.
This implies that this check accepts missing observations in this time period.

Checking if a Freeze Situation is detected and exceeding HIGH / MAX treshold value. If so, flag is given the value 3 / 8.
This is a subroutine in Kvalobs check category QC1-3 that is to be found in a metadata table named: algorithms.
kvQabase (in real time use as a daemon) is running this FREEZE_CHECK.
This algorithm supports time resolution between 1 minute and max threshold value specified for the parameter.
Error flags is attributed when the observation value is equal throughout the timeperiod specified for the parameter.
Operating with 2 threshold values, one (high) put fs-flag to 3 and the other (max) to 8, if threshold values are exceeded.

Source code:

This is the general check:
https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/algorithms/FREEZE_CHECK.pl
This is an exception check for relative humidity ( the parameter UU ) because fog situations tend to have the same value for relative humidity for a long time.
https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/algorithms/FREEZE_CHECK_UU.pl

Flag document:

https://wiki.met.no/kvalobs/kvalobs/kvalobs-flagg#sprangkontroll_stepdipfreezedrift

Threshold values:

Headerinfo for thresholdvalues (as mentioned above, the 'high' value is for low fs-flag, the 'max' value is for max fs-flag. No time resolution dependencies.):

high;max

https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/station_param/station_param_auto/QC1-3b

QC1-3c DIP CHECK

Only meteorological parameters with continuous observation values is controlled.

The error flag is attributed when the difference between the present values and the previous one plus the difference between the present values and the next one exceeds the parameter specific threshold.

This is a check for both dip and peak.
This is a subroutine in Kvalobs check category QC1-3 that is to be found in a metadata table named: algorithms.
kvQabase (in real time use as a daemon) is running this DIP_CHECK.
This algorithm supports only the time resolution between 1 and 60 minutes.
To avoid setting a flag when the value comes frome/to a new level where it remains, this check has an extra control:
Checking if the difference between the two differences between three consecutive values exceeds 35% of the sum of the two differences.
Operating with 2 sets of threshold values, one (high) put fs-flag to 2 and the other (max) to 8, if threshold values are exceeded.

Source code:

This is the general check:
https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/algorithms/DIP_CHECK.pl
This is an exception for TA where dew point gives us the possibility toe see whether the development of the values for TA relative to UU is as expecteed.
https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/algorithms/DIP_CHECK_TA.pl
This is an exception for UU where dew point gives us the possibility toe see whether the development of the values for TA relative to UU is as expecteed.
https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/algorithms/DIP_CHECK_UU.pl

Flag document:

https://wiki.met.no/kvalobs/kvalobs/kvalobs-flagg#sprangkontroll_stepdipfreezedrift

Threshold values:

Headerinfo for thresholdvalues (as mentioned above, the 'high' set is for low fs-flag, the 'max' set is for max fs-flag. The digits are time resolutions in minutes.):

high60;high30;high20;high10;high05;high02;high01;max60;max30;max20;max10;max05;max02;max01

https://gitlab.met.no/obs/kvalobs/kvoss_intern/blob/master/kvmeta/station_param/station_param_auto/QC1-3c

Examples:

Whenever a wind speed value is controlled, the latest prior value available observed during the previous 10 minutes is considered for step comparison. If the difference between the present and the prior value exceedes 13 m/s (scaleable) the now value is flagged.

Whenever a wind speed value is controlled, all prior values available observed during the previous 48 hours is considered for frozen value comparison.