re: Issue The byterange handling of the following URLS fails. ### Problem 1: "https://crudata.uea.ac.uk/cru/data/temperature/HadCRUT.4.6.0.0.median.nc#mode=bytes" It turns out that byterange in hdf5 has two possible targets: S3 and not-S3 (e.g. a thredds server or the crudata URL above). Each uses a different HDF5 Virtual File Driver (VFD). I incorrectly set up the byterange code in libhdf5 so that it would choose one or the other of the two VFD's for any netcdf-c library build. The fix is to allow it to choose either one at run-time. ### Problem 2: "https://noaa-goes16.s3.amazonaws.com/ABI-L1b-RadF/2022/001/18/OR_ABI-L1b-RadF-M6C01_G16_s20220011800205_e20220011809513_c20220011809562.nc#mode=bytes,s3" When given what appears to be an S3-related URL, the netcdf-c library code converts it into a canonical, so-called "path" format. In casing out the possible input URL formats, I missed the case where the host contains the bucket ("noaa-goes16"), but not the region. So the fix was to check for this case. ## Misc. Related Changes 1. Since S3 is used in more than just NCZarr, I changed the automake/cmake options to replace "--enable-nczarr-s3" with "--enable-s3", but keeping the former option as a synonym for the latter. This also entailed cleaning up libnetcdf.settings WRT S3 support 2. Added the above URLS as additional test cases ## Misc. Un-Related Changes 1. CURLOPT_PUT is deprecated in favor to CURLOPT_UPLOAD 2. Fix some minor warnings ## Open Problems * Under Ubuntu, either libcrypto or aws-sdk-cpp has a memory leak. |
||
---|---|---|
.github | ||
cmake | ||
conda.recipe | ||
ctest_scripts | ||
dap4_test | ||
docs | ||
examples | ||
fuzz | ||
h5_test | ||
hdf4_test | ||
include | ||
libdap2 | ||
libdap4 | ||
libdispatch | ||
libhdf4 | ||
libhdf5 | ||
liblib | ||
libncpoco | ||
libncxml | ||
libnczarr | ||
libsrc | ||
libsrc4 | ||
libsrcp | ||
nc_perf | ||
nc_test | ||
nc_test4 | ||
ncdap_test | ||
ncdump | ||
ncgen | ||
ncgen3 | ||
nctest | ||
nczarr_test | ||
NUG | ||
oc2 | ||
plugins | ||
unit_test | ||
.gitignore | ||
acinclude.m4 | ||
appveyor.yml | ||
bootstrap | ||
cmake_uninstall.cmake.in | ||
CMakeInstallation.cmake | ||
CMakeLists.txt | ||
COMPILE.cmake.txt | ||
config.h.cmake.in | ||
config.h.cmake.in.old-works | ||
configure.ac | ||
COPYRIGHT | ||
CTestConfig.cmake.in | ||
CTestCustom.cmake | ||
dods.m4 | ||
FixBundle.cmake.in | ||
INSTALL.md | ||
lib_flags.am | ||
libnetcdf.settings.in | ||
Makefile.am | ||
mclean | ||
nc-config.cmake.in | ||
nc-config.in | ||
netcdf.pc.in | ||
netCDFConfig.cmake.in | ||
PostInstall.cmake | ||
postinstall.sh.in | ||
README.md | ||
RELEASE_NOTES.md | ||
test_common.in | ||
test_prog.c | ||
test-driver-verbose | ||
wjna |
Unidata NetCDF
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
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:
- Language-independent User's Guide
- NetCDF-C Tutorial
- Fortran-90 User's Guide
- Fortran-77 User's Guide
- netCDF-Java/Common Data Model library
- netCDF4-python
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.