diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-12-08 20:31:25 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-12-08 20:31:25 (GMT) |
commit | dd7c7944690a1d9958069b925231c7cd6623857c (patch) | |
tree | 03f76e4cded94faa8fc170feccc636047c3b305a /hl/fortran/src/H5LTff.f90 | |
parent | 38eedcb94c85404ef82b53cd1ffdacfacbcef14c (diff) | |
download | hdf5-dd7c7944690a1d9958069b925231c7cd6623857c.zip hdf5-dd7c7944690a1d9958069b925231c7cd6623857c.tar.gz hdf5-dd7c7944690a1d9958069b925231c7cd6623857c.tar.bz2 |
[svn-r9644] Purpose:
add hl fortran
Description:
Solution:
Platforms tested:
linux (absfot and pgf90)
solaris (32 and 64 bit)
AIX
note : HP gives a compiling error , to be fixed in the future
Misc. update:
Diffstat (limited to 'hl/fortran/src/H5LTff.f90')
-rwxr-xr-x | hl/fortran/src/H5LTff.f90 | 2991 |
1 files changed, 2991 insertions, 0 deletions
diff --git a/hl/fortran/src/H5LTff.f90 b/hl/fortran/src/H5LTff.f90 new file mode 100755 index 0000000..712f6d2 --- /dev/null +++ b/hl/fortran/src/H5LTff.f90 @@ -0,0 +1,2991 @@ +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by the Board of Trustees of the University of Illinois. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the files COPYING and Copyright.html. COPYING can be found at the root * +! of the source code distribution tree; Copyright.html can be found at the * +! root level of an installed copy of the electronic HDF5 document set and * +! is linked from the top-level documents page. It can also be found at * +! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * +! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! +! +! This file contains FORTRAN90 interfaces for H5LT functions +! + +module H5LT +use H5FORTRAN_TYPES +use HDF5 + + +interface h5ltmake_dataset_f + module procedure h5ltmake_dataset_f_int1 + module procedure h5ltmake_dataset_f_int2 + module procedure h5ltmake_dataset_f_int3 + module procedure h5ltmake_dataset_f_float1 + module procedure h5ltmake_dataset_f_float2 + module procedure h5ltmake_dataset_f_float3 + module procedure h5ltmake_dataset_f_double1 + module procedure h5ltmake_dataset_f_double2 + module procedure h5ltmake_dataset_f_double3 +end interface + +interface h5ltread_dataset_f + module procedure h5ltread_dataset_f_int1 + module procedure h5ltread_dataset_f_int2 + module procedure h5ltread_dataset_f_int3 + module procedure h5ltread_dataset_f_float1 + module procedure h5ltread_dataset_f_float2 + module procedure h5ltread_dataset_f_float3 + module procedure h5ltread_dataset_f_double1 + module procedure h5ltread_dataset_f_double2 + module procedure h5ltread_dataset_f_double3 +end interface + +interface h5ltmake_dataset_int_f + module procedure h5ltmake_dataset_int_f_1 + module procedure h5ltmake_dataset_int_f_2 + module procedure h5ltmake_dataset_int_f_3 +end interface + +interface h5ltmake_dataset_float_f + module procedure h5ltmake_dataset_float_f_1 + module procedure h5ltmake_dataset_float_f_2 + module procedure h5ltmake_dataset_float_f_3 +end interface + +interface h5ltmake_dataset_double_f + module procedure h5ltmake_dataset_double_f_1 + module procedure h5ltmake_dataset_double_f_2 + module procedure h5ltmake_dataset_double_f_3 +end interface + +interface h5ltread_dataset_int_f + module procedure h5ltread_dataset_int_f_1 + module procedure h5ltread_dataset_int_f_2 + module procedure h5ltread_dataset_int_f_3 +end interface + +interface h5ltread_dataset_float_f + module procedure h5ltread_dataset_float_f_1 + module procedure h5ltread_dataset_float_f_2 + module procedure h5ltread_dataset_float_f_3 +end interface + +interface h5ltread_dataset_double_f + module procedure h5ltread_dataset_double_f_1 + module procedure h5ltread_dataset_double_f_2 + module procedure h5ltread_dataset_double_f_3 +end interface + +contains + + + + + + + +!------------------------------------------------------------------------- +! Make/Read dataset functions +!------------------------------------------------------------------------- + + + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_int1 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_int1(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer, intent(IN), dimension(*) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_int1 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_int2 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_int2(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_int2 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_int3 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_int3(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_int3 + + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_float1 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_float1(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + real, intent(IN), dimension(*) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_float1 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_float2 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_float2(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_float2 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_float3 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_float3(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_float3 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_double1 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_double1(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + double precision, intent(IN), dimension(*) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_double1 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_double2 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_double2(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_double2 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_f_double3 +! +! Purpose: Creates and writes a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 1, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_f_double3(loc_id,& + dset_name,& + rank,& + dims,& + type_id,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + +end subroutine h5ltmake_dataset_f_double3 + + + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_int1 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_int1(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(INOUT), dimension(*) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_int1 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_int2 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_int2(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_int2 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_int3 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_int3(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_int3 + + + + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_float1 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_float1(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(INOUT), dimension(*) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_float1 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_float2 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_float2(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_float2 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_float3 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_float3(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_float3 + + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_double1 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_double1(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(INOUT), dimension(*) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_double1 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_double2 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_double2(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_double2 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_f_double3 +! +! Purpose: Read a dataset of a type TYPE_ID +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_f_double3(loc_id,& + dset_name,& + type_id,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + +end subroutine h5ltread_dataset_f_double3 + + + + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_int_f_1 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_int_f_1 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), dimension(*) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf) + +end subroutine h5ltmake_dataset_int_f_1 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_int_f_2 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_int_f_2 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf) + +end subroutine h5ltmake_dataset_int_f_2 + + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_int_f_3 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_int_f_3 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf) + +end subroutine h5ltmake_dataset_int_f_3 + + + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_float_f_1 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_float_f_1 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), dimension(*) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf) + +end subroutine h5ltmake_dataset_float_f_1 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_float_f_2 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_float_f_2 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf) + +end subroutine h5ltmake_dataset_float_f_2 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_float_f_3 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_float_f_3 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf) + +end subroutine h5ltmake_dataset_float_f_3 + + + + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_double_f_1 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_double_f_1 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(IN), & + dimension(dims(1)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), & + dimension(dims(1)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf) + +end subroutine h5ltmake_dataset_double_f_1 + + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_double_f_2 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_double_f_2 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf) + +end subroutine h5ltmake_dataset_double_f_2 + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_double_f_3 +! +! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_double_f_3 (loc_id,& + dset_name,& + rank,& + dims,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_C'::h5ltmake_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(IN) :: rank ! rank + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(IN), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltmake_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf) + +end subroutine h5ltmake_dataset_double_f_3 + + + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_int_f_1 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_int_f_1(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(INOUT), & + dimension(dims(1)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(INOUT), & + dimension(dims(1)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims) + +end subroutine h5ltread_dataset_int_f_1 + + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_int_f_2 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_int_f_2(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims) + +end subroutine h5ltread_dataset_int_f_2 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_int_f_3 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_int_f_3(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + integer, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims) + +end subroutine h5ltread_dataset_int_f_3 + + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_float_f_1 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_float_f_1(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(INOUT), & + dimension(dims(1)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(INOUT), & + dimension(dims(1)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims) + +end subroutine h5ltread_dataset_float_f_1 + + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_float_f_2 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_float_f_2(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims) + +end subroutine h5ltread_dataset_float_f_2 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_float_f_3 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_float_f_3(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + real, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + real, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims) + +end subroutine h5ltread_dataset_float_f_3 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_double_f_1 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_double_f_1(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(INOUT), & + dimension(dims(1)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(INOUT), & + dimension(dims(1)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims) + +end subroutine h5ltread_dataset_double_f_1 + + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_double_f_2 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_double_f_2(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(INOUT), & + dimension(dims(1),dims(2)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims) + +end subroutine h5ltread_dataset_double_f_2 + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_double_f_3 +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_double_f_3(loc_id,& + dset_name,& + buf,& + dims,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + integer :: errcode ! error code + integer :: namelen ! name length + double precision, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + + interface + integer function h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_C'::h5ltread_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer(HID_T), intent(IN) :: type_id ! datatype identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T), dimension(*), intent(IN) :: dims ! size of the bufffer buf + double precision, intent(INOUT), & + dimension(dims(1),dims(2),dims(3)) :: buf ! data buffer + end function h5ltread_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims) + +end subroutine h5ltread_dataset_double_f_3 + + +!------------------------------------------------------------------------- +! Function: h5ltmake_dataset_string_f +! +! Purpose: Creates and writes a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltmake_dataset_string_f(loc_id,& + dset_name,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTMAKE_DATASET_STRING_C'::h5ltmake_dataset_string_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: buf ! data buffer + end function h5ltmake_dataset_string_c + end interface + + namelen = len(dset_name) + errcode = h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buf) + +end subroutine h5ltmake_dataset_string_f + +!------------------------------------------------------------------------- +! Function: h5ltread_dataset_string_f +! +! Purpose: Read a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 22, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltread_dataset_string_f(loc_id,& + dset_name,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(INOUT) :: buf ! data buffer + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTREAD_DATASET_STRING_C'::h5ltread_dataset_string_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(INOUT) :: buf ! data buffer + end function h5ltread_dataset_string_c + end interface + + namelen = len(dset_name) + errcode = h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf) + +end subroutine h5ltread_dataset_string_f + + + + +!------------------------------------------------------------------------- +! Make/Read attribute functions +!------------------------------------------------------------------------- + + +!------------------------------------------------------------------------- +! Function: h5ltset_attribute_int_f +! +! Purpose: Create and write an attribute +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltset_attribute_int_f(loc_id,& + dset_name,& + attr_name,& + buf,& + size,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer(SIZE_T), intent(IN) :: size ! size of attribute array + integer :: errcode ! error code + integer, intent(IN), dimension(*) :: buf ! data buffer + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTSET_ATTRIBUTE_INT_C'::h5ltset_attribute_int_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer(SIZE_T), intent(IN) :: size ! size of attribute array + integer, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltset_attribute_int_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) + +end subroutine h5ltset_attribute_int_f + +!------------------------------------------------------------------------- +! Function: h5ltset_attribute_float_f +! +! Purpose: Create and write an attribute +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltset_attribute_float_f(loc_id,& + dset_name,& + attr_name,& + buf,& + size,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer(SIZE_T), intent(IN) :: size ! size of attribute array + integer :: errcode ! error code + real, intent(IN), dimension(*) :: buf ! data buffer + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTSET_ATTRIBUTE_FLOAT_C'::h5ltset_attribute_float_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer(SIZE_T), intent(IN) :: size ! size of attribute array + real, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltset_attribute_float_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) + +end subroutine h5ltset_attribute_float_f + +!------------------------------------------------------------------------- +! Function: h5ltset_attribute_double_f +! +! Purpose: Create and write an attribute +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltset_attribute_double_f(loc_id,& + dset_name,& + attr_name,& + buf,& + size,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer(SIZE_T), intent(IN) :: size ! size of attribute array + integer :: errcode ! error code + double precision, intent(IN), dimension(*) :: buf ! data buffer + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTSET_ATTRIBUTE_DOUBLE_C'::h5ltset_attribute_double_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer(SIZE_T), intent(IN) :: size ! size of attribute array + double precision, intent(IN), dimension(*) :: buf ! data buffer + end function h5ltset_attribute_double_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) + +end subroutine h5ltset_attribute_double_f + + +!------------------------------------------------------------------------- +! Function: h5ltset_attribute_string_f +! +! Purpose: Create and write an attribute +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltset_attribute_string_f(loc_id,& + dset_name,& + attr_name,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer :: errcode ! error code + character(LEN=*), intent(IN) :: buf ! data buffer + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTSET_ATTRIBUTE_STRING_C'::h5ltset_attribute_string_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + character(LEN=*), intent(IN) :: buf ! data buffer + end function h5ltset_attribute_string_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + +end subroutine h5ltset_attribute_string_f + + + +!------------------------------------------------------------------------- +! Function: h5ltget_attribute_int_f +! +! Purpose: Reads an attribute named ATTR_NAME +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltget_attribute_int_f(loc_id,& + dset_name,& + attr_name,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer :: errcode ! error code + integer, intent(INOUT), dimension(*) :: buf ! data buffer + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTGET_ATTRIBUTE_INT_C'::h5ltget_attribute_int_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer, intent(INOUT), dimension(*) :: buf ! data buffer + end function h5ltget_attribute_int_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + +end subroutine h5ltget_attribute_int_f + + +!------------------------------------------------------------------------- +! Function: h5ltget_attribute_float_f +! +! Purpose: Reads an attribute named ATTR_NAME +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltget_attribute_float_f(loc_id,& + dset_name,& + attr_name,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer :: errcode ! error code + real, intent(INOUT), dimension(*) :: buf ! data buffer + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTGET_ATTRIBUTE_FLOAT_C'::h5ltget_attribute_float_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + real, intent(INOUT), dimension(*) :: buf ! data buffer + end function h5ltget_attribute_float_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + +end subroutine h5ltget_attribute_float_f + +!------------------------------------------------------------------------- +! Function: h5ltget_attribute_double_f +! +! Purpose: Reads an attribute named ATTR_NAME +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltget_attribute_double_f(loc_id,& + dset_name,& + attr_name,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer :: errcode ! error code + double precision,intent(INOUT),dimension(*) :: buf ! data buffer + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTGET_ATTRIBUTE_DOUBLE_C'::h5ltget_attribute_double_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + double precision, intent(INOUT), dimension(*) :: buf ! data buffer + end function h5ltget_attribute_double_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + +end subroutine h5ltget_attribute_double_f + +!------------------------------------------------------------------------- +! Function: h5ltget_attribute_string_f +! +! Purpose: Reads an attribute named ATTR_NAME +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltget_attribute_string_f(loc_id,& + dset_name,& + attr_name,& + buf,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer :: errcode ! error code + character(LEN=*), intent(INOUT) :: buf ! data buffer + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTGET_ATTRIBUTE_STRING_C'::h5ltget_attribute_string_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + character(LEN=*), intent(INOUT) :: buf ! data buffer + end function h5ltget_attribute_string_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) + +end subroutine h5ltget_attribute_string_f + + + + + +!------------------------------------------------------------------------- +! Query dataset functions +!------------------------------------------------------------------------- + + + +!------------------------------------------------------------------------- +! Function: h5ltget_dataset_ndims_f +! +! Purpose: Gets the dimensionality of a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 30, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltget_dataset_ndims_f(loc_id,& + dset_name,& + rank,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(INOUT) :: rank ! rank + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTGET_DATASET_NDIMS_C'::h5ltget_dataset_ndims_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer, intent(INOUT) :: rank ! rank + end function h5ltget_dataset_ndims_c + end interface + + namelen = len(dset_name) + errcode = h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank) + +end subroutine h5ltget_dataset_ndims_f + + +!------------------------------------------------------------------------- +! Function: h5ltfind_dataset_f +! +! Purpose: Inquires if a dataset named dset_name exists attached +! to the object loc_id. +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +integer function h5ltfind_dataset_f(loc_id,& + dset_name) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltfind_dataset_c(loc_id,namelen,dset_name) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTFIND_DATASET_C'::h5ltfind_dataset_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + end function h5ltfind_dataset_c + end interface + + namelen = len(dset_name) + errcode = h5ltfind_dataset_c(loc_id,namelen,dset_name) + h5ltfind_dataset_f = errcode + +end function h5ltfind_dataset_f + +!------------------------------------------------------------------------- +! Function: h5ltget_dataset_info_f +! +! Purpose: Gets information about a dataset +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 30, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltget_dataset_info_f(loc_id,& + dset_name,& + dims,& + type_class,& + type_size,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T),dimension(*),intent(INOUT):: dims ! dimensions + integer, intent(INOUT) :: type_class ! type class + integer(SIZE_T), intent(INOUT) :: type_size ! type size + integer :: errcode ! error code + integer :: namelen ! name length + + interface + integer function h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTGET_DATASET_INFO_C'::h5ltget_dataset_info_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + integer(HSIZE_T),dimension(*),intent(INOUT):: dims ! dimensions + integer, intent(INOUT) :: type_class ! type class + integer(SIZE_T), intent(INOUT) :: type_size ! type size + end function h5ltget_dataset_info_c + end interface + + namelen = len(dset_name) + errcode = h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size) + +end subroutine h5ltget_dataset_info_f + + +!------------------------------------------------------------------------- +! Query attribute functions +!------------------------------------------------------------------------- + + +!------------------------------------------------------------------------- +! Function: h5ltget_attribute_ndims_f +! +! Purpose: Create and write an attribute +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: October 05, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltget_attribute_ndims_f(loc_id,& + dset_name,& + attr_name,& + rank,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer, intent(INOUT) :: rank ! rank + integer :: errcode ! error code + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTGET_ATTRIBUTE_NDIMS_C'::h5ltget_attribute_ndims_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer, intent(INOUT) :: rank ! rank + end function h5ltget_attribute_ndims_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank) + +end subroutine h5ltget_attribute_ndims_f + + +!------------------------------------------------------------------------- +! Function: h5ltget_attribute_info_f +! +! Purpose: Gets information about an attribute +! +! Return: Success: 0, Failure: -1 +! +! Programmer: pvn@ncsa.uiuc.edu +! +! Date: September 30, 2004 +! +! Comments: +! +! Modifications: +! +!------------------------------------------------------------------------- + +subroutine h5ltget_attribute_info_f(loc_id,& + dset_name,& + attr_name,& + dims,& + type_class,& + type_size,& + errcode ) + + implicit none + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer(HSIZE_T),dimension(*),intent(INOUT):: dims ! dimensions + integer, intent(INOUT) :: type_class ! type class + integer(SIZE_T), intent(INOUT) :: type_size ! type size + integer :: errcode ! error code + integer :: namelen ! name length + integer :: attrlen ! name length + + interface + integer function h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size) + use H5GLOBAL + !DEC$ IF DEFINED(HDF5F90_WINDOWS) + !MS$ATTRIBUTES C,reference,alias:'_H5LTGET_ATTRIBUTE_INFO_C'::h5ltget_attribute_info_c + !DEC$ ENDIF + !DEC$ATTRIBUTES reference :: dset_name + !DEC$ATTRIBUTES reference :: attr_name + integer(HID_T), intent(IN) :: loc_id ! file or group identifier + integer :: namelen ! lenght of name buffer + integer :: attrlen ! lenght of attr name buffer + character(LEN=*), intent(IN) :: dset_name ! name of the dataset + character(LEN=*), intent(IN) :: attr_name ! name of the attribute + integer(HSIZE_T),dimension(*),intent(INOUT):: dims ! dimensions + integer, intent(INOUT) :: type_class ! type class + integer(SIZE_T), intent(INOUT) :: type_size ! type size + end function h5ltget_attribute_info_c + end interface + + namelen = len(dset_name) + attrlen = len(attr_name) + errcode = h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size) + +end subroutine h5ltget_attribute_info_f + + + +! end +! +end module H5LT + + + + + + |