Thank you Scot, that worked perfectly!

But the strange thing is that this code was running just fine a couple of years ago, maybe this subroutine call has been changed?


On 4/2/15 20:15, Scot Breitenfeld wrote:
The argument needs to be a scalar, so pass test(1), test(2), etc… If you have multiple calls to h5tset_size then you will have to do this in a loop, and you will probably have to make atype_id an array.

These examples at http://www.hdfgroup.org/HDF5/examples/api18-fortran.html <http://www.hdfgroup.org/HDF5/examples/api18-fortran.html> use h5tset_size_f

h5ex_t_cmpdatt_F03.f90
h5ex_t_cmpd_F03.f90
h5ex_t_stringCatt_F03.f90
h5ex_t_stringC_F03.f90
h5ex_t_string_F03.f90

they might help you.

Scot


On Feb 4, 2015, at 10:36 AM, Fabio Berzaghi <[email protected] <mailto:[email protected]>> wrote:

Scot thanks,

But I am still not able to make this work. I have multiple calls of h5tset_size and each of them needs a different size.
I tried to declare an integer variable
integer(SIZE_T),dimension(4) :: test
CALL h5tset_size_f(atype_id, test, hdferr)

but I get Rank mismatch in argument 'size' at (1) (scalar and rank-1), which refers to test.

I also tried to declare the variable in the subroutine call but it doesn't work either.

Is there a specific way of doing it?

Thank you






On 4/2/15 17:05, Scot Breitenfeld wrote:
h5tset_size is expecting an integer(size_t) in the second argument, but you are passing and integer (constant 18), instead pass INT(18,size_t).

Scot

On Feb 4, 2015, at 9:34 AM, Fabio Berzaghi <[email protected] <mailto:[email protected]>> wrote:

Dear All,

I am not able to find what throws this error when compiling this .f90 file with gfortran. I am copying part of the code which doesn't give any other errors.

the variables are declared as
integer :: hdferr
integer(HID_T):: atype_id

these are the subroutine calls just before and after

CALL h5screate_simple_f(1, adims, aspace_id, hdferr)
CALL h5tcopy_f(H5T_NATIVE_CHARACTER, atype_id, hdferr)
CALL h5tset_size_f(atype_id, 18, hdferr)
CALL h5acreate_f(dset_id, 'FullName', atype_id, aspace_id, attr_id, hdferr)
CALL h5awrite_f(attr_id, atype_id, 'Precipitation Rate', adims, hdferr)
CALL h5aclose_f(attr_id, hdferr)

I can't figure out where the problem is.

Thanks



_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected] <mailto:[email protected]>
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected] <mailto:[email protected]>
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5


_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected] <mailto:[email protected]>
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5



_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to