Releases: ioos/compliance-checker
Compliance Checker support for ERDDAP and Hyrax
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
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
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
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
3.0 Release Candidate 1
- 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
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
- 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
- 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
- Python 3 support
- Removal of deprecated dependencies
- Better testing for CF features
- PEP-8 Cleanup
- Better messages for suggested actions in CF
- Bug Fixes