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

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

 FRINFO ( FRame INFOrmation )
 
      ENTRY FRINFO ( FRCODE, CENT, CLASS, CLSSID, FOUND )
 

Abstract

     Retrieve the minimal attributes associated with a frame
     needed for converting transformations to and from it.

Required_Reading

     FRAMES

Keywords

     FRAMES

Declarations

     IMPLICIT NONE
     INTEGER               FRCODE
     INTEGER               CENT
     INTEGER               CLASS
     INTEGER               CLSSID
     LOGICAL               FOUND

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     FRCODE     I   the ID code for some frame
     CENT       O   the center of the frame
     CLASS      O   the class (type) of the frame
     CLSSID     O   the ID code for the frame within its class.
     FOUND      O   TRUE if the requested information is available.

Detailed_Input

     FRCODE      is the ID code for some reference frame.

Detailed_Output

     CENT        is the body ID code for the center of the reference
                 frame (if such an ID code is appropriate).

     CLASS       is the class or type of the frame. This identifies
                 which subsystem will be used to perform frame
                 transformations.

     CLSSID      is the ID code used for the frame within its class.
                 This may be different from the frame ID code.

     FOUND       is TRUE if CENT, CLASS and CCODE are available.
                 Otherwise, FOUND is returned with the value FALSE.

Parameters

     None.

Exceptions

     1) If a frame definition is encountered that does not define
        a central body for the frame, the error will be diagnosed
        by routines in the call tree of this routine.

     2) If a frame definition is encountered that does not define
        a class for the frame, the error will be diagnosed by routines
        in the call tree of this routine.

     3) If a frame definition is encountered that does not define
        a class ID for the frame, the error will be diagnosed by
        routines in the call tree of this routine.

     4) If a kernel variable defining a frame name is found, but
        that variable has dimension greater than 1, the error
        SPICE(INVALIDDIMENSION) will be signaled.

Files

     None.

Particulars

     This is a low level routine needed by state transformation
     software to transform states and attitudes between different
     reference frames.

     The routine first examines local "hard-coded" information about
     reference frames to see if the requested frame belongs to this
     set. If it does that information is returned.

     If the requested information is not stored locally, the routine
     then examines the kernel pool to see if the requested information
     is stored there. If it is and has the expected format, the data
     is retrieved and returned.

Examples

     Suppose that you needed to determine the center of some
     reference frame. The following code fragment illustrates
     how to use this routine to determine this information.

        CALL FRINFO ( FRCODE, CENT, CLASS, CLSSID, FOUND )

        IF ( FOUND ) THEN

           WRITE (*,*) 'The center of reference frame ', FRCODE
           WRITE (*,*) 'has body ID code : ', CENT

        ELSE

           WRITE (*,*) 'There is insufficient data for frame ', FRCODE

        END IF

Restrictions

     None.

Literature_References

     None.

Author_and_Institution

     N.J. Bachman    (JPL)
     B.V. Semenov    (JPL)
     W.L. Taber      (JPL)

Version

    SPICELIB Version 4.1.0, 08-AUG-2012 (BVS) 

        The routine was updated to be more efficient by using hashes
        instead kernel POOL look-ups for kernel POOL frames and by
        using hases instead of ordered array searches for built-in
        frames.

    SPICELIB Version 4.0.0, 12-SEP-2005 (NJB)

        Entry point FRINFO is no longer error-free. The following
        errors are now diagnosed:

           - Invalid dimension of frame name variable

           - If a valid frame name assignment is present:

              + Missing frame ID code assignment
              + Missing class assignment
              + Missing class ID assignment

        Specification of frame center by name or ID is now supported.
        Previously only ID codes could be used to identify frame
        centers. Various frame definition errors that were previously
        ignored are now diagnosed.      

    SPICELIB Version 3.1.0, 20-DEC-2004 (BVS)

        Removed special handling of the frame IDs less than -999. If
        they cannot be ``resolved'' using kernel pool keywords, the
        frame is NOT declared CK-based with center ID derived by
        dividing frame ID by a 1000 and class ID assigned the frame ID
        anymore. In the current practice with multitude of TK frames
        with IDs set instrument IDs this default behavior is simply
        not valid.

    SPICELIB Version 3.0.1, 25-JUN-1999 (WLT)

        Extended documentation of entry point CNMFRM and
        corrected example for that entry point.

    SPICELIB Version 3.0.0, 03-JUN-1997 (WLT)

        The entry points CIDFRM and CNMFRM were added so that
        user's may determine the frame-id and name to associated
        with a planetary object.

    SPICELIB Version 2.0.0, 04-APR-1997 (WLT)

        The routine was upgraded to reflect that a block of
        frame ID codes have been reserved for use by the DSN.
        ID codes 13001 to 13999 have been set aside for DSN
        models for the orientation of the earth. These frames
        are all PCK frames. Moreover, the PCK ID code to
        use with these frames is simply the Frame-Code minus 10000.
        All of these frames are centered at the earth (body 399).

    SPICELIB Version 1.1.0, 14-OCT-1996 (WLT)

       The values NINERT and NNINRT are included instead of
       being declared locally.

    SPICELIB Version 1.0.0, 18-SEP-1995 (WLT)
Wed Apr  5 17:46:38 2017