Commit Graph

527 Commits

Author SHA1 Message Date
Ward Fisher
0bb9856880 Merge branch 'upstream' of https://github.com/gsjaardema/netcdf-c into gs-pulls 2016-03-04 14:58:10 -07:00
Greg Sjaardema
4ccebf25b5 Use dim field of var instead of finding dim from var->dimids.
The var struct has a 'dim' field which was not being used
Instead, the dimids field would always search for the dim
with the matching dimid.  For db with large numbers of dims,
this could be a significant time sync.

Modified code to always set var-dim[i] when var->dimids[i] was
set (if the dim existed at that point).  Then use the var->dim
field instead of var->dimids and search whenever requested.

All var->dim accesses are protected by asserts that verify
non-null and that the var->dim[]->dimid == var->dimids[].
2016-03-04 10:45:36 -07:00
Greg Sjaardema
1a84a6a99e Add hash field to dim and var to facilitate fast name compare
In non-classic netcdf-4 models, it is allowable to have
large numbers of dims and vars.  In many operations, the
entire list of dims or vars is searched for a dim/var matching
a specific name which results in *lots* of strncmp or strcmp
calls.

If we add a hash field to the var and dim structs similar to what
has already been done for the netcdf-3 formats, then we can hash the
name being searched for and numerically compare that value with
the var/dim hash value.  If they match, then do a more expensive
strncmp call to ensure that the names truly match.
2016-03-03 13:18:31 -07:00
Ward Fisher
332d71fd1a Merge branch 'master' into gh223 2016-02-19 15:32:50 -07:00
Ward Fisher
d8b65ccea1 Fix for https://github.com/Unidata/netcdf-c/issues/223 2016-02-19 15:05:39 -07:00
Ward Fisher
db84f39adc Tentative, robust fix for https://github.com/Unidata/netcdf-c/issues/221 that does not immediately introduce other issues into ncdump. Broader validation pending. 2016-02-18 15:42:03 -07:00
Ward Fisher
9791b1a397 Tentative fix for initial issue at http://github.com/Unidata/netcdf-c/issues/221 . investigating knock-on issues now. 2016-02-18 14:46:16 -07:00
Dennis Heimbigner
45572f5971 Fix github issue: https://github.com/Unidata/netcdf-c/issues/208
Return an error when specifying deflation (compression) or fletcher32 on
a file created for parallel IO in netcdf-4.
2016-02-01 16:15:58 -07:00
Dennis Heimbigner
b5ba424793 Clean up the handling of hdf5 initialization by
creating an nc4_hdf5_initialize(void) function
plus nc4_hdf5_initialized flag.
Also fix potential null exception in nc4internal.c
2016-01-28 16:19:38 -07:00
Ward Fisher
bb00562779 Addressed a static-analysis issue. 2015-12-31 11:47:39 -07:00
Ward Fisher
473259b772 Corrected issue where overwriting an attribute of type NC_CHAR with NC_STRING would result in dangling data. 2015-11-11 11:32:12 -07:00
Ward Fisher
c1210f4020 Merge branch 'master' into cdf5-sync-master 2015-11-09 13:45:11 -07:00
dmh
5ad26bb68f Fix github issues #140
1. Added check to libsrc4/nc4var.nc_def_var_extra to
   check that the no specified chunks size is greater than
   the dimension size.

2. Added test to nc_test4/tst_chunks.c
2015-11-07 20:29:16 -07:00
Ward Fisher
612b35a84c Merge branch 'master' into cdf-5, in preparation for merging the CDF-5 functionality into the master branch. This will be the key new feature for netcdf 4.4.0. 2015-11-05 13:40:35 -07:00
Ward Fisher
519a56019f Merge branch 'fix-typos' of https://github.com/tbeu/netcdf-c into tbeu-fix-typos 2015-10-16 14:16:09 -06:00
dmh
49597a64af merge-squash 2015-10-09 10:12:11 -06:00
Russ Rew
d3d442537d Fix 1D variables with an unlimited dimension taking DEFAULT_CHUNK_SIZE (4MiB), by default, in netCDF-4 files 2015-09-29 13:58:51 -06:00
dmh
5b89b22021 missing include file 2015-09-18 11:11:57 -06:00
dmh
0a7ff043a2 re: Jira NCF-320
Partially resolve by making
string variables and attributes use
UTF-8 encoding.
Normalization is not necessarily fixed,
however.
2015-08-20 15:53:48 -06:00
tbeu
e2820e4d8a Fix common typos
Detected by https://github.com/vlajos/misspell_fixer
2015-08-20 11:42:05 +02:00
Ward Fisher
bb42e4639e Addressed conflict between master, mem2. 2015-06-02 15:03:12 -06:00
Ward Fisher
cf6d87f1dc [NCF-332] Addressed the issue in get_netcdf_type_from_hdf4() by adding case statements explicitly for the little-endian hdf4 values as defined by http://www.hdfgroup.org/training/HDFtraining/UsersGuide/Fundmtls.fm3.html. 2015-05-28 17:27:57 -06:00
Ward Fisher
afa157f918 Started adding checks for little-endian HDF data types [NCF-332] 2015-05-28 16:41:48 -06:00
dmh
3dd807a155 The original mem branch somehow got
hosed, so I rebuilt it as a new mem2 branch.
2015-05-28 15:10:10 -06:00
Ward Fisher
167835ea32 Added a check to avoid passing 0 to malloc; in this case gcc will return a pointer but some other compilers will return NULL, which is then flagged as a malloc failure. Attempting to bypass this behavior. 2015-05-20 11:11:19 -06:00
Ward Fisher
9d98aab40a Refactored test. 2015-05-15 15:29:29 -06:00
Ward Fisher
99ef1624bc Regarding [NCF-331], the issues appears to have been in nc4file.c:get_type_info2(). The call to H5Tget_order() was only happening for H5T_Float. According to the documentation, this works for all datatypes as of hdf5 1.8.6. This tentatively fixes the bug reported, but additional testing (and cleanup from debugging) is needed. 2015-05-15 14:24:27 -06:00
Ward Fisher
999f4e5720 Additional debugging, modified the LOGGING functions somewhat. Also modified ncdump to print 'native' endianness. This may be removed before merging back into trunk. 2015-05-14 17:22:07 -06:00
Ward Fisher
4c07e22ae4 Progress working towards [NCF-329] 2015-04-21 13:52:43 -06:00
Russ Rew
ab18a2e17c Fix bug NCF-187 (thanks to Alexander Barth). Add test for bug fix. 2015-04-02 12:30:51 -06:00
Quincey Koziol
aede522766 Mark dataset attributes dirty when one is renamed. 2015-02-25 09:25:40 -06:00
Ward Fisher
dd2ae92a48 Corrected a potential dereference of a null pointer. 2015-02-11 13:13:39 -07:00
Ward Fisher
c1875ec8f0 Addressed a couple of memory leaks identified by clang. 2015-02-10 13:39:15 -07:00
Russ Rew
72c3e5809a Fix comment, small memory leak 2015-02-05 16:33:42 -07:00
Ward Fisher
e2a56efa9c Merge branch 'NCF-324' of https://github.com/qkoziol/netcdf-c into qkoziol-NCF-324 2015-02-04 09:54:17 -07:00
Ward Fisher
dd2318b725 Added fencepost for cross-dll memory freeing in Windows/Visual Studio 2015-02-02 14:46:51 -07:00
Quincey Koziol
4f8898719a NCF-324: Make similar change to get_vara code, and add in test to Makefile.am 2015-02-02 08:51:00 -06:00
Quincey Koziol
e9484cc7e6 NCF-324 - Don't reopen HDF5 dataset if it's already open (in particular when
the variable name is the same as a dimension name).
2015-02-02 08:32:17 -06:00
Ward Fisher
296928ffc7 Identified a potential null pointer dereference introduced in pull request, added check for null pointer. 2014-12-28 21:04:48 -08:00
Ubuntu
64f95828c3 Checkout current files 2014-12-28 01:10:33 +00:00
Quincey Koziol
2917a6a123 Interim checkpoint of working code. 2014-12-01 08:52:53 -06:00
Quincey Koziol
d2ed77f95f Merge remote-tracking branch 'upstream/master' into NCF-177 2014-11-30 23:49:24 -06:00
Quincey Koziol
7a9e209147 Merge branch 'master' into NCF-177
Conflicts:
	libsrc4/nc4hdf.c
2014-11-30 23:37:19 -06:00
Quincey Koziol
8769d58b1d Initial fix for further rename issue. 2014-11-24 09:36:58 -06:00
Ward Fisher
2ab47745cc Fixed a different set of potential memory leaks paired with the previous ones. 2014-11-11 15:24:38 -07:00
Ward Fisher
2f7ffacac4 Fixed a handful of potential memory leaks reported by clang static analysis. 2014-11-11 15:17:57 -07:00
dmh
1739c50622 Modified a number of tests
to make use of remotetest.unidata.ucar.edu
optional. Purpose is purely for testing
new dts and thredds servers.
2014-10-04 15:59:16 -06:00
Ward Fisher
03ce4c9761 Cast malloc return to appropriate type. 2014-10-01 17:04:56 -06:00
Ward Fisher
61a7dab58f Fixed an issue preventing compilation with hdf4 support with Visual Studio. 2014-08-28 18:14:14 -06:00
Ward Fisher
b43813d821 When using the '-ansi' flag with gcc, netcdf would fail to build because of the use of '//' for one-line comments. I've addressed this by replacing instances of // with enclosing comment blocks. 2014-08-26 11:19:32 -06:00
Ward Fisher
840d80f490 More doxygen tweaks. 2014-07-09 16:45:13 -06:00
Ward Fisher
7f812b367e Manual merge of pull request https://github.com/Unidata/netcdf-c/pull/64 contributed by nschloe. Assorted CMake improvements. 2014-06-11 15:51:31 -06:00
Ward Fisher
dd53809815 Cleaned up a comment in nc4hdf.c 2014-06-09 17:03:49 -06:00
dmh
ed068ef643 Fix misc. typos from previous commit 2014-06-02 14:02:34 -06:00
dmh
909940f9d3 #endfi -> #endif 2014-06-02 13:25:53 -06:00
dmh
83ec39f5db [NCF-272]
re: e support ZCL-340681 and CPW-270700

HDF4 supports compression (and chunking)
but the chunking was not being recorded
for HDF4 files. So, I modified the necessary
files to support HDF4 chunking.
2014-06-02 13:04:28 -06:00
dmh
b560fe1233 [NCF-272]
It turns out that HDF4 supports chunking
(and compression). However the existing
HDF4 code does not support it.
So add HDF4 support for chunking.
Also add a test case.
2014-05-30 22:12:05 -06:00
Ward Fisher
2dccd773e9 Corrected an 'dead assignment' issue reported by static analysis. 2014-05-19 16:26:49 -06:00
Quincey Koziol
435d8a03ed Account for the HDF5 library not having the MPI-POSIX VFD configured in. 2014-05-07 08:45:15 -05:00
Ward Fisher
5a693d7326 Merged pull requestion from nschloe, #48. 2014-04-21 16:11:48 -06:00
Ward Fisher
44fae42214 Cleaned up indentation, white space in multiple CMakeLists.txt files. 2014-04-21 11:15:33 -06:00
Dennis Heimbigner
4ae47ad45b jna? 2014-04-21 10:13:27 -06:00
Ward Fisher
ff47046e93 Fixed clang-reported issue: memory leak. 2014-04-19 17:57:25 -06:00
Dennis Heimbigner
b3a7ccb3d4 more jna fixes 2014-04-10 19:48:53 -06:00
Dennis Heimbigner
af9b5c4abf alternate JNA bug fix 2014-04-10 14:03:11 -06:00
dmh
211004898f jna fixes 2014-04-09 15:20:16 -06:00
Ward Fisher
76e5e0f1fa Addressed several minor issues revealed by static analysis (coverity, clang). Mostly to do with extreme corner cases in which a null pointer would be dereferenced, or dereferencing a non-null (but non-initialized) pointer would result in garbage. 2014-03-28 17:11:26 -06:00
Russ Rew
7d36a6c7f3 Fix a couple of warnings 2014-03-27 11:11:06 -06:00
Russ Rew
b95ab08f8f Fix bug in setting default chunksize for 1D record variables 2014-03-27 09:58:53 -06:00
Russ Rew
93878e8816 Fix possibility of divide by zero in rechunking. 2014-02-27 12:19:14 -07:00
Russ Rew
abe9a7d753 Merge branch 'master' of https://github.com/Unidata/netcdf-c 2014-02-26 14:01:51 -07:00
Russ Rew
9212968f54 Fix default chunksize for 1-dimensional record variables 2014-02-26 13:30:12 -07:00
Quincey Koziol
fe9e0b056d Update HDF4 support for recent datatype changes. 2014-02-25 21:05:19 -06:00
Russ Rew
976bc707f3 Fix compile errors in HDF4 support from change of att->xtype to att->nc_typeid and similar var change. Still a bug at runtime with ref count for type ids. 2014-02-23 11:32:35 -07:00
Quincey Koziol
d033f9f6ff Clean up Coverity warnings from last checkin. 2014-02-20 08:24:55 -06:00
Quincey Koziol
b98a475f37 Minor tweaks to comments and LOG messages. 2014-02-17 13:34:05 -06:00
Quincey Koziol
658e298cf8 Merge remote-tracking branch 'upstream/master' 2014-02-17 13:33:55 -06:00
Russ Rew
178e99467a Fix bug in MPI type reported by Chrostopher Bartz 2014-02-16 11:54:25 -07:00
Quincey Koziol
fd981824c1 Correct handling of variablen-length sequences for attributes, plus uncomment a
bunch of tests that stress this area of the library.

Also clean up some compiler warnings in the dispatch code.
2014-02-14 08:07:14 -06:00
Quincey Koziol
36c960c0ca Add a few cases for NC_CHAR type class that were missed earlier. 2014-02-12 08:48:13 -06:00
Quincey Koziol
4bfd9b27a0 Merge remote-tracking branch 'upstream/master'
Conflicts:
	libdap2/common34.c
	oc2/ocutil.c
2014-02-11 17:26:09 -06:00
Quincey Koziol
b2dfacbcfa Big clean up to type handling in libsrc4, which makes fill-values work
correctly for variables with string datatype, plus a few other minor changes.
2014-02-11 17:12:08 -06:00
Russ Rew
0627c82758 Fix for bit-for-bit reproducibility from Rimvydas Jasin, Quincey Koziol 2014-02-10 15:29:14 -07:00
Quincey Koziol
cd71eb525c Corrected "BAIL" macros to avoid infinite loop when logging is disabled and an
error occurs after an "exit:" label.

Corrected a dozen Coverity errors (mainly allocation issues, along with a few
    other things):
        711711, 711802, 711803, 711905, 970825, 996123, 996124, 1025787,
        1047274, 1130013, 1130014, 1139538

Refactored internal fill-value code to correctly handle string types, and
    especially to allow NULL pointers and null strings (ie. "") to be
    distinguished.  The code now avoids partially aliasing the two together
    (which only happened on the 'write' side of things and wasn't reflected on
    the 'read' side, adding to the previous confusion).

    Probably still weak on handling fill-values of variable-length and compound
    datatypes.

Refactored the recursive metadata reads a bit more, to process HDF5 named
    datatypes and datasets immediately, avoiding chewing up memory for those
    types of objects, etc.

Finished uncommenting and updating the nc_test4/tst_fills2.c code (as I'm
    proceeding alphabetically through the nc_test4 code files).
2013-12-29 01:12:43 -06:00
dmh
582410a407 [NCF-273]/HZY-708311
Add a new function called nc_inq_format_extended that
returns more detailed format information (vis-a-vis
nc_inq_format) about an open dataset.

Note that the netcdf API will present the file as if it had
the format specified by nc_inq_format.  The true file
format, however, may not even be a netcdf file; it might be
DAP, HDF4, or PNETCDF, for example. This function returns
that true file type.  It also returns the effective mode for
the file.

signature: nc_inq_format_extended(int ncid, int* formatp, int* modep)
where
* ncid is the NetCDF ID from a previous call to nc_open() or
  nc_create().
* formatp is a pointer to a location for returned true format.
* modep is a pointer to a location for returned mode flags.

Refer to the actual list in the file netcdf.h to see the
currently defined set.

Also added test cases (tst_formatx*).
2013-12-22 12:53:20 -07:00
Quincey Koziol
0d42ac7e87 Switch test for nc_inq_unlimdim and nc_inq_unlimdims to use the same ordering as
the rest of the dimension queries.  Correct error in library where types used
in sub-group variables but that were added to the file after the sub-group was
created weren't available for sub-group variables to use.  Start cleaning up
test suite and un-commenting tests that were commented out (got up to
nc_test4/tst_fills2.c, alphabetically) before running into an error in HDF5.
2013-12-15 19:55:41 -06:00
Quincey Koziol
b3044de434 Refactored read_scale(), memio_new(), var_create_dataset() and makespecial()
to clean up resources properly on failure.

Refactored doubly-linked list code for objects in the libsrc4 directory,
    cleaning up the add/del routines, breaking out the common next/prev
    pointers into a struct and extracting the add/del operations on them,
    changed the list of dims to add new dims in the same order as the other
    types, made all add routines able to optionally return a pointer to the
    newly created object.

Removed some dead code (pg_var(), nc4_pg_var1(), nc4_pg_varm(), misc. small
    routines, etc)

Fixed fill value handling for string types in nc4_get_vara().

Changed many malloc()+strcpy() pairs into calls to strdup().

Cleaned up misc. other minor Coverity issues.
2013-12-08 03:29:26 -06:00
Quincey Koziol
5ccb8a24b5 Merge branch 'master' into ncf-177 2013-11-30 23:40:26 -06:00
Quincey Koziol
e66e6e2b3a Merge remote-tracking branch 'upstream/master' 2013-11-30 23:24:44 -06:00
Quincey Koziol
e1fc13b215 Many changes to address NCF-177 (renaming dimensions and variables). Also
many cleanups to fix compiler warnings, streamline iteration over objects
in HDF5 file when opening the file, and generally straightening out the code
to be cleaner and simpler.

Tested on Mac OS/X with gcc 4.8 and OpenMPI (which uses clang).
2013-11-30 23:20:28 -06:00
dmh
2bc308432d sync with oc2.0 2013-11-14 15:13:20 -07:00
Russ Rew
751ac82ef7 For chunk computations that might overflow ints, use double instead of
float.
2013-10-17 14:25:39 -06:00
Ward Fisher
23cf133b39 Addressed Coverity issues 711911, 1102823 2013-10-07 16:25:30 -06:00
Quincey Koziol
d9069aaeaa More progress toward fixing NCF-177. 2013-09-28 12:40:21 -05:00
Russ Rew
68c8303743 Quincey's patch for NCF-269 parallel I/O bug. 2013-09-16 20:06:54 -06:00
Quincey Koziol
a5d23868b7 Merge branch 'master' into ncf-177 2013-09-14 13:22:12 -05:00
Quincey Koziol
7a4479be6b Minor cleanups to reduce warnings in headers, and switch from MPI_BYTE to MPI_INT
for MPI_Allreduce() call.
2013-09-14 13:19:58 -05:00
Ward Fisher
c238435853 Added stanza in nc4file.c, read_var, to avoid crashes when reading an h5 file with layout == "H5D_COMPACT". 2013-09-09 15:03:03 -06:00
Quincey Koziol
e808067582 Merge branch 'master' into ncf-177 2013-08-24 14:35:21 -05:00
Quincey Koziol
3cdce9e3af Correct error when a parallel application writes different amounts of data to
an unlimited-dimension variable, and different processes don't agree on the
whether to extend the underlying HDF5 dataset, or don't agree on the amount
to extend the dataset.
2013-08-18 20:45:17 -05:00
Quincey Koziol
a7ecaeb327 Work in progress on NCF-177. 2013-08-17 12:53:29 -05:00
Ward Fisher
f43bf8f1da Addressed a handful of issues identified by
Coverity static analysis.
2013-08-05 20:36:33 +00:00
Dennis Heimbigner
05369372f7 Debugged previously added
code to support group rename.
Also added a simple test case.
2013-07-21 01:08:39 +00:00
Dennis Heimbigner
b85d3568ec Added the necessary code to support
group renaming. The primary API
is 'nc_rename_grp(int grpid, const char* name)'.
No test cases provided yet.
This also required adding a rename_grp entry
to the dispatch tables.
2013-07-19 21:48:37 +00:00
Ward Fisher
1c23ec06b8 Merging latest from netcdf-cmake branch. Includes a handful
of fixes for coverity-identified errors.
2013-07-19 21:32:27 +00:00
Russ Rew
e4f9350c23 Quincey's fixes for NCF-56, "netcdf-4 can't read HDF5 scalar atts".
Also added ability capability for netCDF-4 to write and read NIL
values for string type attributes and variables, so these can be read
if used in HDF5 files.

Include are additions to CMakeLists files to reflect new tests.
2013-07-10 20:09:31 +00:00
Russ Rew
6cd8fca60d Quincey's fixes for NCF-250, netCDF-4 parallel independent access with
unlimited dimension hanging.  Extending the size of an unlimited
dimension in HDF5 must be a collective operation, so now an error is
returned if trying to extend in independent access mode.

Quincey's bug fixes for parallel build portability, particularly
OpenMPI on MacOS-X.
2013-07-08 21:31:13 +00:00
Russ Rew
58a63708cc Fix contributed by Nath Gopalaswamy to large file problem reading
netCDF classic or 64-bit offset files that have a UINT32_MAX flag for
large last record size of a variable that has values larger than 1
byte.  This problem had previously been fixed for *writing* such data,
but was only tested with an ncbyte variable.  Fixed test to
demonstrate problem and the fix.

More updates to chunking documentation, cosmetic fixes for some
"--option=" documentation that doxygen turns into mdash.
2013-06-25 17:04:10 +00:00
Ward Fisher
33d3d06971 Added initial 'make dist', 'make distcheck' support to
CMake-based builds.
2013-06-03 16:42:04 +00:00
Russ Rew
3152893da0 Updated documentation on default chunk size for unlimited dimensions.
Removed old heuristic for dims several orders of magnitude smaller
than the max dimension.
2013-05-28 15:34:55 +00:00
Dennis Heimbigner
de34ed2d5b merge from netcdf/trunk prior to merge back to trunk 2013-05-11 19:37:38 +00:00
Dennis Heimbigner
c583f91992 merge with trunk and fix conflicts 2013-05-10 17:04:28 +00:00
Dennis Heimbigner
4070bcf946 Fix (again) jira NCF-248.
So, it turns out that just freeing
the nc4_info is not enough;
The root group must also be reclaimed.
So, it appears the best approach
is to invoke an abort on the
failed file.
2013-04-24 22:11:44 +00:00
Ward Fisher
67f96188ff Merged latest from netCDF-cmake branch in preparation for 4.3.0 release. 2013-04-23 21:50:07 +00:00
Dennis Heimbigner
e960416761 Fix JIRA NCF-248 2013-04-23 18:02:35 +00:00
Russ Rew
3a87936711 New RELEASE_NOTES entry and a couple of Coverity fixes. 2013-04-23 16:27:28 +00:00
Russ Rew
6ebc98d254 Fix NCF-247 bug, and add test for bug fix. 2013-04-22 22:34:21 +00:00
Ward Fisher
b113f6f8b6 Merged a handful of changes from netcdf-cmake branch.
Addressed the following coverity issues:

711762
711763
711766
711788
711933
711934
711935
2013-04-16 23:02:54 +00:00
Ward Fisher
b70e1d74af Merged latest from cmake development branch. 2013-04-16 17:23:14 +00:00
Russ Rew
8b3a9505ae Revert nc4file.c to r3113, because r3123 version broke --enable-extra-tests build 2013-04-08 19:33:30 +00:00
Ward Fisher
4a274b9870 Merged latest changes from cmake development branch.
Addressed a number of memory-related problems
reported by Coverity.
2013-04-02 22:09:31 +00:00
Ward Fisher
9f187a1484 Merged the fix for NCF-29 from Quincy into the trunk. 2013-03-26 18:57:26 +00:00
Dennis Heimbigner
c659633d2e merge from trunk 2013-03-26 16:45:02 +00:00
Dennis Heimbigner
4b7817e69e Return EACCES instead of NC_EMETADATA when failing to create an HDF5 file 2013-03-26 16:31:56 +00:00
Russ Rew
b36dc5b5fb Fix NCF-244 bug for case where using different order for defining
coordinate variables and their associated dimensions occurs in any
subgroup, rather than just the root group.  If this occurs, the
variable attribute "_Netcdf4Dimid" is created for every dimension
scale.

Also add a test for this bug fix in tst_dims3.nc, based on Pedro
Vicente's demo.
2013-03-26 15:14:19 +00:00
Russ Rew
2071ca9bf3 Fixed NCF-244, a netCDF-4 bug resulting in two dimensions with the same dimension ID 2013-03-25 18:06:19 +00:00
Dennis Heimbigner
4e41843740 1) fix some minor bugs when pnetcdf is enabled 2)Comment out some apparently unused procedures 2013-03-25 17:12:50 +00:00
Dennis Heimbigner
8d993d58d8 undo a conversion to static 2013-03-25 16:29:19 +00:00
Dennis Heimbigner
9b4db7a039 Make some things static that do not need to be externally visible 2013-03-24 17:33:17 +00:00
Dennis Heimbigner
dea3c726c8 merge trunk into this branch 2013-03-15 20:31:07 +00:00
Ward Fisher
6096f6b43b Merged changes from CMake branch.
Addressed a handful of memory leaks
reported by Coverity.
2013-03-14 22:49:21 +00:00
Dennis Heimbigner
9eaac2a595 Apply Wei-Keng's fix
for JIRA issue NCF-241.
This is only temporary
until I can make pnetcdf
operate as a separate dispatch table.

Also, fix nc_test4/tst_pnetcdf
to open with nc_open_par;
this is necessary because a pnetcdf
created file cannot be opened
as a netcdf classic file.
2013-03-13 17:34:47 +00:00
Koziol
0f29dd60c0 Description:
Fix Jira issue NCF-29 (https://bugtracking.unidata.ucar.edu/browse/NCF-29):
making the netCDF-4 library ignore HDF5 datasets and attributes which have
datatypes (such as references) that it doesn't understand.

Tested on:
    Mac OSX/64 10.8.2 (amazon) w/--enable-netcdf-4 --enable-extra-tests --enable-extra-example-tests
        --disable-shared --enable-logging
2013-03-01 08:10:28 +00:00
Ward Fisher
57084316de Merging changes from netCDF branch. 2013-02-28 21:50:55 +00:00
Ward Fisher
ddf3c31bb0 Corrected a handful of syntax issues in CMake config files,
probably introduced more.  

Added CMake-related files to Makefile.am files for inclusion
when creating a distribution package.
2013-02-20 23:28:28 +00:00
Ward Fisher
5703c0979e Corrected an issue I introduced which broke a particular parallel test. 2013-02-12 21:27:52 +00:00
Russ Rew
7a3f42974c Fix bug NCF-222, scalar non-coordinate variables with same name as dimensions. (Previous commit was just test, this is really the fix. 2013-02-04 15:49:52 +00:00
Russ Rew
fab1c8675c Fix NCF-217, a bug depending on order of calls to netCDF-4 functions 2013-02-01 17:38:26 +00:00
Ward Fisher
71a30406f7 Corrected 2 windows-specific errors when using Visual Studio:
1. In nc4hdf.c, had a variable declaration located such
that Visual Studio complained and threw an error. Moved
to head of function.

2. Visual Studio was complaining about variable declarations
being made after OCVERIFY/OCDEREF macros.
2013-01-29 23:33:59 +00:00
Ward Fisher
c20baac22b Removed dependency on NC_MAX_DIMS from libsrc4 files.
Improved HDF4 suport in CMakeLists.txt
Remaining files were not changed, but svn picks up
'property changes' on them.
2013-01-28 19:58:06 +00:00
Ward Fisher
19dcece866 Merged latest trunk, addressed NC_MAX_DIMS dependence in libsrc4 2013-01-28 18:31:02 +00:00
Ward Fisher
fae7d90194 Removing reliance on NC_MAX_VAR_DIMS 2013-01-22 20:59:39 +00:00
Ward Fisher
23647a6910 2013-01-22 20:37:23 +00:00
Ward Fisher
1a77185d5e 2013-01-22 19:47:46 +00:00
Dennis Heimbigner
0d8c0b9276 more pnetcdf fixes 2013-01-18 02:25:12 +00:00
Ward Fisher
426c1508a3 2013-01-16 21:14:29 +00:00
Ward Fisher
91188cea7a Merging CMake branch into trunk. Changes include:
CMake related changes in CMakeLists.txt files,
cmake_config.h.in. Other changes relate to 
Windows-specific issues, and changes made
when regenerating generated source files.
2013-01-15 22:43:09 +00:00
Ward Fisher
4a6b93f3ab A test from netcdf-cmake branch made its way into the trunk;
corrected.
2013-01-15 19:48:12 +00:00
Russ Rew
22b411a17c Merged in pnetcdf fixes from Greg Sjardema, to make set_fill_mode work
with parallel-netcdf, to fully implement parallel-netcdf support for
other functions, and to prevent a hang in hdf5 from an eary return in
an nc4_put_vara() call.  Also fixed an nccopy bug when
nc_inq_var_deflate() returns defalate_level of 0, but says the variable
is deflated.
2013-01-15 03:46:46 +00:00
Ward Fisher
21523c8582 Merged changes from cmake branch. oc2 changes are just
'file property' changes, not sure what exactly.
2012-12-20 21:50:45 +00:00
Dennis Heimbigner
adbe2ba5f1 extend r2822 to work when logging is enabled 2012-12-18 19:44:39 +00:00
Ward Fisher
7b91248723 Merged changes from netcdf-branch.
o Changed variable names 'typeid' to 'typeid1' to avoid a namespace conflict
in visual studio.
o Cleaned up a handful of warnings in Visual Studio.
o Addressed a few Coverity-discovered issuesl
o Made changes to CMake-based builds.
2012-12-13 22:09:41 +00:00
Dennis Heimbigner
635a03f2f7 It turns out that when I converted the code
to keep the NC structure pure and independent
of any file format, I neglected to check with
--enable-hdf4. These changes appear to fix that
problem.
2012-12-13 18:22:11 +00:00
Dennis Heimbigner
5f2eb8afbf Fix a number of potential problems by changing calls to nc_XXX to NC3/4_XXX 2012-12-12 20:05:06 +00:00
Ward Fisher
cf0d0b54f2 Merged latest changes from cmake branch. Fixed a test file, and changed a deallocation call to avoid throwing an error on Windows related to cross-dll memory-management. 2012-12-07 23:21:27 +00:00
Ward Fisher
85382f21bc Fixed a handful of issues identified by Coverity. 2012-12-06 00:06:32 +00:00
Ward Fisher
ff631c8156 Merged latest changes from cmake branch.
o Improved CMake support.
o Cmake module compatibility (netcdf-config*.cmake.in).
2012-11-19 21:43:12 +00:00
Russ Rew
8e98e3727d Fixed bug NCF-144 (ncdump of variables with multiple unlimited
dimensions).  Added comprehensive tests that include variables with
lots of combinations of 0 through 4 fixed and unlimited dimensions.
2012-11-16 21:37:43 +00:00
Ward Fisher
afa67452f6 Took some time to address a handful of errors identified by Coverity.
Primarily focused on memory errors falling into a couple different types:

1) Static overrun errors.
2) Dereference uninitialized memory errors.

make distcheck works after applying these fixes, and coverity no longer sees an issue, so hopefully they are properly resolved.
2012-11-14 18:24:45 +00:00
Ward Fisher
45f77090a1 Addressed a handful of minor 'fixed-length buffer overrun'
errors identified by Coverity.  The fixes involved replacing calls
to strcpy, strcat with strncpy, strncat.
2012-10-31 21:31:47 +00:00
Ward Fisher
7a226dd3f1 Merging the win_netcdf branch into the trunk. 2012-09-27 22:50:41 +00:00
Ward Fisher
f2d2ddf435 2012-09-26 20:30:19 +00:00
Ward Fisher
98675a8047 Merged with latest trunk. 2012-09-26 17:08:23 +00:00
Russ Rew
a92c7c98a0 Fixed DOS line endings in source file.
Fixed minor memory leak found by Coverity.
Fixed misleading error message in configure.
2012-09-25 21:48:14 +00:00
Ward Fisher
e55d002dbc Merged Dennis' changes from trunk. 2012-09-06 21:15:37 +00:00
Dennis Heimbigner
5ca78309cc The effect of this change is to make the struct NC structure
contain as little file-type specific info as possible.  It
modifies especially libsrc so that all of the netcdf-3 data
that used to be in struct NC is now kept in a separate chunk
of data pointed to by the struct NC. This makes all of
current protocols consistent: netcdf-3, netcdf-4, and dap.
2012-09-06 19:44:03 +00:00
Ward Fisher
7ef113df5f 2012-08-24 18:24:58 +00:00
Russ Rew
eda91aa9cf Enhanced netcdf-4 to be able to deal with optional user area data
block at the front of some HDF5 files (NCF-28).  Also fixed some minor
typos in doxygen blocks in netcdf.h.
2012-08-22 21:53:06 +00:00
Ward Fisher
235fc6bb13 Merged latest trunk into branch 2012-08-22 19:52:24 +00:00
Russ Rew
24a1cd0718 Fix test of H5Tget_size() return so it can actually detect an error.
Remove some dead code.  Fix declaration of X_INT_MIN in tests.h.
2012-08-22 14:57:30 +00:00
Ward Fisher
e8453be1e5 Merged from trunk into branch 2012-08-20 18:30:04 +00:00
Russ Rew
8d53da4826 Fixed bug "adding a bad _FillValue" bug (NCF-190). Fixed minor bugs
reported by static analysis, including memory leak in ncdump, missing
size_t cast for chunk cache.  Fixed various doc problems, including
byte vs. char issues, missing NC_UBYTE in type list, needed link to
"Building with Windows" page.
2012-08-16 18:31:48 +00:00
Ward Fisher
14619ec4c4 2012-08-09 18:40:41 +00:00
Ward Fisher
0607b62375 Added coverage test flags to CMakeLists.txt files. 2012-08-09 17:07:41 +00:00
Ward Fisher
05cde40552 2012-08-08 22:31:28 +00:00
Ward Fisher
0ee2fba307 Expanded ctest functionality. 2012-08-07 20:21:44 +00:00
Ward Fisher
0d90326575 Integrated latest changes to trunk, added preliminary CPack support. 2012-08-02 22:56:57 +00:00
Ward Fisher
7163dc49d8 Changed a few dangling checks for H5F_LIBVER_18 to H5F_LIBVER_LATEST. These were causing compile failures on some versions of Ubuntu (10.10, 11.??) 2012-08-01 20:57:23 +00:00
Ward Fisher
1af2b768b0 Merged changes from trunk (mainly Dennis' oc2 inclusion). 2012-07-31 22:04:25 +00:00
Dennis Heimbigner
42999f4c7c move from oc1.0 to oc2.0; create new dir oc2 2012-07-31 20:34:13 +00:00
Ward Fisher
71075cee2e Additional changes in support of CMake. 2012-07-18 21:12:58 +00:00
Ward Fisher
b1faefede0 More changes related to CMake support. 2012-07-17 20:50:43 +00:00
Ward Fisher
2dc39563cc Changes in suport of CMake 2012-07-16 22:31:35 +00:00
Russ Rew
dbaf62f5e6 Updated some links in Doxygen version of user guide. Fixed some
range_error checks in netCDF-4 type conversion code.  Made netCDF
attribute tests with type conversion more comprehensive and stringent,
fixing bugs identified with better tests.  Changed a test in
nc_test/tst_atts.c to use netCDF-3 file instead of netCDF-4 file,
because that directory is supposed to be for tests that work with
--disable-netcdf-4.  Added test demonstrating NCF-171 bug on 32-bit
platforms, only run when configured with --enable-extra-tests.
2012-05-24 16:29:22 +00:00
Dennis Heimbigner
e42d7d7f61 fix bug in opaque parsing 2012-05-05 22:31:24 +00:00
Russ Rew
c6f399c731 Fix non-portable test that depends on nonstandardized floating-point format using e+08, not e+008. Fixes for some problems reported in scan-build static analysis. 2012-04-23 23:59:24 +00:00
Russ Rew
fa3fbbcc92 Fixes for NCF-150, bugs in libsrc4 with handling strings in non-netCDF-4 HDF5 files. Added new test in nc_test4 to verify fixes. 2012-04-20 15:42:55 +00:00
Dennis Heimbigner
5536bccee1 allow NC_DISKLESS with nc_open() to operate as a in-memory cache 2012-04-08 22:47:38 +00:00
Dennis Heimbigner
7e27052f87 - Implemented diskless files for both netcdf classic and extended.
The in-memory files can be made persistent if nc_create is called with
  NC_DISKLESS|NC_WRITE flags set. Initial test case also included.
- Modified ncio mechanism to support
  multiple ncio packages; this is so we
  can have posixio and memio operating
  at the same time.
- cleanup up a bunch of lint issues (unused variables, etc).
2012-03-26 01:34:32 +00:00
Dennis Heimbigner
99eef24bc2 - Fix NCF-158 to modify ncgen flag defaults.
- Fix NCF-157 to modify DAP code to support
  partial variable retrieval.
- Fix of NCF-154 to solve problem of ncgen
  improperly processing data lists for variables
  of size greater than 2**18 bytes.
- Fix ncgen processing of char variables that have
  multiple unlimited dimensions.
- Partly fix Jira issue: NCF-145 (vlen issues).
- Benchmark program nc_test4/tst_ar4_*) requires arguments
  and should only be invoked inside a shell
  script; fixed so that they terminate cleanly
  if invoked with no arguments.
- Fix the Doxygen processing so it will work
  with make distcheck.
- Begin switchover to using an alternative to ncio.
- Begin support for in-memory (diskless) files.
2012-03-14 23:26:48 +00:00
Russ Rew
07a5f4fd1a Peter Cao's valgrind fixes for nc4file.c 2012-03-14 03:48:30 +00:00
Russ Rew
d412686ec3 Fix Jeff Whittaker's bug NCF-156 2012-03-09 19:19:43 +00:00
Russ Rew
22beaf407c Fix bug with scalar coordinate variables in netCDF-4 files, causing failure with --enable-extra-tests, [NCF-149] 2012-03-01 02:06:14 +00:00
Russ Rew
75e00f3341 Fix bug triggered by --enable-logging. 2012-02-27 23:00:07 +00:00
Russ Rew
fbbdeccc2e Fix performance bug for many variables or types in a group 2012-02-21 13:46:22 +00:00
Russ Rew
6b075d6ab2 Fix bug for netCDF-4 files, where fill values are written by HDF5 even when NOFILL mode is set. Add to ncdump documentation note about handling embedded newlines in strings. 2012-02-15 22:21:47 +00:00
Russ Rew
37b6fbe959 Fix Jira bug NCF-143, found by Wei Huang. Also apply previous NCF-141 fix for nc_get_vara() to nc_put_vara() as well. 2012-02-01 23:52:10 +00:00
Russ Rew
9d2c29045c Fix Jira bug NCF-141 and finish bug fix for NCF-139 2012-01-30 22:10:23 +00:00
Dennis Heimbigner
aebd11348a 1)Integrate the oc with improved performance 2012-01-29 18:56:29 +00:00
Russ Rew
e7b2f2b4c6 Revert last change after discovering problem 2012-01-17 22:49:01 +00:00
Russ Rew
67304dc7e2 Fix Jira issue NCF-138, bad default chunksize for variables with only unlimited dimensions 2012-01-17 21:58:09 +00:00
Ed Hartnett
9e30d5d3be some windows changes 2011-10-26 19:18:09 +00:00
Ed Hartnett
7b47adf3a1 removed executable permissions from all code files 2011-10-04 16:05:11 +00:00
Ed Hartnett
59af73d256 removing executable flag 2011-10-04 15:59:40 +00:00
Ed Hartnett
ff498d2c3a changed permissions 2011-09-26 13:46:43 +00:00
Ed Hartnett
8945e92708 fixed some missing config.h problems 2011-09-26 10:14:55 +00:00
Dennis Heimbigner
732fbff7ce 2011-09-20 17:30:02 +00:00
Russ Rew
b658836a6e Finish handling bounds variables with ncdump -t (NCF-70). Fix bug with permitted dimension sizes in netCDF classic files (NCF-117). 2011-09-05 16:09:17 +00:00
Ed Hartnett
d58c18c623 added diskless files API, subsetting not working, classic model only 2011-08-16 21:04:33 +00:00
Ed Hartnett
9212be6606 took out fortran API, made some documentation changes 2011-08-11 17:54:34 +00:00
Ed Hartnett
2b2bcded42 removed cxx and cxx4, bumped version to 4.2, and fixed up documentation some 2011-08-10 18:00:32 +00:00
Ed Hartnett
b377906536 beginning of conversion to doxygen 2011-07-11 16:04:49 +00:00
Russ Rew
b3b7861756 Fix ncdump/tst_compress bug that shows up on Solaris systems. Fix default variable chunksize algorithm. 2011-06-23 17:15:01 +00:00
Ed Hartnett
e7b3fa19c1 removed mention of pnetcdf and hdf4 link options as they are handled by configure 2011-05-31 15:03:31 +00:00
Ed Hartnett
d469f39e3c workaround for HDF5 dimscale issue 2011-05-19 19:22:43 +00:00
Ed Hartnett
e2685a1475 changes to remove EXTERN_LDFLAG from build, also to fix netCDF-4 sync bug 2011-05-17 19:14:35 +00:00
Dennis Heimbigner
fec4cdb230 Fixed the following Jira minor bugs:
NCF-42: _Format attribute sometimes being ignored
NCF-43: Fixed unsigned long long parsing.
NCF-47: Make opendap code properly handle illegal names like "x.y" by
        supressing them
NCF-49: check for uint type
NCF-50: properly handle username:pwd embedded in urls.
2011-05-12 17:51:32 +00:00
Ed Hartnett
8d99e0b43a more changes for mingw/DLL builds 2011-05-11 19:51:11 +00:00
Ed Hartnett
2f4cf5382e took out ldflags in Makefile.am files 2011-05-11 17:09:12 +00:00
Ed Hartnett
8559e6f976 added test that activates classic library bug 2011-04-25 17:09:14 +00:00
Ed Hartnett
882b48f017 fixed HDF5 object versioning so that all netCDF-4 files can be read by HDF5-1.8.x releases 2011-04-25 11:10:24 +00:00
Dennis Heimbigner
0b477e29cc rebuilt dap constraints 2011-04-16 20:56:36 +00:00
Ed Hartnett
0259975e26 changes in response to user feedback to rc1, plus cleaned up H5 test dependancy 2011-03-21 15:45:17 +00:00
Ed Hartnett
e5c8e924e2 more tests for Jeff W. 2011-03-21 09:47:37 +00:00
Ed Hartnett
d334706ffe added math library 2011-03-18 12:20:13 +00:00
Ed Hartnett
965a3aac70 minor refactor of the build system to work better for cross-compiling 2011-03-15 10:19:08 +00:00
Ed Hartnett
ff3abf1427 fixed some confusion about create mode flag NC_CLASSIC_MODEL 2011-02-23 23:39:25 +00:00
Dennis Heimbigner
bc5abe766e fixed opendap perf. bug for nc_get_vars 2011-02-23 17:37:11 +00:00
Ed Hartnett
ca6b34a92c changes to only run tst_many_atts when benchmarks are turned on, and to fix minor bug: handling of a scalar dimension and scalar var of same name 2011-02-23 17:33:11 +00:00
Ed Hartnett
32735883cd fixed bug that was showing up in buddy extra-tests 2011-02-22 19:27:20 +00:00
Ed Hartnett
b9358f5890 updated (and fixed) shared library version numbers for all netcdf libraries 2011-02-17 12:58:08 +00:00
Ed Hartnett
2f9339e3af fixed integer overflow for ginormous data sizes on 32-bit build 2011-02-15 15:47:10 +00:00
Ed Hartnett
8d91b49ad2 added overhang (not hangover) calculations to default chunksizes 2011-02-14 19:15:36 +00:00
Ed Hartnett
3340b641fd fixed bug that allowed for zero chunksize when one small, and two giant dimension sizes are used 2011-02-14 16:49:05 +00:00
Ed Hartnett
6b0feecb05 some improvements to chunking algorithm 2011-02-09 12:23:09 +00:00
Ed Hartnett
d6a3fb724c fix bug in checking magnitudes of dims when determining default chunk sizes, in the case of unlimited dimensions. 2011-02-08 19:35:33 +00:00
Ed Hartnett
ca11ffde62 fixed test of wasted space for default chunking 2011-02-04 20:22:34 +00:00
Ed Hartnett
5da7f43a3f more changes for extreme dimension sizes and default chunking 2011-02-04 20:00:22 +00:00
Ed Hartnett
b47678006e changed default chunksize calculations so they will not have integer overflows, even on 32-bit machines with huge datasets 2011-02-04 17:17:08 +00:00
Ed Hartnett
ba1b41b160 more fixes for handling default chunks sizes with very large variables 2011-02-03 17:41:02 +00:00
Ed Hartnett
c03aabe083 fixed default chunking for some really big dimensions 2011-02-03 16:50:51 +00:00
Ed Hartnett
668ed2e0a5 fixed chunking bug: default chunks must always be under 4GB in size 2011-02-02 14:09:15 +00:00
Ed Hartnett
bb07a21f1f added chunksize test code from Russ to help develop better default chunks 2011-01-31 22:15:37 +00:00
Ed Hartnett
1d86c471a6 fixed def_var_chunking bug when chunksizes are not provided, but chunking is turned on 2011-01-31 21:30:39 +00:00
Ed Hartnett
cdd254c983 added -lm to please fedore netcdf package maintainer 2011-01-31 11:40:56 +00:00
Ed Hartnett
2ebb1cbafc fixed problems with parallel I/O of classic files with pnetcdf library 2011-01-28 12:45:52 +00:00
Ed Hartnett
14795ffaf1 fixed memory leak when adding to unlimited dimension 2011-01-12 23:18:32 +00:00
Ed Hartnett
52d1a2b74e init data space to shut up valgrind 2011-01-04 13:26:55 +00:00
Russ Rew
b37a176fa0 Clarified documentation for nc_inq_grp_ncid(), differentiating it from nc_inq_ncid(). Fixed problem returning values from functions declared void in some libsrc4/ test programs. Added test for bug in ncdump for dimensions with same name in nested groups, and fix for bug. Fixed nccopy bug involving dimensions with smae name in nested groups. Added code for specifying chunking by dimension to nccopy (but not implemented yet). 2010-12-30 18:17:04 +00:00
Ed Hartnett
94210cb492 fixed HDF4 build memory problem 2010-12-06 16:27:08 +00:00