Table of Contents
Introduction
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
Top
Introduction
This document describes new and extended capabilities of the latest
version of the SPICE Toolkit. It also notes bug fixes. Each new version
of the Toolkit is documented in a separate chapter that is titled with
the version of the Toolkit. The most recent version of the Toolkit is
documented first. The next most recent version is documented next, and
so on.
The versions of the Toolkit changes described in this document are
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
Top
Version 61 --- December 2006
Top
Rules Regarding Use of SPICE Components
The rules regarding use of SPICE components have been updated to reflect
the new ITAR clearance for the SPICE toolkit, documentation and data.
Please see the RULES page of the NAIF website:
http://naif.jpl.nasa.gov/naif/rules.html for details.
Top
Environments
Top
New Environments
The SPICE Toolkit is now officially supported on these new 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
Top
Deprecated Environments
The SPICE Toolkit is no longer supported on these environments:
FORTRAN Toolkit:
HP UX-10 HP FORTRAN
Vax VMS Digital FORTRAN
CSPICE:
HP UX-10 HP C
Top
Complete List of Supported Environments
This is the complete list of environments on which the N0061 version of
the SPICE Toolkit is supported:
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
Top
Use of -fPIC/-KPIC Option
The CSPICE library provided with the CSPICE and ICY toolkits is now
compiled with the -fPIC or -KPIC option resulting in
position-independent code, suitable for dynamic linking all environments
that support it.
Top
Lahey Memory Issue Related to File Opening/Closing
Users of Lahey FORTRAN under the Windows operating systems should be
aware that the F95 compiler allocates a small amount of memory, in
connection with the process of using file OPEN and INQUIRE statements,
that it might not free at the end of the file manipulation process.
Since the simple opening of a binary kernel file can involve multiple
OPEN and INQUIRE statements, the result of this allocation is that if
the user were to open many (e.g. 100 or more) kernel files, an
application program could sequester memory that would not be freed as
expected. A virtual memory error message such as "A work area cannot be
reserved because of insufficient area" may result from this situation.
This can adversely affect the stability of the Windows operating system,
even after the user program is terminated.
We believe that this behavior affects all versions of SPICELIB,
including the N61 version. We are working with Lahey to resolve this
issue.
Top
Scratch EK File Issue in ICY on PC/Windows
An issue may exist when using EK scratch files from IDL under Microsoft
Windows. The cspice_ekcls call may fail to delete the scratch file
created by the cspice_ekops call. This file normally has a name style
similar to tmp.Fxxxxx. You can manually delete the file only after you
close the IDL application.
This problem does not affect use of the file or cause any known
instability to Icy.
Top
Documentation
Starting with N0061 every SPICE toolkit package comes with a complete
set of HTML documentation consisting of:
-- brief introduction to the SPICE system
-- overview of specifics of SPICE implementation for a given language (for
CSPICE and ICY only)
-- description of the Toolkit package layout and contents
-- language specific summary of Most Used SPICE APIs by category
-- complete reference guide for all public APIs, derived from the source
headers and provided with an alphabetical index
-- Permuted Index of all public APIs
-- complete set of Required Reading documents, provided with an index
-- complete set of User's Guide documents, provided with an index
All HTML documents in this set are cross-hyperlinked -- every instance
of an API name in Required Reading, index or other documents is linked
to the API HTML page derived from its source code header; every
reference to a Required Reading document in the API HTML pages, indexes
and other documents is linked to the Required Reading's HTML page, and
so on. In some cases HTML pages are also linked to the actual source
code modules, specifically from the Permuted Index document and from the
bottom of each of the each individual API pages.
The top level index file
doc/html/index.html
provides 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.
Top
New Applications
Top
MSOPCK
The MSOPCK program was added to the application set included in each
SPICE toolkit. This program converts attitude data provided in a text
file as UTC, SCLK, or ET-tagged quaternions, Euler angles, or matrices,
optionally accompanied by angular velocities, into a type 1, 2, or 3
SPICE C-kernel.
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.
Top
SPKDIFF
The SPKDIFF program was added to the application set included in each
SPICE toolkit. This program computes differences between geometric
states obtained from two SPK files and either displays these differences
or shows statistics about them.
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.
Top
SPICELIB/CSPICE/ICY
Top
KCLEAR Routine
A call to KCLEAR unloads all files loaded via FURNSH and clears the
kernel pool.
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.
Top
DAF Comment Area Routines
The former support library routines DAFAC, DAFDC, and DAFEC have been
moved into SPICELIB. These routines provide comment area access for
DAF-based files, such as SPK, CK, and binary PCK files. DAFAC appends to
the contents of a DAF's comment area text provided in a buffer. DAFDC
deletes all comments from the comment area. DAFEC extracts the contents
of the comment area into a buffer.
These routines are available in SPICELIB and CSPICE; they are not yet
supported in Icy.
Top
DAF-based Kernel Open Routines
The routines CKOPN, PCKOPN, and SPKOPN, which open new CK, binary PCK
and SPK kernels respectively, now are able to reserve a caller-specified
amount of space in the new file's comment area at the time of file
creation. This allows faster comment addition when comments must be
added after the kernel contains a large amount of data, since the data
need not be shifted to make room in the comment area.
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.
Top
DAFONW Routine
The routine DAFONW, which opens a new DAF, now initializes the DAF
comment area when comment area records are reserved. The comment records
are null-padded as before, but now the first character of the comment
area is initialized with the ``end-of-comments'' character. This
provides a correctly initialized empty comment area that can be accessed
by SPICE routines and utilities. Formerly this initialization had to be
carried out by the calling program.
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.
Top
SPKW02, SPKW03, and SPKW05 Routines
The restriction that the input reference frame should be inertial has
been removed from SPK Type 2, 3 and 5 writer routines SPKW02, SPKW03 and
SPKW05. Any application that calls there routines, including the MKSPK
program, can now create a type 2, 3, or 5 SPK file with data given with
respect to a non-inertial frame.
Top
Built-in NAIF ID Code/Name Definitions
The following new built-in NAIF ID code/name definitions have been added
to the Toolkit:
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
Top
CSPICE Only
Top
New Wrappers
The following interfaces to SPICE routines were added to CSPICE in this
release:
dafac_c dafdc_c dafec_c
dafgda_c dascls_c dasopr_c
kclear_c
Top
ICY (IDL interface to CSPICE) Only
Top
New Interfaces
NAIF added the following new Icy interfaces for this release:
cspice_appndd cspice_appndi cspice_badkpv
cspice_dafgda cspice_dascls cspice_dasopr
cspice_inter cspice_kclear cspice_valid
Top
Bug Fixes
Top
CKE05
Several functional changes were made to the CK type 5 evaluator CKE05.
These changes affect all CK type 5 subtypes EXCEPT subtype 1, which is
used by the Mars Express, Rosetta, Venus Express, and SMART-1 missions.
These changes are not expected to affect current SPICE users.
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.
Top
ET2LST
The bug for bodies with retrograde rotation causing the local time to
flow backwards has been fixed. The local time for all types of bodies
now progresses as expected -- midnight, increasing AM hours, noon,
increasing PM hours, next midnight, and so on.
Top
UNLOAD
The bug causing incorrect meta-kernel unloading was fixed. Formerly some
sequences of FURNSH and UNLOAD calls could cause UNLOAD to become unable
to unload meta-kernels correctly: in some cases, kernels referenced by
the meta-kernels were not unloaded when they should have been.
Top
STR2ET
Two bugs were fixed. The first bug caused the routine to return
incorrect results in some cases on calls following calls for which a
time zone was specified. The second bug caused the routine to generate a
memory violation exception for blank input strings on some environments
(HP).
Top
SURFPT
The ray's surface intercept is now always set to the ray's vertex when
the vertex is on the ellipsoid's surface. Formerly, for inward-pointing
direction vectors, the ray's point of egress from the ellipsoid was
selected as the intercept.
The new functionality is consistent with the routine's documentation,
which claims that the intercept closest to the ray's vertex is selected.
Top
CHRONOS
Two bugs were fixed. The first bug caused slightly incorrect computation
of the mean local second duration, which could have resulted in a leap
in the LST SOL counting. For landed Martian missions this bug would have
exhibited itself after approximately SOL 2100. The second bug prohibited
conversion from and to LST for local times a few seconds before
midnight, in the 23:59:00-23:59:59 range.
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.
Top
ICY
The bug causing a cascade of 'zzerror_c' strings prefixed to error
strings has been fixed.
Top
MKSPK
The bug causing the 8th input equinoctial element (DMPN/DT) to be
assigned to the 8th (DMPN/DT) and 9th (DNOD/DT) equinoctial elements
stored in the output SPK file when the first six equinoctial elements
were derived from input states or classical elements was fixed.
Top
Version 60 --- December 2005
The sole purpose of this version is to fix the bug described below. In
all other aspects the N0060 Toolkit is the same as the N0059 Toolkit.
Top
Bug Fixes
Top
Access to High Precision Binary Earth PCK
On December 13, 2005, a significant bug was found in the Fortran, C, and
IDL N0059 SPICE Toolkits: this bug results in corruption of data read
from high precision binary earth PCK files.
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.
Top
Version 59 --- November 2005
Top
Rules Regarding Use of SPICE Components
The rules regarding use of SPICE components, already very minimal, have
been further relaxed and better articulated. Please see the RULES page
of the NAIF website: http://naif.jpl.nasa.gov/naif/rules.html for
details.
Top
Environments
Top
New Environments
The SPICE Toolkit is now officially supported on Sun/Solaris/64bit gcc
environment.
Top
Supported Environments
This is the complete list of environments on which the N0059 version of
the SPICE Toolkit is supported:
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
Top
Optimization for C/ICY environments
Optimization -O2 or equivalent is now used to compile CSPICE for all
supported C and ICY environments.
Top
Lahey Memory Issue Related to File Opening/Closing
Users of Lahey FORTRAN under the Windows operating systems should be
aware that the F95 compiler allocates a small amount of memory, in
connection with the process of using file OPEN and INQUIRE statements,
that it might not free at the end of the file manipulation process.
Since the simple opening of a binary kernel file can involve multiple
OPEN and INQUIRE statements, the result of this allocation is that if
the user were to open many (e.g. 100 or more) kernel files, an
application program could sequester memory that would not be freed as
expected. A virtual memory error message such as "A work area cannot be
reserved because of insufficient area" may result from this situation.
This can adversely affect the stability of the Windows operating system,
even after the user program is terminated.
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.
Top
Scratch EK File Issue in ICY on PC/Windows
An issue may exist when using EK scratch files from IDL under Microsoft
Windows. The cspice_ekcls call may fail to delete the scratch file
created by the cspice_ekops call. This file normally has a name style
similar to tmp.Fxxxxx. You can manually delete the file only after you
close the IDL application.
This problem does not affect use of the file or cause any known
instability to Icy.
Top
SPICELIB/CSPICE/ICY
Top
Loading of Non-Native Text Kernels Files
Starting with this version of the toolkit, the CSPICE and ICY text
kernel loaders, furnsh_c/cspice_furnsh and ldpool_c/cspice_ldpool, can
read and parse non-native text files. Unfortunately this capability
cannot be provided in FORTRAN instances of the Toolkit.
Please be aware the CSPICE text file reader, rdtext_c, does not possess
the capability to read non-native text files.
Top
Additional Testing
A large amount of additional testing of existing SPICE interfaces and
capabilities was performed during preparation of this version of the
toolkit. This testing uncovered a small number of bugs, all of which
have been fixed for this release (see Section ``Bug Fixes'' below.)
Top
Deprecation of BODVAR in favor of BODVRD and BODVCD
Routine BODVAR has been deprecated due to deficiency of its interface
and a possibility that it may cause memory violation when used to
retrieve data for incorrectly formed text kernel keywords. Routines
BODVCD and BODVRD should be used instead of it.
Top
``In Place'' Routines
A number of routines parallel to existing interfaces but utilizing the
same argument for both input and output were added to SPICELIB (FORTRAN
Toolkit). These routines are:
cyacip.for
cyadip.for
cyaiip.for
vhatip.for
vsclip.for
xpsgip.for
Top
SPK Segment Buffer Increase
The SPK segment buffer size was increased to 30,000 to allow more
efficient read access to SPK files containing a large number of
segments, such as SPK files produced by ESA's Mars Express project.
Top
EK Buffer Increased
Buffers facilitating EK access have been increased to provide more
efficient read access to EK files containing a large numbers of records,
such as EK files produced by the Cassini project.
Top
Built-in NAIF ID Code/Name Definitions
The following new built-in NAIF ID code/name definitions have been added
to the Toolkit:
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
Top
Documentation
The PCK Required Reading document has been revised.
Top
CSPICE
Top
New Wrappers
The following interfaces to SPICE routines were added to CSPICE in this
release:
bodvcd_c.c
qdq2av_c.c
qxq_c.c
srfrec_c.c
Top
ICY (Interactive Data Language interface to CSPICE)
Top
Vectorization
NAIF modified the function of several Icy routines to support vectorized
variables (in the IDL sense) as input and output.
cspice_illum cspice_insrtd cspice_insrti cspice_oscelt
cspice_sce2c cspice_srfrec cspice_srfxpt cspice_subpt
cspice_removd cspice_removi
Top
New interfaces
NAIF added the following new Icy interfaces for this release:
cspice_bodvcd cspice_diff cspice_insrtd cspice_insrti
cspice_qdq2av cspice_qxq cspice_removd cspice_removi
cspice_sdiff cspice_set cspice_srfrec cspice_union
Top
Bug Fixes
Top
Non-standard Use of Duplicate Arguments in FORTRAN
A large number of SPICELIB routines has been revised to eliminate
non-standard use of duplicate arguments in calls to other routines.
Though this use did not pose any problems or cause any errors in the
earlier Toolkit versions, it prevented use of optimization on some
environments. With these changes optimization is now used in building
all CSPICE and ICY Toolkits.
Top
NEARPT
A bug related to the scale of transverse component of error vector was
corrected for the exterior point case.
Top
ET2LST
The treatment of planetographic longitude has been updated to be
consistent with the SPICE planetographic / rectangular coordinate
conversion routines. The effect of this change is that the default sense
of positive longitude for the moon is now east; also, the default sense
of positive planetographic longitude now may be overridden for any body.
Top
GETFOV
A bug causing incorrect computation of the boundary vectors for a
rectangular FOV specified using the angular extents method has been
fixed. In the previous versions for cases when the reference vector was
provided as a non-unit vector and/or was non-perpendicular to the
specified boresight the boundary vectors returned by the routine were
computed incorrectly.
Top
CKW03
A check verifying that the start time of the first interval is the same
as the time of the first pointing instance has been added.
Top
INEDPL
Error detection for the case of invalid input plane was added.
Top
INSRTC
The routine was changed in such way that when the item to be inserted
would, after truncation to the set's string length, match an item
already in the set, no insertion is performed. Previously the truncated
string was inserted, corrupting the set.
Top
String Parsing Routines
Routines lparse.for, lparsm.for, and lparss.for were modified to avoid
out-of-range substring bounds conditions.
Top
Version 58 --- January 2005
Top
Environments
The SPICE Toolkit is now officially supported on PC/CYGWIN/g77 and
PC/CYGWIN/gCC environments and no longer supported on SGI and DEC Alpha
computers.
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
Top
SPICELIB/CSPICE/ICY
Top
Parameterized Dynamic Frames
The SPICE frame system now supports parameterized dynamic frames: frames
for which orientation is based on dynamic directions computed using
SPICE kernel data (SPKs, CK, PCKs), on mathematical models implemented
in SPICE routines, or on formulas defined in frame kernels.
Parameterized dynamic frames are grouped into ``families'' according to
the method by which they're defined.
Currently supported dynamic frame families are:
-- Two-vector frames: these are defined by pairs of vectors. The vectors may
be position vectors, velocity vectors, observer-target near point vectors,
or constant vectors.
-- Mean equator and equinox of date frames.
-- True equator and equinox of date frames.
-- Mean ecliptic and equinox of date frames.
-- Euler frames: these are defined by angles specified as polynomial functions
of time.
Currently ``of date'' frames are supported only for the earth.
The Frames Required Reading documents the new capability and contains
numerous examples of dynamic frame kernel definitions.
Top
CK/SPK Coverage Summary Routines
The new CK and SPK coverage determination routines CKCOV and SPKCOV
provide an API via which an application can find the time periods for
which a specified CK or SPK file provides data for, respectively, an
instrument or body of interest. The coverage information is a set of
disjoint time intervals returned in a SPICE ``window'' data structure.
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.
Top
Planetographic Coordinate Conversion Routines
The new planetographic coordinate conversion routines RECPGR and PGRREC
support conversion between rectangular and planetographic coordinates.
The planetographic Jacobian matrix routines DRDPGR and DPGRDR provide
the derivative matrices for these transformations (used for coordinate
transformations of velocities).
These new APIs are supported by SPICELIB, CSPICE, and Icy.
Top
``L-sub-S'' Solar Longitude Routine
The new routine LSPCN computes the planetocentric longitude of the sun
(often called ``L-sub-S'' or ``Ls'') for a specified body and time. This
quantity is typically used as an approximate ``time of year'' indicator.
The new API is supported by SPICELIB, CSPICE, and Icy.
Top
Built-in NAIF ID Code/Name Definitions
The following new built-in NAIF ID code/name definitions have been added
to the Toolkit:
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
Top
Documentation
FRAMES.REQ has been re-structured and augmented with an extensive
description and examples of the new parameterized dynamic frames family.
Top
CSPICE
Top
New Wrappers
The following new miscellaneous interfaces to SPICE routines were added
to CSPICE in this release:
bods2c_c.c dafopw_c.c dafps_c.c dafrs_c.c
Top
ICY (Interactive Data Language interface to CSPICE)
Top
Vectorization
NAIF modified the function of several Icy routines to support vectorized
variables (in the IDL sense) as input and output.
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
Top
Windows
Icy now includes interfaces to the full set of CSPICE window routines.
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
Top
Other new interfaces
The following new miscellaneous interfaces to SPICE routines were added
to ICY in this release:
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
Top
Bug Fixes
Top
MKSPK Processing of TLE
A MKSPK bug causing the program to process improperly formatted TLE
files without signaling an error and producing output SPK containing bad
data was fixed.
Top
MKSPK Adding Comments When Appending to Existing SPK
A MKSPK bug causing the program, in some rare circumstances, to signal
an error when adding comments to an existing SPK file was fixed.
Top
A bug that caused the interface to fail to release allocated memory when
the FRAMEMISSING error signaled was fixed.
Top
A bug causing the DVPOOL routine to not delete a specified kernel pool
variable in some cases was fixed.
Top
CSPICE/kdata_c Function
A number of typos in the example provided in the header of the routine
were corrected.
Top
A bug causing the FRINFO routine to treat any frame with a negative ID
code and a frame definition not provided in the kernel pool as a
CK-based frame was fixed. Now, instead of returning ``manufactured''
attributes of a CK-based frame, the routine will generate an error for
such inputs.
Top
Version 57 --- March 2004
Top
Environments
The N0057 version of the SPICE Toolkit is supported on the same
environments as version N0056.
Top
Icy
The N0057 version offers the first official release of Icy, the
interface to the CSPICE library from Interactive Data Language (IDL), a
product of Research Systems, Inc. (RSI, http://www.rsi.com). If Icy was
provided with this package, refer to ``icy.req'' document and to the Icy
HTML documentation pointed to by ``doc/html/index.html'' for more
details.
Top
SPICELIB/CSPICE
Top
SRFXPT
This new routine computes the surface intercept point of a specified ray
on a target body at a specified epoch, optionally corrected for light
time and stellar aberration. Its purpose is the same as for the SPICE
routine SURFPT but unlike SURFPT is provides a much more flexible
interface and computes geometry adjusted for light time and stellar
aberration to the surface point rather than to the center of the target
body. Therefore for most cases this routine makes SURFPT obsolete.
Currently SRFXPT supports only the ellipsoid shape for target bodies but
in the future it may be extended to support digital terrain models.
Top
Support for Satellite IDs in the Range 10000-99999
NAIF PCK data access routines have been modified to recognize satellites
with IDs in the 10000-99999 range.
Top
Detection of Non-native Text Files
The SPICE data loading mechanism was extended to detect and prohibit
loading text kernel files containing lines terminated with EOF
character(s) non-native to the platform on which the Toolkit was
compiled. If a non-native EOL terminator is detected in the first 132
characters of a text kernel, the execution is stopped and an error
message is displayed. This feature does not work with files that are
smaller that 132 bytes or have the first line longer that 132
characters.
Top
Documentation
The Toolkit may now optionally include documentation in HTML format. It
is provided in the ``doc/html'' subdirectory and is pointed to by the
top level index file
doc/html/index.html
The 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.
Top
Built-in NAIF ID Code/Name Definitions
The following new built-in NAIF ID code/name definitions have been added
to the Toolkit:
Spacecraft:
-79 SPITZER
Asteroids:
2000216 KLEOPATRA
Top
INSPEKT
INSPEKT was updated to generate comma-delimited reports. This output
format can be set using the ``SET FORMAT DELIMITED ...'' command. See
INSPEKT on-line help for more details.
Top
TOBIN
TOBIN was modified to detect and prohibit processing input transfer
files containing lines terminated with EOF character(s) non-native to
the platform on which the Toolkit was compiled.
Top
Version 56 --- August 2003
Top
Environments
The N0056 version of the SPICE Toolkit is supported on the same
environments as version N0055 except the following ``Classic'' Mac
environments:
Macintosh MacOS9 Absoft FORTRAN
Macintosh MacOS9 Metrowerks Codewarrior C
Contact NAIF if you wish to obtain the Toolkit for these two deprecated
environments.
Top
SPICELIB/CSPICE
Top
Documentation
The headers of 20+ of the most often used routines have been revised for
one or more of the following reasons:
-- to correct technical errors,
-- to add pertinent new information,
-- to correct grammar and/or spelling,
Top
Built-in NAIF ID Code/Name Definitions
The following new built-in NAIF ID code/name definitions have been added
to the Toolkit:
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
Top
CHRONOS
CHRONOS utility program has been modified to allow loading kernel files
using FURNSH kernel pool keywords and to accept all setup information
from the command line.
Top
Bug Fixes
Top
Reading Files with MAC-OSX Absoft FORTRAN Toolkit
Low level read routines were fixed to make sure that the OSX Absoft
FORTRAN SPICE toolkit can read files not owned by the user.
Top
DAS Scratch Files
DASCLS routine has been modified to call the routine flushing DAS
buffers before closing scratch DAS files. Failing to free the buffers
caused write errors on HP/FORTRAN systems.
Top
Argument Checking in CSPICE Error Handling Functions
The errprt_c, errdev_c, and erract_c functions were updated to diagnose
invalid operation keyword input.
Top
Version 55 --- March 2003
Top
Environments
The N0055 version of the SPICE Toolkit is supported on the same
environments as version N0054.
Top
SPICELIB
Top
SPKW01
SPK type 1 writer routine has been added.
Top
DASCLS
Scratch files no longer have their buffered portions flushed and are no
longer segregated before before being closed. This change speeds up the
close operation.
Top
SPKBSR
Segment buffer size was increased from 2000 to 10000 to improve
efficiency when handling SPK files with large number of segments.
Top
Kernel POOL
The buffer that stores distinct numeric data items from the text kernel
files was increased. The new buffer size is 20000, which is the maximum
total number of values for all numeric scalar and array pool variables
together.
Top
Type 1 SCLK
The buffer that stores Type 1 SCLK coefficients was increased. The new
buffer size is 10000.
Top
CSPICE
Top
New CSPICE wrappers
Wrappers dasac_c and dasec_c have been added to CSPICE. These support
DAS file comment area access.
Top
Bug Fixes
Top
Built-in NAIF ID Code/Name Definitions
The following built-in NAIF ID code/name definitions have been corrected
to match official MER name-ID mapping:
-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.
Top
DASCUD
DASCUD has been fixed so that it writes a new, empty cluster directory
record at the correct location. This corrects an error introduced by a
bug fix in N0054.
Top
OSCELT
OSCELT has been fixed so that it computes the argument of periapse
correctly when the inclination is zero or 180 degrees. The mean anomaly
computation has been corrected so that it works for circular and
near-circular orbits. The computation of inclination has been changed to
use ATAN2 for improved accuracy. Code that could generate arithmetic
exceptions was corrected. Several new error checks have been added.
Top
CKE05
Angular velocity computations for subtypes 0 and 1 have been changed to
make them compatible with those used by the MEX/Rosetta attitude file
interpolation algorithms.
Top
CKBRIEF
CKBRIEF has been updated to retrieve and display interpolation interval
information from Type 2 CK files correctly in all cases.
Top
Version 54 --- December 2002
Top
Mailing Lists
NAIF has created 2 mailing lists, ``Spice_announce''
http://naif.jpl.nasa.gov/mailman/listinfo/spice_announce
and ``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.
Top
Environments
The N0054 version of the SPICE Toolkit is supported on the same
environments as version N0053.
Top
COOKBOOK Programs
FORTRAN and C versions of the COOKBOOK programs have been made more
consistent in implementation and behavior. User's Guide documents for
COOKBOOK programs have been updated and are now delivered with both
FORTRAN and C toolkits. The FSTSPK COOKBOOK program has been deprecated
and is no longer delivered.
Top
New Built-in NAIF ID Code/Name Definitions
The following new built-in NAIF ID code/name definitions have been added
to the toolkit:
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
Top
Documentation
User's Guide documents for TOBIN, TOXFR and VERSION utility programs
have been added to the toolkit documentation.
Top
Bug Fixes
Top
Built-in Body-Fixed Frame for Pan
Definition of the built-in body-fixed frame for PAN (IAU_PAN) has been
updated to point to the correct PCK values used to compute its rotation.
In the previous version of the toolkit it was pointing to PANDORA's
rotation constants.
Top
Surface Intercept Routine
The surface intercept routine SURFPT/surfpt_c has been re-implemented to
reduce loss of precision.
Top
DAS Writer Routines
DAS utility routine DASCUD has been fixed to ensure that DAS file
structure is correct when files are closed without data segregation.
Previously it was possible for unsegregated files to have an invalid
final forward directory pointer. Note: this problem could not occur in
E-kernels created by SPICE utility programs or using the SPICE EK API
routines.
Top
CSPICE Cell Implementation
The CELLINIT macro has been updated so that it doesn't modify data added
to character cells prior to cell initialization. This enables population
of uninitialized character cells via macro calls.
Top
Body Name to Associated Frame Conversion Routine
The routine CNMFRM retrieving the reference frame name for a specified
body name has been fixed so a TK frame specified by name and designated
as an object's preferred frame via kernel pool assignments is found, and
so that the correct name of this frame is returned.
Top
CHRONOS
CHRONOS has been updated to make sure that the iterative search for the
nearest local midnight converges in all cases. It has also been updated
to use the maximum system allowed file name length on VAX and DEC Alpha
environments.
Top
Version 53 --- September 2002
Top
Environments
The N0053 version of the SPICE Toolkit is supported in the following
environments:
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 FORTRAN
The 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.
Top
CSPICE
Top
New CSPICE wrappers for cell, set, and windows routines
The complete set of C wrappers duplicating cell, sets, and windows
capabilities existing in FORTRAN SPICE has been added to CSPICE.
Top
New CSPICE wrappers for sorting and searching routines
The following new CSPICE wrappers implementing sorting and searching
capabilities have been added:
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
Top
New CSPICE wrappers for string manipulation and parsing routines
The following new CSPICE wrappers for string manipulation and parsing
capabilities have been added:
cpos*_c.c
pos*_c.c
ncpos*_c.c
kxtrct_c.c
lpars*_c.c
lx4*_c.c
lxqstr_c.c
repm*_c.c
Top
SPICELIB
Top
SPK Type 18
A new SPK type (Type 18) has been added. This incorporates ESA/ESOC
model for a spacecraft ephemeris.
Top
CK Type 5
A new CK type (Type 5) has been added. This incorporates ESA/ESOC model
for a spacecraft attitude data.
Top
BRIEF
BRIEF utility has been updated to allow summarizing SPKs containing
ephemerides for up to 20,000 distinct bodies.
Top
COOKBOOK
COOKBOOK programs have been updated to use the highest level routines
currently available in SPICE -- FURNSH, SUBPT, etc.
Top
Bug Fixes
Top
ID-to-name Translation
SPICE's ID-to-name mapping subsystem has been updated to provide
consistent behavior across all of its interfaces. It now correctly
processes duplicate ID-to-name mapping assignments provided via text
kernel files. Refer to the NAIF_IDS Required Reading for more details.
Top
Built-in Body-Fixed Frames
Missing body-fixed frames -- IAU_PAN, IAU_GASPRA, IAU_IDA, and IAU_EROS
-- have been added to the built-in frame set.
Top
Binary architecture consistency check at run-time
Binary file format consistency check has been implemented at run time to
verify that the toolkit prepared specifically for a platform with one
binary file format has not been compiled/used on a platform with another
binary file format.
Top
Long/truncated lines in text kernel files
The text kernel file reader has been modified to correctly process
truncated string value assignments.
Top
VMS Read-Only Access File Open Failure
A bug in the DAF system preventing users on VMS systems from loading
SPK, CK and binary PCK files with the read-only attribute(*) has been
fixed.
Top
Version 52 --- January 2002
Top
Environments
The N0052 version of the SPICE Toolkit is supported on the following
environments:
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 Fortran
The 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 GCC
Contact NAIF if you wish to obtain the Toolkit for one or more of these
deprecated environments.
Top
SPICELIB
Top
Run-Time Binary File Format Translation
The most popular supported systems (including Macintosh, PC, and UNIX
platforms) are now capable of accessing data in binary SPICE kernel
files from other platforms directly without using transfer format. But
note that binary files from other platforms are only available for read
access. See the Convert User's Guide for specifics and details.
Top
Open File Limit Increase
The sum of loaded SPK, CK, and binary PCK files, all of which are
implemented using the DAF file architecture, may now reach 1000.
Previous versions of the toolkit restricted the number of loaded DAFs to
20. But caution: loading large numbers of files may impact system
performance.
Top
SPK aberration corrections
SPK readers can now perform aberration corrections for transmitted, as
well as received, radiation. This feature makes it simple to compute the
direction in which radiation must be emitted in order to reach a
specified target.
The headers of the SPK readers have been expanded to explain aberration
corrections in greater detail.
Top
Instrument Kernel Support
GETFOV was extended to compute boundary corners from FOV definitions in
the kernel pool utilizing the new ANGLES specification. See GETFOV's or
getfov_c's header for details.
Top
Kernel POOL
The buffers that store text kernel data were increased. The new maximums
are:
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.
Top
Jacobian routines
Routines have been added for computing the Jacobians of the
transformations between rectangular and the following coordinate
systems:
cylindrical
geodetic
latitudinal
spherical
The 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
Top
NAIF ID to Object Name Mapping
The NAIF IDs for the following missions has been added to the set of IDs
built into SPICE:
CONTOUR
LUNAR-A
DRTS-WC
MARS EXPRESS
DEEP IMPACT
STARLIGHT
MER
Top
Documentation
DAS and EK Required Reading documents have been added to the SPICE
Toolkit.
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.
Top
CSPICE
Top
New CSPICE wrappers for EK routines
CSPICE wrappers have been added to support record-oriented EK
manipulation, including record-oriented writing, updating, and reading.
CSPICE wrappers have been added to provide summary capabilities for
loaded EK tables.
Top
Miscellaneous new CSPICE wrappers
Some new CSPICE wrappers have been added:
frmnam_c
inelpl_c
namfrm_c
Top
CKBRIEF
A capability to display a separate record for each interpolation
interval in each segment of a Type 2 or Type 3 CK file has been added to
the program. This capability is implemented using the ``-dump'' command
line option.
Top
COMMNT
An inconsistency between the program's functionality in interactive and
command line modes has been fixed. The maximum length of a comment line
that can be added to and extracted from the comments in either mode is
now the same and is equal to 1000 characters.
Top
MKSPK
The program was modified to allow appending new data segments to an
existing SPK file.
Top
VERSION
The interface of this utility program has been extended: a command line
parameter causing the program to display additional library information
has been added. See ``version -help'' for details.
Top
Bug Fixes
Top
CK, PCK, and SPK segment buffering and selection
Several bugs have been corrected in the modules CKBSR, PCKBSR, and
SPKBSR. These bug fixes enable users to load more segments than can be
buffered at once by these modules. However, the best run-time speed is
still obtained when all segments of a given kernel type can be buffered.
The current segment buffer sizes are:
CK: 4000 segments
SPK: 2000 segments
PCK: 100 segments
Top
Const-qualification for various CSPICE interfaces
A number of CSPICE function interfaces have been updated to add
const-qualification of input arrays. This fix enhances compatibility
with C++ applications.
Top
CSPICE function gcpool_c fixed
This routine did not properly trim trailing blanks from values in its
output array.
Top
MOVED fix for Fortran PC Linux platform
In some cases the routine MOVED incorrectly copied double precision
numbers whose values were assigned via EQUIVALENCE statements with pairs
of integers. This could happen when the integer bit patterns did not
correspond to valid double precision numbers. This problem prevented
correct manipulation of some DAF segment descriptors.
Top
EK query processing using LIKE operator and null values
Null values could be returned in some rare circumstances when a query
employed the LIKE operator to compare scalar string column entries
against a specified string value, and a null column entry was compared.
Top
EK time conversion
The EK time parsing code handled SCLK values incorrectly when the string
``SCLK'' appeared in the name of the clock.
Top
EK documentation
Various headers have been updated to indicate that query-and-fetch
operations and EK fast writer operations may not be interleaved.
Top
Source code clean-up
Miscellaneous problems triggering annoying but insignificant compilation
warnings have been fixed. Various files have had TAB characters removed.
Others have had final newline characters added.
Top
Version 51 --- April 2000
Top
SPICELIB
Top
Instrument Kernel Support
The routine GETFOV was added to the Toolkit. It returns information
describing the shape, size, boresight, and orientation of the field of
view for traditional remote sensing instruments.
Top
Binary Kernel Recognition
The routine GETFAT was upgraded to use a more robust algorithm for
identifying the type (SPK or CK) of inadequately labeled binary kernels.
This modification is critical for Mars project SPICE customers who wish
to use the SPICELIB utility FURNSH when loading binary kernels.
Top
CK
A new representation for the orientation of spacecraft structures has
been added to the C-kernel system. C-kernel data type 04 provides a
flexible and compact method for representing the attitude of structures
by using Chebyshev polynomials to fit orientation data or models.
Top
SPK
Two new representations for position and velocity of objects have been
added to the SPK system. Types 12 and 13 provide for the Hermite
interpolation of states from series of state vectors. See the SPK
Required Reading for further details.
Top
Miscellaneous
The list of names recognized by BODTRN was enhanced to support the
identification of the "Cluster" spacecraft (1,2,3 and 4) as well as the
Pluto-Kuiper Express spacecraft and simulation.
Top
MKSPK
The utility program MKSPK has been added to the general release of the
SPICE Toolkit. This allows SPICE customers to more easily generate SPK
files from tabular ephemeris information. See the User's Guide
(mkspk.ug) for details on the use of MKSPK.
Top
SPKMERGE
The program was upgraded to correct an "infinite loop" that existed in
rare cases on some platforms.
Top
Bug Fixes
Although it is unlikely that most users will notice any difference, a
number of minor bug corrections have been incorporated:
-- The kernel pool software was modified to detect and handle string
specifications that are too long to be stored in the kernel pool.
-- The time parsing software (used by STR2ET) was enhanced so that erroneous
long strings will be diagnosed as erroneous and no longer cause a run-time
error.
Top
Version 50 --- October 1999
Top
CSPICE
Version 50 of the SPICE Toolkit includes a C language edition of the
Toolkit. This provides a C language interface to the Toolkit and
duplicates the FORTRAN capabilities. SPICE users interested in a C
version of the Toolkit should specifically request the CSPICE version.
Moreover, C users should read the document "CSPICE User's Guide" which
addresses issues regarding the translation of the FORTRAN Toolkit to C.
Top
Additions and Extensions to SPICE routines
Top
Loading Kernels
The new routine FURNSH provides a single uniform interface for loading
all SPICE kernels. In addition, the new interface allows you create a
"meta-kernel" listing which SPICE kernels should be loaded. When this
"meta-kernel" is supplied to FURNSH, all listed kernels will be loaded
into the appropriate SPICE subsystems. It is anticipated that this new
interface will substantially ease the problem of managing and loading
SPICE 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.
-
KTOTAL
-
returns the number of kernels that are currently available to your
program as a result of previous calls to FURNSH and UNLOAD.
-
KDATA
-
provides an interface for retrieving (in order of their specification
through FURNSH) kernels that are active in your application.
-
KINFO
-
allows you to retrieve information about a loaded kernel using the name
of that kernel.
-
UNLOAD
-
provides an interface for unloading kernels that have been loaded via
the routine FURNSH.
FORTRAN users should consult the header for the routine KEEPER for
details on the use of these routines. C users should see the specific
files furnsh_c.c, ktotal_c.c, kdata_c.c, kinfo_c.c and unload_c.c
Top
Position Only Interface.
The Frames and SPK subsystems have been extended to provide a "position
only" interface. The user level routines in the extension are:
-
SPKPOS
-
returns the 3-vector giving the location of one object as seen from
another corrected for light time and stellar aberration (if requested
by the user) in the user specified reference frame.
-
PXFORM
-
returns the 3x3 matrix that transforms positions from one reference
frame to another as a function of time.
These routines run slightly faster than their position and velocity
counter parts: SPKEZR and SXFORM. In addition they allow you to use
C-kernel based frames when the C-kernel does not contain angular
velocity data.
See the routines PXFORM and SPKPOS for details on their use.
Top
ID-codes
The name/ID-code translation routines (BODN2C and BODC2N) have been
extended so that users may add missing name/ID-code mappings to SPICE
text kernels. Using this new capability, users can extend the built-in
name/ID-code mapping by simply loading an appropriate SPICE text kernel
with the interface FURNSH.
Top
Kernel Pool Enhancements
Several new kernel pool interfaces have been provided
-
STPOOL
-
Allows storage of long string valued variables through use of a
continuation character.
-
PCPOOL
-
Allows the insertion of a character variable directly into the kernel
pool without supplying a text kernel.
-
PDPOOL
-
Allows the insertion of a double precision variable directly into the
kernel pool without supplying a text kernel.
-
PIPOOL
-
Allows the insertion of an integer variable directly into the kernel
pool without supplying a text kernel.
-
LMPOOL
-
Similar to LDPOOL, but the text kernel is stored in an array of strings
instead of an external file.
-
SZPOOL
-
allows run time retrieval of kernel pool memory parameters.
-
DVPOOL
-
allows deletion of a specific variable from the kernel pool.
-
GNPOOL
-
assists in determining which variables are defined in the kernel pool
via variable name template matching.
Top
Continuous Spacecraft Clocks
The Spacecraft Clock system has been extended so that "ticks" can be
modeled continuously instead of discretely. See the SCLK required
reading for more details.
Top
Bad FTP File Transfer Detection
SPICE binary kernels have been enhanced so that Toolkit software can
detect whether a binary kernel has been transferred using ASCII instead
of BINARY transfer mode. Note that only SPICE binary kernels produced
with the N0050 (or later) version of the SPICE Toolkit will have
features required for this diagnosis.
Top
CK Writer Enhancements
The SPICE C-kernel writers have been enhanced to check that quaternions
supplied to the writer are indeed nearly unit length. This check allows
detection of programming errors earlier in the kernel production
process.
Top
Bugs
No bugs were identified between version N0049 and N0050 of the Toolkit.
However, users may notice that several routines have minor changes. The
main reasons for code changes are:
1. Extending the range of inputs that can be handled by SPICE routines.
2. Balancing the use of the SPICE error handling Check-in/Check-out tracing
mechanism.
3. Removal of unused variables.
4. Corrections in grammar, spelling and other typographic errors in the
headers of SPICE routines.
Top
SPICE Utility Programs
Top
TOBIN
The utility program TOBIN which converts transfer format kernels to
binary form, can now process transfer format kernels that have been
wrapped with SFDUs.
Top
COMMNT
COMMNT now accepts command line arguments making it usable from user
scripts.
Top
CKBRIEF
CKBRIEF is a new utility that allows you to quickly summarize a C-kernel
in a manner similar to the summary capabilities provided by the SPK
summary tool, BRIEF.
Top
MKSPK
MKSPK is a utility program that allows users to generate SPK files from
appropriate and suitably tabularized position and velocity information.
Top
Documentation
Many SPICE documents were edited and brought up to date. Most notable of
these is the document KERNEL.REQ which discusses SPICE text kernels and
the use of the kernel pool.
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.
Top
Version 49 --- September 1998
Version 49 of the SPICE Toolkit exists only to fix errors that were
identified in version 48 of the Toolkit. The routines in SPICELIB that
were corrected are:
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.
Top
Version 48 --- May 1998
Version 48 of the SPICE Toolkit extends the set of supported platforms
to include PCs running the LINUX operating system.
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.
Top
Version 47 --- July 1997
This chapter describes the significant changes to version 47 of the
SPICE Toolkit.
Top
Documentation
There are two significant documentation changes to version 47 of the
Toolkit.
1. The Required Reading for SPK (SPK.REQ) has been re-written to address the
use of non-inertial frames within the SPK system.
2. The Frames subsystem has been documented in the required reading file
FRAMES.REQ. This document describes the various reference systems that are
currently supported by the Toolkit as well as naming and numbering
conventions that will be adhered to by NAIF.
These two documents together with the extensions to the frame system
that have been added in version 47 allows one to easily model the
dynamics of structures on spacecraft or surface rovers.
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.
Top
Software
Top
SPK
The SPK ephemeris system has been expanded to support Space Command Two
Line Elements (formally known as NORAD Two Line Elements) and
equinoctial elements.
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.
Top
Frames
The frame system has been extended to support reference frames that can
be described as a constant rotation from another frame (such as a
bodyfixed, inertial or C-kernel frame). These frames are easily
described using text based kernels. This new frame type is well suited
for describing instrument, lander and topocentric frames.
Top
Time
The time parsing software was enhanced so that a slightly broader set of
time formats are recognized. In addition the routine ET2LST was added to
the Toolkit. This routine allows you to convert ET (ephemeris time TDB)
to local solar time for a planet, satellite comet or asteroid. Local
solar time is a "clock" measure of the angle between a local meridian
and the meridian of the sun. See the TIME required reading for further
details.
Top
Bug Fixes
The routines CKGPAV and CKFXFM in versions prior to version 47 of the
Toolkit dealt with angular velocity in non-inertial frames incorrectly.
This error did not affect C-kernels that were described relative to
inertial frames. In those rare instances in which a C-kernel was
described relative to a non-inertial frame, the mistreatment of angular
velocity could lead to errors in the computation of velocities relative
to the C-kernel frame. The computation of positions were not affected by
this error.
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.
Top
Version 46 --- January 1997
This chapter describes the significant changes to version 46 of the
SPICE Toolkit.
Top
Documentation
NAIF now has available two overview documents that provide users with a
higher level view of Toolkit. The two documents are called
Introduction to SPICE
Most Useful SPICELIB Subroutines
These documents are available in the ``doc'' subdirectory of the Toolkit
in the postscript files
intro.ps
mostused.ps
respectively.
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.
Top
Time
The time software has undergone significant enhancement. The Toolkit now
supports a wider set of time formats and time systems. The most
important new routines are:
STR2ET
TIMOUT
TTRANS
TPARTV
The 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:
-
DPFMT
-
The routine DPFMT allows you to create a string representing a number
by supplying a ``picture'' that should be followed in formatting the
string.
-
TOSTDO
-
The routine TOSTDO is a portable means of writing strings to ``standard
output.'' The particulars of formatting on various platforms are
handled transparently. Using this routine, you can isolate yourself
from formatting considerations that arise when using the intrinsic
FORTRAN WRITE statement.
The remainder of the modifications to the Toolkit are primarily to ease
problems associated with maintenance of the Toolkit.
Top
Version 45 --- October 1996
Version 45 is a quick update to correct an oversight in versions 43 and
44. Although the reference frames DE-143 was added to the collection of
non-inertial reference frames in version 43, it was not available to all
of the SPICE subsystems. Version 45 corrects this deficiency.
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.
Top
Version 44 --- August 1996
This chapter describes the significant changes to version 44 of the
SPICE Toolkit.
Top
SPK Subsystem
The main workhorse routine of the SPK subsystem, SPKGEO, was modified to
remove potentially redundant computations. As a result, some
applications may see a performance improvement on the order of 60
percent.
Top
Inspekt
Inspekt was upgraded to support the DEC Alpha OSF/1 environment. All
functional aspects of Inspekt are now fully supported in the DEC Alpha
OSF/1 environment.
Top
Bug Fixes
Several errors in the EK and supporting DAS subsystem were corrected.
These fixes will be visible to only a small number of SPICE users.
(Primarily those users who create E-kernels or access the EK files
directly through the subroutine interface.) Users whose primary use of
E-kernels is via the program Inspekt will see no visible changes in the
SPICE system.
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.
Top
Version 43 --- May 1996
This chapter describes the new capabilities available in version 43 of
the SPICE Toolkit.
Top
Brief
The SPICE utility program BRIEF has been added to the generic SPICE
Toolkit. This program allows you to easily summarize the contents of an
SPK file. The summary can be tuned depending upon the level of detail
you are interested in seeing. See the BRIEF User's Guide (brief.ug) for
an explanation of features.
Top
Star Catalogs.
In version 43 of the SPICE Toolkit, an introductory level star catalog
capability has been introduced. The routines used for manipulating star
catalogs are:
STCF01
STCG01
STCL01
Top
CHGIRF
Support for the inertial reference frame DE143 has been added to
SPICELIB.
Top
BODTRN
The routine BODTRN has been added to the Toolkit. This routine allows
you to easily translate between the names of ephemeris objects to their
NAIF ID codes.
Top
Performance Improvements
A number of performance enhancements have been included. Most notable in
this list is the SPICE exception handling subsystem. By relinking your
programs you may see an improvement in performance from 20 to 30 percent
(depending upon how heavily your program makes use of the SPICE
exception handling capability).
Top
Version 42 --- December 1995
This chapter describes new capabilities available in version 42 of the
SPICE Toolkit and includes examples of how to make use of these new
capabilities. The major new capability of Version 42 of the Toolkit is
the official release of the SPICE Events Kernel Software. This software
includes all the interface level routines for reading and writing events
kernels. It also includes the event kernel browser program Inspekt.
Inspekt has an extensive on-line help facility that for now must serve
as a user's guide to the program.
Full documentation for the new capabilities will be available in version
43 of the Toolkit.
Top
Version 41 --- October 1995
This chapter describes new capabilities available in version 41 of the
SPICE Toolkit and includes examples of how to make use of these new
capabilities. There are two major new capabilities provided in version
41 of the Toolkit. First is the ability to retrieve the states of
objects by using the names of the objects instead of SPICE integer
id-codes for those objects. Second is the ability to store and retrieve
states of objects relative to non-inertial reference frames.
Until now, the primary mechanism for retrieving state information from
the SPICE ephemeris (SPK) files has been the subroutine SPKEZ
(pronounced: ess pee kay eee' zee). This routine requires that you know
the integer id-codes associated with the objects of interest.
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:
-
TARG
-
is a character string that is the name of the object whose state is of
interest. Examples are: 'JUPITER', 'EARTH', 'SUN', 'GOLDSTONE'.
-
ET
-
is the epoch at which the state is desired. ET is a double precision
number giving the epoch measure in ephemeris seconds past the epoch of
the J2000 reference frame.
-
REF
-
is a character string giving the name of the reference frame in which
the output state should be represented. Examples are: 'J2000',
'IAU_EARTH'.
-
ABCORR
-
is a string indicating what forms of aberration corrections should be
applied to the retrieved state.
-
OBS
-
is a string that is the name of the object to which the returned state
will be relative. Examples are: 'EARTH', 'GOLSTONE'.
Outputs:
-
STARG
-
is the state of the target body relative to the observer represented in
the specified reference frame with the specified aberration corrections
accounted for.
-
LT
-
is the light time in seconds from the target to the observer.
To illustrate the use of this routine, suppose that you wanted to get
the B1950 state of Mars relative to Earth corrected for light-time and
stellar aberration at the epoch that occurs 10 million seconds prior to
the J2000 epoch. The code fragment below shows how you would call SPKEZR
to obtain this state. (Note that this assumes that you have already
loaded ephemerides for Mars and the Earth.)
DOUBLE PRECISION STATE ( 6 )
DOUBLE PRECISION LT
CALL SPKEZR ( 'MARS', 1.0D+07, 'B1950', 'LT+S',
. 'EARTH', STATE, LT )
Top
Non-inertial Reference Frames
Prior to version 41 of the Toolkit, storing or obtaining states relative
to a body-fixed frame required conversion to or from states relative to
inertial frames such as J2000. With version 41 of the SPICE Toolkit,
this restriction has been removed. It is now possible to store states
relative to a non-inertial frame. Moreover, you may now retrieve states
relative to non-inertial 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
|