netcdf-c/include
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
..
.gitignore
ceconstraints.h
CMakeLists.txt Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
err_macros.h
fbits.h
hdf4dispatch.h
hdf5dispatch.h
hdf5internal.h Add compatibility function prototype 2022-01-07 18:40:44 -07:00
isnan.h
Makefile.am Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
nc3dispatch.h
nc3internal.h Make sure mode flags are properly defined in netcdf.h 2022-01-11 19:05:46 -07:00
nc4dispatch.h further preparation for try 2 at quantizing 2021-08-24 01:04:55 -06:00
nc4internal.h Add support for setting HDF5 alignment property when creating a file 2022-01-29 15:27:52 -07:00
nc_hashmap.h
nc_logging.h
nc_provenance.h
nc_tests.h
nc.h
ncauth.h Significantly Improve Amazon S3 Cloud Storage Support 2021-09-27 18:36:33 -06:00
ncbytes.h Significantly Improve Amazon S3 Cloud Storage Support 2021-09-27 18:36:33 -06:00
ncconfigure.h Merge branch 'main' into mingw-w64-strcasecmp 2022-01-11 10:45:15 +11:00
nccrc.h
ncdap.h
ncdimscale.h
ncdispatch.h
ncexhash.h
ncexternl.h
ncfilter.h
nchashmap.h
nchttp.h Fix additional S3 support issues 2021-10-29 20:06:37 -06:00
ncindex.h
ncjson.h Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
nclist.h Significantly Improve Amazon S3 Cloud Storage Support 2021-09-27 18:36:33 -06:00
nclog.h 1. Fix an additional flaw in fill_value handling where non-atomic default values were not properly being handled. 2022-01-10 15:27:16 -07:00
ncmodel.h
ncoffsets.h Fix various problem around VLEN's 2022-01-08 18:30:00 -07:00
ncpathmgr.h Support MSYS2/Mingw platform 2021-12-23 22:18:56 -07:00
ncrc.h Add support for setting HDF5 alignment property when creating a file 2022-01-29 15:27:52 -07:00
ncs3sdk.h Get signature of NC_s3sdk*ize correct 2021-11-26 13:59:10 -07:00
nctestserver.h
nctime.h
ncuri.h Add complete bitgroom support to NCZarr 2022-01-24 15:22:24 -07:00
ncurlmodel.h
ncutf8.h
ncxcache.h
ncxml.h Allow optional use of libxml2 2021-11-01 22:37:05 -06:00
netcdf_aux.h Fix various problem around VLEN's 2022-01-08 18:30:00 -07:00
netcdf_dispatch.h.in adding quantize functions to all the dispatch tables 2021-08-24 01:26:44 -06:00
netcdf_f.h
netcdf_filter_build.h Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
netcdf_filter_hdf5_build.h Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
netcdf_filter.h Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
netcdf_json.h Add filter support to NCZarr 2021-09-02 17:04:26 -06:00
netcdf_mem.h
netcdf_meta.h.in First draft of Granular BitGroom feature for netcdf-c 2021-10-20 16:00:32 -07:00
netcdf_par.h
netcdf.h Add support for setting HDF5 alignment property when creating a file 2022-01-29 15:27:52 -07:00
onstack.h
rnd.h
XGetopt.h