Astronomical algorithms (1992)

From the Book:
When, in 1978, I wrote the first (Belgian) edition of my astronomical Formulae for Calculators, the industry of microcomputers was just starting its worldwide expansion. Because these personal computers were not yet within reach of everybody, the aforesaid book was written mainly for the users of pocket calculating machines and therefore calculation methods requiring a large amount of computer memory, or many steps in a program, were avoided as far as possible, or kept to a minimum.
The present work is a greatly revised version of the former one. It is, in fact, a completely new book. The subjects have been expanded and the content has been improved. Changes were needed to take into account new resolutions of the International astronomical Union, particularly the adoption of the new standard epoch J2000.0, while moreover I profited by the new planetary and lunar theories constructed at the Bureau des Longitudes, Paris.
as Gerard Bodifee wrote in the Preface of my previous work:
anyone who endeavours to make astronomical calculations has to be very familiar with the essential astronomical conceptions and rules and he must have sufficient knowledge of elementary mathematical techniques. as a matter of fact he must have a perfect command of his calculating machine, knowing all possibilities it offers the competent user. However, all these necessities don't suffice. Creating useful, successful and beautiful programs requires much practice. Experience is the mother of all science. This general truth is certainly valid for the art of programming. Only by experience and practice can one learn the innumerable tricks and dodges that are so useful and often essential in agood program.
astronomical algorithms intends to be a guide for the (professional or amateur) astronomer who wants to do calculations. an algorithm (from the arabic mathematician al-Khltrezmi) is a set of rules for getting something done; for us it is a mathematical procedure, a sequence of reasonings and operations which provides the solution to a given problem.
This book is not a general textbook on astronomy. The reader will find no theoretical derivations. Some definitions are kept to a minimum. Nor is this a textbook on mathematics or a manual for microcomputers. The reader is assumed to be able to use his machine properly.
Except in a few rare cases, no programs are given in this book. The reasons are clear. a program is useful only for one computer language. Even if we consider BaSIC only, there are so many versions of this language that a given program cannot be used as such by everybody without making the necessary changes. Every calculator thus must learn to create his own programs. There is the added circumstance that the precise contents of a program usually depend on the specific goals of the computation, that are impossible to anticipate by anybody else.
The few programs we give are in standard BaSIC. They can easily be converted into FORTRaN or any other programming language.
Of course, in the formulae we still use the classical mathematical symbols and notations, not the symbolism used in program languages. For example, we write instead of SQR(a), or a (1 - e) instead of a * (I - E), or cos2x instead of COS (X) 2 or cos(X) * * 2.
The writing of a program to solve some astronomical problem will require a study of more than one chapter of this book. For instance, in order to create a program for the calculation of the altitude of the Sun for a given time on a given date at a given place, one must first convert the date and time to Julian Day (Chapter 7), then calculate the Sun's longitude for that instant (Chapter 25), its right ascension and declination (Chapter 13), the sidereal time (Chapter 12) and finally the required altitude of the Sun (Chapter 13).
This book is restricted to the classical, mathematical astronomy, although a few astronomy oriented mathematical techniques are dealt with, such as interpolation, fitting curves, and sorting data. But astrophysics is not considered at all. Moreover, it is clear that not all topics of mathematical astronomy could have been covered in this book. So nothing is said about orbit determination, occultations of stars by the Moon, meteor astronomy, or eclipsing binaries. For solar eclipses, the interested reader will find Besselian elements and many useful formulae in Elements of Solar Eclipses 1951 to 2200 by the undersigned (1989). Elements and formulae about transits of Mercury and Venus across the Sun's disk are provided in my Transits (1989). These two books are published by Willmann-Bell, Inc.
The author wishes to express his gratitude to Dr. S. De Meis (Milan, Italy), to a. Dill (Germany), and to E. Goffin and C. Steyaert (Belgium), for their valuable advice and assistance.
Jean Meeus
Note to the second edition
In this second edition several misprints and errors have been corrected. The principal change in the new edition is the addition of some material, such as expressions for the times of the stations of the planets (Chapter 36), a list of constants (appendix I), expressions for the heliocentric coordinates of the giant planets from 1998 to 2025 (appendix IV), and new chapters about the Jewish and Moslem Calendars, and the satellites of Saturn.
J.M.