It doesn't look like h5diff does the right thing with NaNs.
A NaN should never be equal to itself, yet h5diff happily says they are equal. I tried using --nan, which I know is supposed to turn *off* NaN detection, just in case it was backwards.
h5diff: Version 1.8.10
QASNOW:~>h5dump test.h5 | grep nan | head -2
(18,345,0,0): 1.35366e+06, nan, 1.28531e-11,
(19,345,0,0): 9.00816e+06, nan, -4.65661e-10,
QASNOW:~>h5diff test.h5 test.h5
QASNOW:~>h5diff --nan test.h5 test.h5
This is on OS X, but the behavior is the same on my Linux machine.
For now we can do the h5dump | grep nan, as I did above to ensure our programs are not dumping NaNs.