dafrda |
Table of contents
ProcedureDAFRDA ( DAF, read data from address ) SUBROUTINE DAFRDA ( HANDLE, BEGIN, END, DATA ) AbstractDeprecated: This routine has been superseded by the SPICELIB routines DAFGDA and DAFGSR. This routine is supported for purposes of backward compatibility only. Read the double precision data bounded by two addresses within a DAF. Required_ReadingDAF KeywordsFILES DeclarationsIMPLICIT NONE INTEGER HANDLE INTEGER BEGIN INTEGER END DOUBLE PRECISION DATA ( * ) Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- HANDLE I Handle of a DAF. BEGIN, END I Initial, final address within file. DATA O Data contained between BEGIN and END. Detailed_InputHANDLE is the handle of a DAF. BEGIN, END are the initial and final addresses of a contiguous set of double precision numbers within a DAF. Presumably, these make up all or part of a particular array. Detailed_OutputDATA are the double precision data contained between the specified addresses within the specified file. ParametersNone. Exceptions1) If BEGIN is zero or negative, the error SPICE(DAFNEGADDR) is signaled. 2) If BEGIN > END, the error SPICE(DAFBEGGTEND) is signaled. 3) If the file associated with HANDLE is not of the native binary file format, the error SPICE(UNSUPPORTEDBFF) is signaled. 4) If HANDLE is invalid, an error is signaled by a routine in the call tree of this routine. FilesNone. ParticularsThe principal reason that DAFs are so easy to use is that the data in each DAF are considered to be one long contiguous set of double precision numbers. You can grab data from anywhere within a DAF without knowing (or caring) about the physical records in which they are stored. This routine has been made obsolete by the routines DAFGDA and DAFGSR. This routine is supported for reasons of backward compatibility only. New software development should utilize DAFGDA or DAFGSR. ExamplesThe following code fragment illustrates the use of DAFRDA to read data from an imaginary array. The array begins with a directory containing 11 epochs. Each pair of epochs bounds an interval, and each interval is covered by a set of eight osculating elements. CALL DAFUS ( SUM, ND, NI, DC, IC ) BEGIN = IC(5) END = IC(6) CALL DAFRDA ( HANDLE, BEGIN, BEGIN+10, EPOCHS ) DO I = 1, 10 IF ( ET .GE. EPOCHS(I) .AND. ET .LE. EPOCHS(I+1) ) THEN OFFSET = IC(5) + 11 + (I - 1) * 8 CALL DAFRDA ( HANDLE, OFFSET+1, OFFSET+8, ELEMENTS ) RETURN END IF END DO RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) H.A. Neilan (JPL) B.V. Semenov (JPL) W.L. Taber (JPL) F.S. Turner (JPL) I.M. Underwood (JPL) VersionSPICELIB Version 2.1.0, 26-OCT-2021 (JDR) Added IMPLICIT NONE statement. Edited the header to comply with NAIF standard. SPICELIB Version 2.0.2, 18-MAY-2010 (BVS) Index line now states that this routine is deprecated. SPICELIB Version 2.0.1, 27-OCT-2003 (NJB) The header now states that this routine is deprecated. The $Exceptions header section has been extended. Minor additional header updates were made. SPICELIB Version 2.0.0, 16-NOV-2001 (FST) Added SPICE(UNSUPPORTEDBFF) exception to the routine. SPICELIB Version 1.0.2, 10-MAR-1992 (WLT) Comment section for permuted index source lines was added following the header. 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:09 2021