diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index 7d1ed90232..6900f274c9 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -93,14 +93,6 @@ ALLOW_UNICODE_NAMES = NO OUTPUT_LANGUAGE = English -# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all generated output in the proper direction. -# Possible values are: None, LTR, RTL and Context. -# The default value is: None. - -OUTPUT_TEXT_DIRECTION = None - # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. @@ -253,12 +245,6 @@ TAB_SIZE = 4 ALIASES = -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all @@ -825,6 +811,7 @@ INPUT = @abs_top_srcdir@/docs/mainpage.dox \ @abs_top_srcdir@/docs/windows-binaries.md \ @abs_top_srcdir@/docs/attribute_conventions.md \ @abs_top_srcdir@/docs/file_format_specifications.md \ + @abs_top_srcdir@/docs/all-error-codes.md \ @abs_top_srcdir@/docs/inmemory.md \ @abs_top_srcdir@/docs/filters.md \ @abs_top_srcdir@/docs/byterange.dox \ @@ -1153,13 +1140,6 @@ VERBATIM_HEADERS = YES ALPHABETICAL_INDEX = NO -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored @@ -1577,17 +1557,6 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANSPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands # to create new LaTeX commands to be used in formulas as building blocks. See # the section "Including formulas" for details. @@ -1886,16 +1855,6 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See # https://en.wikipedia.org/wiki/BibTeX and \cite for more info. @@ -1976,16 +1935,6 @@ RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_RTF is set to YES. - -RTF_SOURCE_CODE = NO - #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- @@ -2082,15 +2031,6 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -2269,15 +2209,6 @@ EXTERNAL_PAGES = NO # Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - # You can include diagrams made with dia in doxygen documentation. Doxygen will # then run dia to produce the diagram and insert it in the documentation. The # DIA_PATH tag allows you to specify the directory where the dia binary resides. @@ -2310,23 +2241,6 @@ HAVE_DOT = @HAVE_DOT@ DOT_NUM_THREADS = 0 -# When you want a differently looking font in the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_FONTSIZE = 10 - # By default doxygen will tell dot to use the default font as specified with # DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set # the path where dot can find it using this tag. @@ -2539,18 +2453,6 @@ DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support diff --git a/docs/Makefile.am b/docs/Makefile.am index a6780dba38..e6e8a84e68 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -13,7 +13,7 @@ windows-binaries.md dispatch.md building-with-cmake.md CMakeLists.txt groups.dox notes.md install-fortran.md credits.md auth.md filters.md \ obsolete/fan_utils.html indexing.dox inmemory.md FAQ.md \ known_problems.md COPYRIGHT.md inmeminternal.dox testserver.dox \ -byterange.dox nczarr.md quantize.md +byterange.dox nczarr.md quantize.md all-error-codes.md # Turn off parallel builds in this directory. .NOTPARALLEL: diff --git a/docs/all-error-codes.md b/docs/all-error-codes.md new file mode 100644 index 0000000000..97bd421477 --- /dev/null +++ b/docs/all-error-codes.md @@ -0,0 +1,188 @@ +Appendix C. NetCDF Error Code Listing {#nc-error-codes} +================== + +\tableofcontents + +# NetCDF-3 Error Codes {#nc3-error-codes} + +~~~~ +#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 [not enforced after 4.5.0] +#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 [not enforced after 4.5.0] +#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 [not enforced after 4.5.0] +#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 +#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_EAXISTYPE (-65) // Unknown axis type +~~~~ + +# 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_ETRANSLATION (-76) // Untranslatable construct +#define NC_EACCESS (-77) // Access Failure +#define NC_EAUTH (-78) // Authorization Failure +~~~~ + +# Misc. additional errors +~~~~ +#define NC_ENOTFOUND (-90) // No such file +#define NC_ECANTREMOVE (-91) // Cannot remove file +#define NC_EINTERNAL (-92) // NetCDF Library Internal Error +#define NC_EPNETCDF (-93) // Error at PnetCDF layer +~~~~ + +# 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 +were added for new errors unique to netCDF-4. + +~~~~ +#define NC_EHDFERR (-101) // Error at HDF5 layer. +#define NC_ECANTREAD (-102) // Cannot read. +#define NC_ECANTWRITE (-103) // Cannot write. +#define NC_ECANTCREATE (-104) // Cannot create. +#define NC_EFILEMETA (-105) // Problem with file metadata. +#define NC_EDIMMETA (-106) // Problem with dimension metadata. +#define NC_EATTMETA (-107) // Problem with attribute metadata. +#define NC_EVARMETA (-108) // Problem with variable metadata. +#define NC_ENOCOMPOUND (-109) // Not a compound type. +#define NC_EATTEXISTS (-110) // Attribute already exists. +#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_ENOTNC3 (-113) // Attempting netcdf-3 operation on netcdf-4 file. +#define NC_ENOPAR (-114) // Parallel operation on file opened for non-parallel access. +#define NC_EPARINIT (-115) // Error initializing for parallel access. +#define NC_EBADGRPID (-116) // Bad group ID. +#define NC_EBADTYPID (-117) // Bad type ID. +#define NC_ETYPDEFINED (-118) // Type has already been defined and may not be edited. +#define NC_EBADFIELD (-119) // Bad field ID. +#define NC_EBADCLASS (-120) // Bad class. +#define NC_EMAPTYPE (-121) // Mapped access for atomic types only. +#define NC_ELATEFILL (-122) // Attempt to define fill value when data already exists. +#define NC_ELATEDEF (-123) // Attempt to define var properties, like deflate, after enddef. +#define NC_EDIMSCALE (-124) // Problem with HDF5 dimscales. +#define NC_ENOGRP (-125) // No group found. +#define NC_ESTORAGE (-126) // Cannot specify both contiguous and chunking. +#define NC_EBADCHUNK (-127) // Bad chunksize. +#define NC_ENOTBUILT (-128) // Attempt to use feature that was not turned on when netCDF was built. +#define NC_EDISKLESS (-129) // Error in using diskless access. +#define NC_ECANTEXTEND (-130) // Attempt to extend dataset during ind. I/O operation. +#define NC_EMPI (-131) // MPI operation failed. +#define NC_EFILTER (-132) // Filter operation failed. +#define NC_ERCFILE (-133) // RC file failure +#define NC_ENULLPAD (-134) // Header Bytes not Null-Byte padded +#define NC_EINMEMORY (-135) // In-memory file error +~~~~ + +# PnetCDF Error Codes {#pnetcdf-error-codes} + +~~~~ +#define NC_ESMALL (-201) // size of MPI_Offset too small for format +#define NC_ENOTINDEP (-202) // Operation not allowed in collective data mode +#define NC_EINDEP (-203) // Operation not allowed in independent data mode +#define NC_EFILE (-204) // Unknown error in file operation +#define NC_EREAD (-205) // Unknown error in reading file +#define NC_EWRITE (-206) // Unknown error in writing to file +#define NC_EOFILE (-207) // file open/creation failed +#define NC_EMULTITYPES (-208) // Multiple etypes used in MPI datatype +#define NC_EIOMISMATCH (-209) // Input/Output data amount mismatch +#define NC_ENEGATIVECNT (-210) // Negative count is specified +#define NC_EUNSPTETYPE (-211) // Unsupported etype in memory MPI datatype +#define NC_EINVAL_REQUEST (-212) // invalid nonblocking request ID +#define NC_EAINT_TOO_SMALL (-213) // MPI_Aint not large enough to hold requested value +#define NC_ENOTSUPPORT (-214) // feature is not yet supported +#define NC_ENULLBUF (-215) // trying to attach a NULL buffer +#define NC_EPREVATTACHBUF (-216) // previous attached buffer is found +#define NC_ENULLABUF (-217) // no attached buffer is found +#define NC_EPENDINGBPUT (-218) // pending bput is found, cannot detach buffer +#define NC_EINSUFFBUF (-219) // attached buffer is too small +#define NC_ENOENT (-220) // File does not exist +#define NC_EINTOVERFLOW (-221) // Overflow when type cast to 4-byte integer +#define NC_ENOTENABLED (-222) // feature is not enabled +#define NC_EBAD_FILE (-223) // Invalid file name (e.g., path name too long) +#define NC_ENO_SPACE (-224) // Not enough space +#define NC_EQUOTA (-225) // Quota exceeded +#define NC_ENULLSTART (-226) // argument start is a NULL pointer +#define NC_ENULLCOUNT (-227) // argument count is a NULL pointer +#define NC_EINVAL_CMODE (-228) // Invalid file create mode +#define NC_ETYPESIZE (-229) // MPI derived data type size error (bigger than the variable size) +#define NC_ETYPE_MISMATCH (-230) // element type of the MPI derived data type mismatches the variable type +#define NC_ETYPESIZE_MISMATCH (-231) // file type size mismatches buffer type size +#define NC_ESTRICTCDF2 (-232) // Attempting CDF-5 operation on CDF-2 file +#define NC_ENOTRECVAR (-233) // Attempting operation only for record variables +#define NC_ENOTFILL (-234) // Attempting to fill a variable when its fill mode is off +#define NC_EINVAL_OMODE (-235) // Invalid file open mode +#define NC_EPENDING (-236) // Pending nonblocking request is found at file close +#define NC_EMAX_REQ (-237) // Size of I/O request exceeds INT_MAX +#define NC_EBADLOG (-238) // Unrecognized log file format +#define NC_EFLUSHED (-239) // Nonblocking request has already been flushed to the PFS. It is too late to cancel +#define NC_EMULTIDEFINE (-250) // NC definitions inconsistent among processes +#define NC_EMULTIDEFINE_OMODE (-251) // inconsistent file open modes among processes +#define NC_EMULTIDEFINE_DIM_NUM (-252) // inconsistent number of dimensions +#define NC_EMULTIDEFINE_DIM_SIZE (-253) // inconsistent size of dimension +#define NC_EMULTIDEFINE_DIM_NAME (-254) // inconsistent dimension names +#define NC_EMULTIDEFINE_VAR_NUM (-255) // inconsistent number of variables +#define NC_EMULTIDEFINE_VAR_NAME (-256) // inconsistent variable name +#define NC_EMULTIDEFINE_VAR_NDIMS (-257) // inconsistent variable number of dimensions +#define NC_EMULTIDEFINE_VAR_DIMIDS (-258) // inconsistent variable dimension IDs +#define NC_EMULTIDEFINE_VAR_TYPE (-259) // inconsistent variable data type +#define NC_EMULTIDEFINE_VAR_LEN (-260) // inconsistent variable size +#define NC_EMULTIDEFINE_NUMRECS (-261) // inconsistent number of records +#define NC_EMULTIDEFINE_VAR_BEGIN (-262) // inconsistent variable file begin offset (internal use) +#define NC_EMULTIDEFINE_ATTR_NUM (-263) // inconsistent number of attributes +#define NC_EMULTIDEFINE_ATTR_SIZE (-264) // inconsistent memory space used by attribute (internal use) +#define NC_EMULTIDEFINE_ATTR_NAME (-265) // inconsistent attribute name +#define NC_EMULTIDEFINE_ATTR_TYPE (-266) // inconsistent attribute type +#define NC_EMULTIDEFINE_ATTR_LEN (-267) // inconsistent attribute length +#define NC_EMULTIDEFINE_ATTR_VAL (-268) // inconsistent attribute value +#define NC_EMULTIDEFINE_FNC_ARGS (-269) // inconsistent function arguments used in collective API +#define NC_EMULTIDEFINE_FILL_MODE (-270) // inconsistent dataset fill mode +#define NC_EMULTIDEFINE_VAR_FILL_MODE (-271) // inconsistent variable fill mode +#define NC_EMULTIDEFINE_VAR_FILL_VALUE (-272) // inconsistent variable fill value +#define NC_EMULTIDEFINE_CMODE (-273) // inconsistent file create modes among processes +~~~~ + diff --git a/docs/filters.md b/docs/filters.md index 315f98bcba..0d4be5c658 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -309,7 +309,7 @@ The rules for all possible cases of the "-F none" flag are defined by this table