Reads hdf5 files according to OPERA conventions

Please refer to the OPERA data model documentation [OPERA-data-model] in order to understand how an hdf5 file is organized that conforms to the OPERA ODIM_H5 conventions.

In contrast to other file readers under wradlib.io, this function will not return a two item tuple with (data, metadata). Instead, this function returns ONE dictionary that contains all the file contents - both data and metadata. The keys of the output dictionary conform to the Group/Subgroup directory branches of the original file. If the end member of a branch (or path) is “data”, then the corresponding item of output dictionary is a numpy array with actual data.

Any other end member (either how, where, and what) will contain the meta information applying to the corresponding level of the file hierarchy.

Parameters:fname (string) – a hdf5 file path
Returns:output (dict) – a dictionary that contains both data and metadata according to the original hdf5 file structure