netcdf-c/docs
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
..
images Updating files to refer to the top-level COPYRIGHT file. 2018-12-04 15:52:43 -07:00
obsolete Misc. source comment typos 2018-04-26 23:04:01 -04:00
old More replacement of "parallel-netcdf" with "PnetCDF". 2018-09-20 11:45:25 -05:00
static-pages Use PnetCDF instead of parallel-netcdf to avoid confusion with 2018-09-17 17:18:48 -05:00
.gitignore Fix up documentation to replace old auth documentation 2017-08-20 18:27:48 -06:00
all-error-codes.md introduce error code NC_EPNETCDF for errors at PnetCDF level 2018-07-29 15:33:08 -05:00
architecture.dox Use PnetCDF instead of parallel-netcdf to avoid confusion with 2018-09-17 17:18:48 -05:00
attribute_conventions.md There was a request to extend the provenance information 2018-08-25 21:44:41 -06:00
auth.html Misc. source comment typos 2018-04-26 23:04:01 -04:00
auth.md The pr does some cleanup on the internal documentation 2018-06-29 15:06:27 -06:00
bestpractices.md Cleaned up best practices document. 2016-05-09 20:42:35 -06:00
building-with-cmake.md
byterange.dox Provide byte-range reading of remote datasets 2019-01-01 18:27:36 -07:00
cdl.dox Misc. source comment typos 2018-04-26 23:04:01 -04:00
CMakeLists.txt Provide byte-range reading of remote datasets 2019-01-01 18:27:36 -07:00
COPYRIGHT.md Updating files to refer to the top-level COPYRIGHT file. 2018-12-04 15:52:43 -07:00
credits.md Additional dead link modification. 2016-01-15 14:39:32 -07:00
DAP2.dox Modify DAP2 and DAP4 to optionally allow Fillvalue/Variable mismatch 2018-10-01 15:51:43 -06:00
DAP4.dox Provide byte-range reading of remote datasets 2019-01-01 18:27:36 -07:00
DAP4.md Fix more memory leaks in netcdf-c library 2018-11-15 10:00:38 -07:00
dispatch.dox
docmap.pdf
Doxyfile.developer Recreating 4.6.2 release branch. 2018-10-22 16:52:07 -06:00
Doxyfile.in Provide byte-range reading of remote datasets 2019-01-01 18:27:36 -07:00
DoxygenLayout.xml
esg.md More doxygen tweaks. 2016-01-15 12:23:56 -07:00
FAQ.md add missing note about CDF-5 format 2018-07-05 22:54:41 -05:00
file_format_specifications.md Misc. source comment typos 2018-04-26 23:04:01 -04:00
filters.md Fix memory problems when using HDF5 version 1.10.x and later. 2018-10-04 11:37:21 -06:00
footer.html Fix pull request https://github.com/Unidata/netcdf-c/pull/374 (dap4.dmh) 2017-04-03 21:39:44 -06:00
groups.dox
guide.dox Fix more memory leaks in netcdf-c library 2018-11-15 10:00:38 -07:00
header.html
indexing.dox The pr does some cleanup on the internal documentation 2018-06-29 15:06:27 -06:00
inmeminternal.dox Fix the NC_INMEMORY code to work in all cases with HDF5 1.10. 2018-09-04 11:27:47 -06:00
inmemory.md Revert/Improve nc_create + NC_DISKLESS behavior 2018-10-10 13:32:17 -06:00
install-fortran.md Fix doxygen list 2015-06-08 10:20:50 -06:00
install.md fixed typo 2018-11-09 11:04:47 -07:00
internal.dox Provide byte-range reading of remote datasets 2019-01-01 18:27:36 -07:00
known_problems.md Rolled known problems into generated documentation, and cleaning up broken links. 2015-09-23 13:49:06 -06:00
mainpage.dox Corrected links to cdash dashboard. 2017-12-20 12:37:02 -07:00
Makefile.am Provide byte-range reading of remote datasets 2019-01-01 18:27:36 -07:00
netcdf-50x50.png
netcdf.m4 Fix spelling errors. 2016-08-28 15:45:36 +02:00
notes.md
OPeNDAP.dox Modify DAP2 and DAP4 to optionally allow Fillvalue/Variable mismatch 2018-10-01 15:51:43 -06:00
release_header.html Added release to release header. 2016-11-21 11:23:02 -07:00
release.css Tweaks to css 2016-01-21 11:19:23 -07:00
tests.md Added a document to catalog what the various tests are. 2016-06-06 14:51:57 -06:00
testserver.dox Doxygen is apparently buggy when trying to combine a markdown 2018-07-01 21:56:59 -06:00
tutorial.dox Merge branch 'master' into var_par_access 2018-07-26 01:35:39 -05:00
types.dox add missing note about CDF-5 format 2018-07-05 22:54:41 -05:00
unidata_logo_cmyk.png
user_defined_formats.md Updating files to refer to the top-level COPYRIGHT file. 2018-12-04 15:52:43 -07:00
windows-binaries.md Corrected an incorrect download link for Windows NC3-only binary 2017-11-20 13:43:16 -07:00