diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d40a6eef9..232634997 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,5 @@ -Release Notes {#RELEASE_NOTES} -=============================== +Release Notes {#RELEASE_NOTES} +============= \brief Release notes file for the netcdf-c package. @@ -16,13 +16,13 @@ This file contains a high-level description of this package's evolution. Release > Enabling these options creates two new make targets: - ~~~ + ~~~ $ make build-netcdf-fortran $ make install-netcdf-fortran ~~~ These make targets are **only** valid after `make install` has been invoked. This cannot be enforced rigidly in the makefile for reasons we will expand on in the documentation, but in short: `make install` may require sudo, but using sudo will discard environmental variables required when attempting to build netcdf-fortran in this manner. - + It is important to note that this is functionality is for *convenience only*. It will remain possible to build `netcdf-c` and `netcdf-fortran` manually. These make targets should hopefully suffice for the majority of our users, but for corner cases it may still be required of the user to perform a manual build. [NCF-323](https://bugtracking.unidata.ucar.edu/browse/NCF-323) * The pnetcdf support was not properly being used to provide mpi parallel io for netcdf-3 classic files. The wrong dispatch table was being used. [NCF-319](https://bugtracking.unidata.ucar.edu/browse/NCF-319) diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index ac88edf63..76b23b84b 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -746,7 +746,6 @@ WARN_LOGFILE = INPUT = \ @abs_top_srcdir@/docs/mainpage.dox \ @abs_top_srcdir@/RELEASE_NOTES.md \ - @abs_top_srcdir@/docs/COPYRIGHT.dox \ @abs_top_srcdir@/docs/FAQ.md \ @abs_top_srcdir@/docs/architecture.dox \ @abs_top_srcdir@/docs/install.md \ @@ -759,6 +758,7 @@ INPUT = \ @abs_top_srcdir@/docs/all-error-codes.md \ @abs_top_srcdir@/docs/guide.dox \ @abs_top_srcdir@/docs/tutorial.dox \ + @abs_top_srcdir@/docs/COPYRIGHT.dox \ @abs_top_srcdir@/include/netcdf.h \ @abs_top_srcdir@/include/netcdf_meta.h \ @abs_top_srcdir@/libdispatch/dfile.c \ diff --git a/docs/DoxygenLayout.xml b/docs/DoxygenLayout.xml index fa8d07d6b..0706b1159 100644 --- a/docs/DoxygenLayout.xml +++ b/docs/DoxygenLayout.xml @@ -1,24 +1,24 @@ - - - + + + - + - + - + diff --git a/docs/guide.dox b/docs/guide.dox index f30ef138b..990dbeaec 100644 --- a/docs/guide.dox +++ b/docs/guide.dox @@ -6,7 +6,6 @@ \section user_guide The NetCDF User's Guide -- \ref mainpage_netcdf - \subpage netcdf_summary - \subpage netcdf_introduction - \subpage file_structure_and_performance diff --git a/docs/internal.dox b/docs/internal.dox index 4da917ea1..3721b1ac3 100644 --- a/docs/internal.dox +++ b/docs/internal.dox @@ -15,7 +15,14 @@ At least the following dispatch tables are supported. - netcdf classic files (netcdf-3) - netcdf enhanced files (netcdf-4) - OPeNDAP to netcdf-3 -- OPeNDAP to netcdf-4 +- OPeNDAP to netcdf-4 + +Internal Dispatch Tables +- \subpage adding_dispatch +- \subpage dispatch_notes +- \subpage put_vara_dispatch +- \subpage put_attr_dispatch + The dispatch table represents a distillation of the netcdf API down to a minimal set of internal operations. The format of the dispatch table @@ -24,15 +31,17 @@ table must define this minimal set of operations. \page adding_dispatch Adding a New Dispatch Table +\tableofcontents + In order to make this process concrete, let us assume we plan to add -an in-memory implementation of netcdf-3. +an in-memory implementation of netcdf-3. \section dispatch_step1 Step 1. Define a –enable flag and an AM_CONFIGURE flag in configure.ac. We will use the flags –enable-netcdfm and USE_NETCDFM respectively. -\section dispatch_step2 Step 2 +\section dispatch_step2 Step 2. Choose some prefix of characters to identify the new dispatch system. In effect we are defining a name-space. For our in-memory @@ -70,7 +79,7 @@ Modify file libdispatch/netcdf.c as follows. #endif \endcode - Add includes for any necessary header files as needed. + Add includes for any necessary header files as needed. \section dispatch_step5 Step 5. @@ -90,7 +99,7 @@ As part of the ncmdispatch.c file, you must define the following. NCM_open, ... }; - + int NCM_initialize(void) { @@ -219,7 +228,7 @@ signatures respectively. int useparallel, MPI_Comm comm, MPI_Info info, struct NC_Dispatch*, struct NC** ncp); \endcode - + \code int (*open)(const char *path, int mode, int basepe, size_t *chunksizehintp, @@ -274,7 +283,7 @@ replaced with a separate structure containing the common fields. int (*put_vara)(int ncid, int varid, const size_t *start, const size_t *count, const void *value, nc_type memtype); \endcode - + \code int (*get_vara)(int ncid, int varid, const size_t *start, const size_t *count, void *value, nc_type memtype); @@ -293,7 +302,7 @@ to encounter the ::NC_INT64 type. int (*get_att)(int ncid, int varid, const char *name, void *value, nc_type memtype); \endcode - + \code int (*put_att)(int ncid, int varid, const char *name, nc_type datatype, size_t len, const void *value, nc_type memtype); diff --git a/docs/mainpage.dox b/docs/mainpage.dox index 94334dfa4..771b190fc 100644 --- a/docs/mainpage.dox +++ b/docs/mainpage.dox @@ -1,40 +1,36 @@ -/** \file mainpage.dox Main Documentation Page +/** +\mainpage Overview -\brief This header file holds the documentation for the main page. - -\mainpage \tableofcontents -\section mainpage_netcdf NetCDF Overview - -\subsection what_is_netcdf What is NetCDF? +\section what_is_netcdf What is NetCDF? NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data. NetCDF was developed and is maintained at Unidata. Unidata provides data and software tools for use in geoscience education and research. Unidata is part of the University Corporation for Atmospheric Research (UCAR) Community Programs (UCP). Unidata is funded primarily by the National Science Foundation. The NetCDF homepage may be found at http://www.unidata.ucar.edu/netcdf. The NetCDF source-code is hosted at GitHub, and may be found directly at http://github.com/Unidata/netcdf-c. -\subsection this_release Learn more about the current NetCDF-C Release +\section this_release Learn more about the current NetCDF-C Release -- \ref RELEASE_NOTES +- \subpage RELEASE_NOTES - \ref getting_and_building_netcdf -\subsubsection nightly_status The Latest NetCDF-C Build Status +\subsection nightly_status The Latest NetCDF-C Build Status - The NetCDF-C Nightly and Continuous Integration Dashboard -\subsection learn-more Learn more about using NetCDF-C +\section learn-more Learn more about using NetCDF-C - \ref sec_tut - \ref user_guide - \ref netcdf_working_with_netcdf_files - Older Documentation, plus details regarding netcdf-fortran and netcdf-cxx. -\subsection netcdf-cmake-windows NetCDF CMake and Windows support: +\section netcdf-cmake-windows NetCDF CMake and Windows support: - \ref netCDF-CMake - \ref winbin -\subsection netcdf_credits Credits +\section netcdf_credits Credits \authors Russ Rew, Glenn Davis, Steve Emmerson, Harvey Davies, Ed Hartnett, Dennis Heimbigner and Ward Fisher