Dennis Heimbigner
f46b65c602
Clear up coverity complaints
...
with respect to this coverity report.
https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRZApv53Ry-2FReUME-2Fmei1et81WqdBwm5AxSAYBM9iFSmbw-3D-3D_YxTn3nq1kZ9CfXcyYFaB2DtJSVHTn8U-2BK0LV-2FDyLYKcFvnwYJ7pm2zFB5UovsEUh5miIfeCfQzYxpN9HYcdqs9sKVjtklOkfPIjEpg0Tj8G9wiptznJeX-2FO4PrqJA1ViQYtQfpjugq01XGMQ3-2Bll42dUMxrmbdYSqi8T7bCcANC5evyZs4MKvmAWXt1bnPaHcOYJDN-2FUt-2FJTlhwu91HyR7h-2FnkvMY9paYUNB1gxiyUA-3D
2018-08-04 13:22:29 -06:00
Ward Fisher
59e98ef087
Merge branch 'master' into default_format
2018-08-03 10:59:41 -06:00
Ed Hartnett
b9afdee6cd
merged master
2018-07-31 19:44:28 -06:00
Ed Hartnett
7ab6d7bdda
Merge branch 'master' into ejh_global_att_read
2018-07-31 19:32:36 -06:00
Ed Hartnett
66b1884f41
fixed merge problem
2018-07-29 02:35:53 -06:00
Wei-keng Liao
0ee68a3263
This commit fixes the logical problem of using the default file formats.
...
The fix includes the following changes.
1. Checking and using the default file format at file create time is now
done only when the create mode (argument cmode) does not include any
format related flags, i.e. NC_64BIT_OFFSET, NC_64BIT_DATA,
NC_CLASSIC_MODEL, and NC_NETCDF4.
2. Adjustment of cmode based on the default format is now done in
NC_create() only. The idea is to adjust cmode before entering the
dispatcher's file create subroutine.
3. Any adjustment of cmode is removed from all I/O dispatchers, i.e.
NC4_create(), NC3_create(), and NCP_create().
4. Checking for illegal cmode has been done in check_create_mode() called
in NC_create(). This commit removes the redundant checking from
NCP_create().
5. Remove PnetCDF tests in nc_test/tst_names.c, so it can focus on testing
all classic formats and netCDF4 formats.
Two new test programs are added. They can be used to test netCDF with and
without this commit.
1. nc_test/tst_default_format.c
2. nc_test/tst_default_format_pnetcdf.c (use when PnetCDF is enabled).
2018-07-28 11:18:28 -05:00
Ed Hartnett
df15707488
Merge branch 'master' into ejh_hdf5_sep_file_info
2018-07-28 08:16:26 -06:00
Ed Hartnett
37d2fa902e
Merge branch 'master' into ejh_hdf5_sep
2018-07-27 17:37:55 -06:00
Ed Hartnett
5631fa512a
merged master
2018-07-24 01:51:51 -06:00
Ed Hartnett
c094baea42
merged master
2018-07-23 13:53:07 -06:00
Ed Hartnett
12b76d2dc5
merged master
2018-07-23 13:18:21 -06:00
Ed Hartnett
ee944c3fbb
merged master
2018-07-23 10:58:14 -06:00
Ed Hartnett
da7af8f1e7
comment cleanup
2018-07-21 15:36:58 -06:00
Ed Hartnett
2cc3d10f4b
comment cleanup
2018-07-21 10:47:01 -06:00
Ed Hartnett
5a52f28bb7
further condensing code
2018-07-21 10:43:36 -06:00
Ed Hartnett
48d6473844
further condensing code
2018-07-21 09:31:51 -06:00
Ed Hartnett
afa7c0a87d
further condensing code
2018-07-21 09:26:16 -06:00
Ed Hartnett
21dade79a9
use same callback function for global and var atts
2018-07-21 09:20:22 -06:00
Ed Hartnett
b56a8edcc9
code cleanup
2018-07-21 09:09:12 -06:00
Ed Hartnett
a17d66f66b
clean up
2018-07-21 07:35:27 -06:00
Ed Hartnett
7aed50a902
performance test for fast global att reads
2018-07-21 07:29:12 -06:00
Ed Hartnett
43f094ca50
changing the way global atts are read
2018-07-21 06:46:29 -06:00
Ed Hartnett
fcbd5226a7
clean up
2018-07-20 12:39:02 -06:00
Ed Hartnett
9849c23773
now using NC_HDF5_FILE_INFO_T for hdf5 specific file info
2018-07-19 13:07:13 -06:00
Ed Hartnett
a545c1526d
further movement towards NC_HDF5_FILE_INFO_T
2018-07-19 13:00:34 -06:00
Ed Hartnett
4fb0e9d248
further movement towards NC_HDF5_FILE_INFO_T
2018-07-19 12:51:46 -06:00
Ed Hartnett
582bd5ec1a
further movement towards NC_HDF5_FILE_INFO_T
2018-07-19 12:47:43 -06:00
Ed Hartnett
b1a478a497
further movement towards NC_HDF5_FILE_INFO_T
2018-07-19 12:44:02 -06:00
Ed Hartnett
43b6aeca34
further movement towards NC_HDF5_FILE_INFO_T
2018-07-19 12:39:49 -06:00
Ed Hartnett
2d53a8ece0
moving hdf5 field to NC_HDF5_FILE_INFO_T
2018-07-19 12:32:06 -06:00
Ed Hartnett
cd95f1fb24
continuing to add NC_HDF5_FILE_INFO_T to the code
2018-07-19 09:13:48 -06:00
Ed Hartnett
d1198a3667
whitespace cleanup
2018-07-19 07:33:48 -06:00
Ed Hartnett
9b0192fe94
moved memfile code to libhdf5
2018-07-19 07:26:27 -06:00
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