Newer
Older
!
! Distributed under the OSI-approved Apache License, Version 2.0. See
! accompanying file Copyright.txt for details.
!
! adios2_io_mod.f90 : ADIOS2 Fortran bindings for IO class
!
! Created on: Mar 13, 2017
! Author: William F Godoy godoywf@ornl.gov
!
module adios2_io
use adios2_io_open
use adios2_functions
implicit none
contains
subroutine adios2_set_parameter(io, key, value, ierr)
integer(kind=8), intent(in) :: io
character*(*), intent(in) :: key
character*(*), intent(in) :: value
integer, intent(out) :: ierr
call adios2_set_parameter_f2c( io, TRIM(ADJUSTL(key))//char(0), &
& TRIM(ADJUSTL(value))//char(0) )
end subroutine
subroutine adios2_add_transport(transport_index, io, transport_type, ierr)
integer, intent(out):: transport_index
integer(kind=8), intent(in) :: io
character*(*), intent(in) :: transport_type
integer, intent(out) :: ierr
call adios2_add_transport_f2c( transport_index, io, &
& TRIM(ADJUSTL(transport_type))//char(0), ierr)
end subroutine
subroutine adios2_set_transport_parameter(io, transport_index, key, value, &
& ierr)
integer(kind=8), intent(in):: io
integer, intent(in):: transport_index
character*(*), intent(in) :: key
character*(*), intent(in) :: value
integer, intent(out):: ierr
call adios2_set_transport_parameter_f2c(io, transport_index, &
& TRIM(ADJUSTL(key))//char(0), TRIM(ADJUSTL(value))//char(0), &
& ierr)
end subroutine
subroutine adios2_define_variable(variable, io, variable_name, &
& adios2_type, ndims, shape_dims, start_dims, count_dims, &
& adios2_constant_dims, ierr)
integer(kind=8), intent(out) :: variable
integer(kind=8), intent(in) :: io
character*(*), intent(in) :: variable_name
integer, intent(in) :: adios2_type
integer, intent(in) :: ndims
integer, dimension(:), intent(in) :: shape_dims
integer, dimension(:), intent(in) :: start_dims
integer, dimension(:), intent(in) :: count_dims
logical, intent(in) :: adios2_constant_dims
integer, intent(out) :: ierr
!local
integer constant_dims
constant_dims = adios2_LogicalToInt(adios2_constant_dims)
call adios2_define_variable_f2c(variable, io, &
& TRIM(ADJUSTL(variable_name))//char(0), adios2_type, ndims, &
& shape_dims, start_dims, count_dims, constant_dims, ierr)
end subroutine
end module