Saturday, 13 January 2007
Developing a C++ interface for netCDF-4
The network common data form (netCDF) was created by Unidata at the University Corporation for Atmospheric Research to simplify data access and sharing in the atmospheric science community. Even though the current full release of netCDF known as netCDF-3 has proven to be successful, increasing data complexity and user demands have necessitated a new release of netCDF with improved functionality and the ability to store user defined data types. With this in mind Unidata created netCDF-4 which features all the functionality of netCDF-3 as well as more flexible ways to add data and better support for custom data structures. This implementation adopts simplified aspects of another more complex data model know as HDF5. At present netCDF-4 interfaces exist for C, and Fortran, however none exists for C++. This project's aim was to design and partially implement a C++ interface for netCDF-4. The netCDF-4 C++ interface was implemented as a thin layer on top of the netCDF-4 C interface; its design however allows all the functionality of a full C++ implementation of the interface. When fully implemented the netCDF-4 C++ interface will allow data providers with a preference for C++ to take advantage of the new features netCDF-4 offers for creating portable, self-describing datasets.