Go to file
Dennis Heimbigner 53464e8963 Allow optional use of libxml2
re: https://github.com/Unidata/netcdf-c/issues/2119

H/T to [Egbert Eich](https://github.com/e4t) and [Bas Couwenberg](https://github.com/sebastic) for this PR.

It is undesirable to make netcdf be dependent on the availability
of libxml2, but it is desirable to allow its use if available.

In order to do this, a wrapper API (include/ncxml.h) was constructed
that supports either ezxml or libxml2 as the implementation.
Additionally, the xml support code was moved to a new directory
netcdf-c/libncxml.

Primary changes:
* Create a new sub-directory named netcdf-c/libncxml to hold all the xml implementation code.
* Move ezxml.c and ezxml.h to libncxml
* Create a wrapper API -- include/ncxml.h
* Create an implementation, ncxml_ezxml.c to support use of ezxml.
* Create an implementation, ncxml_xml2.c to support use of libxml2.
* Add a check for libxml2 in configure.ac and CMakeLists.txt
* Modify libdap to use the wrapper API instead of ezxml directly.

Misc. Other Changes:
* Change include/netcdf_json.h from built source to be part of the distribution.
2021-11-01 22:37:05 -06:00
.github remove actions debug 2021-09-28 14:09:38 -06:00
cmake Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
conda.recipe
ctest_scripts
dap4_test ckp 2021-10-26 22:52:23 -06:00
docs Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
examples Remove need for HDF5-1.6 API being defined 2021-04-28 13:59:24 -06:00
fuzz Adds fuzz target for oss-fuzz integration 2021-03-31 11:27:27 +02:00
h5_test Remove need for HDF5-1.6 API being defined 2021-04-28 13:59:24 -06:00
hdf4_test
include Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
libdap2 Merge branch 'main' into ejh_quantize_2 2021-09-07 10:44:45 -06:00
libdap4 Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
libdispatch Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
libhdf4 perparing to apply bitgroom algorithm 2021-08-25 01:31:26 -06:00
libhdf5 Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
liblib Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
libncpoco Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
libncxml Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
libnczarr Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
libsrc Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
libsrc4 Merge branch 'main' into ejh_quantize_2 2021-09-07 10:44:45 -06:00
libsrcp adding quantize functions to all the dispatch tables 2021-08-24 01:26:44 -06:00
nc_perf tinker with data algorithm for tst_compress_par.c 2021-09-09 07:53:55 -06:00
nc_test Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
nc_test4 Merge branch 'master' into zarrs3.dmh 2021-10-07 15:10:03 -06:00
ncdap_test Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
ncdump Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
ncgen update merge 2021-10-26 20:53:05 -06:00
ncgen3 Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
nctest
nczarr_test Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
NUG
oc2 Fix FreeBSD fileno problem in the ncgen parsers 2021-09-28 14:03:19 -06:00
plugins (1) improve INI parser (2) Fix make discheck 2021-09-30 13:45:09 -06:00
unit_test Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
.gitignore Fix JSON quoted string processing in libnczarr 2021-05-06 16:39:44 -06:00
acinclude.m4
appveyor.yml unblock dmh appveyor 2020-12-02 18:17:07 -07:00
bootstrap
cmake_uninstall.cmake.in
CMakeInstallation.cmake
CMakeLists.txt Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
COMPILE.cmake.txt
config.h.cmake.in Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
config.h.cmake.in.old-works
configure.ac Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
COPYRIGHT
CTestConfig.cmake.in
CTestCustom.cmake
dods.m4
FixBundle.cmake.in
INSTALL.md
lib_flags.am Fix out of tree builds with configure - add $(top_builddir)/include to include directory search 2021-04-10 17:57:55 -06:00
libnetcdf.settings.in Merge branch 'master' into ejh_quantize_2 2021-08-26 23:05:59 -06:00
Makefile.am Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
mclean
nc-config.cmake.in
nc-config.in
netcdf.pc.in
netCDFConfig.cmake.in
PostInstall.cmake
postinstall.sh.in
README.md Update links to netCDF-java documentation. 2021-02-26 15:11:10 -07:00
RELEASE_NOTES.md Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
test_common.in Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
test_prog.c
test-driver-verbose
travis.yml Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
wjna

Unidata NetCDF

Build Status Coverity Scan Build Status

About

The Unidata network Common Data Form (netCDF) is an interface for scientific data access and a freely-distributed software library that provides an implementation of the interface. The netCDF library also defines a machine-independent format for representing scientific data. Together, the interface, library, and format support the creation, access, and sharing of scientific data. The current netCDF software provides C interfaces for applications and data. Separate software distributions available from Unidata provide Java, Fortran, Python, and C++ interfaces. They have been tested on various common platforms.

Properties

NetCDF files are self-describing, network-transparent, directly accessible, and extendible. Self-describing means that a netCDF file includes information about the data it contains. Network-transparent means that a netCDF file is represented in a form that can be accessed by computers with different ways of storing integers, characters, and floating-point numbers. Direct-access means that a small subset of a large dataset may be accessed efficiently, without first reading through all the preceding data. Extendible means that data can be appended to a netCDF dataset without copying it or redefining its structure.

Use

NetCDF is useful for supporting access to diverse kinds of scientific data in heterogeneous networking environments and for writing application software that does not depend on application-specific formats. For information about a variety of analysis and display packages that have been developed to analyze and display data in netCDF form, see

More information

For more information about netCDF, see

Latest releases

You can obtain a copy of the latest released version of netCDF software for various languages:

Copyright and licensing information can be found here, as well as in the COPYRIGHT file accompanying the software

Installation

To install the netCDF-C software, please see the file INSTALL in the netCDF-C distribution, or the (usually more up-to-date) document:

Documentation

A language-independent User's Guide for netCDF, and some other language-specific user-level documents are available from:

A mailing list, netcdfgroup@unidata.ucar.edu, exists for discussion of the netCDF interface and announcements about netCDF bugs, fixes, and enhancements. For information about how to subscribe, see the URL

Feedback

We appreciate feedback from users of this package. Please send comments, suggestions, and bug reports to support-netcdf@unidata.ucar.edu.