| What's New in SPICE |
Table of ContentsWhat's New in SPICE Introduction Version 66 --- April 2017 Summary Environments New Environments Deprecated Environments Complete List of Supported Environments Scratch EK File Issue in Icy on PC/Windows Optimization on PC Linux, Intel FORTRAN, 32bit Need for Static System Libraries on Linux and OS-X SPICELIB/CSPICE/Icy/Mice Additions and Updates The Digital Shape Kernel (DSK) Subsystem DSK Loading and Run-time Binary Translation High Level Routines Updated to Work with DSK Surfaces New Limb Routine New Terminator Routine New Lon/Lat Grid to Surface Points Routine New Illumination Routine with Visibility and Illumination Flags New Surface Normal Routine New DSK-Specific Surface Intercept Routines New DSK Summary Routines New Type 2 DSK Bulk Read Routines New Surface Name/ID Mapping Routines Status of the Alpha DSK Toolkit New Alpha-DSK Backwards Compatibility Routines New DSK Mid-Level, Low-Level, and Utility Routines New DLA File Format and Routines Other New SPICELIB Interfaces Other New CSPICE Interfaces Other New Icy and Mice Interfaces SPK 10 Evaluator Update to Use Vallado Propagator Text PCK-based Frames Performance Improvement SPK Type 19, subtype 2 Built-in NAIF ID Code/Name Definitions Built-in Body-Fixed Frames New and Updated Toolkit Application DSKBRIEF MKDSK DSKEXP Bug Fixes SPICELIB -- BODEUL, TISBOD SPICELIB -- CKE05 SPICELIB -- KEEPER/UNLOAD SPICELIB -- SUBPNT SPICELIB -- XFMSTA MKSPK Version 65 --- July 2014 Summary Environments New Environments Deprecated Environments Complete List of Supported Environments Scratch EK File Issue in Icy on PC/Windows Optimization on PC Linux, Intel FORTRAN, 32bit SPICELIB/CSPICE/Icy/Mice Additions and Updates New Geometry Finder (GF) Routines New SPK Constant Position/Velocity Observer/Target Routines New Occultation and in FOV Condition Routines New Illumination Angles Routines New High-Level Frame Transformation Routine New High-Level State Transformation Routine Other New SPICELIB Interfaces Other New CSPICE Interfaces Other New Icy Interfaces Other New Mice Interfaces SPK Type 19 SPK Type 20 SPK Type 21 PCK Type 20 CK Type 6 SPKLTC SPKW02, SPKW03, SPKW08, SPKW12 Speedup Maximum Number of Loaded Kernels Kernel Pool Double Precision Buffer Limit CK Buffered Segment Limits SPK Buffered Segment Limits Built-in NAIF ID Code/Name Definitions Built-in Body-Fixed Frames Toolkit Applications Updates BRIEF CKBRIEF FRMDIFF MKSPK MSOPCK SPKDIFF Bug Fixes SPICELIB -- SPKBSR, CKBSR, PCKBSR SPICELIB -- CKE05 SPICELIB -- CKMETA SPICELIB -- DASA2L SPICELIB -- CCIFRM SPICELIB -- NEARPT SPICELIB -- SPKEZ/SPKEZP SPICELIB -- TIME CONVERSION FRMDIFF MKSPK MSOPCK Version 64 --- June 2010 Environments New Environments Complete List of Supported Environments Dynamically Linked Executables 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 Kernel Pool Variable Name Length Check CK Buffered Segment Limits SPK Buffered Segment Limits Kernel Pool Double Precision Buffer Limit SCLK Coefficient Record Limit CK writer quaternion magnitude check New SPICELIB Interfaces New CSPICE Interfaces New Icy Interfaces New Mice Interfaces Built-in NAIF ID Code/Name Definitions Documentation Overwriting Input Arguments Not Allowed Bug Fixes Kernel Pool Watcher Deletion in TKFRAM Frame Change in CKGP ROTGET Dynamic Frame ID ZZEKQCON Initialization Error ZZEKRD03 Memory Violation Error EK Strings Longer Than 1024 Characters RETURN Mode Logic in Various Routines 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 Permuted 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 Toolkit version changes described in this document are
Version 66 --- April 2017 Version 65 --- July 2014 Version 64 --- June 2010 Version 63 --- April 2009 Version 62 --- March 2008 Version 61 --- December 2006 Version 60 --- December 2005 Version 59 --- November 2005 Version 58 --- January 2005 Version 57 --- March 2004 Version 56 --- August 2003 Version 55 --- March 2003 Version 54 --- December 2002 Version 53 --- September 2002 Version 52 --- January 2002 Version 51 --- April 2000 Version 50 --- October 1999 Version 49 --- September 1998 Version 48 --- May 1998 Version 47 --- July 1997 Version 46 --- January 1997 Version 45 --- October 1996 Version 44 --- August 1996 Version 43 --- May 1996 Version 42 --- December 1995 Version 41 --- October 1995 Version 66 --- April 2017Summary
EnvironmentsNew Environments
Deprecated Environments
Icy:
Mac/Intel OS-X Apple C / IDL 8.x / 32bit
Mice:
Mac/Intel OS-X Apple C / MATLAB 7.x / 32bit
PC Linux gCC / MATLAB 7.x / 32bit
PC Windows MS Visual C / MATLAB 7.x / 32bit
Complete List of Supported Environments
FORTRAN Toolkit:
Mac/Intel OS-X GFORTRAN / 32bit
Mac/Intel OS-X GFORTRAN / 64bit
Mac/Intel OS-X Intel FORTRAN / 32bit
Mac/Intel OS-X Intel FORTRAN / 64bit
PC CYGWIN GFORTRAN / 32bit
PC CYGWIN GFORTRAN / 64bit
PC Linux GFORTRAN / 32bit
PC Linux GFORTRAN / 64bit
PC Linux Intel FORTRAN / 32bit
PC Linux Intel FORTRAN / 64bit
PC Linux g77 / 32bit
PC Windows Intel FORTRAN / 32bit
PC Windows Intel FORTRAN / 64bit
Sun Solaris SUN FORTRAN / 32bit
Sun/Intel Solaris SUN FORTRAN / 32bit
Sun/Intel Solaris SUN FORTRAN / 64bit
CSPICE:
Mac/Intel OS-X Apple C / 32bit
Mac/Intel OS-X Apple C / 64bit
PC CYGWIN gCC / 32bit
PC CYGWIN gCC / 64bit
PC Linux gCC / 32bit
PC Linux gCC / 64bit
PC Windows MS Visual C / 32bit
PC Windows MS Visual C / 64bit
Sun Solaris SUN C / 32bit
Sun Solaris SUN C / 64bit
Sun Solaris gCC / 32bit
Sun Solaris gCC / 64bit
Sun/Intel Solaris SUN C / 32bit
Sun/Intel Solaris SUN C / 64bit
Icy:
Mac/Intel OS-X Apple C / IDL 8.x / 64bit
PC Linux gCC / IDL 8.x / 32bit
PC Linux gCC / IDL 8.x / 64bit
PC Windows MS Visual C / IDL 7.x / 32bit
PC Windows MS Visual C / IDL 7.x / 64bit
Sun Solaris SUN C / IDL 7.x / 32bit
Sun Solaris gCC / IDL 7.x / 32bit
Sun Solaris gCC / IDL 7.x / 64bit
Sun/Intel Solaris SUN C / IDL 8.x / 64bit
Mice:
Mac/Intel OS-X Apple C / MATLAB 7.x / 64bit
PC Linux gCC / MATLAB 7.x / 64bit
PC Windows MS Visual C / MATLAB 7.x / 64bit
Sun Solaris SUN C / MATLAB 7.x / 64bit
Scratch EK File Issue in Icy on PC/Windows
Optimization on PC Linux, Intel FORTRAN, 32bit
Need for Static System Libraries on Linux and OS-X
SPICELIB/CSPICE/Icy/Mice Additions and UpdatesThe Digital Shape Kernel (DSK) Subsystem
The DSK subsystem enables SPICE applications to access detailed representations of shapes of extended objects, and conveniently use those shape data in geometry calculations. The subsystem also provides mechanisms for documenting and porting such data. The DSK subsystem consists of the DSK file format, SPICE routines that can access these files, utility programs, and documentation. The DSK subsystem design allows for multiple mathematical representations of shapes; each such representation is called a ``DSK data type.'' Currently the only supported data type is DSK type 2, which models shapes of objects as collections of triangular plates. Such shape representations are also called ``tessellated plate models'' or ``triangular irregular networks'' (TINs). Support for a data type that accommodates digital elevation models (DEMs) is planned for release in a future SPICE Toolkit version. High-level SPICE geometry APIs, when using DSK shape data, work independently of the underlying DSK data type. SPICE also includes lower-level, type-dependent DSK APIs, such as those for fetching DSK type 2 plate and vertex data. The DSK subsystem includes three new utility programs:
MKDSK
DSKBRIEF
DSKEXP
These utilities, respectively, enable SPICE users to make DSK files from
data in a variety of text formats, summarize the contents of DSK files,
and export data from binary DSK files to easily readable text files.
The previously existing SPICE utilities for comment area access and binary-transfer format conversion
COMMNT
TOBIN
TOXFR
work with DSK files.
See the DSK Required Reading document, dsk.req, for further information. Status of the prototype Alpha DSK Toolkit is discussed in a section below. DSK Loading and Run-time Binary Translation
FURNSH (SPICELIB)
furnsh_c (CSPICE)
cspice_furnsh (ICY and MICE)
and unload them by calling
UNLOAD (SPICELIB)
unload_c (CSPICE)
cspice_unload (ICY and MICE)
or
KCLEAR (SPICELIB)
kclear_c (CSPICE)
cspice_kclear (ICY and MICE)
The names of DSK files to be loaded can be listed in a meta-kernel,
along with the names of other SPICE kernels.
Large DSK data sets will normally be partitioned into multiple DSK files. These files can be named in a meta-kernel and loaded simultaneously. The DSK subsystem will automatically select data as needed from loaded DSK files. Information on loaded DSKs---names of loaded kernels, file handles, and names of meta-kernels referencing those DSKs---can be obtained by calling
KTOTAL
KINFO
KDATA (SPICELIB)
ktotal_c
kinfo_c
kdata_c (CSPICE)
cspice_ktotal (ICY and MICE)
cspice_kinfo (ICY and MICE)
cspice_kdata (ICY and MICE)
DSK files use the SPICE DAS (Direct Access Segregated) architecture; DSK
files are a subclass of DAS files. The SPICE Toolkit has been upgraded
so that open and close operations on DAS files, along with DAF files,
are managed by a common subsystem. This subsystem allows up to 5000 DAS
and DAF files to be accessible for reading at the same time.
The SPICE Toolkit has been upgraded to support run-time translation of DAS files: DAS files having ``big-endian'' binary file formats can be read on ``little-endian'' host systems, and vice versa. It still is necessary to convert DAS files to the host system's binary file format if the files need to be writable. For larger DAS files, conversion to the host format is still desirable to improve efficiency. High Level Routines Updated to Work with DSK Surfaces
SINCPT (SPICELIB)
sincpt_c (CSPICE)
cspice_sincpt (ICY and MICE)
SUBPNT (SPICELIB)
subpnt_c (CSPICE)
cspice_subpnt (ICY and MICE)
SUBSLR (SPICELIB)
subslr_c (CSPICE)
cspice_subslr (ICY and MICE)
ILUMIN (SPICELIB)
ilumin_c (CSPICE)
cspice_ilumin (ICY and MICE)
ILLUMG (SPICELIB)
illumg_c (CSPICE)
cspice_illumg (ICY and MICE)
OCCULT (SPICELIB)
occult_c (CSPICE)
cspice_occult (ICY and MICE)
GFOCLT (SPICELIB)
gfoclt_c (CSPICE)
cspice_gfoclt (ICY and MICE)
GFOCCE (SPICELIB)
gfocce_c (CSPICE)
New Limb Routine
LIMBPT (SPICELIB)
limbpt_c (CSPICE)
cspice_limbpt (ICY and MICE)
New Terminator Routine
TERMPT (SPICELIB)
termpt_c (CSPICE)
cspice_termpt (ICY and MICE)
New Lon/Lat Grid to Surface Points Routine
LATSRF (SPICELIB)
latsrf_c (CSPICE)
cspice_latsrf (ICY and MICE)
New Illumination Routine with Visibility and Illumination Flags
ILLUMF (SPICELIB)
illumf_c (CSPICE)
cspice_illumf (ICY and MICE)
New Surface Normal Routine
SRFNRM (SPICELIB)
srfnrm_c (CSPICE)
cspice_srfnrm (ICY and MICE)
New DSK-Specific Surface Intercept Routines
DSKXV (SPICELIB)
dskxv_c (CSPICE)
cspice_dskxv (ICY and MICE)
DSKXSI (SPICELIB)
dskxsi_c (CSPICE)
cspice_dskxsi (ICY and MICE)
New DSK Summary Routines
DSKOBJ (SPICELIB)
dskobj_c (CSPICE)
cspice_dskobj (ICY and MICE)
DSKSRF (SPICELIB)
dsksrf_c (CSPICE)
cspice_dsksrf (ICY and MICE)
New Type 2 DSK Bulk Read Routines
DSKZ02 (SPICELIB)
dskz02_c (CSPICE)
cspice_dskz02 (ICY and MICE)
DSKP02 (SPICELIB)
dskp02_c (CSPICE)
cspice_dskp02 (ICY and MICE)
DSKV02 (SPICELIB)
dskv02_c (CSPICE)
cspice_dskv02 (ICY and MICE)
New Surface Name/ID Mapping Routines
The surface name/ID subsystem supports the DSK subsystem by providing means to map between names and IDs of surfaces stored in DSK files. The N0066 version offers the following surface name/ID mapping routines:
SRFCSS (SPICELIB)
srfcss_c (CSPICE)
cspice_srfcss (ICY and MICE)
SRFS2C (SPICELIB)
srfs2c_c (CSPICE)
cspice_srfs2c (ICY and MICE)
SRFC2S (SPICELIB)
srfc2s_c (CSPICE)
cspice_srfc2s (ICY and MICE)
SRFSCC (SPICELIB)
srfscc_c (CSPICE)
cspice_srfscc (ICY and MICE)
Status of the Alpha DSK Toolkit
However, for convenience of Alpha DSK Toolkit users, the Alpha DSK geometry APIs are included in the SPICE Toolkit. There have been some changes to the sets of header files referenced by the C versions of those routines; other than that, the interfaces of the routines are unchanged. The Alpha versions of the DLA and DSK type 2 routines are also included in the SPICE Toolkit and are considered official SPICE APIs. Aside from the exceptions cited below, interfaces are unchanged from the Alpha versions. A few backward-compatibility violations do exist:
DSKBRIEF upgrades include:
Run-time translation of old DSK files is now supported, as it is for all DAS files. New Alpha-DSK Backwards Compatibility Routines
illum_pl02 illum_plid_pl02
limb_pl02 llgrid_pl02
subpt_pl02 subsol_pl02
term_pl02
cspice_illum_pl02 cspice_illum_plid_pl02
cspice_limb_pl02 cspice_llgrid_pl02
cspice_subpt_pl02 cspice_subsol_pl02
cspice_term_pl02
New DSK Mid-Level, Low-Level, and Utility Routines
DSKB02 DSKCLS DSKD02
DSKGD DSKGTL DSKI02
DSKMI2 DSKN02 DSKOPN
DSKRB2 DSKSTL DSKW02
DSKX02 PLTAR PLTEXP
PLTNP PLTNRM PLTVOL
dskb02_c dskcls_c dskd02_c
dskgd_c dskgtl_c dski02_c
dskmi2_c dskn02_c dskopn_c
dskrb2_c dskstl_c dskw02_c
dskx02_c pltar_c pltexp_c
pltnp_c pltnrm_c pltvol_c
cspice_dskb02 cspice_dskcls cspice_dskd02
cspice_dskgd cspice_dskgtl cspice_dski02
cspice_dskmi2 cspice_dskn02 cspice_dskopn
cspice_dskrb2 cspice_dskstl cspice_dskw02
cspice_dskx02 cspice_pltar cspice_pltexp
cspice_pltnp cspice_pltnrm cspice_pltvol
New DLA File Format and Routines
The data in a DSK file are organized into one or more ``segments''; each segment contains data for a specified body, spatial region and time interval. DSK segments are implemented as DLA arrays. DSK data type-dependent routines, such as those that fetch vertices from a plate model, operate on DSK segments. DLA APIs are used to traverse DSK files and locate DSK segments so that the segments can be referenced by type-dependent DSK routines. The following public DLA routines are available in the N0066 toolkit:
DLABBS DLABFS DLABNS
DLAENS DLAFNS DLAFPS
DLAOPN DLASSG
dlabbs_c dlabfs_c dlafns_c
dlafps_c
cspice_dlabfs cspice_dlafns
See the DLA Required Reading document, dla.req, for details. See the API
documentation of DSK type 2 routines and DLA routines for complete
example programs that demonstrate use of the routines.
Other New SPICELIB Interfaces
EDNMPT EDPNT INCNSG
INSANG NPSGPT OSCLTX
XDDA
Other New CSPICE Interfaces
chbder_c cleard_c dasdc_c
dashfn_c dasopw_c dasrfr_c
hrmint_c lgrind_c oscltx_c
pckcls_c pckopn_c pckw02_c
polyds_c
Other New Icy and Mice Interfaces
cspice_bodfnd
cspice_ccifrm
cspice_dascls
cspice_dasec
cspice_dasopr
cspice_lspcn
cspice_pckcov
cspice_pckfrm
cspice_spkuds (ICY only)
cspice_srfrec
The following global parameter scripts were added to Icy:
DSKIcy02.pro
DSKIcyUser.pro
DSKtol.pro
The following global parameter scripts were added to Mice:
DSKMice02.m
DSKMiceUser.m
DSKtol.m
SPK 10 Evaluator Update to Use Vallado Propagator
Vallado, David, Crawford, Paul, Hujsak, Richard, and Kelso, T.S. 2006. Revisiting Spacetrack Report #3. Paper AIAA 2006-6753 presented at the AIAA/AAS Astrodynamics Specialist Conference, August 21-24, 2006. Keystone, CO.Starting with the toolkit version N0066 the SPK subsystem uses this new propagator to evaluate TLE Type 10 SPKs. Note that because the routines implementing the Vallado propagator use some leapsecond constants, loading an LSK is now required in order to read any TLE Type 10 SPKs. The Spacetrack #3 (Hoots 1980) based TLE propagation routines used in Toolkit version N0065 and earlier remain part of the Toolkit.
Hoots, F. R., and Roehrich, R. L. 1980. "Models for Propagation of the NORAD Element Sets." Spacetrack Report #3. U.S. Air Force: Aerospace Defense Command. Text PCK-based Frames Performance Improvement
SPK Type 19, subtype 2
Built-in NAIF ID Code/Name Definitions
Spacecraft:
-28 JUPITER ICY MOONS EXPLORER
-28 JUICE
-49 LUCY
-62 EMM
-62 EMIRATES MARS MISSION
-65 MCOA
-65 MARCO-A
-66 MCOB
-66 MARCO-B
-68 MERCURY MAGNETOSPHERIC ORBITER
-68 MMO
-68 BEPICOLOMBO MMO
-69 PSYC
-76 CURIOSITY
-117 EDL DEMONSTRATOR MODULE
-117 EDM
-117 EXOMARS 2016 EDM
-121 MERCURY PLANETARY ORBITER
-121 MPO
-121 BEPICOLOMBO MPO
-143 TRACE GAS ORBITER
-143 TGO
-143 EXOMARS 2016 TGO
-152 CH2
-152 CHANDRAYAAN-2
-159 EURC
-159 EUROPA CLIPPER
-198 NASA-ISRO SAR MISSION
-198 NISAR
-301 HELIOS 1
-302 HELIOS 2
Satellites:
553 DIA
Asteroids:
2000016 PSYCHE
2101955 BENNU
The following built-in NAIF ID code/name definitions have been removed
from the Toolkit:
-159 EUROPA ORBITER
Built-in Body-Fixed Frames
IAU_BENNU
New and Updated Toolkit ApplicationDSKBRIEF
Compared to the Alpha-DSK version of the program DSKBRIEF upgrades include:
MKDSK
Compared to the Alpha-DSK version of the program MDKSK upgrades include:
DSKEXP
Refer to the DSKEXP User's Guide, dskexp.ug, for more information about the program. Bug FixesSPICELIB -- BODEUL, TISBOD
SPICELIB -- CKE05
SPICELIB -- KEEPER/UNLOAD
SPICELIB -- SUBPNT
SPICELIB -- XFMSTA
MKSPK
Version 65 --- July 2014Summary
EnvironmentsNew Environments
FORTRAN Toolkit:
PC CYGWIN GFORTRAN / 32bit
PC CYGWIN GFORTRAN / 64bit
PC Linux Intel FORTRAN / 64bit
Sun/Intel Solaris SUN FORTRAN / 64bit
CSPICE:
PC CYGWIN gCC / 64bit
Icy:
Sun/Intel Solaris SUN C / IDL 8.x / 64bit
Deprecated Environments
FORTRAN Toolkit:
Mac/PowerPC OS-X Absoft FORTRAN / 32bit
Mac/PowerPC OS-X g77 / 32bit
PC CYGWIN g77 / 32bit
PC Windows Compaq (Digital) FORTRAN / 32bit
PC Windows Lahey FORTRAN 95 / 32bit
CSPICE:
Mac/PowerPC OS-X Apple C / 32bit
Icy:
Mac/PowerPC OS-X Apple C / IDL 6.4 / 32bit
Mice:
Mac/PowerPC OS-X Apple C / MATLAB 7.x / 32bit
Complete List of Supported Environments
FORTRAN Toolkit:
Mac/Intel OS-X GFORTRAN / 32bit
Mac/Intel OS-X GFORTRAN / 64bit
Mac/Intel OS-X Intel FORTRAN / 32bit
Mac/Intel OS-X Intel FORTRAN / 64bit
PC CYGWIN GFORTRAN / 32bit
PC CYGWIN GFORTRAN / 64bit
PC Linux GFORTRAN / 32bit
PC Linux GFORTRAN / 64bit
PC Linux Intel FORTRAN / 32bit
PC Linux Intel FORTRAN / 64bit
PC Linux g77 / 32bit
PC Windows Intel FORTRAN / 32bit
PC Windows Intel FORTRAN / 64bit
Sun Solaris SUN FORTRAN / 32bit
Sun/Intel Solaris SUN FORTRAN / 32bit
Sun/Intel Solaris SUN FORTRAN / 64bit
CSPICE:
Mac/Intel OS-X Apple C / 32bit
Mac/Intel OS-X Apple C / 64bit
PC CYGWIN gCC / 32bit
PC CYGWIN gCC / 64bit
PC Linux gCC / 32bit
PC Linux gCC / 64bit
PC Windows MS Visual C / 32bit
PC Windows MS Visual C / 64bit
Sun Solaris SUN C / 32bit
Sun Solaris SUN C / 64bit
Sun Solaris gCC / 32bit
Sun Solaris gCC / 64bit
Sun/Intel Solaris SUN C / 32bit
Sun/Intel Solaris SUN C / 64bit
Icy:
Mac/Intel OS-X Apple C / IDL 8.x / 32bit
Mac/Intel OS-X Apple C / IDL 8.x / 64bit
PC Linux gCC / IDL 8.x / 32bit
PC Linux gCC / IDL 8.x / 64bit
PC Windows MS Visual C / IDL 7.x / 32bit
PC Windows MS Visual C / IDL 7.x / 64bit
Sun Solaris SUN C / IDL 7.x / 32bit
Sun Solaris gCC / IDL 7.x / 32bit
Sun Solaris gCC / IDL 7.x / 64bit
Sun/Intel Solaris SUN C / IDL 8.x / 64bit
Mice:
Mac/Intel OS-X Apple C / MATLAB 7.x / 32bit
Mac/Intel OS-X Apple C / MATLAB 7.x / 64bit
PC Linux gCC / MATLAB 7.x / 32bit
PC Linux gCC / MATLAB 7.x / 64bit
PC Windows MS Visual C / MATLAB 7.x / 32bit
PC Windows MS Visual C / MATLAB 7.x / 64bit
Sun Solaris SUN C / MATLAB 7.x / 64bit
Scratch EK File Issue in Icy on PC/Windows
Optimization on PC Linux, Intel FORTRAN, 32bit
SPICELIB/CSPICE/Icy/Mice Additions and UpdatesNew Geometry Finder (GF) Routines
GFILUM (SPICELIB)
gfilum_c (CSPICE)
cspice_gfilum (ICY and MICE)
GFPA (SPICELIB)
gfpa_c (CSPICE)
cspice_gfpa (ICY and MICE)
GFSTOL (SPICELIB)
gfstol_c (CSPICE)
cspice_gfstol (ICY and MICE)
GFUDB (SPICELIB)
gfudb_c (CSPICE)
New SPK Constant Position/Velocity Observer/Target Routines
SPKCPO (SPICELIB)
spkcpo_c (CSPICE)
cspice_spkcpo (ICY and MICE)
SPKCPT (SPICELIB)
spkcpt_c (CSPICE)
cspice_spkcpt (ICY and MICE)
SPKCVO (SPICELIB)
spkcvo_c (CSPICE)
cspice_spkcvo (ICY and MICE)
SPKCVT (SPICELIB)
spkcvt_c (CSPICE)
cspice_spkcvt (ICY and MICE)
New Occultation and in FOV Condition Routines
FOVRAY (SPICELIB)
fovray_c (CSPICE)
cspice_fovray (ICY and MICE)
FOVTRG (SPICELIB)
fovtrg_c (CSPICE)
cspice_fovtrg (ICY and MICE)
OCCULT (SPICELIB)
occult_c (CSPICE)
cspice_occult (ICY and MICE)
New Illumination Angles Routines
ILLUMG (SPICELIB)
PHASEQ (SPICELIB)
phaseq_c (CSPICE)
cspice_phaseq (ICY and MICE)
New High-Level Frame Transformation Routine
PXFRM2 (SPICELIB)
pxfrm2_c (CSPICE)
cspice_pxfrm2 (ICY and MICE)
New High-Level State Transformation Routine
XFMSTA (SPICELIB)
xfmsta_c (CSPICE)
cspice_xfmsta (ICY and MICE)
Other New SPICELIB Interfaces
BLTFRM CHBIGR KPLFRM
LJUCRS SEPOOL UDF
Other New CSPICE Interfaces
bltfrm_c ccifrm_c dafgh_c
edterm_c eqncpv_c kplfrm_c
qcktrc_c spkpvn_c spksfs_c
trcdep_c trcnam_c udf_c
Other New Icy Interfaces
cspice_dafus cspice_dascls
cspice_dasopr cspice_dcyldr
cspice_dgeodr cspice_dlatdr
cspice_dpgrdr cspice_drdcyl
cspice_drdgeo cspice_drdlat
cspice_drdpgr cspice_drdsph
cspice_dsphdr cspice_edterm
cspice_eqncpv cspice_invort
cspice_spkpvn cspice_spksfs
cspice_spkw17
The following global parameter scripts were added to Icy:
IcyUser.pro
IcyOccult.pro
Other New Mice Interfaces
cspice_cidfrm cspice_cnmfrm
cspice_dafac cspice_dafbbs
cspice_dafbfs cspice_dafcls
cspice_dafcs cspice_dafdc
cspice_dafec cspice_daffna
cspice_daffpa cspice_dafgda
cspice_dafgn cspice_dafgs
cspice_dafopr cspice_dafopw
cspice_dafus cspice_dcyldr
cspice_dgeodr cspice_dlatdr
cspice_dpgrdr cspice_drdcyl
cspice_drdgeo cspice_drdlat
cspice_drdpgr cspice_drdsph
cspice_dsphdr cspice_dvpool
cspice_edlimb cspice_edterm
cspice_frame cspice_frinfo
cspice_frmnam cspice_inedpl
cspice_inelpl cspice_inrypl
cspice_invort cspice_namfrm
cspice_npedln cspice_npelpt
cspice_nplnpt cspice_pjelpl
cspice_pl2nvc cspice_pl2nvp
cspice_pl2psv cspice_psv2pl
cspice_spkcls cspice_spkopn
cspice_spkpvn cspice_spksfs
cspice_spkw08 cspice_surfpt
cspice_timdef_get cspice_timdef_set
cspice_vprjp cspice_vprjpi
cspice_vproj
The following global parameter scripts were added to Mice:
MiceUser.m
MiceOccult.m
SPK Type 19
SPK Type 19 routines (available only in SPICELIB):
SPKE19 SPKR19 SPKS19
SPKW19
SPK Type 20
SPK Type 20 routines (available only in SPICELIB):
SPKE20 SPKR20 SPKS20
SPKW20
SPK Type 21
SPK Type 21 routines (available only in SPICELIB):
SPKE21 SPKR21 SPKS21
SPKW21
PCK Type 20
This data type is provided to accurately represent ``EPM'' orientation data developed by the Institute of Applied Astronomy (IAA), Russian Academy of Sciences (RAS). PCK Type 20 routines are available in SPICELIB:
PCKE20 PCKR20 PCKW20
PCK Type 20 writer function available in CSPICE:
spkw20_c
CK Type 6
CK type 6 is an enhanced version of CK type 5. Type 6 enables creation of CK files representing the same attitude data that can be represented using type 5, but containing far fewer segments. CK Type 6 routines (available only in SPICELIB):
CKE06 CKGR06 CKMP06
CKNM06 CKR06 CKW06
SPKLTC
SPKW02, SPKW03, SPKW08, SPKW12
In these routines, there is now less strict error checking on the consistency of the time bounds of the input record set (determined by EPOCH1, STEP, and N) and the descriptor bounds FIRST and LAST. Now the descriptor end time may extend slightly beyond the stop time of the last input record. Speedup
Note that much of the speedup has been designed around the premise that the contents of the SPICELIB's POOL data buffer are not frequently modified via loading/unloading kernels or via direct POOL data insertion/deletion APIs during the program execution. Applications that constantly alter the POOL will not see any significant speedup and in some cases may even see a slight performance degradation (no more that 5 percent). Maximum Number of Loaded Kernels
Kernel Pool Double Precision Buffer Limit
CK Buffered Segment Limits
SPK Buffered Segment Limits
Built-in NAIF ID Code/Name Definitions
Spacecraft:
-750 SPRINT-AS
-189 NSYT
-189 INSIGHT
-170 JWST
-170 JAMES WEBB SPACE TELESCOPE
-144 SOLO
-144 SOLAR ORBITER
-96 SPP
-96 SOLAR PROBE PLUS
-64 ORX
-64 OSIRIS-REX
-54 ARM
-54 ASTEROID RETRIEVAL MISSION
-12 LADEE
-3 MOM
-3 MARS ORBITER MISSION
Planet Barycenter Aliases with ``_'':
0 SOLAR_SYSTEM_BARYCENTER
1 MERCURY_BARYCENTER
2 VENUS_BARYCENTER
3 EARTH_BARYCENTER
4 MARS_BARYCENTER
5 JUPITER_BARYCENTER
6 SATURN_BARYCENTER
7 URANUS_BARYCENTER
8 NEPTUNE_BARYCENTER
9 PLUTO_BARYCENTER
Satellites:
644 HYRROKKIN
904 KERBEROS
905 STYX
Comets:
1003228 C/2013 A1
1003228 SIDING SPRING
Asteroids:
2000002 PALLAS
2000511 DAVIDA
The following built-in NAIF ID code/name definitions have been removed
from the Toolkit:
-486 HERSCHEL
-489 PLANCK
-187 SOLAR PROBE
Built-in Body-Fixed Frames
IAU_CERES
IAU_PALLAS
IAU_LUTETIA
IAU_DAVIDA
IAU_STEINS
Toolkit Applications UpdatesBRIEF
Refer to the BRIEF User's Guide, brief.ug, for more information about the program. CKBRIEF
Refer to the CKBRIEF User's Guide, ckbrief.ug, for more information about the program. FRMDIFF
Refer to the FRMDIFF User's Guide, frmdiff.ug, for more information about the program. MKSPK
Refer to the MKSPK User's Guide, MKSPK.ug, for more information about the program. MSOPCK
Refer to the MSOPCK User's Guide, MSOPCK.ug, for more information about the program. SPKDIFF
Refer to the SPKDIFF User's Guide, SPKDIFF.ug, for more information about the program. Bug FixesSPICELIB -- SPKBSR, CKBSR, PCKBSR
SPICELIB -- CKE05
SPICELIB -- CKMETA
SPICELIB -- DASA2L
SPICELIB -- CCIFRM
SPICELIB -- NEARPT
SPICELIB -- SPKEZ/SPKEZP
SPICELIB -- TIME CONVERSION
FRMDIFF
MKSPK
MSOPCK
The program's down-sampling end-point selection algorithm was changed to not consider end-point quaternions that are close to 180 degrees apart to prevent cases in which the quaternion and matrix interpolation algorithms produce rotations in the opposite directions due to numerical differences in their algorithms. Version 64 --- June 2010EnvironmentsNew Environments
FORTRAN Toolkit:
Mac/Intel OS-X GFORTRAN / 64bit
Mac/Intel OS-X Intel FORTRAN / 64bit
PC Linux GFORTRAN / 64bit
PC Windows Intel FORTRAN / 64bit
Sun/Intel Solaris SUN FORTRAN / 32bit
CSPICE:
Mac/Intel OS-X Apple C / 64bit
PC Windows MS Visual C / 64bit
Sun Solaris SUN C / 64bit
Sun/Intel Solaris SUN C / 32bit
Sun/Intel Solaris SUN C / 64bit
Icy:
Mac/Intel OS-X Apple C / IDL 7.x / 64bit
PC Windows MS Visual C / IDL 7.x / 64bit
Mice:
Mac/Intel OS-X Apple C / MATLAB 7.x / 64bit
PC Windows MS Visual C / MATLAB 7.x / 64bit
Sun/Intel Solaris SUN C / MATLAB 7.x / 64bit
Complete List of Supported Environments
FORTRAN Toolkit:
Mac/Intel OS-X GFORTRAN / 32bit
Mac/Intel OS-X GFORTRAN / 64bit
Mac/Intel OS-X Intel FORTRAN / 32bit
Mac/Intel OS-X Intel FORTRAN / 64bit
Mac/PowerPC OS-X Absoft FORTRAN / 32bit
Mac/PowerPC OS-X g77 / 32bit
PC CYGWIN g77 / 32bit
PC Linux GFORTRAN / 32bit
PC Linux GFORTRAN / 64bit
PC Linux Intel FORTRAN / 32bit
PC Linux g77 / 32bit
PC Windows Compaq (Digital) FORTRAN / 32bit
PC Windows Intel FORTRAN / 32bit
PC Windows Intel FORTRAN / 64bit
PC Windows Lahey FORTRAN 95 / 32bit
Sun Solaris SUN FORTRAN / 32bit
Sun/Intel Solaris SUN FORTRAN / 32bit
CSPICE:
Mac/Intel OS-X Apple C / 32bit
Mac/Intel OS-X Apple C / 64bit
Mac/PowerPC OS-X Apple C / 32bit
PC CYGWIN gCC / 32bit
PC Linux gCC / 32bit
PC Linux gCC / 64bit
PC Windows MS Visual C / 32bit
PC Windows MS Visual C / 64bit
Sun Solaris SUN C / 32bit
Sun Solaris SUN C / 64bit
Sun Solaris gCC / 32bit
Sun Solaris gCC / 64bit
Sun/Intel Solaris SUN C / 32bit
Sun/Intel Solaris SUN C / 64bit
Icy:
Mac/Intel OS-X Apple C / IDL 7.x / 32bit
Mac/Intel OS-X Apple C / IDL 7.x / 64bit
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 7.x / 32bit
PC Windows MS Visual C / IDL 7.x / 64bit
Sun Solaris SUN C / IDL 7.x / 32bit
Sun Solaris gCC / IDL 7.x / 32bit
Sun Solaris gCC / IDL 7.x / 64bit
Mice:
Mac/Intel OS-X Apple C / MATLAB 7.x / 32bit
Mac/Intel OS-X Apple C / MATLAB 7.x / 64bit
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
PC Windows MS Visual C / MATLAB 7.x / 64bit
Sun/Intel Solaris SUN C / MATLAB 7.x / 64bit
Dynamically Linked Executables
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
GFRR determines time intervals when a specified
constraint on the observer-target range rate
is met.
GFUDS performs a GF search on a user defined scalar
quantity. This API is supported by two
additional routines UDDC and UDDF.
CSPICE High-Level GF APIs
gfrr_c determines time intervals when a specified
constraint on the observer-target range rate
is met.
gfuds_c performs a GF search on a user defined scalar
quantity. This API is supported by two
additional functions uddc_c and uddf_c.
Icy and Mice High-Level GF APIs
cspice_gfrr determines time intervals when a specified
constraint on the observer-target range rate
is met.
SPICELIB/CSPICE/Icy/MiceKernel Pool Variable Name Length Check
CK Buffered Segment Limits
SPK Buffered Segment Limits
Kernel Pool Double Precision Buffer Limit
SCLK Coefficient Record Limit
CK writer quaternion magnitude check
CKW01 (ckw01_c in CSPICE) (cspice_ckw01 in Icy and Mice) CKW02 (ckw02_c in CSPICE) (cspice_ckw02 in Icy and Mice) CKW03 (ckw03_c in CSPICE) (cspice_ckw03 in Icy and Mice) CKW05 (ckw05_c in CSPICE)has been relaxed from checking for a magnitude ``close'' to 1 to simply ensuring that the input quaternions are non-zero. New SPICELIB Interfaces
dvnorm calculates the derivative of the norm of a
3-vector.
dhfa calculates the value of the time derivative
of the half angle of a spherical body given
a state vector and body radius.
The following auxiliary APIs were added to SPICELIB:
bodc2s translates a body ID code to either the
corresponding name, or if no name to ID code
mapping exists, the string representation
of the body ID value.
New CSPICE Interfaces
ducrss_c computes the unit vector parallel to the
cross product of two 3-dimensional vectors,
and the derivative of this unit vector.
dvcrss_c computes the cross product of two
3-dimensional vectors and the derivative of
this cross product.
dvnorm_c calculates the derivative of the norm of a
3-vector.
The following lower-level DAF access APIs were added to CSPICE:
dafgsr_c reads a portion of the contents of a summary
record in a DAF file.
dafrfr_c reads the contents of the file record of
a DAF.
The following auxiliary APIs were added to CSPICE:
bodc2s_c translates a body ID code to either the
corresponding name, or if no name to ID code
mapping exists, the string representation
of the body ID value.
dp2hx_c converts a double precision number to an
equivalent character string using base 16
``scientific notation.''
hx2dp_c converts a string representing a double
precision number in a base 16 ``scientific
notation'' into its equivalent double
precision number.
New Icy Interfaces
cspice_ducrss computes the unit vector parallel to the
cross product of two 3-dimensional vectors
and the derivative of this unit vector.
cspice_dvcrss computes the cross product of two
3-dimensional vectors and the derivative of
this cross product.
cspice_dvnorm calculates the derivative of the norm of a
3-vector.
cspice_dvsep calculates the time derivative of the
separation angle between states.
The following auxiliary APIs were added to Icy:
cspice_bodc2s translates a body ID code to either the
corresponding name or if no name to ID code
mapping exists, the string representation
of the body ID value.
cspice_dp2hx converts a double precision number to an
equivalent character string using base 16
``scientific notation.''
cspice_hx2dp converts a string representing a double
precision number in a base 16 ``scientific
notation'' into its equivalent double
precision number.
New Mice Interfaces
cspice_ducrss computes the unit vector parallel to the
cross product of two 3-dimensional vectors
and the derivative of this unit vector.
cspice_dvcrss computes the cross product of two
3-dimensional vectors and the derivative of
this cross product.
cspice_dvdot computes the time derivative of the dot
product of two position vectors.
cspice_dvhat calculates the unit vector corresponding
to a state or states and the derivative of
the unit vector.
cspice_dvnorm calculates the derivative of the norm of a
3-vector.
cspice_dvsep calculates the time derivative of the
separation angle between states.
cspice_vnorm returns the magnitude of a double
precision, 3-dimensional array or set of
such arrays.
cspice_vperp calculates the component of a vector
perpendicular to a second vector.
The following EK-access APIs were added to Mice:
cspice_ekfind finds E-kernel data that satisfy a set of
constraints.
cspice_eknelt returns the number of elements in a
specified column entry in the current row.
cspice_ekgc returns an element of string (character)
data from a specified row in a specified
column of the set of rows matching
the previous cspice_ekfind query.
cspice_ekgd returns an element of double precision
data from a specified row in a specified
column of the set of rows matching
the previous cspice_ekfind query.
cspice_ekgi returns an element of integer
data from a specified row in a specified
column of the set of rows matching
the previous cspice_ekfind query.
The following time conversion APIs were added to Mice:
cspice_unitim returns the double precision value of
an input epoch converted from one uniform
time scale to another.
The following auxiliary APIs were added to Mice:
cspice_bodc2s translates a body ID code to either the
corresponding name, or if no name to ID code
mapping exists, the string representation
of the body ID value.
Built-in NAIF ID Code/Name Definitions
Spacecraft:
-5 AKATSUKI
-5 VCO
-121 BEPICOLOMBO
-177 GRAIL-A
-181 GRAIL-B
-202 MAVEN
-205 SOIL MOISTURE ACTIVE AND PASSIVE
-205 SMAP
-362 RADIATION BELT STORM PROBE A
-362 RBSP_A
-363 RADIATION BELT STORM PROBE B
-363 RBSP_B
Satellites:
550 HERSE
653 AEGAEON
Comets:
1000093 TEMPEL_1
Asteroids:
2000021 LUTETIA
2004179 TOUTATIS
DocumentationOverwriting Input Arguments Not Allowed
CYCLAD CYCLAI DUCRSS DVCRSS INVERT INVSTM MTXM MTXV MXM MXMT MXV PACKAC PACKAD PACKAI ROTMAT ROTVEC SAELGV UNORM UNORMG VADD VADDG VCRSS VHATG VMINUG VMINUS VPROJ VPROJG VSCL VSCLG VSUB VSUBG XPOSBL XPOSE XPOSEG Bug FixesKernel Pool Watcher Deletion in TKFRAM
Frame Change in CKGP
ROTGET Dynamic Frame ID
ZZEKQCON Initialization Error
ZZEKRD03 Memory Violation Error
EK Strings Longer Than 1024 Characters
A compromise solution was selected: EK routines that perform variable-length EK column entry string comparisons now treat only the first 1024 characters of strings as significant. The following private routines were updated to effect this change:
ZZEKECMP ZZEKFRX ZZEKSCMP ZZEKVMCHThis fix also corrects the substring boundary violations. RETURN Mode Logic in Various Routines
ILUMIN SPKAPO SPKEZ SUBPNT SUBSLR ZZSPKEZ0 ZZSPKEZ1 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 DocumentationPermuted 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 |