[Carpet] Lower-dimensional HDF5 output?

Thomas Radke tradke at aei.mpg.de
Wed Aug 30 19:07:42 CEST 2006


Let me ask a few questions here which, I admit, are driven by the fear 
that a big pile of work is about to land on my desk :-/

Erik Schnetter wrote:
> We are currently using ASCII output for 0D and 1D output of grid  
> functions.  This has several disadvantages: There is much overhead,  

Is there really ?

> there are too many files, 

Which can be reduced by setting {IOScalar,IOASCII}::one_file_per_group 
to 'yes'

> output happens on a single processor only,  

Again, how much does this overhead contribute to the total simulation time ?

> and the output is currently chunked.

True. Is this a problem for postprocessing ?

> One way out would be to implement lower-dimensional HDF5 output.  I  
> imagine the same possibilities as for ASCII output, as in
> 
> IOHDF5::out1D_every = 16
> IOHDF5::out1D_vars = "..."
> IOHDF5::out1D_x = yes
> IOHDF5::out1D_x = no
> 
> After recovering, it would be much easier to eliminate overlapping  
> datasets.

Yes, HDF5 output solves that problem of overlapping timesteps 
internally. But there are these scripts mergeCarpetIOASCII.pl and 
mergeCarpetIOScalar.pl available now which do the same, however, as a 
postprocessing utility only.

> In addition, we could implement IOHDF5::one_file_per_group, which  would 
> reduce the number of output files.

Already there for CarpetIOScalar and CarpetIOASCII.

> There would be post-processing tools to create unchunked ASCII files  
> from these HDF5 files.
> 
> Is there interest for such a feature?  Or would people prefer  
> incremental improvements to ASCII output?

I believe the real benefits of Carpet HDF5 output could be exploited 
when such data files are analysed/postprocessed/visualised directly. So 
far I see many Cactus users not doing this and use standard ASCII-based 
tools instead. As soon as some format conversion, extraction, 
recombination etc. is involved, the question (to me) becomes: what's 
more efficient, implement these features in CarpetIOHDF5 or as 
stand-alone postprocessing utility programs/scripts. So far I found the 
latter to be quicker.

Don't get me wrong, I'm the last who will advocate against using HDF5. 
It's the non-HDF5 parts, eg. (to answer Bela's question) allowing HDF5 
output files being used and compared in testsuites, which may cause 
quite some extra coding work.

-- 
Cheers, Thomas.



More information about the developers mailing list