| ▼IODA | Everything IODA goes here! |
| ▼Interfaces | Per-language interfaces are documented here |
| ▼C++ interface | Provides the C++ interface for IODA |
| ▼Examples | C++ Usage Examples |
| Ex 1: Groups and ObsSpaces | Group manipulation using the C++ interface |
| Ex 2: Attribute manipulation | Shows how to manipulate Attributes and an introduction to the type system |
| Ex 3: Introduction to Variables | Basic usage of Variables |
| Ex 4: Variables, Attributes, and Dimension Scales | Variables, Attributes, and Dimension Scales |
| Ex 5a: ObsGroups | Constructing ObsGroups |
| Ex 5b: Appending to ObsGroups | Appending to ObsGroups |
| ▼API | C++ API |
| Attributes and Has_Attributes | Ancillary data attached to variables and groups |
| ▼Engines | Public API for engines |
| HDF5 Engine | HDF5 Engine |
| ObsStore Engine | ObsStore Engine |
| ODB / ODC Engine | ODB / ODC Engine |
| Groups and Data Layout | Public API for ioda::Group, ioda::ObsGroup, and data layout policies |
| Type System | The data type system |
| Variables, Data Access, and Selections | The main data storage methods and objects in IODA |
| ▼C interface | Provides the C interface for ioda |
| ▼Examples | C Usage Examples |
| Ex 1: Groups and ObsSpaces | Group manipulation using the C interface |
| Ex 1b: Groups and ObsSpaces | Group manipulation using the C interface |
| Ex 2: Attribute manipulation | Attribute manipulation using the C interface |
| Ex 3: Introduction to Variables | Basic usage of Variables using the C interface |
| Ex 4: Variables, Attributes, and Dimension Scales | Variables, Attributes, and Dimension Scales using the C interface |
| ▼API | C API |
| Attributes | Provides the C-style interface for ioda::Attribute objects |
| C++/C binding macros | Provides the C-style bindings for ioda's templated C++ classes and functions |
| Dimensions | Provides the C-style interface for ioda::Dimensions objects |
| Engines | Provides the C-style interface for the ioda::Engines namespace |
| Groups | Provides the C-style interface for ioda::Group objects |
| ▼Has_Attributes | Provides the C-style interface for ioda::Has_Attributes objects |
| ioda_has_attributes_create | Create a new attribute |
| ▼Has_Variables | Provides the C-style interface for ioda::Has_Variables objects |
| ioda_has_variables_create | Create a new variable |
| Strings | Provides the C-style interface for variable-length strings and string arrays |
| ▼Variables | Provides the C-style interface for ioda::Variable objects |
| ioda_variable_isa | Checks a variable's type |
| ioda_variable_write_full | Write an entire variable |
| ioda_variable_read_full | Read an entire variable |
| Variable Creation Parameters | Provides the C-style interface for ioda::VariableCreationParameters |
| ▼Fortran interface | The IODA Fortran interface (WIP) |
| API | Fortran API |
| Python interface | The IODA Python interface (WIP) |
| ▼Engines | The powerhouses of IODA |
| HDF5 / HDFforHumans | History and implementation of the HH backend |
| Adding a Backend Engine (Advanced) | How are backend engines implemented? |
| ▼Internals | Details internal to IODA |
| Common Macros | Common macros that you will see peppered throughout the code. Symbol export, parameter deprecation, etc |
| ▼Engines | Details internal to IODA's engines |
| Types Across Interface Boundaries | Details internal to IODA's engines |
| HDF5 / HH Engine | Implementation of the HDF5 backend |
| ObsStore Engine | Implementation of the in-memory ObsStore backend |
| C++ / Python Bindings | Python binding helper classes, functions, and templates |
| Internal Groups and Data Layout | Private API |