Commit Graph

8092 Commits

Author SHA1 Message Date
Dennis Heimbigner
dec9e74107 logdepend 2021-04-25 13:41:50 -06:00
Dennis Heimbigner
1f51ec56aa LGTM cleanup 2021-04-24 21:44:57 -06:00
Dennis Heimbigner
ed70a2e463 try 2: fix test properties 2021-04-24 20:49:03 -06:00
Dennis Heimbigner
05b4046173 try 1: fix test properties 2021-04-24 20:41:59 -06:00
Dennis Heimbigner
f3d118bfa1 reset action signals 2021-04-24 19:54:41 -06:00
Dennis Heimbigner
6ef02261f0 Update RELEASE NOTES 2021-04-24 19:53:18 -06:00
Dennis Heimbigner
74b40fd788 Upgrade the nczarr code to match Zarr V2
Re: https://github.com/zarr-developers/zarr-python/pull/716

The Zarr version 2 spec has been extended to include the ability
to choose the dimension separator in chunk name keys. The legal
separators has been extended from {'.'} to {'.' '/'}.  So now it
is possible to use a key like "0/1/2/0" for chunk names.

This PR implements this for NCZarr. The V2 spec now says that
this separator can be set on a per-variable basis. For now, I
have chosen to allow this be set only globally by adding a key
named "ZARR.DIMENSION_SEPARATOR=<char>" in the
.daprc/.dodsrc/ncrc file. Currently, the only legal separator
characters are '.' (the default) and '/'. On writing, this key
will only be written if its value is different than the default.
This change caused problems because supporting a separator of '/'
is difficult to parse when keys/paths use '/' as the path separator.
A test case was added for this.

Additionally, make nczarr be enabled default by default. This required
some additional changes so that if zip and/or AWS S3 sdk are unavailable,
then they are disabled for NCZarr.

In addition the following unrelated changes were made.

1. Tested that pure-zarr mode could read an nczarr formatted store.
1. The .rc file handling now merges all known .rc files (.ncrc,.daprc, and .dodsrc) in that order and using those in HOME first, then in current directory. For duplicate entries, the later ones override the earlier ones. This change is to remove some of the conflicts inherent in the current .rc file load process. A set of test cases was also added.
1. Re-order tests in configure.ac and CMakeLists.txt so that if libcurl
   is not found then the other options that depend upon it properly
   are disabled.
1. I decided that xarray support should be enabled by default for pure
   zarr. In order to allow disabling, I added a new mode flag "noxarray".
1. Certain test in nczarr_test depend on use of .dodsrc. In order for these
   to work when testing in parallel, some inter-test dependencies needed to
   be added.
1. Improved authorization testing to use changes in thredds.ucar.edu
2021-04-24 19:48:15 -06:00
Ward Fisher
706e33b056
Merge pull request #1989 from DennisHeimbigner/shellfix.dmh
Fix shell handling of escapes
2021-04-22 16:14:23 -06:00
Dennis Heimbigner
2bdc00cf4d Update RELEASENOTES 2021-04-21 15:03:50 -06:00
Dennis Heimbigner
efd1be5d62 Fix shell handling of escapes
re: https://github.com/Unidata/netcdf-c/issues/1988

There was an issue with certain shell programs (bash notably).
For certain platforms and when given a url that had an escaped
'#' character (e.g. \\#) bash would not remove the backslash. So I
had to add a hack for this. Unfortunately I overdid it and it
removed all '' characters. This is ok for non-windows platforms,
but obviously fails for windows.

The fix is this.

1. In a utility program (ncgen, ncdump, nccopy, etc) there is probably a call (or calls) to NC_backslashUnescape(xxx) where xxx is a path argument from the command line.
2. Replace each such call with NC_shellUnescape(xxx).

The NC_shellUnescape function was added and searched only for occurrences of "\#" and replaces them with "#".
2021-04-21 14:59:15 -06:00
Dennis Heimbigner
c984b3a428 fix CMake error 2021-04-16 18:54:35 -06:00
Dennis Heimbigner
fd261280dc Update release notes 2021-04-16 16:17:32 -06:00
Dennis Heimbigner
e07e32d552 Add test case 2021-04-16 16:12:53 -06:00
Dennis Heimbigner
fb8cf4b8f1 Fix ncdump bug when printing VLENs with basetype char 2021-04-16 15:53:05 -06:00
Dennis Heimbigner
ddd9819c7b Merge branch 'master' into authfix.tmp 2021-04-14 15:42:11 -06:00
Dennis Heimbigner
f720c5edbe try18 2021-04-14 15:14:14 -06:00
Ward Fisher
67c640f1b8
Merge pull request #1984 from DennisHeimbigner/kwaliasfix.dmh
Fix the handling of certain alias types in CDL files.
2021-04-14 14:20:56 -06:00
Dennis Heimbigner
30ee9914e2 Update release notes 2021-04-14 11:23:33 -06:00
Dennis Heimbigner
ac421620b3 Fix the handling of certain alias types on CDL files.
re: https://github.com/Unidata/netcdf-c/issues/1977

PR https://github.com/Unidata/netcdf-c/pull/1753, changed ncgen
to allows certain type names to be used as identifiers in
selected situations.

An unwanted side effect was that existing type aliases no longer
were accepted by ncgen. Specifically, using the "long" type
caused an error.

I was able to figure out a better solution to the original
problem (https://github.com/Unidata/netcdf-c/issues/1750)
that also fixes this problem as well.

This PR fixes that problem in ncgen/ncgen.l,
and adds tests to ncdump/test_keywords.sh
2021-04-13 16:56:43 -06:00
Ward Fisher
802916a914 Addressing some uninitialized variables to see if there is an effect on compiler optimizations. Good practice to have these fixed in any event. 2021-04-13 11:45:33 -06:00
Ward Fisher
1e99bb4a7c
Merge pull request #1979 from opoplawski/builddir
Fix out of tree builds with configure
2021-04-12 16:07:54 -06:00
Ward Fisher
bcadaf3839
Merge pull request #1980 from opoplawski/test
Fix tst_h_atts3 for hdf5 1.12
2021-04-12 16:07:24 -06:00
Orion Poplawski
9fc8ae62a8 Fix tst_h_atts3 for hdf5 1.12 2021-04-10 19:51:58 -06:00
Orion Poplawski
031b93a0f8 Fix out of tree builds with configure - add $(top_builddir)/include to include directory search 2021-04-10 17:57:55 -06:00
Dennis Heimbigner
665fb1c066 Merge branch 'master' into authfix.tmp 2021-04-09 15:49:21 -06:00
Dennis Heimbigner
304b5f7e72 actions 2021-04-09 15:45:51 -06:00
Dennis Heimbigner
52b71b3d30 ckp 2021-04-09 15:45:06 -06:00
Ward Fisher
e38078d14f
Merge pull request #1952 from DennisHeimbigner/nczarr_xarray.dmh
Add support for the XArray Zarr _ARRAY_DIMENSIONS attribute
2021-04-08 13:01:29 -06:00
Dennis Heimbigner
2e1438c444 ckp 2021-04-06 21:43:42 -06:00
Dennis Heimbigner
cb9c0c90e0 update actions 2021-04-06 13:42:30 -06:00
Dennis Heimbigner
e20e630c88 merge master and fix conflicts 2021-04-06 13:39:58 -06:00
Dennis Heimbigner
c1a9917f80 Merge branch 'master' into authfix.tmp 2021-04-06 13:31:07 -06:00
Dennis Heimbigner
02bca8fae7 force tests to rerun 2021-04-02 19:05:58 -06:00
Dennis Heimbigner
0454d8e235 Addendum: This PR has been extended to include
interoperability fixed. We were given a Zarr format dataset
stored as a directory+file tree. This dataset uses the XArray
conventions and was generated by some non-Unidata Zarr implementation.
In attempting to process it with NCZarr, several interoperability
problems were discovered and fixed. This gives us more confidence
that NCZarr -- using pure zarr -- can interoperate with other
Zarr implementations.

Specific changes:
* Add test nczarr_test/run_interop.sh
* Support attributes with single value not enclosed in JSON array tags.
* Add mode inferencing and use it in nczarr_test/run_purezarr.sh
* Reduce size of tst_err_enddef.nc because it is more than 3 GB.
2021-04-02 18:39:50 -06:00
Dennis Heimbigner
727dd6861e Merge branch 'master' into nczarr_xarray.dmh 2021-04-02 18:29:39 -06:00
Ward Fisher
9bf69804a1
Merge pull request #1976 from Unidata/gh1969.wif
PR1970 + Release Notes
2021-04-02 11:22:34 -06:00
Ward Fisher
37f69e1f74 Updated release notes. 2021-04-02 10:54:24 -06:00
Ward Fisher
acc8e769ee Merge branch 'bzip2108.dmh' of https://github.com/DennisHeimbigner/netcdf-c into gh1969.wif 2021-04-02 10:53:31 -06:00
Dennis Heimbigner
e038553abe Update RELEASE_NOTES.md 2021-04-01 14:12:49 -06:00
Dennis Heimbigner
e7c4e7ead1 add zjson fix 2021-04-01 13:56:04 -06:00
Ward Fisher
f01e4f1027
Merge pull request #1975 from Unidata/gh1962.wif
Refactored the HDF5 version detection logic in CMakeLists.txt
2021-04-01 13:04:41 -06:00
Ward Fisher
ad51b0a79a Updated release notes, made if-block syntax more verbose. 2021-04-01 11:46:44 -06:00
Ward Fisher
35bf5f4b79 Corrected a typo. 2021-04-01 11:43:15 -06:00
Ward Fisher
17b4c2bebb Refactored the HDF5 version detection logic in CMakeLists.txt in support of https://github.com/Unidata/netcdf-c/issues/1962 2021-04-01 11:24:11 -06:00
Ward Fisher
5b40de1267
Merge pull request #1974 from gsjaardema/patch-49
Fix use of ininitialized CMake variable
2021-04-01 09:43:00 -06:00
Greg Sjaardema
6118776d60
Fix use of ininitialized CMake variable
The `ISCMAKE` was defined after its first use in a `configure_file` call.  Moved to before its first use.
2021-04-01 08:13:13 -06:00
Dennis Heimbigner
9a4badaf16 ckp 2021-03-31 21:56:36 -06:00
Greg Sjaardema
2e6af31e5f
Fix some HDF5-related tests
Some of the tests for HDF5 symbols are failing due to not finding the include file which skews the test results.  Added the `CMAKE_REQUIRED_INCLUDES` command to set the path.  In one place this was already set, but used `HAVE_HDF5_H` which is not an include path and isn't even set at the location where it was used.  We may not need these set more than once, but I added them before each `CHECK_C_SOURCE_COMPILES` in case those blocks get moved around and the value gets unset when it should be set.

Also changed the `H5Literate_vers` check to check  that it is defined instead of checking the value.  As best I can see, as long as it is defined, then the `H5Literate` symbol will be defined which is what is needed.  Checked with 1.10.7 and 1.12.0
2021-03-31 14:08:40 -06:00
Philippe Antoine
5c0dd4d6d4 Adds fuzz target for oss-fuzz integration 2021-03-31 11:27:27 +02:00
Ward Fisher
790a1a2a06
Merge pull request #1961 from Unidata/4.8.0-wellspring.wif
Selectively merge relevant changes and updates back upstream from the 4.8.0 prep branch.
2021-03-30 16:40:55 -06:00