Quality Flags

Quality flags in CovJSON are represented with a categorical parameter. In this example we use the Argo quality flags:

URI Description
http://mmisw.org/ont/argo/qualityFlag/_0 No quality control was performed
http://mmisw.org/ont/argo/qualityFlag/_1 QC was performed good data
http://mmisw.org/ont/argo/qualityFlag/_2 Probably good data but value may be inconsistent with statistics (differ from climatology)
http://mmisw.org/ont/argo/qualityFlag/_3 Probably bad data (spike-gradient- if other tests passed)
http://mmisw.org/ont/argo/qualityFlag/_4 Bad data
http://mmisw.org/ont/argo/qualityFlag/_5 Value modified during quality control
http://mmisw.org/ont/argo/qualityFlag/_8 Interpolated value
http://mmisw.org/ont/argo/qualityFlag/_9 Missing value

The corresponding categorical parameter then looks like that:

{
  "type" : "Parameter",
  "observedProperty" : {
    "id": "http://mmisw.org/ont/argo/qualityFlag",
    "label" : {
      "en": "Argo Quality Control Flag"
    },
    "categories": [{
      "id": "http://mmisw.org/ont/argo/qualityFlag/_0",
      "label": {
        "en": "No QC was performed"
      },
      "description": {
        "en": "No quality control was performed"
      }
    }, {
      "id": "http://mmisw.org/ont/argo/qualityFlag/_1",
      "label": {
        "en": "Good data"
      },
      "description": {
        "en": "QC was performed good data"
      }
    }, {
      "id": "http://mmisw.org/ont/argo/qualityFlag/_2",
      "label": {
        "en": "Probably good data"
      },
      "description": {
        "en": "Probably good data but value may be inconsistent with statistics (differ from climatology)"
      }
    }, {
      "id": "http://mmisw.org/ont/argo/qualityFlag/_3",
      "label": {
        "en": "Probably bad data"
      },
      "description": {
        "en": "Probably bad data (spike-gradient- if other tests passed)"
      }
    }, {
      "id": "http://mmisw.org/ont/argo/qualityFlag/_4",
      "label": {
        "en": "Bad data"
      }
    }, {
      "id": "http://mmisw.org/ont/argo/qualityFlag/_5",
      "label": {
        "en": "Value modified"
      },
      "description": {
        "en": "Value modified during quality control"
      }
    }, {
      "id": "http://mmisw.org/ont/argo/qualityFlag/_8",
      "label": {
        "en": "Interpolated value"
      }
    }, {
      "id": "http://mmisw.org/ont/argo/qualityFlag/_9",
      "label": {
        "en": "Missing value"
      }
    }]
  },
  "categoryEncoding": {
    "http://mmisw.org/ont/argo/qualityFlag/_0": 0,
    "http://mmisw.org/ont/argo/qualityFlag/_1": 1,
    "http://mmisw.org/ont/argo/qualityFlag/_2": 2,
    "http://mmisw.org/ont/argo/qualityFlag/_3": 3,
    "http://mmisw.org/ont/argo/qualityFlag/_4": 4,
    "http://mmisw.org/ont/argo/qualityFlag/_5": 5,
    "http://mmisw.org/ont/argo/qualityFlag/_8": 8,
    "http://mmisw.org/ont/argo/qualityFlag/_9": 9
  }
}

Open in Playground (Point coverage)

Notes:

  • We added our own short labels for each category to make visualization in clients more convenient.
  • The "Missing value" category is not strictly necessary in CovJSON as this is also represented by null in range values. If however there would be specific distinguished reasons for a missing value (e.g. instrument failure, data corruption) then such categories are indeed useful.
  • Since there are official URIs for all the Argo quality flags the above translation was straightforward. If this was not the case then such URIs should be created first. Otherwise, a simple arbitrary string may be used for "id" as well, e.g. "bad" and "good". The advantage of using URIs is that clients have a better chance of understanding and working with the flags. The data becomes more interoperable.

results matching ""

    No results matching ""