Published using Google Docs
netCDF
Updated automatically every 5 minutes

Status Report: netCDF

November 2023- April 2024

Ward Fisher,  Hailey Johnson, Ethan Davis

Executive Summary

The netCDF team continues to work towards maintaining the reliability of the netCDF libraries, while keeping one eye forward as to the future needs of our community.  We have continued our community engagement efforts and collaborations whenever and wherever possible; examples of this include our involvement with the Zarr Community meetings and our membership on the Zarr Enhancement Protocol (ZEP) committee.  We have also continued conversation with the HDF group and other community groups working on similar efforts.  

We continue to address the issues associated with the proliferation of new mainstream architectures (Apple Developed M1/2/3/ARM), evolving compilers and standards, and extending our collaborations with tangential, but related, projects (conda-forge libnetcdf feedstock, for example).  

In the past several months, the NetCDF team has participated in a developer exchange program with the Atmospheric Chemistry Observations & Modeling (ACOM) at NCAR.  The ACOM developer, Kyle Shores, was able to significantly modernize the build infrastructure for netCDF-C, freeing up resources for the core development team to work on ncZarr and S3 support, as well as user support and general quality-of-life technical improvements.

Questions for Immediate Committee Feedback

No questions at this time.

Activities Since the Last Status Report

Snapshot of NetCDF Development Status

We are using GitHub tools for C, Fortran and C++ interfaces to provide transparent feature development, handle performance issues, fix bugs, deploy new releases and to collaborate with other developers.  Additionally, we are using docker technology to run netCDF-C, Fortran and C++ regression and continuous integration tests.  We currently have 276 open issues for netCDF-C, 105 open issues for netCDF-Fortran, and 55 open issues for netCDF-C++.  The netCDF Java interface is maintained by the Unidata CDM/TDS group and we collaborate with external developers to maintain the netCDF Python interface.

In the netCDF group, progress has been made in the following areas since the last status report:

Dependencies, challenges, problems and risks include:

Ongoing Activities

We plan to continue the following activities:

New Activities

Improved NetCDF/Zarr Integration

The netCDF team has now released multiple releases of netCDF-C which support the ncZarr protocol.  This work has been well received, and we continue to make improvements.  We are now focused on improving the S3 support for libnetcdf/ncZarr.   Work continues in collaboration with the Zarr community group and the Zarr Enhancement Protocol group.  The netCDF team recognizes the need to improve messaging around the new functionality which has been implemented, and will be working to make these features more widely known.

Over the next three months, we plan to organize or take part in the following:

Over the next twelve months, we plan to organize or take part in the following:

Beyond a one-year timeframe, we plan to organize or take part in the following:

Relevant Metrics

Google Metrics

Google hits reported when searching for a term such as netCDF-4 don't seem very useful over the long term, as the algorithms for quickly estimating the number of web pages containing a specified term or phrase are proprietary and seem to change frequently. However, this metric may be useful at any particular time for comparing popularity among a set of related terms.

Currently, Google hits, for comparison, are:

Google Scholar hits, which supposedly count appearances in peer-reviewed scholarly publications, are:

Strategic Focus Areas

We support the following goals described in Unidata Strategic Plan:

  1. Managing Geoscience Data
    by supporting the use of netCDF and related technologies for analyzing, integrating, and visualizing multidimensional geoscience data; enabling effective use of very large data sets; and accessing, managing, and sharing collections of heterogeneous data from diverse sources.
  2. Providing Useful Tools
    by developing netCDF and related software, and creating regular software releases of the C, C++ and Fortran interfaces; providing long-term support for these tools through the various avenues available to the Unidata staff (Github, eSupport, Stackoverflow, etc).

  1. Supporting People
    by providing expertise in implementing effective data management, conducting training workshops, responding to support questions, maintaining comprehensive documentation, maintaining example programs and files, and keeping online FAQs, best practices, and web site up to date; fostering interactions between community members; and advocating community perspectives at scientific meetings, conferences, and other venues.


Prepared April 2024