Automated quality control#
Tests based on the WMO “Guidelines on Surface Station Data Quality Control and Quality Assurance for Climate Applications”, WMO-No. 1269.
Overview#
The tests listed below are intended to be run automatically on individual observations on initial ingest and will be called from another process.
Tests#
Sensor based range check (detects observations that are outside the specified sensor limits), requires observer and result.
Domain test (determines whether the observed value is outside the realm of scientific possibility, e.g. air temperature > 70 Celsius), requires observed_property and result.
Climate based range test (compares the observed value with the climatological upper and lower extreme values), requires location, elevation, date, time observed_property and result. Sensor characteristics can be taken into account if available.
API definition#
- POST /process/_ingest_auto_qc#
Data ingest automated QC
Runs automated quality control on one or more observations encoded as a GeoJSON FeatureCollection. Triggered after data ingested or manually.
- Request JSON Object:
type (string:enum, required) – FeatureCollection
features[] (object) –
features[].id (string, required) – Identifier for the observation
features[].type (string:enum, required) – Feature
features[].geometry (object, required) –
features[].geometry.type (string:enum, required) – Type of feature (Point)
features[].geometry.coordinates[] (number) –
features[].properties (object, required) –
features[].properties.elevation (number) – Elevation of observation above mean sea level (in meters)
features[].properties.phenomenon_time (string:date-time, required) – Observation time, either instant or start and end of observing period
features[].properties.result (object) –
features[].properties.result.value (number, required) – The value of the result in float representation
features[].properties.result.uom (string, required) – Units used to represent the value being observed
features[].properties.result.description (string) – str representation of the result if applicable
features[].properties.result_quality[] (object) –
features[].properties.result_quality[].scheme (string) – Quality control scheme
features[].properties.result_quality[].test (string) – Test applied
features[].properties.result_quality[].result (string) – Textual representation of result
features[].properties.result_quality[].flag (integer) – Flag
features[].properties.host (string:uri, required) – Host associated with making the observation, equivalent to OGC OMS ‘host’
features[].properties.observer (string:uri, required) – Observer associated with making the observation, equivalent to OGC OMS ‘observer’
features[].properties.observed_property (string:uri, required) – The phenomenon, or thing, being observed
- Response JSON Object:
type (string:enum, required) – FeatureCollection
features[] (object) –
features[].id (string, required) – Identifier for the observation
features[].type (string:enum, required) – Feature
features[].geometry (object, required) –
features[].geometry.type (string:enum, required) – Type of feature (Point)
features[].geometry.coordinates[] (number) –
features[].properties (object, required) –
features[].properties.elevation (number) – Elevation of observation above mean sea level (in meters)
features[].properties.phenomenon_time (string:date-time, required) – Observation time, either instant or start and end of observing period
features[].properties.result (object) –
features[].properties.result.value (number, required) – The value of the result in float representation
features[].properties.result.uom (string, required) – Units used to represent the value being observed
features[].properties.result.description (string) – str representation of the result if applicable
features[].properties.result_quality[] (object) –
features[].properties.result_quality[].scheme (string) – Quality control scheme
features[].properties.result_quality[].test (string) – Test applied
features[].properties.result_quality[].result (string) – Textual representation of result
features[].properties.result_quality[].flag (integer) – Flag
features[].properties.host (string:uri, required) – Host associated with making the observation, equivalent to OGC OMS ‘host’
features[].properties.observer (string:uri, required) – Observer associated with making the observation, equivalent to OGC OMS ‘observer’
features[].properties.observed_property (string:uri, required) – The phenomenon, or thing, being observed
- Status Codes:
200 OK – success
Activity diagram#
Implementation status#
In development