C$Procedure MYBD2N ( Private my body id to name routine ) SUBROUTINE MYBD2N( ID, NAME ) C$ Abstract C C Convert an body id-code to a body name. C C$ Copyright C C Copyright (1996), California Institute of Technology. C U.S. Government sponsorship acknowledged. C C$ Required_Reading C C None. C C$ Keywords C C UTILITY C C$ Declarations IMPLICIT NONE INTEGER ID CHARACTER*(*) NAME C$ Brief_I/O C C VARIABLE I/O DESCRIPTION C -------- --- -------------------------------------------------- C ID I idcode of some object C NAME O Name of the same object C C$ Detailed_Input C C ID is a NAIF id of some object (preferably an C ephemeris object). C C$ Detailed_Output C C NAME is the name for the same object. If ID is not C recognized, NAME is returned blank. C C$ Parameters C C None. C C$ Files C C None. C C$ Exceptions C C 1) If a name for the input ID cannot be located the error C MAKLABEL(UNKNOWNID) is signalled. C C$ Particulars C C This routine is basically the same as BODC2N except that C it signals an error if the input ID is not recognized. C C In addition it adjusts some names so that they comply C with the idiosyncrasies of the various projects. In C particular C C 'CAS' is converted to 'CASSINI' C C It also lets us to get away without making a new toolkit version C if we forgot about some spacecraft and we don't ZZBODTRN C mapping for them yet. In particular C C -29 is mapped to 'STARDUST' C -116 is mapped to 'MARS_POLAR_LANDER' C -127 is mapped to 'MARS_CLIMATE_ORBITER' C 2005535 is mapped to 'ANNEFRANK' C C$ Examples C C See BODTRN C C$ Restrictions C C None. C C$ Author_and_Institution C C W.L. Taber (JPL) C B.V. Semenov (JPL) C C$ Literature_References C C None. C C$ Version C C- SPICELIB Version 1.2.0, 1999-09-27 (BVS) C C Added special processing for asteroid Annefrank (requested C by Stardust NAV team :) C C- SPICELIB Version 1.1.0, 1998-NOV-03 (BVS) C C Added special processing for Startdust, MPL and MCO. :) C C- SPICELIB Version 1.0.0, 1997-APR-01 (WLT) C C-& LOGICAL RETURN INTEGER WDSIZE PARAMETER ( WDSIZE = 32 ) CHARACTER*(WDSIZE) MYNAME LOGICAL FOUND C C Standard SPICE error handling. C IF ( RETURN() ) THEN RETURN END IF CALL CHKIN ( 'MYBD2N' ) IF ( ID .EQ. -29 ) THEN MYNAME = 'STARDUST' ELSE IF ( ID .EQ. -116 ) THEN MYNAME = 'MARS_POLAR_LANDER' ELSE IF ( ID .EQ. -127 ) THEN MYNAME = 'MARS_CLIMATE_ORBITER' ELSE IF ( ID .EQ. 2005535 ) THEN MYNAME = 'ANNEFRANK' ELSE CALL ZZBODC2N ( ID, MYNAME, FOUND ) IF ( .NOT. FOUND ) THEN CALL SETMSG ( 'The id-code # is not a recognized ' . // 'NAIFID. ' ) CALL ERRINT ( '#', ID ) CALL SIGERR ( 'MAKLABEL(UNKNOWNID)' ) CALL CHKOUT ( 'MYBD2N' ) RETURN END IF END IF C C This is where we put in all those special cases that C handle the inability of projects to deal with some C names returned by BODTRN. C CALL UCASE ( MYNAME, MYNAME ) IF ( MYNAME .EQ. 'CAS' ) THEN MYNAME = 'CASSINI' END IF CALL LJUST ( MYNAME, NAME ) CALL CHKOUT ( 'MYBD2N' ) RETURN END