Hello, can someone please clarify my doubt please? I would really appreciate it.
Thanks, Pradeep 2013/2/28 Pradeep Jha <[email protected]> > Thanks for the response. So from what I understand, the HD5 fortran > wrapper automatically transposes the matrix to store it in the C storage > conventions. So puttings "dims(1) = Nx" and "dims(3) = Nz" is correct. HDF5 > fortran wrapper is just transposing the data inside the program before > storing it in the final h5 format. > > But this is confusing me about something. > > I convert my original unformatted data written by fortran to h5 format so > that I can visualize the original data using a software (Paraview). Does > that mean that the data I will visualize using Paraview and the h5 data > file will be a transposed data of what I originally intended to visualize? > > And if that is true, are there any simple ways to make sure that the HDF5 > stores untransposed data? Will I need to pass a transposed data to HDF5 > fortran wrapper to ensure this? > > Thank you again for the response, > Pradeep > > > > > 2013/2/28 <[email protected]> > > The HDF5 file uses C storage conventions, which is why the matrix is >> transposed. >> >> See >> http://www.hdfgroup.org/HDF5/**doc/UG/UG_frame12Dataspaces.**html<http://www.hdfgroup.org/HDF5/doc/UG/UG_frame12Dataspaces.html> >> >> section: 7.3.2.5. C versus Fortran Dataspaces >> >> >> >> >> On 2013-02-27 06:32, Pradeep Jha wrote: >> >>> Hello, >>> >>> I am trying to convert a unformatted data file created by fortran >>> into the *h5 format. To do this I am using this program [1] provided >>> >>> on the website as the base. >>> >>> I am dealing with a data of size Nx by Ny by Nz. So I changed the >>> "dims" declaration in the code to something like >>> >>> ------------------------------**------------- >>> >>> **** code **** >>> >>> INTEGER :: Nx, Ny, Nz >>> >>> INTEGER(HSIZE_T), DIMENSION(3) :: dims >>> >>> **** code **** >>> >>> dims(1) = Nx >>> >>> dims(2) = Ny >>> >>> dims(3) = Nz >>> >>> **** code **** >>> >>> ------------------------------**-------------- >>> >>> This code is working perfectly fine. But when I am doing a "h5dump >>> -H" on the output file, the output is: >>> >>> HDF5 "output_file" { >>> GROUP "/" { >>> DATASET "variable" { >>> DATATYPE H5T_IEEE_F32LE >>> DATASPACE SIMPLE { ( Nz,Ny,Nx ) / ( Nz,Ny,Nx) } >>> } >>> } >>> } >>> >>> Can you please explain is this how the order of Nz,Ny and Nx should >>> be? Does this represent a cube of size Nx by Ny by Nz? Or does dims(1) >>> actually represent the z dimension and I should assign it the value >>> Nz? >>> >>> Thank you, >>> Pradeep >>> >>> >>> >>> Links: >>> ------ >>> [1] http://www.hdfgroup.org/ftp/**HDF5/examples/introductory/** >>> F90/h5_rdwt.f90<http://www.hdfgroup.org/ftp/HDF5/examples/introductory/F90/h5_rdwt.f90> >>> >>> ______________________________**_________________ >>> Hdf-forum is for HDF software users discussion. >>> [email protected] >>> http://mail.hdfgroup.org/**mailman/listinfo/hdf-forum_**hdfgroup.org<http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org> >>> >> >> ______________________________**_________________ >> Hdf-forum is for HDF software users discussion. >> [email protected] >> http://mail.hdfgroup.org/**mailman/listinfo/hdf-forum_**hdfgroup.org<http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org> >> > >
_______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
