Commit Graph

159 Commits

Author SHA1 Message Date
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
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
Ward Fisher
acd3565140 Replaced a comparison of floating point variables to a difference/epsiolon test. 2013-12-17 14:30:14 -07:00
Ward Fisher
f5ec4ba7a0 Removed reference to old test file. 2013-12-16 15:22:59 -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
11e6343ae1 Correct order of unlimited dim checking in test. (Was relying on old behavior
of backwards ordering)
2013-12-14 10:08:01 -06:00
Ward Fisher
b43955ab49 Added test contributed by Jeff Whitaker. 2013-12-10 15:50:20 -07:00
Ward Fisher
6d26b8c27c Fixed an issue with make distclean where a test file was not being deleted. 2013-12-06 11:33:37 -07:00
Quincey Koziol
5ccb8a24b5 Merge branch 'master' into ncf-177 2013-11-30 23:40:26 -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
Russ Rew
66434cdb8a Fix test for proper error return when invalid coordinate specified for
nc_get_var1_ushaort call.
2013-11-26 13:33:18 -07:00
Ward Fisher
b6e4715104 Added fixes to CMake-based system, when building pnetcdf. 2013-08-26 13:50:27 -06: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
Ward Fisher
909f569de0 Changed argument list of nc_rename_grp to match definition of nc_rename_grp,
changed invocation of nc_rename_grp in renamegroup.c.
2013-07-22 17:27:43 +00:00
Ward Fisher
0401fafb3b Changed argument list of nc_rename_grp to match definition of nc_rename_grp,
changed invocation of nc_rename_grp in renamegroup.c.
2013-07-22 17:04:54 +00:00
Ward Fisher
cbb032b19c Modified how renamegroup executable is built so that
it can be run in CMake-based builds.
2013-07-22 16:55:59 +00:00
Russ Rew
a18b6eb42a Remove .exe suffix from executable invocation in shell test script. 2013-07-22 14:43:10 +00:00
Dennis Heimbigner
bb77390311 Set executable bit on run_grp_rename.sh 2013-07-21 17:09:49 +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
Russ Rew
7f9ff06665 Modified to run the nc_test4 program inadvertently omitted file from the NCF-56 fix. 2013-07-14 18:34:01 +00:00
Russ Rew
fa3f84afbc Neglected to add this, due to confusion with file of same name in ncdump 2013-07-14 16:16:56 +00:00
Russ Rew
167c2355c8 Fix CMakeLists to remove tst_h_scalar test from nc_test4/, since already in ncdump/ 2013-07-10 22:53:56 +00:00
Dennis Heimbigner
7dce1d00f3 add ref to tst_h_scalar 2013-07-10 21:17:36 +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
Ward Fisher
33d3d06971 Added initial 'make dist', 'make distcheck' support to
CMake-based builds.
2013-06-03 16:42:04 +00:00
Dennis Heimbigner
c583f91992 merge with trunk and fix conflicts 2013-05-10 17:04: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
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
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
Dennis Heimbigner
dea3c726c8 merge trunk into this branch 2013-03-15 20:31:07 +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
Ward Fisher
03fb6a2ac2 Merging latest changes from netcdf-cmake branch. 2013-03-11 21:13:51 +00:00
Russ Rew
bf038bceb8 Add test for bug NCF-234 fix 2013-03-10 23:57:06 +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
0444a6c711 Fixed a couple of tests on Windows,
Fixed some compile errors on Windows.
2013-02-21 23:56:15 +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
Dennis Heimbigner
b0b6c77a3e 1. corrected the nc_get_varm/put_varm documentation
to indicate that they only work for atomic types,
   not user defined types.

2. modified NCDEFAULT_{get/put}_vars to no longer use
   nc_get/put_varm. They now directly use nc_get/put_vara
   directly. This means that nc_get/put_vars now work
   properly for user defined types as well as atomic types.

3. Added test cases for get_vars/put_vars with a
   user defined type. Tests placed into
   nc_test/tst_compounds.c
2013-02-17 23:42:15 +00:00
Ward Fisher
51848614c3 Corrected parallel support in CMake, including
library checks and parallel IO tests.  Updated 
CMake-related documentation.
2013-02-12 22:22:54 +00:00
Russ Rew
ba1a494579 Fix bug NCF-226 2013-02-11 18:04:03 +00:00
Ward Fisher
8d6bfcd534 Added new tests to CMake test system. 2013-02-06 23:09:19 +00:00
Russ Rew
5c9368a7fa Fix bug NCF-222, scalar non-coordinate variables with same name as dimensions 2013-02-04 15:48:47 +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
Russ Rew
3ef3b35a94 Refactor to share functions between ncdump and nccopy. Merge nccopy
enhancements, based on contributed code from Martin van Driel, to
support -v, -g, -V, and -G options for selecting groups and variables
in output.  Fix all clang warnings from nccopy and ncdump sources, as
well as a few other cleanup changes to testing code.
2013-01-23 17:45:29 +00:00
Dennis Heimbigner
39bed98c0b fix pnetcdf problems reported by russ 2013-01-17 18:43:34 +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
Russ Rew
592a120a55 Fixed bug NCF-206 (Fix strided access for NC_STRING type). Verified
fix with new test for strided access for NC_STRING type.
2012-11-19 17:20:53 +00:00
Ward Fisher
6504c2b093 2012-09-14 21:53:08 +00:00