On Feb 5, 2015, at 12:09 PM, Fabio Berzaghi <[email protected]<mailto:[email protected]>> wrote:
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? I’m not aware of the API changing, more likely is size_t was 4 bytes on the machine you were using. Glad it works now. Scot 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 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]<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
