Commit Graph

362 Commits

Author SHA1 Message Date
Ward Fisher
5d34ea5b2c
Merge pull request #1597 from NOAA-GSD/ejh_doc_fix
fixed doc formatting issue
2020-01-14 17:53:29 -07:00
Edward Hartnett
c6d14f29bd fixed doc formatting issue 2020-01-13 03:28:04 -07:00
Jennifer Oxelson
1b343324ea
Merge branch 'master' into jsremotetest 2020-01-10 17:35:34 -07:00
Dennis Heimbigner
748d26c114 Add support for CURLOPT_CONNECTTIMEOUT
I see that there is no way to set CURLOPT_CONNECTTIMEOUT,
but there is support for CURLOPT_TIMEOUT.
So, accept the line 'HTTP.CONNECTTIMEOUT'
in .rc file to allow user to set CURLOPT_CONNECTTIMEOUT.
2020-01-09 11:48:04 -07:00
Jennifer Oxelson
feb7da82ec changed/removed references to jetstream remotetest instance. 2020-01-03 13:12:58 -07:00
Edward Hartnett
7945ce6b2c updated users guide 2019-11-25 16:53:44 -07:00
Edward Hartnett
2682ffd68d improved docs for cache functions, added libhdf5/hdf5cache.c to Doxyfile.in, added benchmark program for cache settings 2019-11-25 16:33:04 -07:00
Ward Fisher
bef8e2d39d Updated one of the static software pages. 2019-11-21 14:18:10 -07:00
Ward Fisher
695d84bb28 Merge branch 'bugfix/issue-1533' of https://github.com/kprussing/netcdf-c into v4.7.3-wellspring.wif 2019-11-20 12:48:15 -07:00
kprussing
af3f2e9362 Update FAQ based on actual usage of HDF5 variables
The CMakeLists.txt actually uses `HDF5_C_LIBRARY` and `HDF5_HL_LIBRARY`
to find non-standard HDF5 installation.  This just updates the FAQ with
the correct usage.
2019-11-19 22:18:46 -05:00
Ward Fisher
e4efdd4cfb Bumped version to next development version. 2019-11-18 14:35:01 -07:00
Ward Fisher
e4003be502
Merge pull request #1515 from NetCDF-World-Domination-Council/ejh_att_docs
update for attribute documentation
2019-11-15 16:39:46 -07:00
edwardhartnett
73ed8525db updated tutorial 2019-11-14 08:14:53 -07:00
edwardhartnett
c76dae1c5d added anchors for reading_attributes and writing_attributes, and refs to them, also changed order of files in Doxygen.in 2019-11-08 05:19:51 -07:00
Ward Fisher
f8a588843d Preparing for 4.7.3 development pushed back upstream, forking off to 4.7.2 release branch. 2019-10-18 12:09:28 -06:00
Dennis Heimbigner
f1506d552e Change (again), and hopefully simplify, the file model inference algorithm.
* For URL paths, the new approach essentially centralizes all information
  in the URL into the "#mode=" fragment key and uses that value
  to determine the dispatcher for (most) URLs.

* The new approach has the following steps:

  1. canonicalize the path if it is a URL.
  2. use the mode= fragment key to determine the dispatcher
  3. if dispatcher still not determined, then use the mode flags
     argument to nc_open/nc_create to determine the dispatcher.
  4. if the path points to something readable, attempt to read the
     magic number at the front, and use that to determine the dispatcher.
     this case may override all previous cases.

* Misc changes.

  1. Update documentation
  2. Moved some unit tests from libdispatch to unit_test directory.
  3. Fixed use of wrong #ifdef macro in test_filter_reg.c
     [I think this may fix an previously reported esupport query].
2019-09-29 12:59:28 -06:00
Greg Sjaardema
56c0d5cf8a Spelling fixes 2019-09-18 08:03:01 -06:00
Ward Fisher
1465e14279 Bumped to next development version. 2019-08-26 13:08:34 -06:00
Ed Hartnett
bce3fa6169
Merge branch 'master' into ejh_next 2019-08-16 03:42:32 -06:00
edwardhartnett
822b5f663e removed _CRAYMPP from manpage 2019-08-14 06:31:39 -06:00
jbs-public-function
abc020c724
An example argument typo
`./configure --with-zlib=${ZDIR} --prefix=${H5DIR} --eanable-hl` on line 135
command errors, but runs if changed to `enable-hl`
2019-08-11 19:37:16 -05:00
Ward Fisher
e891646329 Corrected mistake regarding which version of Visual Studio is being used to build the libraries. 2019-06-17 14:41:50 -06:00
Ward Fisher
103e5a3ff5
Merge pull request #1385 from Unidata/mmapfix.dmh
Fix cmake wrt mmap
2019-05-02 11:09:12 -06:00
Ward Fisher
5410967b00 Merge branch 'master' into addfilter.dmh 2019-04-30 14:51:25 -06:00
Ward Fisher
a1fb171a62 Bumped version in Doxyfile.developer. 2019-04-25 15:41:09 -06:00
Dennis Heimbigner
c9d16d82d6 Fix cmake X mmap
supercede PR: https://github.com/Unidata/netcdf-c/pull/1384

Since we have an mmap user, undeprecate it and make sure
it works. Other changes:

* fix test cases to work with make -j
* fix exposed ncgen error.
2019-04-19 20:32:26 -06:00
Dennis Heimbigner
8d0bced60d Allow in-line definition of filters
Priority: Low

re: issue https://github.com/Unidata/netcdf-c/issues/1329

HDF5 has the ability to programmatically define new filters,
as opposed to using HDF5_PLUGIN_PATH env variable.
This PR adds support for that feature.
Not clear how useful this is, though.
See docs/filters.md for details.
2019-03-21 11:33:27 -06:00
Ward Fisher
e2b31ffae4
Merge branch 'master' into byterange.dmh 2019-03-19 12:05:44 -06:00
Dennis Heimbigner
2420b69a83 Fix nccopy to use NC_PERSIST so that -w actually persists the output.
re: Issue https://github.com/Unidata/netcdf-c/issues/1365

At some point (4.6.1) we changed the diskless handling of flags
and added a new NC_PERSIST flag. Looks like we did not fix all
occurrences of the old flag set, specifically for 'nccopy -w' command.
Also added some tests (tst_nccopy_w{3,4}.sh) for this situation.
2019-03-15 12:05:27 -06:00
Ward Fisher
62109e59e4 Merge branch 'ejh_rename_docs' of https://github.com/NetCDF-World-Domination-Council/netcdf-c into v4.6.3-dev-branch.wif 2019-02-27 14:38:46 -07:00
Ward Fisher
18c403aa02 Prepping for 4.6.3 release, bumping to subsequent version in dev branch. 2019-02-26 14:00:59 -07:00
Ed Hartnett
7b373ecc14 fixed documentation warnings 2019-02-25 07:27:02 -07:00
Dennis Heimbigner
45a8a265b8 master merge 2019-02-23 17:14:12 -07:00
Ward Fisher
f767148aad Updated mainpage.dox to make the netCDF-Fortran documentation link more obvious. 2019-02-15 16:44:45 -07:00
Ward Fisher
496a9cb185 Merge branch 'doc-update.wif' into v4.6.2.1-dev.wif 2019-02-15 16:41:30 -07:00
Dennis Heimbigner
a1f080db19
Merge branch 'master' into byterange.dmh 2019-02-13 14:45:53 -07:00
Ward Fisher
e32e0b1eb2
Merge branch 'master' into filterexpr.dmh 2019-02-12 09:48:03 -07:00
Ward Fisher
adf4a48a29 Corrected a doxygen warning in the DAP4 documentation. 2019-02-11 13:29:40 -07:00
Ward Fisher
40f2f5e949 Updated link to reflect newer netCDF-Fortran documentation location. 2019-02-11 13:28:34 -07:00
Ward Fisher
70bd755548 Fixed typo. 2019-02-11 13:06:41 -07:00
Ward Fisher
ebf507233c Updated link to new fortran documentation. 2019-02-11 13:03:07 -07:00
Dennis Heimbigner
a6b04c0c66 Extend nccopy -F option syntax.
A user suggested that the nccopy -F option
syntax should be extended to support specification
of multiple (or all) variables in a single -F option.

The new syntax allows:

1. '*' as the name of the variable; this means apply the
   filter to all variables in the data set.
2. *var1|var2|...* as the variable name to indicate that the filter
   should be applied to the multiple specified variables.
2019-02-08 18:48:17 -07:00
Dennis Heimbigner
8714066b18 Fix errors when building on big-endian machine
re: issue https://github.com/Unidata/netcdf-c/issues/1278
re: issue https://github.com/Unidata/netcdf-c/issues/876
re: issue https://github.com/Unidata/netcdf-c/issues/806

* Major change to the handling of 8-byte parameters for nc_def_var_filter.
  The old code was not well thought out.
  * The new algorithm is documented in docs/filters.md.
  * Added new utility file plugins/H5Zutil.c to support
  * Modified plugins/H5Zmisc.c to use new algorithm
  the new algorithm.
  * Renamed include/ncfilter.h to include/netcdf_filter.h
    and made it an installed header so clients can access the
    new algorithm utility.
  * Fixed nc_test4/tst_filterparser.c and nc_test4/test_filter_misc.c
    to use the new algorithm
* libdap4/ fixes:
  * d4swap.c has an error in the endian pre-processing such
    that record counts were not being swapped correctly.
  * d4data.c had an error in that checksums were being computed
    after endian swapping rather than before.
* ocinitialize() was never being called, so xxdr bigendian handling
  was never set correctly.
  * Required adding debug statements to occompile
* Found and fixed memory leak in ncdump.c

Not tested:
* HDF4
* Pnetcdf
* parallel HDF5
2019-01-31 21:13:06 -07:00
Dennis Heimbigner
bf2746b8ea Provide byte-range reading of remote datasets
re: issue https://github.com/Unidata/netcdf-c/issues/1251

Assume that you have the URL to a remote dataset
which is a normal netcdf-3 or netcdf-4 file.

This PR allows the netcdf-c to read that dataset's
contents as a netcdf file using HTTP byte ranges
if the remote server supports byte-range access.

Originally, this PR was set up to access Amazon S3 objects,
but it can also access other remote datasets such as those
provided by a Thredds server via the HTTPServer access protocol.
It may also work for other kinds of servers.

Note that this is not intended as a true production
capability because, as is known, this kind of access to
can be quite slow. In addition, the byte-range IO drivers
do not currently do any sort of optimization or caching.

An additional goal here is to gain some experience with
the Amazon S3 REST protocol.

This architecture and its use documented in
the file docs/byterange.dox.

There are currently two test cases:

1. nc_test/tst_s3raw.c - this does a simple open, check format, close cycle
   for a remote netcdf-3 file and a remote netcdf-4 file.
2. nc_test/test_s3raw.sh - this uses ncdump to investigate some remote
   datasets.

This PR also incorporates significantly changed model inference code
(see the superceded PR https://github.com/Unidata/netcdf-c/pull/1259).

1. It centralizes the code that infers the dispatcher.
2. It adds support for byte-range URLs

Other changes:

1. NC_HDF5_finalize was not being properly called by nc_finalize().
2. Fix minor bug in ncgen3.l
3. fix memory leak in nc4info.c
4. add code to walk the .daprc triples and to replace protocol=
   fragment tag with a more general mode= tag.

Final Note:
Th inference code is still way too complicated. We need to move
to the validfile() model used by netcdf Java, where each
dispatcher is asked if it can process the file. This decentralizes
the inference code. This will be done after all the major new
dispatchers (PIO, Zarr, etc) have been implemented.
2019-01-01 18:27:36 -07:00
Ward Fisher
7af0e32d82 Fixed issue with make distclean 2018-12-07 15:27:40 -07:00
Ward Fisher
3c59fb860d Updating files to refer to the top-level COPYRIGHT file. 2018-12-04 15:52:43 -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
a33655d916 fixed typo 2018-11-09 11:04:47 -07:00
Ed Hartnett
aac0d6c467 minor doc change 2018-11-09 09:35:15 -07:00
Ward Fisher
1ed5d4e0a0 Added DAP4.dox to doxygen template in support of https://github.com/Unidata/netcdf-c/issues/1178 2018-11-07 11:19:57 -07:00