Commit Graph

33 Commits

Author SHA1 Message Date
Ward Fisher
25417880f7 Updated libdispatch/ files with copyright notice. 2018-12-06 14:29:57 -07:00
Wei-keng Liao
025c7d1bb2 introduce error code NC_EPNETCDF for errors at PnetCDF level 2018-07-29 15:33:08 -05: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
Ed Hartnett
1153f0f084 merged in branch ejh_cleanup 2017-12-04 13:20:42 -07:00
Ed Hartnett
4de61e21f2 more docs, more cleaning 2017-12-04 12:21:14 -07:00
Ed Hartnett
857dda487f fixed two doxygen warnings 2017-11-30 08:45:53 -07:00
Ward Fisher
2ab3e56747 Added error message for new error NC_ENULLPAD. [skip ci] 2017-11-20 17:31:08 -07:00
Ward Fisher
16d6f94f30 Merge branch 'master' into filters.dmh 2017-11-13 11:15:02 -07:00
Ed Hartnett
6cb26677ea
Merge branch 'master' into ejh_doc_fixes 2017-11-06 03:00:53 -07:00
Ward Fisher
bb2505cf4e
Merge branch 'master' into newrc.dmh 2017-11-03 14:57:27 -06:00
Ed Hartnett
4165493ce4
Merge branch 'master' into ejh_doc_fixes 2017-11-03 06:29:20 -06:00
Ed Hartnett
b28aaab6d7 documentation for nc_par_var_access() and nc_open_par() 2017-11-02 12:57:16 -06:00
Ward Fisher
0b5503d8ac jMerge branch 'master' of https://github.com/gsjaardema/netcdf-c into multi-merge 2017-11-02 11:20:21 -06:00
Ed Hartnett
425ca7365c added error code message for NC_EMPI 2017-11-02 05:07:31 -06: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
7c592cfb2a 1. Unify the rc file reading into libdispatch/drc.c. Eventually extend
if we need rc file for netcdf itself as opposed to the dap code.
2017-08-30 17:44:57 -06:00
Greg Sjaardema
1503013e33 Eliminate NC_MAX_VARS|DIMS|ATTRS limits 2017-07-20 09:32:29 -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
3db4f013bf Primary change: add dap4 support
Specific changes:
1. Add dap4 code: libdap4 and dap4_test.
   Note that until the d4ts server problem is solved, dap4 is turned off.
2. Modify various files to support dap4 flags:
	configure.ac, Makefile.am, CMakeLists.txt, etc.
3. Add nc_test/test_common.sh. This centralizes
   the handling of the locations of various
   things in the build tree: e.g. where is
   ncgen.exe located. See nc_test/test_common.sh
   for details.
4. Modify .sh files to use test_common.sh
5. Obsolete separate oc2 by moving it to be part of
   netcdf-c. This means replacing code with netcdf-c
   equivalents.
5. Add --with-testserver to configure.ac to allow
   override of the servers to be used for --enable-dap-remote-tests.
6. There were multiple versions of nctypealignment code. Try to
   centralize in libdispatch/doffset.c and include/ncoffsets.h
7. Add a unit test for the ncuri code because of its complexity.
8. Move the findserver code out of libdispatch and into
   a separate, self contained program in ncdap_test and dap4_test.
9. Move the dispatch header files (nc{3,4}dispatch.h) to
   .../include because they are now shared by modules.
10. Revamp the handling of TOPSRCDIR and TOPBUILDDIR for shell scripts.
11. Make use of MREMAP if available
12. Misc. minor changes e.g.
	- #include <config.h> -> #include "config.h"
	- Add some no-install headers to /include
	- extern -> EXTERNL and vice versa as needed
	- misc header cleanup
	- clean up checking for misc. unix vs microsoft functions
13. Change copyright decls in some files to point to LICENSE file.
14. Add notes to RELEASENOTES.md
2017-03-08 17:01:10 -07:00
Ward Fisher
ee9a68e931 Modified behavior when an unknown error is handled by libpnetcdf. 2015-10-28 16:44:54 -06:00
dmh
859f105005 merge-squash 2015-08-15 16:26:35 -06:00
Ward Fisher
790de7121e Removed redundant error group. 2014-12-09 15:57:59 -07:00
Ward Fisher
b25dbcd24a Added an explicit error message string to nc_strerror for NC_ECANTEXTEND. 2014-08-18 14:24:16 -06:00
Ward Fisher
f42202029a Cleaning up Doxygen warnings, reorganization of top-level documentation. 2014-07-14 16:56:42 -06:00
Ward Fisher
43e3c28d64 Merge branch 'sub_doc' of https://github.com/Unidata/netcdf-c into sub_doc 2014-03-11 13:14:22 -06:00
Ward Fisher
1e9f243f85 Fixed netcdf-c issue #30 (on github) related to cmake-generated nc-config script.
Initial split of Guide from rest of documentation.  Using 'tagfiles' to cross-reference from one documentation set to the other works, but then it drags all of the 'external' related pages into the index of the other.

Modified visability of the external groups and pages.

Adding proper section names to 'Example' sections, to avoid Doxygen warnings.

Initial split of Guide from rest of documentation.  Using 'tagfiles' to cross-reference from one documentation set to the other works, but then it drags all of the 'external' related pages into the index of the other.

Modified visability of the external groups and pages.

Adding proper section names to 'Example' sections, to avoid Doxygen warnings.

Reorganizing documentation into two separate doxygen projects.

Moved .texi documents into an old directory.

Pulled the tutorial document into a separate document, similar to the guide document.

Turned on treeview
2014-03-11 13:07:04 -06:00
dmh
c7086dd04b Add support to detect authorization errors to DAP 2014-03-11 11:58:22 -06:00
Ward Fisher
e68710d465 Added a new cmake-based option, ENABLE_DOXYGEN_TODO_LIST. When used, the generated documentation will include a 'todo' page. This is generally for internal consumption only, so that pages and sections that need review or editing can be flagged. 2014-02-27 14:19:28 -07:00
Ward Fisher
75a71ffcf0 Reorganized doxygen documents, renamed .doc files as .dox.
Bumped revision to 4.3.1.2.  There may not be a 4.3.1.2 release, but I didn't want to leave it as 4.3.1.1.
Removed CMake-specific doxygen/documentation template, made changes required so that
CMake and autotools-based builds can use the same template (Doxyfile.in).
2014-02-19 16:32:26 -07:00
Dennis Heimbigner
42999f4c7c move from oc1.0 to oc2.0; create new dir oc2 2012-07-31 20:34:13 +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
Ed Hartnett
fd4a63c4d2 changed file names to allow visual studio to cope 2011-07-14 09:50:37 +00:00