Commit Graph

330 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
05a6ff74b2 merged changes from master 2020-02-11 17:19:53 -07:00
Edward Hartnett
ecaa4c705f merged changes from master branch 2020-02-11 04:49:46 -07:00
Edward Hartnett
164de982bd merged changes from master branch 2020-02-11 04:05:35 -07:00
Edward Hartnett
f6c6665836 edited release notes 2020-02-09 12:51:55 -07:00
Edward Hartnett
cd38a4cf6c updated release notes 2020-02-08 09:38:44 -07:00
Edward Hartnett
ea98ee547a updated release notes 2020-02-07 09:13:35 -07:00
Edward Hartnett
0f5bdafe73 updated RELEASE_NOTES to include results of recent PR merges 2020-01-23 04:32:49 -07:00
Edward Hartnett
9a351b0bec update release notes 2019-11-25 17:00:39 -07:00
Ward Fisher
5923a747aa Corrects a version typo. 2019-11-20 16:59:18 -07:00
Ward Fisher
070f9ccf02 Updated release date. 2019-11-20 12:12:20 -07:00
Ward Fisher
309110c1e8 Merge branch 'ejh_release_notes' of https://github.com/NOAA-GSD/netcdf-c into v4.7.3-wellspring.wif 2019-11-19 14:07:07 -07:00
Edward Hartnett
1ba34115c2 updated release notes more 2019-11-19 11:40:04 -07:00
Ward Fisher
e4efdd4cfb Bumped version to next development version. 2019-11-18 14:35:01 -07:00
edwardhartnett
c26b1f5042 updated RELEASE_NOTES with recent PRs that have been merged 2019-11-18 06:46:43 -07:00
edwardhartnett
af7185295d modified release notes 2019-11-14 07:25:40 -07:00
Ward Fisher
d20df55cb4 Updated release notes with date again. 2019-10-22 10:50:57 -06:00
Ward Fisher
12b22db2fb Updated release date for 4.7.2 2019-10-21 12:14:07 -06:00
Ward Fisher
f8a588843d Preparing for 4.7.3 development pushed back upstream, forking off to 4.7.2 release branch. 2019-10-18 12:09:28 -06:00
Ward Fisher
568c1067e3 Updated release notes to reference https://github.com/Unidata/netcdf-c/issues/1486 2019-10-10 17:31:37 -06:00
Ward Fisher
40cf6fb958 Despite name of the branch, updated RELEASE_NOTES.md not readme. 2019-09-24 12:19:00 -06:00
Ward Fisher
1d42cab572 Updated Release Notes. 2019-09-20 14:12:15 -06:00
Greg Sjaardema
56c0d5cf8a Spelling fixes 2019-09-18 08:03:01 -06:00
Ward Fisher
b12ae3d2b1 Reformated release notes to keep style consistent. 2019-08-29 16:32:18 -06:00
Ward Fisher
b09dac692e Bumped release date to the 27th. 2019-08-26 14:56:53 -06:00
Ward Fisher
235b29b981 Updated Release Notes. 2019-08-23 16:24:52 -06:00
edwardhartnett
0ce88e6c95 updated RELEASE_NOTES 2019-08-21 18:43:57 -06:00
Ed Hartnett
bce3fa6169
Merge branch 'master' into ejh_next 2019-08-16 03:42:32 -06:00
edwardhartnett
965073c42c updated RELEASE_NOTES 2019-08-15 07:09:15 -06:00
edwardhartnett
c7e022f7e5 removed rest of LOCKNUMREC and _CRAYMPP obsolete macros 2019-08-14 06:53:33 -06:00
Dennis Heimbigner
4940cc34fc Update RELEASE_NOTES.md to include this fix 2019-07-18 11:15:07 -06:00
Ward Fisher
891e548114 Updated release notes. 2019-04-29 10:54:12 -06:00
Ward Fisher
88de6f0e1c Updated versions, Release Notes. 2019-04-25 15:40:04 -06:00
Ward Fisher
e2b31ffae4
Merge branch 'master' into byterange.dmh 2019-03-19 12:05:44 -06:00
Ward Fisher
513481ce48 Updated release notes to reflect date of 4.6.3 release. 2019-02-27 14:42:21 -07:00
Ward Fisher
371cb333dc Updated release notes. Starting process of release. 2019-02-27 14:41:45 -07:00
Ward Fisher
62109e59e4 Merge branch 'ejh_rename_docs' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into v4.6.3-dev-branch.wif 2019-02-27 14:38:46 -07:00
Ed Hartnett
05d549e900 fixed doxygen warnings in RELEASE_NOTES.md 2019-02-25 07:16:47 -07:00
Dennis Heimbigner
45a8a265b8 master merge 2019-02-23 17:14:12 -07:00
Ward Fisher
5d1f639157 Updated release notes. 2019-02-20 17:24:48 -07:00
Ward Fisher
9f55a5376d Corrected typo. 2019-02-16 00:10:52 -07:00
Ward Fisher
c75794b40a Updated Release notes for impending v4.6.2.1 release. 2019-02-15 15:31:24 -07:00
Dennis Heimbigner
bf2746b8ea Provide byte-range reading of remote datasets
re: issue https://github.com/Unidata/netcdf-c/issues/1251

Assume that you have the URL to a remote dataset
which is a normal netcdf-3 or netcdf-4 file.

This PR allows the netcdf-c to read that dataset's
contents as a netcdf file using HTTP byte ranges
if the remote server supports byte-range access.

Originally, this PR was set up to access Amazon S3 objects,
but it can also access other remote datasets such as those
provided by a Thredds server via the HTTPServer access protocol.
It may also work for other kinds of servers.

Note that this is not intended as a true production
capability because, as is known, this kind of access to
can be quite slow. In addition, the byte-range IO drivers
do not currently do any sort of optimization or caching.

An additional goal here is to gain some experience with
the Amazon S3 REST protocol.

This architecture and its use documented in
the file docs/byterange.dox.

There are currently two test cases:

1. nc_test/tst_s3raw.c - this does a simple open, check format, close cycle
   for a remote netcdf-3 file and a remote netcdf-4 file.
2. nc_test/test_s3raw.sh - this uses ncdump to investigate some remote
   datasets.

This PR also incorporates significantly changed model inference code
(see the superceded PR https://github.com/Unidata/netcdf-c/pull/1259).

1. It centralizes the code that infers the dispatcher.
2. It adds support for byte-range URLs

Other changes:

1. NC_HDF5_finalize was not being properly called by nc_finalize().
2. Fix minor bug in ncgen3.l
3. fix memory leak in nc4info.c
4. add code to walk the .daprc triples and to replace protocol=
   fragment tag with a more general mode= tag.

Final Note:
Th inference code is still way too complicated. We need to move
to the validfile() model used by netcdf Java, where each
dispatcher is asked if it can process the file. This decentralizes
the inference code. This will be done after all the major new
dispatchers (PIO, Zarr, etc) have been implemented.
2019-01-01 18:27:36 -07:00
Ward Fisher
817ec9d574 Updated release notes to reflect the license change. 2018-12-04 15:18:46 -07:00
Ward Fisher
6d35f430a6 Updated release notes. 2018-11-27 16:13:49 -07:00
Ward Fisher
68cffc17af Added release date. 2018-11-16 12:40:17 -07:00
Ward Fisher
ff7a461789 Triggering re-run of TravisCI 2018-11-12 16:06:50 -07:00
Ed Hartnett
aff2aa9341 added release notes 2018-11-09 09:01:30 -07:00
Ward Fisher
8aad1671e6 Amended release date. 2018-11-01 12:57:02 -06:00
Ward Fisher
243730413e Updated release notes in support of https://github.com/Unidata/netcdf-c/issues/1146 2018-10-25 13:24:21 -06:00