[Paraview] Fortran wrapper of HDF5

Biddiscombe, John A. biddisco at cscs.ch
Wed Mar 13 10:43:26 EDT 2013


"How do I write the h5 file data in exactly the same way as it was written in original binary file written by Fortran?"

It is writing the file the same, the problem is that fortran stores arrays in column major, and C in row major order. You state "it automatically transposes the matrix" - not true - it transposes the dimensions so that the data is still stored the same, but when you write array[z,y,x] from fortran, you want to read it as array[x,y,z] from C. The actual data on disk is the same as your binary fortran data, but the dimensions are reversed compared to the same data from C.

Does that help? - the short answer is just swap the order of the dimensions in your read function in the C version and then things should appear the same. (but you must declare your arrays with the dimensions flipped).

If you want to actually transpose the data, then I'm sure google will provide a code snippet

I hope I'm not remembering this wrong.

JB




From: paraview-bounces at paraview.org [mailto:paraview-bounces at paraview.org] On Behalf Of Pradeep Jha
Sent: 13 March 2013 10:58
To: paraview at paraview.org
Subject: [Paraview] Fortran wrapper of HDF5

I recently noticed that when I am using the fortran wrapper of HDF5 to convert a binary file written by fortran into the "h5" format, it automatically transposes the matrix. Apparently, this is because HDF5 uses the C convention for writing binary files, as explained in section: 7.3.2.5. of this page.<http://www.hdfgroup.org/HDF5/doc/UG/UG_frame12Dataspaces.html>

Is anyone aware of this situation? And any solutions for this problem? How do I write the h5 file data in exactly the same way as it was written in original binary file written by Fortran?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130313/48f1822e/attachment.htm>


More information about the ParaView mailing list