Commit Graph

734 Commits

Author SHA1 Message Date
Dennis Heimbigner
735ae80928 merge master and fix conflicts 2018-12-12 11:47:54 -07:00
Ed Hartnett
8ca5a1ac17
Merge branch 'master' into ejh_fast_var_prep 2018-12-12 07:05:45 -07:00
Ward Fisher
30ea33435c Merge remote-tracking branch 'origin/license_update.wif' into pr-aggregation.wif 2018-12-11 17:08:21 -05:00
Ward Fisher
50fa6b4f32 Merge branch 'ejh_next_22' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into pr-aggregation.wif 2018-12-11 17:06:43 -05:00
Ward Fisher
dedc8e7dde Merge branch 'ejh_next_20' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into pr-aggregation.wif 2018-12-11 17:06:32 -05:00
Ward Fisher
dd8ae88add Merge remote-tracking branch 'origin/fixcomments.dmh' into pr-aggregation.wif 2018-12-11 17:06:24 -05:00
Ward Fisher
6deb77bade Merge branch 'master' into gh1207.dmh 2018-12-11 16:44:04 -05:00
Ed Hartnett
dc1115ae76 moved rec_match_dimscales() to hdf5open.c, made it faster by skipping already-identified dims 2018-12-11 09:40:59 -07:00
Ed Hartnett
3c9a141ee3 moved function detect_preserve_dimids and made it static 2018-12-11 06:15:47 -07:00
Greg Sjaardema
30540026db
Eliminate nested comments
Looks like extra comment begin and a missing comment end resulted in nested comments.  Results in warning on at least the ibm compiler:
```
In file included from /g/g16/TPL/netcdf/netcdf-c/include/nc4internal.h:24:0,
                 from /g/g16/TPL/netcdf/netcdf-c/ncgen/includes.h:50,
                 from /g/g16/TPL/netcdf/netcdf-c/ncgen/genc.c:7:
/g/g16/TPL/netcdf/netcdf-c/include/nc_provenance.h:4:1: warning: "/*" within comment [-Wcomment]
 /**
 ^
```
2018-12-07 08:44:46 -07:00
Ward Fisher
5be0126920 More standardizing of the copyright stanza. 2018-12-06 14:13:56 -07:00
Dennis Heimbigner
1a7531392f Make the netcdf-c library compile with gcc -ansi.
Primary fixes to get -ansi to work.
1. Convert all '//' C++ style comments to /*...*/ or to use #if 0...#endif
2. It turns out that when -ansi is specified, then a number of
   functions no longer are defined in the header -- but they are still
   in the .so file.<br>
   The big example is strdup(). So, added code to include/ncconfig.h to define
   externs for those missing functions that occur in more than one place.
   These are enabled if !_WIN32 && __STDC__ == 1 (__STDC__ is supposed to
   be the equivalent compile time flag to -ansi). Note that this requires
   config.h (which references ncconfig.h) to be included in files where it is
   currently not included. Single uses will be only in the file that uses them.
3. Added mmap test for the MAP_ANONYMOUS flag to configure.ac. Apparently
   this is not always defined with -ansi.
4. fix some large integer constants in nc_test4/tst_atts3.c and nc_test4/tst_filterparser.c
   to avoid compiler complaints.
5. fix a double constant in nc_test4/tst_filterparser.c to avoid compiler complaints.

[Note I suspect #4 and #5 will be a problem on big-endian machines, but we have no way to test]

Misc. Changes:
1. convert more instances of _MSC_VER to _WIN32.
2. added some debugging code to include/nctestserver.h
3. added comment about libdispatch/drc.c always being compiled.
4. modify parser generation in ncgen to remove unneeded files.
2018-12-05 19:20:43 -07:00
Dennis Heimbigner
30d63bbaa5 Fix failings of nc_test/run_inmemory.sh
re: issue https://github.com/Unidata/netcdf-c/issues/1233

Changes:

1. remove exit that was there for testing.
2. the program tst_open_mem must be netcdf-4 only.
3. fix some diff problems
   - Change dataset name for tst_inmemory4_create to tst_inmemory4
   - Modify tst_inmemory.c to reorder the variables (somewhat major rewrite)

Minor Unrelated Fixes:
1. fix comment problem in nc_provenance.h
2. Fix memory leak in tst_open_mem.c
3. fix ncdump/bindata.c to properly compile if netcdf4 is disabled.
4. minor changes to ncgen.l
2018-12-04 19:22:02 -07:00
Ward Fisher
3c59fb860d Updating files to refer to the top-level COPYRIGHT file. 2018-12-04 15:52:43 -07:00
Ed Hartnett
693271c278 now always relax coord bounds checking, also fix parallel builds for --enable-pnetcdf 2018-12-03 06:17:23 -07:00
Ward Fisher
34c4298cf5
Merge branch 'master' into fixcomments.dmh 2018-11-30 13:08:31 -07:00
Ed Hartnett
77d0922d49 starting to deal with normalized name in HDF5 attribute code 2018-11-30 08:59:58 -07:00
Ed Hartnett
d51b221c62 move setting of var chunk cache to libhdf5 2018-11-29 06:10:39 -07:00
Ed Hartnett
c824ad9ec9 further removal of libhdf5 code from libsrc4 2018-11-28 15:48:08 -07:00
Ward Fisher
0f72f42d3a Merge branch 'ejh_next_17' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into pr-aggregation.wif 2018-11-28 13:28:26 -07:00
Ward Fisher
a8673c3dfe Moving provenance info out so that it doesn't depend on netCDF4 support to display. 2018-11-27 16:09:17 -07:00
Ed Hartnett
c638c8de92 cleanup 2018-11-26 11:22:32 -07:00
Ed Hartnett
016f675fad more separation of lazy att reads from libsrc4 2018-11-26 10:44:48 -07:00
Ed Hartnett
c710b42707 moving lazy att code to libhdf5 2018-11-26 10:14:03 -07:00
Ed Hartnett
cc18944fa7 moved lazy atts handling for nc_inq_attid() 2018-11-26 09:58:31 -07:00
Ed Hartnett
d97824d3e6 moved lazy atts handling for nc_inq_att() 2018-11-26 09:51:28 -07:00
Ed Hartnett
ff0d526404 adding hdf5dispatch.h to git 2018-11-26 08:26:28 -07:00
Ed Hartnett
1df4bb1762 moving lazy atts code to libhdf5 2018-11-26 08:21:32 -07:00
Ed Hartnett
1f64c66cdf rename HDF5 dispatch functions to start with NC4_HDF5 2018-11-26 08:13:57 -07:00
Ed Hartnett
aade08ee22 moving checking for lazy att reads to libhdf5 2018-11-26 07:49:58 -07:00
Ed Hartnett
0e9784a867 more changes to separate HDF5 from libsrc4 initialization 2018-11-26 05:44:59 -07:00
Ed Hartnett
e8ab6286e3 header file cleanup 2018-11-26 05:20:35 -07:00
Ed Hartnett
6dbcc42eb6 changes in support of separating HDF5 and libsrc4 2018-11-26 04:31:23 -07:00
Ed Hartnett
8dc1ffea38 removing HDF5 type info from libsrc4 2018-11-20 14:26:11 -07:00
Ed Hartnett
ab963e3d41 removing HDF5 type info from libsrc4 2018-11-20 14:24:40 -07:00
Ed Hartnett
9aedbd0c41 changing over native_hdf_typeid 2018-11-20 10:55:45 -07:00
Ed Hartnett
5104262f6b changing types 2018-11-20 08:00:48 -07:00
Ed Hartnett
7d01ffb030 merged master 2018-11-20 06:38:47 -07:00
Ed Hartnett
6bebb703a6 trying types again 2018-11-20 06:37:53 -07:00
Ward Fisher
9357723280
Merge branch 'master' into gh1207.dmh 2018-11-19 16:27:19 -07:00
Ed Hartnett
1d5307b600 merged in ejh_next_10 2018-11-19 09:25:04 -07:00
Ed Hartnett
3ec8b34bfb removed unneeded HDF5 fields 2018-11-19 09:23:43 -07:00
Dennis Heimbigner
4bb92b77db Fix error report coming out of nc4info.c
re: issue https://github.com/Unidata/netcdf-c/issues/1207

The NC4_get_provenance is generating a spurious error message.
This properly suppresses it.
2018-11-16 15:31:37 -07:00
Ward Fisher
128b649190 Fixed a whitespace issue that occurs on OSX. 2018-11-16 15:08:17 -07:00
Dennis Heimbigner
0db7b873ef Remove // style comments from source code.
We need to do this periodically because they sneek in.
2018-11-16 11:56:32 -07:00
Ed Hartnett
4c1b3a225b clean up 2018-11-16 10:07:54 -07:00
Ed Hartnett
8ae5ebf6bc remove unneeded params from function 2018-11-16 08:26:09 -07:00
Ed Hartnett
60a33b9e8b removed hdf5 stuff from NC_FIELD_INFO_T 2018-11-15 16:46:22 -07:00
Ed Hartnett
8aa4577bef merged ejh_next_7 2018-11-15 16:40:14 -07:00
Dennis Heimbigner
751300ec59 Fix more memory leaks in netcdf-c library
This is a follow up to PR https://github.com/Unidata/netcdf-c/pull/1173

Sorry that it is so big, but leak suppression can be complex.

This PR fixes all remaining memory leaks -- as determined by
-fsanitize=address, and with the exceptions noted below.

Unfortunately. there remains a significant leak that I cannot
solve. It involves vlens, and it is unclear if the leak is
occurring in the netcdf-c library or the HDF5 library.

I have added a check_PROGRAM to the ncdump directory to show the
problem.  The program is called tst_vlen_demo.c To exercise it,
build the netcdf library with -fsanitize=address enabled. Then
go into ncdump and do a "make clean check".  This should build
tst_vlen_demo without actually executing it.  Then do the
command "./tst_vlen_demo" to see the output of the memory
checker.  Note the the lost malloc is deep in the HDF5 library
(in H5Tvlen.c).

I am temporarily working around this error in the following way.
1. I modified several test scripts to not execute known vlen tests
   that fail as described above.
2. Added an environment variable called NC_VLEN_NOTEST.
   If set, then those specific tests are suppressed.

This should mean that the --disable-utilities option to
./configure should not need to be set to get a memory leak clean
build.  This should allow for detection of any new leaks.

Note: I used an environment variable rather than a ./configure
option to control the vlen tests. This is because it is
temporary (I hope) and because it is a bit tricky for shell
scripts to access ./configure options.

Finally, as before, this only been tested with netcdf-4 and hdf5 support.
2018-11-15 10:00:38 -07:00
Ed Hartnett
fda69e6b23 moving rest of var stuff 2018-11-13 17:05:50 -07:00
Ed Hartnett
6a66ecd3d0 moving rest of var stuff 2018-11-13 17:03:11 -07:00
Ed Hartnett
d7fe095066 moving rest of var stuff 2018-11-13 16:59:07 -07:00
Ed Hartnett
d7aac4501b removing hid_t from NC_VAR_INFO_T 2018-11-13 16:10:49 -07:00
Ed Hartnett
4045588516 removing hid_t from NC_VAR_INFO_T 2018-11-13 16:10:34 -07:00
Ed Hartnett
f7cb5ead1c moving var hdf5-specific info into libhdf5 2018-11-13 05:44:39 -07:00
Ed Hartnett
578ddb2a28 cleaning up nc4internal.h 2018-11-13 05:27:46 -07:00
Ed Hartnett
286e276390 cleaning up nc4internal.h 2018-11-13 05:18:00 -07:00
Ed Hartnett
825047b8f6 rest of moving HDF5 specific group info to libhdf5 2018-11-12 14:04:17 -07:00
Ed Hartnett
c35aa3ccb9 changed header files to separate HDF5-specific grp info 2018-11-12 07:40:15 -07:00
Ed Hartnett
7534cb24fe cleanup 2018-11-08 11:12:38 -07:00
Ed Hartnett
856e4ead03 moved hdf_dimscaleid to hdf5-specific dim info 2018-11-08 10:55:21 -07:00
Ed Hartnett
8aabd2020c moving HDF5 dim fields to hdf5internal.h from nc4internal.h 2018-11-08 07:09:11 -07:00
Ed Hartnett
8d31f5b806 clean up 2018-11-07 14:23:55 -07:00
Ed Hartnett
6f4b4ac80d moving attribute HDF5 stuff to libhdf5 2018-11-07 14:21:57 -07:00
Ed Hartnett
11d725facc allocating and freeing memory for hdf5-specific attribute info 2018-11-07 13:45:51 -07:00
Ed Hartnett
9929e7acf9 moving att HDF5 stuff to libhdf5 2018-11-07 11:33:02 -07:00
Ed Hartnett
5f36a3b425 merged master 2018-11-02 10:00:53 -06:00
Dennis Heimbigner
245961de00 re: github issues
https://github.com/Unidata/netcdf-c/issues/1168
    https://github.com/Unidata/netcdf-c/issues/1163
    https://github.com/Unidata/netcdf-c/issues/1162

This PR partially fixes memory leaks in the netcdf-c library,
in the ncdump utility, and in some test cases.

The netcdf-c library now runs memory clean with the assumption
that the --disable-utilities option is used. The primary remaining
problem is ncgen. Once that is fixed, I believe the netcdf-c library
will run memory clean with no limitations.

Notes
-----------
1. Memory checking was performed using gcc -fsanitize=address.
   Valgrind-based testing has yet to be performed.
2. The pnetcdf, hdf4, and examples code has not been tested.

Misc. Non-leak changes
1. Make tst_diskless2 only run when netcdf4 is enabled (issue 1162)
2. Fix CmakeLists.txt to turn off logging if ENABLE_NETCDF_4 is OFF
3. Isolated all my debug scripts into a single top-level directory
   called debug
4. Fix some USE_NETCDF4 dependencies in nc_test and nc_test4 Makefile.am
2018-10-30 20:48:12 -06:00
Ed Hartnett
35cfaefc0c closing HDF5 objects separately 2018-10-23 05:39:00 -06:00
Ed Hartnett
c90ab24b48 moving towards separating HDF5 file close from netcdf4 file close 2018-10-18 03:17:38 -06:00
Dennis Heimbigner
553de966d6 Add some visual studio bug fixes 2018-10-11 12:09:42 -06:00
Dennis Heimbigner
4636584d5b Revert/Improve nc_create + NC_DISKLESS behavior
re: https://github.com/Unidata/netcdf-c/issues/1154

Inadvertently, the behavior of NC_DISKLESS with nc_create() was
changed in release 4.6.1. Previously, the NC_WRITE flag needed
to be explicitly used with NC_DISKLESS in order to cause the
created file to be persisted to disk.

Additional analyis indicated that the current NC_DISKLESS
implementation was seriously flawed.

This PR attempts to clean up and regularize the situation with
respect to NC_DISKLESS control. One important aspect of diskless
operation is that there are two different notions of write.

1. The file is read-write vs read-only when using the netcdf API.
2. The file is persisted or not to disk at nc_close().

Previously, these two were conflated. The rules now are
as follows.

1. NC_DISKLESS + NC_WRITE means that the file is read/write using the netcdf API
2. NC_DISKLESS + NC_PERSIST means that the file is persisted to a disk file at nc_close.
3. NC_DISKLESS + NC_PERSIST + NC_WRITE means both 1 and 2.

The NC_PERSIST flag is new and takes over the obsolete NC_MPIPOSIX flag.
NC_MPIPOSIX is still defined, but is now an alias for the NC_MPIIO flag.

It is also now the case that for netcdf-4, NC_DISKLESS is independent
of NC_INMEMORY and in fact it is an error to specify both flags
simultaneously.

Finally, the MMAP code was fixed to use NC_PERSIST as well.
Also marked MMAP as deprecated.

Also added a test case to test various combinations of NC_DISKLESS,
NC_PERSIST, and NC_WRITE.

This PR affects a number of files and especially test cases
that used NC_DISKLESS.

Misc. Unrelated fixes
1. fixed some warnings in ncdump/dumplib.c
2018-10-10 13:32:17 -06:00
Ward Fisher
ea66842bea
Merge branch 'master' into nc_mpiio_nc_mpiposix 2018-10-09 15:21:50 -06:00
Dennis Heimbigner
534364b069 This Pre removed #include <netcdf.h> from netcdf_mem.h.
In turn that caused some problems elsewhere because some files
did not include netcdf.h preceding netcdf_mem.h. Specifically,
building under visual studio fails.
So fix those cases that I can find. May need to
add more later.
2018-10-07 12:05:26 -06:00
Dennis Heimbigner
a5a34f6aba
Merge branch 'master' into nc_mpiio_nc_mpiposix 2018-10-06 13:33:55 -06:00
Dennis Heimbigner
77886deff2
Merge branch 'master' into netcdf_mem_fix.dmh 2018-10-06 13:32:57 -06:00
Dennis Heimbigner
8072d1f6bb Modify DAP2 and DAP4 to optionally allow Fillvalue/Variable mismatch
re: issue https://github.com/Unidata/netcdf-c/issues/1151

Modify DAP2 and DAP4 code to handle case when _FillValue type is not
same as the parent variable type.

Specifically:
1. Define a parameter [fillmismatch] to allow this mismatch;
   default is to disallow.
2. If allowed, forcibly change the type of the _FillValue to match
   the parent variable.
3. If allowed Convert the values to match new type
4. Generate a log message
5. if not allowed, then fail

Implementing this required some changes to ncdap_test/dapcvt.c
Also added test cases.

Minor Unrelated Changes:
1. There were a number of warnings about e.g.
   assigning a const char* to a char*. Fix these
2. In nccopy.1, replace .NP with .IP "n"
   (re PR https://github.com/Unidata/netcdf-c/pull/1144)
3. fix minor error in ncdump/ocprint
2018-10-01 15:51:43 -06:00
Dennis Heimbigner
bba2a676a7
Remove unneeded include of netcdf.h from netcdf_mem.h 2018-09-23 14:16:45 -06:00
Wei-keng Liao
a7c08c3a49 add a missed update to NC_HDF4_open 2018-09-23 01:36:50 -05:00
Wei-keng Liao
0ed70756cc Ignore flags NC_MPIIO and NC_MPIPOSIX. 2018-09-22 20:22:34 -05:00
Ward Fisher
5b5311ef80
Merge branch 'master' into pnetcdf_driver 2018-09-18 12:21:11 -06:00
Wei-keng Liao
48da78e133 Use PnetCDF instead of parallel-netcdf to avoid confusion with
parallel netcdf4. Also, update PnetCDF web page.
2018-09-17 17:18:48 -05:00
Wei-keng Liao
2e85316dbb Improve parallel create/open mode logic.
1. When model is detected as NC_FORMATX_NC3 and is called from
   nc_create_par, change the model to NC_FORMATX_PNETCDF.
2. When called from nc_create() or nc_open(), using NC_MPIIO or
   NC_MPIPOSIX is considered invalid.
3. Handle the case when NETCDF4 is not enabled but cmode/omode
   contains NC_NETCDF4.
4. Handle the case when PNETCDF is not enabled but cmode/omode
   contains NC_PNETCDF.
5. Correct comments about PnetCDF only handles CDF-5 files.
6. Add a check for MPI_ERR_NO_SUCH_FILE error class.

Make NC_check_file_type() static, as it is used in dfile.c only.
2018-09-17 17:18:48 -05:00
Ed Hartnett
08a2dce904 merged master 2018-09-07 12:40:44 -06:00
Ed Hartnett
8390d572ad
Merge branch 'master' into ejh_hdf5_sep_next 2018-09-06 17:30:37 -06:00
Ward Fisher
784d777bff Merge branch 'master' into provenance.dmh 2018-09-06 15:13:09 -06:00
Ed Hartnett
86e002d794 merged master 2018-09-06 14:01:59 -06:00
Ed Hartnett
80dc5bc0f7 merged master 2018-09-06 12:24:29 -06:00
Ward Fisher
fbe0a18b1c
Merge branch 'master' into ejh_loop_cleanup_2 2018-09-05 11:22:55 -06:00
Ward Fisher
d0bb5ddde8 Merge remote-tracking branch 'origin/inmemory10.dmh' into combined-pr.wif 2018-09-04 13:39:34 -06:00
Ward Fisher
3c3119bed2 Merge remote-tracking branch 'origin/dapcurlopt.dmh' into combined-pr.wif 2018-09-04 12:50:55 -06:00
Ed Hartnett
a23318929f
Merge branch 'master' into ejh_loop_cleanup_2 2018-09-04 12:44:46 -06:00
Dennis Heimbigner
d62a9e623c Fix the NC_INMEMORY code to work in all cases with HDF5 1.10.
re: github issue https://github.com/Unidata/netcdf-c/issues/1111

One of the less common use cases for the in-memory feature is
apparently failing with HDF5-1.10.x.  The fix is complicated and
requires significant changes to libhdf5/nc4memcb.c. The current
setup is detailed in the file docs/inmeminternal.dox.

Additionally, it was discovered that the program
nc_test/tst_inmemory.c, which is invoked by
nc_test/run_inmemory.sh, actually was failing because of the
above problem. But the failure is not detected since the script
does not return non-zero value.

Other Changes:
1. Fix nc_test_tst_inmemory to return errors correctly.
2. Make ncdap_tests/findtestserver.c and dap4_tests/findtestserver4.c
   be generated from ncdap_test/findtestserver.c.in.
3. Make LOG() print output to stderr instead of stdout to
   avoid contaminating e.g. ncdump output.
4. Modify the handling of NC_INMEMORY and NC_DISKLESS flags
   to properly handle that NC_DISKLESS => NC_INMEMORY. This
   affects a number of code pieces, especially memio.c.
2018-09-04 11:27:47 -06:00
Ward Fisher
ed38e582dc
Merge branch 'master' into provenance.dmh 2018-09-04 11:24:49 -06:00
Ward Fisher
ede7c5da60
Merge branch 'master' into provenance.dmh 2018-09-04 11:22:36 -06:00
Dennis Heimbigner
4a1e84b721 Re github issue https://github.com/Unidata/netcdf-c/issues/1131
The identifier typename is apparently a reserved word in C++.
It is used as a fieldname in the ALignment struct in
include/ncoffsets.h.

Change the field name to type_name in ncoffsets.h
and also in libdispatch/doffsets.c, which uses that field.
2018-09-03 13:30:11 -06:00
Ed Hartnett
ad592448df merged master 2018-08-29 06:32:28 -06:00
Ed Hartnett
560fac9df3 merged master 2018-08-29 06:25:35 -06:00
Ed Hartnett
27281dfe4b
Merge branch 'master' into ejh_loop_cleanup_2 2018-08-28 17:32:40 -06:00
Ward Fisher
5e33522f52
Merge branch 'master' into default_format 2018-08-28 15:02:17 -06:00
Dennis Heimbigner
79e38de840 Add the ability to set some additional curlopt values
Add the ability to set some additional curlopt values via .daprc (aka .dodsrc).
This effects both DAP2 and DAP4 protocols.

Related issues:
[1] re: esupport: KOZ-821332
[2] re: github issue https://github.com/Unidata/netcdf4-python/issues/836
[3] re: github issue https://github.com/Unidata/netcdf-c/issues/1074

1. CURLOPT_BUFFERSIZE: Relevant to [1]. Allow user to set the read/write
buffersizes used by curl.
This is done by adding the following to .daprc (aka .dodsrc):
	HTTP.READ.BUFFERSIZE=n
where n is the buffersize in bytes. There is a built-in (to curl)
limit of 512k for this value.

2. CURLOPT_TCP_KEEPALIVE (and CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL):
Relevant (maybe) to [2] and [3]. Allow the user to turn on KEEPALIVE
This is done by adding the following to .daprc (aka .dodsrc):
	HTTP.KEEPALIVE=on|n/m
If the value is "on", then simply enable default KEEPALIVE. If the value
is n/m, then enable KEEPALIVE and set KEEPIDLE to n and KEEPINTVL to m.
2018-08-26 17:04:46 -06:00
Dennis Heimbigner
2ea1cf5f1b There was a request to extend the provenance information
stored in the _NCProperties attribute to allow two things:
1. capture of additional library dependencies (over and above
   hdf5)
2. Recognition of non-netcdf libraries that create netcdf-4 format
   files.

To this end, the _NCProperties format has been extended to be
and arbitrary set of key=value pairs separated by commas.
This new format has version = 2, and uses commas as the pair separator.
Thus the general form is:
    _NCProperties = "version=2,key1=value,key2=value2..." ;

This new version is accompanied by a new ./configure option of the form
    --with-ncproperties="key1=value1,key2=value2..."
that specifies pairs to add to the _NCProperties attribute for all
files created with that netcdf library.

At this point, what is missing is some programmatic way to
specify either all the pairs or additional pairs
to the _NCProperties attribute. Not sure of the best way
to do this.

Builders using non-netcdf libraries can specify
whatever they want in the key value pairs (as long
as the version=2 is specified first).

By convention, the primary library is expected to be the
the first pair after the leading version=2 pair, but this
is convention only and is neither required nor enforced.

Related changes:
1. Fixed the tests that check _NCProperties to properly operate with version=2.
2. When reading a version 1 _NCProperties attribute, convert it to look
   like a version 2 attribute.
2. Added some version 2 tests to ncdump/tst_fileinfo.c and
   ncdump/tst_fileinfo.sh

Misc Changes:
1. Fix minor problem in ncdap_test/testurl.sh where a parameter to
   buildurl needed to be quoted.
2. Minor fix to ncgen to swap switches -H and -h to be consistent
   with other utilities.
3. Document the -M flag in nccopy usage() and the nccopy man page.
4. Modify a test case to use the nccopy -M flag.
2018-08-25 21:44:41 -06:00
Ward Fisher
373d0365a1
Merge branch 'master' into default_format 2018-08-24 11:27:07 -06:00
Ed Hartnett
1310066494 getting parallel benchmarks to work, cleanup of benchmark scripts 2018-08-24 08:59:58 -06:00
Ed Hartnett
933d91a556 fixed many benchmark warnings 2018-08-23 08:21:55 -06:00
Ed Hartnett
00a8bbad8d cleanup 2018-08-22 07:03:37 -06:00
Ed Hartnett
8885c75ade removing unneeded lookups 2018-08-22 06:08:19 -06:00
Ed Hartnett
d8c1a6209a removed unneeded lookup function 2018-08-21 11:54:06 -06:00
Ed Hartnett
990a75d5d7 clean up of find_grp functions 2018-08-21 11:23:12 -06:00
Ed Hartnett
ece953458d cleanup of group find functions 2018-08-21 10:50:32 -06:00
Ed Hartnett
06db182eff cleaned up error handling in nc4_close_netcdf4_file 2018-08-21 08:32:39 -06:00
Ed Hartnett
5b2f6ecebc changed literal in netcdf.h 2018-08-18 05:22:07 -06:00
Ed Hartnett
d6c0cbe234 removing unneeded file lookups 2018-08-14 08:56:58 -06:00
Ed Hartnett
b5999278cc added nc4_find_grp_h5_var 2018-08-09 06:47:45 -06:00
Ed Hartnett
5e9ffcaab3 renamed get_fill_value 2018-08-09 06:41:54 -06:00
Ed Hartnett
5a452c5815 bring in changes from lazy vars branch 2018-08-06 10:49:31 -06:00
Ed Hartnett
9dc99c8a04 cleaned up some functions in preparation for lazy vars 2018-08-06 10:16:49 -06:00
Ed Hartnett
354b89c363 merged upstream/master 2018-08-06 08:36:44 -06:00
Ward Fisher
59e98ef087
Merge branch 'master' into default_format 2018-08-03 10:59:41 -06:00
Ward Fisher
81c91eb519 Made some changes to export symbols on Windows builds. 2018-08-02 14:58:47 -06:00
Ed Hartnett
b9afdee6cd merged master 2018-07-31 19:44:28 -06:00
Ward Fisher
5582466724
Merge branch 'master' into ejh_hdf5_sep 2018-07-31 14:04:55 -06:00
Ward Fisher
90d664b9ec Merge branch 'has_parallel4' of https://github.com/wkliao/netcdf-c into pr-aggregation.wif 2018-07-31 11:32:54 -06:00
Ward Fisher
334a936732
Merge branch 'master' into relax_coord_bound 2018-07-31 11:26:51 -06:00
Ward Fisher
00f66133af
Merge branch 'master' into has_parallel4 2018-07-30 14:17:41 -06:00
Ed Hartnett
fce57d4498
Merge branch 'master' into ejh_hdf5_sep 2018-07-30 12:13:45 -06:00
Wei-keng Liao
025c7d1bb2 introduce error code NC_EPNETCDF for errors at PnetCDF level 2018-07-29 15:33:08 -05: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
Wei-keng Liao
e154ad609f
Merge branch 'master' into has_parallel4 2018-07-26 01:40:15 -05:00
Wei-keng Liao
5a06155f88
Merge branch 'master' into relax_coord_bound 2018-07-26 01:39:59 -05:00
Ed Hartnett
5631fa512a merged master 2018-07-24 01:51:51 -06:00
Ed Hartnett
25021aa847
Merge branch 'master' into ejh_hdf5_sep 2018-07-23 18:52:07 -06:00
Ed Hartnett
a1437c5ca0
Merge branch 'master' into ejh_split_hdf5file 2018-07-23 18:51:29 -06:00
Ward Fisher
1783e81bfc
Merge branch 'master' into patch-23 2018-07-23 15:34:27 -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
ef7b525ce4 merged master 2018-07-23 09:45:39 -06:00
Ed Hartnett
5a52f28bb7 further condensing code 2018-07-21 10:43:36 -06:00
Ed Hartnett
afa7c0a87d further condensing code 2018-07-21 09:26:16 -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
9849c23773 now using NC_HDF5_FILE_INFO_T for hdf5 specific file info 2018-07-19 13:07:13 -06:00
Ed Hartnett
802c1a82f1 starting to add NC_HDF5_FILE_INFO_T 2018-07-19 08:50:53 -06:00
Ed Hartnett
3c0abc3d28 moved hdf5 var code to hdf5var.c 2018-07-19 07:23:03 -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
a741bec8d9 Merge branch 'doc-cdf5' of https://github.com/wkliao/netcdf-c into pr-aggregation.wif 2018-07-18 14:08:20 -06:00
Ward Fisher
0904a8d37d
Merge branch 'master' into patch-23 2018-07-17 15:54:19 -06:00
Ward Fisher
d6ed28291a
Merge branch 'master' into doc-cdf5 2018-07-17 15:53:56 -06:00
Ward Fisher
090523e2c5
Merge branch 'master' into 32bit_LFS 2018-07-17 11:01:52 -06:00
Ed Hartnett
32c165ce2a fixed parallel build problem 2018-07-17 10:15:16 -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
99c4f82f2e only define nc_set_log_level() to nothing for netcdf-4 builds 2018-07-16 13:47:18 -06:00
Ed Hartnett
52d7985aec moving definition of nc_set_log_level() to nothing 2018-07-16 13:41:36 -06:00
Ed Hartnett
413f8c2886 moving definition of nc_set_log_level() to nothing 2018-07-16 13:36:03 -06:00
Ed Hartnett
6a27bbcec6 moving definition of nc_set_log_level() to nothing 2018-07-16 12:09:40 -06:00
Ed Hartnett
c4196ce5ec moving definition of nc_set_log_level() to nothing 2018-07-16 11:52:03 -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
Wei-keng Liao
d0cb241cfe add NC_HAS_PARALLEL4 to netcdf_meta.h.in 2018-07-14 18:03:42 -05:00
Ed Hartnett
d801425b78
Merge branch 'master' into ejh_hdf5internal 2018-07-14 13:01:14 -06:00
Wei-keng Liao
c8f3a647b6 add NC_RELAX_COORD_BOUND to netcdf_meta.h.in 2018-07-13 16:32:43 -05:00
Ward Fisher
d7ef36bb6f
Merge branch 'master' into doc-cdf5 2018-07-13 11:02:55 -06:00
Ward Fisher
03b0113350
Merge branch 'master' into 32bit_LFS 2018-07-13 11:00:54 -06:00
Dennis Heimbigner
3c23254e34
Fix esupport # HYV-329576
nc_finalize() -> nc_finalize(void)
2018-07-12 12:14:14 -06:00
Ed Hartnett
e00b2ee557 clean up 2018-07-12 07:07:23 -06:00
Ed Hartnett
4484c48964 clean up 2018-07-12 07:06:40 -06:00
Ed Hartnett
786c5a8f2e moved hdf5 specific header stuff to hdf5internal.h 2018-07-12 07:05:21 -06:00
Ward Fisher
82c9788bb8 Correcting #1057, also adding fortran tests to travis-ci for the time being. 2018-07-11 13:30:53 -06:00
Ward Fisher
a46d59e426
Merge branch 'master' into 32bit_LFS 2018-07-10 15:59:30 -06:00
Greg Sjaardema
43173957d0
Eliminate compiler warning
The `typedef struct NC_Dispatch NC_Dispatch;` declaration is in both netcdf.h and in ncdispatch.h.  Even though it is the same declaration, there are compilers which see this as an error and the compilation will fail:
```
In file included from /netcdf-c/include/nc4dispatch.h:15,
                 from /netcdf-c/libhdf5/hdf5attr.c:16:
/netcdf-c/include/ncdispatch.h:111: error: redefinition of typedef €`NC_Dispatch`
/netcdf/netcdf-c/include/netcdf.h:515: note: previous declaration of `NC_Dispatch` was here
```
This is with a very old version of gcc-4.4.7 which isn't used much anymore, but this is the default gcc compiler on RHEL6 so it might be worth fixing.
2018-07-06 08:04:11 -04:00
Wei-keng Liao
577fcea506 add missing note about CDF-5 format 2018-07-05 22:54:41 -05:00
Ed Hartnett
7bb4e8cf4d
Merge branch 'master' into ejh_ifdef_clean 2018-06-27 18:15:37 -06:00
Ward Fisher
3dd9aab138
Merge branch 'master' into ejh_rename 2018-06-27 14:04:58 -06:00
Dennis Heimbigner
1299a0fcee The Jetstream remote test server is now working.
So it now becomes the first default test server to try.
This also means that the dap4 remote testing is enabled.
The only issue to watch is to see if the jetstream-based
server can stay up for significant periods of time.
A uptimerobot (https://uptimerobot.com) has been set ups
to monitor this hourly, so we shall see.
2018-06-26 13:58:45 -06:00
Ed Hartnett
5100b9c5f7 merged ejh_rename 2018-06-25 17:09:00 -06:00
Ed Hartnett
e28405744c merged master 2018-06-25 17:08:22 -06:00
Ed Hartnett
697f033823 renamed NC_HDF5_FILE_INFO to NC_FILE_INFO 2018-06-22 07:08:09 -06:00
Ward Fisher
bb2e8da129
Merge branch 'master' into 32bit_LFS 2018-06-21 15:51:20 -06:00
Ed Hartnett
b524cd04bc adding calls to get var atts when needed 2018-06-19 07:56:54 -06:00
Ed Hartnett
a01da62481 isolating code to read variable attributes 2018-06-19 07:51:49 -06:00
Ed Hartnett
6b90169278 switching to att_not_read 2018-06-19 05:05:44 -06:00
Ed Hartnett
5f850408c3 adding lazy att handling 2018-06-19 04:40:00 -06:00
Ed Hartnett
93278a8561 merged in outstanding PRs 2018-06-19 03:59:00 -06:00
Ed Hartnett
c7ab5573b4 removed get/put vara functions 2018-06-16 10:39:50 -06:00
Ed Hartnett
416da4cb4f took out is_long for vars functions 2018-06-16 05:55:50 -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
Wei-keng Liao
ab2dbc0d84 Promote NC_var member len from size_t to long long to fix some problems of large-variable tests on 320bit platforms. 2018-06-15 15:08:05 -05:00
Ed Hartnett
2ca8526278 merged master 2018-06-14 16:57:38 -06:00
Ed Hartnett
8c879b7d2b removed unwanted ifdefs 2018-06-09 19:01:47 -06:00
Ed Hartnett
037a3cb58c reverting 2018-06-09 06:17:52 -06:00
Ed Hartnett
09366bf43b removed longs from conver_type again 2018-06-09 06:14:14 -06:00
Ward Fisher
5fe7d0ffad
Merge branch 'master' into ejh_udf 2018-06-08 16:52:20 -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
Ed Hartnett
03d1a7c7cc
Merge branch 'master' into ejh_logging 2018-06-08 03:17:01 -06:00
Ed Hartnett
367d7c2a57 merged master 2018-06-07 18:36:25 -06:00