ioos / compliance-checker

Python tool to check your datasets against compliance standards
http://ioos.github.io/compliance-checker/
Apache License 2.0
110 stars 59 forks source link

Feedback from user on v 3.0.0 compliance checker #448

Closed MathewBiddle closed 7 years ago

MathewBiddle commented 8 years ago

The following comments are in regards to the latest v 3.0.0 compliance checkers when checking the following file: http://data.nodc.noaa.gov/thredds/catalog/testdata/mbiddle/catalog.html?dataset=testdata/mbiddle/PR101.ocean.001m.merged.nc

1) the CF1.6 test is failing to recognize variable names listed in the ancillary_variables attribute (in this case for QC status_flag variables). example: conductivity:ancillary_variables = "conductivity_qc conductivity_qaqc" ; In this case, conductivity_qc and conductivity_qaqc are both variables in the dataset, but we get the "Ancillary Variables defined by conductivity" error, and the "conductivity_qc is not a variable in this dataset" corrective action.

2) The NCEI plug-in is still reporting missing "valid_min" and "valid_max" variable attributes as errors, even when the corresponding "valid_range" variable attribute exists.

3) In the the ioos (0.1) test "missing units variable attribute" is showing as an error for quality_flags, and variables like station, platform, instrument, crs, etc. Can this be clarified? CF1.6 says units attributes may be omitted for dimensionless variables, and it's not clear what units attributes might work (or what they might mean) for quality flags or a string-valued scalar coordinate variable like our "station" variable.

4) the ioos (0.1) test seems to assume a variable name of "platform" for the variable containing attributes related to "IOOS concepts" like "Station Description", "Station ID", "Station Long Name", Station Short Name", "Station WMO ID". In our case we are using "station" as a variable name so all these concepts generate errors.

jbosch-noaa commented 7 years ago

@lukecampbell - Any progress on these issues?

lukecampbell commented 7 years ago

My goal is to continue to accept issues and any that can be addressed in the very short term can be addressed but more complicated issues we'll need to collect and address during milestone development cycles. These issues are likely not something we can correct in the immediate future.

lukecampbell commented 7 years ago

I'll need to break this issue into 4 separate issues, and the second one I'll need to put in the NCEI plugin repo.

Issues 3 and 4 are for a checker that we haven't supported fully which is why its version is 0.1 so it's very likely it's not correct. I think with the IOOS Check, when we get to implementing it fully, is to support the IOOS Metadata and crosswalk checks, right now its implementation was a snapshot of metadata we were collecting from 2012.

bobfleming commented 7 years ago

Note: #1 corresponds to issue #464 submitted later, https://github.com/ioos/compliance-checker/issues/464 can disregard.

benjwadams commented 7 years ago

1/#464 was fixed by #514

Bobfrat commented 7 years ago

2) has been moved to the NCEI plugin here 3) and 4) are handled as part of the new IOOS 1.1 checker