| 
 Table of contents 
 
 
   CSPICE_CIDFRM retrieves the ID code and name of the preferred
   frame associated with a given body ID.
 
   Given
      cent   the scalar, integer NAIF ID of a body for which a preferred
               reference frame exists.
               help, cent
                  LONG = Scalar
   the call:
      cspice_cidfrm, cent, frcode, frname, found
   returns
      frcode   the scalar integer NAIF frame code associated with 'cent'.
               help, frcode
                  LONG = Scalar
      frname   the string frame name associated with 'frcode'.
               help, frname
                  STRING = Scalar
      found    a scalar boolean indicating if the appropriate frame ID-code and
               frame name can be determined from 'cent'.
               help, found
                  BOOLEAN = Scalar
   None.
 
   Any numerical results shown for this example may differ between
   platforms as the results depend on the SPICE kernels used as input
   and the machine specific arithmetic implementation.
   1) Determine the "preferred" frame to use with Jupiter's moon Io,
      the Earth and the Moon. Use their corresponding NAIF ID codes.
      Note that for any objects that has a "built-in" frame name, the
      preferred frame is its corresponding "IAU" frame, which may not
      be suitable for high-precision computations.
      Example code begins here.
      PRO cidfrm_ex1
         codes = [501, 399, 301]
         print, 'Body ID  Frame ID  Frame name'
         print, '-------  --------  ----------'
         for i=0, (n_elements(codes) - 1) do begin
            cspice_cidfrm, codes[i], frcode, frname, found
            if ( found ) then begin
               print, FORMAT='(I7,I10,A)', codes[i], frcode, '  ' + frname
            endif
         endfor
      END
      When this program was executed on a Mac/Intel/IDL8.x/64-bit
      platform, the output was:
      Body ID  Frame ID  Frame name
      -------  --------  ----------
          501     10023  IAU_IO
          399     10013  IAU_EARTH
          301     10020  IAU_MOON
   This routine allows the user to determine the frame that should
   be associated with a particular object. For example, if you
   need the frame name and ID associated with Io, you can call
   cspice_cidfrm to return these values.
   The preferred frame to use with an object is specified via one
   of the kernel pool variables:
       OBJECT_<cent>_FRAME
   where <cent> is the NAIF ID or name of the object.
   For those objects that have "built-in" frame names this
   routine returns the corresponding "IAU" frame and frame ID code.
   1)  If the input argument `cent' is undefined, an error is
       signaled by the IDL error handling system.
   2)  If the input argument `cent' is not of the expected type, or
       it does not have the expected dimensions and size, an error is
       signaled by the Icy interface.
   3)  If any of the output arguments, `frcode', `frname' or `found',
       is not a named variable, an error is signaled by the Icy
       interface.
   None.
 
   None.
 
   ICY.REQ
   FRAMES.REQ
 
   None.
 
   J. Diaz del Rio     (ODC Space)
   E.D. Wright         (JPL)
 
   -Icy Version 1.0.2, 10-AUG-2021 (JDR)
       Edited the -Examples section to comply with NAIF standard. Added
       example's problem statement and reformatted example's output.
       Added -Parameters, -Exceptions, -Files, -Restrictions,
       -Literature_References and -Author_and_Institution sections.
       Removed reference to the routine's corresponding CSPICE header from
       -Abstract section.
       Added arguments' type and size information in the -I/O section.
   -Icy Version 1.0.1, 11-NOV-2013 (EDW)
       Edits to -I/O and -Particulars section so as to parallel Mice version.
   -Icy Version 1.0.0, 16-JUN-2003 (EDW)
   Fetch reference frame attributes
 |