pray-calc-ml/research/birmingham-openfajr.md
Aric Camarata 6e0f4a679c Rebuild as Python data science project
Replaces the original JS calibration library with a pure Python pipeline
for collecting and back-calculating solar depression angles from human-verified
Fajr and Isha prayer sightings.

What this does:
- src/pipeline.py: master pipeline; fetches iCal + manual records, back-calculates
  angles via PyEphem, applies quality filters, exports two clean CSVs
- src/collect/openfajr.py: parses the OpenFajr Birmingham iCal feed (~4,018 records)
- src/collect/verified_sightings.py: manually compiled records from peer-reviewed
  studies (Egypt, Saudi Arabia, Malaysia, Indonesia, UK, USA, Canada, and more)
- src/angle_calc.py: PyEphem back-calculation with atmospheric refraction
- src/elevation.py: Open-Elevation API batch lookup

Datasets generated:
- data/processed/fajr_angles.csv: 4,105 confirmed Fajr records, 35 locations,
  latitude range -37.8 to 53.7 degrees, date range 1985-2026
- data/processed/isha_angles.csv: 43 confirmed Isha records, 20+ locations

Also includes:
- notebooks/01_exploratory_analysis.ipynb: latitude, TOY, elevation pattern analysis
- research/: academic paper summaries (not training data)
- data/raw/sources.md: full citation table for all data sources
2026-02-25 19:32:47 -05:00

56 lines
2.6 KiB
Markdown

# OpenFajr Project (Birmingham, UK)
## Overview
OpenFajr is an ongoing community astrophotography project in Birmingham, UK, where a panel
of scholars and community members review daily sky photographs and vote on the moment of
true dawn. This is the largest dataset of per-date human-verified Fajr sightings in the world,
with over 4,000 records spanning 2016 to the present.
**URL:** https://openfajr.org
**Data format:** Google Calendar iCal feed (UTC)
**Location:** Birmingham (52.4862°N, 1.8904°W, 141m)
## Method
Each morning, a wide-field camera captures a continuous series of sky photographs from the
eastern horizon. After each session, an independent panel reviews and votes on the photographs
to identify the moment when the horizon first becomes distinguishable (true dawn / Subh Sadiq).
The voted time is published to the iCal feed.
## Findings
Birmingham is at 52°N, which produces interesting seasonal variation. The dataset covers over
10 years and shows:
- **Mean depression angle:** approximately 12.5°-13.5° (computed in this project via back-calculation)
- **Seasonal variation:** lower angles in summer (shorter, shallower twilight arc), higher in winter
- **Winter range:** typically 13.5°-15.0°
- **Summer range:** typically 11.5°-13.5° (sun moves at a shallower angle through the horizon zone)
- **Inter-year consistency:** very stable year-to-year
## Why Birmingham
Birmingham's latitude (52°N) is notable because it experiences significant seasonal variation in
both the angle and duration of twilight. At this latitude in summer, nights are very short and
twilight begins to overlap with morning civil dawn — the solar arc through the horizon zone is
much shallower, meaning false dawn and true dawn phenomena behave differently than at tropical
latitudes.
This makes Birmingham a particularly useful calibration anchor because:
1. It covers an extreme of the northern temperate zone
2. 10+ years of consistent data provides excellent statistical confidence
3. The scholarly review process provides strong validity guarantees
## DST Artifacts
The iCal feed contains a small number of records around British Summer Time transition dates
(last Sunday of March, last Sunday of October) with anomalous UTC timestamps. These appear to
result from timezone confusion in calendar software and produce depression angles of 3°-7°,
which are physically impossible for genuine Fajr sightings. The pipeline filters these out.
## Use in This Project
OpenFajr provides ~98% of the Fajr training data. The raw iCal is fetched at runtime by
`src/collect/openfajr.py`. No local caching is performed; run the pipeline with network access
to get the latest feed.