diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2011-03-27 04:13:53 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2011-03-27 04:13:53 (GMT) |
commit | bcf7bc892eb2edc97456f4bce0700da2c6fd6bd2 (patch) | |
tree | e09a2cadd8dd019c5ef5973aedb6d7c41d7c2209 | |
parent | bbd2a41075b6ddd8a30844c1247fab46d55e238f (diff) | |
download | hdf5-bcf7bc892eb2edc97456f4bce0700da2c6fd6bd2.zip hdf5-bcf7bc892eb2edc97456f4bce0700da2c6fd6bd2.tar.gz hdf5-bcf7bc892eb2edc97456f4bce0700da2c6fd6bd2.tar.bz2 |
[svn-r20353] Bug 1752 - H5Lite Fortran APIs do not allow you to create 4 dimensional datasets (or greater)
* Fixed and tested the integer, real, double routines for creating and reading
dimensional dataset with ranks 4-7
Tested: jam (intel, gnu compilers)
-rwxr-xr-x | hl/fortran/src/H5LTf90proto.h | 463 | ||||
-rwxr-xr-x | hl/fortran/src/H5LTfc.c | 504 | ||||
-rwxr-xr-x | hl/fortran/src/H5LTff.f90 | 9658 | ||||
-rw-r--r-- | hl/fortran/test/tstlite.f90 | 1761 | ||||
-rwxr-xr-x | hl/fortran/test/tsttable.f90 | 11 |
5 files changed, 8374 insertions, 4023 deletions
diff --git a/hl/fortran/src/H5LTf90proto.h b/hl/fortran/src/H5LTf90proto.h index 75a6fcc..b418e72 100755 --- a/hl/fortran/src/H5LTf90proto.h +++ b/hl/fortran/src/H5LTf90proto.h @@ -34,40 +34,88 @@ H5_FCDLL void HD5packFstring (char *src, char *dest, size_t len); # define nh5ltmake_dataset_int1_c H5_FC_FUNC_(h5ltmake_dataset_int1_c, H5LTMAKE_DATASET_INT1_C) # define nh5ltmake_dataset_int2_c H5_FC_FUNC_(h5ltmake_dataset_int2_c, H5LTMAKE_DATASET_INT2_C) # define nh5ltmake_dataset_int3_c H5_FC_FUNC_(h5ltmake_dataset_int3_c, H5LTMAKE_DATASET_INT3_C) +# define nh5ltmake_dataset_int4_c H5_FC_FUNC_(h5ltmake_dataset_int4_c, H5LTMAKE_DATASET_INT4_C) +# define nh5ltmake_dataset_int5_c H5_FC_FUNC_(h5ltmake_dataset_int5_c, H5LTMAKE_DATASET_INT5_C) +# define nh5ltmake_dataset_int6_c H5_FC_FUNC_(h5ltmake_dataset_int6_c, H5LTMAKE_DATASET_INT6_C) +# define nh5ltmake_dataset_int7_c H5_FC_FUNC_(h5ltmake_dataset_int7_c, H5LTMAKE_DATASET_INT7_C) # define nh5ltmake_dataset_fl1_c H5_FC_FUNC_(h5ltmake_dataset_fl1_c, H5LTMAKE_DATASET_FL1_C) # define nh5ltmake_dataset_fl2_c H5_FC_FUNC_(h5ltmake_dataset_fl2_c, H5LTMAKE_DATASET_FL2_C) # define nh5ltmake_dataset_fl3_c H5_FC_FUNC_(h5ltmake_dataset_fl3_c, H5LTMAKE_DATASET_FL3_C) +# define nh5ltmake_dataset_fl4_c H5_FC_FUNC_(h5ltmake_dataset_fl4_c, H5LTMAKE_DATASET_FL4_C) +# define nh5ltmake_dataset_fl5_c H5_FC_FUNC_(h5ltmake_dataset_fl5_c, H5LTMAKE_DATASET_FL5_C) +# define nh5ltmake_dataset_fl6_c H5_FC_FUNC_(h5ltmake_dataset_fl6_c, H5LTMAKE_DATASET_FL6_C) +# define nh5ltmake_dataset_fl7_c H5_FC_FUNC_(h5ltmake_dataset_fl7_c, H5LTMAKE_DATASET_FL7_C) # define nh5ltmake_dataset_dl1_c H5_FC_FUNC_(h5ltmake_dataset_dl1_c, H5LTMAKE_DATASET_DL1_C) # define nh5ltmake_dataset_dl2_c H5_FC_FUNC_(h5ltmake_dataset_dl2_c, H5LTMAKE_DATASET_DL2_C) # define nh5ltmake_dataset_dl3_c H5_FC_FUNC_(h5ltmake_dataset_dl3_c, H5LTMAKE_DATASET_DL3_C) +# define nh5ltmake_dataset_dl4_c H5_FC_FUNC_(h5ltmake_dataset_dl4_c, H5LTMAKE_DATASET_DL4_C) +# define nh5ltmake_dataset_dl5_c H5_FC_FUNC_(h5ltmake_dataset_dl5_c, H5LTMAKE_DATASET_DL5_C) +# define nh5ltmake_dataset_dl6_c H5_FC_FUNC_(h5ltmake_dataset_dl6_c, H5LTMAKE_DATASET_DL6_C) +# define nh5ltmake_dataset_dl7_c H5_FC_FUNC_(h5ltmake_dataset_dl7_c, H5LTMAKE_DATASET_DL7_C) # define nh5ltmake_dataset_nint1_c H5_FC_FUNC_(h5ltmake_dataset_nint1_c, H5LTMAKE_DATASET_NINT1_C) # define nh5ltmake_dataset_nint2_c H5_FC_FUNC_(h5ltmake_dataset_nint2_c, H5LTMAKE_DATASET_NINT2_C) # define nh5ltmake_dataset_nint3_c H5_FC_FUNC_(h5ltmake_dataset_nint3_c, H5LTMAKE_DATASET_NINT3_C) +# define nh5ltmake_dataset_nint4_c H5_FC_FUNC_(h5ltmake_dataset_nint4_c, H5LTMAKE_DATASET_NINT4_C) +# define nh5ltmake_dataset_nint5_c H5_FC_FUNC_(h5ltmake_dataset_nint5_c, H5LTMAKE_DATASET_NINT5_C) +# define nh5ltmake_dataset_nint6_c H5_FC_FUNC_(h5ltmake_dataset_nint6_c, H5LTMAKE_DATASET_NINT6_C) +# define nh5ltmake_dataset_nint7_c H5_FC_FUNC_(h5ltmake_dataset_nint7_c, H5LTMAKE_DATASET_NINT7_C) # define nh5ltmake_dataset_nfl1_c H5_FC_FUNC_(h5ltmake_dataset_nfl1_c, H5LTMAKE_DATASET_NFL1_C) # define nh5ltmake_dataset_nfl2_c H5_FC_FUNC_(h5ltmake_dataset_nfl2_c, H5LTMAKE_DATASET_NFL2_C) # define nh5ltmake_dataset_nfl3_c H5_FC_FUNC_(h5ltmake_dataset_nfl3_c, H5LTMAKE_DATASET_NFL3_C) +# define nh5ltmake_dataset_nfl4_c H5_FC_FUNC_(h5ltmake_dataset_nfl4_c, H5LTMAKE_DATASET_NFL4_C) +# define nh5ltmake_dataset_nfl5_c H5_FC_FUNC_(h5ltmake_dataset_nfl5_c, H5LTMAKE_DATASET_NFL5_C) +# define nh5ltmake_dataset_nfl6_c H5_FC_FUNC_(h5ltmake_dataset_nfl6_c, H5LTMAKE_DATASET_NFL6_C) +# define nh5ltmake_dataset_nfl7_c H5_FC_FUNC_(h5ltmake_dataset_nfl7_c, H5LTMAKE_DATASET_NFL7_C) # define nh5ltmake_dataset_ndl1_c H5_FC_FUNC_(h5ltmake_dataset_ndl1_c, H5LTMAKE_DATASET_NDL1_C) # define nh5ltmake_dataset_ndl2_c H5_FC_FUNC_(h5ltmake_dataset_ndl2_c, H5LTMAKE_DATASET_NDL2_C) # define nh5ltmake_dataset_ndl3_c H5_FC_FUNC_(h5ltmake_dataset_ndl3_c, H5LTMAKE_DATASET_NDL3_C) +# define nh5ltmake_dataset_ndl4_c H5_FC_FUNC_(h5ltmake_dataset_ndl4_c, H5LTMAKE_DATASET_NDL4_C) +# define nh5ltmake_dataset_ndl5_c H5_FC_FUNC_(h5ltmake_dataset_ndl5_c, H5LTMAKE_DATASET_NDL5_C) +# define nh5ltmake_dataset_ndl6_c H5_FC_FUNC_(h5ltmake_dataset_ndl6_c, H5LTMAKE_DATASET_NDL6_C) +# define nh5ltmake_dataset_ndl7_c H5_FC_FUNC_(h5ltmake_dataset_ndl7_c, H5LTMAKE_DATASET_NDL7_C) # define nh5ltread_dataset_c H5_FC_FUNC_(h5ltread_dataset_c, H5LTREAD_DATASET_C) # define nh5ltread_dataset_int1_c H5_FC_FUNC_(h5ltread_dataset_int1_c, H5LTREAD_DATASET_INT1_C) # define nh5ltread_dataset_int2_c H5_FC_FUNC_(h5ltread_dataset_int2_c, H5LTREAD_DATASET_INT2_C) # define nh5ltread_dataset_int3_c H5_FC_FUNC_(h5ltread_dataset_int3_c, H5LTREAD_DATASET_INT3_C) +# define nh5ltread_dataset_int4_c H5_FC_FUNC_(h5ltread_dataset_int4_c, H5LTREAD_DATASET_INT4_C) +# define nh5ltread_dataset_int5_c H5_FC_FUNC_(h5ltread_dataset_int5_c, H5LTREAD_DATASET_INT5_C) +# define nh5ltread_dataset_int6_c H5_FC_FUNC_(h5ltread_dataset_int6_c, H5LTREAD_DATASET_INT6_C) +# define nh5ltread_dataset_int7_c H5_FC_FUNC_(h5ltread_dataset_int7_c, H5LTREAD_DATASET_INT7_C) # define nh5ltread_dataset_fl1_c H5_FC_FUNC_(h5ltread_dataset_fl1_c, H5LTREAD_DATASET_FL1_C) # define nh5ltread_dataset_fl2_c H5_FC_FUNC_(h5ltread_dataset_fl2_c, H5LTREAD_DATASET_FL2_C) # define nh5ltread_dataset_fl3_c H5_FC_FUNC_(h5ltread_dataset_fl3_c, H5LTREAD_DATASET_FL3_C) +# define nh5ltread_dataset_fl4_c H5_FC_FUNC_(h5ltread_dataset_fl4_c, H5LTREAD_DATASET_FL4_C) +# define nh5ltread_dataset_fl5_c H5_FC_FUNC_(h5ltread_dataset_fl5_c, H5LTREAD_DATASET_FL5_C) +# define nh5ltread_dataset_fl6_c H5_FC_FUNC_(h5ltread_dataset_fl6_c, H5LTREAD_DATASET_FL6_C) +# define nh5ltread_dataset_fl7_c H5_FC_FUNC_(h5ltread_dataset_fl7_c, H5LTREAD_DATASET_FL7_C) # define nh5ltread_dataset_dl1_c H5_FC_FUNC_(h5ltread_dataset_dl1_c, H5LTREAD_DATASET_DL1_C) # define nh5ltread_dataset_dl2_c H5_FC_FUNC_(h5ltread_dataset_dl2_c, H5LTREAD_DATASET_DL2_C) # define nh5ltread_dataset_dl3_c H5_FC_FUNC_(h5ltread_dataset_dl3_c, H5LTREAD_DATASET_DL3_C) +# define nh5ltread_dataset_dl4_c H5_FC_FUNC_(h5ltread_dataset_dl4_c, H5LTREAD_DATASET_DL4_C) +# define nh5ltread_dataset_dl5_c H5_FC_FUNC_(h5ltread_dataset_dl5_c, H5LTREAD_DATASET_DL5_C) +# define nh5ltread_dataset_dl6_c H5_FC_FUNC_(h5ltread_dataset_dl6_c, H5LTREAD_DATASET_DL6_C) +# define nh5ltread_dataset_dl7_c H5_FC_FUNC_(h5ltread_dataset_dl7_c, H5LTREAD_DATASET_DL7_C) # define nh5ltread_dataset_nint1_c H5_FC_FUNC_(h5ltread_dataset_nint1_c, H5LTREAD_DATASET_NINT1_C) # define nh5ltread_dataset_nint2_c H5_FC_FUNC_(h5ltread_dataset_nint2_c, H5LTREAD_DATASET_NINT2_C) # define nh5ltread_dataset_nint3_c H5_FC_FUNC_(h5ltread_dataset_nint3_c, H5LTREAD_DATASET_NINT3_C) +# define nh5ltread_dataset_nint4_c H5_FC_FUNC_(h5ltread_dataset_nint4_c, H5LTREAD_DATASET_NINT4_C) +# define nh5ltread_dataset_nint5_c H5_FC_FUNC_(h5ltread_dataset_nint5_c, H5LTREAD_DATASET_NINT5_C) +# define nh5ltread_dataset_nint6_c H5_FC_FUNC_(h5ltread_dataset_nint6_c, H5LTREAD_DATASET_NINT6_C) +# define nh5ltread_dataset_nint7_c H5_FC_FUNC_(h5ltread_dataset_nint7_c, H5LTREAD_DATASET_NINT7_C) # define nh5ltread_dataset_nfl1_c H5_FC_FUNC_(h5ltread_dataset_nfl1_c, H5LTREAD_DATASET_NFL1_C) # define nh5ltread_dataset_nfl2_c H5_FC_FUNC_(h5ltread_dataset_nfl2_c, H5LTREAD_DATASET_NFL2_C) # define nh5ltread_dataset_nfl3_c H5_FC_FUNC_(h5ltread_dataset_nfl3_c, H5LTREAD_DATASET_NFL3_C) +# define nh5ltread_dataset_nfl4_c H5_FC_FUNC_(h5ltread_dataset_nfl4_c, H5LTREAD_DATASET_NFL4_C) +# define nh5ltread_dataset_nfl5_c H5_FC_FUNC_(h5ltread_dataset_nfl5_c, H5LTREAD_DATASET_NFL5_C) +# define nh5ltread_dataset_nfl6_c H5_FC_FUNC_(h5ltread_dataset_nfl6_c, H5LTREAD_DATASET_NFL6_C) +# define nh5ltread_dataset_nfl7_c H5_FC_FUNC_(h5ltread_dataset_nfl7_c, H5LTREAD_DATASET_NFL7_C) # define nh5ltread_dataset_ndl1_c H5_FC_FUNC_(h5ltread_dataset_ndl1_c, H5LTREAD_DATASET_NDL1_C) # define nh5ltread_dataset_ndl2_c H5_FC_FUNC_(h5ltread_dataset_ndl2_c, H5LTREAD_DATASET_NDL2_C) # define nh5ltread_dataset_ndl3_c H5_FC_FUNC_(h5ltread_dataset_ndl3_c, H5LTREAD_DATASET_NDL3_C) +# define nh5ltread_dataset_ndl4_c H5_FC_FUNC_(h5ltread_dataset_ndl4_c, H5LTREAD_DATASET_NDL4_C) +# define nh5ltread_dataset_ndl5_c H5_FC_FUNC_(h5ltread_dataset_ndl5_c, H5LTREAD_DATASET_NDL5_C) +# define nh5ltread_dataset_ndl6_c H5_FC_FUNC_(h5ltread_dataset_ndl6_c, H5LTREAD_DATASET_NDL6_C) +# define nh5ltread_dataset_ndl7_c H5_FC_FUNC_(h5ltread_dataset_ndl7_c, H5LTREAD_DATASET_NDL7_C) # define nh5ltmake_dataset_string_c H5_FC_FUNC_(h5ltmake_dataset_string_c, H5LTMAKE_DATASET_STRING_C) # define nh5ltread_dataset_string_c H5_FC_FUNC_(h5ltread_dataset_string_c, H5LTREAD_DATASET_STRING_C) @@ -181,6 +229,47 @@ nh5ltmake_dataset_int3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltmake_dataset_int4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_int5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_int6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_int7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + + +HDF5_HL_F90CSTUBDLL +int_f nh5ltmake_dataset_fl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -211,6 +300,47 @@ nh5ltmake_dataset_fl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltmake_dataset_fl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_fl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_fl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_fl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + + +HDF5_HL_F90CSTUBDLL +int_f nh5ltmake_dataset_dl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -241,6 +371,76 @@ nh5ltmake_dataset_dl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltmake_dataset_dl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_dl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_dl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_dl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_nint1_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_nint2_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_nint3_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f nh5ltmake_dataset_nint1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -271,7 +471,17 @@ nh5ltmake_dataset_nint3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f -nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id, +nh5ltmake_dataset_nint4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_nfl5_c (hid_t_f *loc_id, int_f *namelen, _fcd name, int_f *rank, @@ -281,7 +491,7 @@ nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f -nh5ltmake_dataset_nfl2_c (hid_t_f *loc_id, +nh5ltmake_dataset_nfl6_c (hid_t_f *loc_id, int_f *namelen, _fcd name, int_f *rank, @@ -291,7 +501,7 @@ nh5ltmake_dataset_nfl2_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f -nh5ltmake_dataset_nfl3_c (hid_t_f *loc_id, +nh5ltmake_dataset_nfl7_c (hid_t_f *loc_id, int_f *namelen, _fcd name, int_f *rank, @@ -331,6 +541,36 @@ nh5ltmake_dataset_ndl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltmake_dataset_ndl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_ndl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltmake_dataset_ndl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf); + +HDF5_HL_F90CSTUBDLL +int_f nh5ltread_dataset_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -368,6 +608,42 @@ nh5ltread_dataset_int3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltread_dataset_int4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_int5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_int6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_int7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f nh5ltread_dataset_fl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -395,6 +671,43 @@ nh5ltread_dataset_fl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltread_dataset_fl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_fl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_fl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_fl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f nh5ltread_dataset_dl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -422,6 +735,42 @@ nh5ltread_dataset_dl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltread_dataset_dl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_dl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_dl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_dl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f nh5ltread_dataset_nint1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -449,6 +798,42 @@ nh5ltread_dataset_nint3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltread_dataset_nint4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_nint5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_nint6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_nint7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f nh5ltread_dataset_nfl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -476,6 +861,42 @@ nh5ltread_dataset_nfl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltread_dataset_nfl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_nfl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_nfl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_nfl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f nh5ltread_dataset_ndl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -503,6 +924,42 @@ nh5ltread_dataset_ndl3_c (hid_t_f *loc_id, HDF5_HL_F90CSTUBDLL int_f +nh5ltread_dataset_ndl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_ndl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_ndl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f +nh5ltread_dataset_ndl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims); + +HDF5_HL_F90CSTUBDLL +int_f nh5ltset_attribute_int_c(hid_t_f *loc_id, int_f *namelen, _fcd dsetname, diff --git a/hl/fortran/src/H5LTfc.c b/hl/fortran/src/H5LTfc.c index 0985aac..484acf1 100755 --- a/hl/fortran/src/H5LTfc.c +++ b/hl/fortran/src/H5LTfc.c @@ -132,6 +132,50 @@ nh5ltmake_dataset_int3_c (hid_t_f *loc_id, return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); } int_f +nh5ltmake_dataset_int4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_int5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_int6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_int7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f nh5ltmake_dataset_fl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -165,6 +209,50 @@ nh5ltmake_dataset_fl3_c (hid_t_f *loc_id, return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); } int_f +nh5ltmake_dataset_fl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_fl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_fl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_fl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f nh5ltmake_dataset_dl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -198,6 +286,50 @@ nh5ltmake_dataset_dl3_c (hid_t_f *loc_id, return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); } int_f +nh5ltmake_dataset_dl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_dl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_dl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_dl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f nh5ltmake_dataset_nint1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -231,6 +363,50 @@ nh5ltmake_dataset_nint3_c (hid_t_f *loc_id, return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); } int_f +nh5ltmake_dataset_nint4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_nint5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_nint6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_nint7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -264,6 +440,50 @@ nh5ltmake_dataset_nfl3_c (hid_t_f *loc_id, return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); } int_f +nh5ltmake_dataset_nfl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_nfl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_nfl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_nfl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f nh5ltmake_dataset_ndl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -296,6 +516,50 @@ nh5ltmake_dataset_ndl3_c (hid_t_f *loc_id, { return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); } +int_f +nh5ltmake_dataset_ndl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_ndl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_ndl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} +int_f +nh5ltmake_dataset_ndl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + int_f *rank, + hsize_t_f *dims, + hid_t_f *type_id, + void *buf) +{ + return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf); +} /*------------------------------------------------------------------------- * Function: H5LTread_dataset_c * @@ -389,6 +653,46 @@ nh5ltread_dataset_int3_c (hid_t_f *loc_id, return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); } int_f +nh5ltread_dataset_int4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_int5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_int6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_int7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f nh5ltread_dataset_fl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -419,6 +723,46 @@ nh5ltread_dataset_fl3_c (hid_t_f *loc_id, return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); } int_f +nh5ltread_dataset_fl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_fl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_fl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_fl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f nh5ltread_dataset_dl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -449,6 +793,46 @@ nh5ltread_dataset_dl3_c (hid_t_f *loc_id, return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); } int_f +nh5ltread_dataset_dl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_dl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_dl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_dl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f nh5ltread_dataset_nint1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -479,6 +863,46 @@ nh5ltread_dataset_nint3_c (hid_t_f *loc_id, return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); } int_f +nh5ltread_dataset_nint4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_nint5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_nint6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_nint7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f nh5ltread_dataset_nfl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -509,6 +933,46 @@ nh5ltread_dataset_nfl3_c (hid_t_f *loc_id, return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); } int_f +nh5ltread_dataset_nfl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_nfl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_nfl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_nfl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f nh5ltread_dataset_ndl1_c (hid_t_f *loc_id, int_f *namelen, _fcd name, @@ -538,6 +1002,46 @@ nh5ltread_dataset_ndl3_c (hid_t_f *loc_id, { return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); } +int_f +nh5ltread_dataset_ndl4_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_ndl5_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_ndl6_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} +int_f +nh5ltread_dataset_ndl7_c (hid_t_f *loc_id, + int_f *namelen, + _fcd name, + hid_t_f *type_id, + void *buf, + hsize_t_f *dims) +{ + return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims); +} /*------------------------------------------------------------------------- * Function: H5LTmake_dataset_string_c * diff --git a/hl/fortran/src/H5LTff.f90 b/hl/fortran/src/H5LTff.f90 index 0c07449..cbc9b96 100755 --- a/hl/fortran/src/H5LTff.f90 +++ b/hl/fortran/src/H5LTff.f90 @@ -17,3370 +17,6300 @@ ! 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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_int1 -!DEC$endif -! - - 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_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT1_C'::h5ltmake_dataset_int1_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_int1_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_int1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_int2 -!DEC$endif -! - - 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_int2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT2_C'::h5ltmake_dataset_int2_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_int2_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_int2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_int3 -!DEC$endif -! - - 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_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT3_C'::h5ltmake_dataset_int3_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_int3_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_int3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_float1 -!DEC$endif -! - - 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_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL1_C'::h5ltmake_dataset_fl1_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_fl1_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_fl1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_float2 -!DEC$endif -! - - 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_fl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL2_C'::h5ltmake_dataset_fl2_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_fl2_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_fl2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_float3 -!DEC$endif -! - - 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_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL3_C'::h5ltmake_dataset_fl3_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_fl3_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_fl3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_double1 -!DEC$endif -! - - 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_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL1_C'::h5ltmake_dataset_dl1_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_dl1_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_dl1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_double2 -!DEC$endif -! - - 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_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL2_C'::h5ltmake_dataset_dl2_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_dl2_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_dl2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_f_double3 -!DEC$endif -! - - 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_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL3_C'::h5ltmake_dataset_dl3_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_dl3_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_dl3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_f_int1 -!DEC$endif -! - - 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_int1_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT1_C'::h5ltread_dataset_int1_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_int1_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_int1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_f_int2 -!DEC$endif -! - - 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_int2_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT2_C'::h5ltread_dataset_int2_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_int2_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_int2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_f_int3 -!DEC$endif -! - - 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_int3_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT3_C'::h5ltread_dataset_int3_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_int3_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_int3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_f_float1 -!DEC$endif -! - - 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_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL1_C'::h5ltread_dataset_fl1_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_fl1_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_fl1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_f_float2 -!DEC$endif -! - - - 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_fl2_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL2_C'::h5ltread_dataset_fl2_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_fl2_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_fl2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_f_float3 -!DEC$endif -! - - 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_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL3_C'::h5ltread_dataset_fl3_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_fl3_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_fl3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport ::h5ltread_dataset_f_double1 -!DEC$endif -! - - 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_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL1_C'::h5ltread_dataset_dl1_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_dl1_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_dl1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_f_double2 -!DEC$endif -! - - 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_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL2_C'::h5ltread_dataset_dl2_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_dl2_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_dl2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_f_double3 -!DEC$endif -! - - 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_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL3_C'::h5ltread_dataset_dl3_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_dl3_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_dl3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_int_f_1 -!DEC$endif -! - - 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_nint1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT1_C'::h5ltmake_dataset_nint1_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_nint1_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_nint1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_int_f_2 -!DEC$endif -! - - 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_nint2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT2_C'::h5ltmake_dataset_nint2_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_nint2_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_nint2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_int_f_3 -!DEC$endif -! - - 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_nint3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT3_C'::h5ltmake_dataset_nint3_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_nint3_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_nint3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_float_f_1 -!DEC$endif -! - - 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_nfl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL1_C'::h5ltmake_dataset_nfl1_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_nfl1_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_nfl1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_float_f_2 -!DEC$endif -! - - 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_nfl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL2_C'::h5ltmake_dataset_nfl2_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_nfl2_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_nfl2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_float_f_3 -!DEC$endif -! - - 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_nfl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL3_C'::h5ltmake_dataset_nfl3_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_nfl3_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_nfl3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_double_f_1 -!DEC$endif -! - - 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_ndl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL1_C'::h5ltmake_dataset_ndl1_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_ndl1_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_ndl1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_double_f_2 -!DEC$endif -! - - 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_ndl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL2_C'::h5ltmake_dataset_ndl2_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_ndl2_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_ndl2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_double_f_3 -!DEC$endif -! - - 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_ndl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL3_C'::h5ltmake_dataset_ndl3_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_ndl3_c - end interface - - namelen = len(dset_name) - errcode = h5ltmake_dataset_ndl3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_int_f_1 -!DEC$endif -! - - 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_nint1_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT1_C'::h5ltread_dataset_nint1_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_nint1_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_nint1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_int_f_2 -!DEC$endif -! - - 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_nint2_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT2_C'::h5ltread_dataset_nint2_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_nint2_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_nint2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_int_f_3 -!DEC$endif -! - - 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_nint3_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT3_C'::h5ltread_dataset_nint3_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_nint3_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_nint3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_float_f_1 -!DEC$endif -! - - 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_nfl1_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL1_C'::h5ltread_dataset_nfl1_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_nfl1_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_nfl1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_float_f_2 -!DEC$endif -! - - 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_nfl2_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL2_C'::h5ltread_dataset_nfl2_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_nfl2_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_nfl2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_float_f_3 -!DEC$endif -! - - 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_nfl3_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL3_C'::h5ltread_dataset_nfl3_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_nfl3_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_nfl3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_double_f_1 -!DEC$endif -! - - 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_ndl1_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL1_C'::h5ltread_dataset_ndl1_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_ndl1_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_ndl1_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_double_f_2 -!DEC$endif -! - - 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_ndl2_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL2_C'::h5ltread_dataset_ndl2_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_ndl2_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_ndl2_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_double_f_3 -!DEC$endif -! - - 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_ndl3_c(loc_id,namelen,dset_name,type_id,buf,dims) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL3_C'::h5ltread_dataset_ndl3_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_ndl3_c - end interface - - namelen = len(dset_name) - errcode = h5ltread_dataset_ndl3_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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltmake_dataset_string_f -!DEC$endif -! - - 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 - integer :: buflen ! buffer length - - interface - integer function h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,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 - integer :: buflen ! lenght of data 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) - buflen = len(buf) - errcode = h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltread_dataset_string_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltset_attribute_int_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltset_attribute_float_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltset_attribute_double_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltset_attribute_string_f -!DEC$endif -! - - 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 - integer :: buflen ! data buffer length - - interface - integer function h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf) - use h5global - !DEC$IF DEFINED(HDF5F90_WINDOWS) - !DEC$ATTRIBUTES C,reference,decorate,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 - integer :: buflen ! data buffer length - 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) - buflen = len(buf) - errcode = h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltget_attribute_int_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltget_attribute_float_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltget_attribute_double_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltget_attribute_string_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltget_dataset_ndims_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltfind_dataset_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltget_dataset_info_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltget_attribute_ndims_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 - -! -!This definition is needed for Windows DLLs -!DEC$if defined(BUILD_HDF5_DLL) -!DEC$attributes dllexport :: h5ltget_attribute_info_f -!DEC$endif -! - - 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) - !DEC$ATTRIBUTES C,reference,decorate,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 +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_int4 + MODULE PROCEDURE h5ltmake_dataset_f_int5 + MODULE PROCEDURE h5ltmake_dataset_f_int6 + MODULE PROCEDURE h5ltmake_dataset_f_int7 + MODULE PROCEDURE h5ltmake_dataset_f_float1 + MODULE PROCEDURE h5ltmake_dataset_f_float2 + MODULE PROCEDURE h5ltmake_dataset_f_float3 + MODULE PROCEDURE h5ltmake_dataset_f_float4 + MODULE PROCEDURE h5ltmake_dataset_f_float5 + MODULE PROCEDURE h5ltmake_dataset_f_float6 + MODULE PROCEDURE h5ltmake_dataset_f_float7 + MODULE PROCEDURE h5ltmake_dataset_f_double1 + MODULE PROCEDURE h5ltmake_dataset_f_double2 + MODULE PROCEDURE h5ltmake_dataset_f_double3 + MODULE PROCEDURE h5ltmake_dataset_f_double4 + MODULE PROCEDURE h5ltmake_dataset_f_double5 + MODULE PROCEDURE h5ltmake_dataset_f_double6 + MODULE PROCEDURE h5ltmake_dataset_f_double7 + 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_int4 + MODULE PROCEDURE h5ltread_dataset_f_int5 + MODULE PROCEDURE h5ltread_dataset_f_int6 + MODULE PROCEDURE h5ltread_dataset_f_int7 + MODULE PROCEDURE h5ltread_dataset_f_float1 + MODULE PROCEDURE h5ltread_dataset_f_float2 + MODULE PROCEDURE h5ltread_dataset_f_float3 + MODULE PROCEDURE h5ltread_dataset_f_float4 + MODULE PROCEDURE h5ltread_dataset_f_float5 + MODULE PROCEDURE h5ltread_dataset_f_float6 + MODULE PROCEDURE h5ltread_dataset_f_float7 + MODULE PROCEDURE h5ltread_dataset_f_double1 + MODULE PROCEDURE h5ltread_dataset_f_double2 + MODULE PROCEDURE h5ltread_dataset_f_double3 + MODULE PROCEDURE h5ltread_dataset_f_double4 + MODULE PROCEDURE h5ltread_dataset_f_double5 + MODULE PROCEDURE h5ltread_dataset_f_double6 + MODULE PROCEDURE h5ltread_dataset_f_double7 + 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 + MODULE PROCEDURE h5ltmake_dataset_int_f_4 + MODULE PROCEDURE h5ltmake_dataset_int_f_5 + MODULE PROCEDURE h5ltmake_dataset_int_f_6 + MODULE PROCEDURE h5ltmake_dataset_int_f_7 + 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 + MODULE PROCEDURE h5ltmake_dataset_float_f_4 + MODULE PROCEDURE h5ltmake_dataset_float_f_5 + MODULE PROCEDURE h5ltmake_dataset_float_f_6 + MODULE PROCEDURE h5ltmake_dataset_float_f_7 + 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 + MODULE PROCEDURE h5ltmake_dataset_double_f_4 + MODULE PROCEDURE h5ltmake_dataset_double_f_5 + MODULE PROCEDURE h5ltmake_dataset_double_f_6 + MODULE PROCEDURE h5ltmake_dataset_double_f_7 + 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 + MODULE PROCEDURE h5ltread_dataset_int_f_4 + MODULE PROCEDURE h5ltread_dataset_int_f_5 + MODULE PROCEDURE h5ltread_dataset_int_f_6 + MODULE PROCEDURE h5ltread_dataset_int_f_7 + 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 + MODULE PROCEDURE h5ltread_dataset_float_f_4 + MODULE PROCEDURE h5ltread_dataset_float_f_5 + MODULE PROCEDURE h5ltread_dataset_float_f_6 + MODULE PROCEDURE h5ltread_dataset_float_f_7 + 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 + MODULE PROCEDURE h5ltread_dataset_double_f_4 + MODULE PROCEDURE h5ltread_dataset_double_f_5 + MODULE PROCEDURE h5ltread_dataset_double_f_6 + MODULE PROCEDURE h5ltread_dataset_double_f_7 + 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_int1 + !DEC$endif + ! + + 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_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT1_C'::h5ltmake_dataset_int1_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_int1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_int1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_int2 + !DEC$endif + ! + + 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_int2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT2_C'::h5ltmake_dataset_int2_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_int2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_int2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_int3 + !DEC$endif + ! + + 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_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT3_C'::h5ltmake_dataset_int3_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_int3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_int3 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_int4 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_int4(loc_id, dset_name, rank, dims, & + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_int4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_int4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT4_C'::h5ltmake_dataset_int4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_int4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_int4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_int4 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_int5 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_int5(loc_id, dset_name, rank, dims, & + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_int5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_int5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT5_C'::h5ltmake_dataset_int5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_int5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_int5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_int5 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_int6 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_int6(loc_id, dset_name, rank, dims, & + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_int6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_int6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT6_C'::h5ltmake_dataset_int6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_int6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_int6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_int6 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_int7 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_int7(loc_id, dset_name, rank, dims, & + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_int7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_int7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT7_C'::h5ltmake_dataset_int7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_int7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_int7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_int7 + + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_float1 + !DEC$endif + ! + + 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_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL1_C'::h5ltmake_dataset_fl1_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_fl1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_fl1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_float2 + !DEC$endif + ! + + 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_fl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL2_C'::h5ltmake_dataset_fl2_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_fl2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_fl2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_float3 + !DEC$endif + ! + + 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_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL3_C'::h5ltmake_dataset_fl3_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_fl3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_float3 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_float4 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_float4(loc_id, dset_name, rank, dims,& + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_float4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_fl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL4_C'::h5ltmake_dataset_fl4_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), dims(4)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_fl4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_fl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_float4 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_float5 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_float5(loc_id, dset_name, rank, dims,& + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_float5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_fl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL5_C'::h5ltmake_dataset_fl5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_fl5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_fl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_float5 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_float6 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_float6(loc_id, dset_name, rank, dims,& + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_float6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_fl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL6_C'::h5ltmake_dataset_fl6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_fl6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_fl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_float6 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_float7 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_float7(loc_id, dset_name, rank, dims,& + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_float7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_fl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL7_C'::h5ltmake_dataset_fl7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_fl7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_fl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_float7 + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_double1 + !DEC$endif + ! + + 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_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL1_C'::h5ltmake_dataset_dl1_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_dl1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_dl1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_double2 + !DEC$endif + ! + + 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_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL2_C'::h5ltmake_dataset_dl2_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_dl2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_dl2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_double3 + !DEC$endif + ! + + 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_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL3_C'::h5ltmake_dataset_dl3_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_dl3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_double3 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_double4 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_double4(loc_id, dset_name, rank, dims, & + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_double4 + !DEC$endif + ! + + 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), dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL4_C'::h5ltmake_dataset_dl4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_dl4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_double4 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_double5 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_double5(loc_id, dset_name, rank, dims, & + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_double5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL5_C'::h5ltmake_dataset_dl5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_dl5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_double5 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_double6 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_double6(loc_id, dset_name, rank, dims, & + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_double6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL6_C'::h5ltmake_dataset_dl6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_dl6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_double6 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_f_double7 + ! + ! Purpose: Creates and writes a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 7, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_f_double7(loc_id, dset_name, rank, dims, & + type_id, buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_f_double7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL7_C'::h5ltmake_dataset_dl7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_dl7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + + END SUBROUTINE h5ltmake_dataset_f_double7 + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_int1 + !DEC$endif + ! + + 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_int1_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT1_C'::h5ltread_dataset_int1_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_int1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_int1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_int2 + !DEC$endif + ! + + 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_int2_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT2_C'::h5ltread_dataset_int2_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_int2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_int2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_int3 + !DEC$endif + ! + + 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_int3_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT3_C'::h5ltread_dataset_int3_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_int3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_int3_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_int3 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_int4 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 12, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_int4(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_int4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_int4_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT4_C'::h5ltread_dataset_int4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_int4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_int4_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_int4 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_int5 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 12, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_int5(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_int5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_int5_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT5_C'::h5ltread_dataset_int5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_int5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_int5_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_int5 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_int6 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 12, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_int6(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_int6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_int6_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT6_C'::h5ltread_dataset_int6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_int6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_int6_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_int6 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_int7 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 12, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_int7(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_int7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_int7_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT7_C'::h5ltread_dataset_int7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_int7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_int7_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_int7 + + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_float1 + !DEC$endif + ! + + 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_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL1_C'::h5ltread_dataset_fl1_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_fl1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_fl1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_float2 + !DEC$endif + ! + + + 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_fl2_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL2_C'::h5ltread_dataset_fl2_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_fl2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_fl2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_float3 + !DEC$endif + ! + + 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_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL3_C'::h5ltread_dataset_fl3_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_fl3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_float3 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_float4 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_float4(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_float4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_fl4_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL4_C'::h5ltread_dataset_fl4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_fl4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_fl4_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_float4 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_float5 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_float5(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_float5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_fl5_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL5_C'::h5ltread_dataset_fl5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_fl5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_fl5_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_float5 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_float6 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_float6(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_float6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_fl6_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL6_C'::h5ltread_dataset_fl6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_fl6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_fl6_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_float6 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_float7 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_float7(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_float7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_fl7_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL7_C'::h5ltread_dataset_fl7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_fl7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_fl7_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_float7 + + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport ::h5ltread_dataset_f_double1 + !DEC$endif + ! + + 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_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL1_C'::h5ltread_dataset_dl1_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_dl1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_dl1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_double2 + !DEC$endif + ! + + 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_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL2_C'::h5ltread_dataset_dl2_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_dl2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_dl2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_double3 + !DEC$endif + ! + + 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_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL3_C'::h5ltread_dataset_dl3_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_dl3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_double3 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_double4 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_double4(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_double4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL4_C'::h5ltread_dataset_dl4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_dl4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_double4 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_double5 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_double5(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_double5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL5_C'::h5ltread_dataset_dl5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_dl5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_double5 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_double6 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_double6(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_double6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL6_C'::h5ltread_dataset_dl6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_dl6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_double6 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_f_double7 + ! + ! Purpose: Read a dataset of a type TYPE_ID + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_f_double7(loc_id, dset_name, type_id, buf, & + dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_f_double7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL7_C'::h5ltread_dataset_dl7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_dl7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims) + + END SUBROUTINE h5ltread_dataset_f_double7 + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_int_f_1 + !DEC$endif + ! + + 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_nint1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT1_C'::h5ltmake_dataset_nint1_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_nint1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nint1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_int_f_2 + !DEC$endif + ! + + 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_nint2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT2_C'::h5ltmake_dataset_nint2_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_nint2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nint2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_int_f_3 + !DEC$endif + ! + + 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_nint3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT3_C'::h5ltmake_dataset_nint3_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_nint3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nint3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf) + + END SUBROUTINE h5ltmake_dataset_int_f_3 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_int_f_4 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_int_f_4(loc_id, dset_name, rank, dims, & + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_int_f_4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_nint4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT4_C'::h5ltmake_dataset_nint4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_nint4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nint4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf) + + END SUBROUTINE h5ltmake_dataset_int_f_4 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_int_f_5 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_int_f_5(loc_id, dset_name, rank, dims, & + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_int_f_5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_nint5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT5_C'::h5ltmake_dataset_nint5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_nint5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nint5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf) + + END SUBROUTINE h5ltmake_dataset_int_f_5 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_int_f_6 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_int_f_6(loc_id, dset_name, rank, dims, & + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_int_f_6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_nint6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT6_C'::h5ltmake_dataset_nint6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_nint6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nint6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf) + + END SUBROUTINE h5ltmake_dataset_int_f_6 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_int_f_7 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_int_f_7(loc_id, dset_name, rank, dims, & + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_int_f_7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_nint7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT7_C'::h5ltmake_dataset_nint7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_nint7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nint7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf) + + END SUBROUTINE h5ltmake_dataset_int_f_7 + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_float_f_1 + !DEC$endif + ! + + 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_nfl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL1_C'::h5ltmake_dataset_nfl1_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_nfl1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nfl1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_float_f_2 + !DEC$endif + ! + + 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_nfl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL2_C'::h5ltmake_dataset_nfl2_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_nfl2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nfl2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_float_f_3 + !DEC$endif + ! + + 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_nfl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL3_C'::h5ltmake_dataset_nfl3_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_nfl3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nfl3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf) + + END SUBROUTINE h5ltmake_dataset_float_f_3 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_float_f_4 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_float_f_4 (loc_id, dset_name, rank, dims, & + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_float_f_4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_nfl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL4_C'::h5ltmake_dataset_nfl4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_nfl4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nfl4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf) + + END SUBROUTINE h5ltmake_dataset_float_f_4 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_float_f_5 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_float_f_5 (loc_id, dset_name, rank, dims, & + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_float_f_5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_nfl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL5_C'::h5ltmake_dataset_nfl5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_nfl5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nfl5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf) + + END SUBROUTINE h5ltmake_dataset_float_f_5 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_float_f_6 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_float_f_6 (loc_id, dset_name, rank, dims, & + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_float_f_6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_nfl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL6_C'::h5ltmake_dataset_nfl6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_nfl6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nfl6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf) + + END SUBROUTINE h5ltmake_dataset_float_f_6 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_float_f_7 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_float_f_7 (loc_id, dset_name, rank, dims, & + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_float_f_7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_nfl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL7_C'::h5ltmake_dataset_nfl7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_nfl7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_nfl7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf) + + END SUBROUTINE h5ltmake_dataset_float_f_7 + + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_double_f_1 + !DEC$endif + ! + + 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_ndl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL1_C'::h5ltmake_dataset_ndl1_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_ndl1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_ndl1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_double_f_2 + !DEC$endif + ! + + 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_ndl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL2_C'::h5ltmake_dataset_ndl2_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_ndl2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_ndl2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_double_f_3 + !DEC$endif + ! + + 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_ndl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL3_C'::h5ltmake_dataset_ndl3_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_ndl3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf) + + END SUBROUTINE h5ltmake_dataset_double_f_3 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_double_f_4 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_double_f_4 (loc_id, dset_name, rank, dims,& + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_double_f_4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL4_C'::h5ltmake_dataset_ndl4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_ndl4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf) + + END SUBROUTINE h5ltmake_dataset_double_f_4 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_double_f_5 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_double_f_5 (loc_id, dset_name, rank, dims,& + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL5_C'::h5ltmake_dataset_ndl5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_ndl5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf) + + END SUBROUTINE h5ltmake_dataset_double_f_5 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_double_f_6 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_double_f_6 (loc_id, dset_name, rank, dims,& + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL6_C'::h5ltmake_dataset_ndl6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_ndl6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf) + + END SUBROUTINE h5ltmake_dataset_double_f_6 + + !------------------------------------------------------------------------- + ! Function: h5ltmake_dataset_double_f_7 + ! + ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltmake_dataset_double_f_7 (loc_id, dset_name, rank, dims,& + buf, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL7_C'::h5ltmake_dataset_ndl7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltmake_dataset_ndl7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf) + + END SUBROUTINE h5ltmake_dataset_double_f_7 + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_int_f_1 + !DEC$endif + ! + + 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_nint1_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT1_C'::h5ltread_dataset_nint1_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_nint1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nint1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_int_f_2 + !DEC$endif + ! + + 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_nint2_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT2_C'::h5ltread_dataset_nint2_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_nint2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nint2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_int_f_3 + !DEC$endif + ! + + 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_nint3_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT3_C'::h5ltread_dataset_nint3_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_nint3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nint3_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims) + + END SUBROUTINE h5ltread_dataset_int_f_3 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_int_f_4 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_int_f_4(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_int_f_4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_nint4_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT4_C'::h5ltread_dataset_nint4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_nint4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nint4_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims) + + END SUBROUTINE h5ltread_dataset_int_f_4 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_int_f_5 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_int_f_5(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_int_f_5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_nint5_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT5_C'::h5ltread_dataset_nint5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_nint5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nint5_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims) + + END SUBROUTINE h5ltread_dataset_int_f_5 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_int_f_6 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_int_f_6(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_int_f_6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_nint6_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT6_C'::h5ltread_dataset_nint6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_nint6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nint6_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims) + + END SUBROUTINE h5ltread_dataset_int_f_6 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_int_f_7 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_int_f_7(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_int_f_7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_nint7_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT7_C'::h5ltread_dataset_nint7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_nint7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nint7_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims) + + END SUBROUTINE h5ltread_dataset_int_f_7 + + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_float_f_1 + !DEC$endif + ! + + 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_nfl1_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL1_C'::h5ltread_dataset_nfl1_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_nfl1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nfl1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_float_f_2 + !DEC$endif + ! + + 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_nfl2_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL2_C'::h5ltread_dataset_nfl2_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_nfl2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nfl2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_float_f_3 + !DEC$endif + ! + + 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_nfl3_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL3_C'::h5ltread_dataset_nfl3_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_nfl3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nfl3_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims) + + END SUBROUTINE h5ltread_dataset_float_f_3 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_float_f_4 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_float_f_4(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_float_f_4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_nfl4_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL4_C'::h5ltread_dataset_nfl4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_nfl4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nfl4_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims) + + END SUBROUTINE h5ltread_dataset_float_f_4 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_float_f_5 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_float_f_5(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_float_f_5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_nfl5_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL5_C'::h5ltread_dataset_nfl5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_nfl5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nfl5_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims) + + END SUBROUTINE h5ltread_dataset_float_f_5 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_float_f_6 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_float_f_6(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_float_f_6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_nfl6_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL6_C'::h5ltread_dataset_nfl6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_nfl6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nfl6_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims) + + END SUBROUTINE h5ltread_dataset_float_f_6 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_float_f_7 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_float_f_7(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_float_f_7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_nfl7_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL7_C'::h5ltread_dataset_nfl7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_nfl7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_nfl7_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims) + + END SUBROUTINE h5ltread_dataset_float_f_7 + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_double_f_1 + !DEC$endif + ! + + 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_ndl1_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL1_C'::h5ltread_dataset_ndl1_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_ndl1_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_ndl1_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_double_f_2 + !DEC$endif + ! + + 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_ndl2_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL2_C'::h5ltread_dataset_ndl2_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_ndl2_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_ndl2_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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_double_f_3 + !DEC$endif + ! + + 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_ndl3_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL3_C'::h5ltread_dataset_ndl3_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_ndl3_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims) + + END SUBROUTINE h5ltread_dataset_double_f_3 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_double_f_4 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_double_f_4(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_double_f_4 + !DEC$endif + ! + + 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),dims(4)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL4_C'::h5ltread_dataset_ndl4_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),dims(4)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_ndl4_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims) + + END SUBROUTINE h5ltread_dataset_double_f_4 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_double_f_5 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_double_f_5(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_double_f_5 + !DEC$endif + ! + + 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),dims(4),dims(5)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL5_C'::h5ltread_dataset_ndl5_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),dims(4),dims(5)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_ndl5_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims) + + END SUBROUTINE h5ltread_dataset_double_f_5 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_double_f_6 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_double_f_6(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_double_f_6 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL6_C'::h5ltread_dataset_ndl6_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),dims(4),dims(5),dims(6)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_ndl6_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims) + + END SUBROUTINE h5ltread_dataset_double_f_6 + + !------------------------------------------------------------------------- + ! Function: h5ltread_dataset_double_f_7 + ! + ! Purpose: Read a dataset + ! + ! Return: Success: 0, Failure: -1 + ! + ! Programmer: M. Scot Breitenfeld + ! + ! Date: March 8, 2011 + ! + ! Comments: + ! + ! Modifications: + ! + !------------------------------------------------------------------------- + + SUBROUTINE h5ltread_dataset_double_f_7(loc_id, dset_name, buf, dims, errcode ) + + IMPLICIT NONE + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_double_f_7 + !DEC$endif + ! + + 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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + + INTERFACE + INTEGER FUNCTION h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,type_id,buf,dims) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL7_C'::h5ltread_dataset_ndl7_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),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer + END FUNCTION h5ltread_dataset_ndl7_c + END INTERFACE + + namelen = LEN(dset_name) + errcode = h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims) + + END SUBROUTINE h5ltread_dataset_double_f_7 + + + !------------------------------------------------------------------------- + ! 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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltmake_dataset_string_f + !DEC$endif + ! + + 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 + INTEGER :: buflen ! buffer length + + INTERFACE + INTEGER FUNCTION h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,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 + INTEGER :: buflen ! lenght of data 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) + buflen = LEN(buf) + errcode = h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltread_dataset_string_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltset_attribute_int_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltset_attribute_float_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltset_attribute_double_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltset_attribute_string_f + !DEC$endif + ! + + 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 + INTEGER :: buflen ! data buffer length + + INTERFACE + INTEGER FUNCTION h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf) + USE h5global + !DEC$IF DEFINED(HDF5F90_WINDOWS) + !DEC$ATTRIBUTES C,reference,decorate,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 + INTEGER :: buflen ! data buffer length + 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) + buflen = LEN(buf) + errcode = h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltget_attribute_int_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltget_attribute_float_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltget_attribute_double_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltget_attribute_string_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltget_dataset_ndims_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltfind_dataset_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltget_dataset_info_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltget_attribute_ndims_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 + + ! + !This definition is needed for Windows DLLs + !DEC$if defined(BUILD_HDF5_DLL) + !DEC$attributes dllexport :: h5ltget_attribute_info_f + !DEC$endif + ! + + 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) + !DEC$ATTRIBUTES C,reference,decorate,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 diff --git a/hl/fortran/test/tstlite.f90 b/hl/fortran/test/tstlite.f90 index 504b8d7..b0e28f9 100644 --- a/hl/fortran/test/tstlite.f90 +++ b/hl/fortran/test/tstlite.f90 @@ -17,67 +17,71 @@ ! This file contains the FORTRAN90 tests for H5LT ! -program lite_test +PROGRAM lite_test -call test_dataset1D() -call test_dataset2D() -call test_dataset3D() -call test_datasets() -call test_attributes() + CALL test_dataset1D() + CALL test_dataset2D() + CALL test_dataset3D() + CALL test_datasetND(4) + CALL test_datasetND(5) + CALL test_datasetND(6) + CALL test_datasetND(7) + CALL test_datasets() + CALL test_attributes() -end program lite_test +END PROGRAM lite_test !------------------------------------------------------------------------- ! test_dataset1D !------------------------------------------------------------------------- -subroutine test_dataset1D() +SUBROUTINE test_dataset1D() -use H5LT ! module of H5LT -use HDF5 ! module of HDF5 library +USE H5LT ! module of H5LT +USE HDF5 ! module of HDF5 library -implicit none +IMPLICIT NONE -integer, parameter :: DIM1 = 4; ! Dimension of array -character(len=9), parameter :: filename = "dsetf1.h5"! File name -character(LEN=5), parameter :: dsetname1 = "dset1" ! Dataset name -character(LEN=5), parameter :: dsetname2 = "dset2" ! Dataset name -character(LEN=5), parameter :: dsetname3 = "dset3" ! Dataset name -integer(HID_T) :: file_id ! File identifier -integer(HSIZE_T), dimension(1) :: dims = (/DIM1/) ! Dataset dimensions -integer :: rank = 1 ! Dataset rank -integer, dimension(DIM1) :: buf1 ! Data buffer -integer, dimension(DIM1) :: bufr1 ! Data buffer -real, dimension(DIM1) :: buf2 ! Data buffer -real, dimension(DIM1) :: bufr2 ! Data buffer -double precision, dimension(DIM1) :: buf3 ! Data buffer -double precision, dimension(DIM1) :: bufr3 ! Data buffer -integer :: errcode ! Error flag -integer :: i ! general purpose integer +INTEGER, PARAMETER :: DIM1 = 4; ! Dimension of array +CHARACTER(len=9), PARAMETER :: filename = "dsetf1.h5"! File name +CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name +CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name +CHARACTER(LEN=5), PARAMETER :: dsetname3 = "dset3" ! Dataset name +INTEGER(HID_T) :: file_id ! File identifier +INTEGER(HSIZE_T), DIMENSION(1) :: dims = (/DIM1/) ! Dataset dimensions +INTEGER :: rank = 1 ! Dataset rank +INTEGER, DIMENSION(DIM1) :: buf1 ! Data buffer +INTEGER, DIMENSION(DIM1) :: bufr1 ! Data buffer +REAL, DIMENSION(DIM1) :: buf2 ! Data buffer +REAL, DIMENSION(DIM1) :: bufr2 ! Data buffer +DOUBLE PRECISION, DIMENSION(DIM1) :: buf3 ! Data buffer +DOUBLE PRECISION, DIMENSION(DIM1) :: bufr3 ! Data buffer +INTEGER :: errcode ! Error flag +INTEGER :: i ! general purpose integer -call test_begin(' Make/Read datasets (1D) ') +CALL test_begin(' Make/Read datasets (1D) ') ! ! Initialize the data array. ! -do i = 1, DIM1 +DO i = 1, DIM1 buf1(i) = i; buf2(i) = i; buf3(i) = i; -end do +END DO ! ! Initialize FORTRAN predefined datatypes. ! -call h5open_f(errcode) +CALL h5open_f(errcode) ! ! Create a new file using default properties. ! -call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) +CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) !------------------------------------------------------------------------- ! H5T_NATIVE_INTEGER @@ -86,23 +90,23 @@ call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname1, rank, dims, H5T_NATIVE_INTEGER, buf1, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname1, rank, dims, H5T_NATIVE_INTEGER, buf1, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr1, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr1, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, DIM1 - if ( buf1(i) .ne. bufr1(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr1(i), ' and ', buf1(i) - stop - endif -end do +DO i = 1, DIM1 + IF ( buf1(i) .NE. bufr1(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr1(i), ' and ', buf1(i) + STOP + ENDIF +END DO !------------------------------------------------------------------------- ! H5T_NATIVE_REAL @@ -111,23 +115,23 @@ end do ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname2, rank, dims, H5T_NATIVE_REAL, buf2, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims, H5T_NATIVE_REAL, buf2, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_REAL, bufr2, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_REAL, bufr2, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, DIM1 - if ( buf2(i) .ne. bufr2(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr2(i), ' and ', buf2(i) - stop - endif -end do +DO i = 1, DIM1 + IF ( buf2(i) .NE. bufr2(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr2(i), ' and ', buf2(i) + STOP + ENDIF +END DO !------------------------------------------------------------------------- ! H5T_NATIVE_DOUBLE @@ -136,103 +140,103 @@ end do ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_DOUBLE, buf3, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_DOUBLE, buf3, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_DOUBLE, bufr3, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_DOUBLE, bufr3, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, DIM1 - if ( buf3(i) .ne. bufr3(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr3(i), ' and ', buf3(i) - stop - endif -end do +DO i = 1, DIM1 + IF ( buf3(i) .NE. bufr3(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr3(i), ' and ', buf3(i) + STOP + ENDIF +END DO ! ! Close the file. ! -call h5fclose_f(file_id, errcode) +CALL h5fclose_f(file_id, errcode) ! ! Close FORTRAN predefined datatypes. ! -call h5close_f(errcode) +CALL h5close_f(errcode) -call passed() +CALL passed() ! ! end function. ! -end subroutine test_dataset1D +END SUBROUTINE test_dataset1D !------------------------------------------------------------------------- ! test_dataset2D !------------------------------------------------------------------------- -subroutine test_dataset2D() +SUBROUTINE test_dataset2D() -use H5LT ! module of H5LT -use HDF5 ! module of HDF5 library +USE H5LT ! module of H5LT +USE HDF5 ! module of HDF5 library -implicit none +IMPLICIT NONE -integer, parameter :: DIM1 = 4; ! columns -integer, parameter :: DIM2 = 6; ! rows -character(len=9), parameter :: filename = "dsetf2.h5"! File name -character(LEN=5), parameter :: dsetname1 = "dset1" ! Dataset name -character(LEN=5), parameter :: dsetname2 = "dset2" ! Dataset name -character(LEN=5), parameter :: dsetname3 = "dset3" ! Dataset name -character(LEN=5), parameter :: dsetname4 = "dset4" ! Dataset name -integer(HID_T) :: file_id ! File identifier -integer(HSIZE_T), dimension(2) :: dims = (/4,6/) ! Dataset dimensions -integer :: rank = 2 ! Dataset rank -integer, dimension(DIM1*DIM2) :: buf ! Data buffer -integer, dimension(DIM1*DIM2) :: bufr ! Data buffer -integer, dimension(DIM1,DIM2) :: buf2 ! Data buffer -integer, dimension(DIM1,DIM2) :: buf2r ! Data buffer -real, dimension(DIM1,DIM2) :: buf3 ! Data buffer -real, dimension(DIM1,DIM2) :: buf3r ! Data buffer -double precision, dimension(DIM1,DIM2) :: buf4 ! Data buffer -double precision, dimension(DIM1,DIM2) :: buf4r ! Data buffer -integer :: errcode ! Error flag -integer :: i, j, n ! general purpose integers +INTEGER, PARAMETER :: DIM1 = 4; ! columns +INTEGER, PARAMETER :: DIM2 = 6; ! rows +CHARACTER(len=9), PARAMETER :: filename = "dsetf2.h5"! File name +CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name +CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name +CHARACTER(LEN=5), PARAMETER :: dsetname3 = "dset3" ! Dataset name +CHARACTER(LEN=5), PARAMETER :: dsetname4 = "dset4" ! Dataset name +INTEGER(HID_T) :: file_id ! File identifier +INTEGER(HSIZE_T), DIMENSION(2) :: dims = (/4,6/) ! Dataset dimensions +INTEGER :: rank = 2 ! Dataset rank +INTEGER, DIMENSION(DIM1*DIM2) :: buf ! Data buffer +INTEGER, DIMENSION(DIM1*DIM2) :: bufr ! Data buffer +INTEGER, DIMENSION(DIM1,DIM2) :: buf2 ! Data buffer +INTEGER, DIMENSION(DIM1,DIM2) :: buf2r ! Data buffer +REAL, DIMENSION(DIM1,DIM2) :: buf3 ! Data buffer +REAL, DIMENSION(DIM1,DIM2) :: buf3r ! Data buffer +DOUBLE PRECISION, DIMENSION(DIM1,DIM2) :: buf4 ! Data buffer +DOUBLE PRECISION, DIMENSION(DIM1,DIM2) :: buf4r ! Data buffer +INTEGER :: errcode ! Error flag +INTEGER :: i, j, n ! general purpose integers -call test_begin(' Make/Read datasets (2D) ') +CALL test_begin(' Make/Read datasets (2D) ') ! ! Initialize the data arrays. ! n=1 -do i = 1, DIM1*DIM2 +DO i = 1, DIM1*DIM2 buf(i) = n; n = n + 1 -end do +END DO -do i = 1, dims(1) - do j = 1, dims(2) +DO i = 1, dims(1) + DO j = 1, dims(2) buf2(i,j) = (i-1)*dims(2) + j; buf3(i,j) = (i-1)*dims(2) + j; buf4(i,j) = (i-1)*dims(2) + j; - end do -end do + END DO +END DO ! ! Initialize FORTRAN predefined datatypes. ! -call h5open_f(errcode) +CALL h5open_f(errcode) ! ! Create a new file using default properties. ! -call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) +CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) !------------------------------------------------------------------------- ! H5T_NATIVE_INT 1D buffer @@ -241,23 +245,23 @@ call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname1, rank, dims, H5T_NATIVE_INTEGER, buf, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname1, rank, dims, H5T_NATIVE_INTEGER, buf, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, DIM1*DIM2 - if ( buf(i) .ne. bufr(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr(i), ' and ', buf(i) - stop - endif -end do +DO i = 1, DIM1*DIM2 + IF ( buf(i) .NE. bufr(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr(i), ' and ', buf(i) + STOP + ENDIF +END DO !------------------------------------------------------------------------- ! H5T_NATIVE_INT 2D buffer @@ -266,25 +270,25 @@ end do ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname2, rank, dims, H5T_NATIVE_INTEGER, buf2, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims, H5T_NATIVE_INTEGER, buf2, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, buf2r, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, buf2r, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, dims(1) - do j = 1, dims(2) - if ( buf2(i,j) .ne. buf2r(i,j) ) then - print *, 'read buffer differs from write buffer' - print *, buf2r(i,j), ' and ', buf2(i,j) - stop - endif - end do -end do +DO i = 1, dims(1) + DO j = 1, dims(2) + IF ( buf2(i,j) .NE. buf2r(i,j) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, buf2r(i,j), ' and ', buf2(i,j) + STOP + ENDIF + END DO +END DO !------------------------------------------------------------------------- ! H5T_NATIVE_REAL @@ -293,25 +297,25 @@ end do ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, dims(1) - do j = 1, dims(2) - if ( buf3(i,j) .ne. buf3r(i,j) ) then - print *, 'read buffer differs from write buffer' - print *, buf3r(i,j), ' and ', buf3(i,j) - stop - endif - end do -end do +DO i = 1, dims(1) + DO j = 1, dims(2) + IF ( buf3(i,j) .NE. buf3r(i,j) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, buf3r(i,j), ' and ', buf3(i,j) + STOP + ENDIF + END DO +END DO !------------------------------------------------------------------------- ! H5T_NATIVE_DOUBLE @@ -320,41 +324,41 @@ end do ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, dims(1) - do j = 1, dims(2) - if ( buf4(i,j) .ne. buf4r(i,j) ) then - print *, 'read buffer differs from write buffer' - print *, buf4r(i,j), ' and ', buf4(i,j) - stop - endif - end do -end do +DO i = 1, dims(1) + DO j = 1, dims(2) + IF ( buf4(i,j) .NE. buf4r(i,j) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, buf4r(i,j), ' and ', buf4(i,j) + STOP + ENDIF + END DO +END DO ! ! Close the file. ! -call h5fclose_f(file_id, errcode) +CALL h5fclose_f(file_id, errcode) ! ! Close FORTRAN predefined datatypes. ! -call h5close_f(errcode) +CALL h5close_f(errcode) -call passed() +CALL passed() ! ! end function. ! -end subroutine test_dataset2D +END SUBROUTINE test_dataset2D !------------------------------------------------------------------------- @@ -362,71 +366,71 @@ end subroutine test_dataset2D !------------------------------------------------------------------------- -subroutine test_dataset3D() +SUBROUTINE test_dataset3D() -use H5LT ! module of H5LT -use HDF5 ! module of HDF5 library +USE H5LT ! module of H5LT +USE HDF5 ! module of HDF5 library -implicit none +IMPLICIT NONE -integer, parameter :: DIM1 = 6; ! columns -integer, parameter :: DIM2 = 4; ! rows -integer, parameter :: DIM3 = 2; ! layers -character(len=9), parameter :: filename = "dsetf3.h5" ! File name -character(LEN=5), parameter :: dsetname1 = "dset1" ! Dataset name -character(LEN=5), parameter :: dsetname2 = "dset2" ! Dataset name -character(LEN=5), parameter :: dsetname3 = "dset3" ! Dataset name -character(LEN=5), parameter :: dsetname4 = "dset4" ! Dataset name -integer(HID_T) :: file_id ! File identifier -integer(HSIZE_T), dimension(3) :: dims = (/DIM1,DIM2,DIM3/) ! Dataset dimensions -integer(HSIZE_T), dimension(3) :: dimsr ! Dataset dimensions -integer, dimension(DIM1*DIM2*DIM3) :: buf ! Data buffer -integer, dimension(DIM1*DIM2*DIM3) :: bufr ! Data buffer -integer, dimension(DIM1,DIM2,DIM3) :: buf2 ! Data buffer -integer, dimension(DIM1,DIM2,DIM3) :: buf2r ! Data buffer -real, dimension(DIM1,DIM2,DIM3) :: buf3 ! Data buffer -real, dimension(DIM1,DIM2,DIM3) :: buf3r ! Data buffer -double precision, dimension(DIM1,DIM2,DIM3) :: buf4 ! Data buffer -double precision, dimension(DIM1,DIM2,DIM3) :: buf4r ! Data buffer -integer :: rank = 3 ! Dataset rank -integer :: errcode ! Error flag -integer :: i, j, k, n ! general purpose integers -integer :: type_class -integer(SIZE_T) :: type_size +INTEGER, PARAMETER :: DIM1 = 6; ! columns +INTEGER, PARAMETER :: DIM2 = 4; ! rows +INTEGER, PARAMETER :: DIM3 = 2; ! layers +CHARACTER(len=9), PARAMETER :: filename = "dsetf3.h5" ! File name +CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name +CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name +CHARACTER(LEN=5), PARAMETER :: dsetname3 = "dset3" ! Dataset name +CHARACTER(LEN=5), PARAMETER :: dsetname4 = "dset4" ! Dataset name +INTEGER(HID_T) :: file_id ! File identifier +INTEGER(HSIZE_T), DIMENSION(3) :: dims = (/DIM1,DIM2,DIM3/) ! Dataset dimensions +INTEGER(HSIZE_T), DIMENSION(3) :: dimsr ! Dataset dimensions +INTEGER, DIMENSION(DIM1*DIM2*DIM3) :: buf ! Data buffer +INTEGER, DIMENSION(DIM1*DIM2*DIM3) :: bufr ! Data buffer +INTEGER, DIMENSION(DIM1,DIM2,DIM3) :: buf2 ! Data buffer +INTEGER, DIMENSION(DIM1,DIM2,DIM3) :: buf2r ! Data buffer +REAL, DIMENSION(DIM1,DIM2,DIM3) :: buf3 ! Data buffer +REAL, DIMENSION(DIM1,DIM2,DIM3) :: buf3r ! Data buffer +DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3) :: buf4 ! Data buffer +DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3) :: buf4r ! Data buffer +INTEGER :: rank = 3 ! Dataset rank +INTEGER :: errcode ! Error flag +INTEGER :: i, j, k, n ! general purpose integers +INTEGER :: type_class +INTEGER(SIZE_T) :: type_size -call test_begin(' Make/Read datasets (3D) ') +CALL test_begin(' Make/Read datasets (3D) ') ! ! Initialize the data array. ! n=1 -do i = 1, DIM1*DIM2*DIM3 +DO i = 1, DIM1*DIM2*DIM3 buf(i) = n; n = n + 1 -end do +END DO n = 1 -do i = 1, dims(1) - do j = 1, dims(2) - do k = 1, dims(3) +DO i = 1, dims(1) + DO j = 1, dims(2) + DO k = 1, dims(3) buf2(i,j,k) = n; buf3(i,j,k) = n; buf4(i,j,k) = n; n = n + 1 - end do - end do -end do + END DO + END DO +END DO ! ! Initialize FORTRAN predefined datatypes. ! -call h5open_f(errcode) +CALL h5open_f(errcode) ! ! Create a new file using default properties. ! -call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) +CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) !------------------------------------------------------------------------- ! H5T_NATIVE_INT 1D buffer @@ -435,23 +439,23 @@ call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname1, rank, dims, H5T_NATIVE_INTEGER, buf, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname1, rank, dims, H5T_NATIVE_INTEGER, buf, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, DIM1*DIM2*DIM3 - if ( buf(i) .ne. bufr(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr(i), ' and ', buf(i) - stop - endif -end do +DO i = 1, DIM1*DIM2*DIM3 + IF ( buf(i) .NE. bufr(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr(i), ' and ', buf(i) + STOP + ENDIF +END DO !------------------------------------------------------------------------- ! H5T_NATIVE_INT 3D buffer @@ -460,27 +464,27 @@ end do ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname2, rank, dims, H5T_NATIVE_INTEGER, buf2, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims, H5T_NATIVE_INTEGER, buf2, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, buf2r, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, buf2r, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, dims(1) - do j = 1, dims(2) - do k = 1, dims(3) - if ( buf2(i,j,k) .ne. buf2r(i,j,k) ) then - print *, 'read buffer differs from write buffer' - print *, buf2r(i,j,k), ' and ', buf2(i,j,k) - stop - endif - end do - end do -end do +DO i = 1, dims(1) + DO j = 1, dims(2) + DO k = 1, dims(3) + IF ( buf2(i,j,k) .NE. buf2r(i,j,k) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, buf2r(i,j,k), ' and ', buf2(i,j,k) + STOP + ENDIF + END DO + END DO +END DO !------------------------------------------------------------------------- ! H5T_NATIVE_REAL @@ -489,27 +493,27 @@ end do ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, dims(1) - do j = 1, dims(2) - do k = 1, dims(3) - if ( buf3(i,j,k) .ne. buf3r(i,j,k) ) then - print *, 'read buffer differs from write buffer' - print *, buf3r(i,j,k), ' and ', buf3(i,j,k) - stop - endif - end do - end do -end do +DO i = 1, dims(1) + DO j = 1, dims(2) + DO k = 1, dims(3) + IF ( buf3(i,j,k) .NE. buf3r(i,j,k) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, buf3r(i,j,k), ' and ', buf3(i,j,k) + STOP + ENDIF + END DO + END DO +END DO !------------------------------------------------------------------------- ! H5T_NATIVE_DOUBLE @@ -518,299 +522,756 @@ end do ! ! write dataset. ! -call h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode) +CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode) ! ! read dataset. ! -call h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode) +CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode) ! ! compare read and write buffers. ! -do i = 1, dims(1) - do j = 1, dims(2) - do k = 1, dims(3) - if ( buf4(i,j,k) .ne. buf4r(i,j,k) ) then - print *, 'read buffer differs from write buffer' - print *, buf4r(i,j,k), ' and ', buf4(i,j,k) - stop - endif - end do - end do -end do +DO i = 1, dims(1) + DO j = 1, dims(2) + DO k = 1, dims(3) + IF ( buf4(i,j,k) .NE. buf4r(i,j,k) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, buf4r(i,j,k), ' and ', buf4(i,j,k) + STOP + ENDIF + END DO + END DO +END DO -call h5ltget_dataset_info_f(file_id,dsetname4,dimsr,type_class,type_size,errcode ) +CALL h5ltget_dataset_info_f(file_id,dsetname4,dimsr,type_class,type_size,errcode ) ! ! compare dimensions ! -do i = 1, rank - if ( dimsr(i) .ne. dims(i) ) then - print *, 'dimensions differ ' - stop - endif -end do +DO i = 1, rank + IF ( dimsr(i) .NE. dims(i) ) THEN + PRINT *, 'dimensions differ ' + STOP + ENDIF +END DO ! ! Close the file. ! -call h5fclose_f(file_id, errcode) +CALL h5fclose_f(file_id, errcode) ! ! Close FORTRAN predefined datatypes. ! -call h5close_f(errcode) +CALL h5close_f(errcode) -call passed() +CALL passed() ! ! end function. ! -end subroutine test_dataset3D - - +END SUBROUTINE test_dataset3D !------------------------------------------------------------------------- -! test_datasets +! test_datasetND !------------------------------------------------------------------------- -subroutine test_datasets() - -use H5LT ! module of H5LT -use HDF5 ! module of HDF5 library - -implicit none - -character(len=9), parameter :: filename = "dsetf4.h5"! File name -integer(HID_T) :: file_id ! File identifier -integer :: errcode ! Error flag -integer, parameter :: DIM1 = 10; ! Dimension of array -character(LEN=5), parameter :: dsetname1 = "dset1" ! Dataset name -character(LEN=5), parameter :: dsetname2 = "dset2" ! Dataset name -character(LEN=5), parameter :: dsetname3 = "dset3" ! Dataset name -character(LEN=5), parameter :: dsetname4 = "dset4" ! Dataset name -character(LEN=5), parameter :: dsetname5 = "dset5" ! Dataset name -integer(HSIZE_T), dimension(1) :: dims = (/DIM1/) ! Dataset dimensions -integer(HSIZE_T), dimension(1) :: dimsr ! Dataset dimensions -integer :: rank = 1 ! Dataset rank -integer :: rankr ! Dataset rank -character(LEN=8), parameter :: buf1 = "mystring" ! Data buffer -character(LEN=8) :: buf1r ! Data buffer -integer, dimension(DIM1) :: buf2 ! Data buffer -integer, dimension(DIM1) :: bufr2 ! Data buffer -real, dimension(DIM1) :: buf3 ! Data buffer -real, dimension(DIM1) :: bufr3 ! Data buffer -double precision, dimension(DIM1) :: buf4 ! Data buffer -double precision, dimension(DIM1) :: bufr4 ! Data buffer -integer :: i, n ! general purpose integer -integer :: has ! general purpose integer -integer :: type_class -integer(SIZE_T) :: type_size - -! -! Initialize FORTRAN predefined datatypes. -! -call h5open_f(errcode) - -! -! Create a new file using default properties. -! -call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) +SUBROUTINE test_datasetND(rank) + + USE H5LT ! module of H5LT + USE HDF5 ! module of HDF5 library + + IMPLICIT NONE + + INTEGER :: rank ! Dataset rank + + INTEGER, PARAMETER :: DIM1 = 2 ! columns + INTEGER, PARAMETER :: DIM2 = 4 ! rows + INTEGER, PARAMETER :: DIM3 = 2 ! layers + INTEGER, PARAMETER :: DIM4 = 5 ! columns + INTEGER, PARAMETER :: DIM5 = 4 ! rows + INTEGER, PARAMETER :: DIM6 = 3 ! layers + INTEGER, PARAMETER :: DIM7 = 2 ! layers + CHARACTER(len=9), PARAMETER :: filename = "dsetf3.h5" ! File name + CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name + CHARACTER(LEN=5), PARAMETER :: dsetname3 = "dset3" ! Dataset name + CHARACTER(LEN=5), PARAMETER :: dsetname4 = "dset4" ! Dataset name + INTEGER(HID_T) :: file_id ! File identifier + INTEGER(HSIZE_T), DIMENSION(7) :: dims + INTEGER(HSIZE_T), DIMENSION(7) :: dimsr ! Dataset dimensions + INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibuf_4 ! Data buffer + INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibufr_4 ! Data buffer + INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ibuf_5 ! Data buffer + INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ibufr_5 ! Data buffer + INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibuf_6 ! Data buffer + INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibufr_6 ! Data buffer + INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibuf_7 ! Data buffer + INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibufr_7 ! Data buffer + REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: rbuf_4 ! Data buffer + REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: rbufr_4 ! Data buffer + REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: rbuf_5 ! Data buffer + REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: rbufr_5 ! Data buffer + REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: rbuf_6 ! Data buffer + REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: rbufr_6 ! Data buffer + REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: rbuf_7 ! Data buffer + REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: rbufr_7 ! Data buffer + DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:) :: dbuf_4 ! Data buffer + DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:) :: dbufr_4 ! Data buffer + DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: dbuf_5 ! Data buffer + DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: dbufr_5 ! Data buffer + DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: dbuf_6 ! Data buffer + DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: dbufr_6 ! Data buffer + DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: dbuf_7 ! Data buffer + DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: dbufr_7 ! Data buffer + INTEGER :: errcode ! Error flag + INTEGER :: i, j, k, l, m, n, o, nn ! general purpose integers + INTEGER :: type_class + INTEGER(SIZE_T) :: type_size + CHARACTER(LEN=1) :: ichr1 + + WRITE(ichr1,'(I1.1)') rank + CALL test_begin(' Make/Read datasets ('//ichr1//'D) ') ! ! Initialize the data array. ! -n = 1 -do i = 1, DIM1 - buf2(i) = n; - buf3(i) = n; - buf4(i) = n; - n = n + 1; -end do - -!------------------------------------------------------------------------- -! int -!------------------------------------------------------------------------- + IF(rank.EQ.4)THEN + + ALLOCATE(ibuf_4 (1:DIM1,1:DIM2,1:DIM3,1:DIM4)) + ALLOCATE(ibufr_4(1:DIM1,1:DIM2,1:DIM3,1:DIM4)) + ALLOCATE(rbuf_4 (1:DIM1,1:DIM2,1:DIM3,1:DIM4)) + ALLOCATE(rbufr_4(1:DIM1,1:DIM2,1:DIM3,1:DIM4)) + ALLOCATE(dbuf_4 (1:DIM1,1:DIM2,1:DIM3,1:DIM4)) + ALLOCATE(dbufr_4(1:DIM1,1:DIM2,1:DIM3,1:DIM4)) + + dims(1:7) = (/DIM1,DIM2,DIM3,DIM4,0,0,0/) + + nn = 1 + DO i = 1, DIM1 + DO j = 1, DIM2 + DO k = 1, DIM3 + DO l = 1, DIM4 + ibuf_4(i,j,k,l) = nn + rbuf_4(i,j,k,l) = nn + dbuf_4(i,j,k,l) = nn + nn = nn + 1 + END DO + END DO + END DO + ENDDO + + ELSE IF(rank.EQ.5)THEN + + ALLOCATE(ibuf_5 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5)) + ALLOCATE(ibufr_5(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5)) + ALLOCATE(rbuf_5 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5)) + ALLOCATE(rbufr_5(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5)) + ALLOCATE(dbuf_5 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5)) + ALLOCATE(dbufr_5(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5)) + + dims(1:7) = (/DIM1,DIM2,DIM3,DIM4,DIM5,0,0/) + + nn = 1 + DO i = 1, DIM1 + DO j = 1, DIM2 + DO k = 1, DIM3 + DO l = 1, DIM4 + DO m = 1, DIM5 + ibuf_5(i,j,k,l,m) = nn + rbuf_5(i,j,k,l,m) = nn + dbuf_5(i,j,k,l,m) = nn + nn = nn + 1 + END DO + END DO + END DO + ENDDO + ENDDO + + ELSE IF(rank.EQ.6)THEN + + ALLOCATE(ibuf_6 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6)) + ALLOCATE(ibufr_6(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6)) + ALLOCATE(rbuf_6 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6)) + ALLOCATE(rbufr_6(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6)) + ALLOCATE(dbuf_6 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6)) + ALLOCATE(dbufr_6(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6)) + + dims(1:7) = (/DIM1,DIM2,DIM3,DIM4,DIM5,DIM6,0/) + + nn = 1 + DO i = 1, DIM1 + DO j = 1, DIM2 + DO k = 1, DIM3 + DO l = 1, DIM4 + DO m = 1, DIM5 + DO n = 1, DIM6 + ibuf_6(i,j,k,l,m,n) = nn + rbuf_6(i,j,k,l,m,n) = nn + dbuf_6(i,j,k,l,m,n) = nn + nn = nn + 1 + END DO + END DO + END DO + ENDDO + ENDDO + ENDDO + + ELSE IF(rank.EQ.7)THEN + + ALLOCATE(ibuf_7 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6,1:DIM7)) + ALLOCATE(ibufr_7(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6,1:DIM7)) + ALLOCATE(rbuf_7 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6,1:DIM7)) + ALLOCATE(rbufr_7(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6,1:DIM7)) + ALLOCATE(dbuf_7 (1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6,1:DIM7)) + ALLOCATE(dbufr_7(1:DIM1,1:DIM2,1:DIM3,1:DIM4,1:DIM5,1:DIM6,1:DIM7)) + + dims(1:7) = (/DIM1,DIM2,DIM3,DIM4,DIM5,DIM6,DIM7/) + + nn = 1 + DO i = 1, DIM1 + DO j = 1, DIM2 + DO k = 1, DIM3 + DO l = 1, DIM4 + DO m = 1, DIM5 + DO n = 1, DIM6 + DO o = 1, DIM7 + ibuf_7(i,j,k,l,m,n,o) = nn + rbuf_7(i,j,k,l,m,n,o) = nn + dbuf_7(i,j,k,l,m,n,o) = nn + nn = nn + 1 + END DO + END DO + END DO + ENDDO + ENDDO + ENDDO + ENDDO + + ENDIF + + ! + ! Initialize FORTRAN predefined datatypes. + ! + CALL h5open_f(errcode) + + ! + ! Create a new file using default properties. + ! + CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) + + !------------------------------------------------------------------------- + ! H5T_NATIVE_INT ND buffer + !------------------------------------------------------------------------- + + ! + ! write dataset. + ! + IF(rank.EQ.4)THEN + CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_4, errcode) + ELSE IF(rank.EQ.5)THEN + CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_5, errcode) + ELSE IF(rank.EQ.6)THEN + CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_6, errcode) + ELSE IF(rank.EQ.7)THEN + CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_7, errcode) + ENDIF + + + ! + ! read dataset. + ! + IF(rank.EQ.4)THEN + CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_4, dims(1:rank), errcode) + ELSE IF(rank.EQ.5)THEN + CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_5, dims(1:rank), errcode) + ELSE IF(rank.EQ.6)THEN + CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_6, dims(1:rank), errcode) + ELSE IF(rank.EQ.7)THEN + CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_7, dims(1:rank), errcode) + ENDIF + + ! + ! compare read and write buffers. + ! + DO i = 1, dims(1) + DO j = 1, dims(2) + DO k = 1, dims(3) + DO l = 1, dims(4) + IF(rank.EQ.4)THEN + IF ( ibuf_4(i,j,k,l) .NE. ibufr_4(i,j,k,l) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, ibuf_4(i,j,k,l), ' and ', ibufr_4(i,j,k,l) + STOP + ENDIF + ENDIF + DO m = 1, dims(5) + IF(rank.EQ.5)THEN + IF ( ibuf_5(i,j,k,l,m) .NE. ibufr_5(i,j,k,l,m) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, ibuf_5(i,j,k,l,m), ' and ', ibufr_5(i,j,k,l,m) + STOP + ENDIF + ENDIF + DO n = 1, dims(6) + IF(rank.EQ.6)THEN + IF ( ibuf_6(i,j,k,l,m,n) .NE. ibufr_6(i,j,k,l,m,n) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, ibuf_6(i,j,k,l,m,n), ' and ', ibufr_6(i,j,k,l,m,n) + STOP + ENDIF + ENDIF + DO o = 1, dims(7) + IF(rank.EQ.7)THEN + IF ( ibuf_7(i,j,k,l,m,n,o) .NE. ibufr_7(i,j,k,l,m,n,o) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, ibuf_7(i,j,k,l,m,n,o), ' and ', ibufr_7(i,j,k,l,m,n,o) + STOP + ENDIF + ENDIF + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + !------------------------------------------------------------------------- + ! H5T_NATIVE_REAL + !------------------------------------------------------------------------- + + ! + ! write dataset. + ! + IF(rank.EQ.4)THEN + CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_4, errcode) + ELSE IF(rank.EQ.5)THEN + CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_5, errcode) + ELSE IF(rank.EQ.6)THEN + CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_6, errcode) + ELSE IF(rank.EQ.7)THEN + CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_7, errcode) + ENDIF + + + ! + ! read dataset. + ! + IF(rank.EQ.4)THEN + CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_4, dims(1:rank), errcode) + ELSE IF(rank.EQ.5)THEN + CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_5, dims(1:rank), errcode) + ELSE IF(rank.EQ.6)THEN + CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_6, dims(1:rank), errcode) + ELSE IF(rank.EQ.7)THEN + CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_7, dims(1:rank), errcode) + ENDIF + + ! + ! compare read and write buffers. + ! + DO i = 1, dims(1) + DO j = 1, dims(2) + DO k = 1, dims(3) + DO l = 1, dims(4) + IF(rank.EQ.4)THEN + IF ( rbuf_4(i,j,k,l) .NE. rbufr_4(i,j,k,l) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, rbuf_4(i,j,k,l), ' and ', rbufr_4(i,j,k,l) + STOP + ENDIF + ENDIF + DO m = 1, dims(5) + IF(rank.EQ.5)THEN + IF ( rbuf_5(i,j,k,l,m) .NE. rbufr_5(i,j,k,l,m) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, rbuf_5(i,j,k,l,m), ' and ', rbufr_5(i,j,k,l,m) + STOP + ENDIF + ENDIF + DO n = 1, dims(6) + IF(rank.EQ.6)THEN + IF ( rbuf_6(i,j,k,l,m,n) .NE. rbufr_6(i,j,k,l,m,n) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, rbuf_6(i,j,k,l,m,n), ' and ', rbufr_6(i,j,k,l,m,n) + STOP + ENDIF + ENDIF + DO o = 1, dims(7) + IF(rank.EQ.7)THEN + IF ( rbuf_7(i,j,k,l,m,n,o) .NE. rbufr_7(i,j,k,l,m,n,o) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, rbuf_7(i,j,k,l,m,n,o), ' and ', rbufr_7(i,j,k,l,m,n,o) + STOP + ENDIF + ENDIF + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + + !------------------------------------------------------------------------- + ! H5T_NATIVE_DOUBLE + !------------------------------------------------------------------------- + + ! + ! write dataset. + ! + IF(rank.EQ.4)THEN + CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_4, errcode) + ELSE IF(rank.EQ.5)THEN + CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_5, errcode) + ELSE IF(rank.EQ.6)THEN + CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_6, errcode) + ELSE IF(rank.EQ.7)THEN + CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_7, errcode) + ENDIF + + + ! + ! read dataset. + ! + IF(rank.EQ.4)THEN + CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_4, dims(1:rank), errcode) + ELSE IF(rank.EQ.5)THEN + CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_5, dims(1:rank), errcode) + ELSE IF(rank.EQ.6)THEN + CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_6, dims(1:rank), errcode) + ELSE IF(rank.EQ.7)THEN + CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_7, dims(1:rank), errcode) + ENDIF + + ! + ! compare read and write buffers. + ! + DO i = 1, dims(1) + DO j = 1, dims(2) + DO k = 1, dims(3) + DO l = 1, dims(4) + IF(rank.EQ.4)THEN + IF ( dbuf_4(i,j,k,l) .NE. dbufr_4(i,j,k,l) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, dbuf_4(i,j,k,l), ' and ', dbufr_4(i,j,k,l) + STOP + ENDIF + ENDIF + DO m = 1, dims(5) + IF(rank.EQ.5)THEN + IF ( dbuf_5(i,j,k,l,m) .NE. dbufr_5(i,j,k,l,m) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, dbuf_5(i,j,k,l,m), ' and ', dbufr_5(i,j,k,l,m) + STOP + ENDIF + ENDIF + DO n = 1, dims(6) + IF(rank.EQ.6)THEN + IF ( dbuf_6(i,j,k,l,m,n) .NE. dbufr_6(i,j,k,l,m,n) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, dbuf_6(i,j,k,l,m,n), ' and ', dbufr_6(i,j,k,l,m,n) + STOP + ENDIF + ENDIF + DO o = 1, dims(7) + IF(rank.EQ.7)THEN + IF ( dbuf_7(i,j,k,l,m,n,o) .NE. dbufr_7(i,j,k,l,m,n,o) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, dbuf_7(i,j,k,l,m,n,o), ' and ', dbufr_7(i,j,k,l,m,n,o) + STOP + ENDIF + ENDIF + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + ENDDO + + CALL h5ltget_dataset_info_f(file_id,dsetname4,dimsr,type_class,type_size,errcode ) + + ! + ! compare dimensions + ! + DO i = 1, rank + IF ( dimsr(i) .NE. dims(i) ) THEN + PRINT *, 'dimensions differ ' + STOP + ENDIF + END DO + + ! + ! Close the file. + ! + CALL h5fclose_f(file_id, errcode) + + ! + ! Close FORTRAN predefined datatypes. + ! + CALL h5close_f(errcode) + + ! DEALLOCATE RESOURCES + + IF(rank.EQ.4)THEN + DEALLOCATE(ibuf_4, ibufr_4, rbuf_4, rbufr_4, dbuf_4, dbufr_4) + ELSE IF(rank.EQ.5)THEN + DEALLOCATE(ibuf_5, ibufr_5, rbuf_5, rbufr_5, dbuf_5, dbufr_5) + ELSE IF(rank.EQ.6)THEN + DEALLOCATE(ibuf_6, ibufr_6, rbuf_6, rbufr_6, dbuf_6, dbufr_6) + ELSE IF(rank.EQ.7)THEN + DEALLOCATE(ibuf_7, ibufr_7, rbuf_7, rbufr_7, dbuf_7, dbufr_7) + ENDIF + + CALL passed() + ! + ! end function. + ! +END SUBROUTINE test_datasetND -call test_begin(' Make/Read datasets (integer) ') -! -! write dataset. -! -call h5ltmake_dataset_int_f(file_id, dsetname2, rank, dims, buf2, errcode) - -! -! read dataset. -! -call h5ltread_dataset_int_f(file_id, dsetname2, bufr2, dims, errcode) - -! -! compare read and write buffers. -! -do i = 1, DIM1 - if ( buf2(i) .ne. bufr2(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr2(i), ' and ', buf2(i) - stop - endif -end do - -call passed() !------------------------------------------------------------------------- -! real +! test_datasets !------------------------------------------------------------------------- -call test_begin(' Make/Read datasets (float) ') +SUBROUTINE test_datasets() + + USE H5LT ! module of H5LT + USE HDF5 ! module of HDF5 library + + IMPLICIT NONE + + CHARACTER(len=9), PARAMETER :: filename = "dsetf4.h5"! File name + INTEGER(HID_T) :: file_id ! File identifier + INTEGER :: errcode ! Error flag + INTEGER, PARAMETER :: DIM1 = 10; ! Dimension of array + CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name + CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name + CHARACTER(LEN=5), PARAMETER :: dsetname3 = "dset3" ! Dataset name + CHARACTER(LEN=5), PARAMETER :: dsetname4 = "dset4" ! Dataset name + CHARACTER(LEN=5), PARAMETER :: dsetname5 = "dset5" ! Dataset name + INTEGER(HSIZE_T), DIMENSION(1) :: dims = (/DIM1/) ! Dataset dimensions + INTEGER(HSIZE_T), DIMENSION(1) :: dimsr ! Dataset dimensions + INTEGER :: rank = 1 ! Dataset rank + INTEGER :: rankr ! Dataset rank + CHARACTER(LEN=8), PARAMETER :: buf1 = "mystring" ! Data buffer + CHARACTER(LEN=8) :: buf1r ! Data buffer + INTEGER, DIMENSION(DIM1) :: buf2 ! Data buffer + INTEGER, DIMENSION(DIM1) :: bufr2 ! Data buffer + REAL, DIMENSION(DIM1) :: buf3 ! Data buffer + REAL, DIMENSION(DIM1) :: bufr3 ! Data buffer + DOUBLE PRECISION, DIMENSION(DIM1) :: buf4 ! Data buffer + DOUBLE PRECISION, DIMENSION(DIM1) :: bufr4 ! Data buffer + INTEGER :: i, n ! general purpose integer + INTEGER :: has ! general purpose integer + INTEGER :: type_class + INTEGER(SIZE_T) :: type_size + + ! + ! Initialize FORTRAN predefined datatypes. + ! + CALL h5open_f(errcode) + + ! + ! Create a new file using default properties. + ! + CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) + + ! + ! Initialize the data array. + ! + n = 1 + DO i = 1, DIM1 + buf2(i) = n; + buf3(i) = n; + buf4(i) = n; + n = n + 1; + END DO + + !------------------------------------------------------------------------- + ! int + !------------------------------------------------------------------------- + + CALL test_begin(' Make/Read datasets (integer) ') + + ! + ! write dataset. + ! + CALL h5ltmake_dataset_int_f(file_id, dsetname2, rank, dims, buf2, errcode) + + ! + ! read dataset. + ! + CALL h5ltread_dataset_int_f(file_id, dsetname2, bufr2, dims, errcode) + + ! + ! compare read and write buffers. + ! + DO i = 1, DIM1 + IF ( buf2(i) .NE. bufr2(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr2(i), ' and ', buf2(i) + STOP + ENDIF + END DO + + CALL passed() + + !------------------------------------------------------------------------- + ! real + !------------------------------------------------------------------------- + + CALL test_begin(' Make/Read datasets (float) ') + + + ! + ! write dataset. + ! + CALL h5ltmake_dataset_float_f(file_id, dsetname3, rank, dims, buf3, errcode) + + ! + ! read dataset. + ! + CALL h5ltread_dataset_float_f(file_id, dsetname3, bufr3, dims, errcode) + + ! + ! compare read and write buffers. + ! + DO i = 1, DIM1 + IF ( buf3(i) .NE. bufr3(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr3(i), ' and ', buf3(i) + STOP + ENDIF + END DO + + CALL passed() + + !------------------------------------------------------------------------- + ! double + !------------------------------------------------------------------------- + + CALL test_begin(' Make/Read datasets (double) ') + + + ! + ! write dataset. + ! + CALL h5ltmake_dataset_double_f(file_id, dsetname4, rank, dims, buf4, errcode) + + ! + ! read dataset. + ! + CALL h5ltread_dataset_double_f(file_id, dsetname4, bufr4, dims, errcode) + + ! + ! compare read and write buffers. + ! + DO i = 1, DIM1 + IF ( buf4(i) .NE. bufr4(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr4(i), ' and ', buf4(i) + STOP + ENDIF + END DO + CALL passed() -! -! write dataset. -! -call h5ltmake_dataset_float_f(file_id, dsetname3, rank, dims, buf3, errcode) -! -! read dataset. -! -call h5ltread_dataset_float_f(file_id, dsetname3, bufr3, dims, errcode) - -! -! compare read and write buffers. -! -do i = 1, DIM1 - if ( buf3(i) .ne. bufr3(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr3(i), ' and ', buf3(i) - stop - endif -end do + !------------------------------------------------------------------------- + ! string + !------------------------------------------------------------------------- -call passed() + CALL test_begin(' Make/Read datasets (string) ') -!------------------------------------------------------------------------- -! double -!------------------------------------------------------------------------- - -call test_begin(' Make/Read datasets (double) ') + ! + ! write dataset. + ! + CALL h5ltmake_dataset_string_f(file_id, dsetname5, buf1, errcode) -! -! write dataset. -! -call h5ltmake_dataset_double_f(file_id, dsetname4, rank, dims, buf4, errcode) + ! + ! read dataset. + ! + CALL h5ltread_dataset_string_f(file_id, dsetname5, buf1r, errcode) -! -! read dataset. -! -call h5ltread_dataset_double_f(file_id, dsetname4, bufr4, dims, errcode) + ! + ! compare read and write buffers. + ! + IF ( buf1 .NE. buf1r ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, buf1, ' and ', buf1r + STOP + ENDIF -! -! compare read and write buffers. -! -do i = 1, DIM1 - if ( buf4(i) .ne. bufr4(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr4(i), ' and ', buf4(i) - stop - endif -end do + CALL passed() -call passed() -!------------------------------------------------------------------------- -! string -!------------------------------------------------------------------------- -call test_begin(' Make/Read datasets (string) ') -! -! write dataset. -! -call h5ltmake_dataset_string_f(file_id, dsetname5, buf1, errcode) + CALL test_begin(' Get dataset dimensions/info ') -! -! read dataset. -! -call h5ltread_dataset_string_f(file_id, dsetname5, buf1r, errcode) + !------------------------------------------------------------------------- + ! h5ltget_dataset_ndims_f + !------------------------------------------------------------------------- -! -! compare read and write buffers. -! -if ( buf1 .ne. buf1r ) then - print *, 'read buffer differs from write buffer' - print *, buf1, ' and ', buf1r - stop -endif + CALL h5ltget_dataset_ndims_f(file_id, dsetname4, rankr, errcode) + IF ( rankr .NE. rank ) THEN + PRINT *, 'h5ltget_dataset_ndims_f return error' + STOP + ENDIF -call passed() + !------------------------------------------------------------------------- + ! test h5ltfind_dataset_f function + !------------------------------------------------------------------------- + has = h5ltfind_dataset_f(file_id,dsetname4) + IF ( has .NE. 1 ) THEN + PRINT *, 'h5ltfind_dataset_f return error' + STOP + ENDIF + !------------------------------------------------------------------------- + ! test h5ltget_dataset_info_f function + !------------------------------------------------------------------------- -call test_begin(' Get dataset dimensions/info ') + CALL h5ltget_dataset_info_f(file_id,dsetname4,dimsr,type_class,type_size,errcode ) -!------------------------------------------------------------------------- -! h5ltget_dataset_ndims_f -!------------------------------------------------------------------------- + ! + ! compare dimensions + ! + DO i = 1, rank + IF ( dimsr(i) .NE. dims(i) ) THEN + PRINT *, 'dimensions differ ' + STOP + ENDIF + END DO -call h5ltget_dataset_ndims_f(file_id, dsetname4, rankr, errcode) -if ( rankr .ne. rank ) then - print *, 'h5ltget_dataset_ndims_f return error' - stop -endif + IF ( type_class .NE. 1 ) THEN ! H5T_FLOAT + PRINT *, 'wrong type class ' + STOP + ENDIF + ! + ! Close the file. + ! + CALL h5fclose_f(file_id, errcode) + ! + ! Close FORTRAN predefined datatypes. + ! + CALL h5close_f(errcode) -!------------------------------------------------------------------------- -! test h5ltfind_dataset_f function -!------------------------------------------------------------------------- - - -has = h5ltfind_dataset_f(file_id,dsetname4) -if ( has .ne. 1 ) then - print *, 'h5ltfind_dataset_f return error' - stop -endif - -!------------------------------------------------------------------------- -! test h5ltget_dataset_info_f function -!------------------------------------------------------------------------- - - -call h5ltget_dataset_info_f(file_id,dsetname4,dimsr,type_class,type_size,errcode ) - -! -! compare dimensions -! -do i = 1, rank - if ( dimsr(i) .ne. dims(i) ) then - print *, 'dimensions differ ' - stop - endif -end do - -if ( type_class .ne. 1 ) then ! H5T_FLOAT - print *, 'wrong type class ' - stop -endif - -! -! Close the file. -! -call h5fclose_f(file_id, errcode) -! -! Close FORTRAN predefined datatypes. -! -call h5close_f(errcode) - -call passed() -! -! end function. -! -end subroutine test_datasets + CALL passed() + ! + ! end function. + ! +END SUBROUTINE test_datasets @@ -818,232 +1279,232 @@ end subroutine test_datasets ! test_attributes !------------------------------------------------------------------------- -subroutine test_attributes() - -use H5LT ! module of H5LT -use HDF5 ! module of HDF5 library - -implicit none - -character(len=9), parameter :: filename = "dsetf5.h5"! File name -integer(HID_T) :: file_id ! File identifier -integer, parameter :: DIM1 = 10; ! Dimension of array -character(LEN=5), parameter :: attrname1 = "attr1" ! Attribute name -character(LEN=5), parameter :: attrname2 = "attr2" ! Attribute name -character(LEN=5), parameter :: attrname3 = "attr3" ! Attribute name -character(LEN=5), parameter :: attrname4 = "attr4" ! Attribute name -character(LEN=5), parameter :: attrname5 = "attr5" ! Attribute name -character(LEN=8), parameter :: buf1 = "mystring" ! Data buffer -character(LEN=8) :: bufr1 ! Data buffer -integer, dimension(DIM1) :: buf2 ! Data buffer -integer, dimension(DIM1) :: bufr2 ! Data buffer -real, dimension(DIM1) :: buf3 ! Data buffer -real, dimension(DIM1) :: bufr3 ! Data buffer -double precision, dimension(DIM1) :: buf4 ! Data buffer -double precision, dimension(DIM1) :: bufr4 ! Data buffer -integer :: errcode ! Error flag -integer :: i, n ! general purpose integer -integer(SIZE_T) size ! size of attribute array -integer :: rankr ! rank -integer(HSIZE_T), dimension(1) :: dimsr ! attribute dimensions -integer :: type_class -integer(SIZE_T) :: type_size -integer(HSIZE_T), dimension(1) :: dims = (/DIM1/) ! Dataset dimensions -integer :: rank = 1 ! Dataset rank -character(LEN=5), parameter :: dsetname1 = "dset1" ! Dataset name -integer, dimension(DIM1) :: buf ! Data buffer +SUBROUTINE test_attributes() + + USE H5LT ! module of H5LT + USE HDF5 ! module of HDF5 library + + IMPLICIT NONE + + CHARACTER(len=9), PARAMETER :: filename = "dsetf5.h5"! File name + INTEGER(HID_T) :: file_id ! File identifier + INTEGER, PARAMETER :: DIM1 = 10; ! Dimension of array + CHARACTER(LEN=5), PARAMETER :: attrname1 = "attr1" ! Attribute name + CHARACTER(LEN=5), PARAMETER :: attrname2 = "attr2" ! Attribute name + CHARACTER(LEN=5), PARAMETER :: attrname3 = "attr3" ! Attribute name + CHARACTER(LEN=5), PARAMETER :: attrname4 = "attr4" ! Attribute name + CHARACTER(LEN=5), PARAMETER :: attrname5 = "attr5" ! Attribute name + CHARACTER(LEN=8), PARAMETER :: buf1 = "mystring" ! Data buffer + CHARACTER(LEN=8) :: bufr1 ! Data buffer + INTEGER, DIMENSION(DIM1) :: buf2 ! Data buffer + INTEGER, DIMENSION(DIM1) :: bufr2 ! Data buffer + REAL, DIMENSION(DIM1) :: buf3 ! Data buffer + REAL, DIMENSION(DIM1) :: bufr3 ! Data buffer + DOUBLE PRECISION, DIMENSION(DIM1) :: buf4 ! Data buffer + DOUBLE PRECISION, DIMENSION(DIM1) :: bufr4 ! Data buffer + INTEGER :: errcode ! Error flag + INTEGER :: i, n ! general purpose integer + INTEGER(SIZE_T) size ! size of attribute array + INTEGER :: rankr ! rank + INTEGER(HSIZE_T), DIMENSION(1) :: dimsr ! attribute dimensions + INTEGER :: type_class + INTEGER(SIZE_T) :: type_size + INTEGER(HSIZE_T), DIMENSION(1) :: dims = (/DIM1/) ! Dataset dimensions + INTEGER :: rank = 1 ! Dataset rank + CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name + INTEGER, DIMENSION(DIM1) :: buf ! Data buffer + + ! + ! Initialize FORTRAN predefined datatypes. + ! + CALL h5open_f(errcode) + ! + ! Create a new file using default properties. + ! + CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) + ! + ! make a dataset. + ! + CALL h5ltmake_dataset_int_f(file_id, dsetname1, rank, dims, buf, errcode) + + ! + ! Initialize the data array. + ! + size = DIM1 + n = 1 + DO i = 1, DIM1 + buf2(i) = n; + buf3(i) = n; + buf4(i) = n; + n = n + 1; + END DO + + + !------------------------------------------------------------------------- + ! int + !------------------------------------------------------------------------- + + CALL test_begin(' Set/Get attributes int ') + + + ! + ! write attribute. + ! + CALL h5ltset_attribute_int_f(file_id,dsetname1,attrname2,buf2,size,errcode) + + ! + ! read attribute. + ! + CALL h5ltget_attribute_int_f(file_id,dsetname1,attrname2,bufr2,errcode) + + ! + ! compare read and write buffers. + ! + DO i = 1, DIM1 + IF ( buf2(i) .NE. bufr2(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr2(i), ' and ', buf2(i) + STOP + ENDIF + END DO + + CALL passed() + + !------------------------------------------------------------------------- + ! float + !------------------------------------------------------------------------- + + CALL test_begin(' Set/Get attributes float ') + + + ! + ! write attribute. + ! + CALL h5ltset_attribute_float_f(file_id,dsetname1,attrname3,buf3,size,errcode) + + ! + ! read attribute. + ! + CALL h5ltget_attribute_float_f(file_id,dsetname1,attrname3,bufr3,errcode) + + ! + ! compare read and write buffers. + ! + DO i = 1, DIM1 + IF ( buf3(i) .NE. bufr3(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr3(i), ' and ', buf3(i) + STOP + ENDIF + END DO + + + CALL passed() + + !------------------------------------------------------------------------- + ! double + !------------------------------------------------------------------------- + + CALL test_begin(' Set/Get attributes double ') + -! -! Initialize FORTRAN predefined datatypes. -! -call h5open_f(errcode) -! -! Create a new file using default properties. -! -call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, errcode) -! -! make a dataset. -! -call h5ltmake_dataset_int_f(file_id, dsetname1, rank, dims, buf, errcode) + ! + ! write attribute. + ! + CALL h5ltset_attribute_double_f(file_id,dsetname1,attrname4,buf4,size,errcode) -! -! Initialize the data array. -! -size = DIM1 -n = 1 -do i = 1, DIM1 - buf2(i) = n; - buf3(i) = n; - buf4(i) = n; - n = n + 1; -end do + ! + ! read attribute. + ! + CALL h5ltget_attribute_double_f(file_id,dsetname1,attrname4,bufr4,errcode) + ! + ! compare read and write buffers. + ! + DO i = 1, DIM1 + IF ( buf4(i) .NE. bufr4(i) ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, bufr4(i), ' and ', buf4(i) + STOP + ENDIF + END DO -!------------------------------------------------------------------------- -! int -!------------------------------------------------------------------------- + CALL passed() -call test_begin(' Set/Get attributes int ') -! -! write attribute. -! -call h5ltset_attribute_int_f(file_id,dsetname1,attrname2,buf2,size,errcode) + !------------------------------------------------------------------------- + ! string + !------------------------------------------------------------------------- -! -! read attribute. -! -call h5ltget_attribute_int_f(file_id,dsetname1,attrname2,bufr2,errcode) + CALL test_begin(' Set/Get attributes string ') -! -! compare read and write buffers. -! -do i = 1, DIM1 - if ( buf2(i) .ne. bufr2(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr2(i), ' and ', buf2(i) - stop - endif -end do -call passed() + ! + ! write attribute. + ! + CALL h5ltset_attribute_string_f(file_id,dsetname1,attrname5,buf1,errcode) -!------------------------------------------------------------------------- -! float -!------------------------------------------------------------------------- + ! + ! read attribute. + ! + CALL h5ltget_attribute_string_f(file_id,dsetname1,attrname5,bufr1,errcode) -call test_begin(' Set/Get attributes float ') + ! + ! compare read and write buffers. + ! + IF ( buf1 .NE. bufr1 ) THEN + PRINT *, 'read buffer differs from write buffer' + PRINT *, buf1, ' and ', bufr1 + STOP + ENDIF -! -! write attribute. -! -call h5ltset_attribute_float_f(file_id,dsetname1,attrname3,buf3,size,errcode) -! -! read attribute. -! -call h5ltget_attribute_float_f(file_id,dsetname1,attrname3,bufr3,errcode) + CALL passed() -! -! compare read and write buffers. -! -do i = 1, DIM1 - if ( buf3(i) .ne. bufr3(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr3(i), ' and ', buf3(i) - stop - endif -end do + !------------------------------------------------------------------------- + ! get attribute rank + !------------------------------------------------------------------------- + CALL test_begin(' Get attribute rank/info ') -call passed() - -!------------------------------------------------------------------------- -! double -!------------------------------------------------------------------------- - -call test_begin(' Set/Get attributes double ') + CALL h5ltget_attribute_ndims_f(file_id,dsetname1,attrname2,rankr,errcode) -! -! write attribute. -! -call h5ltset_attribute_double_f(file_id,dsetname1,attrname4,buf4,size,errcode) + IF ( rankr .NE. 1 ) THEN + PRINT *, 'h5ltget_attribute_ndims_f return error' + STOP + ENDIF -! -! read attribute. -! -call h5ltget_attribute_double_f(file_id,dsetname1,attrname4,bufr4,errcode) -! -! compare read and write buffers. -! -do i = 1, DIM1 - if ( buf4(i) .ne. bufr4(i) ) then - print *, 'read buffer differs from write buffer' - print *, bufr4(i), ' and ', buf4(i) - stop - endif -end do + CALL h5ltget_attribute_info_f(file_id,dsetname1,attrname2,dimsr,type_class,type_size,errcode) -call passed() + ! + ! compare dimensions + ! + DO i = 1, rank + IF ( dimsr(i) .NE. dims(i) ) THEN + PRINT *, 'dimensions differ ' + STOP + ENDIF + END DO + ! + ! Close the file. + ! + CALL h5fclose_f(file_id, errcode) + ! + ! Close FORTRAN predefined datatypes. + ! + CALL h5close_f(errcode) -!------------------------------------------------------------------------- -! string -!------------------------------------------------------------------------- - -call test_begin(' Set/Get attributes string ') - - -! -! write attribute. -! -call h5ltset_attribute_string_f(file_id,dsetname1,attrname5,buf1,errcode) - -! -! read attribute. -! -call h5ltget_attribute_string_f(file_id,dsetname1,attrname5,bufr1,errcode) - -! -! compare read and write buffers. -! - -if ( buf1 .ne. bufr1 ) then - print *, 'read buffer differs from write buffer' - print *, buf1, ' and ', bufr1 - stop - endif - - -call passed() - -!------------------------------------------------------------------------- -! get attribute rank -!------------------------------------------------------------------------- - -call test_begin(' Get attribute rank/info ') - - -call h5ltget_attribute_ndims_f(file_id,dsetname1,attrname2,rankr,errcode) - -if ( rankr .ne. 1 ) then - print *, 'h5ltget_attribute_ndims_f return error' - stop -endif - - -call h5ltget_attribute_info_f(file_id,dsetname1,attrname2,dimsr,type_class,type_size,errcode) - -! -! compare dimensions -! -do i = 1, rank - if ( dimsr(i) .ne. dims(i) ) then - print *, 'dimensions differ ' - stop - endif -end do - - -! -! Close the file. -! -call h5fclose_f(file_id, errcode) -! -! Close FORTRAN predefined datatypes. -! -call h5close_f(errcode) - -call passed() -! -! end function. -! -end subroutine test_attributes + CALL passed() + ! + ! end function. + ! +END SUBROUTINE test_attributes @@ -1054,16 +1515,16 @@ end subroutine test_attributes ! test_begin !------------------------------------------------------------------------- -subroutine test_begin(string) -character(LEN=*), intent(IN) :: string -write(*, fmt = '(14a)', advance = 'no') string -write(*, fmt = '(40x,a)', advance = 'no') ' ' -end subroutine test_begin +SUBROUTINE test_begin(string) + CHARACTER(LEN=*), INTENT(IN) :: string + WRITE(*, fmt = '(14a)', advance = 'no') string + WRITE(*, fmt = '(40x,a)', advance = 'no') ' ' +END SUBROUTINE test_begin !------------------------------------------------------------------------- ! passed !------------------------------------------------------------------------- -subroutine passed() -write(*, fmt = '(6a)') 'PASSED' -end subroutine passed +SUBROUTINE passed() + WRITE(*, fmt = '(6a)') 'PASSED' +END SUBROUTINE passed diff --git a/hl/fortran/test/tsttable.f90 b/hl/fortran/test/tsttable.f90 index 8191693..66ec5c6 100755 --- a/hl/fortran/test/tsttable.f90 +++ b/hl/fortran/test/tsttable.f90 @@ -39,14 +39,14 @@ SUBROUTINE test_table1() CHARACTER(len=8), PARAMETER :: filename = "f1tab.h5" ! File name CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name INTEGER(HID_T) :: file_id ! File identifier - INTEGER(HSIZE_T), PARAMETER :: nfields = 4; ! nfields - INTEGER(HSIZE_T), PARAMETER :: nrecords = 5; ! nrecords + INTEGER(HSIZE_T), PARAMETER :: nfields = 4 ! nfields + INTEGER(HSIZE_T), PARAMETER :: nrecords = 5 ! nrecords CHARACTER(LEN=10),DIMENSION(1:nfields) :: field_names ! field names INTEGER(SIZE_T), DIMENSION(1:nfields) :: field_offset ! field offset INTEGER(HID_T), DIMENSION(1:nfields) :: field_types ! field types INTEGER(HSIZE_T), PARAMETER :: chunk_size = 5 ! chunk size INTEGER, PARAMETER :: compress = 0 ! compress - INTEGER :: errcode ! Error flag + INTEGER :: errcode = 0 ! Error flag INTEGER :: i ! general purpose integer INTEGER(SIZE_T) :: type_size ! Size of the datatype INTEGER(SIZE_T) :: type_sizec ! Size of the character datatype @@ -69,8 +69,8 @@ SUBROUTINE test_table1() CHARACTER(LEN=9), DIMENSION(1:nfields) :: field_namesr ! field names INTEGER(SIZE_T), DIMENSION(1:nfields) :: field_offsetr ! field offset INTEGER(SIZE_T), DIMENSION(1:nfields) :: field_sizesr ! field sizes - INTEGER(SIZE_T) :: type_sizeout ! size of the datatype - INTEGER :: maxlen ! max chararter length of a field name + INTEGER(SIZE_T) :: type_sizeout = 0 ! size of the datatype + INTEGER :: maxlen = 0 ! max chararter length of a field name ! @@ -376,7 +376,6 @@ SUBROUTINE test_table1() CALL passed() - !------------------------------------------------------------------------- ! Get information about fields !------------------------------------------------------------------------- |