Commit Graph

70 Commits

Author SHA1 Message Date
Dennis Heimbigner
9aa1e9a14e master merge 2018-05-03 21:02:12 -06:00
luz.paz
74fbacdb82 Misc. source comment typos
Some are user-facing. Found via `codespell` and through the downstream FreeCAD.
2018-04-26 23:04:01 -04:00
Dennis Heimbigner
c66f1d53bb missing file 2018-04-14 12:01:52 -06:00
Dennis Heimbigner
25f062528b This completes (for now) the refactoring of libsrc4.
The file docs/indexing.dox tries to provide design
information for the refactoring.

The primary change is to replace all walking of linked
lists with the use of the NCindex data structure.
Ncindex is a combination of a hash table (for name-based
lookup) and a vector (for walking the elements in the index).
Additionally, global vectors are added to NC_HDF5_FILE_INFO_T
to support direct mapping of an e.g. dimid to the NC_DIM_INFO_T
object. These global vectors exist for dimensions, types, and groups
because they have globally unique id numbers.

WARNING:
1. since libsrc4 and libsrchdf4 share code, there are also
   changes in libsrchdf4.
2. Any outstanding pull requests that change libsrc4 or libhdf4
   are likely to cause conflicts with this code.
3. The original reason for doing this was for performance improvements,
   but as noted elsewhere, this may not be significant because
   the meta-data read performance apparently is being dominated
   by the hdf5 library because we do bulk meta-data reading rather
   than lazy reading.
2018-03-16 11:46:18 -06:00
Dennis Heimbigner
dd4e71c150 1. Solve issue raised on netcdfgroup mailing list:
https://www.unidata.ucar.edu/mailing_lists/archives/netcdfgroup/2018/msg00020.html
See docs/filters.md for a detailed description of the solution.
Basically we add nccopy flags "-F none" and "-F <varname>:none"
to suppress output compression as desired.

2. Add tests to nc_test4/tst_filter.sh to test out the solution.
2018-03-02 16:55:58 -07:00
Dennis Heimbigner
ccc70d640b re: esupport MQO-415619
and https://github.com/Unidata/netcdf-c/issues/708

Expand the NC_INMEMORY capabilities to support writing and accessing
the final modified memory.

Three new functions have been added:
nc_open_memio, nc_create_mem, and nc_close_memio.

The following new capabilities were added.
1. nc_open_memio() allows the NC_WRITE mode flag
   so a chunk of memory can be passed in and be modified
2. nc_create_mem() allows the NC_INMEMORY flag to be set
   to cause the created file to be kept in memory.
3. nc_close_mem() allows the final in-memory contents to be
   retrieved at the time the file is closed.
4. A special flag, NC_MEMIO_LOCK, is provided to ensure that
   the provided memory will not be freed or reallocated.

Note the following.
1. If nc_open_memio() is called with NC_WRITE, and NC_MEMIO_LOCK is not set,
   then the netcdf-c library will take control of the incoming memory.
   This means that the original memory block should not be freed
   but the block returned by nc_close_mem() must be freed.
2. If nc_open_memio() is called with NC_WRITE, and NC_MEMIO_LOCK is set,
   then modifications to the original memory may fail if the space available
   is insufficient.

Documentation is provided in the file docs/inmemory.md.
A test case is provided: nc_test/tst_inmemory.c driven by
nc_test/run_inmemory.sh

WARNING: changes were made to the dispatch table for
the close entry. From int (*close)(int) to int (*close)(int,void*).
2018-02-25 21:45:31 -07:00
Dennis Heimbigner
727b613459 This is the initial step in moving to the new higher performance
(I hope) metadata mechanism. This mostly just adds new pieces of
code (e.g. nclistmap) and does some minor fixes.

It should be transparent to everything else.
The next set of changes will be the big step.
2018-02-08 19:53:40 -07:00
Dennis Heimbigner
99fccab359 1. Keep up to date by merging master
2. Fixed plugin building (nc_test4/hdf5plugins)
   to be done properly by cmake and automake.
4. Duplicated part of the nc_test4 filter test code
   in examples/C

An incomplete and untested set of hooks exist
for OS-X in nc_test4/findplugins.in. They need testing.
2018-01-16 11:00:09 -07:00
Ed Hartnett
4de61e21f2 more docs, more cleaning 2017-12-04 12:21:14 -07:00
Ed Hartnett
fec74e18ef more internal documentation 2017-12-04 07:07:45 -07:00
Ed Hartnett
11e3e81489 more internal docs 2017-12-03 15:37:56 -07:00
Ed Hartnett
bf6dab14e0 fixed error value from nc4_find_g_var_nc() when ncid is bad 2017-12-03 04:06:56 -07:00
Ed Hartnett
5d11415b83 adding internal documentation 2017-12-01 08:18:49 -07:00
Dennis Heimbigner
733da154c5 1. Keep up to date by merging master
2. Factored out the parameter string parsing for ncgen and nccopy
   int libdispatch/dfilter.c + include/ncfilter.h
3. Allow a parameter string to use constant types other than
   unsigned int. See docs/filters.md for details.
4. Moved the old content of  include/netcdf_filter.h into include/netcdf.h
   and removed include/netcdf_filter.h as no longer needed.
5. Force the test filter (bzip2) in nc_test4/filter_test to
   be built using BUILT_SOURCES.
2017-10-08 15:56:45 -06:00
Dennis Heimbigner
c05c0a69e2 Update docs/internal.dox to
provide a more accurate description
of how to add a new dispatch table.
Also remove dispatch.dox as superfluous.
2017-10-04 13:41:38 -06:00
Dennis Heimbigner
d8d4ed627a master merge 2017-08-29 18:05:46 -06:00
Dennis Heimbigner
5085df7595 1. Add discussion of parameter encoding, esp in face of byte-order,
to docs/filter.md
2. Moved location of filter.md in documentation
3. Add a template file as the basis for building new filters.
4. Did some test case cleanup
2017-08-21 19:54:06 -06:00
Dennis Heimbigner
37834917e9 Fix up documentation to replace old auth documentation
with a revised auth.md document.
2017-08-20 18:27:48 -06:00
Dennis Heimbigner
7c3164577e Finalize the compression support.
This relies on the HDF5 capability to
dynamically load compression filters.
Note that a compression filter is just
a subcase of filters.

The primary user-visible changes are as follows:
1. Add a standard header "netcdf_filter.h" that defines
   the necessary API extensions
2. Modify ncgen to support two new special attributes
   "_Filter_ID" and "_Filter_Parameters" so that compression
   can be turned on when creating a file using ncgen.
4. Add a detailed description of filtering support
   to the user's guide; see the file filters.md
5. Add a test case directory for this: nc_test4/filter_test.
   It is fragile and a ./configure flags (-enable-filter-test)
   is defined (default disabled) to shut this off this test
   to avoid spurious 'make check' failures.

Note that the HDF5 documentation is not up-to-date, so
much of what is encoded here comes from examining the
actual code in the file H5PL.c in the HDF5 source code.
2017-04-27 13:01:59 -06:00
Dennis Heimbigner
6a4ba35565 Fix pull request https://github.com/Unidata/netcdf-c/pull/374 (dap4.dmh)
1. Cleanup test_common.sh to expunge (mostly) the use of the VS
   path value. This has the effect of being unable to use the
   Visual Studio C compiler for shell tests.
2. There is a missing case in CMakeLists.txt so add
   defaulting for HDF5_C_LIBRARY_hdf5 using HDF5_C_LIBRARY.
   Ward should probably examine this to get it fixed correctly.
3. Put back ref to esg.md in docs/Doxyfile.in
4. Fix minor warning in dut8proc.h
2017-04-10 09:26:57 -06:00
Dennis Heimbigner
e1e7c77c26 Add initial DAP4 documentation 2017-04-06 10:06:32 -06:00
Ward Fisher
1beeef771d Removing generated version of software.html. 2016-06-24 15:05:06 -06:00
Ward Fisher
14580681cc Added best practices document to generated documentation. 2016-05-09 20:32:42 -06:00
Ward Fisher
1805ef0668 Tweaks to style sheet with assistance from @ddirks 2016-01-21 10:11:17 -07:00
Ward Fisher
97883f81d5 Adding an obsolete fan_utils file. 2016-01-19 16:22:57 -07:00
Ward Fisher
b86367c354 Working on netcdf document reorganization, wiring in the first of several stand-alone pages. 2016-01-15 14:59:40 -07:00
Ward Fisher
21069d4684 Converted esg documentation to markdown, make it part of the generated documentation. 2016-01-15 12:17:12 -07:00
Ward Fisher
8f4fdf1cc5 Cleaning up dead links 2016-01-14 16:53:53 -07:00
Ward Fisher
374a8f4193 More cleaning up of documentation (there will probably be a lot of this) and tweaking files so that documentation renders as expected. 2016-01-14 16:02:00 -07:00
Ward Fisher
30e1cca0d0 Reorganized file/datastream IO functions in documentation. 2016-01-14 15:50:50 -07:00
Ward Fisher
3f27ec6db4 Tightening the Doxygen documentation. 2016-01-14 15:33:50 -07:00
Ward Fisher
75b0bcf07e Trying to sort out why netcdf parallel documentation isn't being generated. 2016-01-14 11:02:23 -07:00
Ward Fisher
1f52d14392 Reintroduced ENABLE_DOXYGEN_SERVER_BASED_SEARCH option for local webserver use. 2015-11-02 12:58:29 -07:00
Ward Fisher
9018649d9b Re-adding server-side search option. 2015-11-02 12:46:09 -07:00
Ward Fisher
49dfc5beef Updated doxygen to work properly with auth.html. 2015-10-27 17:56:28 -06:00
Ward Fisher
64a42f4f8a Fixing generation of doxygen-based documentation. 2015-10-27 15:32:18 -06: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
Ward Fisher
24e94c9d62 Rolled known problems into generated documentation, and cleaning up broken links. 2015-09-23 13:49:06 -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
b26598c833 Merging Jen's new search option for releases into user documentation. 2015-08-17 10:59:32 -06:00
Ward Fisher
f539c0f32e Added reference docs for netcdf_mem work performed by Dennis. Updated Windows pre-built binary documentation to reflect the move to Visual Studio 2012, from Visual Studio 2010. 2015-06-04 15:37:52 -06:00
Ward Fisher
b5856bc204 Wired the new software.md file into the doxygen toolchain. 2015-05-22 15:41:38 -06:00
Ward Fisher
d7d5ad1a66 Split off file format specifications into its own file (markdown extension but doxygen-style tags within, for now) and placed it as an appendix at the top level of the NetCDF User's Guide. 2015-03-13 13:28:42 -06:00
Ward Fisher
0530d65de5 Moved attribute conventions to the top level of the NetCDF User's Guide section and positioned it as an appendix, as found in the old and print documentation 2015-03-13 13:17:18 -06:00
Ward Fisher
b661cb2cf3 o Moved OPeNDap documentation into its own document, but retained the previous organization as part of the NetCDF User's Guide.
o Moved documentation around to improve the flow/organization.
o Converted the notes document to a markdown document.
2015-03-12 13:48:32 -06:00
dmh
88f1ac820c 1. synch with oc lib
2. update to add docs/auth.md
2015-03-02 20:26:39 -07:00
Russ Rew
4a6ec72db9 Merge branch 'master' of https://github.com/Unidata/netcdf-c into ncf-314 2014-12-11 14:19:14 -07:00
Ward Fisher
103c0b7f2e The 'Credits' page is now a generated document distributed with netcdf, even though the contents are static. It is currently included as a subpage underneath the NetCDF Overview page. Also, renamed 'Credits' on the Overview page to 'About NetCDF'. 2014-12-10 11:14:43 -07:00
Russ Rew
e2dce0f8f2 Merge branch 'master' of https://github.com/Unidata/netcdf-c into ncf-314 2014-12-10 10:49:44 -07:00
Ward Fisher
8ee89f4a08 Further reorganization. Figured out how subpage works with different files. Renamed some of the header cells. 2014-12-09 16:36:15 -07:00