Go to file
2016-12-06 11:16:39 -07:00
cxx4 Updated typo, converted to Unix line endings. 2016-12-06 11:11:58 -07:00
docs Corrected an issue with CMakeLists.txt 2016-11-11 15:33:46 -07:00
examples Updated cleanfiles. 2016-05-10 09:16:51 -06:00
m4 Added m4 directory; this will supress a warning otherwise thrown by 'autoreconf -i -f'. 2013-08-07 12:45:49 -06:00
.gitignore Updated the .gitignore. 2015-04-24 16:58:09 -06:00
.travis.yml Updated travis configuration. 2016-12-06 10:37:51 -07:00
cmake_uninstall.cmake.in Adding install/uninstall framework similar to that found in netcdf-c. 2016-01-25 14:49:16 -07:00
CMakeInstallation.cmake Always use CMAKE_CURRENT_{SOURCE|BINARY}_DIR 2016-04-25 17:04:09 +03:00
CMakeLists.txt FIX: cmake directories 2016-06-07 13:09:47 +02:00
configure.ac Use nc-config in configure to check capabilities 2016-08-18 13:56:12 +01:00
COPYRIGHT new 2011-08-17 18:56:14 +00:00
CTestConfig.cmake.in Added coveragte tests, other ctest-related configuration. 2015-04-15 03:29:27 -06:00
CTestCustom.cmake Initisl fleshing out of cmake file in cxx4 directory. 2015-04-13 01:42:05 -06:00
libnetcdf-cxx.settings.in Removed some unrelated stuff in libnetcdf-cxx.settings template. 2015-04-24 16:46:07 -06:00
Makefile.am More work wiring in doxygen with autotools. 2016-01-25 16:13:30 -07:00
ncxx4-config.cmake.in Addressed syntax warning issue. 2016-07-05 10:54:54 -06:00
ncxx4-config.in Use nc-config in configure to check capabilities 2016-08-18 13:56:12 +01:00
netcdf-cxx4.pc.in Fix multilib and underlinking problems in pkg-config files 2014-01-01 18:22:05 +01:00
README.md Updated .travis.yml file. 2015-04-24 16:10:37 -06:00
RELEASE_NOTES.md Updated release notes for https://github.com/Unidata/netcdf-cxx4/issues/41 2016-12-06 11:16:39 -07:00

Build Status

netcdf-cxx4

Official GitHub repository for netCDF-4 C++ library.

Note: The latest release of the historic C++ libraries, netCDF-4.2, may be downloaded from the following page:

Introduction

Lynton Appel, of the Culham Centre for Fusion Energy (CCFE) in Oxfordshire, has developed and contributed a Oxfordshire, has developed and contributed a netCDF-4 C++ library that depends on an installed netCDF-4 C library. The netCDF-4 C++ API was developed for use in managing fusion research data from CCFE's innovative MAST (Mega Amp Spherical Tokamak) experiment.

Appel's C++ implementation is a complete read/write interface for netCDF-4, but can also be used as an alternative to the older netCDF-3 C++ interface, to write classic-format netCDF-3 files as well as netCDF-4 classic model files. The new API is implemented as a layer over the netCDF-4 C interface, which means bug fixes and performance enhancements in the C interface will be immediately available to C++ developers as well. It replaces a previous partial netCDF-4 C++ interface developed by Shanna Forbes.

The new API makes use of standard C++ features such as namespaces, exceptions, and templates, none of which were included in the first netCDF-3 C++ API developed in the mid-90's. The earlier netCDF-3 C++ API is still supported and available in the source distribution, but developers who are thinking of eventually upgrading to use of the enhanced data model should consider using Lynton's new API.

We're grateful for Appel's development and CCFE's contribution of the new open-source code for the netCDF-4 C++ API, and hope C++ developers in the netCDF community will find it useful! Feedback is appreciated, and should be directed to Lynton Appel.

Installation

Installing the C++ interface requires the additional flag --enable-netcdf-4 to be used during the configure stage of the installation, for example enter

  ./configure --enable-cxx-4 [plus other options]

Note that the "configure" script must be generated using

  autoreconf -if

To build the C++ interface guide, change to the cxx4 directory of the distribution and enter

  doxygen

By default, HTML documentation will be installed in cxx4/doc/html; other options may be specified according to the settings contained in the file "Doxyfile" (details of alternative settings are documented at doxygen). Note that as a prerequisite for generating the documentation, the system will need to have doxygen and Graphviz installed.

Examples of usage

Examples codes can be found by selecting the "Examples" tab.