| What's New in SPICE |
Table of ContentsWhat's New in SPICE Introduction Version 63 --- April 2009 Environments New Environments Complete List of Supported Environments Lahey Memory Issue Related to File Opening/Closing Scratch EK File Issue in Icy on PC/Windows Geometry Finder (GF) Subsystem SPICELIB High-Level GF APIs CSPICE High-Level GF APIs Icy and Mice High-Level GF APIs SPICELIB/CSPICE/Icy/Mice SURFPV/surfpv_c (SPICELIB/CSPICE only) DVSEP/dvsep_c (SPICELIB/CSPICE only) GETFOV FURNSH Improved Error Messages from PXFORM/SXFORM Built-in NAIF ID Code/Name Definitions Mice (MATLAB interface to CSPICE) Only New Interfaces New and Updated Applications FRMDIFF CKBRIEF Documentation Language Specific Required Reading Documents CKBRIEF User's Guide Bug Fixes SINCPT, SRFXPT POOL Watchers Frame subsystem Error handling Non-printing Character Detection in Time System MKSPK CKBRIEF Version 62 --- March 2008 Environments New Environments Complete List of Supported Environments Use of -m32 Option Lahey Memory Issue Related to File Opening/Closing Scratch EK File Issue in Icy on PC/Windows Mice SPICELIB/CSPICE/Icy/Mice New ``Surface Intercept'' routine SINCPT New ``Illumination Angles'' routine ILUMIN New ``Sub-observer Point'' routine SUBPNT New ``Sub-solar Point'' Routine SUBSLR Improvements of Aberration Corrected Velocity in the SPK Subsystem New SPK Routines New Binary PCK Coverage Routines PCKFRM and PCKCOV New Routine WNCARD New Routine EDTERM SCLK Buffer Size Increase TABs in Text Kernels Built-in NAIF ID Code/Name Definitions Icy (IDL interface to CSPICE) Only New and Updated Interfaces Documentation Permutted Index for Icy and Mice BRIEF User's Guide Documentation on NAIF Web Server BRIEF CKBRIEF MKSPK SUBPT Cookbook Bug Fixes EV2LIN HYPTOF INELPL RAXISA SC01 SRFXPT BRIEF CKBRIEF Header Updates Version 61 --- December 2006 Rules Regarding Use of SPICE Components Environments New Environments Deprecated Environments Complete List of Supported Environments Use of -fPIC/-KPIC Option Lahey Memory Issue Related to File Opening/Closing Scratch EK File Issue in Icy on PC/Windows Documentation New Applications MSOPCK SPKDIFF SPICELIB/CSPICE/Icy KCLEAR Routine DAF Comment Area Routines DAF-based Kernel Open Routines DAFONW Routine SPKW02, SPKW03, and SPKW05 Routines Built-in NAIF ID Code/Name Definitions CSPICE Only New Wrappers Icy (IDL interface to CSPICE) Only New Interfaces Bug Fixes CKE05 ET2LST UNLOAD STR2ET SURFPT CHRONOS Icy MKSPK Version 60 --- December 2005 Bug Fixes Access to High Precision Binary Earth PCK Version 59 --- November 2005 Rules Regarding Use of SPICE Components Environments New Environments Supported Environments Optimization for C/Icy environments Lahey Memory Issue Related to File Opening/Closing Scratch EK File Issue in Icy on PC/Windows SPICELIB/CSPICE/Icy Loading of Non-Native Text Kernels Files Additional Testing Deprecation of BODVAR in favor of BODVRD and BODVCD ``In Place'' Routines SPK Segment Buffer Increase EK Buffer Increased Built-in NAIF ID Code/Name Definitions Documentation CSPICE New Wrappers Icy (Interactive Data Language interface to CSPICE) Vectorization New interfaces Bug Fixes Non-standard Use of Duplicate Arguments in FORTRAN NEARPT ET2LST GETFOV CKW03 INEDPL INSRTC String Parsing Routines Version 58 --- January 2005 Environments SPICELIB/CSPICE/Icy Parameterized Dynamic Frames CK/SPK Coverage Summary Routines Planetographic Coordinate Conversion Routines ``L-sub-S'' Solar Longitude Routine Built-in NAIF ID Code/Name Definitions Documentation CSPICE New Wrappers Icy (Interactive Data Language interface to CSPICE) Vectorization Windows Other new interfaces Bug Fixes MKSPK Processing of TLE MKSPK Adding Comments When Appending to Existing SPK Icy/cspice_getfov DVPOOL/dvpool_c/cspice_dvpool CSPICE/kdata_c Function FRINFO/frinfo_c/cspice_frinfo Version 57 --- March 2004 Environments Icy SPICELIB/CSPICE SRFXPT Support for Satellite IDs in the Range 10000-99999 Detection of Non-native Text Files Documentation Built-in NAIF ID Code/Name Definitions INSPEKT TOBIN Version 56 --- August 2003 Environments SPICELIB/CSPICE Documentation Built-in NAIF ID Code/Name Definitions CHRONOS Bug Fixes Reading Files with MAC-OSX Absoft FORTRAN Toolkit DAS Scratch Files Argument Checking in CSPICE Error Handling Functions Version 55 --- March 2003 Environments SPICELIB SPKW01 DASCLS SPKBSR Kernel POOL Type 1 SCLK CSPICE New CSPICE wrappers Bug Fixes Built-in NAIF ID Code/Name Definitions DASCUD OSCELT CKE05 CKBRIEF Version 54 --- December 2002 Mailing Lists Environments COOKBOOK Programs New Built-in NAIF ID Code/Name Definitions Documentation Bug Fixes Built-in Body-Fixed Frame for Pan Surface Intercept Routine DAS Writer Routines CSPICE Cell Implementation Body Name to Associated Frame Conversion Routine CHRONOS Version 53 --- September 2002 Environments CSPICE New CSPICE wrappers for cell, set, and windows routines New CSPICE wrappers for sorting and searching routines New CSPICE wrappers for string manipulation and parsing routines SPICELIB SPK Type 18 CK Type 5 BRIEF COOKBOOK Bug Fixes ID-to-name Translation Built-in Body-Fixed Frames Binary architecture consistency check at run-time Long/truncated lines in text kernel files VMS Read-Only Access File Open Failure Version 52 --- January 2002 Environments SPICELIB Run-Time Binary File Format Translation Open File Limit Increase SPK aberration corrections Instrument Kernel Support Kernel POOL Jacobian routines NAIF ID to Object Name Mapping Documentation CSPICE New CSPICE wrappers for EK routines Miscellaneous new CSPICE wrappers CKBRIEF COMMNT MKSPK VERSION Bug Fixes CK, PCK, and SPK segment buffering and selection Const-qualification for various CSPICE interfaces CSPICE function gcpool_c fixed MOVED fix for Fortran PC Linux platform EK query processing using LIKE operator and null values EK time conversion EK documentation Source code clean-up Version 51 --- April 2000 SPICELIB Instrument Kernel Support Binary Kernel Recognition CK SPK Miscellaneous MKSPK SPKMERGE Bug Fixes Version 50 --- October 1999 CSPICE Additions and Extensions to SPICE routines Loading Kernels Position Only Interface. ID-codes Kernel Pool Enhancements Continuous Spacecraft Clocks Bad FTP File Transfer Detection CK Writer Enhancements Bugs SPICE Utility Programs TOBIN COMMNT CKBRIEF MKSPK Documentation Version 49 --- September 1998 Version 48 --- May 1998 Version 47 --- July 1997 Documentation Software SPK Frames Time Bug Fixes Version 46 --- January 1997 Documentation Time Version 45 --- October 1996 Version 44 --- August 1996 SPK Subsystem Inspekt Bug Fixes Version 43 --- May 1996 Brief Star Catalogs. CHGIRF BODTRN Performance Improvements Version 42 --- December 1995 Version 41 --- October 1995 Non-inertial Reference Frames What's New in SPICEIntroduction
The versions of the Toolkit changes described in this document are
Version 63 Version 62 Version 61 Version 60 Version 59 Version 58 Version 57 Version 56 Version 55 Version 54 Version 53 Version 52 Version 51 Version 50 Version 49 Version 48 Version 47 Version 46 Version 45 Version 44 Version 43 Version 42 Version 41 Version 63 --- April 2009EnvironmentsNew Environments
FORTRAN Toolkit:
Mac/Intel OS-X GFORTRAN
PC Linux GFORTRAN
Icy:
PC Linux gCC / IDL 6.4 / 64bit
Sun Solaris gCC / IDL 6.4 / 64bit
Mice:
PC Linux gCC / MATLAB 7.x / 64bit
Complete List of Supported Environments
FORTRAN Toolkit:
Mac/Intel OS-X Intel FORTRAN
Mac/Intel OS-X GFORTRAN
Mac/PowerPC OS-X Absoft FORTRAN
Mac/PowerPC OS-X g77
PC CYGWIN g77
PC Linux g77
PC Linux GFORTRAN
PC Linux Intel FORTRAN
PC Windows Compaq Visual (Digital) FORTRAN
PC Windows Intel FORTRAN
PC Windows Lahey FORTRAN 95
Sun Solaris SUN FORTRAN
CSPICE:
Mac/Intel OS-X Apple C
Mac/PowerPC OS-X Apple C
PC CYGWIN gCC
PC Linux gCC / 32bit
PC Linux gCC / 64bit
PC Windows MS Visual C
Sun Solaris gCC / 32bit
Sun Solaris gCC / 64bit
Sun Solaris SUN C
Icy:
Mac/Intel OS-X Apple C / IDL 6.4 / 32bit
Mac/PowerPC OS-X Apple C / IDL 6.4 / 32bit
PC Linux gCC / IDL 6.4 / 32bit
PC Linux gCC / IDL 6.4 / 64bit
PC Windows MS Visual C / IDL 6.4 / 32bit
Sun Solaris gCC / IDL 6.4 / 32bit
Sun Solaris gCC / IDL 6.4 / 64bit
Sun Solaris SUN C / IDL 6.4 / 32bit
Mice:
Mac/Intel OS-X Apple C / MATLAB 7.x / 32bit
Mac/PowerPC OS-X Apple C / MATLAB 7.x / 32bit
PC Linux gCC / MATLAB 7.x / 32bit
PC Linux gCC / MATLAB 7.x / 64bit
PC Windows MS Visual C / MATLAB 7.x / 32bit
Lahey Memory Issue Related to File Opening/Closing
Scratch EK File Issue in Icy on PC/Windows
Geometry Finder (GF) Subsystem
For your convenience, the language-specific high-level GF APIs included in this release are listed in the three subsections below. SPICELIB High-Level GF APIs
GFDIST determines time intervals when a specified
constraint on observer-target distance is met.
GFPOSC determines time intervals when a coordinate of an
observer-target position vector satisfies a
numerical constraint.
GFSEP determines time intervals when the angular
separation between the position vectors of two
target bodies relative to an observer satisfies a
numerical relationship.
GFSNTC determines time intervals when a coordinate of a
ray-surface intercept position vector satisfies a
numerical constraint.
GFSUBC determines time intervals when a coordinate of a
sub-observer point position vector satisfies a
numerical constraint.
SPICELIB High-Level GF APIs for finding times of events satisfying FOV
constraints are:
GFRFOV determines time intervals when a specified ray
intersects the space bounded by the field-of-view
(FOV) of a specified instrument.
GFTFOV determines time intervals when a specified
ephemeris object intersects the space bounded by
the field-of-view (FOV) of a specified
instrument.
SPICELIB High-Level GF APIs for finding times of occultations are:
GFOCLT determines time intervals when an observer sees
one target occulted by another.
CSPICE High-Level GF APIs
gfdist_c determines time intervals when a specified
constraint on observer-target distance is met.
gfposc_c determines time intervals when a coordinate of an
observer-target position vector satisfies a
numerical constraint.
gfsep_c determines time intervals when the angular
separation between the position vectors of two
target bodies relative to an observer satisfies a
numerical relationship.
gfsntc_c determines time intervals when a coordinate of a
ray-surface intercept position vector satisfies a
numerical constraint.
gfsubc_c determines time intervals when a coordinate of a
sub-observer point position vector satisfies a
numerical constraint.
CSPICE High-Level GF APIs for finding times of events satisfying FOV
constraints are:
gfrfov_c determines time intervals when a specified ray
intersects the space bounded by the field-of-view
(FOV) of a specified instrument.
gftfov_c determines time intervals when a specified
ephemeris object intersects the space bounded by
the field-of-view (FOV) of a specified
instrument.
CSPICE High-Level GF APIs for finding times of occultations are:
gfoclt_c determines time intervals when an observer sees
one target occulted by another.
Icy and Mice High-Level GF APIs
cspice_gfdist determines time intervals when a specified
constraint on observer-target distance is met.
cspice_gfposc determines time intervals when a coordinate of an
observer-target position vector satisfies a
numerical constraint.
cspice_gfsep determines time intervals when the angular
separation between the position vectors of two
target bodies relative to an observer satisfies a
numerical relationship.
cspice_gfsntc determines time intervals when a coordinate of a
ray-surface intercept position vector satisfies a
numerical constraint.
cspice_gfsubc determines time intervals when a coordinate of a
sub-observer point position vector satisfies a
numerical constraint.
Icy and Mice High-Level GF APIs for finding times of events satisfying
FOV constraints are:
cspice_gfrfov determines time intervals when a specified ray
intersects the space bounded by the field-of-view
(FOV) of a specified instrument.
cspice_gftfov determines time intervals when a specified
ephemeris object intersects the space bounded by
the field-of-view (FOV) of a specified
instrument.
Icy and Mice High-Level GF APIs for finding times of occultations are:
cspice_gfoclt determines time intervals when an observer sees
one target occulted by another.
SPICELIB/CSPICE/Icy/MiceSURFPV/surfpv_c (SPICELIB/CSPICE only)
DVSEP/dvsep_c (SPICELIB/CSPICE only)
GETFOV
FURNSH
Improved Error Messages from PXFORM/SXFORM
Built-in NAIF ID Code/Name Definitions
Spacecraft:
-5 PLC
-5 PLANET-C
-68 MMO
-68 MERCURY MAGNETOSPHERIC ORBITER
-69 MPO
-69 MERCURY PLANETARY ORBITER
-140 EPOCH
-140 DIXI
Asteroids:
2002867 STEINS
Mice (MATLAB interface to CSPICE) OnlyNew Interfaces
cspice_cgv2el cspice_el2cgv cspice_lmpool cspice_nvc2pl cspice_nvp2pl cspice_saelgv cspice_vrotv cspice_wncard cspice_wnsumd cspice_wnvald New and Updated ApplicationsFRMDIFF
Refer to the FRMDIFF User's Guide, frmdiff.ug, for more information about the program. CKBRIEF
DocumentationLanguage Specific Required Reading Documents
gf.req frames.req kernel.req naif_ids.req time.req windows.req CKBRIEF User's Guide
Bug FixesSINCPT, SRFXPT
POOL Watchers
Watcher overflow detection logic has been corrected in SWPOOL. In the following routines, watched kernel variables are no longer considered to be buffered when a lookup of one of these variables fails:
BODC2N (via changes to ZZBODTRN) BODDEF (via changes to ZZBODTRN) BODN2C (via changes to ZZBODTRN) SCPART SCTYPE SCTK01 (SC01 entry point) SCFM01 (SC01 entry point) SCTE01 (SC01 entry point) SCET01 (SC01 entry point) SCEC01 (SC01 entry point) TTRANS UNITIM Frame subsystem
Error handling
Non-printing Character Detection in Time System
MKSPK
CKBRIEF
Version 62 --- March 2008EnvironmentsNew Environments
FORTRAN Toolkit:
PC Linux Intel FORTRAN
Complete List of Supported Environments
FORTRAN Toolkit:
Mac/Intel OS-X Intel FORTRAN
Mac/PowerPC OS-X Absoft FORTRAN
Mac/PowerPC OS-X g77
PC CYGWIN g77
PC Linux g77
PC Linux Intel FORTRAN
PC Windows Compaq Visual (Digital) FORTRAN
PC Windows Intel FORTRAN
PC Windows Lahey FORTRAN 95
Sun Solaris SUN FORTRAN
CSPICE:
Mac/Intel OS-X Apple C
Mac/PowerPC OS-X Apple C
PC CYGWIN gCC
PC Linux gCC / 32bit
PC Linux gCC / 64bit
PC Windows MS Visual C
Sun Solaris gCC / 32bit
Sun Solaris gCC / 64bit
Sun Solaris SUN C
Icy:
Mac/Intel OS-X Apple C / IDL 6.4 / 32bit
Mac/PowerPC OS-X Apple C / IDL 6.4 / 32bit
PC Linux gCC / IDL 6.4 / 32bit
PC Windows MS Visual C / IDL 6.4 / 32bit
Sun Solaris gCC / IDL 6.4 / 32bit
Sun Solaris SUN C / IDL 6.4 / 32bit
Mice:
Mac/Intel OS-X Apple C / MATLAB 7.x / 32bit
Mac/PowerPC OS-X Apple C / MATLAB 7.x / 32bit
PC Linux gCC / MATLAB 7.x / 32bit
PC Windows MS Visual C / MATLAB 7.x / 32bit
Use of -m32 Option
Lahey Memory Issue Related to File Opening/Closing
Scratch EK File Issue in Icy on PC/Windows
Mice
SPICELIB/CSPICE/Icy/MiceNew ``Surface Intercept'' routine SINCPT
New ``Illumination Angles'' routine ILUMIN
New ``Sub-observer Point'' routine SUBPNT
New ``Sub-solar Point'' Routine SUBSLR
Improvements of Aberration Corrected Velocity in the SPK Subsystem
The changes improve the accuracy of certain derived quantities, including range rates and times of periapse or apoapse, when aberration corrections are used. These changes improve current SPICE computations as well as being necessary for implementation of the upcoming geometric event finding subsystem. The changes do not affect the computation of aberration-corrected position vectors, nor do they affect uncorrected (``geometric'') states (position and velocity). A few examples of the magnitudes of improvements afforded by the new algorithms are shown below. All velocities are inertially referenced.
Also note, the effect on speed of an application that simply ``reads'' state vectors from an SPK file is nil since aberration corrections are not used for this purpose.
Below we briefly describe the differences between the old and new aberration correction algorithms. The previous SPK light time correction algorithms introduce errors by ignoring the rate of change of light time with respect to time. This occurs in two places:
SPICE supports stellar aberration correction only when light time correction is used as well. Previously, the velocity returned when light time and stellar aberration corrections were used is identical to that returned when only light time correction is used. The new algorithm computes light time and stellar aberration-corrected velocity as the derivative with respect to time of light time and stellar aberration-corrected position. New SPK Routines
New Binary PCK Coverage Routines PCKFRM and PCKCOV
The new PCK routine PCKFRM (pckfrm_c in CSPICE) provides an API via which an application can find the set of reference frames for which a specified binary PCK file contains data. The coverage information is returned in a SPICE ``set'' data structure. For the N0062 release these routines are available only in SPICELIB and CSPICE. New Routine WNCARD
For the N0062 release this routine is available only in SPICELIB, CSPICE, and Icy. New Routine EDTERM
For the N0062 release this routine is available only in SPICELIB. SCLK Buffer Size Increase
TABs in Text Kernels
Built-in NAIF ID Code/Name Definitions
Spacecraft:
-18 LCROSS
-29 NEXT
-86 CH1
-86 CHANDRAYAAN-1
-131 KAGUYA
-140 EPOXI
-151 CHANDRA
-187 SOLAR PROBE
Satellites:
636 AEGIR
637 BEBHIONN
638 BERGELMIR
639 BESTLA
640 FARBAUTI
641 FENRIR
642 FORNJOT
643 HATI
644 HYROKKIN
645 KARI
646 LOGE
647 SKOLL
648 SURTUR
649 ANTHE
650 JARNSAXA
651 GREIP
652 TARQEQ
809 HALIMEDE
810 PSAMATHE
811 SAO
812 LAOMEDEIA
813 NESO
The following built-in NAIF ID code/name definitions for Jovian system
satellites have been modified to conform to the current name/body
mapping:
Satellites:
540 MNEME
541 AOEDE
542 THELXINOE
543 ARCHE
544 KALLICHORE
545 HELIKE
546 CARPO
547 EUKELADE
548 CYLLENE
549 KORE
The following provisional default NAIF ID code/name definitions have
been removed:
Spacecraft:
-172 SPACETECH-3 COMBINER
-174 PLUTO-KUIPER EXPRESS
-175 PLUTO-KUIPER EXPRESS SIMULATION
-205 SPACETECH-3 COLLECTOR
Satellites:
514 1979J2
515 1979J1
516 1979J3
610 1980S1
611 1980S3
612 1980S6
613 1980S13
614 1980S25
615 1980S28
616 1980S27
617 1980S26
706 1986U7
707 1986U8
708 1986U9
709 1986U4
710 1986U6
711 1986U3
712 1986U1
713 1986U2
714 1986U5
715 1985U1
718 1986U10
901 1978P1
The spelling in the following built-in NAIF ID code/name definitions
have been corrected:
Satellites:
MAGACLITE to MEGACLITE
The following built-in objects have been renamed:
Spacecraft:
STV-1 to STV51
STV-2 to STV52
STV-3 to STV53
Satellites:
ERRIAPO to ERRIAPUS
Icy (IDL interface to CSPICE) OnlyNew and Updated Interfaces
cspice_getelm cspice_spkw10 cspice_wncard cspice_subpnt cspice_subslr cspice_dafac cspice_dafdc cspice_dafec cspice_subpnt cspice_subslr cspice_sincptThese Icy interfaces now process vectorized arguments:
cspice_etcal cspice_furnsh cspice_unloadThese Interfaces have been removed from Icy:
cspice_spkw15 cspice_spkw17 DocumentationPermutted Index for Icy and Mice
BRIEF User's Guide
Documentation on NAIF Web Server
http://naif.jpl.nasa.gov/naif/documentation.html BRIEF
CKBRIEF
MKSPK
SUBPT Cookbook
Bug FixesEV2LIN
HYPTOF
INELPL
Also, in the degenerate case where the input ellipse is a line segment of positive length, and this segment intersects the plane, the number of intersection points is set to 1 rather than 2. RAXISA
SC01
SRFXPT
BRIEF
CKBRIEF
Header Updates
Version 61 --- December 2006Rules Regarding Use of SPICE Components
EnvironmentsNew Environments
FORTRAN Toolkit:
Mac/Intel OS-X Intel FORTRAN
PC Windows Intel FORTRAN
CSPICE:
Mac/Intel OS-X Apple C
Sun Solaris gCC/64bit
Icy:
Mac/Intel OS-X Apple C / IDL 6.3
Deprecated Environments
FORTRAN Toolkit:
HP UX-10 HP FORTRAN
Vax VMS Digital FORTRAN
CSPICE:
HP UX-10 HP C
Complete List of Supported Environments
FORTRAN Toolkit:
Mac/Intel OS-X Intel FORTRAN
Mac/PowerPC OS-X Absoft FORTRAN
Mac/PowerPC OS-X g77
PC CYGWIN g77
PC Linux g77
PC Windows Compaq Visual (Digital) FORTRAN
PC Windows Intel FORTRAN
PC Windows Lahey FORTRAN 95
Sun Solaris SUN FORTRAN
CSPICE:
Mac/Intel OS-X Apple C
Mac/PowerPC OS-X Apple C
PC CYGWIN gCC
PC Linux gCC
PC Linux gCC/64bit
PC Windows Microsoft Visual C
Sun Solaris gCC
Sun Solaris gCC/64bit
Sun Solaris SUN C
Icy:
Mac/Intel OS-X Apple C / IDL 6.3
Mac/PowerPC OS-X Apple C / IDL 6.3
PC Linux gCC / IDL 6.3
PC Windows Microsoft Visual C / IDL 6.3
Sun Solaris gCC / IDL 6.3
Sun Solaris SUN C / IDL 6.3
Use of -fPIC/-KPIC Option
Lahey Memory Issue Related to File Opening/Closing
We believe that this behavior affects all versions of SPICELIB, including the N61 version. We are working with Lahey to resolve this issue. Scratch EK File Issue in Icy on PC/Windows
This problem does not affect use of the file or cause any known instability to Icy. Documentation
The top level index file
doc/html/index.htmlprovides a single entry point to all HTML documentation. While the CSPICE and Icy set of individual API HTML pages contains a page for each of the public routines, the SPICELIB (Fortran) set does not provide HTML pages for about 30 routines that are different on different environments. NAIF omitted them in this Toolkit version due to some technical difficulties in assembling the Toolkit packages and will try to fix this situation in the next release of the Toolkit. Also, the SPICELIB HTML documentation set does not include links to a small set of APIs that have names that are either common words (POS, FRAME, ROTATE, RETURN) or terms (J2000, B1950) commonly used in the SPICE documentation. New ApplicationsMSOPCK
Refer to the MSOPCK User's Guide, msopck.ug, for more information about the program. Note: an earlier version of this program has been available in some mission-specific Toolkits and through the NAIF website. We recommend users replace that older version with this one. SPKDIFF
Refer to the SPKDIFF User's Guide, spkdiff.ug, for more information about the program. Note: SPPKDIFF replaces a predecessor program named CMPSPK that had limited distribution. SPICELIB/CSPICE/IcyKCLEAR Routine
Calling KCLEAR at the end of an Icy-based IDL script ensures that kernels loaded during script execution won't contaminate results from Icy-based scripts run subsequently during the same IDL session. DAF Comment Area Routines
These routines are available in SPICELIB and CSPICE; they are not yet supported in Icy. DAF-based Kernel Open Routines
The calling sequences of these routines have not changed. The routines' input argument NCOMCH was previously disregarded; it now specifies the amount of comment area space to reserve. This change applies to SPICELIB, CSPICE, and Icy. DAFONW Routine
This change supports the capability of reserving space in the comment area now provided by the higher-level kernel opening routines CKOPN, PCKOPN, and SPKOPN. SPKW02, SPKW03, and SPKW05 Routines
Built-in NAIF ID Code/Name Definitions
Spacecraft:
-61 JUNO
-76 MSL
-76 MARS SCIENCE LABORATORY
-85 LRO
-85 LUNAR RECON ORBITER
-85 LUNAR RECONNAISSANCE ORBITER
-212 STV-1
-213 STV-2
-214 STV-3
Satellites:
540 ARCHE
541 EUKELADE
546 HELIKE
547 AOEDE
548 HEGEMONE
551 KALLICHORE
553 CYLLENE
560 CARPO
561 MNEME
635 DAPHNIS
722 FRANCISCO
723 MARGARET
724 FERDINAND
725 PERDITA
726 MAB
727 CUPID
902 NIX
903 HYDRA
The following provisional name/ID mappings for the Jovian system
satellites were replaced or removed from the Toolkit:
539 'HEGEMONE' JXXXIX
540 'MNEME' JXL
541 'AOEDE' JXLI
542 'THELXINOE' JXLII
543 'ARCHE' JXLIII
544 'KALLICHORE' JXLIV
545 'HELIKE' JXLV
546 'CARPO' JXLVI
547 'EUKELADE' JXLVII
548 'CYLLENE' JXLVIII
The new mapping leaves the IDs 539, 542-545, 549, 550, 552, 554-559
unassigned.
The following name spelling correction has also been made:
632 METHODE to METHONE
CSPICE OnlyNew Wrappers
dafac_c dafdc_c dafec_c dafgda_c dascls_c dasopr_c kclear_c Icy (IDL interface to CSPICE) OnlyNew Interfaces
cspice_appndd cspice_appndi cspice_badkpv cspice_dafgda cspice_dascls cspice_dasopr cspice_inter cspice_kclear cspice_valid Bug FixesCKE05
First change: the evaluator now assumes that input rate information, whether in the form of quaternion derivatives or angular velocity vectors, has units of radians/second. This makes the routine's interface consistent with SPICE conventions. This change affects subtypes 0, 2, and 3. Second change: the evaluator no longer attempts to improve interpolation of quaternion derivatives by negating, if necessary, the derivatives provided in the input record. This places on C-kernel creators the burden of determining correct quaternion derivatives suitable for Hermite interpolation. This decision was made because the selection functionality cannot be implemented in a completely reliable way for the case where the derivatives have very small magnitude (which in practice is not a rare case). Quaternions themselves still WILL be negated if necessary for correct Hermite interpolation. This change affects subtypes 0 and 2. ET2LST
UNLOAD
STR2ET
SURFPT
The new functionality is consistent with the routine's documentation, which claims that the intercept closest to the ray's vertex is selected. CHRONOS
The important side effect of correcting the first bug is that due to the fact that LST is returned with integer local seconds the result of any conversion from and to LST differs slightly -- by less that 1 second -- from the same conversion done by the previous versions of the program. Icy
MKSPK
Version 60 --- December 2005
Bug FixesAccess to High Precision Binary Earth PCK
A second, probably rarely encountered, effect of the bug is that data will be corrupted when read directly from routine TISBOD (tisbod_c in CSPICE, cspice_tisbod in Icy), in cases where the input reference frame name doesn't match the frame associated with the data in the source PCK. This bug has been fixed in the N0060 Toolkit. Version 59 --- November 2005Rules Regarding Use of SPICE Components
EnvironmentsNew Environments
Supported Environments
FORTRAN Toolkit:
HP UX-10 HP FORTRAN
Macintosh OS-X Absoft FORTRAN
Macintosh OS-X g77
PC CYGWIN g77
PC Linux g77
PC Windows Compaq Visual (Digital) FORTRAN
PC Windows Lahey FORTRAN 95
Sun Solaris SUN FORTRAN
Vax VMS Digital FORTRAN
CSPICE:
HP UX HP C
Macintosh OS-X Apple C
PC CYGWIN gCC
PC Linux gCC
PC Windows Microsoft Visual C
Sun Solaris SUN C
Sun Solaris gCC
Sun Solaris gCC/64bit
Icy:
Macintosh OS-X Apple C / IDL 6.2
PC Linux gCC / IDL 6.2
PC Windows Microsoft Visual C / IDL 6.2
Sun Solaris SUN C / IDL 6.2
Sun Solaris gCC / IDL 6.2
Optimization for C/Icy environments
Lahey Memory Issue Related to File Opening/Closing
We believe that this behavior affects all versions of SPICELIB, including the soon to be released N59 version. We are working with Lahey to resolve this issue. Scratch EK File Issue in Icy on PC/Windows
This problem does not affect use of the file or cause any known instability to Icy. SPICELIB/CSPICE/IcyLoading of Non-Native Text Kernels Files
Please be aware the CSPICE text file reader, rdtext_c, does not possess the capability to read non-native text files. Additional Testing
Deprecation of BODVAR in favor of BODVRD and BODVCD
``In Place'' Routines
cyacip.for cyadip.for cyaiip.for vhatip.for vsclip.for xpsgip.for SPK Segment Buffer Increase
EK Buffer Increased
Built-in NAIF ID Code/Name Definitions
Spacecraft:
-98 NEW HORIZONS
-248 VENUS EXPRESS, VEX
-500 RSAT, SELENE Relay Satellite, SELENE Rstar, Rstar
-502 VSAT, SELENE VLBI Radio Satellite,
SELENE VRAD Satellite, SELENE Vstar
Asteroids:
2025143 ITOKAWA
Satellites:
539 HEGEMONE
540 MNEME
541 AOEDE
542 THELXINOE
543 ARCHE
544 KALLICHORE
545 HELIKE
546 CARPO
547 EUKELADE
548 CYLLENE
631 NARVI
632 METHODE
633 PALLENE
634 POLYDEUCES
Ground Stations:
399064 DSS-64
Documentation
CSPICENew Wrappers
bodvcd_c.c qdq2av_c.c qxq_c.c srfrec_c.c Icy (Interactive Data Language interface to CSPICE)Vectorization
cspice_illum cspice_insrtd cspice_insrti cspice_oscelt cspice_sce2c cspice_srfrec cspice_srfxpt cspice_subpt cspice_removd cspice_removi New interfaces
cspice_bodvcd cspice_diff cspice_insrtd cspice_insrti cspice_qdq2av cspice_qxq cspice_removd cspice_removi cspice_sdiff cspice_set cspice_srfrec cspice_union Bug FixesNon-standard Use of Duplicate Arguments in FORTRAN
NEARPT
ET2LST
GETFOV
CKW03
INEDPL
INSRTC
String Parsing Routines
Version 58 --- January 2005Environments
This is the complete list of environments on which the N0058 version of the SPICE Toolkit is supported:
FORTRAN Toolkit:
HP UX HP FORTRAN
Macintosh OS-X Absoft FORTRAN
Macintosh OS-X g77
PC CYGWIN g77
PC Linux g77
PC Windows Compaq Visual (Digital) FORTRAN
PC Windows Lahey FORTRAN 95
Sun Solaris SUN FORTRAN
Vax VMS Digital FORTRAN
CSPICE:
HP UX HP C
Macintosh OS-X Apple C
PC CYGWIN gCC
PC Linux gCC
PC Windows Microsoft Visual C
Sun Solaris SUN C
Sun Solaris gCC
Icy:
Macintosh OS-X Apple C / IDL 6.1
PC Linux gCC / IDL 6.1
PC Windows Microsoft Visual C / IDL 6.1
Sun Solaris SUN C / IDL 6.1
Sun Solaris gCC / IDL 6.1
SPICELIB/CSPICE/IcyParameterized Dynamic Frames
Currently supported dynamic frame families are:
The Frames Required Reading documents the new capability and contains numerous examples of dynamic frame kernel definitions. CK/SPK Coverage Summary Routines
The new CK and SPK routines CKOBJ and SPKOBJ provide an API via which an application can find the set of instruments or bodies for which, respectively, a specified CK or SPK file contains data. The coverage information is returned in a SPICE ``set'' data structure. These new APIs are supported by SPICELIB, CSPICE, and Icy. Planetographic Coordinate Conversion Routines
These new APIs are supported by SPICELIB, CSPICE, and Icy. ``L-sub-S'' Solar Longitude Routine
The new API is supported by SPICELIB, CSPICE, and Icy. Built-in NAIF ID Code/Name Definitions
Spacecraft:
-84 PHOENIX
-130 HAYABUSA
-131 SELENE
-203 DAWN
-238 SMART-1, S1, SM1, SMART1
-486 HERSCHEL
-489 PLANCK
Comets:
1000012 CHURYUMOV-GERASIMENKO
67P/CHURYUMOV-GERASIMENKO (1969 R1)
Stations:
399049 DSS-49
399055 DSS-55
398989 NOTO
Documentation
CSPICENew Wrappers
bods2c_c.c dafopw_c.c dafps_c.c dafrs_c.c Icy (Interactive Data Language interface to CSPICE)Vectorization
cspice_cylrec cspice_deltet cspice_et2lst cspice_et2utc cspice_georec cspice_latrec cspice_pxform cspice_pgrrec cspice_radrec cspice_reccyl cspice_recgeo cspice_reclat cspice_recpgr cspice_recrad cspice_recsph cspice_scdecd cspice_scencd cspice_scs2e cspice_sphrec cspice_spkezr cspice_spkpos cspice_str2et cspice_sxform cspice_timout Windows
cspice_wnelmd cspice_wnincd cspice_wnreld cspice_wncomd cspice_wncond cspice_wndifd cspice_wnexpd cspice_wnextd cspice_wnfetd cspice_wnfild cspice_wnfltd cspice_wninsd cspice_wnintd cspice_wnsumd cspice_wnunid cspice_wnvald Other new interfaces
cspice_bods2c cspice_card cspice_celli cspice_celld cspice_dafopw cspice_dafrs cspice_deltet cspice_et2lst cspice_pgrrec cspice_recpgr cspice_scard cspice_size cspice_spkcov cspice_spkobj cspice_ssize Bug FixesMKSPK Processing of TLE
MKSPK Adding Comments When Appending to Existing SPK
Icy/cspice_getfov
DVPOOL/dvpool_c/cspice_dvpool
CSPICE/kdata_c Function
FRINFO/frinfo_c/cspice_frinfo
Version 57 --- March 2004Environments
Icy
SPICELIB/CSPICESRFXPT
Support for Satellite IDs in the Range 10000-99999
Detection of Non-native Text Files
Documentation
doc/html/index.htmlThe headers of a few additional most often used routines have been revised to correct technical errors and grammar and/or spelling, improve clarity, and improve examples. Built-in NAIF ID Code/Name Definitions
Spacecraft:
-79 SPITZER
Asteroids:
2000216 KLEOPATRA
INSPEKT
TOBIN
Version 56 --- August 2003Environments
Macintosh MacOS9 Absoft FORTRAN Macintosh MacOS9 Metrowerks Codewarrior CContact NAIF if you wish to obtain the Toolkit for these two deprecated environments. SPICELIB/CSPICEDocumentation
Built-in NAIF ID Code/Name Definitions
Spacecraft:
-74 MRO
-74 MARS RECON ORBITER
-130 MUSES-C
-142 TERRA
-154 AQUA
-159 EUROPA ORBITER
-172 SPACETECH-3 COMBINER
-188 MUSES-B
-190 SIM
-198 INTEGRAL
-205 SPACETECH-3 COLLECTOR
-234 STEREO AHEAD
-235 STEREO BEHIND
-253 OPPORTUNITY
-254 SPIRIT
Tracking Stations:
398990 NEW NORCIA
Jovian satellites:
528 AUTONOE
529 THYONE
530 HERMIPPE
531 AITNE
532 EURYDOME
533 EUANTHE
534 EUPORIE
535 ORTHOSIE
536 SPONDE
537 KALE
538 PASITHEE
Saturnian satellites:
619 YMIR
620 PAALIAQ
621 TARVOS
622 IJIRAQ
623 SUTTUNG
624 KIVIUQ
625 MUNDILFARI
626 ALBIORIX
627 SKADI
628 ERRIAPO
629 SIARNAQ
630 THRYM
Uranian satellites:
718 PROSPERO
719 SETEBOS
720 STEPHANO
721 TRINCULO
CHRONOS
Bug FixesReading Files with MAC-OSX Absoft FORTRAN Toolkit
DAS Scratch Files
Argument Checking in CSPICE Error Handling Functions
Version 55 --- March 2003Environments
SPICELIBSPKW01
DASCLS
SPKBSR
Kernel POOL
Type 1 SCLK
CSPICENew CSPICE wrappers
Bug FixesBuilt-in NAIF ID Code/Name Definitions
-253 was MER-A, now MER-1
-254 was MER-B, now MER-2
MER-A and MER-B names are no longer supported by the Toolkit.
DASCUD
OSCELT
CKE05
CKBRIEF
Version 54 --- December 2002Mailing Lists
http://naif.jpl.nasa.gov/mailman/listinfo/spice_announceand ``Spice_discussion''
http://naif.jpl.nasa.gov/mailman/listinfo/spice_discussion``Spice_announce'' is intended to provide notification of important developments such as a new toolkit release. Posting will generally be limited to members of the NAIF team. If you feel you have an important announcement that would be suitable for this list, you may send email to the list, but it will be reviewed by the NAIF team before dissemination. ``Spice_discussion'' is meant to provide a forum for discussion among SPICE users. Posting on this list is encouraged, however we also encourage you to limit mail traffic to the entire list. Extended discussions are often best carried out with a limited distribution list. Both lists require registration, allow access to an archive of prior postings and allow the user to choose whether to receive individual postings or a daily digest. Environments
COOKBOOK Programs
New Built-in NAIF ID Code/Name Definitions
Spacecraft:
-226 ROSETTA
Jovian satellites:
517 CALLIRRHOE
518 THEMISTO
519 MAGACLITE
520 TAYGETE
521 CHALDENE
522 HARPALYKE
523 KALYKE
524 IOCASTE
525 ERINOME
526 ISONOE
527 PRAXIDIKE
Documentation
Bug FixesBuilt-in Body-Fixed Frame for Pan
Surface Intercept Routine
DAS Writer Routines
CSPICE Cell Implementation
Body Name to Associated Frame Conversion Routine
CHRONOS
Version 53 --- September 2002Environments
PC Linux g77 PC Windows Compaq Visual (Digital) FORTRAN PC Windows Lahey FORTRAN 95 PC Linux gCC PC Windows Microsoft Visual C++ Sun Solaris FORTRAN Sun Solaris Native C Sun Solaris gCC HP UX HP FORTRAN HP UX HP C Macintosh MacOS Absoft FORTRAN Macintosh MacOS Metrowerks Codewarrior C Macintosh OS-X g77 Macintosh OS-X Absoft FORTRAN Macintosh OS-X Apple C SGI IRIX N32/O32 FORTRAN SGI IRIX MIPS C (N32/O32 ABIs) DEC Alpha Digital Unix Digital FORTRAN DEC Alpha Digital Unix Digital C Vax VMS Digital FORTRANThe PC/Linux/g77 version previously supported the alternative ``fort77'' compiler. This is no longer the case. Contact NAIF if you need support for this compiler. The Macintosh OS-X environments are new. CSPICENew CSPICE wrappers for cell, set, and windows routines
New CSPICE wrappers for sorting and searching routines
bscho*_c.c bsrch*_c.c esrchc_c.c isordv_c.c isrch*_c.c lstle*_c.c lstlt*_c.c order*_c.c reord*_c.c shell*_c.c New CSPICE wrappers for string manipulation and parsing routines
cpos*_c.c pos*_c.c ncpos*_c.c kxtrct_c.c lpars*_c.c lx4*_c.c lxqstr_c.c repm*_c.c SPICELIBSPK Type 18
CK Type 5
BRIEF
COOKBOOK
Bug FixesID-to-name Translation
Built-in Body-Fixed Frames
Binary architecture consistency check at run-time
Long/truncated lines in text kernel files
VMS Read-Only Access File Open Failure
Version 52 --- January 2002Environments
PC Linux G77 PC Windows Compaq Visual (Digital) Fortran PC Windows Lahey Fortran 95 PC Linux GCC PC Windows Microsoft Visual C++ Sun Solaris Fortran Sun Solaris Native C Sun Solaris GCC HP UX HP Fortran HP UX HP C Macintosh MacOS Absoft Fortran Macintosh MacOS Metrowerks Codewarrior C SGI IRIX N32/O32 Fortran SGI IRIX MIPS C (N32/O32 ABIs) DEC Alpha Digital Unix Digital Fortran DEC Alpha Digital Unix Digital C Vax VMS Digital FortranThe N0052 version of the SPICE Toolkit is no longer supported on the following environments:
PC Windows Lahey F77L3 PC Windows Microsoft Powerstation Fortran 1.x PC Windows Microsoft Powerstation Fortran 4.x Sun SunOS Fortran Macintosh MacOS Language Systems Fortran Next Nextstep Absoft Fortran Next Nextstep GCCContact NAIF if you wish to obtain the Toolkit for one or more of these deprecated environments. SPICELIBRun-Time Binary File Format Translation
Open File Limit Increase
SPK aberration corrections
The headers of the SPK readers have been expanded to explain aberration corrections in greater detail. Instrument Kernel Support
Kernel POOL
Maximum Number of Variables 5003 Maximum Number of Distinct Numeric Data Items 10000 (*) Maximum Number of Character Strings 4000 (**)(*) This is the maximum total number of values for all numeric scalar and array pool variables together. (**) This is the maximum total number of values for all character scalar and array pool variables together. These changes allow the kernel pool to hold substantially more data than previous versions of the SPICE toolkit, which became necessary due to the increasing use of such SPICE components as IK and FK utilizing the POOL as the data repository and access mechanism. Jacobian routines
cylindrical geodetic latitudinal sphericalThe Jacobian routines support transformation of velocities between these coordinate systems. See the headers of the following SPICELIB routines/CSPICE functions for more information:
DCYLDR/dcyldr_c DGEODR/dgeodr_c DLATDR/dlatdr_c DSPHDR/dsphdr_c DRDCYL/drdcyl_c DRDGEO/drdgeo_c DRDLAT/drdlat_c DRDSPH/drdsph_c NAIF ID to Object Name Mapping
CONTOUR LUNAR-A DRTS-WC MARS EXPRESS DEEP IMPACT STARLIGHT MER Documentation
The CONVERT User's Guide has been updated to reflect new run-time binary file format translation capability. The FRAMES Required Reading has been updated to include inertial frame information formerly contained in the NAIF_IDS Required Reading. The NAIF_IDS Required Reading has been updated to reflect new Toolkit capability, through which the NAIF ID to name mappings can be defined using text kernel files. The MKSPK User's Guide has been updated to add clarity throughout. The ERROR, PCK, ROTATIONS, SPK, and TIME Required Reading documents have all been improved. CSPICENew CSPICE wrappers for EK routines
CSPICE wrappers have been added to provide summary capabilities for loaded EK tables. Miscellaneous new CSPICE wrappers
frmnam_c inelpl_c namfrm_c CKBRIEF
COMMNT
MKSPK
VERSION
Bug FixesCK, PCK, and SPK segment buffering and selection
CK: 4000 segments SPK: 2000 segments PCK: 100 segments Const-qualification for various CSPICE interfaces
CSPICE function gcpool_c fixed
MOVED fix for Fortran PC Linux platform
EK query processing using LIKE operator and null values
EK time conversion
EK documentation
Source code clean-up
Version 51 --- April 2000SPICELIBInstrument Kernel Support
Binary Kernel Recognition
CK
SPK
Miscellaneous
MKSPK
SPKMERGE
Bug Fixes
Version 50 --- October 1999CSPICE
Additions and Extensions to SPICE routinesLoading Kernels
In addition to the routine FURNSH several related routines are provided to assist with the run-time management of kernels loaded through the FURNSH interface.
Position Only Interface.
See the routines PXFORM and SPKPOS for details on their use. ID-codes
Kernel Pool Enhancements
Continuous Spacecraft Clocks
Bad FTP File Transfer Detection
CK Writer Enhancements
Bugs
SPICE Utility ProgramsTOBIN
COMMNT
CKBRIEF
MKSPK
Documentation
In addition a new document called "Common Problems" (problems.req) has been included with the standard SPICE documentation. This document is intended to help you in trouble shooting problems that may arise with programming with the SPICE Toolkit. Version 49 --- September 1998
DELTET --- obsolete routine maintained only for
backwards compatibility. A bug was
introduced in Version 48 that could
lead to 0.003 seconds of error in outputs.
DPFMT --- documentation corrections.
EKQMRT --- a boundary bug was corrected.
SPKW02 --- documentation correction
TIMDEF --- a bug was fixed that can only be manifested
when the default exception handling is modified.
TIMOUT --- correction of grammatical errors in header.
Version 48 --- May 1998
The time system was modified so that two digit years are interpreted as belonging to the years 1969-2068 inclusive. In addition a number of minor bugs have been fixed. The intended functionality of the Toolkit has not changed. The most significant bug fixes are listed here.
conics.for was updated.
There was a coding error in the computation of the mean
anomaly in the parabolic case. This problem has been
corrected.
et2lst.for was updated.
The integer variable SUN was never initialized in the
previous version of the routine. Now it is set to
the proper value of 10.
str2et.for was updated.
The previous versions of this routine did not correctly
convert day-of-year strings in the TDB or TDT systems.
They treated the day of year as year, month, day giving
spectacularly wrong answers.
In addition, comments concerning the default century for
abbreviated years were updated to reflect changes to TEXPYR
timout.for was updated.
The previous version of this routine did not output
fractional components for epochs prior to 1 A.D.
In addition, the default time system, calendar and time zone
are obtained from TIMDEF.
Version 47 --- July 1997
Documentation
In addition to these major modifications to the base SPICE documentation, the document TIME.REQ has been updated to reflect a slight broadening of recognized time strings and to document the routine ET2LST that allows the user to convert to ephemeris time to local solar time for any natural ephemeris object. SoftwareSPK
To assist SPICE users who need to create SPK files that contain two line element sets, NAIF has a preliminary utility that allows the creation of SPK files from two line element data. This tool is available from NAIF on an as-needed basis. This utility is still a bit rough around the edges and has not yet been made an official Toolkit product. Frames
Time
Bug Fixes
The routine TIMOUT in version 46 did not reliably produce an abbreviated two-digit year. This error has been corrected. All other errors were of a technical nature such as improper use of the SPICE exception handling subsystem and are unlikely to have affected most SPICE users. Version 46 --- January 1997
Documentation
Introduction to SPICE Most Useful SPICELIB SubroutinesThese documents are available in the ``doc'' subdirectory of the Toolkit in the postscript files
intro.ps mostused.psrespectively. The first of these documents, ``Introduction to SPICE'', provides a broad overview of the SPICE system and attempts to lay out a map of where you can find more specific information about the various components of the SPICE system. The second document ``Most Useful SPICELIB Routines'' categorizes 120 or so of the most frequently used SPICELIB routines and provides a synopsis for each of these. Time
STR2ET TIMOUT TTRANS TPARTVThe new time software is outlined in the ``recommended reading'' file --- TIME.REQ which appears in the ``doc'' subdirectory of the Toolkit. A number of convenience routines have been added to the Toolkit. Those likely to be of most interest to users are:
Version 45 --- October 1996
In addition to this correction to the reference frame subsystem, a number of minor corrections were made to the DAS subsystem and to error messages returned by EK software. Version 44 --- August 1996
SPK Subsystem
Inspekt
Bug Fixes
The generic segment subsystem was corrected. The errors were discovered by the NAIF staff while developing new SPK data types. These new data types are not yet incorporated into SPICELIB. Consequently users of the SPICE system are unlikely to have used any of the code in which these errors were found. The frames subsystem was corrected. In NAIF's experiments in converting the library to C, an error was found in the routine FRMCHG. This error is of a pedantic nature and has not surfaced in any of the supported native FORTRAN environments. Version 43 --- May 1996
Brief
Star Catalogs.
STCF01 STCG01 STCL01 CHGIRF
BODTRN
Performance Improvements
Version 42 --- December 1995
Full documentation for the new capabilities will be available in version 43 of the Toolkit. Version 41 --- October 1995
Beginning with version 41 of the SPICE Toolkit the routine SPKEZR (pronounced: ess pee kay eee' zee er ) will be the primary mechanism for retrieving states. The calling sequence for this new routine is
CALL SPKEZR ( TARG, ET, REF, ABCORR, OBS, STARG, LT )where
Inputs:
Outputs:
DOUBLE PRECISION STATE ( 6 )
DOUBLE PRECISION LT
CALL SPKEZR ( 'MARS', 1.0D+07, 'B1950', 'LT+S',
. 'EARTH', STATE, LT )
Non-inertial Reference Frames
For example suppose you want to determine whether or not Jupiter is above the local horizon at the Goldstone tracking site. The following code fragment allows you to make this determination at an epoch ET. Note we've hard-coded the radii for the spheroid that approximates the surface of the earth.
C Look up the bodyfixed state of Jupiter relative to
C the Goldstone tracking site and the state of
C Goldstone relative to the center of the earth.
C
CALL SPKEZR ( 'JUPITER', ET, 'IAU_EARTH', 'LT+S',
. 'GOLDSTONE', JSTATE, LT )
CALL SPKEZR ( 'GOLDSTONE', ET, 'IAU_EARTH', 'NONE',
. 'EARTH', GSTATE, LT )
C
C Compute the local surface normal at the Goldstone site.
C
EQRAD1 = 6378.140
EQRAD2 = 6378.140
POLRAD = 6356.75
CALL SURFNM ( EQRAD1, EQRAD2, POLRAD, GSTATE, LNORML )
C
C Next compute the angle between the local normal and the
C vector to Jupiter. If the angle is less than pi/2 then
C Jupiter is above the local horizon. Otherwise it's not
C visible.
C
ANGLE = VSEP ( JSTATE, LNORML )
IF ( ANGLE .LT. HALFPI() ) THEN
WRITE (*,*) 'Jupiter is above the horizon.'
ELSE
WRITE (*,*) 'Jupiter is not visible from Goldstone.'
END IF
Below is a list of the non-inertial frames that are currently supported.
Frames that begin with the letters IAU are frames whose orientation is
specified in the report: "Report of the IAU/IAG/COSPAR Working Group on
Cartographic Coordinates and Rotational Elements of the Planets and
Satellites"
IAU_ADRASTEA IAU_AMALTHEA IAU_ANANKE IAU_ARIEL IAU_ATLAS IAU_BELINDA IAU_BIANCA IAU_CALLISTO IAU_CALYPSO IAU_CARME IAU_CHARON IAU_CORDELIA IAU_CRESSIDA IAU_DEIMOS IAU_DESDEMONA IAU_DESPINA IAU_DIONE IAU_EARTH IAU_EARTH_BARYCENTER IAU_ELARA IAU_ENCELADUS IAU_EPIMETHEUS IAU_EUROPA IAU_GALATEA IAU_GANYMEDE IAU_HELENE IAU_HIMALIA IAU_HYPERION IAU_IAPETUS IAU_IO IAU_JANUS IAU_JULIET IAU_JUPITER IAU_JUPITER_BARYCENTER IAU_LARISSA IAU_LEDA IAU_LYSITHEA IAU_MARS IAU_MARS_BARYCENTER IAU_MERCURY IAU_MERCURY_BARYCENTER IAU_METIS IAU_MIMAS IAU_MIRANDA IAU_MOON IAU_NAIAD IAU_NEPTUNE IAU_NEPTUNE_BARYCENTER IAU_NEREID IAU_OBERON IAU_OPHELIA IAU_PANDORA IAU_PASIPHAE IAU_PHOBOS IAU_PHOEBE IAU_PLUTO IAU_PLUTO_BARYCENTER IAU_PORTIA IAU_PROMETHEUS IAU_PROTEUS IAU_PUCK IAU_RHEA IAU_ROSALIND IAU_SATURN IAU_SATURN_BARYCENTER IAU_SINOPE IAU_SUN IAU_TELESTO IAU_TETHYS IAU_THALASSA IAU_THEBE IAU_TITAN IAU_TITANIA IAU_TRITON IAU_UMBRIEL IAU_URANUS IAU_URANUS_BARYCENTER IAU_VENUS IAU_VENUS_BARYCENTER |