Skip to content

Releases: ioos/compliance-checker

Compliance Checker support for ERDDAP and Hyrax

26 Apr 14:43
f58d5a3
Compare
Choose a tag to compare

This is a patch release that improves the code's PEP8 Compliance. This patch also includes support for compliance checker to connect to more standard OPeNDAP interfaces like ERDDAP's GridDAP and Hyrax.

  • Added windows tests
  • Fixed a bug with loading CF standard name tables
  • Fixed bug in protocol handling that used to fail for Hyrax and ERDDAP Connections
  • Fixed linter checks

Bugfix release

11 Apr 13:49
0fcffb8
Compare
Choose a tag to compare

Windows users had reported issues with floating point numbers raising exceptions at runtime. This patch release includes changes to improve the handling of floating point values and datetime semantics.

  • Improve floating point value handling
  • Remove unnecessary dependency
  • Fix issue with httpretty (Python3)

Minor Release for Bug Fixes

02 Feb 20:03
Compare
Choose a tag to compare

This release includes:

  • Project documentation updates
  • Changes to spelling of acknowledgement in the IOOS checker IAW ACDD/UCDD
  • Fixes date-time ISO-8601 checkers
  • Removes cdm_data_type checks
  • ignore string variables in check_dimensions
  • ignore additional THREDDS-specific global attributes

Major Release 3.0.0

14 Nov 13:24
321d57e
Compare
Choose a tag to compare

Major refactor of the CF Checks

With the 3.0 major release we have reread and changed our interpretation of the
CF specification with the guidance from NCEI and members of NCEI's netCDF team.
Along with these changes we have integrated a much more advanced capability for
the checker to accurately determine feature types for datasets and make
accurate checks based on the type of dataset being checked.

To improve future development we incorporated integration tests from several
different types of datasets found through the IOOS catalog. This includes:

  • SWAN Output
  • ROMS
  • ADCIRC
  • FVCOM
  • GliderDAC Trajectory Profiles
  • Meteorology Station Timeseries
  • DEM Elevation Dataset

In addition to these, we will continue to add more integration datasets to
improve the quality of the compliance checker over time. We looked at each
dataset and compared the results with the specification and adjusted the
checker until we got results that were appropriate.

A perfect score is not only possible, it's the true norm for good data. If a
dataset doesn't have a perfect score there will be very clear guidance for how
to achieve a perfect score.

We also started to add recommendation checks. These checks don't penalize a
score but observe possible problems with the dataset and make recommendations
for how to improve the metadata. For example, if there is a variable that ends
with _bounds but is not referenced by any variable through the bounds
attribute, we will add a corrective action message letting the user know that
we recommend to add a bounds attribute, but no points are taken off.

Changes

  • Each section was refactored to include better feature detection
  • Corrected several major bugs that were related to mis-classification of data
  • Rewrote the scoring to be far more forgiving
  • We added much better grid support. In the past we weren't able to accurately
    recognize grid types, so now if a dataset is a gridded dataset, all of the
    correct chapter 4 and 5 checks will be performed.
  • Code readability and documentation improvements
  • Created a comprehensive suite to assist in working with CF compliant data
    • Feature Detection
    • Methods for getting coordinate systems
    • Methods for finding geophysical variables in an arbitrary dataset
  • Added integration tests which include several datasets from the IOOS Catalog
  • Refactored the checks to have consistent conventions with naming, how we
    iterate, and return types.
  • Added documentation to every single check in CF
  • Several sections were refactored completely in order to take a far simpler
    approach.
  • All grouping of results was removed.

2.3.1

03 Nov 15:09
Compare
Choose a tag to compare

Backports #331 and #334 onto 2.3.0 release to fix issues with flag_masks attribute.

3.0 Release Candidate 1

01 Nov 14:39
Compare
Choose a tag to compare
  • Major refactor of CF Checks for Chapter 1 - 6
  • Inclusion of many more example datasets into unit tests
  • Tighter integration between CF checks and the feature detection introduced by NCEI's checked cfutil.py
  • Fixed several feature mis-identification issues with regards to coordinate checks and reduced-horizontal-grids.
  • Improved result titles and corrective action messages

Minor Version 2.3

03 Oct 19:05
6bfdf39
Compare
Choose a tag to compare

Compliance Checker release notes:

  • Include standard name table version in info string
  • Added description and links to help resources on ccweb
  • Fixed bug enable saving text output from command line
  • Remove unnecessary CF check - check_alternative_coordinates
  • Added support for metadata only checks via .cdl files
  • Removed lingering large netCDF files from the code base
  • Updated the CF Standard names table to v36
  • Wicken updated for IOOS Metadata checker
  • Created a RESTful endpoint for running cc on DAP endpoints in batch file mode
  • Added command line argument to skip a test
  • Added NODC sea names check to gliderDAC
  • Fixes bug that overwrites JSON output when multiple checks are performed

What's new in Compliance Checker 2.3.0:

New Features:
Run compliance checker on metadata files (*.cdl). Testing large NetCDF files
could take a long time. Now you can reduce that time by checking compliance
against a metadata text file representation of the data. Use the NetCDF Utility
ncdump to generate a .CDL file and use the compliance checker against the
metadata file to get your score.

CF standard names are checked against the standard name table version specified
in the global attribute :standard_name_vocabulary. If the version specified is
not the version packaged with compliance checker, that version will be
downloaded and used in the standard name check.

Are there checks that are taking too long to run? Now you can skip checks using
the command line. Use the -s flag and specify the name of the check function
you wish to skip. For example

compliance-checker -s check_high

Enhancements have also been made to the compliance checker web version
https://data.ioos.us/compliance/index.html.

Now you can batch process files hosted on an OPeNDAP server using the new
compliance checker web API. Refer to the wiki for details:
https://github.com/ioos/compliance-checker-web/wiki/API

Descriptions for each of the checkers and helpful resources are now available.

Bug Fixes:

  • Save text output to file from the command line
  • Remove unnecessary CF check - check_alternative_coordinates
  • Updated the packaged CF Standard names table to v36
  • Added NODC sea names check to gliderDAC.
  • Fixes bug that was overwriting JSON output when multiple checks are performed

Minor Release for bug fixes

15 Sep 13:38
9a453b8
Compare
Choose a tag to compare
  • Added type checking to results returned from checkers
  • Added netCDF4 to explicit requirements
  • Default to utf-8 output if encoding is not explicitly set
  • Fixed issue where cf_role variables were being detected as geophysical variables
  • Cleaned up the CLI's parsing of command line arguments
  • Fixed python3 setup errors
  • Added code version information to checker
  • Removed alternate coordinates check
  • Added support for dynamically downloading standard name table
  • Added support for metadata only checks

Release 2.2.0

03 May 16:53
Compare
Choose a tag to compare
  • ACDD 1.3 now supported.
  • A method of selecting checker version has been introduced.
  • Check Suite Name, Version, and other metadata can be defined in the checker class and shown in output.
  • Several outstanding checker bugs have been addressed.
  • Several new checks have been added per Git Hub issues.

Version 2.1

29 Feb 13:40
Compare
Choose a tag to compare
  • Python 3 support
  • Removal of deprecated dependencies
  • Better testing for CF features
  • PEP-8 Cleanup
  • Better messages for suggested actions in CF
  • Bug Fixes