Accuracy Revisited

Mark Pottenger

I have written about accuracy before, both in the CCRS Horoscope Program manual and in an article in Astrological Research Methods Volume 1. Here is a copy of a key table from my Astrological Research Methods article:

Table 1

Body

Daily

Orbital Period

Motion in

Motion in 1 TimeSecond

Minimum

Motion

E-Days

E-Years

1 Minute

Degrees

Arcseconds

Digits

Sun

0.985610

365.26

1.000

0.00068445

0.0000114075

0.0410671

8

Moon

13.176397

27.32

0.075

0.00915028

0.0001525046

0.5490165

7

Mercury

4.092343

87.97

0.241

0.00284190

0.0000473651

0.1705143

8

Venus

1.602139

224.70

0.615

0.00111260

0.0000185433

0.0667558

8

Mars

0.524002

687.02

1.881

0.00036389

0.0000060648

0.0218334

9

Ceres

0.214018

1682.10

4.605

0.00014862

0.0000024771

0.0089174

9

Pallas

0.213639

1685.09

4.614

0.00014836

0.0000024727

0.0089016

9

Juno

0.225976

1593.09

4.362

0.00015693

0.0000026155

0.0094157

9

Vesta

0.271615

1325.41

3.629

0.00018862

0.0000031437

0.0113173

9

Jupiter

0.083092

4332.57

11.862

0.00005770

0.0000009617

0.0034622

10

Saturn

0.033506

10744.33

29.416

0.00002327

0.0000003878

0.0013961

10

Chiron

0.019333

18620.74

50.981

0.00001343

0.0000002238

0.0008056

10

Uranus

0.011683

30813.26

84.362

0.00000811

0.0000001352

0.0004868

10

Neptune

0.005956

60439.39

165.474

0.00000414

0.0000000689

0.0002482

11

Pluto

0.003924

91746.39

251.188

0.00000272

0.0000000454

0.0001635

11

The table shows geocentric motion for the Moon and heliocentric for all other bodies. The value for the Moon is taken from the Explanatory Supplement. All other values are from osculating elements in the 1993 volume of Ephemerides of Minor Planets. Note that these figures are osculating values for a particular date and that during an orbit a body can go slower or faster than this value. This means most of the decimals in these tables are not meaningful because the actual motions cover ranges around the numbers given. (In fact, the meaningless decimals in the tables illustrate the point that you can't trust all numbers produced by computer programs.) Dividing 360 degrees by the daily motion gives the orbital period in earth days. Dividing this by 365.25 gives the period in (Julian) earth years. Dividing the daily motion by 1440 (24 hours per day * 60 minutes per hour) gives motion in degrees during one minute of time. Dividing the daily motion by 86400 (24 hours * 60 minutes * 60 seconds per minute) gives motion in degrees during one second of time. Multiplying this by 3600 gives motion in seconds of arc in one second of clock time. The last column gives the minimum number of digits required to describe a position (zodiacal or celestial longitude) with sufficient accuracy to hope for times accurate to a second involving that body. This number includes 3 digits to represent the whole degrees of the longitude (2 digits only gets to mid-Cancer) plus enough digits to reach the first significant digit to the right of the decimal in the degrees in one second of motion column. To really be any good, more than the first significant digit should be used, but this shows what precision it takes for a minimum to detect a digit change. If fewer digits than the minimum are used, the motion in one second of time simply will not be detected and the program will only detect events on a time scale sufficient to cause a change of at least one in the least significant digit used. This also means that times for longitudes in Aries through early Cancer (0–99 degrees absolute longitude) can be more accurate than times for longitudes from mid-Cancer on (100–359 degrees) because an extra floating point digit is available (if longitudes are kept in degrees). A typical single-precision floating point number on many home computers has 7 significant digits (24 bits). With such numbers, the only body for which seconds of time in lists of events might almost be believed is the Moon, and even that is only getting one significant digit of the amount the longitude would change in a second of time. Since I only keep longitudes in single precision in the 1992 release of the CCRS Horoscope Program even though many calculations are done double precision (53 bits = 15 digits), this illustrates why I warn people not to take seconds of time seriously in most lists of transiting events even though I show seconds because they can be used with transiting angles (cusps). A program that keeps everything in double precision floating point would have sufficient precision to represent a body's change in longitude in one second of time. However, even if there are enough digits, there are other issues of the accuracy of the calculations that fill in those digits.

The earliest microcomputer versions of the CCRS Horoscope Program were done entirely in double precision (14 digits) on our S-100 computer with a special hardware math board. When I converted the program to Microsoft BASIC in 1983, I made as much of it as possible single precision to get acceptable speed out of the typical hardware then available.

Having done the analysis for the Astrological Research Methods article, I said I need to go back to full double precision in my next rewrite of the program. Too many features now available in the program suffer from the use of single precision to warrant using it in light of the power of current microcomputer hardware (several hundred times faster than in 1983). Partly due to a question about the accuracy of timed hits printed by the CCRS program, I have finally done some of the needed program rewriting and will share some points learned along the way.

For several years up through 1983, the standard ephemerides used internationally by the astronomical community were based on Sun, Mercury, Venus and Mars positions from formulae in Volume 6 of the Astronomical Papers, outer planet positions from Volume 12 of the Astronomical Papers, and Moon positions from formulae in the Improved Lunar Ephemeris. Volume 22 is the same kind of formula as Volume 12, but it was published about 15 years later and has better values for Pluto. The standard ephemerides used internationally by the astronomical community were changed in 1984 to use positions (DE 200) calculated at JPL (the Jet Propulsion Laboratory) with a numerical integration including the Sun, Moon, planets, five asteroids, and effects of lunar libration and relativity. The formulae by Bretagnon and Simon, which some programs might use, are an analytical fit to JPL’s DE 102. Unfortunately for any small computer, the JPL ephemerides take many megabytes of storage per century and only go back to around 1500 B.C. The CCRS Horoscope Program uses full Volume 6 Sun & inner planets, truncated Improved Lunar Ephemeris Moon, outer planets from an integration based on Volume 22, and asteroids from my own integration programs and orbital elements from astronomical sources. Several years ago ACS, the standard for accuracy in the astrological community, switched to JPL DE 200 as the basis for their ephemerides (in the time range it covers). In the summer of 1997, JPL released a new generation of ephemerides: DE 405 (600 years) and DE 406 (6000 years). The new JPL ephemerides change the positions of Neptune and Pluto enough to be quite noticeable in timed hits.

Astronomical ephemerides are the result of a mixture of theories of celestial mechanics and statistical use of actual observations. The JPL ephemerides started years ago with positions and velocities for Sun, Moon, planets and several asteroids for a particular date and time determined by some previous generation of astronomical theories. Current versions use their own earlier work as starting values. They calculate expected positions and velocities forward and backward from the starting epoch, using agreed-on astronomical constants for speed of light, planetary masses, etc. to plug into equations for gravity, relativity, libration, etc. The resulting ephemerides are compared to tens of thousands of astronomical observations (historical optical, photographic, transit circle, radar, laser, satellite, spacecraft flyby, etc.) using a weighted statistical evaluation. The fit to observations is used to adjust equations, “constants”, masses, positions and velocities until the best possible fit is achieved. The space program has reduced many of the observational uncertainties, especially for planets probes have flown by, but very little observational data outside this century is used. For most astronomers, accurate positions for present and future are of more concern than long-term historical ephemerides. It is worth remembering that Pluto has only traveled about 1/3 of its orbit since it was discovered, so there is room there for a lot more observations. Basically, try to remember that astronomers’ ephemerides are the result of a lot of effort to get a statistical best fit, not stone tablets handed down by God. Astrologers’ ephemerides all trace back eventually to astronomers’ ephemerides.

I bought a copy of a CD-ROM (distributed by Willmann-Bell in Richmond, VA) with the new JPL ephemerides in September, and have spent the months since in off-and-on work on the CCRS program between other projects. All of the work has been done on CCRS under MS-DOS, not on any of the incomplete CCRS for Windows projects. Along the way, the increased memory requirements of some of the changes made it impossible to run parts of CCRS under DOS 6.2 as installed on my Pentium system with a lot of memory used by drivers. (The mem command shows 483K for the largest executable program.) I had to switch to working in a DOS box under Windows 95, which gives more DOS memory (556K largest executable program).

The JPL ephemerides are in a fixed J2000 equatorial coordinate system, so the first step was to get XYZ values and do coordinate conversions and precession to get values in the ecliptic of date coordinates CCRS uses. The software that comes on the JPL ephemeris CD-ROM is FORTRAN source code, which I don’t have a compiler for. Fortunately, I found an on-line site with C versions, which I could work with. I made new outer planet disk ephemerides in CCRS format from the JPL DE 200, DE 405 and DE 406 values on the CD-ROM. Using those ephemerides, I proceeded with changes to CCRS program logic. To have a way of judging whether the changes I was making were improving the accuracy of my final answers, I manually compared a year’s outer planet (Jupiter, Saturn, Uranus, Neptune, Pluto) stations in CCRS timed hits against times from an ACS ephemeris. I also wrote a program to compare sets of 10 years’ outer planet aspect and station times from CCRS after each change to program logic.

The first change was to make the final heliocentric and geocentric longitudes double precision. This had no noticeable effect on station times. Next I converted the disk ephemerides to double precision. This also had no noticeable effect on station times. Next I converted the 4-point interpolation the program does to get station times from individual longitudes to 8 points. This substantially improved some, but not all, station times. Next I tried increasing the interpolation to 10 points with little effect. Next I increased the number of terms in my nutation formula. This had a large effect on the station times. Next I changed my nutation formula to one from a newer astronomical reference (the 1992 edition of the Explanatory Supplement), which again improved station times. Next I went through several cycles of adding more terms in the new nutation formula and changing more intermediate variables and functions to double precision. The changes to my nutation formula from my starting value to my last test made a difference of 8 minutes of time in some stations. Next I experimented with different storage intervals in my disk ephemerides, both single and double precision, to look for the best balance between accuracy and disk space. All these changes and experiments brought CCRS station times very close to ACS times when I used ephemerides made from DE 200 starting values (the basis of their ephemerides), but I still have differences. The October 1997 Neptune station improved from 78 minutes different from ACS with standard CCRS ’92 to 1 minute different. The worst difference remaining in 1997 is 5 minutes of time on a March 1997 Pluto station, down from 21 minutes initially.

A note on interpolations: CCRS uses an 8-point central interpolation of values from disk ephemerides to get asteroid and outer planet X, Y and Z positions and velocities for any given date and time. The resulting XYZ values are used to get longitude, latitude and distance. CCRS timed hit times are calculated by a 4-point central interpolation using longitudes calculated for 0 UT on 4 consecutive days. The changes described above changed the hit time interpolation for stations only to use longitudes from 6, 8 or 10 consecutive days. The disk ephemeris interpolation still uses 8 points, though it is now double precision instead of single.

Nutation, the difference between mean and true equinox, is one of the values used in converting geometric celestial longitudes to apparent longitudes (the other value is the light-time correction). For aspect times, changes to nutation have no effect because the same nutation is added to all longitudes calculated for a given moment. For station times, nutation has a large effect because differences in nutation affect more significant digits than the digits changing in the geometric longitude around the moment of a station. The geometric station and the apparent station are at different times. It is easy to miss the importance of accurate nutation when you look at planetary calculations because it is added after the formula or ephemeris produces the planet’s geometric position.

Given the importance of nutation in station times that I observed during this work, I conducted a test of extracting a disk file of daily values of nutation from the JPL ephemerides and using those values for nutation. Even though the JPL values were in J2000 coordinates, this reduced the 5-minute Pluto difference to 2 minutes. It is not something I will keep in the program because of disk space, coordinate system and added program complexity. Unless I find another astronomical reference with a nutation formula that produces results even closer to JPL’s values, I will probably use the formula I entered during this work and accept a few minutes difference from ACS on a few stations. As of the writing of this article, I haven’t made up my mind if the project is closed and I should make updates available. If you have CCRS ’92, run under MS-DOS with a lot of DOS (low) memory available, and are concerned about an hour or so in some outer planet event times, write or call me to inquire.

Here are tables with results from some of the comparisons I did during this work. All differences listed are the largest number of seconds (or minutes or hours) of time between the results of two runs of CCRS timed hits (aspects and stations) with different data.

Comparing times in 1990-1999: Nutation & ephemeris interval variations

Compare This:

NJ200

NJ405

NJ405

NC

N1

N3

N3

N3

N3

N3

D512

N3

To This:

D32

D32

NJ200

N1

N123

S64

D128

D256

D512

S512

S512

S384

Max diff minutes:

48.3

48.3

0.0

0.3

7.8

0.4

0.9

15.3

15.5

15.4

0.3

0.8

Max diff seconds:

2895

2895

1

19

466

23

56

920

927

926

17

50

NJ200,NJ405=nutation from JPL; D32=all nutation terms + corrections & 32-day ephemerides;

NC=all nutation terms + corrections; N1=all terms through 1; N3=terms through 3; N123=terms through 123;

D128=double precision ephemerides at 128-day interval; D256=256-day; D512=64,128,256,512-days;

S64=single precision ephemerides at 64-day interval; S384=64,128,256,320,384; S512= 64,128,256,512 days

Comparing times in 1990-1999: Ephemeris interval variations

Compare This:

N1

N1

N1

N1

N1

N1

N1

N1

N1

N1

N1

To This:

61111

61222

61333

61888

61985

61937

61920

6198S

61990

61930

61910

Max diff minutes:

0.5

15.6

0.8

15.7

15.7

15.6

4.2

15.7

15.6

15.7

0.6

Max diff seconds:

32

933

50

941

941

938

251

940

938

939

36

N1=double precision 64-day ephemerides; 61111=single precision 64,128,128,128,128; 61222=64,128,256,256,256; 61333=64,128,320,320,320; 61888= 64,128,384,384,384; 61985=64,128,192,384,512; 61937=64,128,192,320,576; 61920=64,128,192,256,640; 6198S=64,128,192,384,704; 61990=64,128,192,192,640; 61930=64,128,192,320,640; 61910=64,128,192,128,640

Comparing times in 1990-1999: Interpolation variations

Compare This:

I10

I10

I10

I8

I8

I6

To This:

I8

I6

I4

I6

I4

I4

Max diff time minutes:

4.6

2.2

1.1

2.4

5.4

2.9

Max diff time seconds:

276

130

63

146

321

175

I10=10 point interpolation, I8=8-point, I6=6-point, I4=4-point

Comparing times in 1990-1999: Fundamental ephemeris variations

Compare This:

E200

E200

E405

CC92

CC92

CC92

Excluding

CC92

CC92

CC92

To This:

E405

E406

E406

E200

E405

E406

Neptune:

E200

E405

E406

Max diff minutes:

33.1

33.1

0.0

677.6

689.0

689.0

25.1

45.5

45.5

Max diff seconds:

1987

1987

0

40657

41338

41338

1504

2727

2727

E200=based on JPL DE 200; E405=based on JPL DE405; E406=based on JPL DE406; CC92=CCRS 92

Comparing times in 1610-1630: Fundamental ephemeris variations

Compare This:

CC92

CC92

CC92

E200

E200

E405

To This:

E200

E405

E406

E405

E406

E406

Max difference time hours:

3.88

40.37

40.37

44.25

44.25

0.03

Max difference time minutes:

232.6

2422.1

2422.1

2654.7

2654.7

1.7

Max difference time seconds:

13956

145327

145327

159283

159283

100

As you can see from the last two tables, the new JPL ephemerides (DE 405/406) produce outer planet event times differing from the previous JPL ephemerides (DE 200) by up to 33 minutes of time in the 1990s and up to 44 hours of time (almost 2 days) in the early 1600s. The Volume 22 values in CCRS ’92 differ from the JPL values by up to 11 hours in the 1990s. CCRS ’92 differs almost 4 hours from DE 200 and over 40 hours from DE 405/406 in the early 1600s. This is less than DE 200 differs from DE 405/406 for those years. The 100 seconds of time difference between DE 405 and DE 406 in the last table can be blamed on the different storage intervals used in the two sets of CCRS format ephemerides.

I would like to make a fine distinction in terminology. All my work used ephemerides based on or derived from JPL values for the outer planets, but did not use JPL ephemerides directly in calculating planetary positions and events. If a program claims to use JPL ephemerides, the data files involved will take 41M for 1600-2168 in DE 200, 54M for 1600-2200 for DE 405 or 191M for –3000 – +3000 for DE 406. These ephemerides include the Sun, the Moon and all the planets. If the data files are smaller, the program’s ephemerides are at best JPL-based or JPL-derived or a hybrid. For example, the final set of CCRS format outer planet ephemerides I used in this work take only 805K for DE 405 values (double precision XYZs at 32-day intervals for 5 planets) and 896K for DE 406 values (single precision XYZs at intervals from 64 to 640 days). These cover all but a few years at each end of the periods of the full JPL ephemerides, but only include Jupiter through Pluto. JPL ephemerides consist of sets of polynomials at 32-day intervals in DE 200 and DE 405 and 64-day intervals in DE 406. The polynomials give very precise curve fitting in their valid range of dates and are essentially useless outside that range. The 1975 version of CCRS written by Rique used that kind of polynomial for asteroids and outer planets. The coordinates produced by evaluating the JPL polynomials are J2000 or ICRF (fixed equinox) equatorial XYZs. The shorter JPL ephemerides include values for nutation, so programs working directly with JPL files can use their nutation. JPL derived or hybrid ephemerides like my CCRS files don’t get the JPL nutation values, leading to some of the programming effort described above. Programs using JPL ephemerides have to precess and convert to the ecliptic after getting a planet’s position. Derived ephemerides are usually already in astrological (ecliptic of calculation date) coordinates.

Here is a table showing positions of Pluto at one-minute intervals around the 14 January 1610 direct station. (Remember that these figures are not pure JPL because they were calculated by CCRS ’92 using Volume 6 Sun values. A pure JPL ephemeris like ACS uses will produce slightly different values.) CCRS ’92 and DE 200 times differ by one minute, while DE 405/406 times are about 15 minutes earlier (not in the table). The table clearly shows that all the geometric motions are already direct, but the CCRS ’92 and DE 200 apparent geocentric positions turn direct in these 5 minutes (look at the sign in the last column). The Nutation and Light time columns show the two numbers that convert geometric to apparent longitude. You can also see from the magnitudes of the numbers involved why nutation is so critical. Before these changes, CCRS ’92 was getting a nutation of -.0043 for this date instead of the new value of -.0021. The difference affects the 3rd digit to the right of the decimal, while light time affects the 5th digit and the actual geometric geocentric motion in one minute of time affects the 8th digit.

Julian Day #

Geom. Helio

Geom. Geo

Change in long

Nutation

Light time

Apparent Geo

Change in long

CCRS 92

2309114.21938557

32.19366264

31.00539447

-0.00210816

-0.00003655

31.00324975887

2309114.22008001

32.19366447

31.00539456

0.000000084815

-0.00210818

-0.00003662

31.00324975881

-0.000000000065

2309114.22077444

32.19366629

31.00539464

0.000000085005

-0.00210819

-0.00003669

31.00324975894

0.000000000129

2309114.22146888

32.19366811

31.00539473

0.000000085190

-0.00210820

-0.00003677

31.00324975926

0.000000000318

2309114.22216331

32.19366994

31.00539481

0.000000085353

-0.00210821

-0.00003684

31.00324975974

0.000000000485

DE 200

2309114.21938557

32.19401109

31.00574784

-0.00210816

-0.00003647

31.00360320358

2309114.22008001

32.19401291

31.00574792

0.000000084617

-0.00210818

-0.00003654

31.00360320332

-0.000000000262

2309114.22077444

32.19401473

31.00574801

0.000000084807

-0.00210819

-0.00003661

31.00360320325

-0.000000000068

2309114.22146888

32.19401655

31.00574809

0.000000084992

-0.00210820

-0.00003669

31.00360320337

0.000000000121

2309114.22216331

32.19401838

31.00574818

0.000000085155

-0.00210821

-0.00003676

31.00360320366

0.000000000288

DE 405

2309114.21938557

32.18376155

30.99542310

-0.00210816

-0.00003757

30.99327736055

2309114.22008001

32.18376337

30.99542318

0.000000087329

-0.00210818

-0.00003764

30.99327736299

0.000000002447

2309114.22077444

32.18376520

30.99542327

0.000000087518

-0.00210819

-0.00003772

30.99327736564

0.000000002641

2309114.22146888

32.18376702

30.99542336

0.000000087703

-0.00210820

-0.00003779

30.99327736847

0.000000002831

2309114.22216331

32.18376884

30.99542345

0.000000087866

-0.00210821

-0.00003786

30.99327737146

0.000000002998

DE 406

2309114.21938557

32.18375044

30.99541197

-0.00210816

-0.00003761

30.99326619330

2309114.22008001

32.18375227

30.99541205

0.000000087420

-0.00210818

-0.00003768

30.99326619584

0.000000002539

2309114.22077444

32.18375409

30.99541214

0.000000087610

-0.00210819

-0.00003775

30.99326619857

0.000000002732

2309114.22146888

32.18375591

30.99541223

0.000000087795

-0.00210820

-0.00003783

30.99326620149

0.000000002922

2309114.22216331

32.18375774

30.99541232

0.000000087958

-0.00210821

-0.00003790

30.99326620458

0.000000003089

ACS ephemerides, and any programs based on JPL’s DE 200, will probably be updated to DE 405/406 before too long, but how long will it be before the next JPL update and how much will that change the “most accurate” positions of the planets? I hope all of this makes users of computer programs and ephemerides stop taking them so much for granted and view transiting event times with a little skepticism.

Copyright © 1997 Los Angeles Community Church of Religious Science, Inc.

back to top