I’m still working on reading a dataset created by FLASH. I found the code COMPOUNDEXAMPLE on the bitbucket site, but there are several aspects of it that are confusing to me.
It starts with creating a file (h5fcreate_f) and creating a dataspace (h5fcreate_simple_f), then creates a compound data type. To create the datatype there are calls to h5tget_size, which I understand as necessary to get the size of the compound data type. Then h5tcreate_f is used to create the data type. That much I think I understand.
Then h5tinsert_f is called to insert fields into the data type(?). Then h5dcreate_f is called to create the dataset. After that h5tcreate_f and h5tinsert_f are again called for each field in the compound data type. Why?
If I’m just wanting to read data do I need to go through all of those steps? From my experimenting, it would seem not, but I’d really like to understand why all those steps are included and whether they all are necessary.