next up previous contents
Next: B.7 Example IDL Function Up: B IDL Support Previous: B.5 Available Functions

B.6 Example IDL Session

The following IDL session will open a CDF (unsuccessfully at first --- typo), inquire about a variable named LATITUDE, and then close the CDF.

   .
   .
   IDL> status=CDFopen('yrdy3',id)
   IDL> status=CDFerror(status,text)
   IDL> print,text
   NO_SUCH_CDF: The specified CDF does not exist.
   IDL> status=CDFopen('test2',id)
   IDL> status=CDFerror(status,text)
   IDL> print,text
   CDF_OK: Function completed successfully.
   IDL> status=CDFvarInquire(id,CDFvarNum(id,'LATITUDE'),varName,dataType,$
   IDL> numElems,recVary,dimVarys)
   IDL> status=CDFerror(status,text)
   IDL> print,text
   CDF_OK: Function completed successfully.
   IDL> print,dataType,numElems
             21           1
   IDL> status=CDFclose(id)
   IDL> status=CDFerror(status,text)
   IDL> print,text
   CDF_OK: Function completed successfully.
   .
   .

As you can see, checking the return status from each call to the CDF library can be fairly tedious. A procedure such as the following could be used to ease status code checking...

   pro checkstatus, status
   @cdf
   if (status lt CDF_OK) then begin
     statusT = CDFerror (status, text)
     print, text
   endif
   return
   end

The sample IDL session could then be as follows...

   .
   .
   IDL> status=CDFopen('yrdy3',id)
   IDL> checkstatus,status
   NO_SUCH_CDF: The specified CDF does not exist.
   IDL> checkstatus,CDFopen('test2',id)
   CDF_OK: Function completed successfully.
   IDL> status=CDFvarInquire(id,CDFvarNum(id,'LATITUDE'),varName,dataType,$
   IDL> numElems,recVary,dimVarys)
   IDL> checkstatus,status
   CDF_OK: Function completed successfully.
   IDL> print,dataType,numElems
             21           1
   IDL> checkstatus,CDFclose(id)
   CDF_OK: Function completed successfully.
   .
   .

As you can see, a call to a CDF function can be embedded in a call to checkstatus.



cdfsupport@nssdca.gsfc.nasa.gov