pray-calc-ml/research/malaysia-indonesia-2018.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

3 KiB

Malaysia and Indonesia Studies

Kassim Bahali et al. 2018 (DSLR Study)

Paper: Kassim Bahali, N.F., et al. "Determination of Fajr and Isha prayer times based on astronomical observation at low latitude." Sains Malaysia, 47(11): 2797-2805, 2018.

Location: Kuala Lumpur and surrounding Malaysia/Indonesia sites (2°N-7°S range) Method: DSLR astrophotography + SQM (Sky Quality Meter) sky brightness Data: 64 observation days, February-December 2017

Key result: Mean Fajr depression = 16.67° (range 13.9°-19.8°)

The DSLR + SQM combination is methodologically stronger than naked-eye only. The SQM provides an objective measure of sky brightness that eliminates observer subjectivity. At near-equatorial latitudes (2°-7°), the Sun rises and sets at a steep angle through the horizon, producing very short, sharp twilight transitions.


Saksono 2020 (Depok, Indonesia)

Paper: Saksono, T. "Fajr prayer time determination using the Sky Quality Meter." NRIAG Journal of Astronomy and Geophysics, 9(1): 238-244, 2020.

Location: Depok, West Java, Indonesia (6.4°S, 106.83°E, 65m) Method: SQM sky brightness monitoring; 26 nights June-July 2015 Result: ~16° mean Fajr depression


Hamidi 2007-2008 (Malaysia Isha Study)

Source: Zety Sharizat Hamidi, Determination of Isha prayer time based on shafaq abyad in Malaysia. Academia.edu, 2008.

Location: Two sites:

  • Kuala Lipis: 4.183°N, 102.040°E, 76m (east coast)
  • Port Klang: 3.004°N, 101.403°E, 5m (west coast)

Method: Naked-eye observation of Shafaq al-Abyad disappearance; May 2007 - April 2008 Result: Isha (Shafaq Abyad) consistently at approximately 16°-17° depression


OIF UMSU (Medan, North Sumatra 2017-2020)

Location: OIF (Observatory of Islamic Fajr) at University of Muhammadiyah North Sumatra, Medan (3.595°N, 98.672°E, 22m) Method: SQM photometry; hundreds of observation days Proposed angle: 16.48° for Indonesian national standard


Key Pattern: Equatorial Sites Yield Higher Angles

All Malaysia/Indonesia studies find Fajr at ~16°-17°, compared to ~13°-14° in Birmingham and the UK. This is a systematic and significant pattern:

Latitude Representative Site Mean Fajr Angle
52°N Birmingham, UK ~13°
40°N Ankara, Turkey ~15°
30°N Egypt (desert) ~13.5°-14.5°
27°N Hail, Saudi Arabia (1020m) ~14.4°
3°-7°N Malaysia/Indonesia ~16°-17°
3°-7°S Indonesia (Java) ~16°-17°
33°-37°S Cape Town / Auckland ~15°-16°

This counter-intuitive result (equatorial sites have higher angles than mid-latitude sites) is likely caused by the geometry of the Earth's atmosphere: at equatorial latitudes, the Sun rises at a steeper angle through the horizon, so morning twilight is briefer and more intense. The same absolute angle corresponds to a later moment relative to sunrise at lower latitudes.

The ML model should capture this latitude-dependent pattern.