Skip to content

Commit 4fdfb6c

Browse files
authored
Merge pull request #2501 from WardF/error-code-list.wif
Adding all-error-codes.md back in to distribution documentation.
2 parents 9c09966 + 0c5fc4c commit 4fdfb6c

5 files changed

Lines changed: 200 additions & 110 deletions

File tree

docs/Doxyfile.in

Lines changed: 1 addition & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,6 @@ ALLOW_UNICODE_NAMES = NO
9393

9494
OUTPUT_LANGUAGE = English
9595

96-
# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all
97-
# documentation generated by doxygen is written. Doxygen will use this
98-
# information to generate all generated output in the proper direction.
99-
# Possible values are: None, LTR, RTL and Context.
100-
# The default value is: None.
101-
102-
OUTPUT_TEXT_DIRECTION = None
103-
10496
# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
10597
# descriptions after the members that are listed in the file and class
10698
# documentation (similar to Javadoc). Set to NO to disable this.
@@ -253,12 +245,6 @@ TAB_SIZE = 4
253245

254246
ALIASES =
255247

256-
# This tag can be used to specify a number of word-keyword mappings (TCL only).
257-
# A mapping has the form "name=value". For example adding "class=itcl::class"
258-
# will allow you to use the command class in the itcl::class meaning.
259-
260-
TCL_SUBST =
261-
262248
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
263249
# only. Doxygen will then generate output that is more tailored for C. For
264250
# 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 \
825811
@abs_top_srcdir@/docs/windows-binaries.md \
826812
@abs_top_srcdir@/docs/attribute_conventions.md \
827813
@abs_top_srcdir@/docs/file_format_specifications.md \
814+
@abs_top_srcdir@/docs/all-error-codes.md \
828815
@abs_top_srcdir@/docs/inmemory.md \
829816
@abs_top_srcdir@/docs/filters.md \
830817
@abs_top_srcdir@/docs/byterange.dox \
@@ -1153,13 +1140,6 @@ VERBATIM_HEADERS = YES
11531140

11541141
ALPHABETICAL_INDEX = NO
11551142

1156-
# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
1157-
# which the alphabetical index list will be split.
1158-
# Minimum value: 1, maximum value: 20, default value: 5.
1159-
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
1160-
1161-
COLS_IN_ALPHA_INDEX = 5
1162-
11631143
# In case all classes in a project start with a common prefix, all classes will
11641144
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
11651145
# 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
15771557

15781558
FORMULA_FONTSIZE = 10
15791559

1580-
# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
1581-
# generated for formulas are transparent PNGs. Transparent PNGs are not
1582-
# supported properly for IE 6.0, but are supported on all modern browsers.
1583-
#
1584-
# Note that when changing this option you need to delete any form_*.png files in
1585-
# the HTML output directory before the changes have effect.
1586-
# The default value is: YES.
1587-
# This tag requires that the tag GENERATE_HTML is set to YES.
1588-
1589-
FORMULA_TRANSPARENT = YES
1590-
15911560
# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
15921561
# to create new LaTeX commands to be used in formulas as building blocks. See
15931562
# the section "Including formulas" for details.
@@ -1886,16 +1855,6 @@ LATEX_BATCHMODE = NO
18861855

18871856
LATEX_HIDE_INDICES = NO
18881857

1889-
# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
1890-
# code with syntax highlighting in the LaTeX output.
1891-
#
1892-
# Note that which sources are shown also depends on other settings such as
1893-
# SOURCE_BROWSER.
1894-
# The default value is: NO.
1895-
# This tag requires that the tag GENERATE_LATEX is set to YES.
1896-
1897-
LATEX_SOURCE_CODE = NO
1898-
18991858
# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
19001859
# bibliography, e.g. plainnat, or ieeetr. See
19011860
# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
@@ -1976,16 +1935,6 @@ RTF_STYLESHEET_FILE =
19761935

19771936
RTF_EXTENSIONS_FILE =
19781937

1979-
# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
1980-
# with syntax highlighting in the RTF output.
1981-
#
1982-
# Note that which sources are shown also depends on other settings such as
1983-
# SOURCE_BROWSER.
1984-
# The default value is: NO.
1985-
# This tag requires that the tag GENERATE_RTF is set to YES.
1986-
1987-
RTF_SOURCE_CODE = NO
1988-
19891938
#---------------------------------------------------------------------------
19901939
# Configuration options related to the man page output
19911940
#---------------------------------------------------------------------------
@@ -2082,15 +2031,6 @@ GENERATE_DOCBOOK = NO
20822031

20832032
DOCBOOK_OUTPUT = docbook
20842033

2085-
# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
2086-
# program listings (including syntax highlighting and cross-referencing
2087-
# information) to the DOCBOOK output. Note that enabling this will significantly
2088-
# increase the size of the DOCBOOK output.
2089-
# The default value is: NO.
2090-
# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
2091-
2092-
DOCBOOK_PROGRAMLISTING = NO
2093-
20942034
#---------------------------------------------------------------------------
20952035
# Configuration options for the AutoGen Definitions output
20962036
#---------------------------------------------------------------------------
@@ -2269,15 +2209,6 @@ EXTERNAL_PAGES = NO
22692209
# Configuration options related to the dot tool
22702210
#---------------------------------------------------------------------------
22712211

2272-
# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
2273-
# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
2274-
# NO turns the diagrams off. Note that this option also works with HAVE_DOT
2275-
# disabled, but it is recommended to install and use dot, since it yields more
2276-
# powerful graphs.
2277-
# The default value is: YES.
2278-
2279-
CLASS_DIAGRAMS = YES
2280-
22812212
# You can include diagrams made with dia in doxygen documentation. Doxygen will
22822213
# then run dia to produce the diagram and insert it in the documentation. The
22832214
# DIA_PATH tag allows you to specify the directory where the dia binary resides.
@@ -2310,23 +2241,6 @@ HAVE_DOT = @HAVE_DOT@
23102241

23112242
DOT_NUM_THREADS = 0
23122243

2313-
# When you want a differently looking font in the dot files that doxygen
2314-
# generates you can specify the font name using DOT_FONTNAME. You need to make
2315-
# sure dot is able to find the font, which can be done by putting it in a
2316-
# standard location or by setting the DOTFONTPATH environment variable or by
2317-
# setting DOT_FONTPATH to the directory containing the font.
2318-
# The default value is: Helvetica.
2319-
# This tag requires that the tag HAVE_DOT is set to YES.
2320-
2321-
DOT_FONTNAME = Helvetica
2322-
2323-
# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
2324-
# dot graphs.
2325-
# Minimum value: 4, maximum value: 24, default value: 10.
2326-
# This tag requires that the tag HAVE_DOT is set to YES.
2327-
2328-
DOT_FONTSIZE = 10
2329-
23302244
# By default doxygen will tell dot to use the default font as specified with
23312245
# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
23322246
# the path where dot can find it using this tag.
@@ -2539,18 +2453,6 @@ DOT_GRAPH_MAX_NODES = 50
25392453

25402454
MAX_DOT_GRAPH_DEPTH = 0
25412455

2542-
# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
2543-
# background. This is disabled by default, because dot on Windows does not seem
2544-
# to support this out of the box.
2545-
#
2546-
# Warning: Depending on the platform used, enabling this option may lead to
2547-
# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
2548-
# read).
2549-
# The default value is: NO.
2550-
# This tag requires that the tag HAVE_DOT is set to YES.
2551-
2552-
DOT_TRANSPARENT = NO
2553-
25542456
# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
25552457
# files in one run (i.e. multiple -o and -T options on the command line). This
25562458
# makes dot run faster, but since only newer versions of dot (>1.8.10) support

docs/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ windows-binaries.md dispatch.md building-with-cmake.md CMakeLists.txt groups.dox
1313
notes.md install-fortran.md credits.md auth.md filters.md \
1414
obsolete/fan_utils.html indexing.dox inmemory.md FAQ.md \
1515
known_problems.md COPYRIGHT.md inmeminternal.dox testserver.dox \
16-
byterange.dox nczarr.md quantize.md
16+
byterange.dox nczarr.md quantize.md all-error-codes.md
1717

1818
# Turn off parallel builds in this directory.
1919
.NOTPARALLEL:

docs/all-error-codes.md

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
Appendix C. NetCDF Error Code Listing {#nc-error-codes}
2+
==================
3+
4+
\tableofcontents
5+
6+
# NetCDF-3 Error Codes {#nc3-error-codes}
7+
8+
~~~~
9+
#define NC_NOERR 0 // No Error
10+
#define NC_EBADID (-33) // Not a netcdf id
11+
#define NC_ENFILE (-34) // Too many netcdfs open
12+
#define NC_EEXIST (-35) // netcdf file exists && NC_NOCLOBBER
13+
#define NC_EINVAL (-36) // Invalid Argument
14+
#define NC_EPERM (-37) // Write to read only
15+
#define NC_ENOTINDEFINE (-38) // Operation not allowed in data mode
16+
#define NC_EINDEFINE (-39) // Operation not allowed in define mode
17+
#define NC_EINVALCOORDS (-40) // Index exceeds dimension bound
18+
#define NC_EMAXDIMS (-41) // NC_MAX_DIMS exceeded [not enforced after 4.5.0]
19+
#define NC_ENAMEINUSE (-42) // String match to name in use
20+
#define NC_ENOTATT (-43) // Attribute not found
21+
#define NC_EMAXATTS (-44) // NC_MAX_ATTRS exceeded [not enforced after 4.5.0]
22+
#define NC_EBADTYPE (-45) // Not a netcdf data type
23+
#define NC_EBADDIM (-46) // Invalid dimension id or name
24+
#define NC_EUNLIMPOS (-47) // NC_UNLIMITED in the wrong index
25+
#define NC_EMAXVARS (-48) // NC_MAX_VARS exceeded [not enforced after 4.5.0]
26+
#define NC_ENOTVAR (-49) // Variable not found
27+
#define NC_EGLOBAL (-50) // Action prohibited on NC_GLOBAL varid
28+
#define NC_ENOTNC (-51) // Not a netcdf file
29+
#define NC_ESTS (-52) // In Fortran, string too short
30+
#define NC_EMAXNAME (-53) // NC_MAX_NAME exceeded
31+
#define NC_EUNLIMIT (-54) // NC_UNLIMITED size already in use
32+
#define NC_ENORECVARS (-55) // nc_rec op when there are no record vars
33+
#define NC_ECHAR (-56) // Attempt to convert between text & numbers
34+
#define NC_EEDGE (-57) // Edge+start exceeds dimension bound
35+
#define NC_ESTRIDE (-58) // Illegal stride
36+
#define NC_EBADNAME (-59) // Attribute or variable name contains illegal characters
37+
38+
// N.B. following must match value in ncx.h
39+
40+
#define NC_ERANGE (-60) // Math result not representable
41+
#define NC_ENOMEM (-61) // Memory allocation (malloc) failure
42+
#define NC_EVARSIZE (-62) // One or more variable sizes violate format constraints
43+
#define NC_EDIMSIZE (-63) // Invalid dimension size
44+
#define NC_ETRUNC (-64) // File likely truncated or possibly corrupted
45+
#define NC_EAXISTYPE (-65) // Unknown axis type
46+
~~~~
47+
48+
# DAP Error Codes {#dap-error-codes}
49+
50+
If the DAP client is enabled, then the following additional error codes
51+
may occur.
52+
53+
~~~~
54+
#define NC_EDAP (-66) // Generic DAP error
55+
#define NC_ECURL (-67) // Generic libcurl error
56+
#define NC_EIO (-68) // Generic IO error
57+
#define NC_ENODATA (-69) // Attempt to access variable with no data
58+
#define NC_EDAPSVC (-70) // DAP Server side error
59+
#define NC_EDAS (-71) // Malformed or inaccessible DAS
60+
#define NC_EDDS (-72) // Malformed or inaccessible DDS
61+
#define NC_EDATADDS (-73) // Malformed or inaccessible DATADDS
62+
#define NC_EDAPURL (-74) // Malformed DAP URL
63+
#define NC_EDAPCONSTRAINT (-75) // Malformed DAP Constraint
64+
#define NC_ETRANSLATION (-76) // Untranslatable construct
65+
#define NC_EACCESS (-77) // Access Failure
66+
#define NC_EAUTH (-78) // Authorization Failure
67+
~~~~
68+
69+
# Misc. additional errors
70+
~~~~
71+
#define NC_ENOTFOUND (-90) // No such file
72+
#define NC_ECANTREMOVE (-91) // Cannot remove file
73+
#define NC_EINTERNAL (-92) // NetCDF Library Internal Error
74+
#define NC_EPNETCDF (-93) // Error at PnetCDF layer
75+
~~~~
76+
77+
# NetCDF-4 Error Codes {#nc4-error-codes}
78+
79+
NetCDF-4 uses all error codes from NetCDF-3 (see section [NetCDF-3 Error
80+
Codes](#NetCDF_002d3-Error-Codes)). The following additional error codes
81+
were added for new errors unique to netCDF-4.
82+
83+
~~~~
84+
#define NC_EHDFERR (-101) // Error at HDF5 layer.
85+
#define NC_ECANTREAD (-102) // Cannot read.
86+
#define NC_ECANTWRITE (-103) // Cannot write.
87+
#define NC_ECANTCREATE (-104) // Cannot create.
88+
#define NC_EFILEMETA (-105) // Problem with file metadata.
89+
#define NC_EDIMMETA (-106) // Problem with dimension metadata.
90+
#define NC_EATTMETA (-107) // Problem with attribute metadata.
91+
#define NC_EVARMETA (-108) // Problem with variable metadata.
92+
#define NC_ENOCOMPOUND (-109) // Not a compound type.
93+
#define NC_EATTEXISTS (-110) // Attribute already exists.
94+
#define NC_ENOTNC4 (-111) // Attempting netcdf-4 operation on netcdf-3 file.
95+
#define NC_ESTRICTNC3 (-112) // Attempting netcdf-4 operation on strict nc3 netcdf-4 file.
96+
#define NC_ENOTNC3 (-113) // Attempting netcdf-3 operation on netcdf-4 file.
97+
#define NC_ENOPAR (-114) // Parallel operation on file opened for non-parallel access.
98+
#define NC_EPARINIT (-115) // Error initializing for parallel access.
99+
#define NC_EBADGRPID (-116) // Bad group ID.
100+
#define NC_EBADTYPID (-117) // Bad type ID.
101+
#define NC_ETYPDEFINED (-118) // Type has already been defined and may not be edited.
102+
#define NC_EBADFIELD (-119) // Bad field ID.
103+
#define NC_EBADCLASS (-120) // Bad class.
104+
#define NC_EMAPTYPE (-121) // Mapped access for atomic types only.
105+
#define NC_ELATEFILL (-122) // Attempt to define fill value when data already exists.
106+
#define NC_ELATEDEF (-123) // Attempt to define var properties, like deflate, after enddef.
107+
#define NC_EDIMSCALE (-124) // Problem with HDF5 dimscales.
108+
#define NC_ENOGRP (-125) // No group found.
109+
#define NC_ESTORAGE (-126) // Cannot specify both contiguous and chunking.
110+
#define NC_EBADCHUNK (-127) // Bad chunksize.
111+
#define NC_ENOTBUILT (-128) // Attempt to use feature that was not turned on when netCDF was built.
112+
#define NC_EDISKLESS (-129) // Error in using diskless access.
113+
#define NC_ECANTEXTEND (-130) // Attempt to extend dataset during ind. I/O operation.
114+
#define NC_EMPI (-131) // MPI operation failed.
115+
#define NC_EFILTER (-132) // Filter operation failed.
116+
#define NC_ERCFILE (-133) // RC file failure
117+
#define NC_ENULLPAD (-134) // Header Bytes not Null-Byte padded
118+
#define NC_EINMEMORY (-135) // In-memory file error
119+
~~~~
120+
121+
# PnetCDF Error Codes {#pnetcdf-error-codes}
122+
123+
~~~~
124+
#define NC_ESMALL (-201) // size of MPI_Offset too small for format
125+
#define NC_ENOTINDEP (-202) // Operation not allowed in collective data mode
126+
#define NC_EINDEP (-203) // Operation not allowed in independent data mode
127+
#define NC_EFILE (-204) // Unknown error in file operation
128+
#define NC_EREAD (-205) // Unknown error in reading file
129+
#define NC_EWRITE (-206) // Unknown error in writing to file
130+
#define NC_EOFILE (-207) // file open/creation failed
131+
#define NC_EMULTITYPES (-208) // Multiple etypes used in MPI datatype
132+
#define NC_EIOMISMATCH (-209) // Input/Output data amount mismatch
133+
#define NC_ENEGATIVECNT (-210) // Negative count is specified
134+
#define NC_EUNSPTETYPE (-211) // Unsupported etype in memory MPI datatype
135+
#define NC_EINVAL_REQUEST (-212) // invalid nonblocking request ID
136+
#define NC_EAINT_TOO_SMALL (-213) // MPI_Aint not large enough to hold requested value
137+
#define NC_ENOTSUPPORT (-214) // feature is not yet supported
138+
#define NC_ENULLBUF (-215) // trying to attach a NULL buffer
139+
#define NC_EPREVATTACHBUF (-216) // previous attached buffer is found
140+
#define NC_ENULLABUF (-217) // no attached buffer is found
141+
#define NC_EPENDINGBPUT (-218) // pending bput is found, cannot detach buffer
142+
#define NC_EINSUFFBUF (-219) // attached buffer is too small
143+
#define NC_ENOENT (-220) // File does not exist
144+
#define NC_EINTOVERFLOW (-221) // Overflow when type cast to 4-byte integer
145+
#define NC_ENOTENABLED (-222) // feature is not enabled
146+
#define NC_EBAD_FILE (-223) // Invalid file name (e.g., path name too long)
147+
#define NC_ENO_SPACE (-224) // Not enough space
148+
#define NC_EQUOTA (-225) // Quota exceeded
149+
#define NC_ENULLSTART (-226) // argument start is a NULL pointer
150+
#define NC_ENULLCOUNT (-227) // argument count is a NULL pointer
151+
#define NC_EINVAL_CMODE (-228) // Invalid file create mode
152+
#define NC_ETYPESIZE (-229) // MPI derived data type size error (bigger than the variable size)
153+
#define NC_ETYPE_MISMATCH (-230) // element type of the MPI derived data type mismatches the variable type
154+
#define NC_ETYPESIZE_MISMATCH (-231) // file type size mismatches buffer type size
155+
#define NC_ESTRICTCDF2 (-232) // Attempting CDF-5 operation on CDF-2 file
156+
#define NC_ENOTRECVAR (-233) // Attempting operation only for record variables
157+
#define NC_ENOTFILL (-234) // Attempting to fill a variable when its fill mode is off
158+
#define NC_EINVAL_OMODE (-235) // Invalid file open mode
159+
#define NC_EPENDING (-236) // Pending nonblocking request is found at file close
160+
#define NC_EMAX_REQ (-237) // Size of I/O request exceeds INT_MAX
161+
#define NC_EBADLOG (-238) // Unrecognized log file format
162+
#define NC_EFLUSHED (-239) // Nonblocking request has already been flushed to the PFS. It is too late to cancel
163+
#define NC_EMULTIDEFINE (-250) // NC definitions inconsistent among processes
164+
#define NC_EMULTIDEFINE_OMODE (-251) // inconsistent file open modes among processes
165+
#define NC_EMULTIDEFINE_DIM_NUM (-252) // inconsistent number of dimensions
166+
#define NC_EMULTIDEFINE_DIM_SIZE (-253) // inconsistent size of dimension
167+
#define NC_EMULTIDEFINE_DIM_NAME (-254) // inconsistent dimension names
168+
#define NC_EMULTIDEFINE_VAR_NUM (-255) // inconsistent number of variables
169+
#define NC_EMULTIDEFINE_VAR_NAME (-256) // inconsistent variable name
170+
#define NC_EMULTIDEFINE_VAR_NDIMS (-257) // inconsistent variable number of dimensions
171+
#define NC_EMULTIDEFINE_VAR_DIMIDS (-258) // inconsistent variable dimension IDs
172+
#define NC_EMULTIDEFINE_VAR_TYPE (-259) // inconsistent variable data type
173+
#define NC_EMULTIDEFINE_VAR_LEN (-260) // inconsistent variable size
174+
#define NC_EMULTIDEFINE_NUMRECS (-261) // inconsistent number of records
175+
#define NC_EMULTIDEFINE_VAR_BEGIN (-262) // inconsistent variable file begin offset (internal use)
176+
#define NC_EMULTIDEFINE_ATTR_NUM (-263) // inconsistent number of attributes
177+
#define NC_EMULTIDEFINE_ATTR_SIZE (-264) // inconsistent memory space used by attribute (internal use)
178+
#define NC_EMULTIDEFINE_ATTR_NAME (-265) // inconsistent attribute name
179+
#define NC_EMULTIDEFINE_ATTR_TYPE (-266) // inconsistent attribute type
180+
#define NC_EMULTIDEFINE_ATTR_LEN (-267) // inconsistent attribute length
181+
#define NC_EMULTIDEFINE_ATTR_VAL (-268) // inconsistent attribute value
182+
#define NC_EMULTIDEFINE_FNC_ARGS (-269) // inconsistent function arguments used in collective API
183+
#define NC_EMULTIDEFINE_FILL_MODE (-270) // inconsistent dataset fill mode
184+
#define NC_EMULTIDEFINE_VAR_FILL_MODE (-271) // inconsistent variable fill mode
185+
#define NC_EMULTIDEFINE_VAR_FILL_VALUE (-272) // inconsistent variable fill value
186+
#define NC_EMULTIDEFINE_CMODE (-273) // inconsistent file create modes among processes
187+
~~~~
188+

0 commit comments

Comments
 (0)