Hi Ed,
On Jan 8, 2008, at 9:39 AM, Ed Hartnett wrote:
Charlie Zender <zender@xxxxxxx> writes:
Hi and happy new year to the netCDF group,
Will netCDF4 make bit-for-bit (BFB) reproducible files?
In other words will running a determinstic model twice on the same
machine (without changing compiler, netCDF library, etc.) produce
identical output files?
I thought that netCDF4 would, like netCDF3, use deterministic
algorithms without any date-stamps within the file, and thus produce
BFB files. Apparently I am wrong.
To determine whether files were BFB I checked their SHA1 sums.
netCDF3 produces BFB files and netCDF4 (snapshot) does not (below).
BFB output files make models easier to debug, so it would be helpful
if netCDF4 continued the netCDF3 BFB "tradition". Is this possible?
Am I missing something? Is HDF5 the culprit?
Thanks,
Charlie
Howdy Charlie!
I is my understanding that HDF5 does not guarantee the bit-or-bit
reproducibility of their files. I have forwarded this to them to
confirm this...
If you turn off the create/modify/access time tracking for objects
created (with the H5Pset_obj_track_times() routine), everything should
be bit-for-bit reproducible. Coincidentally, it makes accessing those
objects faster and the size of their metadata smaller also. You do
lose the ability to know when the object was created/modified/accessed.
Quincey
I'm afraid there is nothing I can do at the netCDF-4 level to change
that.
Thanks,
Ed
--
Ed Hartnett -- ed@xxxxxxxxxxxxxxxx