Use HDF5 attributes and store pickled source
Use attributes and pickle source for PSV