Skip to content
Official GitHub repository for netCDF-C++ libraries and utilities.
C++ C CMake M4 Other
Branch: master
Clone or download
WardF Merge pull request #70 from Unidata/revert-68-move-semantics
Revert "Implement move semantics for NcFile/NcGroup (fixes #60)"
Latest commit d6ccd69 Jul 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cxx4
docs Corrected an issue with CMakeLists.txt Nov 11, 2016
examples Updated cleanfiles. May 10, 2016
m4
plugins More plugin infrastructure. Jun 21, 2019
.gitignore Updated the .gitignore. Apr 24, 2015
.travis.yml
CMakeInstallation.cmake Always use CMAKE_CURRENT_{SOURCE|BINARY}_DIR Apr 25, 2016
CMakeLists.txt Wiring in support for detecting filter support. Jun 24, 2019
COPYRIGHT new Aug 17, 2011
CTestConfig.cmake.in Added coveragte tests, other ctest-related configuration. Apr 15, 2015
CTestCustom.cmake Initisl fleshing out of cmake file in cxx4 directory. Apr 13, 2015
Makefile.am More work wiring in doxygen with autotools. Jan 25, 2016
README.md Use https for URL in README Dec 26, 2017
RELEASE_NOTES.md Updated release notes. Jun 19, 2018
cmake_uninstall.cmake.in
configure.ac Wiring in support for detecting filter support. Jun 24, 2019
libnetcdf-cxx.settings.in Removed some unrelated stuff in libnetcdf-cxx.settings template. Apr 24, 2015
ncxx4-config.cmake.in Whitespace cleanup ncxx4-config Jun 7, 2019
ncxx4-config.in
netcdf-cxx4.pc.in Fix multilib and underlinking problems in pkg-config files Jan 1, 2014

README.md

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.

You can’t perform that action at this time.