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
dasrfr

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

     DASRFR ( DAS, read file record )

     SUBROUTINE DASRFR ( HANDLE, IDWORD, IFNAME, NRESVR,
    .                    NRESVC, NCOMR,  NCOMC          )

Abstract

     Return the contents of the file record of a specified DAS
     file.

Required_Reading

     DAS

Keywords

     DAS
     FILES
     UTILITY

Declarations

     IMPLICIT NONE

     INTEGER               HANDLE
     CHARACTER*(*)         IDWORD
     CHARACTER*(*)         IFNAME
     INTEGER               NRESVR
     INTEGER               NRESVC
     INTEGER               NCOMR
     INTEGER               NCOMC

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     HANDLE     I   DAS file handle.
     IDWORD     O   ID word.
     IFNAME     O   DAS internal file name.
     NRESVR     O   Number of reserved records in file.
     NRESVC     O   Number of characters in use in reserved rec. area.
     NCOMR      O   Number of comment records in file.
     NCOMC      O   Number of characters in use in comment area.

Detailed_Input

     HANDLE   is a file handle for a previously opened DAS file.

Detailed_Output

     IDWORD   is the "ID word" contained in the first eight
              characters of the file record.

     IFNAME   is the internal file name of the DAS file. The
              maximum length of the internal file name is 60
              characters.

     NRESVR   is the number of reserved records in the DAS file
              specified by HANDLE.

     NRESVC   is the number of characters in use in the reserved
              record area of the DAS file specified by HANDLE.

     NCOMR    is the number of comment records in the DAS file
              specified by HANDLE.

     NCOMC    is the number of characters in use in the comment area
              of the DAS file specified by HANDLE.

Parameters

     None.

Exceptions

     1)  If the file read attempted by this routine fails, an error is
         signaled by a routine in the call tree of this routine.

     2)  If the input file handle is invalid, an error is signaled by
         a routine in the call tree of this routine.

     3)  If a logical unit cannot be obtained for the file designated
         by HANDLE, an error is signaled by a routine in the call tree
         of this routine.

     4)  If the file's binary format is unrecognized, an error is
         signaled by a routine in the call tree of this routine.

     5)  If the file designated by HANDLE has non-native binary format,
         and if any numeric components of the file record cannot be
         translated to native format, an error is signaled by a
         routine in the call tree of this routine.

Files

     See the description of HANDLE under $Detailed_Input.

Particulars

     This routine provides a convenient way of retrieving the
     information contained in the file record of a DAS file.

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) Obtain the internal file name, comment record count, and
        comment character count of an existing DAS file.

        Example code begins here.


              PROGRAM DASRFR_EX1
              IMPLICIT NONE

        C
        C     Local constants
        C
              INTEGER               IDWLEN
              PARAMETER           ( IDWLEN = 9 )

              INTEGER               IFNLEN
              PARAMETER           ( IFNLEN = 61 )

              INTEGER               FILSIZ
              PARAMETER           ( FILSIZ = 256 )

        C
        C     Local variables
        C
              CHARACTER*(FILSIZ)    FNAME
              CHARACTER*(IDWLEN)    IDWORD
              CHARACTER*(IFNLEN)    IFNAME

              INTEGER               HANDLE
              INTEGER               NCOMC
              INTEGER               NCOMR
              INTEGER               NRESVC
              INTEGER               NRESVR

        C
        C     Obtain the file name.
        C
              CALL PROMPT ( 'Enter DAS file name > ', FNAME )

        C
        C     Open the file for reading.
        C
              CALL DASOPR ( FNAME, HANDLE )

        C
        C     Retrieve the internal file name and print it.
        C
              CALL DASRFR ( HANDLE, IDWORD, IFNAME, NRESVR,
             .              NRESVC, NCOMR,  NCOMC           )

              WRITE(*,*) 'Internal file name is:           ', IFNAME
              WRITE(*,*) 'Number of comment records is:    ', NCOMR
              WRITE(*,*) 'Number of comment characters is: ', NCOMC

              END


        When this program was executed on a Mac/Intel/gfortran/64-bit
        platform, using the DSK file named phobos512.bds as input
        DAS file, the output was:


        Enter DAS file name > phobos512.bds
         Internal file name is:           phobos512.bds
         Number of comment records is:              10
         Number of comment characters is:         1390

Restrictions

     None.

Literature_References

     None.

Author_and_Institution

     N.J. Bachman       (JPL)
     J. Diaz del Rio    (ODC Space)
     K.R. Gehringer     (JPL)
     W.L. Taber         (JPL)

Version

    SPICELIB Version 3.1.0, 22-FEB-2021 (JDR)

        Added IMPLICIT NONE statement.

        Updated $Exceptions section to align it with changes
        implemented in previous version.

        Updated the header to comply with NAIF standard. Added
        complete code example.

        Updated entries in $Revisions section.

    SPICELIB Version 3.0.0, 05-FEB-2015 (NJB)

        Updated to support integration with the handle
        manager subsystem and to support reading of DAS
        files having non-native binary formats.

    SPICELIB Version 2.1.0, 25-AUG-1995 (NJB)

        Bug fix: local variables are now used in the direct
        access of the file record. Previously, the routine read
        directly into the CHARACTER*(*) arguments IDWORD and IFNAME.

    SPICELIB Version 2.0.0, 27-OCT-1993 (KRG)

        Removed references to specific DAS 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.

        Removed the DASID parameter which had the value 'NAIF/DAS', as
        it was not used and is also made obsolete by the change in the
        format of the ID word being implemented.

        Added a check of FAILED after the call to DASHLU which will
        check out and return if DASHLU fails. This is so that when in
        return mode of the error handling the READ following the call
        to DASHLU will not be executed.

        Reworded some of the descriptions contained in the
        $Detailed_Output section of the header so that they were more
        clear.

        Changed the example so that it does not set a value for IFNAME
        before calling DASRFR. This appears to have been a cut and
        paste bug from DASWFR.

    SPICELIB Version 1.0.0, 15-JUL-1992 (NJB) (WLT)
Fri Dec 31 18:36:11 2021