Table of contents
CSPICE_DAFHSF returns the summary format associated with a handle.
Given:
handle the handle associated with a previously opened DAF file.
help, handle
LONG = Scalar
the call:
cspice_dafhsf, handle, nd, ni
returns:
nd,
ni the numbers of double precision and integer components,
respectively, in each array summary in the specified file.
help, nd
LONG = Scalar
help, ni
LONG = Scalar
None.
Any numerical results shown for this example may differ between
platforms as the results depend on the SPICE kernels used as input
and the machine specific arithmetic implementation.
1) Find the number of d.p. `words' in a DAF having an
arbitrary summary format.
Use the SPK kernel below as input DAF file for the program.
de421.bsp
Example code begins here.
PRO dafhsf_ex1
;;
;; Count the number of d.p. words of data in a
;; `daf'. Exclude array summaries, reserved records,
;; the file record, and character records.
;;
daf = 'de421.bsp'
;;
;; Open the `daf' and find the summary format.
;;
cspice_dafopr, daf, handle
cspice_dafhsf, handle, nd, ni
;;
;; Start a forward search and examine each array in
;; turn.
;;
cspice_dafbfs, handle
cspice_daffna, found
n = 0
while ( found ) do begin
;;
;; Obtain the array summary, unpack it, and get
;; the initial and final array addresses from
;; the integer descriptor component.
;;
cspice_dafgs, nd, ni, dc, ic
ia = ic[ ni - 2 ]
fa = ic[ ni - 1 ]
n = fa - ia + 1 + n
cspice_daffna, found
endwhile
print, 'Number of d.p. words is ', n
END
When this program was executed on a Mac/Intel/IDL8.x/64-bit
platform, the output was:
Number of d.p. words is 2098004
The summary format must be known in order to pack or unpack
an array summary. See the DAF Required Reading for a discussion
of summary formats.
1) If the specified handle does not belong to any file that is
currently known to be open, the error SPICE(DAFNOSUCHHANDLE)
is signaled by a routine in the call tree of this routine.
2) If the input argument `handle' is undefined, an error is
signaled by the IDL error handling system.
3) If the input argument `handle' is not of the expected type, or
it does not have the expected dimensions and size, an error is
signaled by the Icy interface.
4) If any of the output arguments, `nd' or `ni', is not a named
variable, an error is signaled by the Icy interface.
None.
None.
DAF.REQ
ICY.REQ
None.
J. Diaz del Rio (ODC Space)
-Icy Version 1.0.0, 09-AUG-2021 (JDR)
handle to DAF summary format
|