Hello, please help me regarding this question.
Thank you, Pradeep 2013/2/28 Pradeep Jha <[email protected]> > Hello, > > I have a fortran file of size Nx*Ny*Nz which can contain either single or > double precision data. I store the data type information in a variable > called "sizeofreal" (which can either have the value 4 or 8). > > After reading this page<http://www.hdfgroup.org/HDF5/Tutor/datatypes.html>, > I wrote a fortran file for creating h5 files, so that it can automatically > write the final h5 file with the correct Datatype. Here is a gist of the > code I wrote: > > ---------------------------------------------------------- > ********** code for initialization *************** > ! Read the input data. > open > (in_file_id,FILE=in_file,form='unformatted',access='direct',recl=sizeofreal*nx*ny*nz) > read (in_file_id,rec=1) buff > > ! Initialize FORTRAN interface of HDF5. > CALL h5open_f(error) > > ! Create a new file. > CALL h5fcreate_f (out_file, H5F_ACC_TRUNC_F, out_file_id, error) > > ! Create the dataspace. > CALL h5screate_simple_f(rank, dims, dspace_id, error) > > if (sizeofreal.eq.8) then > > ! Create the dataset with default properties. > CALL h5dcreate_f(out_file_id, dsetname, H5T_NATIVE_DOUBLE, > dspace_id, & > dset_id, error) > > ! Write the dataset. > CALL h5dwrite_f(dset_id, H5T_NATIVE_DOUBLE, buff, dims, error) > > else > > ! Create the dataset with default properties. > CALL h5dcreate_f(out_file_id, dsetname, H5T_NATIVE_REAL, > dspace_id, & > dset_id, error) > > ! Write the dataset. > CALL h5dwrite_f(dset_id, H5T_NATIVE_REAL, buff, dims, error) > > end if > > ********** code for termination *************** > -------------------------------------------------------------------------- > > This is not working for double-precision data. For single precision data > it works fine. If I remove the "if" statement in between, then no matter if > I have double or single precision data in my original data file, when I do > the "h5dump -H" on the final h5 file, the final Datatype is always DATATYPE > H5T_IEEE_F32LE. This cannot be correct. > > Please help me in this regard, > Thank you, > Pradeep >
_______________________________________________ Hdf-forum is for HDF software users discussion. [email protected] http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org
