One of the oldest ancient solar observatories can be found in Goseck, near Leipzig in Germany, and is now known as the Goseck circle. It was built around 4900 BC and discovered in 1991.
Let us choose a central location and show a global view of the area:
In[]:=
goseck=GeoPosition
Out[]=
GeoPosition[{51.1982,11.8646}]
In[]:=
GeoGraphics[goseck,GeoRange->Quantity[150,"Meters"],GeoBackground->"Satellite"]
Out[]=
We see the two concentric (reconstructed) palisade rings with some radial lines corresponding to openings in the palisades. What are those openings? Why are they precisely at those angles? We will see that our ancestors 7000 years back knew quite a bit about the solar calendar and the cycle of seasons.
First, let us mark the central position with an orange dot and let us zoom in to appreciate better the structure of the site:
In[]:=
center={Orange,PointSize[Large],Point[goseck]};
In[]:=
GeoGraphics[center,GeoRange->Quantity[50,"Meters"],GeoBackground->"Satellite"]
Out[]=
Compute the date of the summer solstice for year 4900 BC. We can easily do this with the new function FindAstroEvent in Wolfram Language 14.2:
In[]:=
year=DateObject[{-4900}]
Out[]=
In[]:=
summerSolstice=FindAstroEvent["SummerSolstice",year]
Out[]=
The result is given in the proleptic (meaning extended to the past) Gregorian calendar, with the same approximate date for solstices and equinoxes. Using the proleptic Julian calendar would give a rather unusual date for a summer solstice:
In[]:=
CalendarConvert[summerSolstice,"Julian"]
Out[]=
Now let us compute the position of the Sun at sunrise and sunset for that date, expressed as a pair {azimuth, altitude} of horizon coordinates:
In[]:=
summerSolsticeSunrise=SunPosition[goseck,Sunrise[goseck,summerSolstice]]
Out[]=
,
In[]:=
summerSolsticeSunset=SunPosition[goseck,Sunset[goseck,summerSolstice]]
Out[]=
,
We see that in both cases the center of the Sun is about 16 arcminutes below the horizon. That's because sunrise and sunset are defined as the instants when the upper limb of the Sun crosses the horizon, not the center. What follows does not depend much on this definition (you can try other possibilities with the option ReferenceAltitude, added in Wolfram Language 14.1). More important is the fact that the azimuth of the Sun varies from 48 degrees at sunrise to 312 degrees at sunset. Create a geo disk sector between those two azimuths and place it at the previously selected location. We see how this explains the two northernmost radial lines (other than the entrance path to the site):
In[]:=
summerSolsticeSpan=GeoDisk[goseck,Quantity[20,"Meters"],First/@{summerSolsticeSunrise,summerSolsticeSunset}];
In[]:=
style[color_]:=GeoStyling[Opacity[0.4,color]];GeoGraphics[{center,style[Red],summerSolsticeSpan},GeoRange->Quantity[50,"Meters"],GeoBackground->"Satellite"]
Out[]=
We can repeat the same computation for the winter solstice:
In[]:=
winterSolstice=FindAstroEvent["WinterSolstice",year]
Out[]=
In[]:=
winterSolsticeSunrise=SunPosition[goseck,Sunrise[goseck,winterSolstice]]
Out[]=
,
In[]:=
winterSolsticeSunset=SunPosition[goseck,Sunset[goseck,winterSolstice]]
Out[]=
,
In[]:=
winterSolsticeSpan=GeoDisk[goseck,Quantity[16,"Meters"],First/@{winterSolsticeSunrise,winterSolsticeSunset}];
We can repeat it once more for the traditional Celtic Beltane celebration of the beginning of the summer, which fell around May 1 in modern calendars. To be specific, use midnight as observed from Germany:
In[]:=
beltane=DateObject[{-4900,5,1,0,0,0},TimeZone->"Europe/Berlin"];
In[]:=
beltaneSunrise=SunPosition[goseck,Sunrise[goseck,beltane]]
Out[]=
,
In[]:=
beltaneSunset=SunPosition[goseck,Sunset[goseck,beltane]]
Out[]=
,
In[]:=
beltaneSpan=GeoDisk[goseck,Quantity[18,"Meters"],First/@{beltaneSunrise,beltaneSunset}];
Finally represent all three geo disk sectors. We see good alignment with the radial lines of the Goseck circle:
In[]:=
GeoGraphics[{center,{style[Red],summerSolsticeSpan},{style[Green],beltaneSpan},{style[Blue],winterSolsticeSpan}},GeoRange->Quantity[50,"Meters"],GeoBackground->"Satellite"]
Out[]=
Monitoring the position of the Sun at sunrise or sunset allowed our ancestors to know the key days of the year in the cycle of seasons, i.e. in the solar calendar, which was important for agricultural purposes. It wasn't as easy as looking at the phase of the Moon to keep track of the lunar calendar, but they were able to design and construct solar observatories such as that of Goseck, demonstrating their knowledge of nontrivial astronomy.
Finally, it is interesting to mention that 7000 years is a large fraction of Earth's precession period of almost 26000 years, which means that the North celestial pole was not oriented towards the star Polaris. This is a map of the sky at midnight on May 1st 4900 BC and we see that Polaris was about 36 degrees away from the North celestial pole, while now is less than 1 degree from it:
These are the equatorial coordinates of Polaris then and now:
We can compare this with a map of the sky at the same time of the year for the year 2025. The fact that the Moon appears at nearly the same position, about to set in the northwest, is a curious coincidence:
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Beltane celebration, the Goseck circle and the solar calendar
by Jose Martin-Garcia
Wolfram Community, STAFF PICKS, April 29, 2025
https://community.wolfram.com/groups/-/m/t/3452494
by Jose Martin-Garcia
Wolfram Community, STAFF PICKS, April 29, 2025
https://community.wolfram.com/groups/-/m/t/3452494