Fortran example showing the very basic usage of SIONlib using MPI and Fortran.
More examples can be found in 'examples' folder of the SIONlib installation.
9 integer :: ierr, my_rank, nranks, fsblksize, sid
10 integer*8 :: chuncksize, bwrite, bwrote
11 character(250) :: filename, nfilename
13 integer :: lComm, gComm
15 double precision,
dimension(2048)::data
19 call mpi_comm_size(mpi_comm_world, nranks, ierr)
20 call mpi_comm_rank(mpi_comm_world, my_rank, ierr)
22 write(*,*)
"mpi config: ", nranks, my_rank
24 filename =
"parfile_fortran.sion"
26 chuncksize = 2048 * 8_8
31 lcomm = mpi_comm_world
32 gcomm = mpi_comm_world
34 call fsion_paropen_mpi(trim(filename),
"bw", 1, gcomm, lcomm, chuncksize,&
35 & fsblksize, my_rank, nfilename, sid)
38 call fsion_write(
data(1), 1_8, bwrite, sid, bwrote)
40 write(*,*)
"sionlib bwrote: ", bwrote
43 call fsion_parclose_mpi(sid, ierr)
45 call mpi_finalize(ierr)