From 0d24a1c278bc88a082f60fa63c1683f753e8cf40 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 8 Sep 2022 16:16:21 -0600 Subject: [PATCH 1/4] Adding all-error-codes.md back in to distribution documentation. --- docs/Doxyfile.in | 1 + docs/Makefile.am | 2 +- docs/all-error-codes.md | 188 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 docs/all-error-codes.md diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index 7d1ed90232..536453445a 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -841,6 +841,7 @@ INPUT = @abs_top_srcdir@/docs/mainpage.dox \ @abs_top_srcdir@/docs/inmeminternal.dox \ @abs_top_srcdir@/docs/indexing.dox \ @abs_top_srcdir@/docs/testserver.dox \ + @abs_top_srcdir@/docs/all-error-codes.md \ @abs_top_srcdir@/docs/quantize.md \ @abs_top_srcdir@/include/netcdf.h \ @abs_top_srcdir@/include/netcdf_mem.h \ 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..78829c2ab4 --- /dev/null +++ b/docs/all-error-codes.md @@ -0,0 +1,188 @@ +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 +~~~~ + From 6cf6677b2cea53462ecd2f9572a29beb7c8d7131 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 8 Sep 2022 16:21:39 -0600 Subject: [PATCH 2/4] Remove obsolete tags from Doxyfile. --- docs/Doxyfile.in | 99 ------------------------------------------------ 1 file changed, 99 deletions(-) diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index 536453445a..8762023024 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 @@ -1154,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 @@ -1578,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. @@ -1887,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. @@ -1977,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 #--------------------------------------------------------------------------- @@ -2083,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 #--------------------------------------------------------------------------- @@ -2270,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. @@ -2311,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. @@ -2540,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 From 60552dbc65a64606d55755ea1fc2cd749f0f6e78 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 8 Sep 2022 16:28:43 -0600 Subject: [PATCH 3/4] Updating doxygen files. --- docs/filters.md | 14 +++++++------- docs/nczarr.md | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/filters.md b/docs/filters.md index 315f98bcba..9e467e5322 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 falsedefineddefineduse output filter(s) -# Filter Specification Syntax {#filters_syntax} +# Filter Specification Syntax {#filters_syntax} The utilities ncgen and nccopy, and also the output of *ncdump*, support the specification of filter ids, formats, and parameters in text format. The BNF specification is defined in [Appendix C](#filters_appendixc). @@ -438,7 +438,7 @@ This means that some mechanism is needed to translate between the HDF5 id+parame 3. It must be possible to modify the set of visible parameters in response to environment information such as the type of the associated variable; this is required to mimic the corresponding HDF5 capability. 4. It must be possible to use filters even if HDF5 support is disabled. -Note that the term "visible parameters" is used here to refer to the parameters provided by "nc\_def\_var\_filter" or those stored in the dataset's metadata as provided by the JSON codec. The term "working parameters" refers to the parameters given to the compressor itself and derived from the visible parameters. +Note that the term "visible parameters" is used here to refer to the parameters provided by "nc_def_var_filter" or those stored in the dataset's metadata as provided by the JSON codec. The term "working parameters" refers to the parameters given to the compressor itself and derived from the visible parameters. The standard authority for defining Zarr filters is the list supported by the NumCodecs project [7]. Comparing the set of standard filters (aka codecs) defined by NumCodecs to the set of standard filters defined by HDF5 [3], it can be seen that the two sets overlap, but each has filters not defined by the other. @@ -514,8 +514,8 @@ This interrogation operates by seeing if certain well-known (function) names are There will be two library types: -1. HDF5 — exports a specific API: "H5Z\_plugin\_type" and "H5Z\_get\_plugin\_info". -2. Codec — exports a specific API: "NCZ\_get\_codec\_info" +1. HDF5 — exports a specific API: "H5Z_plugin_type" and "H5Z_get_plugin_info". +2. Codec — exports a specific API: "NCZ_get_codec_info" Note that a given library can export either or both of these APIs. This means that we can have three types of libraries: @@ -605,7 +605,7 @@ is stored in the JSON dictionary form described earlier. The Codec style, using JSON, has the ability to provide very complex parameters that may be hard to encode as a vector of unsigned integers. It might be desirable to consider exporting a JSON-base API out of the netcdf-c API to support user access to this complexity. -This would mean providing some alternate version of "nc\_def\_var\_filter" that takes a string-valued argument instead of a vector of unsigned ints. +This would mean providing some alternate version of "nc_def_var_filter" that takes a string-valued argument instead of a vector of unsigned ints. This extension is unlikely to be implemented until a compelling use-case is encountered. One bad side-effect of this is that we then may have two classes of plugins. @@ -812,7 +812,7 @@ The h5 tag indicates that they assume that the result of the parse is a set of u * idp will contain the first constant — the filter id * nparamsp will contain the number of params * paramsp will contain a vector of params — the caller must free -This function can parse single filter spec strings as defined in the section on Filter Specification Syntax. +This function can parse single filter spec strings as defined in the section on \ref{filters_syntax}. 2. *int ncaux\_h5filterspec\_parselist(const char* txt, int* formatp, size\_t* nspecsp, struct NC\_H5\_Filterspec*** vectorp);* * txt contains the text of a sequence '|' separated filter specs. * formatp currently always returns 0. @@ -852,7 +852,7 @@ The include file *netcdf\_meta.h* contains the following definition. ```` #define NC_HAS_MULTIFILTERS 1 ```` -This, in conjunction with the error code *NC\_ENOFILTER* in *netcdf.h* can be used to see what filter mechanism is in place as described in the section on incompatibities. +This, in conjunction with the error code *NC\_ENOFILTER* in *netcdf.h* can be used to see what filter mechanism is in place as described in the section on \ref filters_compatibility. 1. !defined(NC\_ENOFILTER) && !defined(NC\_HAS\_MULTIFILTERS) — indicates that the old pre-4.7.4 mechanism is in place. It does not support multiple filters. diff --git a/docs/nczarr.md b/docs/nczarr.md index 71b2e98e03..1e4dc93c0f 100644 --- a/docs/nczarr.md +++ b/docs/nczarr.md @@ -491,9 +491,9 @@ Here are a couple of examples using the _ncgen_ and _ncdump_ utilities. collections — High-performance dataset datatypes](https://docs.python.org/2/library/collections.html)
[6] [Zarr Version 2 Specification](https://zarr.readthedocs.io/en/stable/spec/v2.html)
[7] [XArray Zarr Encoding Specification](http://xarray.pydata.org/en/latest/internals.html#zarr-encoding-specification)
-[8] [Dynamic Filter Loading](https://support.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf)
-[9] [Officially Registered Custom HDF5 Filters](https://portal.hdfgroup.org/display/support/Registered+Filter+Plugins)
-[10] [C-Blosc Compressor Implementation](https://github.com/Blosc/c-blosc)
+[8] [Dynamic Filter Loading](https://support.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf)
+[9] [Officially Registered Custom HDF5 Filters](https://portal.hdfgroup.org/display/support/Registered+Filter+Plugins)
+[10] [C-Blosc Compressor Implementation](https://github.com/Blosc/c-blosc)
[11] [Conda-forge / packages / aws-sdk-cpp](https://anaconda.org/conda-forge/aws-sdk-cpp)
[12] [GDAL Zarr](https://gdal.org/drivers/raster/zarr.html)
From 0c5fc4c2cdbd95a8a1b84d3db10bfac31412e004 Mon Sep 17 00:00:00 2001 From: Ward Fisher Date: Thu, 8 Sep 2022 16:36:53 -0600 Subject: [PATCH 4/4] Doxygen update, reorganizing. --- docs/Doxyfile.in | 2 +- docs/all-error-codes.md | 2 +- docs/filters.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index 8762023024..6900f274c9 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -811,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 \ @@ -827,7 +828,6 @@ INPUT = @abs_top_srcdir@/docs/mainpage.dox \ @abs_top_srcdir@/docs/inmeminternal.dox \ @abs_top_srcdir@/docs/indexing.dox \ @abs_top_srcdir@/docs/testserver.dox \ - @abs_top_srcdir@/docs/all-error-codes.md \ @abs_top_srcdir@/docs/quantize.md \ @abs_top_srcdir@/include/netcdf.h \ @abs_top_srcdir@/include/netcdf_mem.h \ diff --git a/docs/all-error-codes.md b/docs/all-error-codes.md index 78829c2ab4..97bd421477 100644 --- a/docs/all-error-codes.md +++ b/docs/all-error-codes.md @@ -1,4 +1,4 @@ -NetCDF Error Code Listing {#nc-error-codes} +Appendix C. NetCDF Error Code Listing {#nc-error-codes} ================== \tableofcontents diff --git a/docs/filters.md b/docs/filters.md index 9e467e5322..0d4be5c658 100644 --- a/docs/filters.md +++ b/docs/filters.md @@ -812,7 +812,7 @@ The h5 tag indicates that they assume that the result of the parse is a set of u * idp will contain the first constant — the filter id * nparamsp will contain the number of params * paramsp will contain a vector of params — the caller must free -This function can parse single filter spec strings as defined in the section on \ref{filters_syntax}. +This function can parse single filter spec strings as defined in the section on \ref filters_syntax. 2. *int ncaux\_h5filterspec\_parselist(const char* txt, int* formatp, size\_t* nspecsp, struct NC\_H5\_Filterspec*** vectorp);* * txt contains the text of a sequence '|' separated filter specs. * formatp currently always returns 0.