spke03 |
Table of contents
ProcedureSPKE03 ( S/P Kernel, evaluate, type 3 ) SUBROUTINE SPKE03 ( ET, RECORD, STATE ) AbstractEvaluate a single SPK data record from a segment of type 3 (Chebyshev Polynomials, position and velocity). Required_ReadingSPK KeywordsEPHEMERIS DeclarationsIMPLICIT NONE DOUBLE PRECISION ET DOUBLE PRECISION RECORD ( * ) DOUBLE PRECISION STATE ( 6 ) Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- ET I Evaluation epoch. RECORD I Data record. STATE O State (position and velocity). Detailed_InputET is the epoch at which a state vector or Euler angle state is to be computed. The epoch is represented as seconds past J2000 TDB. RECORD is a data record which, when evaluated at epoch ET, will yield three function components and their derivatives with respect to time. The record structure for SPK type 3 data is: +--------------------------------------+ | record size (excluding this element) | +--------------------------------------+ | Coverage interval midpoint | +--------------------------------------+ | Coverage interval radius | +--------------------------------------+ | Coeffs for X position component | +--------------------------------------+ | Coeffs for Y position component | +--------------------------------------+ | Coeffs for Z position component | +--------------------------------------+ | Coeffs for X velocity component | +--------------------------------------+ | Coeffs for Y velocity component | +--------------------------------------+ | Coeffs for Z velocity component | +--------------------------------------+ In the above record - Times are expressed as seconds past J2000 TDB. - Position components have units of km. - Velocity components have units of km/s. RECORD must be declared by the caller with size large enough to accommodate the largest record that can be returned by this routine. See the INCLUDE file spkrec.inc for the correct record length. Detailed_OutputSTATE is the state. In order, X, Y, Z, X', Y', and Z'. Units are km and km/sec. ParametersNone. Exceptions1) If the input record contains an invalid coefficient count, the error SPICE(INVALIDCOUNT) is signaled. 2) If the input record contains invalid domain transformation parameters, an error is signaled by a routine in the call tree of this routine. FilesNone. ParticularsThe exact format and structure of type 3 (Chebyshev polynomials, position and velocity) segments are described in the SPK Required Reading file. A type 3 segment contains six sets of Chebyshev coefficients, one set each for the position coordinates X, Y, and Z, and one set each for the velocity coordinates X', Y', and Z'. SPKE03 calls the routine CHBVAL to evaluate each polynomial, and arrive at the complete state. ExamplesThe SPKEnn routines are almost always used in conjunction with the corresponding SPKRnn routines, which read the records from SPK files. The data returned by the SPKRnn routine is in its rawest form, taken directly from the segment. As such, it will be meaningless to a user unless he/she understands the structure of the data type completely. Given that understanding, however, the SPKRnn routines might be used to examine raw segment data before evaluating it with the SPKEnn routines. C C Get a segment applicable to a specified body and epoch. C CALL SPKSFS ( BODY, ET, HANDLE, DESCR, IDENT, FOUND ) C C Look at parts of the descriptor. C CALL DAFUS ( DESCR, 2, 6, DCD, ICD ) CENTER = ICD( 2 ) REF = ICD( 3 ) TYPE = ICD( 4 ) IF ( TYPE .EQ. 3 ) THEN CALL SPKR03 ( HANDLE, DESCR, ET, RECORD ) . . Look at the RECORD data. . CALL SPKE03 ( ET, RECORD, STATE ) . . Check out the evaluated state. . END IF RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) H.A. Neilan (JPL) W.L. Taber (JPL) R.E. Thurman (JPL) VersionSPICELIB Version 2.1.0, 14-APR-2021 (JDR) Added IMPLICIT NONE statement. Edited the header to comply with NAIF standard. Moved SPK required reading from $Literature_References to $Required_Reading section. SPICELIB Version 2.0.0, 31-DEC-2013 (NJB) Added error checks for invalid coefficient counts and invalid interval radius. Changed error handling style to "discovery." Enhanced header documentation. 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, 23-AUG-1991 (HAN) SPK03 was removed from the $Required_Reading section of the header. The information in the SPK03 Required Reading file is now part of the SPK Required Reading file. SPICELIB Version 1.0.1, 22-MAR-1990 (HAN) Literature references added to the header. SPICELIB Version 1.0.0, 31-JAN-1990 (RET) |
Fri Dec 31 18:36:51 2021