Index of Functions: A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 
Index Page
dafhsf

Table of contents
Procedure
Abstract
Required_Reading
Keywords
Declarations
Brief_I/O
Detailed_Input
Detailed_Output
Parameters
Exceptions
Files
Particulars
Examples
Restrictions
Literature_References
Author_and_Institution
Version

Procedure

     DAFHSF ( DAF, handle to summary format )

     ENTRY DAFHSF ( HANDLE, ND, NI )

Abstract

     Return the summary format associated with a handle.

Required_Reading

     DAF

Keywords

     CONVERSION
     DAF
     FILES

Declarations

    INTEGER               HANDLE
    INTEGER               ND
    INTEGER               NI

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     HANDLE     I   Handle of a DAF file.
     ND         O   Number of double precision components in summaries.
     NI         O   Number of integer components in summaries.

Detailed_Input

     HANDLE   is the handle associated with a previously opened
              DAF file.

Detailed_Output

     ND,
     NI       are the numbers of double precision and integer
              components, respectively, in each array summary
              in the specified file.

Parameters

     None.

Exceptions

     1)  If the specified handle does not belong to any file that is
         currently known to be open, the error SPICE(DAFNOSUCHHANDLE)
         is signaled.

Files

     None.

Particulars

     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.

Examples

     The numerical results shown for this example may differ across
     platforms. The results depend on the SPICE kernels used as
     input, the compiler and supporting libraries, 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.


              PROGRAM DAFHSF_EX1
              IMPLICIT NONE

        C
        C     Count the number of d.p. words of data in a
        C     DAF.  Exclude array summaries, reserved records,
        C     the file record, and character records.
        C
              INTEGER               FILEN
              PARAMETER           ( FILEN  = 128 )

              INTEGER               MAXND
              PARAMETER           ( MAXND  = 124 )

              INTEGER               MAXNI
              PARAMETER           ( MAXNI  = 250 )

              INTEGER               MAXSUM
              PARAMETER           ( MAXSUM = 125 )

        C
        C     Local variables.
        C
              CHARACTER*(FILEN)     DAF

              DOUBLE PRECISION      DC    ( MAXND  )
              DOUBLE PRECISION      SUM   ( MAXSUM )

              INTEGER               FA
              INTEGER               HANDLE
              INTEGER               IA
              INTEGER               IC    ( MAXNI )
              INTEGER               N
              INTEGER               ND
              INTEGER               NI

              LOGICAL               FOUND


              DAF = 'de421.bsp'

        C
        C     Open the DAF and find the summary format.
        C
              CALL DAFOPR ( DAF,    HANDLE )
              CALL DAFHSF ( HANDLE, ND, NI )

        C
        C     Start a forward search and examine each array in
        C     turn.
        C
              CALL DAFBFS ( HANDLE )
              CALL DAFFNA ( FOUND  )

              N = 0
              DO WHILE ( FOUND )

        C
        C        Obtain the array summary, unpack it, and get
        C        the initial and final array addresses from
        C        the integer descriptor component.
        C
                 CALL DAFGS ( SUM )
                 CALL DAFUS ( SUM, ND, NI, DC, IC )

                 IA  =  IC ( NI - 1 )
                 FA  =  IC ( NI     )

                 N   =  FA - IA + 1 + N

                 CALL DAFFNA ( FOUND )

              END DO

              WRITE (*,*) 'Number of d.p. words is ', N

              END


        When this program was executed on a Mac/Intel/gfortran/64-bit
        platform, the output was:


         Number of d.p. words is      2098004

Restrictions

     None.

Literature_References

     None.

Author_and_Institution

     N.J. Bachman       (JPL)
     J. Diaz del Rio    (ODC Space)
     K.R. Gehringer     (JPL)
     H.A. Neilan        (JPL)
     W.L. Taber         (JPL)
     F.S. Turner        (JPL)
     I.M. Underwood     (JPL)
     E.D. Wright        (JPL)

Version

    SPICELIB Version 8.0.2, 25-NOV-2021 (JDR)

        Edited the header to comply with NAIF standard. Changed example
        code to hardcode the DAF file used as input.

    SPICELIB Version 8.0.1, 10-OCT-2012 (EDW)

        Corrected ordering of header section.

        Removed the obsolete Reference citation to "NAIF
        Document 167.0."

    SPICELIB Version 8.0.0, 13-NOV-2001 (FST)

        This routine was updated to utilize the new handle manager
        software to manage binary file formats and consolidated
        I/O code.

    SPICELIB Version 7.0.4, 08-OCT-1999 (WLT)

        The environment lines were expanded so that the supported
        environments are now explicitly given. New
        environments are WIN-NT

    SPICELIB Version 7.0.3, 16-SEP-1999 (NJB)

        CSPICE environments were added. Some typos were corrected.

    SPICELIB Version 7.0.2, 28-JUL-1999 (WLT)

        The environment lines were expanded so that the supported
        environments are now explicitly given. New
        environments are PC-DIGITAL, SGI-O32 and SGI-N32.

    SPICELIB Version 7.0.1, 17-MAR-1999 (WLT)

        The environment lines were expanded so that the supported
        environments are now explicitly given. Previously,
        environments such as SUN-SUNOS and SUN-SOLARIS were implied
        by the environment label SUN.

    SPICELIB Version 1.0.4, 29-SEP-1993 (KRG)

        Removed references to specific DAF file open routines in the
        $Detailed_Input section of the header. This was done in order
        to minimize documentation changes if these open routines ever
        change.

    SPICELIB Version 1.0.3, 10-MAR-1992 (WLT)

        Comment section for permuted index source lines was added
        following the header.

    SPICELIB Version 1.0.2, 03-SEP-1990 (NJB)

        Example added to the $Examples section.

    SPICELIB Version 1.0.1, 22-MAR-1990 (HAN)

        Literature references added to the header.

    SPICELIB Version 1.0.0, 31-JAN-1990 (IMU)
Fri Dec 31 18:36:08 2021