Re: HDF_SD_GETACCESS: No content in variable, error [message #71803 is a reply to message #71801] |
Wed, 21 July 2010 05:54   |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
aa8533 writes:
> Hi - I'm trying to make a program which automatically runs through
> 100s of images (MODIS Fire data) and extracts data at a particular
> point. The program works fine where there is data to extract (in the
> case below, when there is data in FP_Sample) but halts for an image
> where there is none with message "Array dimensions must be greater
> than 0".
>
> Extract of code is:
>
> sd=hdf_sd_start(fileName)
> index=hdf_sd_nametoindex(sd,'FP_sample')
> sds=hdf_sd_select(sd,index)
> hdf_sd_getdata,sds,sample <------------------ Halts with message
> here
>
> Is there a way to test the size of the variable (in this case Sample)
> and if, say it's -1 (no data) then skip the last line of this code?
In my code, I check the index number to see if it is
valid (e.g., something other than -1) before I try
to read the data. Do you know what the value of the
index number is when you get this error?
My code looks like this:
; Get the index of the variable.
index = HDF_SD_NameToIndex(fileID, theVariable)
IF index EQ -1 THEN $
Message, 'Variable (' + theVariable + ') not found.'
; Select the variable and read it.
varID = HDF_SD_Select(fileID, index)
HDF_SD_GetData, varID, data, COUNT=count, $
START=start, STRIDE=stride
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|