Hello Ian, all,
I wasn't really aware of the new-style 3D output method. Does this method allow for parallel output (i.e. one file per process)? If not, then I worry that it might be quite slow.
It does by respecting IOUtil::out_mode and IOUtils::out_proc_every. Note though that the output files have different names: they contain a .xyz. fragment the same way that 3d ASCII data does. By default the IOUtil parameters are such that one output file per processor is created (ie. the old behaviour). 1d and 2d HDF5 output ignores the IOUtil parameters to remain backwards compatible (and because it does not make much sense to spread a couple 100 kB of output data across all processors). You could even set it up so that it writes only on say 8 out of 512 MPI processes possibly not overwhelming the cluster's IO subsystem and making us much more well liked by the admins :-) It might even be faster since the number of file open/file close calls goes down (which seem to be slow on lustre file systems).
Yours, Roland