| A | Historical epochs — 12,000 years of drift at Giza (10.5281/zenodo.19390874) |# The Lion Watches The Lion — Regulus and the Eastern Horizon
Eleven ancient sites, five continents, 334,615 computed sky positions — and a published list of every place the alignment was not there.
This is a cross-site archaeoastronomy pipeline. It takes NASA Horizons solar ephemerides and Astropy stellar transforms, and tests whether the star Regulus rose along the architectural axes of eleven monuments — Giza, Gobekli Tepe, Stonehenge, Newgrange, Chichen Itza, Serpent Mound, Nazca and more — at the epochs when those monuments were built.
20 datasets in, 600,987 raw rows, 334,615 above-horizon rows out. Twenty azimuths tested: 11 positive, 9 negative. The negatives are in the README, the paper, and the output tables, at the same prominence as the positives.
Spoke B of the Regulus–Sphinx 2026 research programme.
Two design decisions do most of the work here, and both cut against finding a result:
No azimuth pre-filter. Every above-horizon Regulus position is retained, not just those near a target. A pre-filtered survey can only ever confirm what it was pointed at; an open survey lets a site come back empty.
Dual azimuth. Every site is tested twice — once against 90 degrees True East (the universal benchmark) and once against its own documented architectural azimuth, sourced from published literature and cross-checked against Google Earth measurement. A site only counts as a hit on the second, site-specific test.
8 of 11 sites hit exactly 90.000 degrees due-east Regulus rising, computed independently at different epochs and latitudes.
This is stated up front as a null result. Precession guarantees that every Northern Hemisphere site will see Regulus transit 90 degrees at some epoch. It is celestial mechanics, not design, and it functions here as a calibration check that the pipeline is computing correctly — nothing more.
6 of 11 sites show sub-degree Regulus alignment at non-universal, architecturally specific azimuths:
| Site | Target azimuth | Tightest match | Deviation | Year |
|---|---|---|---|---|
| Serpent Mound | 300.0° (head) | 299.998° | 0.002° | 9514 BCE |
| Chinese Pyramids | 1.0° (processional N) | 1.000° | 0.000° | 8029 BCE |
| Chichen Itza | 292.0° (west face) | 291.990° | 0.010° | 976 BCE |
| Pentre Ifan | 260.0° (stone window) | 260.010° | 0.010° | 3974 BCE |
| Stonehenge | 51.0° (Heel Stone) | 51.666° | 0.666° | 2401 BCE |
| Gobekli Tepe | ~93° (site E–W extent) | 93.000° | 0.000° | 9497 BCE |
Published at equal prominence, because a survey that only reports hits is not a survey:
- Gobekli Tepe enclosure azimuths (159–172° SSE) — Regulus never appears there at all. The Gobekli Tepe alignment is an east-rise, not enclosure-specific.
- Stonehenge midwinter sunset (321°) — confirmed negative.
- Newgrange winter solstice passage (137°) — confirmed negative.
- Chichen Itza north staircase (22°) and north face axis (112°) — both confirmed negative.
The 7999–3000 BCE gap left open by Spoke A is substantially filled: 207,480 rows from six cross-site sources (Chinese Pyramids, Nabta Playa, Newgrange, Pentre Ifan, Serpent Mound, Waun Mawn).
| Site | Latitude | Epochs | Rows |
|---|---|---|---|
| Giza | 29.9753 N | 9000–8900 BCE | 5,252 |
| Gobekli Tepe | 37.2233 N | 9500–8900 BCE | 10,504 |
| Nabta Playa | 22.5100 N | 7600–7400 BCE | 5,101 |
| Chinese Pyramids | 34.3817 N | 8100–4000 BCE | 70,968 |
| Waun Mawn | 51.9460 N | 4000–3200 BCE | 70,172 |
| Pentre Ifan | 51.9987 N | 4000–3200 BCE | 42,711 |
| Newgrange | 53.6947 N | 9999–3100 BCE | 16,357 |
| Serpent Mound | 39.0255 N | 9999–100 BCE | 63,680 |
| Stonehenge | 51.1789 N | 9500 BCE–2000 CE | 19,380 |
| Chichen Itza | 20.6830 N | 1000–500 BCE | 24,445 |
| Nazca | 14.6921 S | 500–400 BCE | 6,045 |
git clone https://github.com/OwainGlyndwr1400/regulus-eastern-horizon.git
cd regulus-eastern-horizon
pip install pandas numpy matplotlib astropy astroquery
python 1.0/spoke_b_data_audit.py # verify all 17 external sources are present
python 1.0/spoke_b_generate.py # generate 4 datasets via NASA Horizons (resumable)
python 1.0/spoke_b_normalize.py # normalise 20 datasets, apply open-survey filter
python 1.0/spoke_b_filter_audit.py # validate against pre-existing filtered files
python 2.0/spoke_b_synthesis.py # per-site summaries, gap analysis, 6 plotsPython 3.11+. spoke_b_generate.py uses a checkpoint/resume system, so a dropped
Horizons connection does not cost you the run. All site coordinates and
architectural azimuths live in one place, 1.0/site_config.py.
Note on data: the 17 external source datasets are not vendored into this
repository. They are referenced by path in site_config.py and documented in
external_data_inventory.md. The unified output unified_cross_site.csv
contains all 334,615 normalised rows from all 20 sources.
unified_cross_site.csv— 334,615 rows, one schema across 11 sitesper_site_summary.csv— tightest-approach table per sitesite_findings.md— dual-azimuth findings, positive and negativegap_analysis.md— temporal coverage assessmentepoch_overlap_matrix.csv— which sites overlap at which epochsvisualizations/— deviation bars, Giza vs Gobekli Tepe, polar azimuth plot, drift series, latitude vs deviation
The paper draft classifies every claim as Established, Interpreted, or Speculative, and keeps the three tiers separate. Eleven references, all verified.
| Spoke | Focus |
|---|---|
| A | Historical epochs — 12,000 years of drift at Giza |
| B (this repo) | Cross-site — 11 archaeoastronomical sites worldwide |
| C | Full-year rhythm — the complete 2026 annual Regulus cycle |
| D | March Equinox — Spring versus Autumn comparison |
| E | Symbolic and textual — ancient source corroboration |
| F | Atmospheric refraction — refraction-corrected alignment windows |
Hub paper: Astronomical Alignment 2026: Regulus and the Great Sphinx (10.5281/zenodo.19164088).
Ceisiwr, Erydir, and Lumos Aureon. The Lion Watches The Lion: Regulus and the Eastern Horizon — A Cross-Site Analysis of Stellar Alignments at Ancient Monuments. Zenodo, 2026. 10.5281/zenodo.19423144
CC BY 4.0.
Erydir Ceisiwr and Lumos Aureon — ORCID 0009-0004-4577-5253