summaryrefslogtreecommitdiffstats
path: root/hl/fortran/src/H5LTff.f90
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2004-12-08 20:31:25 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2004-12-08 20:31:25 (GMT)
commitdd7c7944690a1d9958069b925231c7cd6623857c (patch)
tree03f76e4cded94faa8fc170feccc636047c3b305a /hl/fortran/src/H5LTff.f90
parent38eedcb94c85404ef82b53cd1ffdacfacbcef14c (diff)
downloadhdf5-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-xhl/fortran/src/H5LTff.f902991
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
+
+
+
+
+
+