Man Linux: Main Page and Category List


       aa - astronomical almanac - calculate planet and star positions




       The  aa  program computes the orbital positions of planetary bodies and
       performs rigorous coordinate  reductions  to  apparent  geocentric  and
       topocentric  place  (local altitude and azimuth).  It also reduces star
       catalogue positions given in either the FK4 or FK5  system.   Data  for
       the 57 navigational stars is included.  Most of the algorithms employed
       are from The Astronomical Almanac (AA) published by the U.S. Government
       Printing Office.

       The  aa  program  follows  the  rigorous  algorithms  for  reduction of
       celestial coordinates exactly as laid out in current  editions  of  the
       Astronomical  Almanac.   The reduction to apparent geocentric place has
       been checked by a special version of the  program  (aa200)  that  takes
       planetary  positions  directly from the Jet Propulsion Laboratory DE200
       numerical integration of the solar system. The  results  agree  exactly
       with the Astronomical Almanac tables from 1987 onward (earlier Almanacs
       used slightly different reduction methods).


       The following items will be read in automatically  from  the  first  of
       these  files  to  be found: ./aa.ini, ~/.aa.ini, /etc/aa.ini.  The file
       contains one ASCII string number per  line  so  is  easily  edited.   A
       sample initialization file is supplied.  The entries are:

       lon    Terrestrial longitude of observer, degrees East of Greenwich

       lat    Geodetic  latitude  of  observer  (program calculates geocentric

       height Height above sea level, meters

       temp   Atmospheric temperature, degrees Centigrade

              Atmospheric pressure, millibars

       tflag  Input time type: 1 = TDT, 2 = UT, 0 = TDT set equal to UT

       deltaT Value to use for deltaT, seconds; if 0  then  the  program  will
              compute it.

Orbit Computations

          Several  methods  of  calculating  the positions of the planets have
       been provided for in the program source code.  These range in  accuracy
       from  a  built-in computation using perturbation formulae to a solution
       from precise orbital elements that you supply from an almanac.
          The program uses as a default a set of trigonometric expansions  for
       the  position  of  the  Earth and planets.  These have been adjusted to
       match the Jet Propulsion Laboratory’s DE404 Long Ephemeris (1995)  with
       a  precision ranging from about 0.1" for the Earth to 1" for Pluto. The
       adjustment was carried out on the interval from 3000 B.C. to 3000  A.D.
       for  the  outer  planets.   The  adjustment  for  the  inner planets is
       strictly valid only from 1350 B.C. to 3000 A.D., but  may  be  used  to
       3000     B.C.     with     some     loss     of     precision.      See
       /usr/share/doc/aa/readme.404  for  additional  information.   The  true
       accuracy  of positions calculated for prehistoric or future dates is of
       course unknown.
          The Moon’s position is calculated by a modified version of the lunar
       theory  of  Chapront-Touze’  and Chapront.  This has a precision of 0.5
       arc second relative to DE404 for all dates between 1369 B.C.  and  3000
       A.D.   The  real  position of the Moon in ancient times is not actually
       known this accurately, due to uncertainty in the tidal acceleration  of
       the Moon’s orbit.

          In  the  absence of an interpolated polynomial ephemeris such as the
       DE200, the highest accuracy for current planetary positions is achieved
       by  using  the  heliocentric orbital elements that are published in the
       Astronomical Almanac. If precise orbital elements are provided for  the
       desired  epoch  then  the  apparent place should be found to agree very
       closely with Almanac tabulations.
          Entering 99 for the planet number generates a prompt for the name of
       a  file containing human-readable ASCII strings specifying the elements
       of orbits. The items in the specification are  (see  also  the  example

                 First line of entry:
              epoch of orbital elements (Julian date)
              longitude of the ascending node
              argument of the perihelion
              mean distance (semimajor axis) in au
              daily motion

                 Second line of entry:
              mean anomaly
              epoch of equinox and ecliptic, Julian date
              visual magnitude B(1,0) at 1au from earth and sun
              equatorial semidiameter at 1au, arc seconds
              name of the object, up to 15 characters

       Angles  in  the  above  are in degrees except as noted.  Several sample
       orbits are supplied in the file  If you  read  in  an  orbit
       named  "Earth" the program will install the Earth orbit, then loop back
       and ask for an orbit number again.
         The entry for daily motion is optional.  It will be calculated by the
       program if it is set equal to 0.0 in your catalogue.  Almanac values of
       daily motion recognize the nonzero mass of  the  orbiting  planet;  the
       program’s calculation will assume the mass is zero.
         Mean  distance,  for  an elliptical orbit, is the length of the semi-
       major axis of the ellipse. If the eccentricity is given to be 1.0,  the
       orbit  is  parabolic  and  the  "mean distance" item is taken to be the
       perihelion distance.  Similarly a hyperbolic orbit has  eccentricity  >
       1.0  and  "mean  distance"  is  again  interpreted  to  mean perihelion
       distance.  In both these cases, the "epoch" is the perihelion date, and
       the mean anomaly is set to 0.0 in your catalogue.
         Elliptical  cometary  orbits  are  usually  catalogued  in  terms  of
       perihelion distance also, but you must convert this to mean distance to
       be understood by the program. Use the formula

         mean distance = perihelion distance / (1 - eccentricity)

       to  calculate  the  value  to  be  entered  in  your  catalogue  for an
       elliptical orbit.
         The epoch of the orbital elements refers particularly to the date  to
       which  the given mean anomaly applies.  Published data for comets often
       give the time of perihelion passage as a calendar date and fraction  of
       a day in Ephemeris Time.  To translate this into a Julian date for your
       catalogue entry, run  aa,  type  in  the  published  date  and  decimal
       fraction  of  a  day,  and  note the displayed Julian date. This is the
       correct Julian Ephemeris Date of the epoch for  your  catalogue  entry.
       Example (Sky & Telescope, March 1991, page 297): Comet Levy 1990c had a
       perihelion date given as 1990 Oct 24.68664 ET.   As  you  are  prompted
       separately  for the year, month, and day, enter 1990, 10, 24.68664 into
       the program. This date and fraction translates  to  JED  2448189.18664.
       For  comparison  purposes,  note  that published ephemerides for comets
       usually give astrometric positions, not apparent positions.

Ephemeris Time and Other Time Scales

          Exercise care about time scales when comparing  results  against  an
       almanac.  The orbit program assumes input date is Ephemeris Time (ET or
       TDT).  Topocentric altitude and azimuth are calculated  from  Universal
       Time  (UT).   The program converts between the two as required, but you
       must indicate whether your input entry is TDT or UT.  This is  done  by
       the  entry  for  input  time  type  in  aa.ini.   If  you are comparing
       positions against almanac values, you probably want TDT.   If  you  are
       looking  up  at the sky, you probably want UT.  Ephemeris transit times
       can be obtained by declaring TDT = UT.  The adjustment for deltaT =  ET
       minus  UT  is accurate for the years 1620 through 2011, as the complete
       tabulation from the Astronomical Almanac is included  in  the  program.
       Outside  this range of years, approximate formulas are used to estimate
       deltaT.  These formulas are based on analyses of eclipse records  going
       back  to  ancient times (Stephenson and Houlden, 1986; Borkowski, 1988)
       but they do not predict future values  very  accurately.   For  precise
       calculations,  you should update the table in deltat.c from the current
       year’s Almanac. Note the civil time of day is UTC, which is adjusted by
       integral leap seconds to be within 0.9 second of UT.

          Updated  deltaT  values  and  predictions  can be obtained from this
       network archive: .  See the file deltat.c for
       additional information.  In addition, the IAU has adopted several other
       definitions of time, but this program does not distinguish among  them.
       The  International  Earth  Rotation Service is in charge of UT. Precise
       data on Earth rotation  and  orientation  are  published  in  the  IERS
       bulletins,  available at the IERS computer site as well as
       at the usno site.

Rise and Set Times

          Each calculation of the time of local rising, meridian transit,  and
       setting  includes  a  first  order  correction  for the motion in right
       ascension and declination of the object between the entered input  time
       and  the  time  of  the  event.   Even  so,  the  calculation has to be
       iterated, or repeated with successively closer estimates of  the  event
       time.   In  view  of  the  first  order  correction the iteration has a
       second-order convergence characteristic and arrives at a precise result
       in  just  two or three steps.  On the other hand, the technique used is
       unstable for nearly-circumpolar objects, such as the Moon  observed  at
       high  latitudes.   Thus a failure to report rise and set times does not
       necessarily mean that there was no rise or set event.

          The program reports the transit that is nearest to the  input  time.
       Rise  and  set  times ordinarily precede and follow the transit.  Check
       the date displayed next to the rise, set, or transit time  to  be  sure
       the  results  are for the desired date and not for the previous or next
       calendar day.  For the Sun and Moon, rise and set  times  are  for  the
       upper  limb  of the disc; but the indicated topocentric altitude always
       refers to the center of the disc.  The computed event times include the
       effects of diurnal aberration and parallax.

          Age  of  the  Moon,  in  days  from  the nearest Quarter, also has a
       correction for  orbital  motion,  but  does  not  get  the  benefit  of
       iterative  improvement and may be off by 0.1 day (the stated Quarter is
       always correct, however). The estimated time  can  be  made  much  more
       precise  by entering the input date and time of day to be near the time
       of the event.   In  other  words,  the  rigorous  calculation  requires
       iterating  on  the  time;  in  this  case  the  program  does not do so
       automatically, hence if you want  maximum  accuracy  you  must  do  the
       iteration by hand.


          Positions and proper motions of the 57 navigational stars were taken
       from the Fifth Fundamental  Catalogue  (FK5).  They  are  in  the  file
       /usr/share/aa/   For  all  of  these,  the program’s output of
       astrometric position agreed with the 1986 AA to the precision of the AA
       tabulation  (an  arc  second).  The same is true for 1950 FK4 positions
       taken from the SAO catalogue.  The program agrees to 0.01" with  worked
       examples  presented  in  the AA. Spot checks against Apparent Places of
       Fundamental Stars confirm the mean place agreement to <0.1".  The  APFS
       uses  an  older nutation series, so direct comparison of apparent place
       is difficult.  The program incorporates  the  complete  IAU  Theory  of
       Nutation     (1980).      Items     for    the    Messier    catalogue,
       /usr/share/aa/, are from either  the  AA  or  Sky  Catalogue
          To  compute  a  star’s  apparent  position,  its  motion  since  the
       catalogue epoch is taken into account as well as  the  changes  due  to
       precession  of  the equatorial coordinate system.  Star catalogue files
       have the following data structure.  Each star entry occupies  one  line
       of  ASCII  characters.   Numbers  can  be in any usual decimal computer
       format and are separated from each other by one or  more  spaces.  From
       the beginning of the line, the parameters are

              Epoch of catalogue coordinates and equinox
              Right ascension, hours
              Right ascension, minutes
              Right ascension, seconds
              Declination, degrees
              Declination, minutes
              Declination, seconds
              Proper motion in R.A., s/century
              Proper motion in Dec., "/century
              Radial velocity, km/s
              Distance, parsecs
              Visual magnitude
              Object name
       For example, the line

       2000  02  31  48.704   89  15  50.72  19.877  -1.52  -17.0  0.0070 2.02

       has the following interpretation:

              J2000.0      ;Epoch of coordinates, equator, and equinox
              2h 31m 48.704s    ;Right Ascension
              89deg 15’ 50.72"   ;Declination
              19.877       ;proper motion in R.A., s/century
              -1.52        ;proper motion in Dec., "/century
              -17.0        ;radial velocity, km/s
              0.007        ;parallax, "
              2.02         ;magnitude
              alUMi(Polaris)    ;abbreviated name for alpha Ursae Minoris (Polaris)

          Standard abbreviations for 88 constellation names are expanded  into
       spelled-out  form  (see  constel.c).  The  program accepts two types of
       catalogue coordinates.  If the epoch is given as 1950, the entire entry
       is interpreted as an FK4 item.  The program then automatically converts
       the data to the FK5 system.  All other epochs are interpreted as  being
       in the FK5 system.
          Note  that  catalogue  (and AA) star coordinates are referred to the
       center of the solar system, whereas the program  displays  the  correct
       geocentric  direction of the object.  The maximum difference is 0.8" in
       the case of alpha Centauri.


       aa does not accept any options.


       ./aa.ini, ~/.aa.ini, /etc/aa.ini Initialization data.

              Documentation of plan404 ephemerides.

              Catalogue data on the 57 navigational stars.

              Items for the Messier catalogue




       aa was written by Stephen L. Moshier <>.

       This manual page was written by James R.  Van  Zandt  <>,
       for the Debian project (but may be used by others).

                               September 4, 2006