Commit Graph

7833 Commits

Author SHA1 Message Date
Dennis Heimbigner
ef499b5b3a Update RELEASE NOTES 2021-02-24 13:50:53 -07:00
Dennis Heimbigner
2afbdbd18f Add support for the XArray Zarr _ARRAY_DIMENSIONS attribute
The XArray implementation that uses Zarr for storage
provides a mechanism to simulate named dimensions.
It does this by adding a per-variable attribute called
_ARRAY_DIMENSIONS. This attribute contains a list of names
to be matched against the shape values of the variable.
In effect a named dimension is created with the name
_ARRAY_DIMENSIONS(i) and length shape(i) for all i
in range 0..rank(variable).
Both read and write support is provided.

This XArray support is only invoked if the mode value
of "xarray" is defined. So for example, as in this URL.
````
https://s3.us-west-1.amazonaws.com/bucket/dataset#mode=nczarr,xarray,s3
````
Note that the "xarray" mode flag also implies mode flag "zarr", so the above
is equivalent to this URL.
````
https://s3.us-west-1.amazonaws.com/bucket/dataset#mode=nczarr,zarr,xarray,s3
````

The primary change to implement this was to unify the handling
of dimension references in libnczarr/zsync.

A test for this and other pure-zarr features was added as
nczarr_test/run_purezarr.sh

Other changes:
* Make sure distcheck leaves no files around.
* Change the special attribute flag DIMSCALEFLAG to HIDDENATTRFLAG
  to support the xarray attribute.
* Annotate the zmap implementations with feature flags such as
  WRITEONCE (for zip files).
2021-02-24 13:46:11 -07:00
Ward Fisher
d136d46d22
Merge pull request #1944 from DennisHeimbigner/deflate.dmh
More fixes to the nccopy filter x chunking algorithm
2021-02-08 11:15:15 -06:00
Ward Fisher
0b6f5c7a27
Merge branch 'master' into deflate.dmh 2021-02-08 11:10:06 -06:00
Ward Fisher
c88dd0580b
Merge pull request #1942 from DennisHeimbigner/nczarr_zip.dmh
Add zip file support to nczarr
2021-02-08 11:09:27 -06:00
Ward Fisher
b820b26abd
Merge pull request #1929 from brtnfld/master
fixed H5O_info_t incompatiblity with H5Oget_info_by_idx3
2021-02-04 16:35:55 -06:00
Scot Breitenfeld
b34e073f57 Merge remote-tracking branch 'upstream/master' 2021-02-04 11:47:00 -06:00
Dennis Heimbigner
278f19e52d Update RELEASE_NOTES 2021-02-03 11:22:42 -07:00
Dennis Heimbigner
7272ed6ca1 Update RELEASE_NOTES 2021-02-03 11:20:10 -07:00
Dennis Heimbigner
125d318445 FIx install of netcdf_dispatch.h 2021-02-03 11:13:43 -07:00
Dennis Heimbigner
313a4d4c6a Update Release Notes 2021-02-02 22:59:11 -07:00
Dennis Heimbigner
391648fb8b Fix duplicate BOOL definitions 2021-02-02 22:48:22 -07:00
Dennis Heimbigner
7a44ae9184 Unify definition of NC_DISPATCH_VERSION
re: Issue

The netcdf dispatch table version was defined in several places.
Modify to only require defining it in CMakeLists.txt and configure.ac.

Fix entailed the following changes:
* Up the NC_DISPATCH_VERSION from 2 to 3 in configure.ac and CMakeLists.txt
* Create include/netcdf_dispatch.h.in and use it to configure include/netcdf_dispatch.h
* For CMAKE, make it search CMAKE_CURRENT_BINARY_DIR so code can locate the configured netcdf_dispatch.h
* Add entry to config.h.cmake.in for NC_DISPATCH_VERSION
* Move NCerror from include/ncdispatch.h to libdap2/nccomon.h
* Fix an API problem re nchttp.h
* Fix a conversion warning in libdispatch/dinfermodel.c
2021-01-31 21:40:08 -07:00
Dennis Heimbigner
1d9727c616 More fixes to the nccopy filter x chunking algorithm
re: Issue https://github.com/Unidata/netcdf-c/issues/1936

The algorithm controlling interaction of -d 0 -F and -c / options
is incorrect.

The fix:
1. make -d 0 => no deflation
2. make -F properly use the filter specs to decide.

Also added a test case to ncdump/tst_nccopy4.sh.
2021-01-31 15:10:39 -07:00
Dennis Heimbigner
4ae71d3d73 appveyor fix 2021-01-28 20:31:16 -07:00
Dennis Heimbigner
e7d5f24078 Add zip file support
The primary change is to support the use of a zip file as a
storage format. Simultaneously the .nz4 support is made obsolete

Use of zip requires the libzip support library, so a number of
changes to the build files (Makefile.am, CMakeLists.txt) are
necessary to locate and incorporate libzip.  The nczarr_tests
tests are also changed to add zip testing.

Other changes:
* Make sure distcheck leaves no files around.
* Add some functions to netcdf_aux to export some functions of libnetcdf.
* Add a new error NC_EFOUND as the complement of NC_EEMPTY.
* Add tracing support to nclog and use it in libnczarr.
* Modify the zmap interface to support the writeonce semantics of zip.
* Create a new s3util.c to support a variety of S3 auxilliary functions.
* EXTERNL'ize a number of functions so they can be used in s3util.
* Add support for the S3 ListObjects CommonPrefixes mechanism
  to improve search.
* Add experimental support for running nczarr X s3 tests against
  the actual Amazon S3 cloud.
2021-01-28 20:11:01 -07:00
Ward Fisher
f23fe5f6d3
Merge pull request #1939 from DennisHeimbigner/actionzarr.dmh
Enable nczarr testing in github actions.
2021-01-27 13:51:19 -07:00
Dennis Heimbigner
480f00bc19 disable run_chunkcases 2021-01-27 11:44:53 -07:00
Dennis Heimbigner
911d0a5deb Enable nczarr testing in github actions.
Changes:
1. add "use_nczarr: [ nczarr_off, nczarr_on ]" to matrix
2. add libzip-dev to the apt installs (might need caching).
3. convert deprecated "--enable-netcdf-4" to "--enable-hdf5" (also for cmake)
2021-01-27 11:30:48 -07:00
Ward Fisher
025fb7b6fe
Merge pull request #1937 from rkouznetsov/master
Fix for :60 seconds in ncdump
2021-01-26 14:35:30 -07:00
Ward Fisher
793d2d8c15
Merge pull request #1933 from DennisHeimbigner/dap4fixes.dmh
Improve operation of the DAP4 code and fix bugs
2021-01-26 12:30:30 -07:00
Ward Fisher
8f908db1f3
Merge pull request #1926 from DennisHeimbigner/dap4retest.dmh
Enable selected DAP tests previously disabled.
2021-01-26 12:30:00 -07:00
Ward Fisher
5afe43639a
Merge pull request #1734 from avalentino/fix-hdf5-zlib-check
Fix HDF5_ZLIB check
2021-01-26 11:48:02 -07:00
Ward Fisher
52011297f3
Merge branch 'master' into fix-hdf5-zlib-check 2021-01-26 11:47:52 -07:00
Ward Fisher
8db5519472
Merge branch 'master' into dap4retest.dmh 2021-01-26 11:46:12 -07:00
Rostislav Kouznetsov
74ef4eaa8c Fix for :60 seconds in ncdump
Ncdump reports times like "2015-03-12 12:19:60.000000" #1928
Imposes a microsecond accuracy on dumped time representation
2021-01-26 10:24:43 +02:00
Ward Fisher
7630f466a2
Merge pull request #1919 from gsjaardema/patch-47
Fix so setting of NC_FORMATX_NC3 in parallel is kept
2021-01-21 14:14:28 -07:00
Ward Fisher
dd6490babd
Merge pull request #1934 from ibaned/custom-mpi-includes
Ensure MPI works without a wrapper
2021-01-20 13:37:01 -07:00
Dan Ibanez
9ad3e49371 more missing includes for MPI without wrapper 2021-01-19 10:33:08 -07:00
Dan Ibanez
69182dc438 Ensure MPI header found without wrapper 2021-01-19 09:38:07 -07:00
Dennis Heimbigner
c2e25f7bec Forgot baselinehyrax in the dist 2021-01-14 21:49:34 -07:00
Dennis Heimbigner
a8b77099d8 turn off actions on push 2021-01-14 21:40:04 -07:00
Dennis Heimbigner
97ce621091 Improve operation of the DAP4 code and fix bugs
re: esupport 31942

* Add a new set of remote tests based on using the opendap hyrax server
* Re-enable --enable-dap-remote-tests as default on
* Make it possible to query the DMR separate from the DAP
  so that it is possible to delay reading data until it is actually
  requested. This make things like ncdump -h much more efficient.
* Fix handling of <Map>s in DMRs.
* Fix some memory leaks
2021-01-14 21:39:08 -07:00
Scot Breitenfeld
a464bea84b removed the check for H5Pset_libver_bounds (HAVE_H5PSET_LIBVER_BOUNDS) since API
function was introduced in 1.8.0 (and some tests used  H5Pset_libver_bounds without
checking HAVE_H5PSET_LIBVER_BOUNDS.
2021-01-11 16:36:23 -06:00
Scot Breitenfeld
991bf075d9 updated ncdump scripts to handle different versions of superblock values 2021-01-11 15:13:21 -06:00
Scot Breitenfeld
4de0046f1e reverted changes superblock values 2021-01-11 14:43:44 -06:00
Scot Breitenfeld
a002ec4c9f Updated the superblock value for reference ncdumps 2021-01-11 11:17:25 -06:00
Scot Breitenfeld
46b2e1d666 removed the use of H5_VERSION_LT 2021-01-11 10:36:53 -06:00
Scot Breitenfeld
7bec179038 fixed syntax 2021-01-11 10:22:18 -06:00
Scot Breitenfeld
e5cb3c2a45 fixed #def 2021-01-11 10:19:59 -06:00
Scot Breitenfeld
388bbf4e73 Allow for the HDF5 file format to be compatible with features greater
than HDF5 1.8. This will allow for HDF5 features (VDS, SWMR, new references, etc...)
which may require to have a superblock greater than v2.

See for discussion Ref: Update HDF5 format compatibility Unidata#951
2021-01-11 09:48:04 -06:00
Ward Fisher
af8fd51a37
Merge pull request #1930 from DennisHeimbigner/unmismatch.dmh
Make fillmismatch the default for DAP2 and DAP4
2021-01-08 16:07:25 -07:00
Scot Breitenfeld
efb9b7120b reverted past fix 2021-01-08 11:24:15 -06:00
Scot Breitenfeld
c4279a68b0 Allow for the HDF5 file format to be compatible with features greater than HDF5 1.8, which
may require to have a superblock greater than v2.

Ref: Update HDF5 format compatibility #951
2021-01-08 11:15:10 -06:00
Dennis Heimbigner
a27283e0e6 fix test cases 2021-01-07 19:37:03 -07:00
Dennis Heimbigner
016fd578b3 Merge branch 'master' into unmismatch.dmh 2021-01-07 18:30:57 -07:00
Ward Fisher
21ea018d4a
Merge pull request #1927 from DennisHeimbigner/nczarr_opt2.dmh
Final NCZarr optimizations (for now)
2021-01-07 17:26:52 -07:00
Dennis Heimbigner
3f11e0395d fix tst_fillmismatch.sh 2021-01-07 14:22:45 -07:00
Scot Breitenfeld
ca3d8c10f4 fixed H5O_info_t incompatiblity with H5Oget_info_by_idx3 2021-01-07 14:30:05 -06:00
Dennis Heimbigner
5e5ff8ece9 Make fillmismatch the default for DAP2 and DAP4
re: https://github.com/Unidata/netcdf-c/issues/1614

NetCDF has a requirement that the type of a _FillValue attribute
be the same as the containing variable.  However, it is clear
that too many servers do not honor this requirement.  So, change
the default for DAP2 and DAP4 to allow fill mismatch.
2021-01-07 13:17:53 -07:00