same examples renamed
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
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(:)
|
||||
|
||||
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_openw_par('test.h5', comm)
|
||||
|
||||
! in the Fortran API, 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.')
|
||||
|
||||
! create fake data
|
||||
npoints = 99
|
||||
allocate(particles(6*npoints), id(npoints))
|
||||
do i=0,npoints-1
|
||||
particles(6*i+1) = 0.0 + real(i+npoints*rank)
|
||||
particles(6*i+2) = 0.1 + real(i+npoints*rank)
|
||||
particles(6*i+3) = 0.2 + real(i+npoints*rank)
|
||||
particles(6*i+4) = 0.3 + real(i+npoints*rank)
|
||||
particles(6*i+5) = 0.4 + real(i+npoints*rank)
|
||||
particles(6*i+6) = 0.5 + real(i+npoints*rank)
|
||||
id(i+1) = i+npoints*rank
|
||||
enddo
|
||||
|
||||
! set the striding to 6
|
||||
status = h5pt_setnpoints_strided(file_id, npoints, 6_8)
|
||||
|
||||
! write the particles
|
||||
status = h5pt_writedata_r8(file_id, "x", particles(1))
|
||||
status = h5pt_writedata_r8(file_id, "y", particles(2))
|
||||
status = h5pt_writedata_r8(file_id, "z", particles(3))
|
||||
status = h5pt_writedata_r8(file_id, "px", particles(4))
|
||||
status = h5pt_writedata_r8(file_id, "py", particles(5))
|
||||
status = h5pt_writedata_r8(file_id, "pz", particles(6))
|
||||
|
||||
! disable the striding to write the ids
|
||||
status = h5pt_setnpoints(file_id, npoints)
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user