Commit Graph

380 Commits

Author SHA1 Message Date
Dennis Heimbigner
eb3d9eb0c9 Provide a Number of fixes/improvements to NCZarr
Primary changes:
* Add an improved cache system to speed up performance.
* Fix NCZarr to properly handle scalar variables.

Misc. Related Changes:
* Added unit tests for extendible hash and for the generic cache.
* Add config parameter to set size of the NCZarr cache.
* Add initial performance tests but leave them unused.
* Add CRC64 support.
* Move location of ncdumpchunks utility from /ncgen to /ncdump.
* Refactor auth support.

Misc. Unrelated Changes:
* More cleanup of the S3 support
* Add support for S3 authentication in .rc files: HTTP.S3.ACCESSID and HTTP.S3.SECRETKEY.
* Remove the hashkey from the struct OBJHDR since it is never used.
2020-11-19 17:01:04 -07:00
LProx2020
cb6bdacdd2
Email Removal
-Removed old UCAR email
2020-07-28 12:15:04 -04:00
LProx2020
f2f7ffefa9
Update software.html
More fixes in collaboration with I.P.
- Adjusted ArcGIS and AgriMetSoft NetCDF-Extractor sections' text and spacing
 *Check to see if the spacing for these sections is correct
 *Did not address broken links, but should address both broken links and links that re-direct to unintended webpages
2020-07-23 10:28:00 -04:00
LProx2020
83e95ea907
Copyediting Updates #2
More fixes in collaboration with I.P.
* Did not fix spacing for the ArcGIS nor AgriMetSoft sections
* Did not address broken links, but should address both broken links and links that re-direct to unintended webpages
2020-07-23 10:00:01 -04:00
LProx2020
7974c66595
Copyediting Updates #1
Fixed per I.P.'s work
- Need to ensure proper way to include the u umlaut in line 455
- Didn't address broken link issues
-Left MeteoExplorer's NetCDF uppercased due to library/software reference
-Didn't change Mary Haley's email in the NCL section
-Left nctoolbox's NetCDF-Java 
***Stopped short off ncvtk errors (line 149)
2020-07-21 11:57:48 -04:00
Dennis Heimbigner
59e04ae071 This PR adds EXPERIMENTAL support for accessing data in the
cloud using a variant of the Zarr protocol and storage
format. This enhancement is generically referred to as "NCZarr".

The data model supported by NCZarr is netcdf-4 minus the user-defined
types and the String type. In this sense it is similar to the CDF-5
data model.

More detailed information about enabling and using NCZarr is
described in the document NUG/nczarr.md and in a
[Unidata Developer's blog entry](https://www.unidata.ucar.edu/blogs/developer/en/entry/overview-of-zarr-support-in).

WARNING: this code has had limited testing, so do use this version
for production work. Also, performance improvements are ongoing.
Note especially the following platform matrix of successful tests:

Platform | Build System | S3 support
------------------------------------
Linux+gcc      | Automake     | yes
Linux+gcc      | CMake        | yes
Visual Studio  | CMake        | no

Additionally, and as a consequence of the addition of NCZarr,
major changes have been made to the Filter API. NOTE: NCZarr
does not yet support filters, but these changes are enablers for
that support in the future.  Note that it is possible
(probable?) that there will be some accidental reversions if the
changes here did not correctly mimic the existing filter testing.

In any case, previously filter ids and parameters were of type
unsigned int. In order to support the more general zarr filter
model, this was all converted to char*.  The old HDF5-specific,
unsigned int operations are still supported but they are
wrappers around the new, char* based nc_filterx_XXX functions.
This entailed at least the following changes:
1. Added the files libdispatch/dfilterx.c and include/ncfilter.h
2. Some filterx utilities have been moved to libdispatch/daux.c
3. A new entry, "filter_actions" was added to the NCDispatch table
   and the version bumped.
4. An overly complex set of structs was created to support funnelling
   all of the filterx operations thru a single dispatch
   "filter_actions" entry.
5. Move common code to from libhdf5 to libsrc4 so that it is accessible
   to nczarr.

Changes directly related to Zarr:
1. Modified CMakeList.txt and configure.ac to support both C and C++
   -- this is in support of S3 support via the awd-sdk libraries.
2. Define a size64_t type to support nczarr.
3. More reworking of libdispatch/dinfermodel.c to
   support zarr and to regularize the structure of the fragments
   section of a URL.

Changes not directly related to Zarr:
1. Make client-side filter registration be conditional, with default off.
2. Hack include/nc4internal.h to make some flags added by Ed be unique:
   e.g. NC_CREAT, NC_INDEF, etc.
3. cleanup include/nchttp.h and libdispatch/dhttp.c.
4. Misc. changes to support compiling under Visual Studio including:
   * Better testing under windows for dirent.h and opendir and closedir.
5. Misc. changes to the oc2 code to support various libcurl CURLOPT flags
   and to centralize error reporting.
6. By default, suppress the vlen tests that have unfixed memory leaks; add option to enable them.
7. Make part of the nc_test/test_byterange.sh test be contingent on remotetest.unidata.ucar.edu being accessible.

Changes Left TO-DO:
1. fix provenance code, it is too HDF5 specific.
2020-06-28 18:02:47 -06:00
LProx2020
316dfea205
Update FAQ.md
This edit updates the broken links discussed in Issue #1696
2020-05-29 11:58:38 -04:00
Douglas Dirks
ccdac4bf60 Ensure that the nav-tree extends to the full height of the content area. The footer must be enclosed in a div element with the id="nav-path" for this to work. 2020-05-13 16:45:35 -06:00
Ward Fisher
31654e650b Added a stand-alone user level doxygen configuration file. It must be used from the top-level netcdf-c directory, e.g. doxygen docs/Doxyfile.user. 2020-05-07 16:23:43 -06:00
Ward Fisher
5a6c7a48d9 Tweaked docs to fix dead references introduced as part of separating out NUG from netCDF-C. 2020-03-27 14:21:25 -06:00
Ward Fisher
d9e69bbb6b Updated soversion, bump to next development version in preparation of upstream merge back into master from 4.7.4 wellspring. 2020-03-26 11:31:43 -06:00
Ward Fisher
da6884593e Cleaning up distcheck. 2020-02-07 13:47:45 -07:00
Ward Fisher
ed8a0f21af Moved NUG related files in to NUG directory. 2020-02-07 13:19:37 -07:00
Ward Fisher
ef82b79857 Modified doxygen to look at URL instead of local files. 2020-02-06 16:46:52 -07:00
Ward Fisher
806460929c Moved tag files into the subsequent html directory. 2020-02-06 16:26:33 -07:00
Ward Fisher
2e63392423 Shuffling NUG and documentation. 2020-02-06 16:14:25 -07:00
Ward Fisher
5c5a5894f0 Some initial reorganization. 2020-02-06 14:29:10 -07:00
Ward Fisher
3aaf092b59 Removed deprecated functions from doxygen template file 2020-02-06 13:45:44 -07:00
Ward Fisher
5d34ea5b2c
Merge pull request #1597 from NOAA-GSD/ejh_doc_fix
fixed doc formatting issue
2020-01-14 17:53:29 -07:00
Edward Hartnett
c6d14f29bd fixed doc formatting issue 2020-01-13 03:28:04 -07:00
Jennifer Oxelson
1b343324ea
Merge branch 'master' into jsremotetest 2020-01-10 17:35:34 -07:00
Dennis Heimbigner
748d26c114 Add support for CURLOPT_CONNECTTIMEOUT
I see that there is no way to set CURLOPT_CONNECTTIMEOUT,
but there is support for CURLOPT_TIMEOUT.
So, accept the line 'HTTP.CONNECTTIMEOUT'
in .rc file to allow user to set CURLOPT_CONNECTTIMEOUT.
2020-01-09 11:48:04 -07:00
Jennifer Oxelson
feb7da82ec changed/removed references to jetstream remotetest instance. 2020-01-03 13:12:58 -07:00
Edward Hartnett
7945ce6b2c updated users guide 2019-11-25 16:53:44 -07:00
Edward Hartnett
2682ffd68d improved docs for cache functions, added libhdf5/hdf5cache.c to Doxyfile.in, added benchmark program for cache settings 2019-11-25 16:33:04 -07:00
Ward Fisher
bef8e2d39d Updated one of the static software pages. 2019-11-21 14:18:10 -07:00
Ward Fisher
695d84bb28 Merge branch 'bugfix/issue-1533' of https://github.com/kprussing/netcdf-c into v4.7.3-wellspring.wif 2019-11-20 12:48:15 -07:00
kprussing
af3f2e9362 Update FAQ based on actual usage of HDF5 variables
The CMakeLists.txt actually uses `HDF5_C_LIBRARY` and `HDF5_HL_LIBRARY`
to find non-standard HDF5 installation.  This just updates the FAQ with
the correct usage.
2019-11-19 22:18:46 -05:00
Ward Fisher
e4efdd4cfb Bumped version to next development version. 2019-11-18 14:35:01 -07:00
Ward Fisher
e4003be502
Merge pull request #1515 from NetCDF-World-Domination-Council/ejh_att_docs
update for attribute documentation
2019-11-15 16:39:46 -07:00
edwardhartnett
73ed8525db updated tutorial 2019-11-14 08:14:53 -07:00
edwardhartnett
c76dae1c5d added anchors for reading_attributes and writing_attributes, and refs to them, also changed order of files in Doxygen.in 2019-11-08 05:19:51 -07: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
Dennis Heimbigner
f1506d552e Change (again), and hopefully simplify, the file model inference algorithm.
* For URL paths, the new approach essentially centralizes all information
  in the URL into the "#mode=" fragment key and uses that value
  to determine the dispatcher for (most) URLs.

* The new approach has the following steps:

  1. canonicalize the path if it is a URL.
  2. use the mode= fragment key to determine the dispatcher
  3. if dispatcher still not determined, then use the mode flags
     argument to nc_open/nc_create to determine the dispatcher.
  4. if the path points to something readable, attempt to read the
     magic number at the front, and use that to determine the dispatcher.
     this case may override all previous cases.

* Misc changes.

  1. Update documentation
  2. Moved some unit tests from libdispatch to unit_test directory.
  3. Fixed use of wrong #ifdef macro in test_filter_reg.c
     [I think this may fix an previously reported esupport query].
2019-09-29 12:59:28 -06:00
Greg Sjaardema
56c0d5cf8a Spelling fixes 2019-09-18 08:03:01 -06:00
Ward Fisher
1465e14279 Bumped to next development version. 2019-08-26 13:08:34 -06:00
Ed Hartnett
bce3fa6169
Merge branch 'master' into ejh_next 2019-08-16 03:42:32 -06:00
edwardhartnett
822b5f663e removed _CRAYMPP from manpage 2019-08-14 06:31:39 -06:00
jbs-public-function
abc020c724
An example argument typo
`./configure --with-zlib=${ZDIR} --prefix=${H5DIR} --eanable-hl` on line 135
command errors, but runs if changed to `enable-hl`
2019-08-11 19:37:16 -05:00
Ward Fisher
e891646329 Corrected mistake regarding which version of Visual Studio is being used to build the libraries. 2019-06-17 14:41:50 -06:00
Ward Fisher
103e5a3ff5
Merge pull request #1385 from Unidata/mmapfix.dmh
Fix cmake wrt mmap
2019-05-02 11:09:12 -06:00
Ward Fisher
5410967b00 Merge branch 'master' into addfilter.dmh 2019-04-30 14:51:25 -06:00
Ward Fisher
a1fb171a62 Bumped version in Doxyfile.developer. 2019-04-25 15:41:09 -06:00
Dennis Heimbigner
c9d16d82d6 Fix cmake X mmap
supercede PR: https://github.com/Unidata/netcdf-c/pull/1384

Since we have an mmap user, undeprecate it and make sure
it works. Other changes:

* fix test cases to work with make -j
* fix exposed ncgen error.
2019-04-19 20:32:26 -06:00
Dennis Heimbigner
8d0bced60d Allow in-line definition of filters
Priority: Low

re: issue https://github.com/Unidata/netcdf-c/issues/1329

HDF5 has the ability to programmatically define new filters,
as opposed to using HDF5_PLUGIN_PATH env variable.
This PR adds support for that feature.
Not clear how useful this is, though.
See docs/filters.md for details.
2019-03-21 11:33:27 -06:00
Ward Fisher
e2b31ffae4
Merge branch 'master' into byterange.dmh 2019-03-19 12:05:44 -06:00
Dennis Heimbigner
2420b69a83 Fix nccopy to use NC_PERSIST so that -w actually persists the output.
re: Issue https://github.com/Unidata/netcdf-c/issues/1365

At some point (4.6.1) we changed the diskless handling of flags
and added a new NC_PERSIST flag. Looks like we did not fix all
occurrences of the old flag set, specifically for 'nccopy -w' command.
Also added some tests (tst_nccopy_w{3,4}.sh) for this situation.
2019-03-15 12:05:27 -06: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
Ward Fisher
18c403aa02 Prepping for 4.6.3 release, bumping to subsequent version in dev branch. 2019-02-26 14:00:59 -07:00
Ed Hartnett
7b373ecc14 fixed documentation warnings 2019-02-25 07:27:02 -07:00