263 character(len=1024),
intent(in) :: inpfile
264 real(dp),
allocatable,
intent(inout) :: arr(:)
265 character(len=*),
intent(in) :: dsetname
268 integer(hid_t) :: file_id,dset_id
269 integer :: rank,error
270 integer(hid_t) :: dataspace_id
271 integer(hsize_t),
allocatable :: data_dims(:),maxdims(:)
277 CALL h5fopen_f(trim(inpfile), h5f_acc_rdonly_f, file_id, error)
280 write(*,*)
"Error opening file from hdf5. " 281 write(*,*)
"filename: ",trim(inpfile)
286 call h5dopen_f(file_id, trim(dsetname), dset_id, error)
289 write(*,*)
"Error opening file from hdf5. " 290 write(*,*)
"err dsetname: ",trim(dsetname)
294 call h5dget_space_f(dset_id, dataspace_id, error)
296 call h5sget_simple_extent_ndims_f(dataspace_id, rank, error)
297 allocate(data_dims(rank),maxdims(rank))
299 call h5sget_simple_extent_dims_f(dataspace_id, data_dims, maxdims, error)
303 allocate(arr(data_dims(1)))
304 print*,
"Reading ",trim(dsetname),
" with shape ", data_dims
306 CALL h5dread_f(dset_id, h5t_ieee_f64le, arr, data_dims, error)
308 CALL h5dclose_f(dset_id, error)
312 CALL h5fclose_f(file_id, error)
314 CALL h5close_f(error)