QA/QC in SOS services
Incorporating QA/QC into SOS services
Goal
- Describe QA/QC processing done by DataProvider in SensorML documentation of instrumentation and systems
- Make available QA/QC data in the output response of GetObservation requests at the DataProvider's discretion
- Filter out bad data based on QA/QC processing at the DataProvider's discretion
- Add QA/QC functionality to existing Tethys cookbook implemtations
- Enable Dynamic QA/QC processing via SesnorML ProcessChains and Processing engines
- Enable Discovery of existing Processes and Tests
Road Map
- DataProviders organize and describe their QA/QC processing in terms of SensorML <input>, <output>, and <parameter> elements
- DataProviders configure SensorML ProcessChains that link the various components of their QA/QC algorithms together
- Common Processes and Tests may be registered in an ontology and reused by multilple providers- i.e. TimeContinuityCheck
- Processes, Tests, and terms that are unique to a certain DataProvider should be registered in a Semantic ontology so that it may be resolvable
Resources
- Martha's Vineyard Coastal Observatory (MVCO) - Real time and archived observations from an Acoustic Doppler Profiler. QA/QC and processing algorithms avaiable from SOS DescribeSensor operation:
http://vastserver.nsstc.uah.edu/vastGC/adcp?service=SOS&version=1.0&request=GetCapabilities - University of South Florida Waves SOS - http://compsdev1.marine.usf.edu/cgi-bin/sos/v1.0/oostethys_sos.cgi
- USF Currents SOS - coming soon
- UVA Waves SOS - coming soon
Organization
- QARTOD - http://nautilus.baruch.sc.edu/twiki/bin/view
- Q2O (Qartod-to-OGC) - http://q2o.whoi.edu/
Links
- Draft implementation of QA/QC for ADCP Waves data Processing at Martha's Vineyard Coastal Observatory- this version continues to undergo minor modifications, and should be finalized soon: http://q2o.whoi.edu/node/127
- QARTOD Test Descriptions: http://cdip.ucsd.edu/documents/index/product_docs/qc_summaries/waves/waves_table.php
- Template files for ProcessModel and ProcessChain. ProcessModel is used for Atomic Processes that are performed on your data. IN other words, the Process cannot be broken down into smaller pieces. A ranngeCheck on a single value is an example of a ProcessModel. ProcessChain is used for Composite processes, composed of other ProcessChains and ProcessModels.

