Table of contents
FRMNAM ( FRaMe id to frame NAMe )
ENTRY FRMNAM ( FRCODE, FRNAME )
Retrieve the name of a reference frame associated with a SPICE ID
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
FRCODE I an integer code for a reference frame
FRNAME O the name associated with the reference frame.
FRCODE is an integer code for a reference frame.
FRNAME is the name associated with the reference frame. It will
be returned left justified.
If FRCODE is not recognized as the name of a known
reference frame, FRNAME will be returned as a blank.
If FRNAME is not sufficiently long to hold the name, it
will be truncated on the right.
All reference frame names are 26 or fewer characters in
length. Thus declaring FRNAME to be CHARACTER*(26) will
ensure that the returned name will not be truncated.
1) If FRCODE is not recognized as the name of a known reference
frame, FRNAME will be returned as a blank.
2) If FRNAME is not sufficiently long to hold the name, it will
be truncated on the right.
This routine retrieves the name of a reference frame associated
with a SPICE frame ID code.
The ID codes stored locally are scanned for a match with FRCODE.
If a match is found, the name stored locally will be returned
as the name for the frame.
If FRCODE is not a member of the list of internally stored
ID codes, the kernel pool will be examined to see if the
is present (where idcode is the decimal character equivalent
of FRCODE). If the variable is located and it has both
character type and dimension 1, the string value of the
kernel pool variable is returned as the name of the reference
Note that because the local information is always examined
first and searches of the kernel pool are performed only
after exhausting local information, it is not possible to
override the local name for any reference frame that is
known by this routine.
Suppose you needed to create a message concerning a reference
frame and wish to use the name of the frame in the message.
Suppose further that you have only the frame ID code at your
disposal. You can capture the frame name using this routine
as shown here.
CALL FRMNAM ( FRCODE, FRNAME )
IF ( FRNAME .EQ. ' ' ) THEN
CALL INTSTR ( FRCODE, FRNAME )
WRITE (*,*) 'Concerning reference frame:', FRNAME
print the rest of your message.
J. Diaz del Rio (ODC Space)
B.V. Semenov (JPL)
W.L. Taber (JPL)
SPICELIB Version 3.1.1, 02-AUG-2021 (JDR)
Edited the header to comply with NAIF standard. Updated maximum
frame name length in detailed description of FRNAME argument
and changed frame name length from 26 to 32 in example code.
SPICELIB Version 3.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 hashes instead of ordered array searches for built-in
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)