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 | Variables
sll_m_hdf5_io_serial Module Reference

Description

Implements the functions to write hdf5 file to store heavy data.

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

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

Note
link with sll_file_io

Derived types and interfaces

type  sll_t_hdf5_ser_handle
 Opaque object around HDF5 file id. More...
 
interface  sll_o_hdf5_ser_write_array
 Write nD array of double precision floats or integers into HDF5 file. More...
 
interface  sll_o_hdf5_ser_read_array
 Read nD array of double precision floats or integers from HDF5 file. More...
 
interface  sll_o_hdf5_ser_write_attribute
 Attach new named scalar attribute (double precision float or integer) to HDF5 object (group or dataset) More...
 
interface  sll_o_hdf5_ser_read_attribute
 Read pre-existing named scalar attribute (double precision float or integer) from HDF5 object (group or dataset) More...
 

Functions/Subroutines

subroutine, public sll_s_hdf5_ser_file_create (filename, handle, error)
 Create new HDF5 file. More...
 
subroutine, public sll_s_hdf5_ser_file_open (filename, handle, error)
 Open existing HDF5 file. More...
 
subroutine, public sll_s_hdf5_ser_file_close (handle, error)
 Close existing HDF5 file. More...
 
subroutine sll_hdf5_ser_write_int_array_1d (handle, array, dsetname, error)
 Write 1D array of int32 into HDF5 file. More...
 
subroutine sll_hdf5_ser_write_int_array_2d (handle, array, dsetname, error)
 Write 2D array of int32 into HDF5 file. More...
 
subroutine sll_hdf5_ser_write_int_array_3d (handle, array, dsetname, error)
 Write 3D array of int32 into HDF5 file. More...
 
subroutine sll_hdf5_ser_write_dble_array_1d (handle, array, dsetname, error)
 Write 1D array of float64 into HDF5 file. More...
 
subroutine sll_hdf5_ser_write_dble_array_2d (handle, array, dsetname, error)
 Write 2D array of float64 into HDF5 file. More...
 
subroutine sll_hdf5_ser_write_dble_array_3d (handle, array, dsetname, error)
 Write 3D array of float64 into HDF5 file. More...
 
subroutine sll_hdf5_ser_read_dble_array_1d (handle, array, dsetname, error)
 Read 1D array of float64 from HDF5 file. More...
 
subroutine sll_hdf5_ser_read_dble_array_2d (handle, array, dsetname, error)
 Read 2D array of float64 from HDF5 file. More...
 
subroutine sll_hdf5_ser_read_dble_array_3d (handle, array, dsetname, error)
 Read 3D array of float64 from HDF5 file. More...
 
subroutine sll_hdf5_ser_write_char_array (handle, string, dsetname, error)
 Write Fortran string to HDF5 file as 1D array of characters. More...
 
subroutine, public sll_s_hdf5_ser_write_file (handle, filename, dsetname, error)
 Read complete file to string and store it into HDF5 data structure. More...
 
subroutine s_hdf5_ser_write_attribute_dble (handle, objpath, attrname, attrvalue, error)
 Attach named float64 attribute to existing group or dataset. More...
 
subroutine s_hdf5_ser_write_attribute_int (handle, objpath, attrname, attrvalue, error)
 Attach named integer attribute to existing group or dataset. More...
 
subroutine s_hdf5_ser_read_attribute_dble (handle, objpath, attrname, attrvalue, error)
 Read named float64 attribute from existing group or dataset. More...
 
subroutine s_hdf5_ser_read_attribute_int (handle, objpath, attrname, attrvalue, error)
 Read named integer attribute from existing group or dataset. More...
 

Variables

integer, parameter h5o_type_group = 0
 
integer, parameter h5o_type_dataset = 1
 

Function/Subroutine Documentation

◆ s_hdf5_ser_read_attribute_dble()

subroutine sll_m_hdf5_io_serial::s_hdf5_ser_read_attribute_dble ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
character(len=*), intent(in)  objpath,
character(len=*), intent(in)  attrname,
real(f64), intent(out)  attrvalue,
integer, intent(out)  error 
)
private

Read named float64 attribute from existing group or dataset.

Definition at line 484 of file sll_m_hdf5_io_serial.F90.

◆ s_hdf5_ser_read_attribute_int()

subroutine sll_m_hdf5_io_serial::s_hdf5_ser_read_attribute_int ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
character(len=*), intent(in)  objpath,
character(len=*), intent(in)  attrname,
integer, intent(out)  attrvalue,
integer, intent(out)  error 
)
private

Read named integer attribute from existing group or dataset.

Definition at line 500 of file sll_m_hdf5_io_serial.F90.

◆ s_hdf5_ser_write_attribute_dble()

subroutine sll_m_hdf5_io_serial::s_hdf5_ser_write_attribute_dble ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
character(len=*), intent(in)  objpath,
character(len=*), intent(in)  attrname,
real(f64), intent(in)  attrvalue,
integer, intent(out)  error 
)
private

Attach named float64 attribute to existing group or dataset.

Definition at line 452 of file sll_m_hdf5_io_serial.F90.

◆ s_hdf5_ser_write_attribute_int()

subroutine sll_m_hdf5_io_serial::s_hdf5_ser_write_attribute_int ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
character(len=*), intent(in)  objpath,
character(len=*), intent(in)  attrname,
integer, intent(in)  attrvalue,
integer, intent(out)  error 
)
private

Attach named integer attribute to existing group or dataset.

Definition at line 468 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_read_dble_array_1d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_read_dble_array_1d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
real(f64), dimension(:), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 1D array of float64 from HDF5 file.

Definition at line 312 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_read_dble_array_2d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_read_dble_array_2d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
real(f64), dimension(:, :), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 2D array of float64 from HDF5 file.

Definition at line 328 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_read_dble_array_3d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_read_dble_array_3d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
real(f64), dimension(:, :, :), intent(out)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Read 3D array of float64 from HDF5 file.

Definition at line 344 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_write_char_array()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_write_char_array ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
character(len=*), intent(in)  string,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Write Fortran string to HDF5 file as 1D array of characters.

Parameters
[in]handlefile handle
[in]stringdata string
[in]dsetnameHDF5 dataset name
[out]errorHDF5 error code

Definition at line 365 of file sll_m_hdf5_io_serial.F90.

Here is the caller graph for this function:

◆ sll_hdf5_ser_write_dble_array_1d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_write_dble_array_1d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
real(f64), dimension(:), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Write 1D array of float64 into HDF5 file.

Definition at line 264 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_write_dble_array_2d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_write_dble_array_2d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
real(f64), dimension(:, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Write 2D array of float64 into HDF5 file.

Definition at line 280 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_write_dble_array_3d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_write_dble_array_3d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
real(f64), dimension(:, :, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Write 3D array of float64 into HDF5 file.

Definition at line 296 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_write_int_array_1d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_write_int_array_1d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
integer(i32), dimension(:), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Write 1D array of int32 into HDF5 file.

Definition at line 216 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_write_int_array_2d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_write_int_array_2d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
integer(i32), dimension(:, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Write 2D array of int32 into HDF5 file.

Definition at line 232 of file sll_m_hdf5_io_serial.F90.

◆ sll_hdf5_ser_write_int_array_3d()

subroutine sll_m_hdf5_io_serial::sll_hdf5_ser_write_int_array_3d ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
integer(i32), dimension(:, :, :), intent(in)  array,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)
private

Write 3D array of int32 into HDF5 file.

Definition at line 248 of file sll_m_hdf5_io_serial.F90.

◆ sll_s_hdf5_ser_file_close()

subroutine, public sll_m_hdf5_io_serial::sll_s_hdf5_ser_file_close ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
integer, intent(out)  error 
)

Close existing HDF5 file.

Parameters
[in]handlefile handle
[out]errorHDF5 error code

Definition at line 203 of file sll_m_hdf5_io_serial.F90.

Here is the caller graph for this function:

◆ sll_s_hdf5_ser_file_create()

subroutine, public sll_m_hdf5_io_serial::sll_s_hdf5_ser_file_create ( character(len=*), intent(in)  filename,
type(sll_t_hdf5_ser_handle), intent(out)  handle,
integer, intent(out)  error 
)

Create new HDF5 file.

To use this subroutine HDF5_ENABLE should be set to ON in CMake configuration

Parameters
[in]filenamefile name
[out]handlefile handle
[out]errorHDF5 error code
[in]filenamefile name
[out]handlefile handle
[out]errorerror code

Definition at line 168 of file sll_m_hdf5_io_serial.F90.

Here is the caller graph for this function:

◆ sll_s_hdf5_ser_file_open()

subroutine, public sll_m_hdf5_io_serial::sll_s_hdf5_ser_file_open ( character(len=*), intent(in)  filename,
type(sll_t_hdf5_ser_handle), intent(out)  handle,
integer, intent(out)  error 
)

Open existing HDF5 file.

Parameters
[in]filenamefile name
[out]handlefile handle
[out]errorHDF5 error code
[in]filenamefile name
[out]handlefile handle
[out]errorerror code

Definition at line 186 of file sll_m_hdf5_io_serial.F90.

Here is the caller graph for this function:

◆ sll_s_hdf5_ser_write_file()

subroutine, public sll_m_hdf5_io_serial::sll_s_hdf5_ser_write_file ( type(sll_t_hdf5_ser_handle), intent(in)  handle,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  dsetname,
integer, intent(out)  error 
)

Read complete file to string and store it into HDF5 data structure.

Parameters
[in]handlefile handle
[in]filenamename of file to be copied
[in]dsetnameHDF5 dataset name
[out]errorHDF5 error code

Definition at line 408 of file sll_m_hdf5_io_serial.F90.

Here is the call graph for this function:

Variable Documentation

◆ h5o_type_dataset

integer, parameter h5o_type_dataset = 1
private

Definition at line 83 of file sll_m_hdf5_io_serial.F90.

◆ h5o_type_group

integer, parameter h5o_type_group = 0
private

Definition at line 82 of file sll_m_hdf5_io_serial.F90.

    Report Typos and Errors