netcdf-c/docs
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
..
images Cleaned up Makefile.am 2014-12-05 15:14:40 -07:00
obsolete Misc. source comment typos 2018-04-26 23:04:01 -04:00
old More replacement of "parallel-netcdf" with "PnetCDF". 2018-09-20 11:45:25 -05:00
static-pages Use PnetCDF instead of parallel-netcdf to avoid confusion with 2018-09-17 17:18:48 -05:00
.gitignore Fix up documentation to replace old auth documentation 2017-08-20 18:27:48 -06:00
all-error-codes.md introduce error code NC_EPNETCDF for errors at PnetCDF level 2018-07-29 15:33:08 -05:00
architecture.dox Use PnetCDF instead of parallel-netcdf to avoid confusion with 2018-09-17 17:18:48 -05:00
attribute_conventions.md There was a request to extend the provenance information 2018-08-25 21:44:41 -06:00
auth.html Misc. source comment typos 2018-04-26 23:04:01 -04:00
auth.md The pr does some cleanup on the internal documentation 2018-06-29 15:06:27 -06:00
bestpractices.md Cleaned up best practices document. 2016-05-09 20:42:35 -06:00
building-with-cmake.md Updated documentation to reflect minimum cmake version of 2.8.12. 2014-07-29 14:53:12 -06:00
cdl.dox Misc. source comment typos 2018-04-26 23:04:01 -04:00
CMakeLists.txt Modify DAP2 and DAP4 to optionally allow Fillvalue/Variable mismatch 2018-10-01 15:51:43 -06:00
COPYRIGHT.dox Reorganized Copyright file, removed some improper references. 2014-12-08 13:13:08 -07:00
credits.md Additional dead link modification. 2016-01-15 14:39:32 -07:00
DAP2.dox Modify DAP2 and DAP4 to optionally allow Fillvalue/Variable mismatch 2018-10-01 15:51:43 -06:00
DAP4.dox Add initial DAP4 documentation 2017-04-06 10:06:32 -06:00
dispatch.dox Renamed man4 directory to docs. 2014-05-21 14:40:39 -06:00
docmap.pdf 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
Doxyfile.developer Misc. source comment typos 2018-04-26 23:04:01 -04:00
Doxyfile.in Modify DAP2 and DAP4 to optionally allow Fillvalue/Variable mismatch 2018-10-01 15:51:43 -06:00
DoxygenLayout.xml Further reorganization. Figured out how subpage works with different files. Renamed some of the header cells. 2014-12-09 16:36:15 -07:00
esg.md More doxygen tweaks. 2016-01-15 12:23:56 -07:00
FAQ.md add missing note about CDF-5 format 2018-07-05 22:54:41 -05:00
file_format_specifications.md Misc. source comment typos 2018-04-26 23:04:01 -04:00
filters.md Fix memory problems when using HDF5 version 1.10.x and later. 2018-10-04 11:37:21 -06:00
footer.html Fix pull request https://github.com/Unidata/netcdf-c/pull/374 (dap4.dmh) 2017-04-03 21:39:44 -06:00
groups.dox Renamed man4 directory to docs. 2014-05-21 14:40:39 -06:00
guide.dox Use PnetCDF instead of parallel-netcdf to avoid confusion with 2018-09-17 17:18:48 -05:00
header.html Renamed man4 directory to docs. 2014-05-21 14:40:39 -06:00
indexing.dox The pr does some cleanup on the internal documentation 2018-06-29 15:06:27 -06:00
inmeminternal.dox Fix the NC_INMEMORY code to work in all cases with HDF5 1.10. 2018-09-04 11:27:47 -06:00
inmemory.md Revert/Improve nc_create + NC_DISKLESS behavior 2018-10-10 13:32:17 -06:00
install-fortran.md Fix doxygen list 2015-06-08 10:20:50 -06:00
install.md Use PnetCDF instead of parallel-netcdf to avoid confusion with 2018-09-17 17:18:48 -05:00
internal.dox Use PnetCDF instead of parallel-netcdf to avoid confusion with 2018-09-17 17:18:48 -05:00
known_problems.md Rolled known problems into generated documentation, and cleaning up broken links. 2015-09-23 13:49:06 -06:00
mainpage.dox Corrected links to cdash dashboard. 2017-12-20 12:37:02 -07:00
Makefile.am Modify DAP2 and DAP4 to optionally allow Fillvalue/Variable mismatch 2018-10-01 15:51:43 -06:00
netcdf-50x50.png Renamed man4 directory to docs. 2014-05-21 14:40:39 -06:00
netcdf.m4 Fix spelling errors. 2016-08-28 15:45:36 +02:00
notes.md More document reorganization. 2015-03-15 15:29:58 -06:00
OPeNDAP.dox Modify DAP2 and DAP4 to optionally allow Fillvalue/Variable mismatch 2018-10-01 15:51:43 -06:00
release_header.html Added release to release header. 2016-11-21 11:23:02 -07:00
release.css Tweaks to css 2016-01-21 11:19:23 -07:00
tests.md Added a document to catalog what the various tests are. 2016-06-06 14:51:57 -06:00
testserver.dox Doxygen is apparently buggy when trying to combine a markdown 2018-07-01 21:56:59 -06:00
tutorial.dox Merge branch 'master' into var_par_access 2018-07-26 01:35:39 -05:00
types.dox add missing note about CDF-5 format 2018-07-05 22:54:41 -05:00
unidata_logo_cmyk.png Renamed man4 directory to docs. 2014-05-21 14:40:39 -06:00
user_defined_formats.md Add warning about user formats 2018-07-13 11:47:58 -06:00
windows-binaries.md Corrected an incorrect download link for Windows NC3-only binary 2017-11-20 13:43:16 -07:00