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.

This commit is contained in:
Ward Fisher 2014-02-27 14:19:28 -07:00
parent e2a3405b41
commit e68710d465
5 changed files with 80 additions and 87 deletions

View File

@ -785,6 +785,15 @@ IF(ENABLE_DOXYGEN)
SET(BUILD_INTERNAL_DOCS NO CACHE STRING "")
ENDIF()
# Option to turn on the TODO list in the doxygen-generated documentation.
OPTION(ENABLE_DOXYGEN_TODO_LIST "Turn on todo list in documentation. This is of interest to developers only." OFF)
IF(ENABLE_DOXYGEN_TODO_LIST)
SET(SHOW_DOXYGEN_TODO_LIST YES CACHE STRING "")
ELSE()
SET(SHOW_DOXYGEN_TODO_LIST NO CACHE STRING "")
ENDIF()
# Specify whether or not 'dot' was found on the system path.
IF(NC_DOT)
SET(HAVE_DOT YES CACHE STRING "")

View File

@ -29,7 +29,8 @@ nc_inq_libvers(void)
return nc_libvers;
}
/** \defgroup error Error Handling
/** \addtogroup error NetCDF Error Handling
NetCDF functions non-zero status codes on error.
Each netCDF function returns an integer status value. If the returned
@ -55,7 +56,7 @@ status value.
/**
\ingroup error
Given an error number, return an error message.
Given an error number, return an error message.
This function returns a static reference to an error message string
corresponding to an integer netCDF error status or to a system error

View File

@ -580,7 +580,7 @@ STRICT_PROTO_MATCHING = NO
# documentation.
# The default value is: YES.
GENERATE_TODOLIST = YES
GENERATE_TODOLIST = @SHOW_DOXYGEN_TODO_LIST@
# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the
# test list. This list is created by putting \test commands in the

View File

@ -1,65 +1,54 @@
NetCDF Error Codes {#nc-error-codes}
NetCDF Error Code Listing {#nc-error-codes}
==================
\brief nc-error-codes NetCDF-C Error Codes
\ingroup error
<a name="top"></a>
\todo Review list for completeness.
There are several different classes of error codes used in NetCDF-C.
\tableofcontents
* [NetCDF-3 Error Codes](#NetCDF-3-Error-Codes)
* [NetCDF-4 Error Codes](#NetCDF-4-Error-Codes)
* [DAP Error Codes](#DAP-Error-Codes)
### NetCDF-3 Error Codes <a name="NetCDF-3-Error-Codes"></a>
# NetCDF-3 Error Codes {#nc3-error-codes}
~~~~
#define NC_NOERR 0 /* No Error */
#define NC_NOERR 0 // No Error
#define NC_EBADID (-33) // Not a netcdf id
#define NC_ENFILE (-34) // Too many netcdfs open
#define NC_EEXIST (-35) // netcdf file exists && NC_NOCLOBBER
#define NC_EINVAL (-36) // Invalid Argument
#define NC_EPERM (-37) // Write to read only
#define NC_ENOTINDEFINE (-38) // Operation not allowed in data mode
#define NC_EINDEFINE (-39) // Operation not allowed in define mode
#define NC_EINVALCOORDS (-40) // Index exceeds dimension bound
#define NC_EMAXDIMS (-41) // NC_MAX_DIMS exceeded
#define NC_ENAMEINUSE (-42) // String match to name in use
#define NC_ENOTATT (-43) // Attribute not found
#define NC_EMAXATTS (-44) // NC_MAX_ATTRS exceeded
#define NC_EBADTYPE (-45) // Not a netcdf data type
#define NC_EBADDIM (-46) // Invalid dimension id or name
#define NC_EUNLIMPOS (-47) // NC_UNLIMITED in the wrong index
#define NC_EMAXVARS (-48) // NC_MAX_VARS exceeded
#define NC_ENOTVAR (-49) // Variable not found
#define NC_EGLOBAL (-50) // Action prohibited on NC_GLOBAL varid
#define NC_ENOTNC (-51) // Not a netcdf file
#define NC_ESTS (-52) // In Fortran, string too short
#define NC_EMAXNAME (-53) // NC_MAX_NAME exceeded
#define NC_EUNLIMIT (-54) // NC_UNLIMITED size already in use
#define NC_ENORECVARS (-55) // nc_rec op when there are no record vars
#define NC_ECHAR (-56) // Attempt to convert between text & numbers
#define NC_EEDGE (-57) // Edge+start exceeds dimension bound
#define NC_ESTRIDE (-58) // Illegal stride
#define NC_EBADNAME (-59) // Attribute or variable name contains illegal characters
#define NC_EBADID (-33) /* Not a netcdf id */
#define NC_ENFILE (-34) /* Too many netcdfs open */
#define NC_EEXIST (-35) /* netcdf file exists && NC_NOCLOBBER */
#define NC_EINVAL (-36) /* Invalid Argument */
#define NC_EPERM (-37) /* Write to read only */
#define NC_ENOTINDEFINE (-38) /* Operation not allowed in data mode */
#define NC_EINDEFINE (-39) /* Operation not allowed in define mode */
#define NC_EINVALCOORDS (-40) /* Index exceeds dimension bound */
#define NC_EMAXDIMS (-41) /* NC_MAX_DIMS exceeded */
#define NC_ENAMEINUSE (-42) /* String match to name in use */
#define NC_ENOTATT (-43) /* Attribute not found */
#define NC_EMAXATTS (-44) /* NC_MAX_ATTRS exceeded */
#define NC_EBADTYPE (-45) /* Not a netcdf data type */
#define NC_EBADDIM (-46) /* Invalid dimension id or name */
#define NC_EUNLIMPOS (-47) /* NC_UNLIMITED in the wrong index */
#define NC_EMAXVARS (-48) /* NC_MAX_VARS exceeded */
#define NC_ENOTVAR (-49) /* Variable not found */
#define NC_EGLOBAL (-50) /* Action prohibited on NC_GLOBAL varid */
#define NC_ENOTNC (-51) /* Not a netcdf file */
#define NC_ESTS (-52) /* In Fortran, string too short */
#define NC_EMAXNAME (-53) /* NC_MAX_NAME exceeded */
#define NC_EUNLIMIT (-54) /* NC_UNLIMITED size already in use */
#define NC_ENORECVARS (-55) /* nc_rec op when there are no record vars */
#define NC_ECHAR (-56) /* Attempt to convert between text & numbers */
#define NC_EEDGE (-57) /* Edge+start exceeds dimension bound */
#define NC_ESTRIDE (-58) /* Illegal stride */
#define NC_EBADNAME (-59) /* Attribute or variable name
contains illegal characters */
/* N.B. following must match value in ncx.h */
#define NC_ERANGE (-60) /* Math result not representable */
#define NC_ENOMEM (-61) /* Memory allocation (malloc) failure */
// N.B. following must match value in ncx.h
#define NC_EVARSIZE (-62) /* One or more variable sizes violate
format constraints */
#define NC_EDIMSIZE (-63) /* Invalid dimension size */
#define NC_ETRUNC (-64) /* File likely truncated or possibly corrupted */
#define NC_ERANGE (-60) // Math result not representable
#define NC_ENOMEM (-61) // Memory allocation (malloc) failure
#define NC_EVARSIZE (-62) // One or more variable sizes violate format constraints
#define NC_EDIMSIZE (-63) // Invalid dimension size
#define NC_ETRUNC (-64) // File likely truncated or possibly corrupted
~~~~
[top](#top)
### NetCDF-4 Error Codes <a name="NetCDF-4-Error-Codes"></a>
# NetCDF-4 Error Codes {#nc4-error-codes}
NetCDF-4 uses all error codes from NetCDF-3 (see section [NetCDF-3 Error
Codes](#NetCDF_002d3-Error-Codes)). The following additional error codes
@ -76,42 +65,39 @@ were added for new errors unique to netCDF-4.
#define NC_EVARMETA (-108)
#define NC_ENOCOMPOUND (-109)
#define NC_EATTEXISTS (-110)
#define NC_ENOTNC4 (-111) /* Attempting netcdf-4 operation on netcdf-3 file. */
#define NC_ESTRICTNC3 (-112) /* Attempting netcdf-4 operation on strict nc3 netcdf-4 file. */
#define NC_EBADGRPID (-113) /* Bad group id. Bad! */
#define NC_EBADTYPEID (-114) /* Bad type id. */
#define NC_EBADFIELDID (-115) /* Bad field id. */
#define NC_ENOTNC4 (-111) // Attempting netcdf-4 operation on netcdf-3 file.
#define NC_ESTRICTNC3 (-112) // Attempting netcdf-4 operation on strict nc3 netcdf-4 file.
#define NC_EBADGRPID (-113) // Bad group id. Bad!
#define NC_EBADTYPEID (-114) // Bad type id.
#define NC_EBADFIELDID (-115) // Bad field id.
#define NC_EUNKNAME (-116)
~~~~
[top](#top)
### DAP Error Codes <a name="DAP-Error-Codes"></a>
# DAP Error Codes {#dap-error-codes}
If the DAP client is enabled, then the following additional error codes
may occur.
~~~~
#define NC_EDAP (-66) /* Generic DAP error */
#define NC_ECURL (-67) /* Generic libcurl error */
#define NC_EIO (-68) /* Generic IO error */
#define NC_ENODATA (-69) /* Attempt to access variable with no data */
#define NC_EDAPSVC (-70) /* DAP Server side error */
#define NC_EDAS (-71) /* Malformed or inaccessible DAS */
#define NC_EDDS (-72) /* Malformed or inaccessible DDS */
#define NC_EDATADDS (-73) /* Malformed or inaccessible DATADDS */
#define NC_EDAPURL (-74) /* Malformed DAP URL */
#define NC_EDAPCONSTRAINT (-75) /* Malformed DAP Constraint*/
#define NC_EDAP (-66) /* Generic DAP error */
#define NC_ECURL (-67) /* Generic libcurl error */
#define NC_EIO (-68) /* Generic IO error */
#define NC_ENODATA (-69) /* Attempt to access variable with no data */
#define NC_EDAPSVC (-70) /* DAP Server side error */
#define NC_EDAS (-71) /* Malformed or inaccessible DAS */
#define NC_EDDS (-72) /* Malformed or inaccessible DDS */
#define NC_EDATADDS (-73) /* Malformed or inaccessible DATADDS */
#define NC_EDAPURL (-74) /* Malformed DAP URL */
#define NC_EDAPCONSTRAINT (-75) /* Malformed DAP Constraint*/
#define NC_EDAP (-66) // Generic DAP error
#define NC_ECURL (-67) // Generic libcurl error
#define NC_EIO (-68) // Generic IO error
#define NC_ENODATA (-69) // Attempt to access variable with no data
#define NC_EDAPSVC (-70) // DAP Server side error
#define NC_EDAS (-71) // Malformed or inaccessible DAS
#define NC_EDDS (-72) // Malformed or inaccessible DDS
#define NC_EDATADDS (-73) // Malformed or inaccessible DATADDS
#define NC_EDAPURL (-74) // Malformed DAP URL
#define NC_EDAPCONSTRAINT (-75) // Malformed DAP Constraint
#define NC_EDAP (-66) // Generic DAP error
#define NC_ECURL (-67) // Generic libcurl error
#define NC_EIO (-68) // Generic IO error
#define NC_ENODATA (-69) // Attempt to access variable with no data
#define NC_EDAPSVC (-70) // DAP Server side error
#define NC_EDAS (-71) // Malformed or inaccessible DAS
#define NC_EDDS (-72) // Malformed or inaccessible DDS
#define NC_EDATADDS (-73) // Malformed or inaccessible DATADDS
#define NC_EDAPURL (-74) // Malformed DAP URL
#define NC_EDAPCONSTRAINT (-75) // Malformed DAP Constraint
~~~~
[top](#top)

View File

@ -349,13 +349,10 @@ information about the CF conventions, see http://cf-pcmdi.llnl.gov.
\page error_handling Error Handling
See Also:
- \ref nc-error-codes
- Function \ref nc_strerror
\ingroup error
Each netCDF function in the C, Fortran 77, and Fortran 90 APIs returns
0 on success, in the tradition of C.
0 on success, in the tradition of C.
When programming with netCDF in these languages, always check return
values of every netCDF API call. The return code can be looked up in