Commit Graph

7577 Commits

Author SHA1 Message Date
Edward Hartnett
179b258319 more test development 2020-06-29 09:18:14 -06:00
Dennis Heimbigner
d21c0170d7 Semi-disable S3 tests.
They rely on access to the unidata S3 bucket on stratus,
so only Unidata NetCDF personnel can execute them,
To enable them, one needs to do this at command level:
export NETCDF_S3_TESTS=1
2020-06-29 09:14:47 -06:00
Edward Hartnett
5ce5f1cd1f more test development 2020-06-29 09:05:56 -06:00
Edward Hartnett
dc37446a5f more test development 2020-06-29 09:01:24 -06:00
Edward Hartnett
467f342ae9 further test development 2020-06-29 08:35:11 -06:00
Edward Hartnett
306628e9e4 more test development 2020-06-29 08:12:31 -06:00
Edward Hartnett
a645b5912f further test development 2020-06-29 07:39:15 -06:00
Edward Hartnett
4413aba99f further test development 2020-06-28 21:06:31 -06:00
Edward Hartnett
86e98892b6 more test development 2020-06-28 20:56:02 -06:00
Edward Hartnett
50eb14dbc7 more test development 2020-06-28 20:45:39 -06:00
Edward Hartnett
19de11b1dd starting to develop test 2020-06-28 20:31:07 -06:00
Edward Hartnett
03540e2fb0 starting to modify test 2020-06-28 20:20:17 -06:00
Edward Hartnett
52b3053b51 starting to modify test 2020-06-28 20:18:43 -06:00
Dennis Heimbigner
9e1ff1555e Merge branch 'nczarr-experimental.dmh' of https://github.com/DennisHeimbigner/netcdf-c into nczarr-experimental.dmh 2020-06-28 19:53:56 -06:00
Dennis Heimbigner
93ecc49129 Fix LGTM errors and S3 mis-configuration 2020-06-28 19:53:40 -06:00
Edward Hartnett
b13fcf96e7 added tst_gfs_data1 2020-06-28 19:38:18 -06:00
Dennis Heimbigner
c7cf0d3807 Fix LGTM errors 2020-06-28 19:07:08 -06:00
Dennis Heimbigner
999c291020 Fix LGTM detected errors 2020-06-28 18:59:53 -06: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
Ward Fisher
ba24e3c08e
Merge pull request #1765 from opoplawski/hdf5_zlib
Fix wrong header include in testing HDF5 for zlib
2020-06-25 16:31:43 -06:00
Ward Fisher
7c4745508a
Merge pull request #1768 from NOAA-GSD/ejh_fix_plugins_makefile
fixed the setting of AM_LDFLAGS
2020-06-25 16:04:34 -06:00
Ward Fisher
e07e24b7a0
Merge pull request #1764 from DennisHeimbigner/dfalt.dmh
Fix nccopy chunking to use default chunking
2020-06-25 15:39:36 -06:00
Dennis Heimbigner
04dbf30a5e Update release notes 2020-06-25 11:24:57 -06:00
Edward Hartnett
1ce19f15b3 fixed the setting of AM_LDFLAGS 2020-06-25 10:22:33 -06:00
Orion Poplawski
b3e42ac54d Fix wrong header include in testing HDF5 for zlib 2020-06-24 20:30:55 -06:00
Dennis Heimbigner
c195e24f2a Fix nccopy chunking to use default chunking
re: https://github.com/Unidata/netcdf-c/issues/1763

The nccopy program incorrectly set default chunking parameters
to use full dimension lengths. Instead, it should use the
values computed by the default chunking values as defined
in nc4_default_chunksizes2 in the netcdf library.

Solution: Revert to the old behavior.
2020-06-24 16:34:32 -06:00
Brian McKenna
c0c56b1b06 parse projection functions 2020-06-15 15:20:24 -04:00
Ward Fisher
ed421f2233
Merge pull request #1754 from LProx2020/README-LINK-PATCH
Updated README.md Links
2020-06-11 13:38:35 -06:00
Ward Fisher
1bf99871bd
Merge pull request #1755 from gsjaardema/patch-43
Avoid potential integer overrun
2020-06-11 12:38:44 -06:00
Greg Sjaardema
edf0ca6c98
Avoid potential integer overrun
It is possible for the values stored to `file_value_size` to overrun the storage capacity of a 32-bit integer.  The value does need to store negative values potentially, so can be `size_t` or `hsize_t`, so use the `hssize_t` which is a signed 64-bit value.  Could also use `ssize_t`, but that is not used in this routine...
2020-06-10 15:42:22 -06:00
LProx2020
e4e0e93402
Updated README.md Links
Reference: Issue #1711
-The proper link was provided for the Language Independent User's Guide.
-The proper link was provided for the NetCDF-Java/Common Data Model Library
2020-06-04 14:16:30 -04:00
Ward Fisher
b36c9c5b3f
Merge pull request #1747 from NOAA-GSD/ejh_fix
fixed LDFLAFS in plugins Makefile.am, also fixed warning in tst_h_vars.c, restore NC_NOTNC3_get|put_varm() functions
2020-06-03 13:47:39 -06:00
Ward Fisher
386e269528
Merge pull request #1752 from sayerhs/master
Fix parallel NetCDF checks in configure.ac for spectrum MPI
2020-06-03 13:25:01 -06:00
Shreyas Ananthan
e11bc3509d Fix parallel NetCDF checks in configure.ac for spectrum MPI
Closes #1751
2020-06-03 13:13:35 -04:00
Edward Hartnett
87226c4879 readded NOTNC3 varm functions to dispatch 2020-06-03 05:55:30 -06:00
Edward Hartnett
9f6fc00f98 changed back to totally dead 2020-06-02 13:59:08 -06:00
Edward Hartnett
97c2335adc changed to only MOSTLY dead 2020-06-02 07:51:59 -06:00
Edward Hartnett
993c8259c2 fixed LDFLAFS in plugins Makefile.am, also fixed warning in tst_h_vars.c 2020-06-02 07:34:46 -06:00
Ward Fisher
bc77f3c199
Merge pull request #1742 from bombipappoo/fix-keyword
Fix incorrect keywords.
2020-06-01 14:05:35 -06:00
Ward Fisher
18f43d646e
Merge pull request #1744 from DennisHeimbigner/dap4memleaks.dmh
Fix some memory leaks in libdap4
2020-06-01 13:16:27 -06:00
Dennis Heimbigner
7ec762ea8d Fix some memleaks in libdap4
Discovered that there were some remaining memory leaks
in the dap4 code as a result of PR https://github.com/Unidata/netcdf-c/pull/1743.
Found and fixed.
2020-06-01 12:35:24 -06:00
Ward Fisher
4cb66b96c5
Merge pull request #1743 from DennisHeimbigner/hyrax4fix.dmh
Fix some protocol differences between netcdf-c and the Hyrax server.
2020-06-01 10:51:22 -06:00
Dennis Heimbigner
0b3f8dddf9 Make CMake tests work for dap4 2020-06-01 09:27:57 -06:00
Dennis Heimbigner
07e1620f53 Add more dap4 tests for CMake 2020-05-31 13:25:53 -06:00
Dennis Heimbigner
6e715135ba Fix windows \r problem 2020-05-30 20:14:45 -06:00
Dennis Heimbigner
65414eeaa4 Fix some protocol differences between netcdf-c and the Hyrax server.
re: Partly addresses issue https://github.com/Unidata/netcdf-c/issues/1712.

1. Turn on Hyrax Hack to accept Hyrax style attribute containers.
2. Support Url type as alias for String.
3. Accept the special attribute, "__DAP4_Checksum_CRC32",
   to control per-variable checksums.
4. Make _DAP4_xxx attributes be reserved and only accessible
   by name (ala _SuperBlock attribute).
5. Fix handling of checksums. There is a hack in the code
   that uses an extra flag in the chunk header to indicate
   that all variables have checksums. This violates the spec
   and will be removed once it is possible to regenerate the
   test cases.

Note that checksumming with the Hyrax test server has not
been tested. This, along with some other probable inconsistencies,
needs fixing when OPeNDAP and Unidata can agree on the proper
specification. Testing will be included.
2020-05-30 17:36:25 -06:00
bombipappoo
e0b37bc31f Fix incorrect keywords. 2020-05-30 14:22:37 +09:00
Ward Fisher
43417c9f7f
Merge pull request #1741 from LProx2020/patch-1
Updating Links in FAQ.md
2020-05-29 12:48:14 -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
Ward Fisher
39636b3f23
Merge pull request #1738 from DennisHeimbigner/xgetoptfix.dmh
Condition XGetOpt on MSC_VER not WIN32
2020-05-26 16:23:45 -06:00