netcdf-c/libnczarr
Dennis Heimbigner f3e711e2b8 Add support for setting HDF5 alignment property when creating a file
re: https://github.com/Unidata/netcdf-c/issues/2177
re: https://github.com/Unidata/netcdf-c/pull/2178

Provide get/set functions to store global data alignment
information and apply it when a file is created.

The api is as follows:
````
int nc_set_alignment(int threshold, int alignment);
int nc_get_alignment(int* thresholdp, int* alignmentp);
````

If defined, then for every file created opened after the call to
nc_set_alignment, for every new variable added to the file, the
most recently set threshold and alignment values will be applied
to that variable.

The nc_get_alignment function return the last values set by
nc_set_alignment.  If nc_set_alignment has not been called, then
it returns the value 0 for both threshold and alignment.

The alignment parameters are stored in the NCglobalstate object
(see below) for use as needed. Repeated calls to nc_set_alignment
will overwrite any existing values in NCglobalstate.

The alignment parameters are applied in libhdf5/hdf5create.c
and libhdf5/hdf5open.c

The set/get alignment functions are defined in libsrc4/nc4internal.c.

A test program was added as nc_test4/tst_alignment.c.

## Misc. Changes Unrelated to Alignment

* The NCRCglobalstate type was renamed to NCglobalstate to
  indicate that it represented more general global state than
  just .rc data.  It was also moved to nc4internal.h.  This led
  to a large number of small changes: mostly renaming. The
  global state management functions were moved to nc4internal.c.

* The global chunk cache variables have been moved into
  NCglobalstate.  As warranted, other global state will be moved
  as well.

* Some misc. problems with the nczarr performance tests were corrected.
2022-01-29 15:27:52 -07:00
..
obsolete Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
CMakeLists.txt Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
Makefile.am Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
SimpleBinStream.h This PR adds EXPERIMENTAL support for accessing data in the 2020-06-28 18:02:47 -06:00
zarr.c Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
zarr.h Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zattr.c Update release notes 2022-01-24 15:38:53 -07:00
zcache.h Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zchunking.c More NCZarr optimizations 2021-01-06 13:35:59 -07:00
zchunking.h Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
zclose.c Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
zcreate.c Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
zcvt.c Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
zdebug.c Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
zdebug.h Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zdim.c Provide a Number of fixes/improvements to NCZarr 2020-11-19 17:01:04 -07:00
zdispatch.c Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zdispatch.h Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zfile.c Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zfilter.c Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zfilter.h Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
zgrp.c Provide a Number of fixes/improvements to NCZarr 2020-11-19 17:01:04 -07:00
zincludes.h Move to Version 2 NCZarr Extended Meta-Data 2021-07-17 16:55:30 -06:00
zinternal.c Add support for setting HDF5 alignment property when creating a file 2022-01-29 15:27:52 -07:00
zinternal.h Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zmap_file.c Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
zmap_s3sdk.c Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
zmap_zip.c Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
zmap.c Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
zmap.h Significantly Improve Amazon S3 Cloud Storage Support 2021-09-27 18:36:33 -06:00
zodom.c More NCZarr optimizations 2021-01-06 13:35:59 -07:00
zodom.h More NCZarr optimizations 2021-01-06 13:35:59 -07:00
zopen.c Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
zprov.c Additional Fixes to NCZarr 2020-12-16 20:48:02 -07:00
zprovenance.h This PR adds EXPERIMENTAL support for accessing data in the 2020-06-28 18:02:47 -06:00
zs3sdk.cpp Significantly Improve Amazon S3 Cloud Storage Support 2021-09-27 18:36:33 -06:00
zsync.c Add support for setting HDF5 alignment property when creating a file 2022-01-29 15:27:52 -07:00
ztype.c Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zutil.c Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zvar.c Add support for setting HDF5 alignment property when creating a file 2022-01-29 15:27:52 -07:00
zwalk.c Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
zxcache.c Add support for setting HDF5 alignment property when creating a file 2022-01-29 15:27:52 -07:00