Commit Graph

327 Commits

Author SHA1 Message Date
Ed Hartnett
3c0abc3d28 moved hdf5 var code to hdf5var.c 2018-07-19 07:23:03 -06:00
Ed Hartnett
bdca4313c4 split nc4var.c 2018-07-19 07:05:55 -06:00
Ed Hartnett
32c165ce2a fixed parallel build problem 2018-07-17 10:15:16 -06:00
Ed Hartnett
752e76df22 cleanup 2018-07-17 09:03:19 -06:00
Ed Hartnett
b0f9f965b7 clean up, moved hdf5open and hdf5create code to their own code files 2018-07-17 08:29:47 -06:00
Ed Hartnett
858f1dce02 split out hdf5create.c code 2018-07-17 08:00:47 -06:00
Ed Hartnett
396124c0ca merged ejh_hdf5internal 2018-07-17 07:56:09 -06:00
Ed Hartnett
9354535ae4 moved code to hdf5create.c 2018-07-17 07:55:27 -06:00
Ed Hartnett
6e6403bb0f merged ejh_hdf5internal 2018-07-16 05:50:29 -06:00
Ed Hartnett
2dd0ac6319 clean up 2018-07-16 04:50:15 -06:00
Ed Hartnett
d801425b78
Merge branch 'master' into ejh_hdf5internal 2018-07-14 13:01:14 -06:00
Ed Hartnett
786c5a8f2e moved hdf5 specific header stuff to hdf5internal.h 2018-07-12 07:05:21 -06:00
Ward Fisher
9209a2ede5
Merge branch 'master' into interndocs.dmh 2018-07-10 16:00:39 -06:00
Ed Hartnett
044b13fe34 fixed another clang warning 2018-07-06 06:41:36 -06:00
Dennis Heimbigner
40013b72f6 The pr does some cleanup on the internal documentation
in the docs directory.
1. Add a new internal document -- testserver.dox -- to describe
   how to set up and maintain the dap test server.
2. It moves the internal documentation (internal.dox, indexing.dox,
   and testserver.dox) to later in the documentation table of contents.
3. Cleanup the formatting of the internal documents.
4. Cleanup some minor doxygen issues in other files.
2018-06-29 15:06:27 -06:00
Ed Hartnett
697f033823 renamed NC_HDF5_FILE_INFO to NC_FILE_INFO 2018-06-22 07:08:09 -06:00
Ed Hartnett
d4967405b4 cleaned up 2018-06-21 19:49:30 -06:00
Ed Hartnett
eafe151f13 added test 2018-06-19 14:59:07 -06:00
Ed Hartnett
77936f2884 more progress towards lazy read of atts for vars 2018-06-19 08:25:19 -06:00
Ed Hartnett
a01da62481 isolating code to read variable attributes 2018-06-19 07:51:49 -06:00
Ed Hartnett
81add527f2 lazy read of global atts now working 2018-06-19 07:39:42 -06:00
Ed Hartnett
2dc6676bd8 now checking for classic model 2018-06-19 07:30:08 -06:00
Ed Hartnett
6b90169278 switching to att_not_read 2018-06-19 05:05:44 -06:00
Ed Hartnett
dad70cf880 more lazy atts 2018-06-19 04:54:03 -06:00
Ed Hartnett
5f850408c3 adding lazy att handling 2018-06-19 04:40:00 -06:00
Ed Hartnett
401bc33339 added function check_for_classic_model() 2018-06-19 04:08:08 -06:00
Ed Hartnett
2549bd7d70 clean up 2018-06-17 08:20:51 -06:00
Ed Hartnett
c7ab5573b4 removed get/put vara functions 2018-06-16 10:39:50 -06:00
Ed Hartnett
9230cb8aa9 now using put_vars too 2018-06-16 10:37:49 -06:00
Ed Hartnett
4f83e929c0 switch to vars 2018-06-16 08:38:52 -06:00
Ed Hartnett
11a51e47f3 cleanup 2018-06-16 08:35:30 -06:00
Ed Hartnett
6bfa4d4642 cleanup of put_vars handling of zero counts 2018-06-16 08:33:11 -06:00
Ed Hartnett
5e05d22bdf better handling of zero count for get_vars 2018-06-16 08:30:11 -06:00
Ed Hartnett
815f4f76dc clean up 2018-06-16 06:06:35 -06:00
Ed Hartnett
416da4cb4f took out is_long for vars functions 2018-06-16 05:55:50 -06:00
Ed Hartnett
3f9315d58f took out defaultvars 2018-06-16 05:52:07 -06:00
Ed Hartnett
b85f2e9e76 removed HDF5_CONVERT from vars functions 2018-06-16 05:38:39 -06:00
Ed Hartnett
19ae8b47d1 took out src_long and dest_long again. Getting good at it! ;-) 2018-06-16 05:33:04 -06:00
Ed Hartnett
97a580eda7 fixed documentation merge 2018-06-12 07:01:50 -06:00
Ed Hartnett
fb570522bc merged in ejh_fix_user_type 2018-06-12 06:49:40 -06:00
Ward Fisher
1d789d9d39 Additional reconciliation 2018-06-08 15:50:39 -06:00
Ward Fisher
df4942d280 Merge branch 'master' into vars.dmh 2018-06-08 15:50:28 -06:00
Ward Fisher
595f39ce42 Corrected an unlikely but possible passage of a null pointer to memcpy. 2018-06-08 11:18:08 -06:00
Ed Hartnett
9a2782b56c got long working with master 2018-06-05 14:40:49 -06:00
Ed Hartnett
112a200cc9
Merge branch 'master' into ejh_all_tests 2018-05-30 17:39:19 -06:00
Dennis Heimbigner
4b936ee26a Fix use of 'int' to represent 'hid_t' that caused HDF5 1.10 to fail.
re: github issue https://github.com/Unidata/netcdf-fortran/issues/82

This was originally discovered in the Fortran tests, but is
a problem in the C library.

The problem only occurred when using HDF5-1.10.x.  The reason it
failed is that starting with 1.10, the hid_t type was changed
from 32 bits to 64 bits.
The function libsrc4/nc4memcb.c#NC4_image_init was using type int (doh!)
to return the hdf fileid instead of hid_t type.  This, of course,
caused the id to be truncated and in turn later use of the id
caused hdf5 to fail.

Fix is trivial: replace int with hid_t. This also requires a related
change in nc4mem.c.

Also added the test case derived from the original Fortran code.

You would think I would learn...
2018-05-30 14:47:37 -06:00
Dennis Heimbigner
2f1daaa61e Merge branch 'master' into vars.dmh 2018-05-30 10:45:00 -06:00
Ed Hartnett
3949bd61bc merge ejh_par_leak 2018-05-30 05:03:42 -06:00
Ed Hartnett
fcc6091600 merged ejh_test_def_var_extra 2018-05-30 04:59:10 -06:00
Ward Fisher
84fd054a29 Merge branch 'ejh_hdf5_3' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into misc-changes.wif 2018-05-29 15:39:09 -06:00
Ed Hartnett
5b56e66096 removed changes to nc4hdf5.c 2018-05-24 15:26:17 -06:00
Ed Hartnett
e0f92efaa2 fixed logging 2018-05-24 14:55:34 -06:00
Ed Hartnett
d26df3fb27 comment cleanup 2018-05-24 14:43:00 -06:00
Ed Hartnett
f2cb4678ee moving HDF5 functions to libhdf5 2018-05-24 14:27:16 -06:00
Ed Hartnett
0c0da02b49
Merge branch 'master' into ejh_comm_info 2018-05-24 13:39:42 -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
Ed Hartnett
29427ef3ec
Merge branch 'master' into ejh_comm_info 2018-05-18 05:32:53 -06:00
Ed Hartnett
fb6d19c3bb
Merge branch 'master' into ejh_hdf5_2 2018-05-18 05:32:09 -06:00
Ed Hartnett
7f4717bf97 removed more dead code 2018-05-17 05:58:46 -06:00
Ed Hartnett
7552e1588e
Merge branch 'master' into ejh_clean 2018-05-17 04:24:38 -06:00
Ward Fisher
3f83cc4926 Merge branch 'master' into inmem2.dmh 2018-05-16 14:24:19 -06:00
Ed Hartnett
7b41bded0f fixed comments 2018-05-16 10:24:51 -06:00
Ed Hartnett
72a7ddb15a changes from other branches to get CI to pass 2018-05-16 10:03:24 -06:00
Ed Hartnett
485f42a51b no longer allow default communicator of MPI_COMM_WORLD for open 2018-05-16 09:27:40 -06:00
Ed Hartnett
978fc99f3f fixed indentation 2018-05-16 08:35:32 -06:00
Ed Hartnett
2ff0e14765 removed unused function 2018-05-16 08:31:23 -06:00
Ed Hartnett
40c552bd43 cleaned up nc4hdf5.c 2018-05-16 03:18:50 -06:00
Ed Hartnett
89cc8a9cd3 fixed memory leak issue in nc4file.c with inmemory 2018-05-16 02:48:44 -06:00
Ed Hartnett
2e181fbb88 fixed cmake build 2018-05-15 07:12:56 -06:00
Ed Hartnett
d7f7c1465b merged ininmem2 branch to pass CI 2018-05-15 06:53:28 -06:00
Ed Hartnett
8e7a617c98 added files 2018-05-15 06:51:44 -06:00
Ed Hartnett
3e320a5bfb moved more HDF5 functions to libhdf5 2018-05-15 06:47:52 -06:00
Ed Hartnett
57e378a2a0 merged master 2018-05-14 17:16:28 -06:00
Ed Hartnett
af70577e6d merged master 2018-05-09 14:43:42 -06:00
Ed Hartnett
a68f57a0e5 added missing files 2018-05-08 12:20:55 -06:00
Ed Hartnett
c402b79ed8 merged changes from master 2018-05-08 12:13:03 -06:00
Ed Hartnett
5526ca65d1 created libhdf5, moved some files 2018-05-08 11:58:01 -06:00