Commit Graph

886 Commits

Author SHA1 Message Date
Dennis Heimbigner
44d0dcaad2 Add support for multiple filters per variable.
re: https://github.com/Unidata/netcdf-c/issues/1584

Support has been added for multiple filters per variable.  This
affects a number of components in netcdf. The new APIs are
documented in NUG/filters.md.

The primary changes are:
* A set of new functions are provided (see __include/netcdf_filter.h__).
    - Obtain a list of the filters associated with a variable
    - Obtain the parameters for a specific filter.
* The existing __nc_inq_var_filter__ function now returns info
  about the first defined filter.
* The utilities (ncgen, ncdump, and nccopy) now support
  an extended format for specifying a sequence of filters.
  The general form is __<filter>|<filter>..._.
* The ncdump **_Filter** attribute now dumps a list of all the
  filters associated with a variable using the above new format.
* Filter specifications can now use a filter name instead of number
  for filters known to the netcdf library, which in turn is taken
  from the HDF5 filter registration page.
* New errors are defined: NC_EFILTER and NC_ENOFILTER. The latter
  is returned if an attempt is made to access an unknown filter.
* Internally, the dispatch table has been extended to add a function
  to handle all of the filter functions.
* New, filter-related, tests were added to nc_test4.
* A new plugin was added to the plugins directory to help with testing.

Notes:
1. The shuffle and fletcher32 filters are not part of the multifilter system.

Misc. changes:
1. A debug module was added to libhdf5 to help catch error locations.
2020-02-16 12:59:33 -07:00
Edward Hartnett
8b9298c58d more checking in 3D test 2020-02-12 08:21:52 -07:00
Edward Hartnett
fe70e818e8 checking 3D file again after close 2020-02-12 08:18:41 -07:00
Edward Hartnett
6e316f44a6 switched to vara functions in 3D test 2020-02-12 08:17:35 -07:00
Edward Hartnett
fe96b6a3e5 checking 2nd var data in 3D test 2020-02-12 08:14:13 -07:00
Edward Hartnett
77ae2cfecc improving 3d test 2020-02-12 08:11:37 -07:00
Edward Hartnett
2addd91215 added another var to 2D test 2020-02-12 08:10:16 -07:00
Edward Hartnett
550b8fa188 better 3d unlimited testing 2020-02-12 08:06:04 -07:00
Edward Hartnett
d922af9820 adding 3d test 2020-02-12 08:04:32 -07:00
Edward Hartnett
93ef9b1bdc adding 3d test 2020-02-12 07:49:04 -07:00
Edward Hartnett
4ea78cc985 testing two unlimited dims 2020-02-12 07:45:59 -07:00
Edward Hartnett
168850c373 testing two unlimited dims 2020-02-12 07:45:29 -07:00
Edward Hartnett
4683a4da3b testing two unlimited dims 2020-02-12 07:44:54 -07:00
Edward Hartnett
2f9856b2e6 testing two unlimited dims 2020-02-12 07:30:00 -07:00
Edward Hartnett
bf87013c6b adding test 2020-02-12 07:27:51 -07:00
Edward Hartnett
fe31d48a01 adding test 2020-02-12 07:25:02 -07:00
Edward Hartnett
4c9f1d91e4 making room for new tests 2020-02-12 07:21:22 -07:00
Edward Hartnett
1cd37f1e57 whitespace cleanup 2020-02-12 07:16:12 -07:00
Edward Hartnett
558988bb18 fixed docs, removed unneeded defines in test 2020-02-07 07:54:12 -07:00
Edward Hartnett
a5079585a0 test more values for szip 2020-02-07 07:05:29 -07:00
Edward Hartnett
b9aa2e76db test more values for szip 2020-02-07 07:04:48 -07:00
Edward Hartnett
c4d3937099 now check number of elements in chunk against pixels_per_block for szip compression 2020-02-07 07:03:40 -07:00
Edward Hartnett
ff7280512e checking for some bad pixels_per_block values for szip 2020-02-07 06:53:52 -07:00
Edward Hartnett
81a079997e test development for different szip option mask settings 2020-02-07 06:02:02 -07:00
Edward Hartnett
67a562393b adding test of different szip option mask settings 2020-02-07 05:58:59 -07:00
Edward Hartnett
6ae81a17c7 starting to add test for szip param values 2020-02-07 05:16:21 -07:00
Edward Hartnett
6d2d751e4e disallow zlib if szip already in use 2020-02-07 05:01:06 -07:00
Edward Hartnett
78cd7f7512 removed unneeded var 2020-02-07 04:37:04 -07:00
Edward Hartnett
3d169c432b removed redundant test 2020-02-07 04:32:57 -07:00
Edward Hartnett
04624c7be3 fix error in makefile building tst_parallel_compress.c 2020-02-06 09:17:49 -07:00
Edward Hartnett
fb2a1048bb documentation improvements for nc_inq_var_szip() 2020-02-06 07:42:53 -07:00
Edward Hartnett
6d50ba67e8 turned on some previously failing tests for nc_inq_var_szip() 2020-02-06 07:39:01 -07:00
Edward Hartnett
ca5c0234d4 renamed var for clarity 2020-02-06 07:36:10 -07:00
Edward Hartnett
d5859e91b7 not return 0 for parameters to nc_inq_var_szip if szip is not turned on for var 2020-02-06 07:35:07 -07:00
Edward Hartnett
cf74f49fdb moved tst_parallel_zlib2 to tst_parallel_compress 2020-02-05 17:40:31 -07:00
Edward Hartnett
4a2ac1a338 now parallel szip test working in tst_parallel_zlib2.c 2020-02-05 15:08:30 -07:00
Edward Hartnett
6c39c1dc23 more of szip test in tst_parallel_zlib2.c 2020-02-05 15:01:31 -07:00
Edward Hartnett
3247061dc0 adding szip test to tst_parallel_zlib2.c 2020-02-05 14:56:06 -07:00
Edward Hartnett
b09446b0da test nc_inq_var_szip after call to nc_def_var_szip, but before enddef 2020-02-04 08:47:18 -07:00
Edward Hartnett
a6fbc3eea2 fix problem with pre-enddef call to nc_inq_var_szip() 2020-02-04 07:11:44 -07:00
Edward Hartnett
bf3407ce67 more tests 2020-02-04 05:38:15 -07:00
Edward Hartnett
e363bd59c7 testing nc_def_var_szip when szip has not been built into HDF5 2020-02-04 05:33:52 -07:00
Edward Hartnett
21a204c4e8 start using par filters in HDF5-1.10.3 2020-01-17 14:01:07 -07:00
Edward Hartnett
b9823d2658 fixed shell test for par filters 2020-01-17 12:13:45 -07:00
Edward Hartnett
3da6304f6a fixing running of parallel filter tests only when parallel filters are present 2020-01-17 11:33:58 -07:00
Edward Hartnett
86a9835f12 checking sziped data in parallel I/O test 2020-01-06 10:23:59 -07:00
Edward Hartnett
58abb5adee parallel szip test 2020-01-06 10:23:07 -07:00
Edward Hartnett
c8135722ac parallel szip test 2020-01-06 10:22:45 -07:00
Edward Hartnett
a8a523f1aa parallel szip test 2020-01-06 10:21:00 -07:00
Edward Hartnett
a0396a862b parallel szip test 2020-01-06 10:17:28 -07:00