While trying to figure out what was causing the problems I'd posted about
before, I noticed that certain data sets were not always getting filled
properly when there size was being increased (mostly the new entries were
filled, but some in the first column had 0 instead). Attempting to perform
the same operations in isolation didn't reproduce the problem (of course
;-), but changing the fill time and alloc time (see below) made it go away
consistently. Is this something that is supposed to happen, or a further
sign of something deep being confused? Thanks very much.
The data set creation code looks more or less like the following (with
error checking and closing stripped out--everything except the data set
itself is closed at the end of the function and all function returns are
checked).
ds=H5Screate_simple(D, dims, maxs);
plist=H5Pcreate(H5P_DATASET_CREATE);
H5Pset_chunk(plist, D, cdims);
H5Pset_fill_value(plist, HDF5_NATIVE_DOUBLE,
&value_equal_to_double_max);
- H5Pset_fill_time(plist, H5D_FILL_TIME_IFSET);
- H5Pset_alloc_time(plist, H5D_ALLOC_TIME_LATE);
+ H5Pset_fill_time(plist, H5D_FILL_TIME_ALLOC));
+ H5Pset_alloc_time(plist, H5D_ALLOC_TIME_INCR);
hid=H5Dcreate2(parent->get_hid(),
name.c_str(),
H5T_IEEE_F64LE,
ds, H5P_DEFAULT, plist,
H5P_DEFAULT);
Version 1.84.
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org