program H5PartTest implicit none include 'mpif.h' include 'H5PartF.h' integer :: comm, rank, ierr integer*8 :: file_id, status, npoints, i real*8, allocatable :: particles(:) integer*8, allocatable :: id(:) real*8 :: r8val integer*8 :: i8val comm = MPI_COMM_WORLD call mpi_init(ierr) call mpi_comm_rank(comm, rank, ierr) ! open the a file for parallel writing file_id = h5pt_set_verbosity_level(5) file_id = h5pt_openw_par('test.h5', comm) ! in the Fortran API, time steps start at 1 status = h5pt_setstep(file_id, 1_8) ! write an attribute to the file status = h5pt_writefileattrib_string(file_id, 'desc', 'This is a test.') r8val = 0.5 i8val = 1 status = h5pt_writefileattrib_r8(file_id, 'double', r8val, i8val) ! create fake data npoints = 99 allocate(particles(npoints), id(npoints)) do i=1,npoints particles(i) = real(i+npoints*rank) id(i) = i+npoints*rank enddo ! set the size of the 1D array status = h5pt_setnpoints(file_id, npoints) ! write the particles status = h5pt_writedata_r8(file_id, "x", particles) ! write the ids status = h5pt_writedata_i8(file_id, "id", id) ! close the file status = h5pt_close(file_id) deallocate(particles, id) call mpi_finalize(ierr) end program H5PartTest