Presentation is loading. Please wait.

Presentation is loading. Please wait.

IOOS Compliance Checker Luke Campbell, Software Engineer, RPS ASA.

Similar presentations


Presentation on theme: "IOOS Compliance Checker Luke Campbell, Software Engineer, RPS ASA."— Presentation transcript:

1 IOOS Compliance Checker Luke Campbell, Software Engineer, RPS ASA

2 Background 2 We needed a tool that would validate data with the standards we used: ACDD CF 1.6 We needed a tool that could conform to how standards are implemented. These standards aren't satisfied in a simple manner (i.e. true/false) There are varying levels of compliance for our standards

3 Enter the IOOS Compliance Checker 2 We tried to solve the following problems: A command line based tool that could be perform quick metadata checks Capable of generating human readable reports Supports different degrees of compliance An extensible framework that could be extended to support future standards

4 Where we are today 2 The compliance checker is a very active project that is still under development The project is actively being contributed to by 7 developers from different organizations and each have different goals for the project. There is also an active fork by JPL

5 Compliance Checker Design 2

6 Getting Started 2 The latest version of Compliance Checker is 1.1.1 Has support for Unix and Windows platforms For windows installations we recommend using Anaconda and using the "IOOS" binstar channel which includes the latest version of Compliance Checker Unix platforms that have python can install compliance checker with a pip install compliance-checker Anaconda users can install compliance checker with a conda install compliance-checker

7 Using Compliance Checker 2 usage: cchecker.py [-h] [--test {gliderdac,acdd,cf,ioos}] [--criteria [{lenient,normal,strict}]] [--verbose] dataset_location [dataset_location...] positional arguments: dataset_location Defines the location of the dataset to be checked. optional arguments: -h, --help show this help message and exit --test {gliderdac,acdd,cf,ioos}, -t {gliderdac,acdd,cf,ioos}, --test= {gliderdac,acdd,cf,ioos}, -t= {gliderdac,acdd,cf,ioos} Select the Checks you want to perform. --criteria [{lenient,normal,strict}], -c [{lenient,normal,strict}] Define the criteria for the checks. Either Strict, Normal, or Lenient. Defaults to Normal. --verbose, -v Increase output. May be specified up to three times.

8 Criteria 2 The compliance checker has three degrees of "leniency". Each degree corresponds to meeting the priority of each check defined by the corresponding standard: lenient only checks the high priority checks normal checks high and medium priority checks strict checks all: high, medium and low priority checks For example ACDD 1.1 has a suggested attributes section which includes a "publisher_name". Compliance checker considers the suggested section a low priority. If a dataset does not contain the "publisher_name" global attribute the dataset will only fail if the criteria is set to strict.

9 Demo 2 GLOS Datasets CF cchecker.py -t cf --criteria normal http://tds.glos.us/thredds/dodsC/SST/LakeErieSST-Agg GliderDAC cchecker.py -t gliderdac --criteria strict SG609_20150318T231830_delayed_OLD.nc cchecker.py -t gliderdac --criteria strict SG609_20150318T231830_delayed.nc cchecker.py -t acdd --criteria strict SG609_20150318T231830_delayed.nc CBIBS cchecker.py -t acdd --criteria normal cbibs-Currents_44043_2014-08-01.nc cchecker.py -t cf --criteria normal cbibs-Currents_44043_2014-08-01.nc MARACOOS Station cchecker.py -t cf --criteria strict station_700_2015_02_26.nc

10 Future 2 HTML Output Plugin based system to improve extendability More control over checks Web Service (Currently under discussion) NCEI Archiving Compliance Checking

11 Support IOOS Compliance Checker 2 You can help us by using the compliance checker. If you have a dataset that fails but you think it should pass, please initiate a discussion. Our strict interpretation of the standards are not perfect. The standards are not perfect and don't cover every situation neatly.

12 Questions? 2 Image Source XKCD: https://xkcd.com/927/https://xkcd.com/927/


Download ppt "IOOS Compliance Checker Luke Campbell, Software Engineer, RPS ASA."

Similar presentations


Ads by Google