Reading a derived data type


#1

I’ve been trying to read a derived (or compound) data type using Fortran. h5dump gives:
DATATYPE H5T_COMPOUND {
H5T_STRING {
STRSIZE 80;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
} “name”;
H5T_STD_I32LE “value”;
}

As I understand it I need to call h5tcreate_f to create the datatype. It’s not clear to me exactly what other calls are necessary. Based on the example h5ex_t_cmpd_F03.f90 (which, by the way compiles and works just fine for me) it looks like I need a call to h5dget_space_f and also to h5get_simple_extent_dims_f. I’ve tried that, following the example fairly closely but keep getting segmentation faults because of invalid memory references. I could give more details of exactly what I’m doing, but I’d appreciate any guidance on what I need at minimum to read this data.

Thanks,
Jon