
{ Practical astronomy | Computing | Solar system ephemeris }
Solar system ephemeris
Here we combine the computing environment, the software design principles and the insights about the movement of Sun, Moon and planets into software to do some calculations for us. The result are the modules Planets and Moon.
We use one hidden file to identify the "planet" we are interested in. The Moon needs no such information, as it is identified by the algorithm used.
.CL4_PLA- Stores the name of a planet or similar object. Values can be Sun (not Earth), Mercury, Venus, Mars, Jupiter, Saturn, Uranus or Neptune.
We have these user utilities to show the sky position of the chosen object. They require Python scripts to invoke from the Bash shell and to convert input parameters, and Python functions to do the work:
PlanetSet.py
PlanetSet()- Store the planet name in
.CL4_PLA. PlanetShow.py
PlanetShow()- Show the sky position of the planet named in
.CL4_PLA. PlanetPhys.py
PlanetPhys()- Show the physical ephemeris of the planet named in
.CL4_PLA. PlanetRise.py alt
PlanetRise(alt)- Show the next rise and set times for the planet. The given parameter is the altitude in degrees that defines the "rise" or "set". Give 0 for the mathematical horizon or −0.6° to compensate for average atmospheric refraction. If the object is the Sun, give −0.8° to compensate for average atmospheric refraction and to define the event as the upper limb coinciding with the horizon. Further, twilight is defined by the Sun being at altitudes −6° (civil), −12° (nautical) or −18° (astronomical).
MoonShow.py
MoonShow()- Show the sky position of the Moon.
MoonPhys.py
MoonPhys()- Show the physical ephemeris of the Moon.
MoonRise.py alt
MoonRise(alt)- Show the next rise and set times for the Moon. The given parameter is the altitude in degrees that defines the "rise" or "set". Give −0.8° to compensate for average atmospheric refraction and to define the event as the upper limb coinciding with the horizon.
The Planets module supports three alternative orbit integrations:
Helio(aTT, 3, aNp)is the perturbed orbit after Simon et al. (1994a).Helio(aTT, 2, aNp)is an elliptical orbit.Helio(aTT, 1, aNp)is a circular orbit.
Similarly, the Moon module contains three alternative orbit integrations:
MoonCircle(aTT)is a circular orbit, but with motion of the nodes.MoonKepler(aTT)is an elliptical orbit, but with motion of the nodes and of the perigee.MoonMeeus(aTT)is an elliptical orbit with perturbation after Meeus (1982a).
Here is an example use from the Bash shell for the Sun. The time is set from the computer's clock, then the observatory and object selected. Five output routines show time, observatory, position ephemeris, physical ephemeris, and finally, when the Sun will set below −18° altitude (astronomical twilight).
$ TimSetSys.py
$ LocSet.py -70.417 -24.667 2635 "Cerro Paranal"
$ PlanetSet.py Sun
$ TimShow.py
JD [d] 2459161.991307
Gregorian Date and UT 2020-11-08T11:47:29.0
Julian Date and UT 2020-10-26T11:47:29.0
TT - UT [s] 70.85418564783117
TAI - UTC [s] 37.0
$ LocShow.py
Observatory Cerro Paranal
Geographic longitude [deg] -70.417
Geographic latitude [deg] -24.667
Geocentric latitude [deg] -24.52155560529307
Elevation [m] 2635.0
Sidereal time [deg] 154.58181864931424
$ PlanetShow.py
Object Sun
lII,bII 340.9180032955 36.888462972414 148.198216723548
RA,Dec B1950 223.08744836319 -16.4952782321838 148.198216723548
RA,Dec J2000 223.78523469502 -16.6970297680040 148.198216723548
lam,bet EOD 226.54238165946 0.00212818633463001 148.198216723548
RA,Dec EOD 224.076702072487 -16.7804860298518 148.198216723548
HA,Dec topo 290.50292211666 -16.7797331629366 148.195506902692
A,h topo 97.772030936622 25.1649549304810 148.195506902692
$ PlanetPhys.py
Object Sun
V -26.720412161128476
Radius [arcsec] 968.7082345647381
Elongation [deg] 0.0
Phase angle [deg] 180.0
Illuminated fraction 1.0
Inclination [deg] 3.5632020702425025
Position angle [deg] 23.00746174240958
Central meridian [deg] 265.3004716149302
$ PlanetRise.py -18
next set 2020-11-09T00:24:13.9
next rise 2020-11-09T08:26:31.7
altitude [deg] -18.0
Here the corresponding output for the Moon, where the rise and set are for the upper limb of the Moon:
$ MoonShow.py
Object Moon
lII,bII 208.608294040021 40.625729304660 0.38167081055938
RA,Dec B1950 138.32487637033 20.5632762313279 0.38167081055938
RA,Dec J2000 139.034167850505 20.354609367196 0.38167081055938
lam,bet EOD 135.52055437073 4.2796803935602 0.38167081055938
RA,Dec EOD 139.32949146861 20.2669104431338 0.38167081055938
HA,Dec topo 15.5004532428646 20.9381191853625 0.37736562150935
A,h topo 340.38456308246 41.969072850272 0.377365621509353
$ MoonPhys.py
Object Moon
V -10.176269713195403
Radius [arcsec] 949.9792248997904
Elongation [deg] -91.44367187850128
Phase angle [deg] -88.41048590616889
Terminator PA [deg] 17.43114268045042
Illuminated fraction 0.5138693480117649
Inclination [deg] -6.093415933143147
Axis PA [deg] 18.36298234013797
Central meridian [deg] -7.80905458002411
$ MoonRise.py -0.8
next set 2020-11-08T16:17:33.2
next rise 2020-11-09T05:58:39.0
altitude [deg] -0.8
Here the corresponding output for Mercury:
$ PlanetSet.py Mercury
$ PlanetShow.py
Object Mercury
lII,bII 324.99721766074 52.0224779479664 139.783503844039
RA,Dec B1950 205.71832694748 -8.267494650808 139.783503844039
RA,Dec J2000 206.377178348758 -8.517115254453 139.783503844039
lam,bet EOD 207.83241791121 2.228868425884 139.783503844039
RA,Dec EOD 206.65226095301 -8.6208097340310 139.783503844039
HA,Dec topo 307.92766041590 -8.619956220889 139.779581116991
A,h topo 81.437281598913 37.938755417566 139.779581116991
$ PlanetPhys.py
Object Mercury
V -0.35424757810627994
Radius [arcsec] 3.5989930759175564
Elongation [deg] -18.837278899616077
Phase angle [deg] -90.57128639468922
Illuminated fraction 0.49501466832617474
Inclination [deg] 0.27842323491309157
Position angle [deg] 27.44301238043492
Central meridian [deg] 269.0572188902579
$ PlanetRise.py -0.6
next set 2020-11-08T21:34:12.7
next rise 2020-11-09T08:55:59.9
altitude [deg] -0.6
