Starlink User Note 92.14
18th September 2019
Copyright © 2019 East Asian Observatory
Hierarchical Data System
HDS is a library of functions used for accessing file-based hierarchical data and supports the storage of a wide variety of information. It is particularly suited to the storage of large multi-dimensional arrays (with their ancillary data) where efficient access is needed.
Historically the HDS library used a unique format for disk-file storage developed by the UK Starlink project in the 1980’s. However it now supports both this historical Starlink format and also the popular HDF5 format.
HDS organises data into hierarchies, broadly similar to the directory structure of a hierarchical filing system, but contained within a single HDS container file. The structures stored in these files are self-describing and flexible; HDS supports modification and extension of structures previously created, as well as deletion, copying, renaming, etc.
All information stored in HDS files is portable between the machines on which HDS is implemented. Thus, there are no format conversion problems when moving between machines.
The routines described in this document may be used to perform operations on any HDS data. In addition, HDS forms a toolkit for the construction of higher level (more specialised) data structures and the software which accesses them. HDS routines are therefore invoked indirectly by many other items of Starlink software.