Skip to content

Major Release 3.0.0

Compare
Choose a tag to compare
@lukecampbell lukecampbell released this 14 Nov 13:24
321d57e

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.