Hi all,

Below is an excerpt from the HDF5 Fortran API example named
h5ex_t_cmpd_F03.f90
(http://www.hdfgroup.org/ftp/HDF5/examples/examples-by-api/hdf5-examples/1_8/FORTRAN/H5T/h5ex_t_cmpd_F03.f90).

After data were initialized, h5tcreate_f is called with H5OFFSETOF. If
wdata has more than one dimension, c_loc with H5OFFSETOF is enough to
create the compund datatype. My question is, assuming that wdata has
only one dimension, i.e. wdata(1), how should I formulate the second
c_loc command in H5OFFSETOF?

here is the excerpt:

   ! Initialize data.

  !
  wdata(1)%serial_no = 1153
  wdata(1)%location = "Exterior (static)"
  wdata(1)%temperature = 53.23_real_kind_15
  wdata(1)%pressure = 24.57_real_kind_15
  wdata(2)%serial_no = 1184
  wdata(2)%location = "Intake"
  wdata(2)%temperature = 55.12_real_kind_15
  wdata(2)%pressure = 22.95_real_kind_15
  wdata(3)%serial_no = 1027
  wdata(3)%location = "Intake manifold"
  wdata(3)%temperature = 103.55_real_kind_15
  wdata(3)%pressure = 31.23_real_kind_15
  wdata(4)%serial_no = 1313
  wdata(4)%location = "Exhaust manifold"
  wdata(4)%temperature = 1252.89_real_kind_15
  wdata(4)%pressure = 84.11_real_kind_15
  !
  ! Create a new file using the default properties.
  !
  CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file, hdferr)
  !
  ! Create the compound datatype for memory.
  !
  CALL h5tcreate_f(H5T_COMPOUND_F, H5OFFSETOF(C_LOC(wdata(1)),
C_LOC(wdata(2))), memtype, hdferr)


Thank you in advance.

Regards,

Ekin
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

Reply via email to