I solved the problem.  When I was issuing the h5dwrite_f() command, I did
not have a "mem_space_id" parameter defined.  To fix it, I defined a new
dataspace as:

call h5screate_simple_f(rank, block*cnt, mspace_id, ierr)

and then used "mspace_id" in the h5dwrite_f() function call.  This makes it
behave as expected. (The source code is attached.  I also deleted the
if-statements around the attribute writes, which makes them work
correctly.)

My understanding as to why it works now is that, since the memory dataspace
wasn't defined, it defaulted to using the file dataspace.  With the offsets
used for each processor, this would cause it to "skip" roughly half of the
data for each processor, which was the observed symptom.

Greg

Attachment: hdfproblem.f90
Description: Binary data

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org

Reply via email to