The Hierarchical Data Format (HDF5, http://hdfgroup.org) provides a flexible container that supports groups and datasets, each of which can have attributes. In many ways, HDF5 is similar to a directory structure in a file and, like directory structures, the same data can be structured and annotated in many ways. This flexibility empowers HDF5 users to arrange data in ways that make sense to them. However, it can make it difficult to share data as users, and tools, must understand the structure and the properties of data in order to use and understand it.
Many communities have successfully addressed this problem by creating conventional structures and annotations for data in HDF5. This approach depends on data files (e.g. products) that carefully follow these conventions. In some cases, designing and writing those files can be challenging or the user creating the product may be driven by local needs that lead to deviations from the conventions. Unfortunately, even small deviations can cause problems for downstream tools and future users.
HDF5 Product Designer (HPD) helps users design conventional HDF5 product easily and produce consistently interoperable data products. Conventions are defined using a powerful expert system (http://clipsrules.sourceforge.net) and designs can be re-used across product suites.