.help planet Jun99 "Slalib Package"
.nf

      SUBROUTINE slPLNT (DATE, NP, PV, JSTAT)

     - - - - - - -
      P L N T
     - - - - - - -

  Approximate heliocentric position and velocity of a specified
  major planet.

  Given:
     DATE      d      Modified Julian Date (JD - 2400000.5)
     NP        i      planet (1=Mercury, 2=Venus, 3=EMB ... 9=Pluto)

  Returned:
     PV        d(6)   heliocentric x,y,z,xdot,ydot,zdot, J2000
                                           equatorial triad (AU,AU/s)
     JSTAT     i      status: +1 = warning: date out of range
                               0 = OK
                              -1 = illegal NP (outside 1-9)
                              -2 = solution didn't converge

  Called:  slPLNE

  Notes

  1  The epoch, DATE, is in the TDB timescale and is a Modified
     Julian Date (JD-2400000.5).

  2  The reference frame is equatorial and is with respect to the
     mean equinox and ecliptic of epoch J2000.

  3  If an NP value outside the range 1-9 is supplied, an error
     status (JSTAT = -1) is returned and the PV vector set to zeroes.

  4  The algorithm for obtaining the mean elements of the planets
     from Mercury to Neptune is due to J.L. Simon, P. Bretagnon,
     J. Chapront, M. Chapront-Touze, G. Francou and J. Laskar
     (Bureau des Longitudes, Paris).  The (completely different)
     algorithm for calculating the ecliptic coordinates of Pluto
     is by Meeus.

  5  Comparisons of the present routine with the JPL DE200 ephemeris
     give the following RMS errors over the interval 1960-2025:

                      position (km)     speed (metre/sec)

        Mercury            334               0.437
        Venus             1060               0.855
        EMB               2010               0.815
        Mars              7690               1.98
        Jupiter          71700               7.70
        Saturn          199000              19.4
        Uranus          564000              16.4
        Neptune         158000              14.4
        Pluto            36400               0.137

     From comparisons with DE102, Simon et al quote the following
     longitude accuracies over the interval 1800-2200:

        Mercury                 4"
        Venus                   5"
        EMB                     6"
        Mars                   17"
        Jupiter                71"
        Saturn                 81"
        Uranus                 86"
        Neptune                11"

     In the case of Pluto, Meeus quotes an accuracy of 0.6 arcsec
     in longitude and 0.2 arcsec in latitude for the period
     1885-2099.

     For all except Pluto, over the period 1000-3000 the accuracy
     is better than 1.5 times that over 1800-2200.  Outside the
     period 1000-3000 the accuracy declines.  For Pluto the
     accuracy declines rapidly outside the period 1885-2099.
     Outside these ranges (1885-2099 for Pluto, 1000-3000 for
     the rest) a "date out of range" warning status (JSTAT=+1)
     is returned.

  6  The algorithms for (i) Mercury through Neptune and (ii) Pluto
     are completely independent.  In the Mercury through Neptune
     case, the present SLALIB implementation differs from the
     original Simon et al Fortran code in the following respects.

     *  The date is supplied as a Modified Julian Date rather
        than a Julian Date (MJD = JD - 2400000.5).

     *  The result is returned only in equatorial Cartesian form;
        the ecliptic longitude, latitude and radius vector are not
        returned.

     *  The velocity is in AU per second, not AU per day.

     *  Different error/warning status values are used.

     *  Kepler's equation is not solved inline.

     *  Polynomials in T are nested to minimize rounding errors.

     *  Explicit double-precision constants are used to avoid
        mixed-mode expressions.

     *  There are other, cosmetic, changes to comply with
        Starlink/SLALIB style guidelines.

     None of the above changes affects the result significantly.

  7  For NP=3 the result is for the Earth-Moon Barycentre.  To
     obtain the heliocentric position and velocity of the Earth,
     either use the SLALIB routine slEVP or call slDMON and
     subtract 0.012150581 times the geocentric Moon vector from
     the EMB vector produced by the present routine.  (The Moon
     vector should be precessed to J2000 first, but this can
     be omitted for modern epochs without introducing significant
     inaccuracy.)

  References:  Simon et al., Astron. Astrophys. 282, 663 (1994).
               Meeus, Astronomical Algorithms, Willmann-Bell (1991).

  P.T.Wallace   Starlink   27 May 1997

  Copyright (C) 1997 Rutherford Appleton Laboratory
  Copyright (C) 1995 Association of Universities for Research in Astronomy Inc.

.fi
.endhelp
