Reading 64-bit integers from Fortran

Hello,
I'm trying to read some 64-bit integer VIIRS data in HDF5 format via Fortran. After a quick search I found this document:

"For example, if an HDF5 dataset stores 64-bit integers, data cannot be read by an HDF5 Fortran application into the buffer of the appropriate type like INTEGER*8 or INTEGER(KIND=big_enough_to_store) because there is no interface provided by the HDF5 Fortran Library."

Is this still the case with version 1.8.12? I couldn't find any documentation to suggest otherwise, but wanted to confirm.
Thanks,
-Corey

Hi Corey,

The sentence you pointed out is one of the limitations of Fortran support in HDF5 *prior* to HDF5-1.8.8.
With HDF5-1.8.8 we added support for Fortran 2003, so now this is not a limitation in HDF5. (See Section
3 in that document for the Fortran 2003 features in HDF5.)

On the "Examples by API" page, there are many Fortran examples that use Fortran 2003, including an
example that reads 64-bit integers (h5ex_t_int_F03.f90):

http://www.hdfgroup.org/HDF5/examples/api18-fortran.html

(I attached h5ex_t_int_F03.f90 to this message.)

Please note that if you wish to use the F2003 features in HDF5, you need to have a Fortran compiler that supports
Fortran 2003, and you need to have built HDF5 with F2003 support enabled. The NewFeatures_F2003.pdf document
discusses this, as well.

For example, to build HDF5 with Fortran 2003 support on Unix you would specify these options with configure:
--enable-fortran --enable-fortran2003

If you have further questions, let me know!

-Barbara

h5ex_t_int_F03.f90 (3.01 KB)

···

====================
Barbara Jones
The HDF Helpdesk

The HDF Group
help@hdfgroup.org

-----Original Message-----
From: Hdf-forum [mailto:hdf-forum-bounces@lists.hdfgroup.org] On Behalf Of Corey Bettenhausen
Sent: Thursday, November 14, 2013 11:21 AM
To: HDF Users Discussion List
Subject: [Hdf-forum] Reading 64-bit integers from Fortran

Hello,
I'm trying to read some 64-bit integer VIIRS data in HDF5 format via Fortran. After a quick search I found this document:
http://www.hdfgroup.org/HDF5/doc/fortran/NewFeatures_F2003.pdf

"For example, if an HDF5 dataset stores 64-bit integers, data cannot be read by an HDF5 Fortran application into the buffer of the appropriate type like INTEGER*8 or INTEGER(KIND=big_enough_to_store) because there is no interface provided by the HDF5 Fortran Library."

Is this still the case with version 1.8.12? I couldn't find any documentation to suggest otherwise, but wanted to confirm.
Thanks,
-Corey

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

Hi Barbara,
Well, glad to hear it's possible. I had it in my head that the F2003 features were basically "beta" features and may or may not be stable. I'm assuming this isn't the case then? Is there any reason not to compile HDF5 with F2003 enabled (give the presense of F2003 support in the compiler)? Thanks for your help.
Cheers,
-Corey

···

On Nov 14, 2013, at 2:00 PM, Barbara Jones wrote:

Hi Corey,

The sentence you pointed out is one of the limitations of Fortran support in HDF5 *prior* to HDF5-1.8.8.
With HDF5-1.8.8 we added support for Fortran 2003, so now this is not a limitation in HDF5. (See Section
3 in that document for the Fortran 2003 features in HDF5.)

On the "Examples by API" page, there are many Fortran examples that use Fortran 2003, including an
example that reads 64-bit integers (h5ex_t_int_F03.f90):

http://www.hdfgroup.org/HDF5/examples/api18-fortran.html

(I attached h5ex_t_int_F03.f90 to this message.)

Please note that if you wish to use the F2003 features in HDF5, you need to have a Fortran compiler that supports
Fortran 2003, and you need to have built HDF5 with F2003 support enabled. The NewFeatures_F2003.pdf document
discusses this, as well.

For example, to build HDF5 with Fortran 2003 support on Unix you would specify these options with configure:
--enable-fortran --enable-fortran2003

If you have further questions, let me know!

-Barbara

====================
Barbara Jones
The HDF Helpdesk

The HDF Group
help@hdfgroup.org

-----Original Message-----
From: Hdf-forum [mailto:hdf-forum-bounces@lists.hdfgroup.org] On Behalf Of Corey Bettenhausen
Sent: Thursday, November 14, 2013 11:21 AM
To: HDF Users Discussion List
Subject: [Hdf-forum] Reading 64-bit integers from Fortran

Hello,
I'm trying to read some 64-bit integer VIIRS data in HDF5 format via Fortran. After a quick search I found this document:
http://www.hdfgroup.org/HDF5/doc/fortran/NewFeatures_F2003.pdf

"For example, if an HDF5 dataset stores 64-bit integers, data cannot be read by an HDF5 Fortran application into the buffer of the appropriate type like INTEGER*8 or INTEGER(KIND=big_enough_to_store) because there is no interface provided by the HDF5 Fortran Library."

Is this still the case with version 1.8.12? I couldn't find any documentation to suggest otherwise, but wanted to confirm.
Thanks,
-Corey

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
<h5ex_t_int_F03.f90>_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

--
Corey Bettenhausen
Science Systems and Applications, Inc
NASA Goddard Space Flight Center
301 614 5383
corey.bettenhausen@ssaihq.com

Hi Corey,

The F2003 features in HDF5 are fully supported (not beta). I can't think of any reason not to compile HDF5 with F2003 enabled.
On our web site we provide pre-built binaries for Linux (32-bit, 64-bit) that are built with F2003 enabled using gcc/g++/gfortran 4.8.1, in case you can use those.
See:
  http://www.hdfgroup.org/HDF5/release/obtain5.html

-Barbara

···

-----Original Message-----
From: Hdf-forum [mailto:hdf-forum-bounces@lists.hdfgroup.org] On Behalf Of Corey Bettenhausen
Sent: Thursday, November 14, 2013 1:11 PM
To: HDF Users Discussion List
Subject: Re: [Hdf-forum] Reading 64-bit integers from Fortran

Hi Barbara,
Well, glad to hear it's possible. I had it in my head that the F2003 features were basically "beta" features and may or may not be stable. I'm assuming this isn't the case then? Is there any reason not to compile HDF5 with F2003 enabled (give the presense of F2003 support in the compiler)? Thanks for your help.
Cheers,
-Corey

On Nov 14, 2013, at 2:00 PM, Barbara Jones wrote:

Hi Corey,

The sentence you pointed out is one of the limitations of Fortran support in HDF5 *prior* to HDF5-1.8.8.
With HDF5-1.8.8 we added support for Fortran 2003, so now this is not
a limitation in HDF5. (See Section
3 in that document for the Fortran 2003 features in HDF5.)

On the "Examples by API" page, there are many Fortran examples that
use Fortran 2003, including an example that reads 64-bit integers (h5ex_t_int_F03.f90):

http://www.hdfgroup.org/HDF5/examples/api18-fortran.html

(I attached h5ex_t_int_F03.f90 to this message.)

Please note that if you wish to use the F2003 features in HDF5, you
need to have a Fortran compiler that supports Fortran 2003, and you
need to have built HDF5 with F2003 support enabled. The NewFeatures_F2003.pdf document discusses this, as well.

For example, to build HDF5 with Fortran 2003 support on Unix you would specify these options with configure:
--enable-fortran --enable-fortran2003

If you have further questions, let me know!

-Barbara

====================
Barbara Jones
The HDF Helpdesk

The HDF Group
help@hdfgroup.org

-----Original Message-----
From: Hdf-forum [mailto:hdf-forum-bounces@lists.hdfgroup.org] On
Behalf Of Corey Bettenhausen
Sent: Thursday, November 14, 2013 11:21 AM
To: HDF Users Discussion List
Subject: [Hdf-forum] Reading 64-bit integers from Fortran

Hello,
I'm trying to read some 64-bit integer VIIRS data in HDF5 format via Fortran. After a quick search I found this document:
http://www.hdfgroup.org/HDF5/doc/fortran/NewFeatures_F2003.pdf

"For example, if an HDF5 dataset stores 64-bit integers, data cannot be read by an HDF5 Fortran application into the buffer of the appropriate type like INTEGER*8 or INTEGER(KIND=big_enough_to_store) because there is no interface provided by the HDF5 Fortran Library."

Is this still the case with version 1.8.12? I couldn't find any documentation to suggest otherwise, but wanted to confirm.
Thanks,
-Corey

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgro
up.org
<h5ex_t_int_F03.f90>_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgro
up.org

--
Corey Bettenhausen
Science Systems and Applications, Inc
NASA Goddard Space Flight Center
301 614 5383
corey.bettenhausen@ssaihq.com

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

Thanks, Barbara. I was able to get the HDF5 library compiled with the --enable-fortran2003 flag and my data set successfully read. Thank you for your help and time!
Cheers,
-Corey

···

On Nov 14, 2013, at 2:28 PM, Barbara Jones wrote:

Hi Corey,

The F2003 features in HDF5 are fully supported (not beta). I can't think of any reason not to compile HDF5 with F2003 enabled.
On our web site we provide pre-built binaries for Linux (32-bit, 64-bit) that are built with F2003 enabled using gcc/g++/gfortran 4.8.1, in case you can use those.
See:
http://www.hdfgroup.org/HDF5/release/obtain5.html

-Barbara

-----Original Message-----
From: Hdf-forum [mailto:hdf-forum-bounces@lists.hdfgroup.org] On Behalf Of Corey Bettenhausen
Sent: Thursday, November 14, 2013 1:11 PM
To: HDF Users Discussion List
Subject: Re: [Hdf-forum] Reading 64-bit integers from Fortran

Hi Barbara,
Well, glad to hear it's possible. I had it in my head that the F2003 features were basically "beta" features and may or may not be stable. I'm assuming this isn't the case then? Is there any reason not to compile HDF5 with F2003 enabled (give the presense of F2003 support in the compiler)? Thanks for your help.
Cheers,
-Corey

On Nov 14, 2013, at 2:00 PM, Barbara Jones wrote:

Hi Corey,

The sentence you pointed out is one of the limitations of Fortran support in HDF5 *prior* to HDF5-1.8.8.
With HDF5-1.8.8 we added support for Fortran 2003, so now this is not
a limitation in HDF5. (See Section
3 in that document for the Fortran 2003 features in HDF5.)

On the "Examples by API" page, there are many Fortran examples that
use Fortran 2003, including an example that reads 64-bit integers (h5ex_t_int_F03.f90):

http://www.hdfgroup.org/HDF5/examples/api18-fortran.html

(I attached h5ex_t_int_F03.f90 to this message.)

Please note that if you wish to use the F2003 features in HDF5, you
need to have a Fortran compiler that supports Fortran 2003, and you
need to have built HDF5 with F2003 support enabled. The NewFeatures_F2003.pdf document discusses this, as well.

For example, to build HDF5 with Fortran 2003 support on Unix you would specify these options with configure:
--enable-fortran --enable-fortran2003

If you have further questions, let me know!

-Barbara

====================
Barbara Jones
The HDF Helpdesk

The HDF Group
help@hdfgroup.org

-----Original Message-----
From: Hdf-forum [mailto:hdf-forum-bounces@lists.hdfgroup.org] On
Behalf Of Corey Bettenhausen
Sent: Thursday, November 14, 2013 11:21 AM
To: HDF Users Discussion List
Subject: [Hdf-forum] Reading 64-bit integers from Fortran

Hello,
I'm trying to read some 64-bit integer VIIRS data in HDF5 format via Fortran. After a quick search I found this document:
http://www.hdfgroup.org/HDF5/doc/fortran/NewFeatures_F2003.pdf

"For example, if an HDF5 dataset stores 64-bit integers, data cannot be read by an HDF5 Fortran application into the buffer of the appropriate type like INTEGER*8 or INTEGER(KIND=big_enough_to_store) because there is no interface provided by the HDF5 Fortran Library."

Is this still the case with version 1.8.12? I couldn't find any documentation to suggest otherwise, but wanted to confirm.
Thanks,
-Corey

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgro
up.org
<h5ex_t_int_F03.f90>_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgro
up.org

--
Corey Bettenhausen
Science Systems and Applications, Inc
NASA Goddard Space Flight Center
301 614 5383
corey.bettenhausen@ssaihq.com

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

--
Corey Bettenhausen
Science Systems and Applications, Inc
NASA Goddard Space Flight Center
301 614 5383
corey.bettenhausen@ssaihq.com