HDF Product Designer (HPD) helps data producers design conventional HDF5 products easily and generate consistently interoperable data products by utilizing best practices and standards if they exist in their data user communities. Conventions are defined using the powerful CLIPS expert system and designs can be re-used across product suites.
Key goals this application strives to fulfill:
The Hierarchical Data Format (HDF5) 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.
What is a HDF5 product in the context of this software? HDF5 product is the content that should exist in a single HDF5 file. This content is defined by the HDF5 objects (groups, attributes, datasets), their names, the hierarchies they create (links and references), and attribute values. Dataset values are typically not stored in such files (unless they qualify as metadata) thus this software cannot be used as a data server. Once completed, a HDF5 product is replicated in many files (commonly on the order of tens of thousands or more) and filled with real data.
The latest version 1.5.0 of the HDF Product Designer was released on Sep 30, 2016. Here are a few highlights of 1.5.0:
The Windows platform binaries require Microsoft Visual C++ 2008 Redistributable Package (x86) if your system doesn't already have one.