Commit Graph

8521 Commits

Author SHA1 Message Date
Charlie Zender
d509396d16 Fix mis-copied comparator 2022-02-21 10:07:57 -08:00
Charlie Zender
dff2cb56ec
Merge branch 'Unidata:main' into csz_bitround 2022-02-20 13:35:59 -08:00
Charlie Zender
4264ee817d Add missing BitRound block to zsync.c 2022-02-20 13:00:37 -08:00
Dennis Heimbigner
78f8dad82b Update Release Notes 2022-02-19 17:22:11 -07:00
Charlie Zender
3299ba534b Add BitRound to ncgen 2022-02-19 16:08:36 -08:00
Charlie Zender
7b8c39f722 Change name to _QuantizeGranularBitRoundNumberOfSignificantDigits. Change identifier from QUANTIZEBR to QUANTIZEGBR to make room for new BitRound token = BR. 2022-02-19 15:55:36 -08:00
Dennis Heimbigner
9b7202bf06 Explicitly disallow variable length type compression
re: https://github.com/Unidata/netcdf-c/issues/2189

Compression of a variable whose type is variable length
fails for all current filters. This is because at some point,
the compression buffer will contain pointers to data instead
of the actual data. Compression of pointers of course is meaningless.

The PR changes the behavior of nc_def_var_filter so that it will
fail with error NC_EFILTER if an attempt is made to add a filter
to a variable whose type is variable-length.

A variable is variable-length if it is of type string or VLEN
or transitively (via a compound type) contains a string or VLEN.

Also added a test case for this.

## Misc Changes
1. Turn off a number of debugging statements
2022-02-19 16:47:31 -07:00
Charlie Zender
b4969df1ef Set bit_xpl_nbr_sgn_dbl=52 not 53. No longer add additional bit to prc_bnr_xpl_rqr for BitGroom NC_DOUBLE. Bugfix maintains original BG behavior, fixes corner case. 2022-02-19 14:48:08 -08:00
xantares
1eb6b28820 cmake: list zip libs before szip
as szip libs references libz as optimized, the REMOVE_DUPLICATES strips zlib out of TLL_LIBS but not its optimized keyword resulting in an invalid list
just list zip before fixes the issue (or removing the REMOVE_DUPLICATES of TLL_LIBS)
2022-02-19 12:37:24 +01:00
Charlie Zender
72eb8b2ce2 Fix bone-headed stuff. tst_quantize and tst_filter remain borken. 2022-02-18 12:06:28 -08:00
Charlie Zender
a74d3573e5 First draft of BitRound implementation 2022-02-18 11:00:37 -08:00
Ward Fisher
a7465d46cb
Merge pull request #2216 from edwardhartnett/ejh_logging
Better handling of logging for parallel I/O builds
2022-02-16 15:48:29 -07:00
Greg Sjaardema
c746c11539
Merge branch 'main' into dimscale_attachement_optional 2022-02-16 11:47:14 -07:00
Ward Fisher
53fdee6757
Merge pull request #2218 from scivision/main
CMake: CMP0075 requires CMake >= 3.12.
2022-02-10 10:48:34 -07:00
Dennis Heimbigner
2a9edc8969 Update Release Notes (2) 2022-02-08 22:25:51 -07:00
Dennis Heimbigner
c0f086fc14 Update Release Notes 2022-02-08 20:55:23 -07:00
Dennis Heimbigner
36102e3c32 Improve UTF8 Support On Windows
re: Issue https://github.com/Unidata/netcdf-c/issues/2190

The primary purpose of this PR is to improve the utf8 support
for windows. This is persuant to a change in Windows that
supports utf8 natively (almost). The almost means that it is
still utf16 internally and the set of characters representable
by utf8 is larger than those representable by utf16.

This leaves open the question in the Issue about handling
the Windows 1252 character set.

This required the following changes:

1. Test the Windows build and major version in order to see if
   native utf8 is supported.
2. If native utf8 is supported, Modify dpathmgr.c to call the 8-bit
   version of the windows fopen() and open() functions.
3. In support of this, programs that use XGetOpt (Windows versions)
   need to get the command line as utf8 and then parse to
   arc+argv as utf8. This requires using a homegrown command line parser
   named XCommandLineToArgvA.
4. Add a utility program called "acpget" that prints out the
   current Windows code page and locale.

Additionally, some technical debt was cleaned up as follows:

1. Unify all the places which attempt to read all or a part
   of a file into the dutil.c#NC_readfile code.
2. Similary unify all the code that creates temp files into
   dutil.c#NC_mktmp code.
3. Convert almost all remaining calls to fopen() and open()
   to NCfopen() and NCopen3(). This is to ensure that path management
   is used consistently. This touches a number of files.
4. extern->EXTERNL as needed to get it to work under Windows.
2022-02-08 20:53:30 -07:00
Michael Hirsch
1c607a1e6c
CMake: CMP0075 requires CMake >= 3.12.
The presence of cmake_policy(CMP0075 required CMake >=3.12, and
errors with older CMake. Since older versions of CMake than 3.12
are already broken with NetCDF and uncommon nowadays, it may be
better to explicitly require 3.12 or newer.
2022-02-07 11:15:08 -05:00
Edward Hartnett
4e4e167817 turned logging back on in one test 2022-02-04 14:46:28 -07:00
Edward Hartnett
34cc3fe005 turned off logging in test 2022-02-04 14:45:31 -07:00
Edward Hartnett
82039029ff turned off logging in test 2022-02-04 14:44:38 -07:00
Edward Hartnett
526849612a better handling of logging for parallel I/O builds 2022-02-04 14:38:25 -07:00
Edward Hartnett
927900e0e9 removing unneeded file error4.c 2022-02-04 10:36:21 -07:00
Edward Hartnett
c967557787 starting to make logging output files for each process for parallel IO builds 2022-02-04 10:35:15 -07:00
Ward Fisher
46149b2d75
Merge pull request #2209 from Dave-Allured/format-compat-function-doc
hdf5set_format_compatibility.c: Update new function documentation.
2022-02-01 17:20:39 -07:00
Ward Fisher
51c064e20f
Merge pull request #2210 from WardF/gh2166.wif
Address issue with `make dist` generated tarballs, subsequent cmake builds
2022-02-01 12:30:23 -07:00
Dave Allured
c05284b710
Release notes for #2176, format compatibility
* Add current release note for #2176.
* Add missing note for #951 in release 4.8.0.
* Improve related old note for release 4.4.1.  Better consistency with recent updates.
2022-02-01 12:05:27 -07:00
Dave Allured
223639145c
Release notes: fix link and spelling
Link fix, and a few things from my spell checker.
2022-02-01 12:00:10 -07:00
Ward Fisher
0eb753a86e Adding a missing reference file. 2022-02-01 11:48:27 -07:00
Ward Fisher
dcf3b3be65 Adding a missing file to make dist. 2022-02-01 11:46:01 -07:00
Ward Fisher
375beee9f1 Cleaning up make dist, it's generating tarballs that don't work with cmake. 2022-02-01 11:40:01 -07:00
Dave Allured
d1620e3a75
hdf5set_format_compatibility.c: Function docs.
Comment change only.  Add one paragraph.  Explain the reason for the third argument to H5Pset_libver_bounds.  Simplifies experimental code using advanced features.
2022-02-01 09:58:36 -07:00
Dennis Heimbigner
4077594a55 Remove conflicts; does not work with OSX 2022-01-31 17:16:23 -07:00
Ward Fisher
2ee42b4d00
Merge pull request #2208 from Dave-Allured/CI-update-hdf5-1.8.22
CI: Update HDF5 testing 1.8.21 --> 1.8.22
2022-01-31 16:20:28 -07:00
Ward Fisher
832e0c6dae
Merge pull request #2205 from WardF/gh2196.wif
Correct the accidental removal of NOUNDEFINED in liblib/Makefile.am
2022-01-31 15:27:50 -07:00
Dave Allured
0b15d5a0ab
CI: Update HDF5 testing 1.8.21 --> 1.8.22
Update matrix for latest HDF5 1.8.22.
Released 2021 February 5.
https://portal.hdfgroup.org/display/support/HDF5%201.8.22
2022-01-31 15:14:29 -07:00
Dennis Heimbigner
6a3dfc2d31 Update against main to remove conflicts 2022-01-31 12:23:27 -07:00
Dennis Heimbigner
a1defd750f Update release notes 2022-01-29 16:04:09 -07:00
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
Ward Fisher
2e34d6085f Correct the accidental removal of NOUNDEFINED, as reported in https://github.com/Unidata/netcdf-c/issues/2196 2022-01-28 16:46:23 -07:00
Ward Fisher
8b328d1207
Merge pull request #2197 from DennisHeimbigner/zquantize.dmh
Add complete bitgroom support to NCZarr
2022-01-28 16:20:00 -07:00
Ward Fisher
a0524208ad
Merge pull request #2204 from WardF/gh2203.wif
Correct a memory leak as reported in #2203
2022-01-28 15:59:13 -07:00
Ward Fisher
df52eb7805 Correct a memory leak as reported in https://github.com/Unidata/netcdf-c/issues/2203 2022-01-28 14:47:09 -07:00
Dennis Heimbigner
610d8ebf51 Fix conflicts with main 2022-01-28 13:12:03 -07:00
Dennis Heimbigner
89cc20a20d Rename GranularBitGroom to GranularBitRound
As per Charlie Zender's request (https://github.com/Unidata/netcdf-c/pull/2197#issuecomment-1022762863), the GranularBitGroom name is changed to GranularBitRound
with attendant code changes.
2022-01-28 13:04:16 -07:00
Ward Fisher
e034e76ac3
Merge pull request #2202 from WardF/gh1636.wif
Merge #1636
2022-01-27 13:55:03 -07:00
Ward Fisher
fb59a724d7 Modify cmakelists.txt to generate oc2 auth html file whenever a doxygen-enabled build is run. 2022-01-27 13:09:52 -07:00
Ward Fisher
b07f1cd952 Merge branch 'NUG_clean_ethan' of https://github.com/ethanrd/netcdf-c into gh1636.wif 2022-01-27 12:54:06 -07:00
Ward Fisher
58199ee46c
Merge pull request #2201 from WardF/gh2152.wif
Resolvee conflict in PR 2152
2022-01-25 13:15:17 -07:00
Ward Fisher
4d13f8ef7e Merge branch 'stratus.dmh' of https://github.com/DennisHeimbigner/netcdf-c into gh2152.wif 2022-01-25 11:20:20 -07:00