GUI programs to view HDF5/NetCDF4 data

Related: Check HDF5 files for corruption


Here are a few options for graphically browsing and editing HDF5 data files from Linux, Mac and Windows.

HDFview

HDFview is maintained by the curators of the HDF5 format, the HDF Group. HDFView enables editing (writing) as well as reading HDF5.

  • Linux: apt install hdfview
  • Mac, Windows download

HDFview needs compiling if running from source, unlike ImageJ, which is a pure platform-independent Java program.

Ubuntu 18.04

Ubuntu 18.04 (still!) has a broken hdfview such that the program opens, but silently fails to read any HDF5/NetCDF4 files. As an alternative, I use HDF-Compass on Ubuntu 18.04.

HDF-Compass

HDF Compass is also by the HDF Group. Unlike HDFView, HDF Compass is read-only.

apt install hdf-compass

Instead of using the menus, I typically open one or more HDF5/NetCDF4 files from Terminal like:

HDFCompass f1.h5 f2.nc

ViTables

ViTables is a Python-based HDF5 viewing program.

apt install libhdf5-dev

python -m pip install pyqt5

python -m pip install vitables

Unfortunately at this time PyQT5 doesn’t have a .whl for armhf, so that means ViTables only works on non-ARM systems (laptops, desktops, NOT Raspberry Pi).

PanoplyJ

PanoplyJ is downloaded for Mac, Linux or Windows. PanoplyJ does not require compiling, just run it using Java. Linux PanoplyJ requires Java 8 or newer, and can also work with Java 9.

apt install openjdk-8-jre

Extract PanoplyJ and make executable:

unzip PanoplyJ-4*.zip -d ~

chmod +x ~/PanoplyJ/panoply.sh

Run PanoplyJ by:

~/PanoplyJ/panoply.sh

Make a command-line shortcut by adding to ~/.bash_aliases

alias panoply='$HOME/PanoplyJ/panoply.sh'

If you get PanoplyJ error

Unknown superblock version=3

You may have an older version of PanoplyJ whose NetCDF-Java library isn’t ready for HDF5 1.10. If you’re writing the HDF5 files from h5py, you can use in your Python program writing the data:

with h5py.File('myfile.h5',libver='earliest') as f:
   ....

which should write in an HDF5 1.8-compatible way.