NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
NOTE: The netcdf-hdf
mailing list is no longer active. The list archives are made available for historical reasons.
Hi Ed >> I also noticed that H5DSget_num_scales returns -1 (FAIL) in one case >> when there is no scale attached. I'll take a look why we did that >> this way, but probably we can return 0 for this case >Well that would be better. I changed the return value of H5DSget_num_scales for a case when there are no scales attached from FAIL (-1) to 0 the code is checked in our cvs repo the lines of code that were returning -1 in your case are inside the H5DSget_num_scales function /* try to find the attribute "DIMENSION_LIST" on the >>data<< dataset */ if ((has_dimlist = H5LT_find_attribute(did,DIMENSION_LIST))<0) return FAIL; /* it does not exist */ if (has_dimlist == 0) return 0; previously it returned FAIL here , the rationale was because it did not find the DIMENSION_LIST attribute. it is more correct to return 0, like you noticed, meaning that there was no attempt to previously attach a dimension scale to this dataset thanks for the suggestion > > in a group (H5Gget_num_objs) and iterating with >> H5Gget_objtype_by_idx >What is a less original way of solving this problem? that was just original for me because those functions are relatively new, and I do not use them very much Pedro At 05:22 PM 7/12/2005, you wrote: >Pedro Vicente Nunes <pvn@xxxxxxxxxxxxx> writes: > >> Hi Ed >> >> thank you so much for trying our dimension scales software. > >Thanks for putting it there! > >> >> Your program is very interesting, it uses an original approach to iterate >> trough the objects >> in a group (H5Gget_num_objs) and iterating with >> H5Gget_objtype_by_idx > >What is a less original way of solving this problem? > >> >> can we use it for our repository tests ? > >Of course. > >> >> regarding your question, the approach you are using to verify that a >> dimension scale ID is really pointing to the dimscale dataset, won't work. >> >> that is because you are using the H5Iget_name function, but the ID that this >> function accepts >> was obtained (inside the H5DSiterate_scales function) with the >> H5Rdereference function, so >> it was a "dereferenced" object , which has "no name", so to speak. >> >> so, we have to find another way to verify those IDs. >> one option that comes to mind is to use the H5Gget_objinfo function >> , that returns a unique object address in the file > >Yes, I've already worked that out with Quincey, and implemented it in >netcdf-4. I'm playing with it now, but I'm still not sure that it will >work. > >> >> however to use this, you'll have to modify the design of your program. >> you must obtain the dim scale ID, save it, >> then compare it inside the cycle with H5Gget_objinfo with the 2 IDs >> and compare those adresses. > >Yes, this is exactly what I now do. > >> >> the test file test_ds.c has several examples of iterator functions >> that obtain information about a dimension scale > >Thanks, I will look at it closely. > >> >> I modified your alien_visitor function so that it uses H5Gget_objinfo . >> however, like this, it does not do what you want, but it is an example >> >> sorry for not being more specific, but it's been a while sine I wrote that >> code. >> I'll go tru it again to see if I can find a way to match your >> original goal > >That's OK, I've moved on. But I'm sure I'll hit the next problem soon! > >> >> I also noticed that H5DSget_num_scales returns -1 (FAIL) in one case >> when there is no scale attached. I'll take a look why we did that >> this way, but probably we can return 0 for this case > >Well that would be better. > >> >> here is the new function, complete code is attached >> Pedro > >Thanks Pedro! > >Ed > >-- >Ed Hartnett -- ed@xxxxxxxxxxxxxxxx </Pedro Vicente Nunes> -------------------------------------------------------------- hdf.ncsa.uiuc.edu Tel. 1-217-265 0311
netcdf-hdf
archives: