Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_hdf5_io_parallel Module Reference

Description

Parallel version of sll_hdf5_io.

Author
Pierre Navaro, INRIA
Yaman Güçlü, IPP Garching

With HDF5 you can store several datasets in a single file.

Derived types and interfaces

type  sll_t_hdf5_par_handle
 Opaque object around HDF5 file id. More...
 
interface  sll_o_hdf5_par_write_array
 Collectively write distributed nD array into HDF5 file. More...
 
interface  sll_o_hdf5_par_read_array
 Collectively read distributed nD array from HDF5 file. More...
 

Functions/Subroutines

subroutine, public sll_s_hdf5_par_file_create (filename, comm, handle, error)
 Create new HDF5 file. More...
 
subroutine, public sll_s_hdf5_par_file_open (filename, comm, handle, error)
 Open existing HDF5 file. More...
 
subroutine, public sll_s_hdf5_par_file_close (handle, error)
 Close existing HDF5 file. More...
 
subroutine sll_hdf5_par_write_dble_array_1d (handle, global_size, offset, array, dsetname, error, chunk_dims)
 Write 1D array of double precision floats into HDF5 file. More...
 
subroutine sll_hdf5_par_write_dble_array_2d (handle, global_size, offset, array, dsetname, error, chunk_dims)
 Write 2D array of double precision floats into HDF5 file. More...
 
subroutine sll_hdf5_par_write_dble_array_3d (handle, global_size, offset, array, dsetname, error, chunk_dims)
 Write 3D array of double precision floats into HDF5 file. More...
 
subroutine sll_hdf5_par_write_dble_array_4d (handle, global_size, offset, array, dsetname, error, chunk_dims)
 Write 4D array of double precision floats into HDF5 file. More...
 
subroutine sll_hdf5_par_write_dble_array_5d (handle, global_size, offset, array, dsetname, error, chunk_dims)
 Write 5D array of double precision floats into HDF5 file. More...
 
subroutine sll_hdf5_par_write_dble_array_6d (handle, global_size, offset, array, dsetname, error, chunk_dims)
 Write 6D array of double precision floats into HDF5 file. More...
 
subroutine sll_hdf5_par_read_dble_array_1d (handle, global_size, offset, array, dsetname, error)
 Read 1D array of double precision floats from HDF5 file. More...
 
subroutine sll_hdf5_par_read_dble_array_2d (handle, global_size, offset, array, dsetname, error)
 Read 2D array of double precision floats from HDF5 file. More...
 
subroutine sll_hdf5_par_read_dble_array_3d (handle, global_size, offset, array, dsetname, error)
 Read 3D array of double precision floats from HDF5 file. More...
 
subroutine sll_hdf5_par_read_dble_array_4d (handle, global_size, offset, array, dsetname, error)
 Read 4D array of double precision floats from HDF5 file. More...
 
subroutine sll_hdf5_par_read_dble_array_5d (handle, global_size, offset, array, dsetname, error)
 Read 5D array of double precision floats from HDF5 file. More...
 
subroutine sll_hdf5_par_read_dble_array_6d (handle, global_size, offset, array, dsetname, error)
 Read 6D array of double precision floats from HDF5 file. More...
 

Function/Subroutine Documentation

◆ sll_hdf5_par_read_dble_array_1d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_read_dble_array_1d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 1D array of double precision floats from HDF5 file.

Definition at line 342 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_read_dble_array_2d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_read_dble_array_2d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 2D array of double precision floats from HDF5 file.

Definition at line 361 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_read_dble_array_3d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_read_dble_array_3d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :, :), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 3D array of double precision floats from HDF5 file.

Definition at line 380 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_read_dble_array_4d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_read_dble_array_4d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :, :, :), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 4D array of double precision floats from HDF5 file.

Definition at line 399 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_read_dble_array_5d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_read_dble_array_5d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :, :, :, :), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 5D array of double precision floats from HDF5 file.

Definition at line 418 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_read_dble_array_6d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_read_dble_array_6d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :, :, :, :, :), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 6D array of double precision floats from HDF5 file.

Definition at line 437 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_write_dble_array_1d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_write_dble_array_1d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error,
integer(i64), dimension(dspace_dims), intent(in), optional  chunk_dims 
)
private

Write 1D array of double precision floats into HDF5 file.

Definition at line 222 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_write_dble_array_2d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_write_dble_array_2d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error,
integer(i64), dimension(dspace_dims), intent(in), optional  chunk_dims 
)
private

Write 2D array of double precision floats into HDF5 file.

Definition at line 242 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_write_dble_array_3d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_write_dble_array_3d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error,
integer(i64), dimension(dspace_dims), intent(in), optional  chunk_dims 
)
private

Write 3D array of double precision floats into HDF5 file.

Definition at line 262 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_write_dble_array_4d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_write_dble_array_4d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :, :, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error,
integer(i64), dimension(dspace_dims), intent(in), optional  chunk_dims 
)
private

Write 4D array of double precision floats into HDF5 file.

Definition at line 282 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_write_dble_array_5d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_write_dble_array_5d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :, :, :, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error,
integer(i64), dimension(dspace_dims), intent(in), optional  chunk_dims 
)
private

Write 5D array of double precision floats into HDF5 file.

Definition at line 302 of file sll_m_hdf5_io_parallel.F90.

◆ sll_hdf5_par_write_dble_array_6d()

subroutine sll_m_hdf5_io_parallel::sll_hdf5_par_write_dble_array_6d ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer(i64), dimension(dspace_dims), intent(in)  global_size,
integer(i64), dimension(dspace_dims), intent(in)  offset,
real(f64), dimension(:, :, :, :, :, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error,
integer(i64), dimension(dspace_dims), intent(in), optional  chunk_dims 
)
private

Write 6D array of double precision floats into HDF5 file.

Definition at line 322 of file sll_m_hdf5_io_parallel.F90.

◆ sll_s_hdf5_par_file_close()

subroutine, public sll_m_hdf5_io_parallel::sll_s_hdf5_par_file_close ( type(sll_t_hdf5_par_handle), intent(in)  handle,
integer, intent(out)  error 
)

Close existing HDF5 file.

Parameters
[in]handleparallel file handle
[out]errorHDF5 error code

Definition at line 209 of file sll_m_hdf5_io_parallel.F90.

Here is the caller graph for this function:

◆ sll_s_hdf5_par_file_create()

subroutine, public sll_m_hdf5_io_parallel::sll_s_hdf5_par_file_create ( character(len=*), intent(in)  filename,
integer, intent(in)  comm,
type(sll_t_hdf5_par_handle), intent(out)  handle,
integer, intent(out)  error 
)

Create new HDF5 file.

  • Initialize fortran interface
  • Create a new file using default properties
Parameters
[in]filenamefile name
[in]commMPI communicator
[out]handleparallel file handle
[out]errorHDF5 error code

Definition at line 147 of file sll_m_hdf5_io_parallel.F90.

Here is the caller graph for this function:

◆ sll_s_hdf5_par_file_open()

subroutine, public sll_m_hdf5_io_parallel::sll_s_hdf5_par_file_open ( character(len=*), intent(in)  filename,
integer, intent(in)  comm,
type(sll_t_hdf5_par_handle), intent(out)  handle,
integer, intent(out)  error 
)

Open existing HDF5 file.

  • Initialize fortran interface
  • Open a HDF5 file
Parameters
[in]filenamefile name
[in]commMPI communicator
[out]handleparallel file handle
[out]errorHDF5 error code

Definition at line 180 of file sll_m_hdf5_io_parallel.F90.

    Report Typos and Errors