Commit Graph

8929 Commits

Author SHA1 Message Date
Ward Fisher
2f265b7193
Merge branch 'main' into moreszfixes.dmh 2022-09-16 10:51:22 -06:00
Ward Fisher
8173d96d83
Merge pull request #2503 from DennisHeimbigner/zarrfixes4.dmh
Fix some addtional errors in NCZarr
2022-09-14 14:26:00 -06:00
Ward Fisher
dc46ac68f1
Merge pull request #2451 from gsjaardema/patch-54
Minor update to doxygen function documentation
2022-09-14 14:23:24 -06:00
Ward Fisher
826ddb0273
Merge pull request #2504 from WardF/hdf5_github_action_update.wif
Update hdf5 version in github actions.
2022-09-14 14:22:28 -06:00
Dennis Heimbigner
db86c2c75a Update release notes 2022-09-09 19:30:38 -06:00
Ward Fisher
9b9fcfb6ba Update hdf5 version in github actions. 2022-09-09 16:15:42 -06:00
Dennis Heimbigner
1a45ee025f Fix some addtional errors in NCZarr
re: Issue https://github.com/Unidata/netcdf-c/issues/2502

H/T Charlie Zender

* Fix NCZarr handling of endianness value NC_ENDIAN_NATIVE. This now matches how it is handled in libhdf5
* Fix NCZarr handling of char typed attribute with value "". This now matches how it is handled in libhdf5
* Add test for various char attribute values
* Change the mapping of NC_CHAR and NC_STRING to dtype; requires changing some test files also.
* Optimize the testing for NC_ENOTBUILT in NC_open.
* Turn off debugging left on accidentally
* Fix memory leak in tst_pnetcdf.c
* Fix blosc test
2022-09-09 14:25:24 -06:00
Ward Fisher
4fdfb6c911
Merge pull request #2501 from WardF/error-code-list.wif
Adding all-error-codes.md back in to distribution documentation.
2022-09-08 17:06:00 -06:00
Ward Fisher
9c09966896
Merge pull request #2482 from WardF/gh2481.wif
Changed attribute case in documentation
2022-09-08 16:38:29 -06:00
Ward Fisher
0c5fc4c2cd Doxygen update, reorganizing. 2022-09-08 16:36:53 -06:00
Ward Fisher
60552dbc65 Updating doxygen files. 2022-09-08 16:28:43 -06:00
Ward Fisher
6cf6677b2c Remove obsolete tags from Doxyfile. 2022-09-08 16:21:39 -06:00
Ward Fisher
0d24a1c278 Adding all-error-codes.md back in to distribution documentation. 2022-09-08 16:16:21 -06:00
Ward Fisher
bfc9fca882
Merge pull request #2491 from DennisHeimbigner/splitrem.dmh
Add option to control accessing external servers
2022-09-08 12:21:51 -06:00
Dennis Heimbigner
4fd290cb4b Fix conflicts 2022-09-08 11:15:26 -06:00
Ward Fisher
4627938415
Merge pull request #2461 from DennisHeimbigner/bloscfix.dmh
Fix some bugs in the blosc filter wrapper
2022-09-06 16:58:28 -06:00
Ward Fisher
c489aad975
Merge branch 'main' into bloscfix.dmh 2022-09-06 15:50:01 -06:00
Ward Fisher
bee23ee026
Merge pull request #2497 from DennisHeimbigner/zarrfixes3.dmh
Fix some problems with PR 2492
2022-09-06 15:49:26 -06:00
Ward Fisher
0d17edf2ea
Merge branch 'main' into bloscfix.dmh 2022-09-06 13:49:18 -06:00
Dennis Heimbigner
00a80ec8f9 Catch Xarray dimension inconsistencies 2022-09-04 13:45:29 -06:00
Dennis Heimbigner
7e48f2ad7b Fix missing files 2022-09-03 14:57:48 -06:00
Dennis Heimbigner
0349acbc87 Merge branch 'zarrfixes3.dmh' of https://github.com/DennisHeimbigner/netcdf-c into zarrfixes3.dmh 2022-09-03 14:54:58 -06:00
Dennis Heimbigner
be88b66390 Update Release Notes 2022-09-03 14:54:18 -06:00
Dennis Heimbigner
85577f4275 Update release notes 2022-09-03 14:43:56 -06:00
Dennis Heimbigner
6abaab967b Fix some problems with PR https://github.com/Unidata/netcdf-c/pull/2492
re: PR https://github.com/Unidata/netcdf-c/pull/2492
re: Issue https://github.com/Unidata/netcdf-c/issues/2494

This PR fixes some problems with the pull request https://github.com/Unidata/netcdf-c/pull/2492 in response to Issue https://github.com/Unidata/netcdf-c/issues/2494.

* Found and fixed more scalar handling problems and add a test case for scalars.
* Cleanup nczarr_test/run_string.sh test
* Document *_nczarr_default_maxstrlen* and *_nczarr_maxstrlen*.

* Support both "Nan" and *Nan* as being floating point constants
  for attributes. It is unclear from the Zarr V2 spec if
  unquoted *Nan* is legal or not, but support for reading.
  Write the quoted versions when writing an attribute.  Similar
  for Infinity constants.
  So NCZarr supports the following constants for use in Attributes
    * *Nan*, "Nan", *-Nan*, "-Nan"
    * *Nanf*, "Nanf", *-Nanf*, "-Nanf"
    * *Infinity*, "Infinity", *-Infinity*, "-Infinity"
    * *Infinityf*, "Infinityf", *-Infinityf*, "-Infinityf"
2022-09-03 14:21:48 -06:00
Dennis Heimbigner
57b1d9f7f8 update file permission 2022-09-03 14:21:36 -06:00
Ward Fisher
fe29b16318
Merge pull request #2493 from WardF/gh2492.wif
Remove stray merge conflict markers
2022-08-30 16:48:30 -06:00
Ward Fisher
fae0f1fab6 Remove stray conflict markers that made their way into the branch. 2022-08-30 15:07:50 -06:00
Dennis Heimbigner
f4e181bc99 Update nczarr documentation 2022-08-29 12:01:23 -06:00
Dennis Heimbigner
c9af92df8c conflicts 2022-08-28 13:26:20 -06:00
Dennis Heimbigner
d0aff6ac3a Fix LGTM alert: too few args 2022-08-27 21:35:04 -06:00
Dennis Heimbigner
4dc7050dfb update release notes 2022-08-27 20:30:54 -06:00
Dennis Heimbigner
c9205aea1f Update release notes" 2022-08-27 20:29:46 -06:00
Dennis Heimbigner
231ae96c4b Add support for Zarr string type to NCZarr
* re: https://github.com/Unidata/netcdf-c/pull/2278
* re: https://github.com/Unidata/netcdf-c/issues/2485
* re: https://github.com/Unidata/netcdf-c/issues/2474

This PR subsumes PR https://github.com/Unidata/netcdf-c/pull/2278.
Actually is a bit an omnibus covering several issues.

## PR https://github.com/Unidata/netcdf-c/pull/2278
Add support for the Zarr string type.
Zarr strings are restricted currently to be of fixed size.
The primary issue to be addressed is to provide a way for user to
specify the size of the fixed length strings. This is handled by providing
the following new attributes special:
1. **_nczarr_default_maxstrlen** —
This is an attribute of the root group. It specifies the default
maximum string length for string types. If not specified, then
it has the value of 64 characters.
2. **_nczarr_maxstrlen** —
This is a per-variable attribute. It specifies the maximum
string length for the string type associated with the variable.
If not specified, then it is assigned the value of
**_nczarr_default_maxstrlen**.

This PR also requires some hacking to handle the existing netcdf-c NC_CHAR
type, which does not exist in zarr. The goal was to choose numpy types for
both the netcdf-c NC_STRING type and the netcdf-c NC_CHAR type such that
if a pure zarr implementation read them, it would still work and an
NC_CHAR type would be handled by zarr as a string of length 1.

For writing variables and NCZarr attributes, the type mapping is as follows:
* "|S1" for NC_CHAR.
* ">S1" for NC_STRING && MAXSTRLEN==1
* ">Sn" for NC_STRING && MAXSTRLEN==n

Note that it is a bit of a hack to use endianness, but it should be ok since for
string/char, the endianness has no meaning.

For reading attributes with pure zarr (i.e. with no nczarr
atribute types defined), they will always be interpreted as of
type NC_CHAR.

## Issue: https://github.com/Unidata/netcdf-c/issues/2474
This PR partly fixes this issue because it provided more
comprehensive support for Zarr attributes that are JSON valued expressions.
This PR still does not address the problem in that issue where the
_ARRAY_DIMENSION attribute is incorrectly set. Than can only be
fixed by the creator of the datasets.

## Issue: https://github.com/Unidata/netcdf-c/issues/2485
This PR also fixes the scalar failure shown in this issue.
It generally cleans up scalar handling.
It also adds a note to the documentation describing that
NCZarr supports scalars while Zarr does not and also how
scalar interoperability is achieved.

## Misc. Other Changes
1. Convert the nczarr special attributes and keys to be all lower case. So "_NCZARR_ATTR" now used "_nczarr_attr. Support back compatibility for the upper case names.
2. Cleanup my too-clever-by-half handling of scalars in libnczarr.
2022-08-27 20:21:13 -06:00
Dennis Heimbigner
8774625c21 Add option to control accessing external servers
Add options
"--enable-external-server-tests" (automake)
"-DENABLE_EXTERNAL_SERVER_TESTS" (cmake)
to enable/disable tests that access
external URLS, where an external URL refers to some server not
directly under the control of netcdf-c.
This option defaults to off.

The reason for this PR is that external servers can be up or down
or change content without any warning to us, thus causing some
of our tests to fail.

Additionally. and recently, the thredds-test server was shut
down and some of our tests used it. So these tests are disabled
until a suitable replacement server is available.

## Misc. Fixes
* Bump the depth of trace support in nclog.c to avoid overflow
2022-08-27 14:24:47 -06:00
Ward Fisher
9cc8831fc8
Merge pull request #2488 from WardF/gh2487.wif
Address jump-misses-init issue.
2022-08-24 10:53:39 -06:00
Ward Fisher
e3c43deba6 Address jump-misses-init issue. 2022-08-24 10:07:00 -06:00
Ward Fisher
435769f248 Changed attribute case in documentation in support of https://github.com/Unidata/netcdf-c/issues/2481 2022-08-19 13:28:51 -06:00
Ward Fisher
12a9083fb3
Merge pull request #2470 from dzenanz/main
Fix AWS SDK linking errors
2022-08-16 12:27:33 -06:00
Ward Fisher
5ccb71d7a3
Merge pull request #1701 from magnusuMET/bugfix/musl_build
fix musl build
2022-08-12 15:09:59 -06:00
Dennis Heimbigner
5a859cf2a8 nodebug 2022-08-06 13:35:36 -06:00
Dennis Heimbigner
5f2ac0117c debug1 2022-08-06 12:38:09 -06:00
Dennis Heimbigner
44e9899806 Windows specific blosc fixed 2022-08-05 17:00:40 -06:00
Dennis Heimbigner
517cb6e816 Fix master conflicts 2022-08-05 13:09:03 -06:00
Dženan Zukić
bb1e0c3dd2 Fix AWS SDK linking errors
The error messages were of the style:

LINK : fatal error LNK1181: cannot open input file 'aws-crt-cpp.lib'
2022-08-03 09:59:06 -04:00
Ward Fisher
b03988e735
Merge pull request #2466 from DennisHeimbigner/fixedstring.dmh
Fix support for reading arrays of HDF5 fixed size strings
2022-08-02 16:41:13 -06:00
Dennis Heimbigner
2b45c7ec84 Fix support for reading arrays of HDF5 fixed size strings
re: https://github.com/Unidata/netcdf-c/issues/2159

There was error in libhdf5 that only allowed reading a single
value HDF5 fixed string. Fix to allow reading an array of such strings.
Also make sure it still works for scalars and for attributes.
Add a testcase: nc_test4/tst_fixedstring.sh.
2022-07-29 14:47:07 -06:00
Ward Fisher
5ebc855ed6
Merge pull request #2462 from DennisHeimbigner/enumdfalt.dmh
Provide a default enum const when fill value does not match any enum constant
2022-07-27 09:20:15 -06:00
Ward Fisher
ba37c0af9f
Merge branch 'main' into enumdfalt.dmh 2022-07-26 15:23:40 -06:00
Ward Fisher
62ae05d6d0
Merge pull request #2457 from edwardhartnett/ejh_test_quantize_3
more quantize testing and adding pre-processor constant NC_MAX_FILENAME to nc_tests.h
2022-07-25 15:59:50 -06:00