**by Paul J. Heafner, 332 Pages,
Hardbound, 6 by 9 inches
Includes Source on CDROM
(Power BASIC & C)
$29.95
**

**View Chapter 1**

Requires Adobe Acrobat | 96k file

**About This Book:**

Within the last decade there have been many books dealing with the application of personal computers to general problems in celestial mechanics. So, the reader may ask, Why one more? The most evident reason is the use of approximations. Usually a full verbal explanation of a procedure is given, but when the algorithm is programmed, approximations are often made that, in the final analysis, defeat the power of a computer. Modern microcomputers are wonderful machines, never tiring of performing the same computations over and over again until the user is satisfied with the result. While it is true that efficient coding often reduces the execution time, the point is that there is no need to make any great approximations until the very end of the computation. For instance, it is generally accepted that it is useless to compute times of sunrise and sunset to an accuracy greater than one minute of time because of the uncertain nature of atmospheric refraction near the horizon and the constantly changing local meteorological conditions. However, why not let the computer perform the computation to the full precision of the machine and then let the user round the result to the nearest minute of time?

Another major problem with existing computer-oriented astronomical books is that there has been little or no effort to adopt the computational algorithms used for the preparation of data in the national almanacs, particularly the U.S. Naval Observatorys Astronomical Almanac. So the primary goal of this book is to present a library of useful PowerBASIC and C subprograms and functions that can be combined to make powerful application programs. These routines cover both elementary and advanced topics in computational celestial mechanics and spherical astronomy such as time systems, precession, nutation, coordinate transformations, orbital elements and ephemerides, reduction to apparent place, rise/transit/set times for celestial objects, and use of the JPL ephemerides. Care has been taken to present the results of computations in the same form as the corresponding data in the Astronomical Almanac and at least to the same precision. This book is the only one describing how to obtain, process, and use the official Jet Propulsion Laboratory ephemeris data files. The JPL ephemerides form the basis of practically all of the national astronomical almanacs, including the Astronomical Almanac. Many readers will be surprised to learn that these data files are available free from JPL via the Internet or via a CD-ROM prepared by JPL and published by Willmann-Bell ( $24.95 plus $1.00 shipping). See sidebar for details about the JPL CD-ROM. In this book the author gives explicit instructions on how to retrieve them from JPL and put them into a usable form. In addition, with this book comes a disk that includes enhanced PowerBASIC and C versions of the original JPL FORTRAN processing software that manipulates the data files. Today, these ephemerides are considered to be the final word on planetary ephemerides, and now the serious non-professional who wants to make use of them can do so.

Table of Contents

Preface iii

1 Introduction 1

1.1 What is a Fundamental Ephemeris?

1.2 The Software Source Code

1.2.1 Program Requirements

The BASIC Code

The C Code

1.2.2 Modifying the Source Code

1.2.3 Programming Conventions

2 Astronomical Time Systems

2.1 Introduction

2.2 The Various Time Scales

2.2.1 Dynamical Time

2.2.2 Barycentric Dynamical Time

2.2.3 Atomic Time

2.2.4 Terrestrial Dynamical Time

2.2.5 Sidereal Time

2.2.6 Universal Time

2.2.7 Ephemeris Time

2.2.8 Barycentric Coordinate Time

2.3 Relationships Between the Time Scales

2.4 Julian Day Numbers and Calendar Dates

2.5 More On Sidereal Time

3 Precession and Nutation

3.1 Introduction

3.2 Obliquity of the Ecliptic

3.3 Precession

3.4 Nutation

4 Coordinate Systems and Transformations

4.1 Introduction

4.2 Preliminary Explanations

4.3 The Astronomical Coordinate Systems

4.3.1 The Horizon System

4.3.2 The Equatorial System

4.3.3 The Ecliptic System

4.3.4 The Observers Geocentric System

4.4 Transformation from One Coordinate System to Another

5 Orbital Elements and Ephemerides

5.1 Introduction

5.2 General Orbital Elements

5.3 Elliptical Orbits

5.4 Hyperbolic Orbits

5.5 Parabolic Orbits

5.6 Treatment with Universal Variables

5.7 Conversion from State Vector to Orbital Elements

5.8 Precession and Orbital Elements

6 Position Reductions for Celestial Object

6.1 Introduction

6.2 Preliminary Explanations

6.2.1 Mean Place

6.2.2 Apparent Place

6.2.3 Topocentric Place

6.2.4 Virtual Place

6.2.5 Local Place

6.2.6 Astrometric Place

6.3 Apparent Place of Major Planets

6.4 Apparent Place of Stellar Objects

6.5 Atmospheric Refraction

7 Rise, Transit, and Set Times

7.1 Introduction

7.2 Explanatory Notes

7.3 Subprogram for Computing Rise/Transit/Set Times

8 Sources of Fundamental Ephemerides

8.1 Introduction

8.2 Origin of the Data Files

8.3 Obtaining the Ephemeris Data Files

8.4 Processing the ASCII Data Files

8.5 Identifying a Binary Data File

8.6 Using the Binary Data Files

8.6.1 EPHOPN

8.6.2 CONST

8.6.3 PLEPH

8.6.4 STATE

8.7 Header File Format

9 Numerical Methods

9.1 Introduction

9.2 Utility Functions

9.3 Interpolation

9.4 Trigonometry Routines

9.5 Matrix and Vector Methods

9.6 Generalized Matrix Methods

10 A Command Line Ephemeris Program

10.1 Introduction

10.2 Bringing It All Together

10.3 Enhancing SEPHEM

Appendix A C Source Code

Bibliography

Index