HDF5 API Specification

HDF5 documents and links Introduction to HDF5 HDF5 User’s Guide | In the HDF5 Reference Manual H5DS H5IM H5LT H5PT H5TB Optimized H5 H5A H5D H5E H5F H5G H5I H5L H5O H5P H5PL H5R H5S H5T H5Z Tools Datatypes Fortran Compatibility Macros Collective Calls in Parallel

# HDF5: API Specification
Reference Manual

The HDF5 library provides several interfaces, each of which provides the tools required to meet specific aspects of the HDF5 data-handling requirements.

### High-level HDF5 APIs The HDF5 Library includes several sets of convenience and standard-use APIs. The HDF5 Lite APIs are convenience functions designed to facilitate common HDF5 operations. The HDF5 Image, HDF5 Table and HDF5 Packet Table APIs implement standardized approaches to common use cases with the intention of improving interoperability.
| Lite |  | The H5LT API general higher-level functions
| Image |  | The H5IM API for images
| Table |  | The H5TB API for manipulating table datasets
| Packet Table |  | The H5PT API for managing packet tables (and the C++ H5PT wrappers)
| Dimension Scales |  | The H5DS API for managing dimension scales
| Optimized Functions |  | Specialized HDF5 performance-optimized functions, generally requiring careful setup and testing
| Extensions |  | High-level HDF5 functions for working with region references, simple hyperslabs, and bitfields.
### Main HDF5 Library, or Low-level APIs The main HDF5 Library includes all of the low-level APIs, providing user applications with fine-grain control of HDF5 functionality.
| Library Functions |  | The general-purpose H5 functions.
| Attribute Interface |  | The H5A API for attributes.
| Dataset Interface |  | The H5D API for manipulating scientific datasets.
| Error Interface |  | The H5E API for error handling.
| File Interface |  | The H5F API for accessing HDF5 files.
| Group Interface |  | The H5G API for creating physical groups of objects on disk.
| Identifier Interface |  | The H5I API for working with object identifiers.
| Link Interface |  | The H5L API for working with links.
| Object Interface |  | The H5O API for manipulating objects and reference counts.
| Property List Interface |  | The H5P API for manipulating object property lists.
| Plugin Interface |  | The H5PL API for dynamically loaded plugins.
| Reference Interface |  | The H5R API for references.
| Dataspace Interface |  | The H5S API for defining dataset dataspace.
| Datatype Interface |  | The H5T API for defining dataset element information.
| Filters and Compression Interface |  | The H5Z API for inline data filters and data compression.
| Tools |  | Interactive tools for the examination of existing HDF5 files.
| Predefined Datatypes |  | Predefined datatypes in HDF5.
| HDF5 Fortran Flags, Helper Functions, Datatypes, User Notes |  | Flags and datatypes used in the HDF5 Fortran interface. User notes for the HDF5 Fortran interface.
| API Compatibility Macros |  | API compatibility macros provided in HDF5.
| Collective Calling Requirements |  | Requirements for collective function calls and coordinated use of properties in parallel HDF5 applications.

### The Fortran and C++ APIs to HDF5

The HDF5 Library distribution includes Fortran and C++ APIs, which are described in the following documents.

Fortran API Fortran APIs in the HDF5 Reference Manual: The HDF5 Reference Manual includes descriptions of the HDF5 Fortran APIs. Fortran subroutines exist in the H5, H5A, H5D, H5E, H5F, H5G, H5I, H5P, H5R, H5S, H5T, and H5Z interfaces and are described on those pages. In general, each Fortran subroutine performs exactly the same task as the corresponding C function, with which it is described.

See HDF5 Fortran Interface for a complete description of the HDF5 Fortran environments, including lists of datatypes and flags, Fortran utility functions, user notes, and new features made possible by leveraging the Fortran 2003 standard.

C++ API HDF5 C++ Reference Manual provides a complete reference for the HDF5 C++ interface.

HDF5 documents and links Introduction to HDF5 HDF5 User’s Guide | In the HDF5 Reference Manual H5DS H5IM H5LT H5PT H5TB Optimized H5 H5A H5D H5E H5F H5G H5I H5L H5O H5P H5PL H5R H5S H5T H5Z Tools Datatypes Fortran Compatibility Macros Collective Calls in Parallel