chi and h site logo

{ 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 the Sun into software to do some calculations for us. The result is the module Planets. Currently, this supports only the Sun.

We use one hidden file to identify the "planet" we are interested in. Currently this can only be "Sun".

.SP4_PLA
Stores the name of a planet or similar object. Value can only be Sun (not Earth).

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 .SP4_PLA).
PlanetShow.py
PlanetShow()
Show the sky position of the planet named in .SP4_PLA).
PlanetPhys.py
PlanetPhys()
Show the physical ephemeris of the planet named in .SP4_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. For 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).

The Planets module contains several alternative orbit integrations:

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.918003295553 36.88846297241486 148.19821672354828
  RA,Dec B1950  223.0874483631932 -16.495278232183864 148.19821672354826
  RA,Dec J2000  223.7852346950211 -16.697029768004015 148.19821672354823
   lam,bet EOD  226.5423816594646 0.0021281863346300114 148.19821672354823
    RA,Dec EOD  224.07670207248796 -16.780486029851804 148.19821672354823
   HA,Dec topo  290.5029221166617 -16.779733162936644 148.19550690269256
      A,h topo  97.77203093662202 25.164954930481066 148.19550690269256

$ 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