FRINFO ( FRame INFOrmation )
ENTRY FRINFO ( FRCODE, CENT, CLASS, CLSSID, FOUND )
Retrieve the minimal attributes associated with a frame
needed for converting transformations to and from it.
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.
FRCODE is the ID code for some reference frame.
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
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.
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.
This is a low level routine needed by state transformation
software to transform states and attitudes between different
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.
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
WRITE (*,*) 'There is insufficient data for frame ', FRCODE
N.J. Bachman (JPL)
B.V. Semenov (JPL)
W.L. Taber (JPL)
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
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
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)