Commit Graph

601 Commits

Author SHA1 Message Date
Ed Hartnett
56a57a57f0 bring in changes from lazy vars branch 2018-08-06 10:57:19 -06:00
Ed Hartnett
b9afdee6cd merged master 2018-07-31 19:44:28 -06:00
Dennis Heimbigner
b02703aa24 This PR primarily addresses Issue https://github.com/Unidata/netcdf-c/issues/725.
After a long discussion, I implemented the rules at the end of that issue.
They are documented in nccopy.1.

Additionally, I added a new, per-variable, -c flag that allows
for the direct setting of the chunking parameters for a variable.
The form is
    -c var:c1,c2,...ck
where var is the name of the variable (possibly a fully qualified name)
and the ci are the chunksizes for that variable. It must be the case
that the rank of the variable is k. If the new form is used as well
as the old form, then the new form overrides the old form for the
specified variable. Note that multiple occurrences of the new form
-c flag may be specified.

Misc. Other fixes
1. Added -M <size> option to nccopy to specify the minimum
   allowable chunksize.
2. Removed the unused variables from bigmeta.c
   (Issue https://github.com/Unidata/netcdf-c/issues/1079)
3. Fixed failure of nc_test4/tst_filter.sh by using the new -M
   flag (#1) to allow filter test on a small chunk size.
2018-07-26 20:16:02 -06:00
Ed Hartnett
5631fa512a merged master 2018-07-24 01:51:51 -06:00
Ed Hartnett
b56a8edcc9 code cleanup 2018-07-21 09:09:12 -06:00
Ed Hartnett
7aed50a902 performance test for fast global att reads 2018-07-21 07:29:12 -06:00
Ed Hartnett
8fdea13227 merged ejh_change_attsperf 2018-07-20 12:27:19 -06:00
Ed Hartnett
cafd2eaaf9 more changes to hande different scales 2018-07-20 12:19:20 -06:00
Ed Hartnett
4dbcd03f02 fixed num_vars bug 2018-07-20 09:43:53 -06:00
Ed Hartnett
0f21e3495e changed tst_attsperf 2018-07-20 06:26:42 -06:00
Ward Fisher
b1078c13f0 Merge branch 'ejh_hdf5internal' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into pr-aggregation.wif 2018-07-18 14:12:26 -06:00
Ward Fisher
35d1d73e53
Merge branch 'master' into patch-24 2018-07-17 10:58:58 -06:00
Ed Hartnett
396124c0ca merged ejh_hdf5internal 2018-07-17 07:56:09 -06:00
Ed Hartnett
d801425b78
Merge branch 'master' into ejh_hdf5internal 2018-07-14 13:01:14 -06:00
Ed Hartnett
3a08d85e13 clean up 2018-07-12 07:08:27 -06:00
Ed Hartnett
786c5a8f2e moved hdf5 specific header stuff to hdf5internal.h 2018-07-12 07:05:21 -06:00
Greg Sjaardema
c3f63b6ffe Enable metadata_perf test in CMake build
Currently defaults to enabled, can change top-level
CMakeLists.txt file to change default to disabled
2018-07-11 13:40:31 -04:00
Greg Sjaardema
1eb2504043
Fix missing ERR in tst_parallel5.c
Missing the ERR macro for a few tests in tst_parallel5.c
2018-07-10 08:12:04 -04:00
Ed Hartnett
0fed77be82 fixed warning 2018-07-06 06:32:09 -06:00
Dennis Heimbigner
30a4dea21c Disable tst_varsperf; should only be run manually 2018-06-26 15:14:31 -06:00
Ed Hartnett
97faffe072 fixed test issue 2018-06-21 06:51:45 -06:00
Ed Hartnett
d5baca7f97 fixed test issue 2018-06-21 06:36:12 -06:00
Ed Hartnett
eafe151f13 added test 2018-06-19 14:59:07 -06:00
Ed Hartnett
2dc6676bd8 now checking for classic model 2018-06-19 07:30:08 -06:00
Ed Hartnett
828fa3e0a5 changes to tst_varsperf to remove asserts 2018-06-12 07:30:49 -06:00
Ed Hartnett
fb570522bc merged in ejh_fix_user_type 2018-06-12 06:49:40 -06:00
Ed Hartnett
752030f59a merged ejh_test_exten_unlim_no_coord 2018-06-12 06:22:26 -06:00
Ed Hartnett
9e5924ebb4
Merge branch 'master' into ejh_more_testing 2018-06-11 15:58:36 -06:00
Ed Hartnett
12db5e22f3 added test of extending unlimited dim with no coord var 2018-06-11 06:17:52 -06:00
Ward Fisher
5fe7d0ffad
Merge branch 'master' into ejh_udf 2018-06-08 16:52:20 -06:00
Ward Fisher
df4942d280 Merge branch 'master' into vars.dmh 2018-06-08 15:50:28 -06:00
Ed Hartnett
c1106c5f18 szip may not be present 2018-06-08 04:46:33 -06:00
Ed Hartnett
a721f91d45 merged master 2018-06-08 04:44:44 -06:00
Ed Hartnett
367d7c2a57 merged master 2018-06-07 18:36:25 -06:00
Ed Hartnett
5112ef8c72 merged master 2018-06-07 07:27:47 -06:00
Ed Hartnett
7aa073eb5d magic numbers working with user-defined formats 2018-06-07 06:49:16 -06:00
Ed Hartnett
5521e062a4 more udf test 2018-06-06 13:17:32 -06:00
Ed Hartnett
d8f7ca3e6e adding udf test 2018-06-06 13:15:48 -06:00
Ed Hartnett
9a2782b56c got long working with master 2018-06-05 14:40:49 -06:00
Ed Hartnett
17da700a5c adding support for magic numbers 2018-06-05 12:22:38 -06:00
Ed Hartnett
3a8987967e improving testing of user-defined formats 2018-06-05 11:53:59 -06:00
Ed Hartnett
2e831e9bbe initialization of user-defined formats 2018-06-02 08:43:34 -06:00
Ed Hartnett
926ce56775 fixing NC4_show_metadata for windows 2018-06-01 08:10:16 -06:00
Ed Hartnett
d7badd18d9 messing with NC4_show_metadata 2018-06-01 07:09:44 -06:00
Ed Hartnett
011e85cea4 merge ejh_par_tests 2018-05-30 05:06:25 -06:00
Ed Hartnett
3949bd61bc merge ejh_par_leak 2018-05-30 05:03:42 -06:00
Ed Hartnett
5ac7df7ae1 merge ejh_more_tests 2018-05-30 05:01:19 -06:00
Ed Hartnett
fcc6091600 merged ejh_test_def_var_extra 2018-05-30 04:59:10 -06:00
Ed Hartnett
6992295ef7 getting windows build working 2018-05-30 04:31:15 -06:00
Dennis Heimbigner
ee509ff4f3 Re-Implement the nc_get/put_vars operations for netcdf-4 using the
corresponding HDF5 operations.

re: github issue https://github.com/Unidata/netcdf-c/issues/908
also in reference to https://github.com/pydata/xarray/issues/2004

The netcdf-c library has implemented the nc_get_vars and nc_put_vars
operations as element at a time. This has resulted in very slow
operation.

This pr attempts to improve the situation for netcdf-4/hdf5 files
by using the slab operations provided by the hdf5 library. The new
implementation passes the get/put vars stride information down to
the hdf5 slab operations.

The result appears to improve performance significantly. Some simple
tests on large 2-D arrays shows speedups in excess of 150.

Misc. other changes:
1. fix bug in ncgen/semantics.c; using a list's allocated length
   instead of actual length.
2. Added a temporary hook in the netcdf library plus a performance
   test case (tst_varsperf.c) to estimate the speedup. After users
   have had some experience with this, I will remove it, probably
   after the 4.7 release.
2018-05-22 16:50:52 -06:00