Skip to content
Snippets Groups Projects
Unverified Commit 67918fa4 authored by Atkins, Charles Vernon's avatar Atkins, Charles Vernon Committed by GitHub
Browse files

Merge pull request #371 from williamfgc/docs

Update doxygen and readme docs
parents e0b797bb b50a6bd2
No related branches found
No related tags found
No related merge requests found
......@@ -6,8 +6,8 @@
[![Travis CI](https://travis-ci.org/ornladios/ADIOS2.svg)](https://travis-ci.org/ornladios/ADIOS2)
[![AppVeyor CI](https://ci.appveyor.com/api/projects/status/0s2a3qp57hgbvlhj?svg=true)](https://ci.appveyor.com/project/ornladios/adios2)
# Adaptable Input / Output System (ADIOS) v2.0
This is v2.0 of the ADIOS I/O system, developed as part of the
# Adaptable Input / Output System (ADIOS) v2.1.0
This is v2.1.0 of the ADIOS I/O system, developed as part of the
U.S. Department of Energy Exascale Computing Program.
## License
......@@ -19,8 +19,10 @@ Copyright.txt for more details.
* cmake - Project specific CMake modules
* examples - ADIOS2 Examples
* scripts - Project maintenance and development scripts
* source - Main ADIOS2 source
* bindings - Additional language bindings (currently only Python is available)
* source - Main ADIOS2 source
* adios2 - source directory for the ADIOS2 library to be installed under install-dir/lib/libadios2.
* utils - source directory for the binary utilities, to be installed under install-dir/bin
* bindings - Additional language bindings (C, Fortran and Python)
* testing - Tests
## Documentation
......@@ -56,13 +58,13 @@ $ mkdir build
```bash
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/adios2/2.0.0/gnu/openmpi ../source
$ cmake -DCMAKE_INSTALL_PREFIX=/opt/adios2/2.1.0/gnu/openmpi ../source
-- The C compiler identification is GNU 6.3.1
-- The CXX compiler identification is GNU 6.3.1
...
ADIOS2 build configuration:
ADIOS Version: 2.0.0
ADIOS Version: 2.1.0
C++ Compiler : GNU 6.3.1
/usr/bin/c++
......@@ -101,9 +103,8 @@ The following options can be specified with CMake's `-DVAR=VALUE` syntax to cont
| `ADIOS2_USE_HDF5` | **`AUTO`**/``ON``/``OFF`` | Enable the [HDF5](https://www.hdfgroup.org) engine. |
| `ADIOS2_USE_ADIOS1` | **`AUTO`**/``ON``/``OFF`` | Enable the [ADIOS 1.x](https://www.olcf.ornl.gov/center-projects/adios/) engine. |
| `ADIOS2_USE_Python` | **`AUTO`**/``ON``/``OFF`` | Enable the Python >= 2.7 bindings. |
| `ADIOS2_USE_C` | **`AUTO`**/``ON``/``OFF`` | Enable the C bindings library libadios2_c.so or libadios2_c.a |
Note: The `ADIOS2_USE_HDF5` and `ADIOS2_USE_ADIOS1` options require the use of a matching serial or parallel version depending on whether `ADIOS2_USE_MPI` is enabled. SImilary, enabling MPI and Python bindings requires the presence of `mpi4py`.
Note: The `ADIOS2_USE_HDF5` and `ADIOS2_USE_ADIOS1` options require the use of a matching serial or parallel version depending on whether `ADIOS2_USE_MPI` is enabled. Similary, enabling MPI and Python bindings requires the presence of `mpi4py`.
In addition to the `ADIOS2_USE_Feature` options, the following options are also available to control how the library get's built:
......@@ -168,15 +169,15 @@ $ make install
...
Install the project...
-- Install configuration: "Debug"
-- Installing: /opt/adios2/2.0.0/gnu/openmpi/include/adios2/ADIOSConfig.h
-- Installing: /opt/adios2/2.1.0/gnu/openmpi/include/adios2/ADIOSConfig.h
...
-- Installing: /opt/adios2/2.0.0/gnu/openmpi/bin/adios2-config
-- Installing: /opt/adios2/2.1.0/gnu/openmpi/bin/adios2-config
...
-- Installing: /opt/adios2/2.0.0/gnu/openmpi/include/adios2.h
-- Installing: /opt/adios2/2.1.0/gnu/openmpi/include/adios2.h
...
-- Installing: /opt/adios2/2.0.0/gnu/openmpi/lib/libadios2.so.2.0.0
-- Installing: /opt/adios2/2.0.0/gnu/openmpi/lib/libadios2.so.2
-- Installing: /opt/adios2/2.0.0/gnu/openmpi/lib/libadios2.so
-- Installing: /opt/adios2/2.1.0/gnu/openmpi/lib/libadios2.so.2.0.0
-- Installing: /opt/adios2/2.1.0/gnu/openmpi/lib/libadios2.so.2
-- Installing: /opt/adios2/2.1.0/gnu/openmpi/lib/libadios2.so
...
$
```
......@@ -38,27 +38,27 @@ PROJECT_NAME = ADIOS
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 2.00
PROJECT_NUMBER = 2.1.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF =
PROJECT_BRIEF =
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory.
PROJECT_LOGO =
PROJECT_LOGO =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY =
OUTPUT_DIRECTORY =
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
......@@ -118,7 +118,7 @@ REPEAT_BRIEF = YES
# the entity):The $name class, The $name widget, The $name file, is, provides,
# specifies, contains, represents, a, an and the.
ABBREVIATE_BRIEF =
ABBREVIATE_BRIEF =
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# doxygen will generate a detailed section even if there is only a brief
......@@ -152,7 +152,7 @@ FULL_PATH_NAMES = YES
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH =
STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
......@@ -161,7 +161,7 @@ STRIP_FROM_PATH =
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
STRIP_FROM_INC_PATH =
STRIP_FROM_INC_PATH =
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
......@@ -228,13 +228,13 @@ TAB_SIZE = 4
# "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines.
ALIASES =
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 =
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
......@@ -281,7 +281,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen.
EXTENSION_MAPPING =
EXTENSION_MAPPING =
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
......@@ -629,7 +629,7 @@ GENERATE_DEPRECATEDLIST = YES
# sections, marked by \if <section_label> ... \endif and \cond <section_label>
# ... \endcond blocks.
ENABLED_SECTIONS =
ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
# initial value of a variable or macro / define can have for it to appear in the
......@@ -671,7 +671,7 @@ SHOW_NAMESPACES = YES
# by doxygen. Whatever the program writes to standard output is used as the file
# version. For an example see the documentation.
FILE_VERSION_FILTER =
FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
# by doxygen. The layout file controls the global structure of the generated
......@@ -684,7 +684,7 @@ FILE_VERSION_FILTER =
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.
LAYOUT_FILE =
LAYOUT_FILE =
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
......@@ -694,7 +694,7 @@ LAYOUT_FILE =
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. See also \cite for info how to create references.
CITE_BIB_FILES =
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
......@@ -759,7 +759,7 @@ WARN_FORMAT = "$file:$line: $text"
# messages should be written. If left blank the output is written to standard
# error (stderr).
WARN_LOGFILE =
WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
......@@ -771,7 +771,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
INPUT = ../source
INPUT = ../source ../bindings
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
......@@ -796,7 +796,7 @@ INPUT_ENCODING = UTF-8
# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f, *.for, *.tcl,
# *.vhd, *.vhdl, *.ucf, *.qsf, *.as and *.js.
FILE_PATTERNS =
FILE_PATTERNS =
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
......@@ -811,7 +811,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.
EXCLUDE =
EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
......@@ -827,7 +827,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS =
EXCLUDE_PATTERNS =
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
......@@ -838,20 +838,20 @@ EXCLUDE_PATTERNS =
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*
EXCLUDE_SYMBOLS =
EXCLUDE_SYMBOLS =
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
# command).
EXAMPLE_PATH =
EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
# *.h) to filter out the source-files in the directories. If left blank all
# files are included.
EXAMPLE_PATTERNS =
EXAMPLE_PATTERNS =
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
# searched for input files to be used with the \include or \dontinclude commands
......@@ -864,7 +864,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
IMAGE_PATH =
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
......@@ -885,7 +885,7 @@ IMAGE_PATH =
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
INPUT_FILTER =
INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
# basis. Doxygen will compare the file name with each pattern and apply the
......@@ -898,7 +898,7 @@ INPUT_FILTER =
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
FILTER_PATTERNS =
FILTER_PATTERNS =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will also be used to filter the input files that are used for
......@@ -913,14 +913,14 @@ FILTER_SOURCE_FILES = NO
# *.ext= (so without naming a filter).
# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
FILTER_SOURCE_PATTERNS =
FILTER_SOURCE_PATTERNS =
# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
# is part of the input, its contents will be placed on the main page
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
......@@ -1025,7 +1025,7 @@ CLANG_ASSISTED_PARSING = NO
# specified with INPUT and INCLUDE_PATH.
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
CLANG_OPTIONS =
CLANG_OPTIONS =
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
......@@ -1051,7 +1051,7 @@ COLS_IN_ALPHA_INDEX = 5
# while generating the index headers.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
IGNORE_PREFIX =
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
......@@ -1095,7 +1095,7 @@ HTML_FILE_EXTENSION = .html
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_HEADER =
HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
......@@ -1105,7 +1105,7 @@ HTML_HEADER =
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FOOTER =
HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
......@@ -1117,7 +1117,7 @@ HTML_FOOTER =
# obsolete.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_STYLESHEET =
HTML_STYLESHEET =
# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
# cascading style sheets that are included after the standard style sheets
......@@ -1130,7 +1130,7 @@ HTML_STYLESHEET =
# list). For an example see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_STYLESHEET =
HTML_EXTRA_STYLESHEET =
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
......@@ -1140,7 +1140,7 @@ HTML_EXTRA_STYLESHEET =
# files will be copied as-is; there are no commands or markers available.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_FILES =
HTML_EXTRA_FILES =
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the style sheet and background images according to
......@@ -1269,7 +1269,7 @@ GENERATE_HTMLHELP = NO
# written to the html output directory.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_FILE =
CHM_FILE =
# The HHC_LOCATION tag can be used to specify the location (absolute path
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
......@@ -1277,7 +1277,7 @@ CHM_FILE =
# The file has to be specified with full path.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
HHC_LOCATION =
HHC_LOCATION =
# The GENERATE_CHI flag controls if a separate .chi index file is generated
# (YES) or that it should be included in the master .chm file (NO).
......@@ -1290,7 +1290,7 @@ GENERATE_CHI = NO
# and project file content.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_INDEX_ENCODING =
CHM_INDEX_ENCODING =
# The BINARY_TOC flag controls whether a binary table of contents is generated
# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
......@@ -1321,7 +1321,7 @@ GENERATE_QHP = NO
# the HTML output folder.
# This tag requires that the tag GENERATE_QHP is set to YES.
QCH_FILE =
QCH_FILE =
# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
# Project output. For more information please see Qt Help Project / Namespace
......@@ -1346,7 +1346,7 @@ QHP_VIRTUAL_FOLDER = doc
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_NAME =
# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
# custom filter to add. For more information please see Qt Help Project / Custom
......@@ -1354,21 +1354,21 @@ QHP_CUST_FILTER_NAME =
# filters).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_CUST_FILTER_ATTRS =
QHP_CUST_FILTER_ATTRS =
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
# project's filter section matches. Qt Help Project / Filter Attributes (see:
# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_SECT_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
# The QHG_LOCATION tag can be used to specify the location of Qt's
# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
# generated .qhp file.
# This tag requires that the tag GENERATE_QHP is set to YES.
QHG_LOCATION =
QHG_LOCATION =
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
# generated, together with the HTML files, they form an Eclipse help plugin. To
......@@ -1501,7 +1501,7 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_EXTENSIONS =
MATHJAX_EXTENSIONS =
# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
# of code that will be used on startup of the MathJax code. See the MathJax site
......@@ -1509,7 +1509,7 @@ MATHJAX_EXTENSIONS =
# example see the documentation.
# This tag requires that the tag USE_MATHJAX is set to YES.
MATHJAX_CODEFILE =
MATHJAX_CODEFILE =
# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
# the HTML output. The underlying search engine uses javascript and DHTML and
......@@ -1569,7 +1569,7 @@ EXTERNAL_SEARCH = NO
# Searching" for details.
# This tag requires that the tag SEARCHENGINE is set to YES.
SEARCHENGINE_URL =
SEARCHENGINE_URL =
# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
# search data is written to a file for indexing by an external tool. With the
......@@ -1585,7 +1585,7 @@ SEARCHDATA_FILE = searchdata.xml
# projects and redirect the results back to the right project.
# This tag requires that the tag SEARCHENGINE is set to YES.
EXTERNAL_SEARCH_ID =
EXTERNAL_SEARCH_ID =
# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
# projects other than the one defined by this configuration file, but that are
......@@ -1595,7 +1595,7 @@ EXTERNAL_SEARCH_ID =
# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
# This tag requires that the tag SEARCHENGINE is set to YES.
EXTRA_SEARCH_MAPPINGS =
EXTRA_SEARCH_MAPPINGS =
#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
......@@ -1659,7 +1659,7 @@ PAPER_TYPE = a4
# If left blank no extra packages will be included.
# This tag requires that the tag GENERATE_LATEX is set to YES.
EXTRA_PACKAGES =
EXTRA_PACKAGES =
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
# generated LaTeX document. The header should contain everything until the first
......@@ -1675,7 +1675,7 @@ EXTRA_PACKAGES =
# to HTML_HEADER.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_HEADER =
LATEX_HEADER =
# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
# generated LaTeX document. The footer should contain everything after the last
......@@ -1686,7 +1686,7 @@ LATEX_HEADER =
# Note: Only use a user-defined footer if you know what you are doing!
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_FOOTER =
LATEX_FOOTER =
# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
# LaTeX style sheets that are included after the standard style sheets created
......@@ -1697,7 +1697,7 @@ LATEX_FOOTER =
# list).
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_EXTRA_STYLESHEET =
LATEX_EXTRA_STYLESHEET =
# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the LATEX_OUTPUT output
......@@ -1705,7 +1705,7 @@ LATEX_EXTRA_STYLESHEET =
# markers available.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_EXTRA_FILES =
LATEX_EXTRA_FILES =
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
......@@ -1813,14 +1813,14 @@ RTF_HYPERLINKS = NO
# default style sheet that doxygen normally uses.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_STYLESHEET_FILE =
RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an RTF document. Syntax is
# similar to doxygen's config file. A template extensions file can be generated
# using doxygen -e rtf extensionFile.
# This tag requires that the tag GENERATE_RTF is set to YES.
RTF_EXTENSIONS_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.
......@@ -1865,7 +1865,7 @@ MAN_EXTENSION = .3
# MAN_EXTENSION with the initial . removed.
# This tag requires that the tag GENERATE_MAN is set to YES.
MAN_SUBDIR =
MAN_SUBDIR =
# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
# will generate one additional man file for each entity documented in the real
......@@ -1978,7 +1978,7 @@ PERLMOD_PRETTY = YES
# overwrite each other's variables.
# This tag requires that the tag GENERATE_PERLMOD is set to YES.
PERLMOD_MAKEVAR_PREFIX =
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
......@@ -2019,7 +2019,7 @@ SEARCH_INCLUDES = YES
# preprocessor.
# This tag requires that the tag SEARCH_INCLUDES is set to YES.
INCLUDE_PATH =
INCLUDE_PATH =
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
......@@ -2027,7 +2027,7 @@ INCLUDE_PATH =
# used.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
INCLUDE_FILE_PATTERNS =
INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that are
# defined before the preprocessor is started (similar to the -D option of e.g.
......@@ -2037,7 +2037,7 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED =
PREDEFINED =
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
......@@ -2046,7 +2046,7 @@ PREDEFINED =
# definition found in the source code.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_AS_DEFINED =
EXPAND_AS_DEFINED =
# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
# remove all references to function-like macros that are alone on a line, have
......@@ -2075,13 +2075,13 @@ SKIP_FUNCTION_MACROS = YES
# the path). If a tag file is not located in the directory in which doxygen is
# run, you must also specify the path to the tagfile here.
TAGFILES =
TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
# tag file that is based on the input files it reads. See section "Linking to
# external documentation" for more information about the usage of tag files.
GENERATE_TAGFILE =
GENERATE_TAGFILE =
# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
# the class index. If set to NO, only the inherited external classes will be
......@@ -2130,14 +2130,14 @@ CLASS_DIAGRAMS = NO
# the mscgen tool resides. If left empty the tool is assumed to be found in the
# default search path.
MSCGEN_PATH =
MSCGEN_PATH =
# 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.
# If left empty dia is assumed to be found in the default search path.
DIA_PATH =
DIA_PATH =
# If set to YES the inheritance and collaboration graphs will hide inheritance
# and usage relations if the target is undocumented or is not a class.
......@@ -2186,7 +2186,7 @@ DOT_FONTSIZE = 10
# the path where dot can find it using this tag.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_FONTPATH =
DOT_FONTPATH =
# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
# each documented class showing the direct and indirect inheritance relations.
......@@ -2332,26 +2332,26 @@ INTERACTIVE_SVG = NO
# found. If left blank, it is assumed the dot tool can be found in the path.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_PATH =
DOT_PATH =
# The DOTFILE_DIRS tag can be used to specify one or more directories that
# contain dot files that are included in the documentation (see the \dotfile
# command).
# This tag requires that the tag HAVE_DOT is set to YES.
DOTFILE_DIRS =
DOTFILE_DIRS =
# The MSCFILE_DIRS tag can be used to specify one or more directories that
# contain msc files that are included in the documentation (see the \mscfile
# command).
MSCFILE_DIRS =
MSCFILE_DIRS =
# The DIAFILE_DIRS tag can be used to specify one or more directories that
# contain dia files that are included in the documentation (see the \diafile
# command).
DIAFILE_DIRS =
DIAFILE_DIRS =
# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
# path where java can find the plantuml.jar file. If left blank, it is assumed
......@@ -2359,12 +2359,12 @@ DIAFILE_DIRS =
# generate a warning when it encounters a \startuml command in this case and
# will not generate output for the diagram.
PLANTUML_JAR_PATH =
PLANTUML_JAR_PATH =
# When using plantuml, the specified paths are searched for files specified by
# the !include statement in a plantuml block.
PLANTUML_INCLUDE_PATH =
PLANTUML_INCLUDE_PATH =
# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
# that will be shown in the graph. If the number of nodes in a graph becomes
......
# Documentation for the Adaptable Input / Output System (ADIOS) v2.0
# Documentation for the Adaptable Input / Output System (ADIOS) v2.1.0
# Generate Doxygen API
......
......@@ -38,18 +38,24 @@ public:
/**
* @brief Constructor for MPI applications WITH a XML config file
* @param configFile XML format (maybe support different formats in the
* future?)
* @param mpiComm MPI communicator from application
* @param debugMode true: extra exception checks (recommended)
* future (json)?)
* @param mpiComm MPI communicator from application, make sure is valid
* through the scope of adios2 calls
* @param debugMode true (default): extra exception checks (recommended),
* false: optional feature to turn off checks on user input data,
* recommended in stable flows
*/
ADIOS(const std::string configFile, MPI_Comm mpiComm,
const bool debugMode = true, const std::string hostLanguage = "C++");
/**
* @brief Constructor for non-MPI applications WITH a XML config file
* @brief Constructor for non-MPI applications WITH a XML config file (it
* must end with extension .xml)
* @param configFile XML format (maybe support different formats in the
* future?)
* @param debugMode true: extra exception checks (recommended)
* future (json)?)
* @param debugMode true (default): extra exception checks (recommended),
* false: optional feature to turn off checks on user input data,
* recommended in stable flows
*/
ADIOS(const std::string configFile, const bool debugMode = true,
const std::string hostLanguage = "C++");
......@@ -57,14 +63,18 @@ public:
/**
* @brief Constructor for MPI apps WITHOUT a XML config file
* @param mpiComm MPI communicator from application
* @param debugMode true: extra exception checks (recommended)
* @param debugMode true (default): extra exception checks (recommended),
* false: optional feature to turn off checks on user input data,
* recommended in stable flows
*/
ADIOS(MPI_Comm mpiComm, const bool debugMode = true,
const std::string hostLanguage = "C++");
/**
* @brief ADIOS no-MPI default empty constructor
* @param debugMode true: extra exception checks (recommended)
* @param debugMode true (default): extra exception checks (recommended),
* false: optional feature to turn off checks on user input data,
* recommended in stable flows
*/
ADIOS(const bool debugMode = true, const std::string hostLanguage = "C++");
......@@ -80,8 +90,9 @@ public:
/**
* Declares a new IO class object and returns a reference to that object.
* @param ioName must be unique
* @return reference to newly created IO object inside ADIOS, if IO is
* declared it throws an exception
* @return reference to newly created IO object inside current ADIOS object
* @exception std::invalid_argument if IO with unique name is already
* declared, in debug mode only
*/
IO &DeclareIO(const std::string name);
......@@ -90,7 +101,9 @@ public:
* Follow the C++11 STL containers at function.
* @param name of IO to look for
* @return if IO exists returns a reference to existing IO object inside
* ADIOS, otherwise throws an exception
* ADIOS
* @exception std::invalid_argument if IO was not created with DeclareIO, in
* debug mode only
*/
IO &AtIO(const std::string name);
......@@ -103,6 +116,8 @@ public:
* @param type from derived class
* @param parameters optional parameters
* @return reference to Operator object
* @exception std::invalid_argument if Operator with unique name is already
* defined, in debug mode only
*/
Operator &DefineOperator(const std::string name, const std::string type,
const Params &parameters = Params());
......@@ -111,8 +126,10 @@ public:
* Signature for passing Callback functions as operators
* @param name unique operator name
* @param function callable function
* @param parameters
* @param parameters optional key-value pairs parameters
* @return reference to Operator object
* @exception std::invalid_argument if Operator with unique name is already
* defined, in debug mode only
*/
template <class R, class... Args>
Operator &DefineOperator(const std::string name,
......
......@@ -21,8 +21,8 @@ class Attribute : public AttributeBase
{
public:
std::vector<T> m_DataArray;
T m_DataSingleValue;
std::vector<T> m_DataArray; ///< holds data for array attributes
T m_DataSingleValue; ///< holds data for single value attributes
/**
* Data array constructor
......
......@@ -46,13 +46,14 @@ public:
public:
/**
* Unique Base class constructor
* @param engineType derived class identifier
* @param io object that generates this Engine
* @param name unique engine name within IO class object
* @param openMode open mode from ADIOSTypes.h OpenMode
* @param mode open mode from ADIOSTypes.h Mode
* @param mpiComm new communicator passed at Open or from ADIOS class
*/
Engine(const std::string engineType, IO &io, const std::string &name,
const Mode openMode, MPI_Comm mpiComm);
const Mode mode, MPI_Comm mpiComm);
virtual ~Engine() = default;
......@@ -63,6 +64,14 @@ public:
IO &GetIO() noexcept;
StepStatus BeginStep();
/**
* Indicates the beginning of a step. Typically used for streaming and
* inside step loops.
* @param mode stepping mode
* @param timeoutSeconds (not yet implemented)
* @return current step status
*/
virtual StepStatus BeginStep(StepMode mode,
const float timeoutSeconds = 0.f);
......@@ -119,7 +128,7 @@ public:
* not reusable until PerformPuts
* </pre>
* @param variable input object with metadata
* @param value single value passed by value
* @param value single value passed by value, allows rvalues
*/
template <class T>
void PutSync(Variable<T> &variable, const T &value);
......@@ -178,6 +187,7 @@ public:
/** Execute all Put<Deferred,T> starting from a previous PerformPuts */
virtual void PerformPuts();
/** Execute all Get<Deferred,T> starting from a previous PerformGets */
virtual void PerformGets();
......@@ -192,7 +202,8 @@ public:
void WriteStep();
/**
* Closes a particular transport, or all if -1
* Closes a particular transport, or all if -1. This is a purely virtual
* function that all engines must implement.
* @param transportIndex order from IO AddTransport
*/
virtual void Close(const int transportIndex = -1) = 0;
......
......@@ -433,9 +433,9 @@ Engine &IO::Open(const std::string &name, const Mode mode, MPI_Comm mpiComm)
return *itEngine.first->second.get();
}
Engine &IO::Open(const std::string &name, const Mode openMode)
Engine &IO::Open(const std::string &name, const Mode mode)
{
return Open(name, openMode, m_MPIComm);
return Open(name, mode, m_MPIComm);
}
// PRIVATE
......
......@@ -69,14 +69,16 @@ public:
/** From AddTransport, parameters in map for each transport in vector */
std::vector<Params> m_TransportsParameters;
/** From Add Operator */
/** From AddOperator, contains operators added to this IO */
std::vector<OperatorInfo> m_Operators;
/**
* Constructor called from ADIOS factory class
* @brief Constructor called from ADIOS factory class DeclareIO function.
* Not to be used direclty in applications.
* @param name unique identifier for this IO object
* @param mpiComm MPI communicator from ADIOS factory class
* @param inConfigFile IO defined in config file (XML)
* @param hostLanguage current language using the adios2 library
* @param debugMode true: extra exception checks (recommended)
*/
IO(const std::string name, MPI_Comm mpiComm, const bool inConfigFile,
......@@ -85,34 +87,35 @@ public:
~IO() = default;
/**
* Sets the engine type for this IO class object
* @param engine
* @brief Sets the engine type for this IO class object
* @param engine predefined engine type, default is bpfile
*/
void SetEngine(const std::string engine) noexcept;
/** Set the IO mode (collective or independent)
/**
* @brief Set the IO mode (collective or independent), not yet implemented
* @param IO mode */
void SetIOMode(const IOMode mode);
/**
* Version that passes a map to fill out parameters
* @brief Version that passes a map to fill out parameters
* initializer list = { "param1", "value1" }, {"param2", "value2"},
* @param params adios::Params std::map<std::string, std::string>
*/
void SetParameters(const Params &parameters = Params()) noexcept;
/**
* Sets a single parameter overwriting value if key exists;
* @brief Sets a single parameter overwriting value if key exists;
* @param key parameter key
* @param value parameter value
*/
void SetParameter(const std::string key, const std::string value) noexcept;
/** Retrieve current parameters map */
/** @brief Retrieve current parameters map */
Params &GetParameters() noexcept;
/**
* Adds a transport and its parameters for the IO Engine
* @brief Adds a transport and its parameters for the IO Engine
* @param type must be a supported transport type
* @param params acceptable parameters for a particular transport
* @return transportIndex handler
......@@ -121,9 +124,10 @@ public:
const Params &parameters = Params());
/**
* Set a single parameter to an existing transport identified with a
* transportIndex handler from AddTransport. This function overwrites
* existing parameter.
* @brief Sets a single parameter to an existing transport identified with a
* transportIndex handler from AddTransport.
* This function overwrites
* existing parameter with the same key.
* @param transportIndex index handler from AddTransport
* @param key parameter key
* @param value parameter value
......@@ -132,7 +136,7 @@ public:
const std::string key, const std::string value);
/**
* Define a Variable of primitive data type for I/O.
* @brief Define a Variable of primitive data type for current IO.
* Default (name only) is a local single value,
* in order to be compatible with ADIOS1.
* @param name variable name, must be unique within Method
......@@ -142,6 +146,8 @@ public:
* @param constantShape true if dimensions, offsets and local sizes don't
* change over time
* @return reference to Variable object
* @exception std::invalid_argument if Variable with unique name is already
* defined, in debug mode only
*/
template <class T>
Variable<T> &
......@@ -150,73 +156,90 @@ public:
const bool constantDims = false, T *data = nullptr);
/**
* Define attribute from contiguous data array owned by an application
* @brief Define attribute from contiguous data array owned by an
* application
* @param name must be unique for the IO object
* @param array pointer to user data
* @param elements number of data elements
* @return reference to internal Attribute
* @exception std::invalid_argument if Attribute with unique name is already
* defined, in debug mode only
*/
template <class T>
Attribute<T> &DefineAttribute(const std::string &name, const T *array,
const size_t elements);
/**
* Define attribute from a single variable making a copy
* @brief Define attribute from a single variable making a copy
* @param name must be unique for the IO object
* @param value single data value
* @return reference to internal Attribute
* @exception std::invalid_argument if Attribute with unique name is already
* defined, in debug mode only
*/
template <class T>
Attribute<T> &DefineAttribute(const std::string &name, const T &value);
/**
* Removes an existing Variable
* @brief Removes an existing Variable in current IO object.
* Dangerous function since references and
* pointers can be dangling after this call.
* @param name unique identifier input
* @return true: found and removed variable, false: not found, nothing to
* remove
*/
bool RemoveVariable(const std::string &name) noexcept;
/** Removes all existing variables in current IO object */
/**
* @brief Removes all existing variables in current IO object.
* Dangerous function since references and
* pointers can be dangling after this call.
*/
void RemoveAllVariables() noexcept;
/**
* Removes an existing Attribute. Dangerous function since references and
* @brief Removes an existing Attribute in current IO object.
* Dangerous function since references and
* pointers can be dangling after this call.
* @param name unique identifier input
* @return true: found and removed attribute, false: not found, nothing to
* remove
*/
*/
bool RemoveAttribute(const std::string &name) noexcept;
/** Removes all existing attributes in current IO object. Dangerous function
* since references and pointers can be dangling after this call. */
/**
* @brief Removes all existing attributes in current IO object.
* Dangerous function since references and
* pointers can be dangling after this call.
*/
void RemoveAllAttributes() noexcept;
/**
* Map with variables info: key: name, value: type
* @return populate map with current variables
* @brief Retrieve map with variables info. Use when reading.
* @return map with current variables and info
* keys: Type, Min, Max, Value, AvailableStepsStart,
* AvailableStepsCount, Shape, Start, Count, SingleValue
*/
std::map<std::string, Params> GetAvailableVariables() noexcept;
/**
* Gets an existing variable of primitive type by name
* @brief Gets an existing variable of primitive type by name
* @param name of variable to be retrieved
* @return reference to an existing variable created with DefineVariable
* throws an exception if Variable is not found
* @return pointer to an existing variable in current IO, nullptr if not
* found
*/
template <class T>
Variable<T> *InquireVariable(const std::string &name) noexcept;
/**
* Returns the type of an existing variable as an string
* @brief Returns the type of an existing variable as an string
* @param name input variable name
* @return type
* @return type primitive type
*/
std::string InquireVariableType(const std::string &name) const noexcept;
/**
* Retrieves hash holding variable identifiers
* Retrieves hash holding internal variable identifiers
* @return
* <pre>
* key: unique variable name,
......@@ -227,7 +250,7 @@ public:
const DataMap &GetVariablesDataMap() const noexcept;
/**
* Retrieves hash holding Attributes identifiers
* Retrieves hash holding internal Attributes identifiers
* @return
* <pre>
* key: unique attribute name,
......@@ -240,24 +263,27 @@ public:
/**
* Gets an existing attribute of primitive type by name
* @param name of attribute to be retrieved
* @return nullptr if not found, else pointer reference to exising attribute
* @return pointer to an existing attribute in current IO, nullptr if not
* found
*/
template <class T>
Attribute<T> *InquireAttribute(const std::string &name) noexcept;
/**
* Map with variables info: key: name, value: type
* @return populate map with current variables
* @brief Retrieve map with attributes info. Use when reading.
* @return map with current attributes and info
* keys: Type, Elements, Value
*/
std::map<std::string, Params> GetAvailableAttributes() noexcept;
/**
* Check existence in config file passed to ADIOS class
* @return true: defined in config file
* @brief Check existence in config file passed to ADIOS class constructor
* @return true: defined in config file, false: not found in config file
*/
bool InConfigFile() const noexcept;
/** Sets declared to true if IO exists in code created with ADIOS DeclareIO
/**
* Sets declared to true if IO exists in code created with ADIOS DeclareIO
*/
void SetDeclared() noexcept;
......@@ -271,35 +297,47 @@ public:
* Adds an operator defined by the ADIOS class. Could be a variable set
* transform, callback function, etc.
* @param adiosOperator operator created by the ADIOS class
* @param parameters specific parameters for IO
* @param parameters specific parameters for current IO
*/
void AddOperator(Operator &adiosOperator,
const Params &parameters = Params()) noexcept;
/**
* Creates a polymorphic object that derives the Engine class,
* @brief Creates a polymorphic object that derives the Engine class,
* based on the SetEngine function or config file input
* @param name unique engine identifier within IO object
* (file name in case of File transports)
* @param openMode write, read, append from ADIOSTypes.h OpenMode
* (e.g. file name in case of Files)
* @param mode write, read, append from ADIOSTypes.h Mode
* @param mpiComm assigns a new communicator to the Engine
* @return a smart pointer to a derived object of the Engine class
* @return a reference to a derived object of the Engine class
* @exception std::invalid_argument if Engine with unique name is already
* created with another Open, in debug mode only
*/
Engine &Open(const std::string &name, const Mode openMode,
MPI_Comm mpiComm);
Engine &Open(const std::string &name, const Mode mode, MPI_Comm mpiComm);
/**
* Overloaded version that reuses the MPI_Comm object passed
* from the ADIOS class to the IO class
* @param name unique engine identifier within IO object
* (file name in case of File transports)
* @param openMode write, read, append from ADIOSTypes.h OpenMode
* @return a smart pointer to a derived object of the Engine class
* @param mode write, read, append from ADIOSTypes.h OpenMode
* @return a reference to a derived object of the Engine class
* @exception std::invalid_argument if Engine with unique name is already
* created with another Open, in debug mode only
*/
Engine &Open(const std::string &name, const Mode openMode);
Engine &Open(const std::string &name, const Mode mode);
// READ FUNCTIONS:
// READ FUNCTIONS, not yet implemented:
/**
* not yet implented
* @param pattern
*/
void SetReadMultiplexPattern(const ReadMultiplexPattern pattern);
/**
* not yet implemented
* @param mode
*/
void SetStreamOpenMode(const StreamOpenMode mode);
private:
......
......@@ -42,8 +42,10 @@ public:
~Variable<T>() = default;
/** Gets current data pointer for this Variable object */
T *GetData() const noexcept;
/** Sets current data pointer for this Variable object */
void SetData(const T *) noexcept;
private:
......
......@@ -134,7 +134,7 @@ public:
size_t GetAvailableStepsCount() const;
/**
* Pushed a new transform to a sequence of transports
* Pushed a new transform to a sequence of transports. Not yet implemented.
* @param transform reference to an object derived from the Transform class
* @param parameters transform specific parameters
* @return transformID handler
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment