CONICS ( Determine state from conic elements )
SUBROUTINE CONICS ( ELTS, ET, STATE )
Determine the state (position, velocity) of an orbiting body
from a set of elliptic, hyperbolic, or parabolic orbital
DOUBLE PRECISION ELTS ( 8 )
DOUBLE PRECISION ET
DOUBLE PRECISION STATE ( 6 )
VARIABLE I/O DESCRIPTION
-------- --- --------------------------------------------------
ELTS I Conic elements.
ET I Input time.
STATE O State of orbiting body at ET.
ELTS are conic elements describing the orbit of a body
around a primary. The elements are, in order:
RP Perifocal distance.
LNODE Longitude of the ascending node.
ARGP Argument of periapse.
M0 Mean anomaly at epoch.
MU Gravitational parameter.
Units are km, rad, rad/sec, km**3/sec**2. The epoch
is given in ephemeris seconds past J2000. The same
elements are used to describe all three types
(elliptic, hyperbolic, and parabolic) of conic orbit.
ET is the time at which the state of the orbiting body
is to be determined, in ephemeris seconds J2000.
STATE is the state (position and velocity) of the body at
time ET. Components are x, y, z, dx/dt, dy/dt, dz/dt.
1) If the eccentricity supplied is less than 0, the error
'SPICE(BADECCENTRICITY)' is signalled.
2) If a non-positive periapse distance is supplied, the error
'SPICE(BADPERIAPSEVALUE)' is signalled.
3) If a non-positive value for the attracting mass is supplied,
the error 'SPICE(BADGM)', is signalled.
4) Errors such as an out of bounds value for ET are diagnosed
by routines called by this routine.
Let VINIT contain the initial state of a spacecraft relative to
the center of a planet at epoch ET, and let GM be the gravitation
parameter of the planet. The call
CALL OSCELT ( VINIT, ET, GM, ELTS )
produces a set of osculating elements describing the nominal
orbit that the spacecraft would follow in the absence of all
other bodies in the solar system and non-gravitational forces
on the spacecraft.
Now let STATE contain the state of the same spacecraft at some
other epoch, LATER. The difference between this state and the
state predicted by the nominal orbit at the same epoch can be
computed as follows.
CALL CONICS ( ELTS, LATER, NOMINAL )
CALL VSUBG ( NOMINAL, STATE, 6, DIFF )
WRITE (*,*) 'Perturbation in x, dx/dt = ', DIFF(1), DIFF(4)
WRITE (*,*) ' y, dy/dt = ', DIFF(2), DIFF(5)
WRITE (*,*) ' z, dz/dt = ', DIFF(3), DIFF(6)
 Roger Bate, Fundamentals of Astrodynamics, Dover, 1971.
I.M. Underwood (JPL)
W.L. Taber (JPL)
SPICELIB Version 4.0.0, 26-MAR-1998 (WLT)
There was a coding error in the computation of the mean
anomaly in the parabolic case. This problem has been
SPICELIB Version 3.0.1, 15-OCT-1996 (WLT)
Corrected a typo in the description of the units associated
with the input elements.
SPICELIB Version 3.0.0, 12-NOV-1992 (WLT)
The routine was re-written to make use of NAIF's universal
variables formulation for state propagation (PROP2B). As
a result, several problems were simultaneously corrected.
A major bug was fixed that caused improper state evaluations
for ET's that precede the epoch of the elements in the
A danger of non-convergence in the solution of Kepler's
equation has been eliminated.
In addition to this reformulation of CONICS checks were
installed that ensure the elements supplied are physically
meaningful. Eccentricity must be non-negative. The
distance at periapse and central mass must be positive. If
not errors are signalled.
SPICELIB Version 2.0.1, 10-MAR-1992 (WLT)
Comment section for permuted index source lines was added
following the header.
SPICELIB Version 2.0.0, 19-APR-1991 (WLT)
An error in the hyperbolic state generation was corrected.
SPICELIB Version 1.0.0, 31-JAN-1990 (IMU)