Chapter 6 – The Planets (Planetary Ephemeris)

Solar System Trek, view the solar system from the skies of any planet on any date
Planetary Ephemeris, trace the planets in the sky for any date
The Moons of Mars, animated presentation of Mars and its moons
Jupiter’s Satellites, identify and name the positions of Jupiter’s four moons on any date
The Rings of Saturn, simulation of Saturn and its rings
Saturn’s Rings, brief outline only
Saturn Draw, a Computer Aided Design
Planets through a Telescope, relative sizes of the planets
Globe-pixel, plots a globe divided at 10° intervals of latitude and longitude
Globe Projection, as before, using lines.

Planetary Ephemeris

There are degrees of accuracy. If you try to key in a more accurate program than the basic ephemeris program below, the length can increase alarmingly. A ten-fold increase in accuracy, say from 10′ (minutes) of arc error to 1′ of arc error may increase the LLISTing size three-fold. Both degrees of accuracy would place a planet in the same telescopic field of an amateur instrument magnifying, say, x 50, if it was pointed at the correct sky coordinates. It would be obvious that the object was a planet as the disc could be seen (with the possible exceptions of Uranus and Neptune — where the apparent star would be seen to move, over a couple of evenings, against the true stellar background, and be revealed as a planet.

There is a further and more pertinent point to consider. In the case of a book or magazine LLISTing which has to be keyed in, you could rapidly reach the situation where it was virtually impossible to debug keying in errors (particularly with complex formulae). This is a major reason for the relative briefness of the LLISTings in this book.

Probably the ultimate in ephemeris computations is occultation work (the Moon or a planet passing in front of a star). The (usually professional) astronomer may need to compute the positions of each body with such accuracy that he would also have to INPUT the precise point on the Earth’s surface within a metre or so of where the observation is to be made. Obviously such a program is only suitable for the massive memory of a mainframe or minicomputer rather than a micro like the Spectrum. Perfection is achievable at a price — both of hardware and mathematical expertise.

Having said this, some Spectrum user plus Microdrive will no doubt disprove it! Good luck to him or her. Dedication and single-mindedness could win the day.

Orbital elements
Now to cases and the program which follows. What is its accuracy and where are its shortcomings? First, a comparison with the Solar System Trek program, which would be regarded as relatively inaccurate — merely within a degree or so of the correct positions because only three parameters are used for computation. These are:

  1. Period in years.
  2. Radius of orbit in AU (astronomical units).
  3. Position on orbit at epoch date (1975.0).

Thus, as previously mentioned, only circular orbits of zero inclination to each other are assumed, which is not precisely the case which exists. For greater precision three additional orbital elements must be considered:

  1. Eccentricity of orbit.
  2. Inclination to the ecliptic (Earth’s orbital plane).
  3. Location of ascending node (point where an inclined orbit crosses the ecliptic in a northerly direction).

For this particular program the epoch date has been upgraded to 1980.0 for item 3, and items 4, 5 and 6 are included.

For eccentricity, this program only solves Kepler’s Equation to the first term, for elliptical orbits to an eccentricity of about 0.1. Mars, Mercury and Pluto, in ascending order, have larger values than this, and so their computed positions are more inaccurate than those of other planets.

Finding the planets
If the intention of this program is ultimately to find the planets in the sky, then this presents few problems except for Pluto. In reality Pluto is so faint in stellar terms — about magnitude 14 — that few amateur astronomers have seen or photographed it. A telescope of about 30 cm aperture is needed for visual use and one of about 10 cm aperture when it is being used as a guided camera to record this most elusive object. Pluto is however retained in the program as a matter of general interest, despite a typical error of j° in its computed position. If a telescopic lens of about 60 cm focal length is used on to 35 mm film, Pluto will still be captured on the exposure (if perhaps at the edge of the frame) whilst aiming at the predicted location in the sky produced by the program. One additional reason for Pluto’s large error is its current perihelion passage which effectively exaggerates the program’s shortcomings by placing Pluto behind (to the west) of its true position.

There is an additional factor which has been ignored in the program for the sake of brevity, namely planetary pertabations — the gravitational influence of each planet with the others which pulls a planet from a true path about the Sun. To include the major (and massive) culprits Jupiter and Saturn would increase the LLISTing length at least two-fold, without reference to the remaining seven planets. Notwithstanding these omissions, the program is accurate to within a few minutes of RA (time) and Dec (arc), especially for planets other than Mercury and Pluto.

RUNning the program
Once the program has been keyed in and is RUNning, the results should be checked against the sample screen displays, Figures 6.2 and 6.3. These should match precisely for the dates shown. With regard to the RA and Dec noted in s (seconds of time) and ” (seconds of arc) respectively, these should be assumed as icing on the cake for, as I’ve already pointed out, the program accuracy does not approach this level. However, it does not reach the absurd situation of some ephemeris programs, which imply such levels of accuracy that you are required to INPUT the hour and minute of the day, in addition to the date, when the predicted errors exceed a day’s movement of the planet concerned against the star background.

Figure 6.2
The planetary positions on the summer solstice, 1985.


Figure 6.3
The planetary position on Christmas Day, 2014


Using star atlases
To be of practical use, particularly if you are unfamiliar with the night sky, the predicted positions should be plotted on a star atlas like Norton or Virion. The latter is printed to a larger scale and is more suitable if used with a small telescope.

To confuse matters a little, each atlas is prepared for a different epoch. This means that the reference grids of RA and Dec are very slightly different, as would be the apparent positions as plotted. In practice, the computed errors may exceed the difference of the reference grid between 1950.0 for Norton and 2000.0 for Tirion — the relevant epoch dates.

Checking on the past
Once you have INPUT a few current dates, and perhaps COPYed them to the ZX printer if you have this option, try entering some dates from the past. The program remains accurate to around one degree over several centuries. The principle errors are caused because we have not allowed for the pertabation effects. If the INPUT date is before the 15th October 1582 then add 10 days to the date to bring it into line with the current (Gregorian) calendar (see Chapter 1).

The following exercise relating to historical dates may be of interest. Test them against the program to find out where certain planets were on these dates using a star atlas for guidance.

INPUT these dates:

1610 January 10 : Galileo discovers moons of Jupiter (approximate date).
1610 February 8 : Undiscovered Uranus in Jupiter’s star field.
1659 November 28 : Huyghens discovers Syrtis Major landmark on Mars at 7pm that evening. Mars’s rotation accurately known to 150 second aided by this observation.
1781 March 13 : Herschel discovers Uranus.
1846 September 23: Galle discovers Neptune in place predicted by Adams and Le Verrier from pertabations on Uranus.
1930 February 10 : Tombaugh discovers Pluto after 10-year search.

It is purely coincidental that the above events, (except for Neptune in Aquarius) occur in Taurus and (for Pluto) in adjacent Gemini. It is interesting to wonder if Galileo with his relatively poor-quality telescope could have discovered Uranus 170 years before Herschel, as some historians suggest. Many famous astronomers between the respective dates observed Uranus and recorded it as a star. Only Herschel with his superior reflector telescope immediately recognised a tiny disc that moved over the following evenings against the star background.

Thus it can be demonstrated that the program can be of practical value in finding the planets in the sky and is of some interest in a historical context. Historians have also suggested that the Star of Bethlehem could have been one of three possibilities:

  • A new star or nova.
  • A comet.
  • A conjunction of bright planets.

Item c can be tackled by the program although it is not ideally suited, as it is a matter of trial and error to find a convenient conjunction (grouping together) of at least three bright planets for a given date. The four brightest planets are Venus, Mars, Jupiter and Saturn — Jupiter must be one of the candidates. Negative dates can be INPUT, like -11 which represents the year 12BC.

A better solution to this type of problem is to rewrite the program using FOR/NEXT loops and/or incremental days to PRINT to the screen when conjunctions occur, starting at a set date — say January 1 10BC until January 1 10 AD. Any pair of planets which form a suitable conjunction should be within about 1° of each other.

10 REM Planetary Ephemeris
30 GO SUB 2000
50 BORDER 0: PAPER 5: INK 9: CLS : PRINT PAPER 4;” Planetary Ephemeris “;CHR$ 127;” ”
60 PRINT ” PAPER 6;b$
70 FOR f=1 TO 8: PRINT PAPER 6;b$: PRINT a$(f*7-6 TO f*7)
80 NEXT f
90 PRINT PAPER 1;AT 4,0;”Planet Right Ascen.Declination”
110 GO SUB 1000
130 LET we=98.83354
140 LET ee=.016718
150 LET z=cd*ed/1.00004: GO SUB 770: LET ne=z
160 LET z=ne+we-102.596403: GO SUB 770: LET me=z
170 LET z=ne+rr*.016718*SIN (me/ra)+we: GO SUB 770: LET le=z
180 LET ve=le-102.596403
190 LET re=(1-ee^2)/(1+ee*COS (ve/ra))
220 FOR n=1 TO 8
230 LET z=cd*ed/x(1,n): GO SUB 770: LET np=z
240 LET mp=np+x(2,n)-x(3,n)
250 LET z=np+rr*x(4,n)*SIN (mp/ra)+x(2,n): GO SUB 800: LET lp=z
260 LET vp=lp-x(3,n)
270 LET rp=x(5,n)*(1-x(4,n)*x(4,n))/(1+x(4,n)*COS (vp/ra))
280 LET psi=ra*ASN (SIN ((lp-x(7,n))/ra)*SIN (x(6,n)/ra))
290 LET yx=lp-x(7,n)
300 LET y=SIN (yx/ra)*COS (x(6,n)/ra)
310 LET x=COS (yx/ra)
320 LET ct=ra*ATN (y/x)
330 LET q=ct: GO SUB 820: LET ct=q
340 LET l1=ct+x(7,n)
350 LET r1=rp*COS (psi/ra)
360 IF n>2 THEN GO TO 430
380 LET ll=le-l1
390 LET a=ra*ATN ((r1*SIN (ll/ra))/(re-r1*COS (ll/ra)))
400 LET z=180+le+a: GO SUB 800: LET lam=z
410 GO TO 470
430 LET ll=l1-le
450 LET z=l1+ra*ATN ((re*SIN (ll/ra)/(r1-re*COS (ll/ra)))): GO SUB 800: LET lam=z
470 LET bet=ra*ATN (r1*TAN (psi/ra)*SIN ((lam-l1)/ra)/(re*SIN ((l1-le)/ra)))
490 LET la=lam/ra
500 LET ec=23.441884/ra
510 LET be=bet/ra
520 LET y=SIN la*COS ec-TAN be*SIN ec: LET x=COS la
530 LET rh=ra*ATN ((SIN la*COS ec-TAN be*SIN ec)/(COS la))
550 LET q=rh: GO SUB 820: LET rh=q
570 LET rx=rh/15: LET ry=INT rx
590 PAPER 5: PRINT AT n*2+3,9;
600 PRINT (“0” AND ry<10);ry;”h “;
610 LET mx=60*(rx-INT rx): LET my=INT mx: PRINT (“0” AND my<10);my;”m “;
620 LET sx=INT (60*(mx-INT mx)+.5): PRINT (“0″ AND sx<10);sx;”s”
630 LET dc=ra*ASN (SIN be*COS ec+COS be*SIN ec*SIN la)
640 PRINT AT n*2+3,21;
650 IF dc=0 THEN PRINT “+”;
670 LET dc=ABS dc
680 PRINT (“0” AND ABS dc<10);INT dc;CHR$ 130;
690 LET dm=60*(INT ABS dc-ABS dc)
700 PRINT (“0” AND ABS dm<10);INT ABS dm;CHR$ 39;
710 LET ds=60*(INT ABS dm-ABS dm)
720 PRINT (“0” AND ABS dsc)+(c AND z<0): RETURN
850 LET q=q+c: RETURN
1010 INPUT “Date yyyy,mm,dd”;TAB 5;y;TAB 10;m;TAB 13;d
1020 IF m12 OR d>31 THEN GO TO 1010
1030 LET m$=”JanFebMarAprMayJunJulAugSepOctNovDec”: LET m$=” “+m$(m*3-2 TO m*3)+” ”
1040 LET d$=STR$ y+m$+STR$ d
1050 INPUT (d$+”-is date OK (y/n)? “); LINE q$
1060 IF q$=”n” THEN GO TO 1000
1070 PRINT PAPER 7;AT 2,9;”Date=”;d$
1110 LET j=INT (365.25*(y-(m<3)))+INT (30.6001*(m+1+12*(m<3)))+d-INT (y/100)+INT (INT (y/100)/4)+1720996.5: LET ed=j-2444238.5
2010 REM period in years
2020 DATA .24085,.61521,1.88089,11.86224,29.45771,84.01247,
2030 REM longitude at epoch
2040 DATA 231.2973,355.73352,126.30783,146.966365,165.322242,
2050 REM longitude perihelion
2060 DATA 77.1442128,131.2895792,335.6908166,14.0095493,
2070 REM eccentricity
2080 DATA .2056306,.0067826,.0933865,.0484658,.0556155,
2090 REM major semi-axis
2100 DATA .3870986,.7233316,1.5236883,5.202561,9.554747,
2110 REM inclination
2120 DATA 7.0043579,3.394435,1.8498011,1.3041819,2.4893741,
2130 REM ascending node
2140 DATA 48.0941733,76.4997524,49.4032001,100.2520175,
2160 LET a$=”MercuryVenus Mars JupiterSaturn Uranus NeptunePluto ”
2180 DIM x(7,8): FOR n=1 TO 7
2190 FOR f=1 TO 8: READ x(n,f)
2200 NEXT f: NEXT n: DIM b$(32)
2220 LET c=360: LET cd=c/365.2422: LET ra=180/PI: LET rr=c/PI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s