Commit Graph

7545 Commits

Author SHA1 Message Date
Ward Fisher
e4138efa9d
Merge pull request #1851 from brtnfld/master
Replaced deprecated (in 1.8.0) H5Aopen_name with H5Aopen_by_name
2020-10-01 14:25:06 -07:00
Ward Fisher
2b3af8e432
Merge pull request #1852 from DennisHeimbigner/revertfilters.dmh
Mostly revert the filter code to reduce its complexity of use.
2020-10-01 14:13:36 -07:00
Dennis Heimbigner
1ac3f367d1 Revise filters.md to clarify 2020-10-01 11:34:03 -06:00
Dennis Heimbigner
81bd80b993 Slight mod to the incompatibilities section 2020-10-01 11:08:16 -06:00
Dennis Heimbigner
aeb3ac2809 Mostly revert the filter code to reduce its complexity of use.
re: https://github.com/Unidata/netcdf-c/issues/1836

Revert the internal filter code to simplify it. From the user's
point of view, the only visible changes should be:

1. The functions that convert text to filter specs have had their signature reverted and have been moved to netcdf_aux.h
2. Some filter API functions now return NC_ENOFILTER when inquiry is made about some filter.

Internally,the dispatch table has been modified to get rid of the filter_actions
entry and associated complex structures. It has been replaced with
inq_var_filter_ids and inq_var_filter_info entries and the dispatch table
version has been bumped to 3. Corresponding NOOP and NOTNC4 functions
were added to libdispatch/dnotnc4.c. Also, the filter_action entries
in dispatch tables were replaced for all dispatch code bases (HDF5, DAP2,
etc). This should only impact UDF users.

In the process, it became clear that the form of the filters
field in NC_VAR_INFO_T was format dependent, so I converted it to
be of type void* and pushed its management into the various dispatch
code bases. Specifically libhdf5 and libnczarr now manage the filters
field in their own way.

The auxilliary functions for parsing textual filter specifications
were moved to netcdf_aux.h and were renamed to the following:
* ncaux_h5filterspec_parse
* ncaux_h5filterspec_parselist
* ncaux_h5filterspec_free
* ncaux_h5filter_fix8

Misc. Other Changes:

1. Document NUG/filters.md updated to reflect the changes above.
2. All the old data types (structs and enums)
   used by filter_actions actions were deleted.
   The exception is the NC_H5_Filterspec because it is needed
   by ncaux_h5filterspec_parselist.
3. Clientside filters were removed -- another enhancement
   for which no-one ever asked.
4. The ability to remove filters was itself removed.
5. Some functionality needed by nczarr was moved from libhdf5
   to libsrc4 e.g. nc4_find_default_chunksizes
6. All the filterx code was removed
7. ncfilter.h and nc4filter.c no longer used

Misc. Unrelated Changes:

1. The nczarr_test makefile clean was leaving some directories; so
   add clean-local to take care of them.
2020-09-27 12:43:46 -06:00
Scot Breitenfeld
2620c01067 Replaced deprecated (in 1.8.0) H5Aopen_name with H5Aopen_by_name 2020-09-25 12:17:20 -05:00
Ward Fisher
a96899a401
Merge pull request #1849 from DennisHeimbigner/hdf5ros3.dmh
Use the built-in HDF5 byte-range reader, if available.
2020-09-24 16:49:58 -06:00
Dennis Heimbigner
f3218a2e2c Use the built-in HDF5 byte-range reader, if available.
re: Issue https://github.com/Unidata/netcdf-c/issues/1848

The existing Virtual File Driver built to support byte-range
read-only file access is quite old. It turns out to be extremely
slow (reason unknown at the moment).

Starting with HDF5 1.10.6, the HDF5 library has its own version
of such a file driver. The HDF5 developers have better knowledge
about building such a driver and what incantations are needed to
get good performance.

This PR modifies the byte-range code in hdf5open.c so
that if the HDF5 file driver is available, then it is used
in preference to the one written by the Netcdf group.

Misc. Other Changes:

1. Moved all of nc4print code to ncdump to keep appveyor quiet.
2020-09-24 14:33:58 -06:00
Ward Fisher
e9af580db3
Merge pull request #1841 from Unidata/dmh-osxsymbols.wif
PR 1840 + others
2020-09-17 14:29:21 -06:00
Ward Fisher
20ca3c9fe1 Corrected an accidental change. 2020-09-15 17:18:32 -06:00
Ward Fisher
2a8ac8b066 Fix logic for determining if filter tests should be run when shared builds are turned off via autotools. See https://github.com/Unidata/netcdf-c/issues/1829 for more information. 2020-09-15 16:56:17 -06:00
Ward Fisher
85621dd06f Fixe szlib write status message for cmake-based builds. 2020-09-15 15:00:02 -06:00
Ward Fisher
3e9293d40b Working on autoconf-based build on OSX 2020-09-15 14:56:12 -06:00
Ward Fisher
432b8180ed Ensured dependencies are linked against properly. 2020-09-15 14:37:54 -06:00
Ward Fisher
51f2395545 Added nc4print utility to cmake build infrastructure. 2020-09-15 14:25:38 -06:00
Dennis Heimbigner
c07f41db7d Fix issue 1839 -- missing symbols under OSX 2020-09-15 13:19:57 -06:00
Ward Fisher
ff9d1b23ed
Merge pull request #1838 from DennisHeimbigner/emptyfill.dmh
Fix error where not converting fill data
2020-09-14 16:17:54 -06:00
Dennis Heimbigner
33a59e5f53 force check retry 2020-09-12 15:30:42 -06:00
Dennis Heimbigner
2f0a6d22e9 Fix error where not converting fill data
re: Github Issue https://github.com/Unidata/netcdf-c/issues/1826

It turns out that the common get code (NC4_get_vars) in libhdf5
(and libnczarr) has an optimization where it does not attempt to
read from the file if the file is all fill values. Rather it
just fills the output buffer with the fill value.  The problem
is that -- in that case -- it forgets that conversion might still be
needed.  So the conversion never occurs and the raw bits of
the fill data are stored directly into the memory space.

Solution: move some code around to properly do the
conversion no matter how the data was obtained.

Added a test cases nc_test4/test_fillonly.sh and
nczarr_test/test_fillonlyz.sh
2020-09-12 14:49:59 -06:00
Ward Fisher
b5dd57c3a9
Merge pull request #1835 from DennisHeimbigner/dapescape.dmh
Fix URL encoding in DAP2 URL processing
2020-09-09 10:59:01 -06:00
Ward Fisher
15dc540a65
Merge pull request #1837 from Unidata/gh1825-conflicts.wif
Fix conflicts in 1825
2020-09-09 10:58:13 -06:00
Ward Fisher
a89e1f73b8 Merge branch 'ncgenchunks.dmh' of https://github.com/DennisHeimbigner/netcdf-c into master 2020-09-09 10:24:33 -06:00
Ward Fisher
8c49ff1082
Merge pull request #1825 from DennisHeimbigner/nccopyc.dmh
Fix nccopy -c dim/x to actually use the dim/x value.
2020-09-08 16:37:28 -06:00
Dennis Heimbigner
c3c89693c4 Fix URL encoding in DAP2 url processing
re: Github issue https://github.com/Unidata/netcdf-c/issues/1832
and Github issue https://github.com/Unidata/netcdf4-python/issues/1041

Handling of URL escape sequences for some servers
(e.g. http://iridl.ldeo.columbia.edu) appears to be somewhat
non-standard.
In particular, certain characters need escaping that other servers
do not. Fortunately, the changes should also work existing other servers.
2020-09-08 12:41:12 -06:00
Dennis Heimbigner
62a4cc1ae0 Fix nccopy -c dim/x to actually use the dim/x value.
As it was, nccopy -c dim/x was sometimes being ignored. So
modify nccopy to properly take into account. This also required
a change to the nczarr code because it was not applying default
chunking in the same way as libhdf5.

Modify ncdump/tst_nccopy4.sh to test this feature properly.
Also add a similar test to nczarr_test.

Additionally, fix some other things that were causing Visual
Studio builds with testing to not work.
* fix curl testing under CMake to properly handle case
  where DAP is disabled, but byterange support is enabled.
* properly test and/or define uintptr_t
* Convert _O_XXX to O_XXX flags used by open();
2020-09-01 13:44:24 -06:00
Ward Fisher
cb6e990cd1
Merge pull request #1823 from Unidata/reapply-gh1814.wif
Reapply fix supposedly introduced in 1814
2020-08-29 19:18:19 -06:00
Ward Fisher
80cf5e3d79 Modify isnan() operation 2020-08-29 18:42:20 -06:00
Ward Fisher
aad64e715d
Merge pull request #1810 from NOAA-GSD/ejh_fix_att
Add test for using attributes like GFDL FMS does
2020-08-27 16:15:37 -06:00
Ward Fisher
c38c3634f6
Merge pull request #1820 from Unidata/osx-fix.wif
Minor update for OSX
2020-08-26 17:24:59 -06:00
Ward Fisher
b84f1361a4
Merge pull request #1800 from LProx2020/patch-2
Copyediting Updates
2020-08-26 16:33:26 -06:00
Ward Fisher
5541dcf7de Removed unneeded code on OSX. 2020-08-26 16:29:51 -06:00
Ward Fisher
a58f8f6f0e
Merge pull request #1814 from Unidata/revert-1813-revert-1792-nczarr-update1.dmh
Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries""
2020-08-18 15:33:14 -06:00
Ward Fisher
31dee0c4da
Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"" 2020-08-17 19:15:47 -06:00
Ward Fisher
c5355034c5
Merge pull request #1813 from Unidata/revert-1792-nczarr-update1.dmh
Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"
2020-08-17 17:16:34 -06:00
Ward Fisher
16c27ca13f
Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries" 2020-08-17 15:51:01 -06:00
Ward Fisher
c025e85a4a
Merge pull request #1792 from DennisHeimbigner/nczarr-update1.dmh
Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries
2020-08-17 14:22:31 -06:00
Dennis Heimbigner
616812f204
Merge branch 'master' into nczarr-update1.dmh 2020-08-14 13:03:24 -06:00
Ward Fisher
d23a3272a1
Merge pull request #1809 from NOAA-GSD/ejh_fix_test_2
fixed tst_h_par_compress.c
2020-08-13 16:42:11 -06:00
Ward Fisher
665eb151c8
Merge pull request #1811 from magnusuMET/bugfix/m4_out_of_tree
Generate configure files out of tree
2020-08-13 16:40:46 -06:00
Ward Fisher
9944174b96
Merge pull request #1736 from DennisHeimbigner/noopfilterclean.dmh
Make plugin noop1 be distcleaned
2020-08-12 16:18:21 -06:00
Dennis Heimbigner
d85bb6fe20 The big change for this commit is complete the
disengagement of enable-netcdf4 from enable-hdf5.
That is, with the advent of nczarr, it is possible
to turn off hdf5 but still need netcdf-4 enabled
because nczarr uses libsrc4, but not libhdf5.
This change involves a bunch of things:
1. Modify configure.ac and CMakelist to make enable_hdf5
   control if hdf5 support is provided. For back compatibility,
   disable-netcdf4 is treated as disable-hdf5. But internally,
   netcdf4 support is controlled only by the enabling of formats
   that require it.
2. In support of #1, modify .travis.yml to use enable/disable-hdf5
   instead of enable/disable-netcdf4.
3. test_common.in is modified to track selected features,
   including enable-hdf5 and enable-s3-tests. This is used in
   selected tests that mix netcdf-3 and netcdf4 tests.
4. The conflation of USE_HDF5 and USE_NETCDF4 is common in
   code, tests, and build files, so all of those had to be weeded out.
5. It turns out that some of the NC4_dim functions really are HDF5 specific,
   but are not treated as such. So they are moved from nc4dim.c to
   hdf5dim.c or hdf5dispatch.c
6. Some generic functions in libhdf5 can be (and were) moved to libsrc4.
2020-08-12 15:42:50 -06:00
Dennis Heimbigner
8b487baa3a Merge branch 'master' into nczarr-update1.dmh 2020-08-12 15:08:42 -06:00
Magnus Ulimoen
12d86675ef H5Znoop1.c copied to BINARY_DIR instead of SOURCE_DIR 2020-08-12 17:03:33 +02:00
Magnus Ulimoen
9d10e605c2 Move generated file to BINARY_DIR 2020-08-12 16:55:14 +02:00
Magnus Ulimoen
a3f2c5847f Configure netcdf_meta.h directly to BINARY_DIR 2020-08-12 16:14:23 +02:00
Magnus Ulimoen
8f1fc8a73c Generate m4 files out of tree 2020-08-12 16:14:23 +02:00
Edward Hartnett
b3d8a8c613 fixed comment 2020-08-12 07:59:45 -06:00
Edward Hartnett
bfe3313b3a fixed comment 2020-08-12 07:58:25 -06:00
Edward Hartnett
dc47df6b09 fixed up test 2020-08-12 07:54:43 -06:00
Edward Hartnett
b187e359ae adding test for attributes 2020-08-12 07:53:24 -06:00