Commit Graph

8066 Commits

Author SHA1 Message Date
Ward Fisher
0a4f4e16ed
Merge pull request #2098 from DennisHeimbigner/fortcache.dmh
Make the fortran cache API always be defined.
2021-09-07 10:30:00 -06:00
Ward Fisher
8eb71290eb
Merge pull request #2101 from DennisHeimbigner/zarrfilters.dmh
Add filter support to NCZarr
2021-09-07 10:28:28 -06:00
Dennis Heimbigner
05167d1860 Update Release Notes 2021-09-02 17:07:00 -06:00
Dennis Heimbigner
11fe00ea05 Add filter support to NCZarr
Filter support has three goals:

1. Use the existing HDF5 filter implementations,
2. Allow filter metadata to be stored in the NumCodecs metadata format used by Zarr,
3. Allow filters to be used even when HDF5 is disabled

Detailed usage directions are define in docs/filters.md.

For now, the existing filter API is left in place. So filters
are defined using ''nc_def_var_filter'' using the HDF5 style
where the id and parameters are unsigned integers.

This is a big change since filters affect many parts of the code.

In the following, the terms "compressor" and "filter" and "codec" are generally
used synonomously.

### Filter-Related Changes:
* In order to support dynamic loading of shared filter libraries, a new library was added in the libncpoco directory; it helps to isolate dynamic loading across multiple platforms.
* Provide a json parsing library for use by plugins; this is created by merging libdispatch/ncjson.c with include/ncjson.h.
* Add a new _Codecs attribute to allow clients to see what codecs are being used; let ncdump -s print it out.
* Provide special headers to help support compilation of HDF5 filters when HDF5 is not enabled: netcdf_filter_hdf5_build.h and netcdf_filter_build.h.
* Add a number of new test to test the new nczarr filters.
* Let ncgen parse _Codecs attribute, although it is ignored.

### Plugin directory changes:
* Add support for the Blosc compressor; this is essential because it is the most common compressor used in Zarr datasets. This also necessitated adding a CMake FindBlosc.cmake file
* Add NCZarr support for the big-four filters provided by HDF5: shuffle, fletcher32, deflate (zlib), and szip
* Add a Codec defaulter (see docs/filters.md) for the big four filters.
* Make plugins work with windows by properly adding __declspec declaration.

### Misc. Non-Filter Changes
* Replace most uses of USE_NETCDF4 (deprecated) with USE_HDF5.
* Improve support for caching
* More fixes for path conversion code
* Fix misc. memory leaks
* Add new utility -- ncdump/ncpathcvt -- that does more or less the same thing as cygpath.
* Add a number of new test to test the non-filter fixes.
* Update the parsers
* Convert most instances of '#ifdef _MSC_VER' to '#ifdef _WIN32'
2021-09-02 17:04:26 -06:00
Dennis Heimbigner
424ba45483 ENOTNC4 -> ENOTBUILT 2021-09-01 17:27:29 -06:00
Dennis Heimbigner
b81f8b676a Make the fortran cache API always be defined.
re: Issue https://github.com/Unidata/netcdf-c/issues/2096

The methods nc_set_var_chunk_cache_ints and nc_def_var_chunking_ints
are Fortran entry points for accessing the cache. They are not defined
if netcdf-c is built with --disable-hdf5.

Fix is to create dummy versions that do nothing and return NC_NOERR
when invoked. These dummy versions are defined when USE_HDF5 is false.
2021-09-01 14:10:02 -06:00
Ward Fisher
09e0e04227
Merge pull request #2095 from Unidata/condaforge-hdf5-version-check.wif
Revamping the HDF5_VERSION logic.
2021-08-31 13:45:33 -06:00
Ward Fisher
9e6b6bcd6b Correct logic error. 2021-08-31 09:51:19 -06:00
Ward Fisher
5d5a7c4f6e Correct an issue with appveyor builds, specific to systems where a bash shell is not available. 2021-08-31 09:27:51 -06:00
Ward Fisher
d0561d6a58 Caching HDF5_VERSION string for diagnostic purposes. 2021-08-30 16:29:40 -06:00
Ward Fisher
a777d97cb4 Added logic for checking the version when the HDF5 libraries and include directories are set explicitly. 2021-08-30 15:37:21 -06:00
Ward Fisher
a76245df73 Plugged a hole where HDF5_VERSION wouldn't be checked against minimum HDF5 required version. 2021-08-30 14:21:37 -06:00
Ward Fisher
ebbe3b438e Revamping the HDF5_VERSION logic. 2021-08-30 09:10:14 -06:00
Ward Fisher
f4349efa66
Merge pull request #2087 from edwardhartnett/ejh_logging_info 2021-08-26 17:09:49 -06:00
Ward Fisher
6ea721dddc
Merge pull request #2093 from Unidata/gh2091.wif
2091 + Github Action to test
2021-08-25 16:03:27 -06:00
Ward Fisher
11040c59d3 Merge remote-tracking branch 'origin/master' into gh2091.wif 2021-08-25 15:03:13 -06:00
Ward Fisher
9d2e065f41 Correct a typo. 2021-08-25 14:58:35 -06:00
Ward Fisher
18086dae10 Correct a typo in the github actions yaml file. 2021-08-25 14:32:01 -06:00
Ward Fisher
7ee0281c74 Test dependency on one-offs updated. 2021-08-25 14:31:09 -06:00
Ward Fisher
48d943864d Syntax debugging. 2021-08-25 14:28:59 -06:00
Ward Fisher
d6f06bf3d6 A bit more twiddling of the github actions workflow. 2021-08-25 14:25:41 -06:00
Ward Fisher
e85d95702e Attempt at test orchestration to avoid a race condition when running tests in parallel. 2021-08-25 13:33:49 -06:00
Ward Fisher
fc5376222b
Merge pull request #2094 from DennisHeimbigner/longname2.dmh
Make Issue https://github.com/Unidata/netcdf-c/issues/2077 work when build is repeated.
2021-08-25 13:16:35 -06:00
Ward Fisher
8fc52da9d7 Thanks to newer ctest functionality, if ctest tests fail, re-run just the failed ones with more verbose output. 2021-08-25 12:43:04 -06:00
Dennis Heimbigner
5041e87be7 Update release notes 2021-08-25 12:40:01 -06:00
Dennis Heimbigner
a575fc27d4 Make Issue https://github.com/Unidata/netcdf-c/issues/2077 work when build is repeated.
re: https://github.com/Unidata/netcdf-c/pull/2075

The long file name fix fails when the build is manually repeated
because the source file has already been renamed. Solution is to
test if the dest file exists or not before doing the rename.
This is apparently not a problem for automake because it uses
AC_CONFIG_LINK, which uses link/copy instead of rename.
2021-08-25 12:37:17 -06:00
Ward Fisher
40c3fc2169 Reverse GA workflow. Run the one-off tests first and then run the full test matrix. This should shorten the test/failure cycle. 2021-08-25 11:16:47 -06:00
Ward Fisher
912fd7574c Modify GA workflow a bit. 2021-08-24 15:22:20 -06:00
Dennis Heimbigner
4f37d1a826 Make Issue https://github.com/Unidata/netcdf-c/issues/2077 work when build is repeated.
re: https://github.com/Unidata/netcdf-c/pull/2075

The long file name fix fails when the build is manually repeated
because the source file has already been renamed. Solution is to
test if the dest file exists or not before doing the rename.
2021-08-24 15:11:26 -06:00
Ward Fisher
5bcf91f880 Correct spacing issue in GA yaml file. 2021-08-24 15:07:10 -06:00
Ward Fisher
37d6cc9191 Propagate github actions tests into cmake-based stanza. 2021-08-24 14:40:13 -06:00
Ward Fisher
1376067870 Added a one-off stanza for autoconf-based tests on Github Actions. 2021-08-24 14:26:28 -06:00
Ward Fisher
f235dcfdb2 Merge branch 'manyurls.dmh' of https://github.com/DennisHeimbigner/netcdf-c into gh2091.wif 2021-08-24 14:14:42 -06:00
Ward Fisher
eff534124c
Merge pull request #2092 from Unidata/add-unidata-logo
Update Doxygen documentation
2021-08-24 13:01:06 -06:00
Ward Fisher
ee2c43ebc0 Added uniLogo.png to make dist. 2021-08-24 12:50:21 -06:00
Ward Fisher
5c39deed93 Remove obsolete doxygen tags. 2021-08-24 12:42:32 -06:00
Ward Fisher
93245509bb Update footer.html and Doxyfile to use local Unidata image. 2021-08-24 12:38:40 -06:00
Dennis Heimbigner
d1d495e47b Adding missing file ncdap_test/manyurls.h
re: Github Issue: https://github.com/Unidata/netcdf-c/issues/2085

The file ncdap_test/manyurls.h was not added to the repository.
It is controlled by the --enable-dap-long-tests option.
Solution: add the file.
2021-08-24 12:27:54 -06:00
Ward Fisher
5060cc11f7 Update windows binary download link url. 2021-08-24 12:19:04 -06:00
Ward Fisher
48a14fe84a Replace source for Unidata logo. 2021-08-24 11:39:19 -06:00
Edward Hartnett
00cabb9486 added info about logging to build summary, fixed info about byterange in build summary 2021-08-24 00:19:41 -06:00
Edward Hartnett
310896a5d3 added info about logging to build summary, fixed info about byterange in build summary 2021-08-24 00:19:22 -06:00
Edward Hartnett
0218fc6e54 added info about logging to build summary, fixed info about byterange in build summary 2021-08-24 00:17:03 -06:00
Ward Fisher
e9175090ec
Merge pull request #2075 from Unidata/v4.8.1-wellspring.wif
v4.8.1 Wellspring changes to merge back upstream
2021-08-20 10:37:24 -06:00
Ward Fisher
5e431b34cd
Merge pull request #2076 from mathstuf/findhdf5-module-less-version
cmake: extract the HDF5 version when finding HDF5 manually
2021-08-20 10:37:01 -06:00
Ward Fisher
12b9c9049b
Merge pull request #2082 from edwardhartnett/ejh_hdf5_12
added 1.12.1 to hdf5 versions built by GitHub actions
2021-08-20 10:28:08 -06:00
Edward Hartnett
e8d3198a77 added commas 2021-08-20 05:46:22 -06:00
Edward Hartnett
5c23e72e28 added 1.12.1 to hdf5 versions built by GitHub actions 2021-08-20 05:44:43 -06:00
Ward Fisher
417de618e8 Corrected a syntax issue with shell scripts invoked by cmake that could result in a false positive. 2021-08-18 11:48:39 -06:00
Ward Fisher
24411c429e Update cmake-based builds in support of https://github.com/Unidata/netcdf-c/issues/2077 2021-08-18 11:40:09 -06:00