Archaeoastronomy: where on the horizon do the stars, Sun, Moon rise and set? (Part II: correcting for the date the site was constructed)

[This post is part of a series of posts on archaeoastronomy using open source software]

In a previous post, we talked about the coordinate system of a person standing on earth observing a star (what the observer sees are the star altitude and azimuth), and how we can calculate the rise and set azimuths of stars/Sun/Moon at a given latitude if we know the equatorial declination coordinate of the star.  And we discussed that in the R file archeoastronomy_libs.R, there is a function called calculate_rise_set_azimuths() that will calculate the rise and set azimuths at a given latitude for a star with a given declination.

There are lots of places to look up catalogues of star declinations on the internet (for instance, here is one).  The SIMBAD astronomical database has a nice online query tool you can use to make your own custom list of stars.

One of the things we didn’t discuss in the past post is that the declination of stars changes slowly over time.  Over several centuries, for some stars the change can be substantial.  The changes are primarily due to the fact that the tilt of the Earth’s axis changes with respect to the plane of its orbit around the Sun… like a child’s top, the Earth’s axis wobbles (and in fact there are even wobbles in the wobbles).  Because the declination of the star changes, the rise azimuth of the star for an observer at a particular latitude on Earth will also change.  In archaeoastronomy, we are usually interested in looking at very old structures; the changes in the apparent position of stars in the past cannot be ignored.

Image source:

In the file archeoastronomy_libs.R I give a function precess_declination() that determines the declination of a star at year YYYY, given the declination and right ascension of the star today (well, as measured at the J2000 “epoch”, as you would see it listed in star catalogues).  The calculation also corrects for the slow motion of the star due to time due to its relative movement with respect to Earth (the stars aren’t just sitting still). The calculation algorithms in the R function were made identical to those used in the pyephem package.  I’ve compared the calculation from this R function to the numbers obtained from pyephem, and the calculation is bug free.

If you don’t want to use the R script, and instead want results straight from pyephem, I created the python script The script uses pyephem to calculate and then print out the right ascension and declination of stars going back to 5000BC in increments of 50 years.  To run the script, type

python ./

The script produces the output file stars_print_out_ra_and_dec.out  If you don’t want to run the python script, and are just interested in the output, just click on the link to download the output.

Leave a Reply