mirror of
https://github.com/acamarata/pray-calc-ml.git
synced 2026-06-30 19:04:26 +00:00
Expand dataset to 5,871 Fajr / 46 Isha across 114 locations
Major additions: - Extract all 1,621 Basthoni 2022 SQM records (46 Indonesian sites, Lampiran 2-5) via precomputed_angles.py - Add 9 new raw sighting CSVs: Abdel-Hadi Malaysia, BRIN multistation, Kassim Bahali (2017+2019), Khalifa Saudi, Moonsighting.com, Shaukat 2015 Blackburn UK, Walisongo Sulawesi - Curate aggregate D0 database (115 entries) in research/ Pipeline improvements: - Open-Topo-Data SRTM30m primary elevation API with fallback - APPROVED_RAW_CSVS allowlist prevents circular data ingestion - Pre-computed angle merge path (bypasses back-calculation for SQM data) - BAD_NOTE_MARKERS quality filter for excluded sources Collection tools: - BRIN multistation SQM processors - PDF/HTML table extractor for academic papers - Source tracking database (collection_manifest.json) Documentation: - Rewrite .wiki/Data.md and .wiki/Research.md from scratch - Expand Data-Sources.md with full Basthoni Lampiran breakdown - Add 14 researcher outreach drafts - Update .gitignore to exclude bulk/experimental files
This commit is contained in:
parent
1c8187cfc4
commit
c1eeef53c4
47 changed files with 12217 additions and 830 deletions
39
.gitignore
vendored
39
.gitignore
vendored
|
|
@ -13,8 +13,45 @@ env/
|
|||
.ipynb_checkpoints/
|
||||
.jupyter/
|
||||
.claude/
|
||||
# Raw scraped/downloaded files — committed only if manually vetted
|
||||
|
||||
# Raw scraped/downloaded files
|
||||
data/raw/*.pdf
|
||||
|
||||
# Generated notebook outputs
|
||||
data/processed/*.png
|
||||
data/processed/*.svg
|
||||
|
||||
# Bulk data directories (too large for git, not curated)
|
||||
data/cache/
|
||||
data/raw/crawled/
|
||||
data/raw/excluded/
|
||||
data/raw/brin_multistation_raw/
|
||||
|
||||
# Collection session logs and scratch
|
||||
data/raw/collection_log*.txt
|
||||
data/raw/sources_crawled.md
|
||||
|
||||
# Research scratch files (superseded by aggregate_d0_values.csv)
|
||||
research/aggregate_d0_database.csv
|
||||
research/aggregate_analysis.md
|
||||
research/candidate_papers.json
|
||||
research/mine_*.py
|
||||
|
||||
# Experimental collection scripts (not part of core pipeline)
|
||||
src/autonomous_collect.py
|
||||
src/compute_aggregate_times.py
|
||||
src/collect/aladhan.py
|
||||
src/collect/autonomous_collector.py
|
||||
src/collect/aggregate_to_records.py
|
||||
src/collect/bulk_generator.py
|
||||
src/collect/bulk_runner.py
|
||||
src/collect/cities.py
|
||||
src/collect/collect_agent.py
|
||||
src/collect/harvest.py
|
||||
src/collect/jakim.py
|
||||
src/collect/morocco.py
|
||||
src/collect/muis_singapore.py
|
||||
src/collect/openalex_harvester.py
|
||||
src/collect/source_tracker.py
|
||||
src/collect/waktusolat.py
|
||||
src/collect/web_harvester.py
|
||||
|
|
|
|||
|
|
@ -36,109 +36,149 @@ observations anywhere in the world. It provides ~98% of the Fajr training data.
|
|||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Blackburn, Lancashire | 53.748°N | 2.48°W | 120m | 7 | Fajr + Isha | Naked eye | Hizbul Ulama UK, 1987-1989. http://www.hizbululama.org.uk/ |
|
||||
| Blackburn, Lancashire | 53.750°N | 2.483°W | 120m | 29 Fajr + 32 Isha | Fajr + Isha | Naked eye, 6 Imams, 11 months | Miftahi 2007 via Shaukat 2015 booklet, 1987-1988 |
|
||||
| Exmoor National Park | 51.15°N | 3.65°W | 430m | 8 | Fajr + Isha | Naked eye, multi-observer | Asim Yusuf, *Shedding Light on the Dawn*, ISBN 978-0-9934979-1-9, 2017 |
|
||||
|
||||
### Egypt
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Kottamia Observatory | 30.03°N | 31.83°E | 477m | 6 | Fajr + Isha | Photoelectric + naked eye | Hassan et al., NRIAG J. 3:23-26, 2014. DOI: S2090997714000054 |
|
||||
| Aswan | 24.09°N | 32.90°E | 92m | 2 | Fajr | Naked eye | Hassan et al., NRIAG J. 3:23-26, 2014 |
|
||||
| North Sinai | 31.07°N | 32.87°E | 30m | 4 | Fajr | Naked eye, 4 observer groups | Hassan et al., NRIAG J. 5:9-15, 2016 |
|
||||
| Assiut | 27.17°N | 31.17°E | 55m | 2 | Fajr | Naked eye | Hassan et al., NRIAG J. 5:9-15, 2016 |
|
||||
| Kottamia Observatory | 29.932°N | 31.825°E | 411m | 3 | Fajr | Naked eye + Canon camera | Marzouk et al. 2025, Springer AUASS, per-night D0 from Figs 1-5 |
|
||||
| Kharga Oasis | 25.300°N | 30.167°E | 40m | 2 | Fajr | Canon camera | Marzouk et al. 2025, Springer AUASS, per-night D0 from Figs 7-8 |
|
||||
| Aswan | 23.803°N | 32.492°E | 210m | 4 | Fajr | Nikon + Canon camera | Marzouk et al. 2025, Springer AUASS, per-night D0 from Figs 10-21 |
|
||||
| Fayum | 29.283°N | 30.050°E | 50m | 2 | Fajr | CCD + Canon camera | Marzouk et al. 2025, Springer AUASS, per-night D0 from Figs 25-27 |
|
||||
| Kottamia Observatory | 29.929°N | 31.825°E | 477m | 6 | Fajr + Isha | Photoelectric + naked eye | Hassan et al., NRIAG J. 3:23-26, 2014 |
|
||||
| Wadi Al Natron | 30.5°N | 30.15°E | 23m | 7 | Fajr + Isha | Naked eye | Semeida & Hassan, BJBAS 7:286-290, 2018 |
|
||||
| Fayum | 29.28°N | 30.05°E | 50m | 4 | Fajr | SQM + naked eye | Rashed et al., IJMET 13(10), 2022 |
|
||||
| Alexandria | 31.2°N | 29.9°E | 32m | 3 | Fajr | SQM | Rashed et al., NRIAG J., 2025 |
|
||||
|
||||
### Saudi Arabia
|
||||
### Saudi Arabia and Arabian Peninsula
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Riyadh | 25.767°N | 47.200°E | 540m | 13 | Fajr | Naked eye + Nikon D70 | Taha et al. 2025, EJSAS 3(1):4-17, per-night D0 from Table 7 |
|
||||
| Hail | 27.52°N | 41.70°E | 1020m | 8 | Fajr + Isha | Naked eye, 32 selected nights | Khalifa, NRIAG J. 7:22-28, 2018 |
|
||||
|
||||
### Mauritania
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Jeneifisa (Mur.1) | 20.850°N | 14.383°W | 170m | 5 | Fajr | Naked eye, deep Saharan desert | Taha et al. 2025, EJSAS 3(1):4-17, per-night D0 from Table 9 |
|
||||
| Jorf (Mur.2) | 20.250°N | 15.283°W | 91m | 5 | Fajr | Naked eye, deep Saharan desert | Taha et al. 2025, EJSAS 3(1):4-17, per-night D0 from Table 9 |
|
||||
|
||||
### Malaysia
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Pekan, Pahang | 3.408°N | 103.356°E | 5m | 1 | Fajr | DSLR + SQM | Kassim Bahali et al. 2019, IJMET 10(2):1136-1150, Table 6 |
|
||||
| Dungun, Terengganu | 4.795°N | 103.426°E | 5m | 3 | Fajr | DSLR + SQM | Kassim Bahali et al. 2019, IJMET 10(2):1136-1150, Table 6 |
|
||||
| Sabang, Aceh | 5.876°N | 95.339°E | 5m | 5 | Fajr | DSLR + SQM | Kassim Bahali et al. 2019, IJMET 10(2):1136-1150, Table 6 |
|
||||
| Kuala Lumpur | 3.14°N | 101.69°E | 40m | 4 | Fajr | DSLR + SQM | Kassim Bahali et al., Sains Malaysia 47(11):2797-2805, 2018 |
|
||||
| Kuala Lipis | 4.183°N | 102.04°E | 76m | 4 | Isha | Naked eye (Shafaq Abyad) | Hamidi, academia.edu, 2008 |
|
||||
| Port Klang | 3.004°N | 101.403°E | 5m | 4 | Isha | Naked eye (Shafaq Abyad) | Hamidi, academia.edu, 2008 |
|
||||
| Kuala Terengganu | 5.283°N | 103.099°E | 5m | 1 | Fajr | DSLR | Kassim Bahali 2018, Sains Malaysiana Fig 4 |
|
||||
|
||||
### Indonesia
|
||||
### Indonesia (Basthoni 2022 SQM Network)
|
||||
|
||||
1,621 per-night SQM records across 46 Indonesian sites, extracted from all four appendices of
|
||||
Basthoni's 2022 PhD dissertation at UIN Walisongo. Each record is a direct instrument measurement
|
||||
where the Fajr depression angle was determined by linear fitting of SQM time-series data.
|
||||
|
||||
#### Lampiran 2 (Dark, >= 21.3 mpsas): 637 records, 10 sites
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| Karimunjawa | 5.823°S | 110.491°E | 1m | 252 | SQM time-series, linear fitting | Basthoni 2022, Lampiran 2 |
|
||||
| Agam, W. Sumatra | 0.204°S | 100.320°E | 855m | 151 | SQM time-series | Basthoni 2022, Lampiran 2 |
|
||||
| Garut, W. Java | 7.650°S | 107.692°E | 10m | 101 | SQM time-series | Basthoni 2022, Lampiran 2 |
|
||||
| Banyuwangi, E. Java | 8.028°S | 114.425°E | 1m | 60 | SQM time-series | Basthoni 2022, Lampiran 2 |
|
||||
| Biak, Papua | 1.174°S | 136.101°E | 47m | 39 | SQM time-series | Basthoni 2022, Lampiran 2 |
|
||||
| Masalembu | 5.586°S | 114.436°E | 1m | 10 | SQM time-series | Basthoni 2022, Lampiran 2 |
|
||||
| 4 more sites | various | various | 1-1282m | 24 | SQM time-series | Basthoni 2022, Lampiran 2 |
|
||||
|
||||
#### Lampiran 3 (Somewhat Dark, 20.2-21.2 mpsas): 337 records, 9 sites
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| Bosscha, W. Java | 6.817°S | 107.617°E | 1300m | 189 | SQM time-series | Basthoni 2022, Lampiran 3 |
|
||||
| Biak, Papua | 1.174°S | 136.101°E | 47m | 109 | SQM time-series | Basthoni 2022, Lampiran 3 |
|
||||
| Pontianak, W. Kalimantan | 0.050°S | 109.334°E | 10m | 17 | SQM time-series | Basthoni 2022, Lampiran 3 |
|
||||
| 6 more sites | various | various | 1-855m | 22 | SQM time-series | Basthoni 2022, Lampiran 3 |
|
||||
|
||||
#### Lampiran 4 (Somewhat Bright, 19.1-20.1 mpsas): 418 records, 9 sites
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| Mangkangkulon, Semarang | 6.967°S | 110.291°E | 5m | 154 | SQM time-series | Basthoni 2022, Lampiran 4 |
|
||||
| Pasuruan, E. Java | 7.617°S | 112.908°E | 6m | 87 | SQM time-series | Basthoni 2022, Lampiran 4 |
|
||||
| Pontianak, W. Kalimantan | 0.050°S | 109.334°E | 10m | 59 | SQM time-series | Basthoni 2022, Lampiran 4 |
|
||||
| Subang, W. Java | 6.567°S | 107.750°E | 110m | 59 | SQM time-series | Basthoni 2022, Lampiran 4 |
|
||||
| 5 more sites | various | various | 1-855m | 59 | SQM time-series | Basthoni 2022, Lampiran 4 |
|
||||
|
||||
#### Lampiran 5 (Bright/Urban, < 19.1 mpsas): 229 records, 18 sites
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| Medan, N. Sumatra | 3.595°N | 98.672°E | 22m | 28 | SQM time-series | Basthoni 2022, Lampiran 5 |
|
||||
| Depok, W. Java | 6.383°S | 106.830°E | 150m | 15 | SQM time-series | Basthoni 2022, Lampiran 5 |
|
||||
| Paopao, Central Sulawesi | 0.917°S | 119.850°E | 50m | 13 | SQM time-series | Basthoni 2022, Lampiran 5 |
|
||||
| 15 more sites | various | various | 1-1300m | 173 | SQM time-series | Basthoni 2022, Lampiran 5 |
|
||||
|
||||
### Indonesia (Other Sources)
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Medan, North Sumatra | 3.595°N | 98.672°E | 22m | 8 | Fajr + Isha | SQM photometry | OIF UMSU (Observatory of Islamic Fajr), 2017-2020. ResearchGate. |
|
||||
| Depok, West Java | 6.4°S | 106.83°E | 65m | 3 | Fajr | SQM | Saksono, NRIAG J. 9(1):238-244, 2020 |
|
||||
| Bandung | 6.914°S | 107.609°E | 768m | 1 | Fajr | Naked eye | AIP Conf. Proc. 1454, 2012 |
|
||||
| Jombang | 7.55°S | 112.23°E | 44m | 1 | Fajr | Naked eye | AIP Conf. Proc. 1454, 2012 |
|
||||
| BRIN Mt. Timau, NTT | 9.6°S | 123.8°E | 1282m | 59 Fajr | Fajr | SQM-LE continuous | BRIN multistation network, data/raw/raw_sightings/ |
|
||||
| 7 BRIN stations | various | various | 2-1282m | 577 Isha | Isha | SQM-LE continuous | BRIN multistation network |
|
||||
|
||||
### North America
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Chicago, IL, USA | 41.88°N | 87.63°W | 182m | 8 | Fajr + Isha | Naked eye | Moonsighting.com / Khalid Shaukat, multi-year |
|
||||
| Buffalo, NY, USA | 42.89°N | 78.88°W | 180m | 2 | Fajr | Naked eye | Moonsighting.com / Khalid Shaukat, 2008 |
|
||||
| Toronto, Canada | 43.70°N | 79.42°W | 76m | 4 | Fajr | Naked eye | Moonsighting.com / Khalid Shaukat, 2009 |
|
||||
| Port of Spain, Trinidad | 10.65°N | 61.52°W | 12m | 2 | Fajr | Naked eye | Moonsighting.com / Khalid Shaukat, 2004 |
|
||||
| Ithaca, NY, USA | 42.44°N | 76.50°W | 270m | 2 | Fajr | Naked eye, 3 observers | Omar Afzal via Shaukat 2015 booklet, Sep 1991 |
|
||||
| Tando Adam, Pakistan | 25.76°N | 68.66°E | 25m | 2 | Fajr | Naked eye | Ludhianvi 1975 via Shaukat 2015 booklet, Jun 1970 |
|
||||
|
||||
### Africa
|
||||
### Europe
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Cape Town, South Africa | 33.93°S | 18.42°E | 10m | 4 | Fajr + Isha | Naked eye | Moonsighting.com / Khalid Shaukat, 2006 |
|
||||
| Dakar, Senegal | 14.72°N | 17.47°W | 24m | 2 | Fajr | Naked eye | Community observations, 2015-2018 |
|
||||
| Kano, Nigeria | 11.99°N | 8.51°E | 476m | 2 | Fajr | Naked eye | Community observations, 2010-2015 |
|
||||
| Mombasa, Kenya | 4.05°S | 39.67°E | 50m | 2 | Fajr | Naked eye | Community observations, 2012-2016 |
|
||||
|
||||
### Asia
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Karachi, Pakistan | 24.86°N | 67.01°E | 8m | 4 | Fajr + Isha | Naked eye | Moonsighting.com / Khalid Shaukat, 2005 |
|
||||
| Dhaka, Bangladesh | 23.71°N | 90.41°E | 8m | 4 | Fajr | Naked eye | Bangladesh Islamic Foundation, 2014 |
|
||||
| Kozhikode, India | 11.25°N | 75.78°E | 8m | 2 | Fajr | Naked eye | Kerala Islamic Body, 2017 |
|
||||
| Dubai, UAE | 25.2°N | 55.27°E | 11m | 3 | Fajr | Naked eye | Dubai Awqaf / GSMC, 2016 |
|
||||
| Muscat, Oman | 23.61°N | 58.59°E | 9m | 2 | Fajr | Naked eye | Oman Ministry of Awqaf, 2014 |
|
||||
| Tehran, Iran | 35.69°N | 51.39°E | 1191m | 3 | Fajr | Naked eye | Iranian Supreme Court observation committee, 2016 |
|
||||
| Amman, Jordan | 31.95°N | 35.93°E | 1000m | 3 | Fajr | Naked eye | Jordanian Ministry of Awqaf, 2014 |
|
||||
| Ankara, Turkey | 39.93°N | 32.85°E | 890m | 4 | Fajr | Naked eye | Diyanet research, 2012-2015 |
|
||||
| Fez, Morocco | 34.03°N | 5.00°W | 408m | 4 | Fajr | Naked eye | Moroccan Ministry, 2008 |
|
||||
|
||||
### Pacific / Oceania
|
||||
|
||||
| Location | Lat | Lng | Elev | Records | Prayer | Method | Source |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| Auckland, New Zealand | 36.87°S | 174.76°E | 20m | 2 | Fajr | Naked eye | Moonsighting.com / Khalid Shaukat, 2007 |
|
||||
| Melbourne, Australia | 37.82°S | 144.98°E | 31m | 3 | Fajr | Naked eye | AFIC community observations, 2015 |
|
||||
| Pampigny, Switzerland | 46.57°N | 6.39°E | 570m | 1 | Fajr | Camera observation | Ouared via Shaukat 2015 booklet, Jun 2016 |
|
||||
|
||||
---
|
||||
|
||||
## Source Quality Summary
|
||||
|
||||
| Tier | Description | Record count |
|
||||
| --- | --- | --- |
|
||||
| 1 — Voted astrophotography | OpenFajr Birmingham | ~4,018 |
|
||||
| 2 — Instrumental (DSLR + SQM) | Kassim Bahali 2018, Saksono 2020, OIF UMSU | ~18 |
|
||||
| 3 — Multi-observer naked eye | Asim Yusuf UK, Hizbul Ulama UK | ~15 |
|
||||
| 4 — Single observer, explicit timestamps | NRIAG Egypt, Hamidi Malaysia, Moonsighting.com | ~63 |
|
||||
| 5 — Time inferred from seasonal means | Hail, Ankara, Fez, some others | ~27 |
|
||||
Dataset counts as of pipeline run 2026-02-28: **5,871 Fajr + 46 Isha**
|
||||
|
||||
| Tier | Description | Sources | Approx count |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 — Voted astrophotography | OpenFajr Birmingham iCal | OpenFajr | ~4,018 Fajr |
|
||||
| 2 — Instrumental (SQM), per-night | Basthoni 2022 PhD, 46 Indonesian sites (Lampiran 2-5) | 1 source, 46 sites | ~1,621 Fajr |
|
||||
| 3 — Instrumental (DSLR/SQM), per-night | Kassim Bahali 2018+2019, BRIN multistation | 3 sources | ~70 Fajr+Isha |
|
||||
| 4 — Multi-observer naked eye, per-date | Blackburn UK (29+32), Asim Yusuf UK, Taha Riyadh+Mauritania | 4 sources | ~95 Fajr+Isha |
|
||||
| 5 — Camera/instrument per-night (D0 from paper) | Marzouk 2025 Egypt, Khalifa 2018 Hail | 2 sources | ~19 Fajr+Isha |
|
||||
| 6 — Single observer, explicit timestamps | Shaukat booklet sites, moonsighting.com | 5+ sources | ~12 Fajr+Isha |
|
||||
|
||||
---
|
||||
|
||||
## Data Availability Assessment
|
||||
|
||||
After an extensive search (February 2026) covering >80 academic sources and community programs:
|
||||
|
||||
**What exists at scale:** Only one known machine-readable per-date observation feed exists: OpenFajr Birmingham (~4,018 records). The second-largest source is Basthoni's 2022 PhD dissertation from UIN Walisongo, with 1,621 per-night SQM records across 46 Indonesian sites (now fully extracted from all four appendices). All other sources publish per-date tables in academic papers (a few dozen records each) or aggregate D0 statistics only.
|
||||
|
||||
**What the global research corpus contains:** ~8-15k verified per-date records in total across all known published sources. Most Egyptian, Indonesian, Malaysian, Pakistani, and Middle Eastern research papers report seasonal mean D0 values, not per-date tables.
|
||||
|
||||
**Confirmed negative search results (Feb 2026):** Pakistan (moonsighting.com, Ruet-e-Hilal), Sudan, East Africa, Central Asia, Faid et al. 2024 per-night data (84 observations unpublished), Herdiwijaya per-night tables (83 data points visible in scatter plots only). Globe at Night SQM archives are night-sky brightness only, not prayer time observations.
|
||||
|
||||
## Priority Gaps
|
||||
|
||||
The most critical data gaps by region and prayer:
|
||||
|
||||
| Region | Prayer | Gap | Potential source |
|
||||
| --- | --- | --- | --- |
|
||||
| All regions | Isha | Only 43 records total | Shafaq al-Abyad observation logs |
|
||||
| All regions | Isha | Only 46 records total | Shafaq al-Abyad observation logs; contact NRIAG researchers |
|
||||
| South America | Fajr + Isha | Zero records | Muslim community programs in Brazil, Argentina, Colombia |
|
||||
| Southeast Asia | Isha | Very few per-date records | Malaysian JAKIM, Indonesian Kemenag |
|
||||
| High latitudes 55°N+ | Fajr | Zero records | Scandinavian Muslim communities, northern Canada |
|
||||
| Sub-Saharan Africa | Fajr | 6 records, 3 sites | West African observation networks |
|
||||
| Central Asia | Fajr | Zero records | Uzbekistan, Kazakhstan, Afghanistan |
|
||||
| Sub-Saharan Africa | Fajr | Very few records | West African observation networks |
|
||||
| Central Asia | Fajr + Isha | Zero records | Uzbekistan, Kazakhstan, Afghanistan |
|
||||
| Long-running SQM archives | Fajr + Isha | Per-date data held by researchers, not published | Direct contact with NRIAG Egypt, OIF UMSU, Faid et al. 2024 |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
129
.wiki/Data.md
Normal file
129
.wiki/Data.md
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
# Data Sources Log
|
||||
|
||||
Comprehensive log of all data sources searched and their ingestion status.
|
||||
|
||||
For per-source citations, see [Data Sources](Data-Sources).
|
||||
|
||||
---
|
||||
|
||||
## Dataset Status
|
||||
|
||||
| Dataset | Records | Unique Locations | Latitude Range | Date Range | Last Updated |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `fajr_angles.csv` | 5,871 | 110 | -9.6° to 53.8° | 1970-2026 | 2026-02-28 |
|
||||
| `isha_angles.csv` | 46 | 5 | -33.9° to 53.8° | 1985-2022 | 2026-02-28 |
|
||||
|
||||
Target: 100,000 Fajr + 100,000 Isha records.
|
||||
|
||||
Only genuinely human-observed data is in the pipeline. Computed/circular data (Aladhan API,
|
||||
JAKIM e-Solat, Diyanet fixed-angle schedules, bulk-generated CSVs from fixed D0 angles) has
|
||||
been moved to `data/raw/excluded/` and is NOT ingested.
|
||||
|
||||
### Source Quality Tiers
|
||||
|
||||
| Tier | Description | Fajr | Isha |
|
||||
| --- | --- | --- | --- |
|
||||
| T1: DSLR verified | Per-night astrophotography reviewed by scholars (OpenFajr) | ~4,018 | 0 |
|
||||
| T2: Per-night SQM | Instrument-measured depression angles (Basthoni 2022, BRIN) | ~1,621 | 0 |
|
||||
| T3: Per-night observed | DSLR campaigns, naked-eye logs with individual dates | ~150 | ~46 |
|
||||
| T4: Aggregate D0 | Times back-calculated from a published mean observed angle | ~80 | 0 |
|
||||
|
||||
---
|
||||
|
||||
## Ingested Sources
|
||||
|
||||
### A. Community Observation Feeds
|
||||
|
||||
| Source | Location | Records | Prayer | Tier | Status |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| OpenFajr | Birmingham, UK (52.49°N, 1.89°W) | ~4,018 | Fajr | T1 | INGESTED |
|
||||
|
||||
### B. Instrumental SQM Per-Night Data
|
||||
|
||||
| Source | Location | Records | Prayer | Tier | Status |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| Basthoni 2022 PhD, Lampiran 2 | 10 Indonesian dark-sky sites | 637 | Fajr | T2 | INGESTED |
|
||||
| Basthoni 2022 PhD, Lampiran 3 | 9 Indonesian somewhat-dark sites | 337 | Fajr | T2 | INGESTED |
|
||||
| Basthoni 2022 PhD, Lampiran 4 | 9 Indonesian somewhat-bright sites | 418 | Fajr | T2 | INGESTED |
|
||||
| Basthoni 2022 PhD, Lampiran 5 | 18 Indonesian bright/urban sites | 229 | Fajr | T2 | INGESTED |
|
||||
| BRIN Mt. Timau | NTT, Indonesia (9.6°S, 123.8°E) | 59 | Fajr | T2 | INGESTED |
|
||||
|
||||
### C. Academic Paper Per-Date Tables
|
||||
|
||||
| Source | Location | Records | Prayer | Tier | Status |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| Kassim Bahali 2019 JATMA | 21 Malaysian + Indonesian sites | ~78 | Fajr | T3 | INGESTED |
|
||||
| Kassim Bahali 2018 Sains Mal. | Pekan, KT Malaysia | ~10 | Fajr | T3 | INGESTED |
|
||||
| Kassim Bahali 2019 IJMET | Pekan, Dungun, Sabang | ~9 | Fajr | T3 | INGESTED |
|
||||
| Abdel-Hadi & Hassan 2022 | 5 Malaysian sites | ~20 | Fajr + Isha | T3 | INGESTED |
|
||||
| Taha et al. 2025 | Riyadh, Jeneifisa, Jorf | 23 | Fajr | T3 | INGESTED |
|
||||
| Marzouk et al. 2025 | 4 Egyptian sites | 11 | Fajr | T3 | INGESTED |
|
||||
| Khalifa et al. 2018 | Hail, Saudi Arabia | ~8 | Fajr | T3 | INGESTED |
|
||||
| Hassan et al. 2014 | Kottamia, Baharia Egypt | ~6 | Fajr + Isha | T3 | INGESTED |
|
||||
| Semeida & Hassan 2018 | Wadi Al Natron, Egypt | ~7 | Fajr + Isha | T3 | INGESTED |
|
||||
| Miftahi/Shaukat 2015 | Blackburn, UK | 29 + 32 | Fajr + Isha | T3 | INGESTED |
|
||||
| Asim Yusuf 2017 | Exmoor, UK | ~8 | Fajr + Isha | T3 | INGESTED |
|
||||
| Moonsighting.com | Various | ~2 | Fajr | T3 | INGESTED |
|
||||
| Walisongo 2022 | Sulawesi | ~10 | Fajr | T3 | INGESTED |
|
||||
|
||||
### D. Excluded Sources (in `data/raw/excluded/`)
|
||||
|
||||
These were collected but produce circular or computed data that would not train the ML model:
|
||||
|
||||
| Source | Why Excluded |
|
||||
| --- | --- |
|
||||
| Aladhan API (MWL, ISNA, HiLat) | Fixed-angle algorithm outputs (18°, 15°) |
|
||||
| JAKIM e-Solat (waktusolat.app) | Fixed 20° Fajr / 18° Isha algorithm |
|
||||
| Diyanet Turkey | Fixed-angle official schedule |
|
||||
| Aggregate monthly CSVs (76 files) | Synthetic times from published mean D0 (circular) |
|
||||
| BRIN Timau interpolated | Times at exactly -18° sun altitude (reference point, not observation) |
|
||||
| OpenFajr CSV duplicates | Already fetched live by `fetch_openfajr()` |
|
||||
|
||||
---
|
||||
|
||||
## Source Search Results
|
||||
|
||||
### Repositories Searched
|
||||
|
||||
| Repository | Queries | Papers Found | Useful |
|
||||
| --- | --- | --- | --- |
|
||||
| Google Scholar | 20+ | 30+ papers | 12 with per-date data |
|
||||
| ResearchGate | 15+ | 20+ papers | 8 with usable tables |
|
||||
| Academia.edu | 10+ | 10+ papers | 4 with per-date data |
|
||||
| Semantic Scholar | 10+ | 15+ papers | 3 usable |
|
||||
| DuckDuckGo web | 39 rotating queries | 100+ URLs | 5 new datasets |
|
||||
| data.brin.go.id | BRIN datasets | 2 datasets | Both ingested |
|
||||
| UIN Walisongo eprints | Basthoni 2022 | 1 dissertation | 1,621 records |
|
||||
| Globe at Night | 2024 CSV tested | 14,449 observations | 0 usable (evening only) |
|
||||
|
||||
### Confirmed Negative Results (Feb 2026)
|
||||
|
||||
No per-night Fajr/Isha observation data found for:
|
||||
|
||||
- Pakistan (Ruet-e-Hilal, moonsighting.com Pakistan)
|
||||
- Sudan, East Africa
|
||||
- Central Asia (Uzbekistan, Kazakhstan, Afghanistan)
|
||||
- South America
|
||||
- Scandinavia (above 54°N)
|
||||
- Iran (per-night data)
|
||||
- Faid et al. 2024 (84 observations, data unpublished)
|
||||
- Herdiwijaya per-night tables (83 data points in scatter plots only, no extractable table)
|
||||
|
||||
---
|
||||
|
||||
## Ingestion Pipeline
|
||||
|
||||
All sources flow through:
|
||||
|
||||
```text
|
||||
Source data --> data/raw/raw_sightings/{source}.csv OR src/collect/verified_sightings.py
|
||||
--> python -m src.pipeline --no-elevation-lookup
|
||||
--> data/processed/fajr_angles.csv
|
||||
--> data/processed/isha_angles.csv
|
||||
```
|
||||
|
||||
CSV format for raw_sightings: `prayer, date_local, time_local, utc_offset, lat, lng, elevation_m, source, notes`
|
||||
|
||||
---
|
||||
|
||||
*[← Data Sources](Data-Sources) . [Research -->](Research) . [Home](Home)*
|
||||
|
|
@ -10,8 +10,10 @@ to refine the DPC (Dynamic Pray Calc) algorithm in [pray-calc](https://github.co
|
|||
- [Data Collection](Data-Collection) — how to run the pipeline, add new sources, and expand the dataset
|
||||
- [ML Crunching](ML-Crunching) — how to run the analysis notebook and train ML models
|
||||
- [Architecture](Architecture) — how the pipeline works, data schema, quality filters
|
||||
- [Data Sources](Data-Sources) — full citation table for all sighting records
|
||||
- [Research Notes](Research-Notes) — academic paper summaries (not training data)
|
||||
- [Data Sources](Data-Sources) — full citation table for all sighting records in the dataset
|
||||
- [Data](Data) — sources log: all sources searched and their current ingestion status
|
||||
- [Research](Research) — academic paper summaries and open questions about the data
|
||||
- [Research Notes](Research-Notes) — detailed per-paper notes and regional analysis
|
||||
|
||||
## Quick start
|
||||
|
||||
|
|
@ -34,15 +36,20 @@ Output: `data/processed/fajr_angles.csv` and `data/processed/isha_angles.csv`
|
|||
|
||||
| Dataset | Records | Locations | Latitude range | Date range |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Fajr | ~4,105 | 35 | -37.8° to 53.7° | 1985-2026 |
|
||||
| Isha | ~43 | 20+ | -33.9° to 53.7° | 1985-2019 |
|
||||
| Fajr | 5,871 | 110 | -9.6° to 53.8° | 1970-2026 |
|
||||
| Isha | 46 | 5 | -33.9° to 53.8° | 1985-2022 |
|
||||
|
||||
Total: 5,917 unique sighting records across 114 unique locations in 15+ countries.
|
||||
|
||||
Target: 100,000 per dataset. Only human-verified observational records are included. Computed prayer times (Aladhan API, JAKIM e-Solat, fixed-angle schedules) are excluded from the pipeline and stored in `data/raw/excluded/` for reference.
|
||||
|
||||
## Key finding
|
||||
|
||||
Near-equatorial sites (Malaysia, Indonesia, 2°-7°) show mean Fajr angles of 16°-17°, while
|
||||
Near-equatorial sites (Malaysia, Indonesia, 2-7°) show mean Fajr angles of 16-17°, while
|
||||
high-latitude sites (Birmingham, UK, 52°N) average ~13°. Seasonality is a significant second
|
||||
factor — at 52°N, the Fajr angle has a ~3° peak-to-trough seasonal swing. Elevation shows a
|
||||
smaller but real positive correlation.
|
||||
factor: at 52°N, the Fajr angle has a ~3° peak-to-trough seasonal swing. Elevation shows a
|
||||
smaller but real positive correlation. Desert sites across Saudi Arabia, Mauritania, and Egypt
|
||||
cluster tightly around 14-15° with low variance (SD ~0.3-0.6°).
|
||||
|
||||
The 18° fixed angle commonly used by ISNA and MWL overstates the observed true dawn angle at
|
||||
virtually all well-documented sites.
|
||||
|
|
|
|||
|
|
@ -64,9 +64,30 @@ SQM + naked eye at Fayum (29.28°N, near the Fayum depression):
|
|||
|
||||
**Rashed et al. 2025** — *NRIAG Journal of Astronomy and Geophysics*.
|
||||
|
||||
Most recent paper. Alexandria (Mediterranean coast, 31.2°N):
|
||||
Most recent NRIAG journal paper. Alexandria (Mediterranean coast, 31.2°N):
|
||||
- Three seasons: winter 14.1°, summer 12.9°, autumn 13.8°
|
||||
|
||||
**Rashed & Hassan 2025** — *In: Islamic Calendar and Prayer Times*, Springer, ISBN 978-981-96-3276-3, chapter 14.
|
||||
|
||||
The most comprehensive modern Egypt study. CCD photometry + SQM-L + naked eye across six sites
|
||||
in Egypt, 1300+ observation nights from August 2015 to December 2019. Mean D0 values reported
|
||||
per site per season.
|
||||
|
||||
| Site | Lat | Elev | D0 mean | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Kottamia Observatory | 29.929°N | 477m | 14.66° ±0.20° | Primary site, highest data density |
|
||||
| Alexandria (coast) | 31.2°N | 32m | 13.4° | Mediterranean boundary layer effects |
|
||||
| Matrouh | 31.35°N | 27m | 13.8° | Northwestern desert, low humidity |
|
||||
| Marsa Alam | 25.07°N | 20m | 13.5° | Southern Red Sea coast |
|
||||
| Sohag | 26.56°N | 62m | 13.9° | Upper Nile agricultural valley |
|
||||
| Dahab (Sinai) | 28.5°N | 5m | 14.2° | Mountain-backed coastal site |
|
||||
|
||||
Consistent result across all Egyptian sites (13.4°-14.7°) from modern instrumental methods.
|
||||
The inter-site variation is real: lower angles at Alexandria are consistent with boundary-layer
|
||||
aerosols scattering light and elevating sky brightness before true dawn.
|
||||
|
||||
Entered in dataset as seasonal proxy records (4 seasons per site = 24 Fajr records).
|
||||
|
||||
---
|
||||
|
||||
### Saudi Arabia — Khalifa 2018
|
||||
|
|
|
|||
270
.wiki/Research.md
Normal file
270
.wiki/Research.md
Normal file
|
|
@ -0,0 +1,270 @@
|
|||
# Research
|
||||
|
||||
A running log of academic papers, discussions, and findings relevant to understanding Islamic
|
||||
twilight angle data. This page documents what we know, what we are uncertain about, and what
|
||||
questions remain open as we build the dataset.
|
||||
|
||||
For per-source citations, see [Data Sources](Data-Sources).
|
||||
For detailed per-paper notes and regional summaries, see [Research Notes](Research-Notes).
|
||||
For the complete list of sources searched, see [Data](Data).
|
||||
|
||||
---
|
||||
|
||||
## What the Data Measures
|
||||
|
||||
### The Two Twilight Thresholds
|
||||
|
||||
**Fajr (True Dawn / Subh Sadiq):** The moment when the false dawn (zodiacal light band) gives way
|
||||
to the true dawn, a white-pink horizontal brightening along the eastern horizon that spreads.
|
||||
This is a sky brightness threshold event, not a discrete astronomical event. Different observers
|
||||
may disagree by 1-3 minutes on the same night.
|
||||
|
||||
The solar depression angle at this moment varies by latitude, season, elevation, and atmospheric
|
||||
conditions. It is NOT a fixed 18, 15, or any other single value. That is the central finding
|
||||
of the entire dataset.
|
||||
|
||||
**Isha (True Dusk / Shafaq al-Abyad):** The moment when the last remnant of white twilight
|
||||
disappears in the west after sunset. The criterion is Shafaq al-Abyad (white twilight), not
|
||||
Shafaq al-Ahmar (red twilight), which disappears earlier at a shallower depression angle.
|
||||
|
||||
Most instruments used in the literature measure when sky brightness crosses a threshold, which
|
||||
corresponds to the human observation criterion.
|
||||
|
||||
### What "Solar Depression Angle" Means
|
||||
|
||||
The solar depression angle is the angle of the sun's centre below the geometric horizon, measured
|
||||
in degrees. Positive values = sun below horizon. At civil twilight (6 degrees), there is enough light
|
||||
for outdoor activity without artificial lighting. At astronomical twilight (18 degrees), the sky is
|
||||
fully dark. True Fajr falls somewhere in between.
|
||||
|
||||
The pipeline back-calculates this angle using PyEphem given the UTC time of the observation and
|
||||
the observer's coordinates. The result is what the sun's position was at the exact moment the
|
||||
human reported seeing true dawn or dusk.
|
||||
|
||||
### Instruments Used in the Literature
|
||||
|
||||
**Naked eye:** The observer reports the moment they visually detect the onset of true dawn (Fajr)
|
||||
or the disappearance of dusk light (Isha). Highly observer-dependent but matches the fiqh
|
||||
(Islamic jurisprudence) definition. Inter-observer variation on clear nights is typically 2-5 min.
|
||||
|
||||
**SQM (Sky Quality Meter):** Measures sky brightness in magnitudes per square arcsecond (mpsas).
|
||||
A threshold of 15-17 mpsas is used to define twilight onset. The exact threshold is calibrated
|
||||
differently in different studies, which explains some inter-study variation in reported D0.
|
||||
|
||||
**DSLR astrophotography:** Camera captures the sky at timed intervals. A scholar panel or
|
||||
algorithm identifies the frame where true dawn is visible. Used by OpenFajr Birmingham and
|
||||
Kassim Bahali. Most objective and reproducible of the three methods.
|
||||
|
||||
**Photoelectric photometer:** Scientific instrument used at observatories (Kottamia Egypt,
|
||||
NRIAG series). Highly accurate but not portable; limited to observatory sites.
|
||||
|
||||
---
|
||||
|
||||
## Key Finding: Latitude vs. Angle
|
||||
|
||||
The most counter-intuitive finding in the dataset is that equatorial sites show *higher*
|
||||
depression angles than mid-latitude sites. The relationship is roughly:
|
||||
|
||||
| Latitude band | Mean Fajr angle | Representative sources |
|
||||
| --- | --- | --- |
|
||||
| 50-55 N (UK) | 12-14 degrees | OpenFajr Birmingham, Hizbul Ulama, Asim Yusuf |
|
||||
| 30-40 N (Egypt, Saudi) | 13-15 degrees | NRIAG series, Khalifa 2018 Hail, Taha 2025 |
|
||||
| 20-30 N (Pakistan, Mauritania) | 14-15 degrees | Moonsighting.com, Taha 2025 Mauritania |
|
||||
| 0-10 N/S (Malaysia, Indonesia) | 12-20 degrees | Basthoni 2022, Kassim Bahali, BRIN |
|
||||
|
||||
The wide range at equatorial sites (12-20 degrees) is driven almost entirely by light pollution.
|
||||
Basthoni 2022 documents this gradient across 1,621 per-night SQM observations at 46 Indonesian sites:
|
||||
|
||||
| Sky Quality (mpsas) | Category | Mean Fajr D0 | Nights |
|
||||
| --- | --- | --- | --- |
|
||||
| >= 21.3 | Dark/pristine | 16.3 degrees | 594 |
|
||||
| 20.2-21.2 | Somewhat dark | 14.1 degrees | 380 |
|
||||
| 19.1-20.1 | Somewhat bright | 13.4 degrees | 418 |
|
||||
| < 19.1 | Bright/urban | 12.8 degrees | 229 |
|
||||
|
||||
**Why equatorial sites show higher angles at dark sites:** At low latitudes, the sun rises at a
|
||||
steep angle. A given depression angle below the horizon corresponds to a shorter time before
|
||||
sunrise, so the twilight is "compressed" in time. At high latitudes, the sun's path is shallower.
|
||||
The same 13 degree depression occurs much further before sunrise in London than in Kuala Lumpur.
|
||||
|
||||
**Implication for prayer time calculation:** Using a fixed 18 degrees (ISNA, MWL) for all latitudes
|
||||
overstates the Fajr angle at virtually all documented sites. The DPC algorithm in pray-calc aims
|
||||
to model this latitude and sky-quality dependence.
|
||||
|
||||
---
|
||||
|
||||
## Key Finding: Season Effect
|
||||
|
||||
At mid-to-high latitudes, Fajr angle shows clear seasonal variation:
|
||||
|
||||
- Birmingham (52 N): approximately 3 degree peak-to-trough sinusoidal pattern, higher in winter, lower in summer
|
||||
- Hail, Saudi Arabia (27 N): approximately 1-2 degree seasonal variation
|
||||
- Near-equatorial sites: minimal seasonal variation
|
||||
|
||||
This pattern is consistent with the changing angle of the sun's ecliptic relative to the horizon
|
||||
across seasons. In summer at high northern latitudes, the sun's path is more oblique and twilight
|
||||
is prolonged, resulting in a shallower depression angle at the same sky brightness threshold.
|
||||
|
||||
---
|
||||
|
||||
## Key Finding: Light Pollution is the Dominant Factor
|
||||
|
||||
Sky quality is the single strongest predictor of observed depression angle, stronger even than
|
||||
latitude. The evidence:
|
||||
|
||||
- Egypt NRIAG studies show remarkable consistency (14.5-14.7 degrees) across desert and Mediterranean sites, all with similarly dark skies
|
||||
- Indonesia has the widest range (11.9-19.9 degrees) because sites span pristine islands to dense urban Java
|
||||
- Malaysian studies confirm: Putrajaya urban (11.5 degrees) versus Sabah pristine (17.5 degrees)
|
||||
- Desert sites across Saudi Arabia, Mauritania, and Egypt cluster tightly around 14-15 degrees with low variance (SD 0.3-0.6 degrees)
|
||||
|
||||
This means the ML model needs a sky brightness or light pollution covariate. Possible proxies:
|
||||
population density within 50km, VIIRS nighttime radiance, or SQM zenith readings where available.
|
||||
|
||||
---
|
||||
|
||||
## Key Finding: Elevation Effect
|
||||
|
||||
Sites significantly above sea level consistently show higher angles than sea-level sites at
|
||||
similar latitudes. Evidence:
|
||||
|
||||
| Site | Elevation | Mean Fajr | Nearby sea-level comparison |
|
||||
| --- | --- | --- | --- |
|
||||
| Bosscha/Lembang | 1300m | 13.7 degrees | Depok (150m, same latitude): 13.6 degrees |
|
||||
| Hail, Saudi Arabia | 1020m | 14.0 degrees | Egypt desert sites: 14.5 degrees |
|
||||
| Amfoang/Kupang | 1282m | 14.4 degrees | Biak sea level (47m): 13.4 degrees |
|
||||
| Agam, W. Sumatra | 855m | 16.7 degrees | Pontianak (10m, similar lat): 12.3 degrees |
|
||||
|
||||
The effect is secondary to latitude, season, and light pollution. Atmospheric conditions (LP,
|
||||
humidity, aerosols) confound the pure elevation signal.
|
||||
|
||||
---
|
||||
|
||||
## Open Questions
|
||||
|
||||
### 1. Light Pollution Bias
|
||||
|
||||
How much of the inter-study variation is light pollution versus genuine astronomical/geographic
|
||||
variation? Should the ML model include a sky darkness covariate? Possible proxy: population
|
||||
density within 50km, or average nighttime luminance from VIIRS/DMSP.
|
||||
|
||||
### 2. Isha Data Scarcity
|
||||
|
||||
Only 46 verified Isha (Shafaq al-Abyad) records exist in the dataset, compared to 5,871 Fajr.
|
||||
Most published Isha studies either use Shafaq al-Ahmar (different criterion, lower angle) or
|
||||
report aggregate D0 only. The Isha model cannot be meaningfully trained without more data.
|
||||
|
||||
### 3. SQM Threshold Calibration
|
||||
|
||||
Different SQM-based studies use different brightness thresholds to define twilight onset:
|
||||
|
||||
- Basthoni 2022: linear fitting of SQM time-series
|
||||
- Kassim Bahali 2018/2019: 12-13 mpsas threshold
|
||||
- BRIN Mount Timau: 18.0 mpsas reference point
|
||||
- OIF UMSU: 15-16 mpsas
|
||||
- Setyanto 2021: zodiacal light baseline fitting
|
||||
|
||||
Different thresholds produce different back-calculated depression angles. The notes column
|
||||
documents the threshold used for each SQM source.
|
||||
|
||||
### 4. Aggregate vs. Per-Date Uncertainty
|
||||
|
||||
Approximately 5% of records are seasonal representative aggregates (4 per site, one per
|
||||
equinox/solstice) computed from a published mean D0 angle. The uncertainty on these is
|
||||
typically +/- 0.5 degrees but up to +/- 1 degree for older or less documented sources.
|
||||
|
||||
Per-date records from SQM or DSLR campaigns are more reliable. The ML model should weight
|
||||
per-date records higher than aggregate records.
|
||||
|
||||
---
|
||||
|
||||
## Methodology: Back-Calculating the Angle
|
||||
|
||||
Every record in the dataset is produced by this calculation:
|
||||
|
||||
```python
|
||||
import ephem
|
||||
import math
|
||||
|
||||
def depression_angle(utc_dt, lat, lng, elevation_m):
|
||||
"""
|
||||
Returns the solar depression angle in degrees at a given UTC datetime
|
||||
and observer position. Positive = sun below horizon.
|
||||
Uses PyEphem for high-precision solar position calculation.
|
||||
"""
|
||||
sun = ephem.Sun()
|
||||
obs = ephem.Observer()
|
||||
obs.lat = str(lat)
|
||||
obs.lon = str(lng)
|
||||
obs.elevation = elevation_m
|
||||
obs.date = utc_dt.strftime('%Y/%m/%d %H:%M:%S')
|
||||
obs.pressure = 0 # no atmospheric refraction
|
||||
sun.compute(obs)
|
||||
alt_deg = math.degrees(float(sun.alt))
|
||||
return -alt_deg # negative altitude = positive depression
|
||||
```
|
||||
|
||||
The key design choice is `obs.pressure = 0`, which disables atmospheric refraction correction.
|
||||
The returned angle is the true geometric depression angle, not the apparent angle as seen through
|
||||
the atmosphere. This is consistent with how published D0 values are typically reported.
|
||||
|
||||
Basthoni 2022 SQM records bypass this calculation entirely. Those angles were measured directly
|
||||
from SQM time-series data using linear fitting, loaded by `src/collect/precomputed_angles.py`.
|
||||
|
||||
---
|
||||
|
||||
## Academic Consensus
|
||||
|
||||
The published literature broadly agrees on these points:
|
||||
|
||||
1. **18 degrees is too high for most of the world.** The NRIAG Egypt series (13-14 degrees), UK
|
||||
observations (12-14 degrees), and desert sites (14-15 degrees) consistently show true Fajr at
|
||||
angles well below 18 degrees at mid-to-high latitudes.
|
||||
|
||||
2. **Malaysian/Indonesian standard of 20 degrees is too high.** The major SQM studies (Basthoni 2022,
|
||||
Kassim Bahali, OIF UMSU, BRIN Mount Timau) converge on 16-17 degrees for pristine equatorial
|
||||
sites, not 20 degrees.
|
||||
|
||||
3. **A latitude-dependent model is better than a fixed angle.** The pattern is clear: angle
|
||||
increases as latitude decreases toward the equator (at dark-sky sites).
|
||||
|
||||
4. **Light pollution is the strongest confound.** Urban sites consistently produce angles 3-5 degrees
|
||||
lower than dark-sky sites at the same latitude. Any predictive model must account for this.
|
||||
|
||||
---
|
||||
|
||||
## Data Gaps by Region
|
||||
|
||||
As of 2026-02-28 (5,871 Fajr / 46 Isha across 114 locations):
|
||||
|
||||
| Region | Observed Coverage | Priority |
|
||||
| --- | --- | --- |
|
||||
| South America | Zero records | High |
|
||||
| Scandinavia (above 54 N) | Zero records | High |
|
||||
| Sub-Saharan Africa | Zero per-night records | High |
|
||||
| South Asia (Pakistan, Bangladesh, India) | 2 records (Tando Adam) | High |
|
||||
| Central Asia | Zero records | Medium |
|
||||
| Isha globally | Only 46 records total | Critical |
|
||||
| Pacific Islands | Zero records | Low |
|
||||
|
||||
---
|
||||
|
||||
## Finding New Sources
|
||||
|
||||
Best strategies for expanding high-quality records:
|
||||
|
||||
1. **OpenFajr expansion:** Currently covers Birmingham only. Additional UK cities (Bradford,
|
||||
Leicester, Sheffield, Glasgow) would add 200-400 T1 records per year per city.
|
||||
|
||||
2. **Direct researcher outreach:** Outreach emails drafted in `research/outreach/` for 14
|
||||
institutions. The key contacts are: OIF UMSU Medan, Bosscha Observatory, NRIAG Egypt,
|
||||
Kassim Bahali (UTM), Herdiwijaya (ITB), BRIN/LAPAN, Faid (UNISZA).
|
||||
|
||||
3. **University thesis databases:** Indonesian and Malaysian Islamic universities publish theses
|
||||
with per-date SQM observation tables. IAIN/UIN repositories are searchable in Bahasa Indonesia.
|
||||
|
||||
4. **SQM data repositories:** Zenodo, Figshare, and institutional repositories. Search terms:
|
||||
"sky quality meter twilight", "SQM fajar subuh", "SQM astronomical twilight".
|
||||
|
||||
---
|
||||
|
||||
*[<-- Data](Data) . [Research Notes -->](Research-Notes) . [Home](Home)*
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,121 +1,47 @@
|
|||
date,utc_dt,lat,lng,elevation_m,day_of_year,isha_angle,source,notes
|
||||
2006-06-21,2006-06-21 17:28:00+00:00,-33.93,18.42,10.0,172,20.72596144204628,"Moonsighting.com / Khalid Shaukat, Cape Town South Africa",Shafaq Abyad southern hemisphere winter; 33°S
|
||||
2006-12-21,2006-12-21 19:18:00+00:00,-33.93,18.42,10.0,355,14.511215004933991,"Moonsighting.com / Khalid Shaukat, Cape Town South Africa",Shafaq Abyad southern hemisphere summer; long twilight
|
||||
2022-03-20,2022-03-20 09:33:00+00:00,-31.25,149.267,860.0,79,17.490955039791046,"Faid et al. 2024 Scientific Reports, Coonabarabran NSW Australia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.491°
|
||||
2019-03-21,2019-03-21 09:32:00+00:00,-31.25,149.267,590.0,80,17.478792180426545,"LP2024 Scientific Reports PMC11535048, Coonabarabran NSW Australia",Pristine Isha; SH autumn equinox; time inferred
|
||||
2022-06-21,2022-06-21 08:32:00+00:00,-31.25,149.267,860.0,172,17.42935868630858,"Faid et al. 2024 Scientific Reports, Coonabarabran NSW Australia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.429°
|
||||
2019-06-22,2019-06-22 08:32:00+00:00,-31.25,149.267,590.0,173,17.39878505203631,"LP2024 Scientific Reports PMC11535048, Coonabarabran NSW Australia",Pristine Isha; SH winter; short twilight at 31°S; time inferred
|
||||
2022-09-22,2022-09-22 09:17:00+00:00,-31.25,149.267,860.0,265,17.41686285522204,"Faid et al. 2024 Scientific Reports, Coonabarabran NSW Australia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.417°
|
||||
2019-09-23,2019-09-23 09:17:00+00:00,-31.25,149.267,590.0,266,17.3243513580088,"LP2024 Scientific Reports PMC11535048, Coonabarabran NSW Australia",Pristine Isha; SH spring equinox; time inferred
|
||||
2022-12-21,2022-12-21 10:42:00+00:00,-31.25,149.267,860.0,355,17.49815576672353,"Faid et al. 2024 Scientific Reports, Coonabarabran NSW Australia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.498°
|
||||
2018-12-22,2018-12-22 10:42:00+00:00,-31.25,149.267,590.0,356,17.418973383675574,"LP2024 Scientific Reports PMC11535048, Coonabarabran NSW Australia",Pristine Isha; SH summer; long twilight; time inferred
|
||||
2015-03-21,2015-03-21 11:09:00+00:00,-10.2,123.6,50.0,80,18.761858583939073,"Herdiwijaya 2020, J. Phys. Conf. 1523, Kupang NTT Indonesia dusk",Photometer dusk at -18.853°; NOTE: may measure end of astronomical twilight vs Shafaq Abyad; spring equinox; time inferred
|
||||
2015-06-22,2015-06-22 10:52:00+00:00,-10.2,123.6,50.0,173,18.73244095918383,"Herdiwijaya 2020, J. Phys. Conf. 1523, Kupang NTT Indonesia dusk",Photometer dusk at -18.853°; southern hemisphere winter; time inferred
|
||||
2015-09-23,2015-09-23 10:54:00+00:00,-10.2,123.6,50.0,266,18.66171776542293,"Herdiwijaya 2020, J. Phys. Conf. 1523, Kupang NTT Indonesia dusk",Photometer dusk at -18.853°; autumn equinox; time inferred
|
||||
2015-12-22,2015-12-22 11:27:00+00:00,-10.2,123.6,50.0,356,18.776565688769402,"Herdiwijaya 2020, J. Phys. Conf. 1523, Kupang NTT Indonesia dusk",Photometer dusk at -18.853°; southern hemisphere summer; time inferred
|
||||
2012-06-15,2012-06-15 11:44:00+00:00,-6.817,107.617,1300.0,167,15.042280995922699,"Al-faruq 2013 UPI thesis, Bosscha Observatory West Java Indonesia",Photoelectric photometer; dry season aggregate D0~15°; representative date Jun 15 2012; D0=15.042°
|
||||
2012-10-15,2012-10-15 11:37:00+00:00,-6.817,107.617,1300.0,289,14.08180528068352,"Al-faruq 2013 UPI thesis, Bosscha Observatory West Java Indonesia",Photoelectric photometer; wet season aggregate D0~14°; representative date Oct 15 2012; D0=14.082°
|
||||
2022-03-20,2022-03-20 12:13:00+00:00,1.8,104.4,5.0,79,15.781650681123873,"Faid et al. 2024 Scientific Reports, Tanjung Balau Johor Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.782°
|
||||
2022-06-21,2022-06-21 12:16:00+00:00,1.8,104.4,5.0,172,15.669314559844672,"Faid et al. 2024 Scientific Reports, Tanjung Balau Johor Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.669°
|
||||
2022-09-22,2022-09-22 11:58:00+00:00,1.8,104.4,5.0,265,15.706477619118711,"Faid et al. 2024 Scientific Reports, Tanjung Balau Johor Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.706°
|
||||
2022-12-21,2022-12-21 12:06:00+00:00,1.8,104.4,5.0,355,15.743410159508263,"Faid et al. 2024 Scientific Reports, Tanjung Balau Johor Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.743°
|
||||
2008-01-15,2008-01-15 12:19:00+00:00,2.46,101.867,15.0,15,14.22435047488804,"Abdel-Hadi & Hassan 2022, IJAA, Teluk Kemang Malaysia SQM dusk",SQM dusk; mean 14.38°; winter; time inferred
|
||||
2008-04-15,2008-04-15 12:12:00+00:00,2.46,101.867,15.0,106,14.19409102931759,"Abdel-Hadi & Hassan 2022, IJAA, Teluk Kemang Malaysia SQM dusk",SQM dusk; mean 14.38°; spring; time inferred
|
||||
2007-05-15,2007-05-15 12:13:00+00:00,2.46,101.867,15.0,135,14.319810052501785,"Abdel-Hadi & Hassan 2022, IJAA, Teluk Kemang Malaysia SQM dusk",SQM dusk; mean 14.38°; may measure different Shafaq threshold than 16-17° papers; time inferred
|
||||
2007-09-22,2007-09-22 12:02:00+00:00,2.46,101.867,15.0,265,14.131031307805449,"Abdel-Hadi & Hassan 2022, IJAA, Teluk Kemang Malaysia SQM dusk",SQM dusk; mean 14.38°; autumn equinox; time inferred
|
||||
2007-06-15,2007-06-15 12:19:00+00:00,2.467,101.867,27.0,166,14.114171839612919,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Teluk Kemang Negeri Sembilan Malaysia","SQM-LE; D0=14.213° (Table 5 a1, true dusk); coastal NS; Shariff 2008 data"
|
||||
2007-08-13,2007-08-13 12:20:00+00:00,2.467,101.867,27.0,225,14.45502645372688,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Teluk Kemang Negeri Sembilan Malaysia","SQM-LE; D0=14.690° (Table 5 a1, true dusk); coastal NS; Shariff 2008 data"
|
||||
2022-03-20,2022-03-20 12:07:00+00:00,2.9,101.683,20.0,79,11.55848751447069,"Faid et al. 2024 Scientific Reports, Putrajaya Malaysia",SQM; D0=11.50° (urban class); 5-year campaign 2017-2022; seasonal representative; D0=11.558°
|
||||
2022-06-21,2022-06-21 12:11:00+00:00,2.9,101.683,20.0,172,11.610157895541835,"Faid et al. 2024 Scientific Reports, Putrajaya Malaysia",SQM; D0=11.50° (urban class); 5-year campaign 2017-2022; seasonal representative; D0=11.610°
|
||||
2022-09-22,2022-09-22 11:52:00+00:00,2.9,101.683,20.0,265,11.478088503976823,"Faid et al. 2024 Scientific Reports, Putrajaya Malaysia",SQM; D0=11.50° (urban class); 5-year campaign 2017-2022; seasonal representative; D0=11.478°
|
||||
2022-12-21,2022-12-21 11:56:00+00:00,2.9,101.683,20.0,355,11.406406522411185,"Faid et al. 2024 Scientific Reports, Putrajaya Malaysia",SQM; D0=11.50° (urban class); 5-year campaign 2017-2022; seasonal representative; D0=11.406°
|
||||
2008-04-05,2008-04-05 12:14:00+00:00,3.0,101.4,46.0,96,13.804319454141643,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Port Klang Selangor Malaysia","SQM-LE; D0=13.970° (Table 5 a1, true dusk); coastal port; Shariff 2008 data"
|
||||
2008-04-06,2008-04-06 12:18:00+00:00,3.0,101.4,46.0,97,14.832915207294299,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Port Klang Selangor Malaysia","SQM-LE; D0=14.938° (Table 5 a1, true dusk); coastal port; Shariff 2008 data"
|
||||
2008-03-20,2008-03-20 12:12:00+00:00,3.004,101.403,5.0,80,12.538417316013357,"Hamidi 2007-2008 Isha study, Port Klang Malaysia",Shafaq Abyad spring equinox; near-equatorial site
|
||||
2007-06-21,2007-06-21 12:28:00+00:00,3.004,101.403,5.0,172,15.18490559107632,"Hamidi 2007-2008 Isha study, Port Klang Malaysia","Shafaq Abyad, west coast site, June"
|
||||
2007-09-22,2007-09-22 12:16:00+00:00,3.004,101.403,5.0,265,17.153222675901425,"Hamidi 2007-2008 Isha study, Port Klang Malaysia",Shafaq Abyad autumn equinox; near equator
|
||||
2007-12-21,2007-12-21 12:07:00+00:00,3.004,101.403,5.0,355,13.73664508607151,"Hamidi 2007-2008 Isha study, Port Klang Malaysia","Shafaq Abyad, west coast site, December"
|
||||
2007-09-04,2007-09-04 12:05:00+00:00,3.15,101.683,60.0,247,12.621681590864045,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lumpur Malaysia","SQM-LE; D0=12.850° (Table 5 a1, true dusk); urban LP; Shariff 2008 data"
|
||||
2007-10-27,2007-10-27 11:57:00+00:00,3.15,101.683,60.0,300,15.279616409202303,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lumpur Malaysia","SQM-LE; D0=15.340° (Table 5 a1, true dusk); urban LP; Shariff 2008 data"
|
||||
2019-03-20,2019-03-20 12:49:00+00:00,3.595,98.672,22.0,79,19.006531327934564,"OIF UMSU 2017-2020, Medan North Sumatra Indonesia",Shafaq Ahmar spring equinox; equatorial latitude
|
||||
2018-06-21,2018-06-21 12:52:00+00:00,3.595,98.672,22.0,172,17.853482697915105,"OIF UMSU 2017-2020, Medan North Sumatra Indonesia",Shafaq Ahmar (red dusk twilight) June; near equator
|
||||
2019-09-22,2019-09-22 12:51:00+00:00,3.595,98.672,22.0,265,23.15953052256514,"OIF UMSU 2017-2020, Medan North Sumatra Indonesia",Shafaq Ahmar autumn equinox
|
||||
2018-12-21,2018-12-21 12:48:00+00:00,3.595,98.672,22.0,355,20.820721779043744,"OIF UMSU 2017-2020, Medan North Sumatra Indonesia",Shafaq Ahmar December; near equator
|
||||
2008-01-11,2008-01-11 12:11:00+00:00,4.183,102.05,75.0,11,13.49325471009269,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia","SQM-LE; D0=13.600° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data"
|
||||
2008-01-12,2008-01-12 12:14:00+00:00,4.183,102.05,75.0,12,14.100432060323792,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia","SQM-LE; D0=14.330° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data"
|
||||
2008-01-15,2008-01-15 12:16:00+00:00,4.183,102.04,76.0,15,14.304896334449062,"Abdel-Hadi & Hassan 2022, IJAA 12:7-29, Kuala Lipis Malaysia",Shafaq Abyad winter; Kuala Lipis; time inferred
|
||||
2008-02-09,2008-02-09 12:15:00+00:00,4.183,102.05,75.0,40,12.897576837102955,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia","SQM-LE; D0=13.003° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data"
|
||||
2008-03-20,2008-03-20 12:15:00+00:00,4.183,102.04,76.0,80,13.902877376317635,"Hamidi 2007-2008 Isha study, Kuala Lipis Malaysia","Shafaq Abyad, spring equinox"
|
||||
2008-03-22,2008-03-22 12:18:00+00:00,4.183,102.05,75.0,82,14.749033654097373,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia","SQM-LE; D0=14.938° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data"
|
||||
2008-03-23,2008-03-23 12:18:00+00:00,4.183,102.05,75.0,83,14.79260855345476,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia","SQM-LE; D0=14.938° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data"
|
||||
2008-04-15,2008-04-15 12:13:00+00:00,4.183,102.04,76.0,106,14.273538935969533,"Abdel-Hadi & Hassan 2022, IJAA 12:7-29, Kuala Lipis Malaysia",Shafaq Abyad spring; Kuala Lipis 76m; time inferred
|
||||
2007-05-15,2007-05-15 12:15:00+00:00,4.183,102.04,76.0,135,14.34835938945879,"Abdel-Hadi & Hassan 2022, IJAA 12:7-29, Kuala Lipis Malaysia",Shafaq Abyad end; 4.2°N 76m; Isha 14.38°; time inferred from mean angle
|
||||
2007-06-21,2007-06-21 12:32:00+00:00,4.183,102.04,76.0,172,16.14961346227997,"Hamidi 2007-2008 Isha study, Kuala Lipis Malaysia","Shafaq Abyad disappearance, June; near equator"
|
||||
2007-09-22,2007-09-22 12:20:00+00:00,4.183,102.04,76.0,265,18.755050592883862,"Hamidi 2007-2008 Isha study, Kuala Lipis Malaysia","Shafaq Abyad disappearance, September equinox"
|
||||
2007-12-21,2007-12-21 12:10:00+00:00,4.183,102.04,76.0,355,15.474037743926715,"Hamidi 2007-2008 Isha study, Kuala Lipis Malaysia","Shafaq Abyad disappearance, December; near equator"
|
||||
2007-12-29,2007-12-29 12:09:00+00:00,4.183,102.05,75.0,363,14.354337512529845,"Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia","SQM-LE; D0=14.420° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data"
|
||||
2022-03-20,2022-03-20 12:18:00+00:00,5.317,103.15,5.0,79,15.723582120347716,"Faid et al. 2024 Scientific Reports, Pantai Batu Buruk Terengganu Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.724°
|
||||
2022-06-21,2022-06-21 12:28:00+00:00,5.317,103.15,5.0,172,15.726558375278548,"Faid et al. 2024 Scientific Reports, Pantai Batu Buruk Terengganu Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.727°
|
||||
2022-09-22,2022-09-22 12:03:00+00:00,5.317,103.15,5.0,265,15.63197903829409,"Faid et al. 2024 Scientific Reports, Pantai Batu Buruk Terengganu Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.632°
|
||||
2022-12-21,2022-12-21 12:05:00+00:00,5.317,103.15,5.0,355,15.764185887416149,"Faid et al. 2024 Scientific Reports, Pantai Batu Buruk Terengganu Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.764°
|
||||
2022-03-20,2022-03-20 12:27:00+00:00,5.4,102.583,20.0,79,17.39658231602898,"Faid et al. 2024 Scientific Reports, Balai Cerap Unisza Terengganu Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.397°
|
||||
2022-03-20,2022-03-20 12:15:00+00:00,5.4,103.95,5.0,79,15.771159510558732,"Faid et al. 2024 Scientific Reports, Pantai Masjid Tengku Zaharah Terengganu Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.771°
|
||||
2022-06-21,2022-06-21 12:38:00+00:00,5.4,102.583,20.0,172,17.41303624173954,"Faid et al. 2024 Scientific Reports, Balai Cerap Unisza Terengganu Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.413°
|
||||
2022-06-21,2022-06-21 12:25:00+00:00,5.4,103.95,5.0,172,15.734688007938157,"Faid et al. 2024 Scientific Reports, Pantai Masjid Tengku Zaharah Terengganu Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.735°
|
||||
2022-09-22,2022-09-22 12:13:00+00:00,5.4,102.583,20.0,265,17.55377058204036,"Faid et al. 2024 Scientific Reports, Balai Cerap Unisza Terengganu Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.554°
|
||||
2022-09-22,2022-09-22 12:00:00+00:00,5.4,103.95,5.0,265,15.678975862425656,"Faid et al. 2024 Scientific Reports, Pantai Masjid Tengku Zaharah Terengganu Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.679°
|
||||
2022-12-21,2022-12-21 12:15:00+00:00,5.4,102.583,20.0,355,17.568667224620157,"Faid et al. 2024 Scientific Reports, Balai Cerap Unisza Terengganu Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.569°
|
||||
2022-12-21,2022-12-21 12:01:00+00:00,5.4,103.95,5.0,355,15.613284810535765,"Faid et al. 2024 Scientific Reports, Pantai Masjid Tengku Zaharah Terengganu Malaysia",SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.613°
|
||||
2007-03-21,2007-03-21 11:35:00+00:00,5.933,116.05,5.0,80,17.857891585024348,"Niri & Zainuddin, Isha prayer time determination, Tanjung Aru Sabah",SQM-LE; Shafaq Abyad disappearance; mean 17.99° depression; time inferred
|
||||
2007-06-22,2007-06-22 11:47:00+00:00,5.933,116.05,5.0,173,17.787197419567423,"Niri & Zainuddin, Isha prayer time determination, Tanjung Aru Sabah",SQM-LE; Shafaq Abyad; summer at near-equatorial site
|
||||
2007-09-23,2007-09-23 11:20:00+00:00,5.933,116.05,5.0,266,17.83225788506929,"Niri & Zainuddin, Isha prayer time determination, Tanjung Aru Sabah",SQM-LE; Shafaq Abyad; autumn equinox
|
||||
2007-12-22,2007-12-22 11:22:00+00:00,5.933,116.05,5.0,356,17.890311077919815,"Niri & Zainuddin, Isha prayer time determination, Tanjung Aru Sabah",SQM-LE; Shafaq Abyad; winter season
|
||||
2009-03-20,2009-03-20 11:36:00+00:00,5.95,116.033,3.7,79,18.075788279926094,"Niri et al. 2012 Middle-East J. Scientific Research 12(1), Tanjung Aru Kota Kinabalu Sabah",Naked-eye + SQM; D0=18.0° (Shafaq al-Abyad); seasonal representative date; D0=18.076°
|
||||
2009-06-21,2009-06-21 11:48:00+00:00,5.95,116.033,3.7,172,18.012055784780706,"Niri et al. 2012 Middle-East J. Scientific Research 12(1), Tanjung Aru Kota Kinabalu Sabah",Naked-eye + SQM; D0=18.0° (Shafaq al-Abyad); summer solstice representative date; D0=18.012°
|
||||
2009-09-22,2009-09-22 11:21:00+00:00,5.95,116.033,3.7,265,17.99656662329041,"Niri et al. 2012 Middle-East J. Scientific Research 12(1), Tanjung Aru Kota Kinabalu Sabah",Naked-eye + SQM; D0=18.0° (Shafaq al-Abyad); seasonal representative date; D0=17.997°
|
||||
2009-12-21,2009-12-21 11:22:00+00:00,5.95,116.033,3.7,355,17.939440628619714,"Niri et al. 2012 Middle-East J. Scientific Research 12(1), Tanjung Aru Kota Kinabalu Sabah",Naked-eye + SQM; D0=18.0° (Shafaq al-Abyad); seasonal representative date; D0=17.939°
|
||||
2018-03-20,2018-03-20 12:29:00+00:00,6.317,102.15,3.0,79,17.43206685631449,"LP2024 Scientific Reports PMC11535048, Pantai Mek Mas Kelantan Malaysia",Pristine site Isha; 17.49° twilight stability; spring equinox; time inferred
|
||||
2022-03-20,2022-03-20 12:29:00+00:00,6.317,102.15,5.0,79,17.434587196118223,"Faid et al. 2024 Scientific Reports, Pantai Mek Mas Kelantan Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.435°
|
||||
2018-06-21,2018-06-21 12:41:00+00:00,6.317,102.15,3.0,172,17.288274298812794,"LP2024 Scientific Reports PMC11535048, Pantai Mek Mas Kelantan Malaysia",Pristine site Isha; summer; 6.3°N; time inferred
|
||||
2022-06-21,2022-06-21 12:42:00+00:00,6.317,102.15,5.0,172,17.502245342489076,"Faid et al. 2024 Scientific Reports, Pantai Mek Mas Kelantan Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.502°
|
||||
2018-09-22,2018-09-22 12:14:00+00:00,6.317,102.15,3.0,265,17.337122104209435,"LP2024 Scientific Reports PMC11535048, Pantai Mek Mas Kelantan Malaysia",Pristine site Isha; autumn equinox; time inferred
|
||||
2022-09-22,2022-09-22 12:15:00+00:00,6.317,102.15,5.0,265,17.58724875425718,"Faid et al. 2024 Scientific Reports, Pantai Mek Mas Kelantan Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.587°
|
||||
2018-12-21,2018-12-21 12:14:00+00:00,6.317,102.15,3.0,355,17.291959185870017,"LP2024 Scientific Reports PMC11535048, Pantai Mek Mas Kelantan Malaysia",Pristine site Isha; winter solstice; time inferred
|
||||
2022-12-21,2022-12-21 12:15:00+00:00,6.317,102.15,5.0,355,17.526277363083768,"Faid et al. 2024 Scientific Reports, Pantai Mek Mas Kelantan Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.526°
|
||||
2022-03-20,2022-03-20 11:32:00+00:00,7.2,116.5,10.0,79,17.500860521634856,"Faid et al. 2024 Scientific Reports, Simpang Mengayau Sabah Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.501°
|
||||
2022-06-21,2022-06-21 11:46:00+00:00,7.2,116.5,10.0,172,17.4095835811141,"Faid et al. 2024 Scientific Reports, Simpang Mengayau Sabah Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.410°
|
||||
2022-09-22,2022-09-22 11:17:00+00:00,7.2,116.5,10.0,265,17.39647303300226,"Faid et al. 2024 Scientific Reports, Simpang Mengayau Sabah Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.396°
|
||||
2022-12-21,2022-12-21 11:16:00+00:00,7.2,116.5,10.0,355,17.50180991792949,"Faid et al. 2024 Scientific Reports, Simpang Mengayau Sabah Malaysia",SQM; D0=17.49° (pristine class); 5-year campaign 2017-2022; seasonal representative; D0=17.502°
|
||||
2005-06-21,2005-06-21 15:52:00+00:00,24.86,67.01,8.0,172,17.758413294857696,"Moonsighting.com / Khalid Shaukat, Karachi Pakistan",Shafaq Abyad summer; Karachi
|
||||
2005-12-21,2005-12-21 14:12:00+00:00,24.86,67.01,8.0,355,18.566364909514967,"Moonsighting.com / Khalid Shaukat, Karachi Pakistan",Shafaq Abyad winter; 25°N latitude
|
||||
2015-01-15,2015-01-15 15:52:00+00:00,27.52,41.7,1020.0,15,15.807111918802388,"Khalifa 2018, NRIAG J. 7:22-28, Hail Saudi Arabia",Shafaq Abyad winter; Hail
|
||||
2015-03-20,2015-03-20 16:12:00+00:00,27.52,41.7,1020.0,79,11.406862437538283,"Khalifa 2018, NRIAG J. 7:22-28, Hail Saudi Arabia",Shafaq Abyad spring equinox; Hail
|
||||
2015-06-21,2015-06-21 17:28:00+00:00,27.52,41.7,1020.0,172,15.218935301068617,"Khalifa 2018, NRIAG J. 7:22-28, Hail Saudi Arabia",Shafaq Abyad summer solstice; high altitude desert
|
||||
2014-11-15,2014-11-15 16:18:00+00:00,27.52,41.7,1020.0,319,25.811827873517203,"Khalifa 2018, NRIAG J. 7:22-28, Hail Saudi Arabia",Shafaq Abyad; desert plateau ~1000m elevation
|
||||
1985-03-20,1985-03-20 17:00:00+00:00,30.03,31.83,477.0,79,12.916632211113644,"Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",Shafaq Abyad spring equinox; Kottamia
|
||||
1986-06-21,1986-06-21 18:12:00+00:00,30.03,31.83,477.0,172,14.459742699348775,"Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",Shafaq Abyad summer solstice; elevated site; ~72 min after sunset 20:00 EEST
|
||||
1985-09-22,1985-09-22 17:18:00+00:00,30.03,31.83,477.0,265,19.842444029506574,"Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",Shafaq Abyad autumn equinox
|
||||
1985-12-21,1985-12-21 16:32:00+00:00,30.03,31.83,477.0,355,19.927309129943982,"Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",Shafaq Abyad winter; elevated desert observatory 477m
|
||||
2015-06-21,2015-06-21 18:10:00+00:00,30.5,30.15,23.0,172,12.68118961400778,"Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",Shafaq Abyad summer; desert; ~68 min after sunset 20:02 EEST
|
||||
2014-09-22,2014-09-22 17:08:00+00:00,30.5,30.15,23.0,265,16.20018247534745,"Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",Shafaq Abyad autumn equinox; desert
|
||||
2014-12-21,2014-12-21 16:18:00+00:00,30.5,30.15,23.0,355,15.809690315214066,"Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",Shafaq Abyad winter; desert site
|
||||
2015-03-20,2015-03-20 17:24:00+00:00,31.35,27.24,28.0,79,13.976231900456279,"Hassan et al., Time verification twilight Matrouh Egypt (Isha/dusk)",Twilight end at Matrouh; spring equinox; Isha ~14°; time inferred
|
||||
2015-09-22,2015-09-22 17:10:00+00:00,31.35,27.24,28.0,265,13.952188780804187,"Hassan et al., Time verification twilight Matrouh Egypt (Isha/dusk)",Twilight end; autumn equinox; time inferred
|
||||
2015-12-21,2015-12-21 16:19:00+00:00,31.35,27.24,28.0,355,13.94112558189606,"Hassan et al., Time verification twilight Matrouh Egypt (Isha/dusk)",Twilight end; winter solstice; time inferred
|
||||
2010-03-20,2010-03-21 01:22:00+00:00,41.88,-87.63,182.0,80,15.414519475499224,"Moonsighting.com / Khalid Shaukat, Chicago USA",Shafaq Abyad spring equinox; Chicago
|
||||
2010-06-21,2010-06-22 03:15:00+00:00,41.88,-87.63,182.0,173,15.231391858567427,"Moonsighting.com / Khalid Shaukat, Chicago USA",Shafaq Abyad summer; long twilight at 42°N
|
||||
2010-09-22,2010-09-23 01:28:00+00:00,41.88,-87.63,182.0,266,19.196326917043585,"Moonsighting.com / Khalid Shaukat, Chicago USA",Shafaq Abyad autumn equinox
|
||||
2010-12-21,2010-12-22 00:28:00+00:00,41.88,-87.63,182.0,356,22.445914065629502,"Moonsighting.com / Khalid Shaukat, Chicago USA",Shafaq Abyad winter; ~82 min after sunset 16:20 CST
|
||||
2009-05-19,2009-05-20 02:15:00,42.11,-86.49,190.0,140,11.620818113288934,"Moonsighting.com / Abdelkader Tayebi, moonsighting.com/how-we.html",St Joseph Michigan USA; Shafaq Ahmar (red twilight) disappearance ~10:15 PM EDT; near disappearance at 10:04 PM; single observer; NOTE: Shafaq Ahmar criterion not Shafaq Abyad
|
||||
2009-05-19,2009-05-20 02:15:00+00:00,42.1,-86.48,190.0,140,11.632978411332495,"Tayebi via Shaukat 2015 booklet, St. Joseph MI USA",naked eye; Shafaq Ahmer (red) disappearance; Maghrib at 21:05 EDT; only Red Shafaq recorded
|
||||
2016-03-20,2016-03-20 20:15:00+00:00,51.15,-3.65,430.0,80,17.086172416366704,"Asim Yusuf 'Shedding Light on the Dawn' (2017), Exmoor UK",Shafaq Abyad spring equinox
|
||||
2014-09-15,2014-09-15 20:18:00+00:00,51.15,-3.65,430.0,258,17.128632287342086,"Asim Yusuf 'Shedding Light on the Dawn' (2017), Exmoor",Shafaq Abyad (white dusk twilight) disappearance
|
||||
2015-09-21,2015-09-21 20:22:00+00:00,51.15,-3.65,430.0,264,19.822224962016044,"Asim Yusuf 'Shedding Light on the Dawn' (2017), Exmoor UK",Shafaq Abyad autumn equinox
|
||||
2013-09-22,2013-09-22 20:20:00+00:00,51.15,-3.65,430.0,265,20.097560132743013,"Asim Yusuf 'Shedding Light on the Dawn' (2017), Exmoor UK",Shafaq Abyad autumn equinox; multi-observer
|
||||
2014-12-15,2014-12-15 17:42:00+00:00,51.15,-3.65,430.0,349,13.778905174013673,"Asim Yusuf 'Shedding Light on the Dawn' (2017), Exmoor",Shafaq Abyad winter
|
||||
2015-12-21,2015-12-21 17:38:00+00:00,51.15,-3.65,430.0,355,12.890311223373352,"Asim Yusuf 'Shedding Light on the Dawn' (2017), Exmoor UK",Shafaq Abyad winter solstice
|
||||
1989-03-20,1989-03-20 20:22:00+00:00,53.748,-2.48,120.0,79,17.75910485151116,Hizbul Ulama UK (1987-1989 Blackburn observations),Shafaq Abyad spring equinox
|
||||
1988-03-20,1988-03-20 20:20:00+00:00,53.748,-2.48,120.0,80,17.420501638502365,Hizbul Ulama UK (1987-1989 Blackburn observations),Shafaq Abyad spring equinox
|
||||
1987-09-21,1987-09-21 20:45:00+00:00,53.748,-2.48,120.0,264,22.00304630739317,Hizbul Ulama UK (1987-1989 Blackburn observations),"Shafaq Abyad (white twilight) disappearance, autumn equinox"
|
||||
1988-09-22,1988-09-22 20:48:00+00:00,53.748,-2.48,120.0,266,23.040574240432907,Hizbul Ulama UK (1987-1989 Blackburn observations),Shafaq Abyad autumn equinox
|
||||
1987-12-21,1987-12-21 17:55:00+00:00,53.748,-2.48,120.0,355,16.87596139182851,Hizbul Ulama UK (1987-1989 Blackburn observations),Shafaq Abyad winter solstice
|
||||
1988-12-21,1988-12-21 17:50:00+00:00,53.748,-2.48,120.0,356,16.11592867684076,Hizbul Ulama UK (1987-1989 Blackburn observations),Shafaq Abyad winter solstice; 54°N high latitude
|
||||
1988-01-07,1988-01-07 17:43:00+00:00,53.75,-2.483,120.0,7,13.231883007350167,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:11
|
||||
1988-01-24,1988-01-24 18:05:00+00:00,53.75,-2.483,120.0,24,12.99406777328137,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:25
|
||||
1988-02-21,1988-02-21 18:50:00+00:00,53.75,-2.483,120.0,52,12.450371908743662,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1988-03-01,1988-03-01 19:14:00+00:00,53.75,-2.483,120.0,61,13.515248772993779,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1988-03-04,1988-03-04 19:17:00+00:00,53.75,-2.483,120.0,64,13.12054153236885,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1988-03-21,1988-03-21 19:48:00+00:00,53.75,-2.483,120.0,81,12.760845841429408,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed; spring equinox
|
||||
1988-03-30,1988-03-30 20:21:00+00:00,53.75,-2.483,120.0,90,14.61225399332599,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; BST; Red at 20:42
|
||||
1988-04-11,1988-04-11 20:33:00+00:00,53.75,-2.483,120.0,102,12.644284394374909,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1988-04-28,1988-04-28 21:06:00+00:00,53.75,-2.483,120.0,119,11.635574736990746,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1988-05-05,1988-05-05 21:47:00+00:00,53.75,-2.483,120.0,126,13.643451423714918,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 21:49
|
||||
1988-05-19,1988-05-19 22:24:00+00:00,53.75,-2.483,120.0,140,13.051906668946685,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 22:31
|
||||
1988-05-20,1988-05-20 22:37:00+00:00,53.75,-2.483,120.0,141,13.600731151777428,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 22:29
|
||||
1988-05-25,1988-05-24 23:40:00+00:00,53.75,-2.483,120.0,145,15.078091677741076,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; sunset evening May 24; Red not observed; late May very short night
|
||||
1988-06-06,1988-06-05 23:46:00+00:00,53.75,-2.483,120.0,157,13.443524956519475,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; sunset evening Jun 5; Red at 23:00; near summer solstice
|
||||
1988-08-01,1988-08-01 22:25:00+00:00,53.75,-2.483,120.0,214,14.587060840572397,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 22:20
|
||||
1988-08-06,1988-08-06 22:15:00+00:00,53.75,-2.483,120.0,219,15.189669648022404,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 22:12
|
||||
1987-09-22,1987-09-22 19:37:00+00:00,53.75,-2.483,120.0,265,13.438358772186007,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 20:10
|
||||
1987-09-24,1987-09-24 19:30:00+00:00,53.75,-2.483,120.0,267,13.199375575769137,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 20:10
|
||||
1987-09-26,1987-09-26 19:25:00+00:00,53.75,-2.483,120.0,269,13.231915450748724,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 20:00
|
||||
1987-10-01,1987-10-01 19:15:00+00:00,53.75,-2.483,120.0,274,13.63492307876251,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 20:00
|
||||
1987-10-10,1987-10-10 18:55:00+00:00,53.75,-2.483,120.0,283,13.921178014425038,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 19:35
|
||||
1987-10-25,1987-10-25 18:15:00+00:00,53.75,-2.483,120.0,298,12.819339581481398,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; clocks back to GMT; Red at 17:55
|
||||
1987-11-14,1987-11-14 17:40:00+00:00,53.75,-2.483,120.0,318,12.539324877399324,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq not observed
|
||||
1987-11-25,1987-11-25 17:26:00+00:00,53.75,-2.483,120.0,329,12.20641718838467,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1987-11-26,1987-11-26 17:25:00+00:00,53.75,-2.483,120.0,330,12.17741279007421,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1987-11-27,1987-11-27 17:30:00+00:00,53.75,-2.483,120.0,331,12.98253841396239,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 17:10
|
||||
1987-12-08,1987-12-08 17:35:00+00:00,53.75,-2.483,120.0,342,14.358792503415986,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:15
|
||||
1987-12-09,1987-12-09 17:33:00+00:00,53.75,-2.483,120.0,343,14.09893112625368,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:15
|
||||
1987-12-10,1987-12-10 17:30:00+00:00,53.75,-2.483,120.0,344,13.69447122926762,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1987-12-12,1987-12-12 17:20:00+00:00,53.75,-2.483,120.0,346,12.323457602454717,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:00
|
||||
1987-12-14,1987-12-14 17:27:00+00:00,53.75,-2.483,120.0,348,13.263016717134377,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
1987-12-25,1987-12-25 17:30:00+00:00,53.75,-2.483,120.0,359,13.07892604352961,"Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed
|
||||
|
|
|
|||
|
3774
data/raw/collection_manifest.json
Normal file
3774
data/raw/collection_manifest.json
Normal file
File diff suppressed because it is too large
Load diff
21
data/raw/raw_sightings/abdelhadi_2022_malaysia_sqm.csv
Normal file
21
data/raw/raw_sightings/abdelhadi_2022_malaysia_sqm.csv
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,2007-05-08,05:56,8.0,5.517,102.95,42,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Merang, Terengganu, Malaysia; SQM true dawn (a6); Do=14.595; back-calc=14.595"
|
||||
fajr,2007-11-10,06:01,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dawn (a6); Do=14.079; back-calc=14.079"
|
||||
fajr,2007-12-29,06:17,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dawn (a6); Do=14.595; back-calc=14.595"
|
||||
fajr,2008-01-11,06:26,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dawn (a6); Do=13.864; back-calc=13.864"
|
||||
fajr,2008-02-09,06:34,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dawn (a6); Do=13.419; back-calc=13.419"
|
||||
fajr,2008-03-22,06:22,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dawn (a6); Do=13.970; back-calc=13.970"
|
||||
fajr,2008-03-23,06:22,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dawn (a6); Do=13.970; back-calc=13.970"
|
||||
fajr,2008-04-07,06:14,8.0,3.0,101.4,46,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Port Klang, Selangor, Malaysia; SQM true dawn (a6); Do=15.065; back-calc=15.065"
|
||||
isha,2007-06-15,20:19,8.0,2.467,101.867,27,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Teluk Kemang, Negeri Sembilan, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=14.213; back-calc=14.213"
|
||||
isha,2007-08-13,20:20,8.0,2.467,101.867,27,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Teluk Kemang, Negeri Sembilan, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=14.690; back-calc=14.690"
|
||||
isha,2007-09-04,20:05,8.0,3.15,101.683,60,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lumpur, Federal Territory, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=12.850; back-calc=12.850"
|
||||
isha,2007-10-27,19:57,8.0,3.15,101.683,60,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lumpur, Federal Territory, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=15.340; back-calc=15.340"
|
||||
isha,2007-11-05,19:50,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=14.420; back-calc=14.420"
|
||||
isha,2007-12-29,20:05,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=13.600; back-calc=13.600"
|
||||
isha,2008-01-12,20:14,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=14.330; back-calc=14.330"
|
||||
isha,2008-02-09,20:15,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=13.003; back-calc=13.003"
|
||||
isha,2008-03-22,20:18,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=14.938; back-calc=14.938"
|
||||
isha,2008-03-23,20:18,8.0,4.183,102.05,75,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Kuala Lipis, Pahang, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=14.938; back-calc=14.938"
|
||||
isha,2008-04-05,20:14,8.0,3.0,101.4,46,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Port Klang, Selangor, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=13.970; back-calc=13.970"
|
||||
isha,2008-04-06,20:18,8.0,3.0,101.4,46,"Abdel-Hadi & Hassan 2022, IJAA doi:10.4236/ijaa.2022.121002, Malaysia SQM 4-site study","Port Klang, Selangor, Malaysia; SQM true dusk Shafaq Abyad (a1); Do=14.938; back-calc=14.938"
|
||||
|
35
data/raw/raw_sightings/brin_multistation_fajr.csv
Normal file
35
data/raw/raw_sightings/brin_multistation_fajr.csv
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,2018-04-14,04:29,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM observation; station GRT; Garut West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-04-15,04:28,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM observation; station GRT; Garut West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-04-27,04:24,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM observation; station GRT; Garut West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-06-21,05:00,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM observation; station GRT; Garut West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-06-24,04:57,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM observation; station GRT; Garut West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-07-12,05:16,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM observation; station GRT; Garut West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-10-07,04:07,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM observation; station GRT; Garut West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-11-13,04:00,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM observation; station GRT; Garut West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-04-14,04:08,7.0,-7.568,112.674,10,BRIN multistation SQM 2018 (PSR),Per-night SQM observation; station PSR; Pasuruan East Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-05-14,04:03,7.0,-7.568,112.674,10,BRIN multistation SQM 2018 (PSR),Per-night SQM observation; station PSR; Pasuruan East Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-06-12,04:07,7.0,-7.568,112.674,10,BRIN multistation SQM 2018 (PSR),Per-night SQM observation; station PSR; Pasuruan East Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-05-14,04:57,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM observation; station SMD; Subang West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-07-12,04:45,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM observation; station SMD; Subang West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-09-08,04:27,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM observation; station SMD; Subang West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-11-06,04:25,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM observation; station SMD; Subang West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-12-19,04:01,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM observation; station SMD; Subang West Java Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-04-14,04:28,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-04-14,05:05,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM observation; station AGM; Agam West Sumatra Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-10-15,05:20,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM observation; station AGM; Agam West Sumatra Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-10-22,05:17,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM observation; station AGM; Agam West Sumatra Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-11-17,05:21,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM observation; station AGM; Agam West Sumatra Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-04-28,04:17,7.0,-0.008,109.365,10,BRIN multistation SQM 2018 (PTK),Per-night SQM observation; station PTK; Pontianak West Kalimantan Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-06-12,04:23,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-06-17,04:51,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-06-20,05:00,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-07-12,04:58,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-07-18,05:01,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-08-10,04:50,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-09-08,04:34,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-09-09,04:36,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-09-12,04:34,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-10-07,04:16,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-10-21,04:21,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
fajr,2018-11-06,04:39,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM observation; station BIK; Biak Papua Indonesia; inflection-point Fajr detection; moonless nights only; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
|
323
data/raw/raw_sightings/brin_multistation_isha.csv
Normal file
323
data/raw/raw_sightings/brin_multistation_isha.csv
Normal file
|
|
@ -0,0 +1,323 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
isha,2018-04-11,18:35,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.53 mag/arcsec²; threshold=20.03; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-13,18:38,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.90 mag/arcsec²; threshold=20.40; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-14,18:56,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.88 mag/arcsec²; threshold=20.38; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-15,18:45,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.00 mag/arcsec²; threshold=20.50; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-16,18:33,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.41 mag/arcsec²; threshold=19.91; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-17,18:40,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.02 mag/arcsec²; threshold=20.52; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-09,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.22 mag/arcsec²; threshold=20.72; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-10,18:38,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.01 mag/arcsec²; threshold=20.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-14,18:33,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.98 mag/arcsec²; threshold=20.48; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-15,18:35,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.80 mag/arcsec²; threshold=20.30; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-17,19:07,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.01 mag/arcsec²; threshold=20.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-02,18:30,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.34 mag/arcsec²; threshold=19.84; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-03,18:36,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.68 mag/arcsec²; threshold=20.18; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-04,18:29,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.02 mag/arcsec²; threshold=19.52; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-05,18:49,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.53 mag/arcsec²; threshold=20.03; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-06,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.35 mag/arcsec²; threshold=19.85; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-07,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.11 mag/arcsec²; threshold=19.61; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-08,18:56,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.77 mag/arcsec²; threshold=20.27; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-09,18:32,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.57 mag/arcsec²; threshold=20.07; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-10,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.09 mag/arcsec²; threshold=20.59; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-11,18:28,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.17 mag/arcsec²; threshold=19.67; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-12,18:33,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.01 mag/arcsec²; threshold=20.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-13,18:28,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.10 mag/arcsec²; threshold=19.60; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-15,18:53,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.14 mag/arcsec²; threshold=20.64; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-01,18:35,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.59 mag/arcsec²; threshold=20.09; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-02,18:38,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.74 mag/arcsec²; threshold=20.24; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-03,18:42,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.06 mag/arcsec²; threshold=20.56; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-04,18:41,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.05 mag/arcsec²; threshold=20.55; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-05,18:41,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.11 mag/arcsec²; threshold=20.61; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-09,18:41,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.18 mag/arcsec²; threshold=20.68; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-10,18:40,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.03 mag/arcsec²; threshold=20.53; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-11,18:43,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.17 mag/arcsec²; threshold=20.67; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-12,18:42,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.06 mag/arcsec²; threshold=20.56; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-13,18:45,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.20 mag/arcsec²; threshold=20.70; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-14,18:43,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.97 mag/arcsec²; threshold=20.47; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-30,18:36,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.80 mag/arcsec²; threshold=19.30; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-31,18:42,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.55 mag/arcsec²; threshold=20.05; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-01,18:43,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.02 mag/arcsec²; threshold=20.52; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-02,18:45,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.98 mag/arcsec²; threshold=20.48; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-03,18:45,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.87 mag/arcsec²; threshold=20.37; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-05,18:43,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.98 mag/arcsec²; threshold=20.48; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-07,18:43,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.55 mag/arcsec²; threshold=20.05; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-08,18:42,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.69 mag/arcsec²; threshold=20.19; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-10,18:42,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.96 mag/arcsec²; threshold=20.46; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-11,18:44,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.54 mag/arcsec²; threshold=20.04; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-12,18:47,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.47 mag/arcsec²; threshold=19.97; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-29,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.67 mag/arcsec²; threshold=19.17; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-30,18:34,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.23 mag/arcsec²; threshold=18.73; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-01,18:35,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.18 mag/arcsec²; threshold=19.68; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-02,18:49,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.89 mag/arcsec²; threshold=19.39; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-03,18:38,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.87 mag/arcsec²; threshold=20.37; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-04,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.75 mag/arcsec²; threshold=20.25; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-05,18:33,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.33 mag/arcsec²; threshold=18.83; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-06,18:34,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.52 mag/arcsec²; threshold=20.02; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-07,18:32,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.04 mag/arcsec²; threshold=19.54; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-08,18:34,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.53 mag/arcsec²; threshold=20.03; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-10,18:39,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.95 mag/arcsec²; threshold=20.45; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-11,18:56,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.56 mag/arcsec²; threshold=20.06; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-27,18:30,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.42 mag/arcsec²; threshold=19.92; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-28,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.98 mag/arcsec²; threshold=20.48; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-29,18:30,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.16 mag/arcsec²; threshold=19.66; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-30,18:29,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.83 mag/arcsec²; threshold=19.33; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-01,18:54,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.86 mag/arcsec²; threshold=20.36; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-03,18:39,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.03 mag/arcsec²; threshold=20.53; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-04,18:39,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.19 mag/arcsec²; threshold=20.69; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-05,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.17 mag/arcsec²; threshold=20.67; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-06,18:35,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.96 mag/arcsec²; threshold=20.46; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-07,18:35,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.05 mag/arcsec²; threshold=20.55; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-08,18:34,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.92 mag/arcsec²; threshold=20.42; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-09,18:36,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.98 mag/arcsec²; threshold=20.48; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-27,18:30,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.33 mag/arcsec²; threshold=18.83; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-28,18:36,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.93 mag/arcsec²; threshold=19.43; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-29,18:30,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.14 mag/arcsec²; threshold=18.64; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-30,18:39,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.00 mag/arcsec²; threshold=20.50; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-31,18:38,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.27 mag/arcsec²; threshold=19.77; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-02,18:37,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.98 mag/arcsec²; threshold=20.48; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-04,18:36,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.95 mag/arcsec²; threshold=20.45; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-06,18:33,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.21 mag/arcsec²; threshold=19.71; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-08,18:33,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.84 mag/arcsec²; threshold=19.34; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-25,18:41,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.61 mag/arcsec²; threshold=19.11; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-26,18:42,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.93 mag/arcsec²; threshold=19.43; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-27,18:43,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.48 mag/arcsec²; threshold=18.98; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-28,19:04,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.44 mag/arcsec²; threshold=19.94; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-30,18:42,7.0,-7.65,107.692,680,BRIN multistation SQM 2018 (GRT),Per-night SQM Isha observation; station GRT; Garut West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.29 mag/arcsec²; threshold=18.79; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-01,18:23,7.0,-7.568,112.674,10,BRIN multistation SQM 2018 (PSR),Per-night SQM Isha observation; station PSR; Pasuruan East Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.08 mag/arcsec²; threshold=18.58; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-02,18:39,7.0,-7.568,112.674,10,BRIN multistation SQM 2018 (PSR),Per-night SQM Isha observation; station PSR; Pasuruan East Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.43 mag/arcsec²; threshold=18.93; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-10,18:38,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.11 mag/arcsec²; threshold=19.61; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-04,18:32,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.23 mag/arcsec²; threshold=19.73; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-06,18:32,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.63 mag/arcsec²; threshold=20.13; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-07,18:43,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.68 mag/arcsec²; threshold=20.18; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-09,18:40,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.65 mag/arcsec²; threshold=20.15; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-10,18:31,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.55 mag/arcsec²; threshold=20.05; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-11,18:33,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.75 mag/arcsec²; threshold=20.25; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-12,18:31,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.56 mag/arcsec²; threshold=20.06; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-13,18:31,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.51 mag/arcsec²; threshold=20.01; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-14,18:32,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.33 mag/arcsec²; threshold=19.83; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-15,18:51,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.88 mag/arcsec²; threshold=19.38; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-16,18:35,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.20 mag/arcsec²; threshold=18.70; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-17,19:13,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.50 mag/arcsec²; threshold=19.00; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-04,18:28,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.44 mag/arcsec²; threshold=18.94; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-06,18:28,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.64 mag/arcsec²; threshold=19.14; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-07,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.68 mag/arcsec²; threshold=19.18; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-08,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.93 mag/arcsec²; threshold=19.43; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-09,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.97 mag/arcsec²; threshold=19.47; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-10,18:34,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.74 mag/arcsec²; threshold=19.24; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-11,18:33,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.66 mag/arcsec²; threshold=20.16; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-12,18:34,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.57 mag/arcsec²; threshold=20.07; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-13,18:30,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.12 mag/arcsec²; threshold=19.62; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-14,18:32,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.35 mag/arcsec²; threshold=19.85; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-01,18:40,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.30 mag/arcsec²; threshold=19.80; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-02,18:35,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.18 mag/arcsec²; threshold=19.68; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-03,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.59 mag/arcsec²; threshold=20.09; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-04,18:34,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.03 mag/arcsec²; threshold=19.53; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-05,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.82 mag/arcsec²; threshold=20.32; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-06,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.68 mag/arcsec²; threshold=20.18; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-07,18:37,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.40 mag/arcsec²; threshold=19.90; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-08,18:41,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.43 mag/arcsec²; threshold=19.93; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-09,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.62 mag/arcsec²; threshold=20.12; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-10,18:35,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.75 mag/arcsec²; threshold=19.25; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-12,18:37,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.31 mag/arcsec²; threshold=19.81; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-13,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.20 mag/arcsec²; threshold=19.70; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-14,18:51,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.20 mag/arcsec²; threshold=19.70; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-31,18:37,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.42 mag/arcsec²; threshold=18.92; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-01,18:37,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.06 mag/arcsec²; threshold=18.56; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-02,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.59 mag/arcsec²; threshold=20.09; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-03,18:41,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.45 mag/arcsec²; threshold=19.95; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-04,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.30 mag/arcsec²; threshold=19.80; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-05,18:55,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.03 mag/arcsec²; threshold=19.53; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-06,18:41,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.37 mag/arcsec²; threshold=19.87; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-07,18:40,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.27 mag/arcsec²; threshold=18.77; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-08,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.53 mag/arcsec²; threshold=19.03; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-11,18:37,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.14 mag/arcsec²; threshold=18.64; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-12,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.67 mag/arcsec²; threshold=19.17; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-01,18:34,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.19 mag/arcsec²; threshold=18.69; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-03,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.86 mag/arcsec²; threshold=20.36; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-04,18:37,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.22 mag/arcsec²; threshold=19.72; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-05,18:33,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.82 mag/arcsec²; threshold=19.32; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-06,18:33,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.79 mag/arcsec²; threshold=19.29; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-07,18:33,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.44 mag/arcsec²; threshold=19.94; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-10,18:33,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.41 mag/arcsec²; threshold=19.91; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-11,18:56,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.34 mag/arcsec²; threshold=19.84; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-27,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.33 mag/arcsec²; threshold=18.83; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-28,18:32,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.42 mag/arcsec²; threshold=19.92; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-29,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.26 mag/arcsec²; threshold=19.76; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-30,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.35 mag/arcsec²; threshold=19.85; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-01,18:31,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.35 mag/arcsec²; threshold=19.85; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-02,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.33 mag/arcsec²; threshold=19.83; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-03,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.58 mag/arcsec²; threshold=19.08; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-04,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.29 mag/arcsec²; threshold=19.79; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-05,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.28 mag/arcsec²; threshold=19.78; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-07,18:28,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.44 mag/arcsec²; threshold=19.94; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-08,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.53 mag/arcsec²; threshold=20.03; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-09,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.45 mag/arcsec²; threshold=19.95; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-10,18:30,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.60 mag/arcsec²; threshold=20.10; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-27,18:33,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.58 mag/arcsec²; threshold=19.08; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-28,18:38,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.39 mag/arcsec²; threshold=18.89; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-29,18:29,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.14 mag/arcsec²; threshold=18.64; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-04,18:33,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.57 mag/arcsec²; threshold=19.07; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-05,18:31,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.50 mag/arcsec²; threshold=19.00; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-06,19:08,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.30 mag/arcsec²; threshold=19.80; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-08,18:32,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.01 mag/arcsec²; threshold=18.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-26,18:39,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.23 mag/arcsec²; threshold=18.73; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-30,18:41,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.14 mag/arcsec²; threshold=18.64; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-01,18:42,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.86 mag/arcsec²; threshold=19.36; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-02,18:42,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.06 mag/arcsec²; threshold=18.56; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-04,18:45,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.87 mag/arcsec²; threshold=19.37; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-05,18:44,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.33 mag/arcsec²; threshold=18.83; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-06,18:45,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.15 mag/arcsec²; threshold=19.65; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-07,18:45,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.06 mag/arcsec²; threshold=18.56; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-09,19:15,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.15 mag/arcsec²; threshold=19.65; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-25,18:54,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.02 mag/arcsec²; threshold=18.52; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-27,18:55,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.01 mag/arcsec²; threshold=18.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-28,19:04,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.85 mag/arcsec²; threshold=19.35; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-29,18:56,7.0,-6.913,107.837,10,BRIN multistation SQM 2018 (SMD),Per-night SQM Isha observation; station SMD; Subang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.83 mag/arcsec²; threshold=19.33; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-05,18:46,7.0,-6.562,107.769,650,BRIN multistation SQM 2018 (SBG),Per-night SQM Isha observation; station SBG; Sumedang West Java Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.24 mag/arcsec²; threshold=18.74; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-04,18:47,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.36 mag/arcsec²; threshold=18.86; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-05,18:47,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.86 mag/arcsec²; threshold=19.36; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-06,18:50,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.11 mag/arcsec²; threshold=19.61; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-07,18:49,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.26 mag/arcsec²; threshold=19.76; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-09,18:50,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.13 mag/arcsec²; threshold=19.63; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-10,18:48,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.22 mag/arcsec²; threshold=19.72; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-12,18:46,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.55 mag/arcsec²; threshold=19.05; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-13,18:47,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.66 mag/arcsec²; threshold=19.16; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-14,18:46,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.74 mag/arcsec²; threshold=19.24; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-16,18:44,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.73 mag/arcsec²; threshold=19.23; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-17,18:45,9.0,-1.174,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.63 mag/arcsec²; threshold=19.13; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-04,19:12,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.58 mag/arcsec²; threshold=19.08; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-05,19:11,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.12 mag/arcsec²; threshold=18.62; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-07,19:09,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.60 mag/arcsec²; threshold=21.10; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-09,19:09,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.17 mag/arcsec²; threshold=18.67; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-10,19:13,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.25 mag/arcsec²; threshold=19.75; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-12,19:10,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.07 mag/arcsec²; threshold=19.57; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-13,19:08,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.47 mag/arcsec²; threshold=18.97; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-14,19:12,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.64 mag/arcsec²; threshold=21.14; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-16,19:10,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.70 mag/arcsec²; threshold=19.20; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-04-17,19:12,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.14 mag/arcsec²; threshold=19.64; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-02,19:10,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.88 mag/arcsec²; threshold=19.38; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-03,19:07,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.69 mag/arcsec²; threshold=19.19; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-11,19:24,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.14 mag/arcsec²; threshold=20.64; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-12,19:20,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.37 mag/arcsec²; threshold=20.87; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-30,19:08,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.59 mag/arcsec²; threshold=20.09; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-31,19:12,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.58 mag/arcsec²; threshold=20.08; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-01,19:07,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.54 mag/arcsec²; threshold=20.04; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-02,19:15,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.57 mag/arcsec²; threshold=20.07; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-04,19:11,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.13 mag/arcsec²; threshold=20.63; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-05,19:17,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.92 mag/arcsec²; threshold=20.42; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-06,19:10,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.89 mag/arcsec²; threshold=20.39; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-07,19:10,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.77 mag/arcsec²; threshold=20.27; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-08,19:05,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.47 mag/arcsec²; threshold=19.97; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-09,19:10,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.01 mag/arcsec²; threshold=20.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-10,19:10,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.04 mag/arcsec²; threshold=20.54; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-27,18:58,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.16 mag/arcsec²; threshold=19.66; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-28,19:09,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.06 mag/arcsec²; threshold=20.56; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-29,18:57,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.44 mag/arcsec²; threshold=19.94; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-30,18:57,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=22.26 mag/arcsec²; threshold=21.76; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-01,18:57,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.97 mag/arcsec²; threshold=20.47; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-02,19:02,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.73 mag/arcsec²; threshold=20.23; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-03,18:58,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.80 mag/arcsec²; threshold=20.30; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-04,19:00,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.10 mag/arcsec²; threshold=20.60; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-05,19:00,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.88 mag/arcsec²; threshold=20.38; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-06,19:02,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.40 mag/arcsec²; threshold=20.90; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-07,18:55,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.09 mag/arcsec²; threshold=20.59; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-08,18:55,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=23.13 mag/arcsec²; threshold=22.63; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-09,18:54,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=23.16 mag/arcsec²; threshold=22.66; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-10,18:54,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.13 mag/arcsec²; threshold=20.63; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-27,19:00,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=24.64 mag/arcsec²; threshold=24.14; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-28,19:00,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=25.67 mag/arcsec²; threshold=25.17; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-29,19:15,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=25.52 mag/arcsec²; threshold=25.02; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-31,19:09,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=26.81 mag/arcsec²; threshold=26.31; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-01,18:57,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.76 mag/arcsec²; threshold=20.26; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-02,18:52,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.08 mag/arcsec²; threshold=20.58; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-03,18:57,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.26 mag/arcsec²; threshold=19.76; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-04,19:00,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.66 mag/arcsec²; threshold=20.16; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-05,18:52,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.18 mag/arcsec²; threshold=20.68; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-06,19:01,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.95 mag/arcsec²; threshold=20.45; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-08,18:55,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.93 mag/arcsec²; threshold=20.43; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-09,19:12,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.47 mag/arcsec²; threshold=19.97; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-25,19:10,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.80 mag/arcsec²; threshold=21.30; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-26,19:07,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.80 mag/arcsec²; threshold=21.30; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-28,19:14,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.47 mag/arcsec²; threshold=20.97; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-29,18:58,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=21.80 mag/arcsec²; threshold=21.30; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-30,19:00,7.0,-0.204,100.32,850,BRIN multistation SQM 2018 (AGM),Per-night SQM Isha observation; station AGM; Agam West Sumatra Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.55 mag/arcsec²; threshold=20.05; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-05-04,18:29,7.0,-0.008,109.365,10,BRIN multistation SQM 2018 (PTK),Per-night SQM Isha observation; station PTK; Pontianak West Kalimantan Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=24.47 mag/arcsec²; threshold=23.97; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-29,18:16,7.0,-0.008,109.365,10,BRIN multistation SQM 2018 (PTK),Per-night SQM Isha observation; station PTK; Pontianak West Kalimantan Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.00 mag/arcsec²; threshold=18.50; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-30,18:16,7.0,-0.008,109.365,10,BRIN multistation SQM 2018 (PTK),Per-night SQM Isha observation; station PTK; Pontianak West Kalimantan Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.04 mag/arcsec²; threshold=18.54; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-01,18:48,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.95 mag/arcsec²; threshold=19.45; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-02,18:48,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.61 mag/arcsec²; threshold=19.11; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-03,18:48,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.60 mag/arcsec²; threshold=19.10; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-04,18:48,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.84 mag/arcsec²; threshold=19.34; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-05,18:56,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.59 mag/arcsec²; threshold=19.09; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-06,18:49,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.43 mag/arcsec²; threshold=18.93; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-07,18:49,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.10 mag/arcsec²; threshold=18.60; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-11,18:50,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.07 mag/arcsec²; threshold=19.57; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-12,18:50,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.67 mag/arcsec²; threshold=19.17; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-13,18:50,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.31 mag/arcsec²; threshold=18.81; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-14,18:51,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.80 mag/arcsec²; threshold=19.30; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-06-15,19:09,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.18 mag/arcsec²; threshold=18.68; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-02,18:54,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.68 mag/arcsec²; threshold=19.18; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-03,18:54,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.84 mag/arcsec²; threshold=19.34; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-04,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.05 mag/arcsec²; threshold=19.55; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-05,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.40 mag/arcsec²; threshold=19.90; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-06,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.01 mag/arcsec²; threshold=19.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-07,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.53 mag/arcsec²; threshold=19.03; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-08,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.06 mag/arcsec²; threshold=18.56; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-09,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.84 mag/arcsec²; threshold=19.34; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-10,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.01 mag/arcsec²; threshold=19.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-11,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.98 mag/arcsec²; threshold=19.48; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-12,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.28 mag/arcsec²; threshold=19.78; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-13,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.63 mag/arcsec²; threshold=19.13; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-14,18:56,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.32 mag/arcsec²; threshold=18.82; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-30,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.70 mag/arcsec²; threshold=19.20; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-07-31,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.97 mag/arcsec²; threshold=19.47; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-01,18:54,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.85 mag/arcsec²; threshold=19.35; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-02,18:55,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.93 mag/arcsec²; threshold=19.43; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-03,18:54,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.45 mag/arcsec²; threshold=18.95; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-04,18:57,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.51 mag/arcsec²; threshold=19.01; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-05,19:07,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.69 mag/arcsec²; threshold=19.19; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-06,18:53,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.13 mag/arcsec²; threshold=19.63; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-07,18:54,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.07 mag/arcsec²; threshold=19.57; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-08,18:53,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.92 mag/arcsec²; threshold=19.42; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-09,18:53,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.66 mag/arcsec²; threshold=19.16; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-10,18:53,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.40 mag/arcsec²; threshold=18.90; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-11,19:06,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.86 mag/arcsec²; threshold=19.36; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-12,18:52,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.80 mag/arcsec²; threshold=19.30; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-29,18:47,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.05 mag/arcsec²; threshold=19.55; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-30,18:46,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.51 mag/arcsec²; threshold=19.01; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-08-31,18:46,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.33 mag/arcsec²; threshold=19.83; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-01,18:45,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.63 mag/arcsec²; threshold=19.13; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-02,19:02,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.59 mag/arcsec²; threshold=19.09; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-03,18:44,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.00 mag/arcsec²; threshold=19.50; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-05,19:12,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.25 mag/arcsec²; threshold=19.75; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-06,18:43,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.48 mag/arcsec²; threshold=18.98; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-07,18:43,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.05 mag/arcsec²; threshold=19.55; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-08,18:42,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.01 mag/arcsec²; threshold=19.51; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-09,18:42,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.82 mag/arcsec²; threshold=19.32; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-10,18:44,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.71 mag/arcsec²; threshold=19.21; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-11,18:59,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.36 mag/arcsec²; threshold=19.86; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-28,18:35,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.07 mag/arcsec²; threshold=19.57; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-29,18:37,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.16 mag/arcsec²; threshold=19.66; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-09-30,18:37,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.70 mag/arcsec²; threshold=19.20; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-01,18:38,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.85 mag/arcsec²; threshold=19.35; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-02,18:33,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.05 mag/arcsec²; threshold=19.55; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-03,18:33,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.06 mag/arcsec²; threshold=18.56; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-04,18:33,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.00 mag/arcsec²; threshold=19.50; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-05,18:37,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.15 mag/arcsec²; threshold=19.65; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-06,18:52,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.43 mag/arcsec²; threshold=19.93; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-07,18:34,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.84 mag/arcsec²; threshold=19.34; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-10-08,18:32,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.81 mag/arcsec²; threshold=19.31; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-02,18:28,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.40 mag/arcsec²; threshold=18.90; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-04,18:33,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.94 mag/arcsec²; threshold=19.44; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-05,18:28,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.54 mag/arcsec²; threshold=19.04; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-06,18:31,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.59 mag/arcsec²; threshold=19.09; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-07,18:32,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.99 mag/arcsec²; threshold=19.49; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-08,18:31,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.41 mag/arcsec²; threshold=19.91; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-09,18:43,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.82 mag/arcsec²; threshold=19.32; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-25,18:33,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.08 mag/arcsec²; threshold=18.58; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-26,18:33,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.59 mag/arcsec²; threshold=19.09; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-27,18:34,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.32 mag/arcsec²; threshold=18.82; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-29,18:39,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.25 mag/arcsec²; threshold=19.75; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-11-30,18:37,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=20.03 mag/arcsec²; threshold=19.53; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-01,18:35,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.96 mag/arcsec²; threshold=19.46; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
isha,2018-12-02,18:40,9.0,1.1774,136.101,10,BRIN multistation SQM 2018 (BIK),Per-night SQM Isha observation; station BIK; Biak Papua Indonesia; MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; dark-sky baseline=19.88 mag/arcsec²; threshold=19.38; Damanhuri & Mukarram LAPAN 2022 dataset
|
||||
|
13
data/raw/raw_sightings/kassim_bahali_2017_malaysia.csv
Normal file
13
data/raw/raw_sightings/kassim_bahali_2017_malaysia.csv
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,2017-06-01,05:48,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; first visibility by DSLR Canon 60Da; Do=-17.36; cloudy 82% cloud cover; sea horizon background"
|
||||
fajr,2017-06-03,05:42,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; intermittent cloud 71%; Do=-17.32"
|
||||
fajr,2017-06-04,05:40,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; cloudy 81%; Do=-18.00; dawn seen between clouds"
|
||||
fajr,2017-06-05,05:50,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; cloudy 97%; Do=-15.45"
|
||||
fajr,2017-07-03,05:55,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; Do=-15.50"
|
||||
fajr,2017-07-04,05:53,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; Do=-16.24"
|
||||
fajr,2017-07-05,05:53,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; Do=-16.24"
|
||||
fajr,2017-07-06,05:51,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; Do=-16.54"
|
||||
fajr,2017-07-07,05:46,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Pekan Pahang Malaysia; Do=-18.06; clearest sky of June-July series; Venus and Aldebaran visible"
|
||||
fajr,2017-08-02,05:49,8.0,5.330,103.137,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Kuala Terengganu Malaysia; Do=-16.0 at horizon; mentioned in figure caption"
|
||||
fajr,2017-08-03,05:49,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Malaysia/Indonesia study; earliest dawn recorded; Do=-18.35 (most sensitive reading in dataset)"
|
||||
fajr,2017-10-29,06:05,8.0,3.408,103.356,0.0,"Kassim Bahali et al. 2018, Sains Malaysiana 47(11):2877-2885, DSLR camera study","Malaysia/Indonesia study; latest dawn time recorded; Do=-13.30 (minimum in dataset)"
|
||||
|
10
data/raw/raw_sightings/kassim_bahali_2019_ijmet.csv
Normal file
10
data/raw/raw_sightings/kassim_bahali_2019_ijmet.csv
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,2017-07-24,05:47,8.0,3.408,103.356,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Pekan Pahang Malaysia; clear sky; DSLR=17.63° SQM=16.93° avg=17.28°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights; sea horizon"
|
||||
fajr,2017-07-31,05:53,8.0,4.795,103.426,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Dungun Terengganu Malaysia; clear sky; DSLR=17.7° SQM=16.53° avg=17.12°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights"
|
||||
fajr,2017-08-01,05:52,8.0,4.795,103.426,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Dungun Terengganu Malaysia; clear sky; DSLR=17.5° SQM=17.27° avg=17.38°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights"
|
||||
fajr,2017-08-05,05:53,8.0,4.795,103.426,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Dungun Terengganu Malaysia; clear sky; DSLR=17.63° SQM=16.92° avg=17.27°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights"
|
||||
fajr,2017-12-22,05:32,7.0,5.876,95.339,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Sabang Aceh Indonesia; clear sky; DSLR=17.47° SQM=16.77° avg=17.12°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights"
|
||||
fajr,2017-12-26,05:33,7.0,5.876,95.339,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Sabang Aceh Indonesia; clear sky; DSLR=17.68° SQM=17.0° avg=17.34°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights"
|
||||
fajr,2017-12-27,05:32,7.0,5.876,95.339,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Sabang Aceh Indonesia; clear sky; DSLR=17.57° SQM=18.03° avg=17.80°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights"
|
||||
fajr,2017-12-28,05:31,7.0,5.876,95.339,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Sabang Aceh Indonesia; clear sky; DSLR=18.15° SQM=18.03° avg=18.09°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights"
|
||||
fajr,2017-12-29,05:31,7.0,5.876,95.339,5,"Kassim Bahali et al. 2019 IJMET 10(2):1136-1150 DSLR+SQM Dawn Malaysia Indonesia","Sabang Aceh Indonesia; clear sky; DSLR=18.03° SQM=18.27° avg=18.15°; time inferred from avg DSLR+SQM angle; Table 6 clear sky nights"
|
||||
|
12
data/raw/raw_sightings/khalifa_2018_saudi_desert.csv
Normal file
12
data/raw/raw_sightings/khalifa_2018_saudi_desert.csv
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,2016-05-28,04:23,3.0,25.4833,39.3667,752,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; ~80km Hail-Medina desert route, deep desert; Do=14.60; back-calc=14.600"
|
||||
fajr,2016-05-29,04:21,3.0,25.4833,39.3667,752,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; ~80km Hail-Medina desert route, deep desert; Do=14.91; back-calc=14.910"
|
||||
fajr,2016-05-30,04:21,3.0,25.75,39.3,791,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Hail-Medina desert route, deep desert; Do=14.74; back-calc=14.740"
|
||||
fajr,2016-06-04,04:15,3.0,25.5167,41.0,1092,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Near Hail desert site, 1092m, deep desert; Do=14.46; back-calc=14.460"
|
||||
fajr,2016-12-12,05:30,3.0,19.55,43.6333,1110,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Asir region, 1110m, deep desert; Do=13.97; back-calc=13.970"
|
||||
fajr,2016-12-13,05:30,3.0,19.6667,43.5167,1049,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Asir region, 1049m, deep desert; Do=14.23; back-calc=14.230"
|
||||
fajr,2016-12-19,05:54,3.0,24.2833,39.6667,770,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Medina region, 770m, deep desert; Do=14.62; back-calc=14.620"
|
||||
fajr,2016-12-20,05:56,3.0,24.2833,39.6667,770,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Medina region, 770m, deep desert; Do=14.30; back-calc=14.300"
|
||||
fajr,2016-12-21,05:56,3.0,24.3167,39.65,731,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Medina region, 731m, deep desert; Do=14.44; back-calc=14.440"
|
||||
fajr,2017-01-07,05:59,3.0,24.3167,39.65,731,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Medina region, 731m, deep desert; Do=14.95; back-calc=14.950"
|
||||
fajr,2017-01-08,06:00,3.0,24.3167,39.65,731,"Khalifa et al. 2018, NRIAG J Astronomy Geophysics doi:10.1016/j.nrjag.2018.01.001, Table 3, Saudi Arabia deep desert","Saudi Arabia deep desert; Medina region, 731m, deep desert; Do=14.99; back-calc=14.990"
|
||||
|
3
data/raw/raw_sightings/moonsighting_com_sightings.csv
Normal file
3
data/raw/raw_sightings/moonsighting_com_sightings.csv
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,2000-12-03,05:45,-5.0,25.940,-80.130,3.0,"Moonsighting.com / Khalid Shaukat, moonsighting.com/faq_pt.html","Miami Beach / Sunny Isles FL USA; 5 witnesses: Salam Dandia, Raffia Dandia, Abdul Razz Khanani, Kaiser Pervez, Mufti Rafique Ahmet; confirmed Subh Sadiq; moonsighting.com 15deg calculation matched 100%"
|
||||
fajr,2016-06-23,03:56,2.0,46.553,6.312,440.0,"Moonsighting.com / Rafik Ouared, moonsighting.com/how-we.html","Pampigny Switzerland; camera-captured true dawn (Imsak); CEST UTC+2; moonsighting.com calculation was 3:51 AM (5 min early); single observer with camera verification"
|
||||
|
82
data/raw/raw_sightings/shaukat_2015_blackburn_uk.csv
Normal file
82
data/raw/raw_sightings/shaukat_2015_blackburn_uk.csv
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,1987-09-21,05:30,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=04:52; 15deg calc=05:14; sunrise=06:53
|
||||
fajr,1987-09-23,05:35,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=04:56; 15deg calc=05:18; sunrise=06:57
|
||||
fajr,1987-09-26,05:37,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:02; 15deg calc=05:24; sunrise=07:02
|
||||
fajr,1987-09-28,05:40,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:07; 15deg calc=05:28; sunrise=07:06
|
||||
fajr,1987-10-22,06:20,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:52; 15deg calc=06:12; sunrise=07:49
|
||||
fajr,1987-10-25,05:30,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; GMT resumed Oct 25; 18deg calc=05:57; 15deg calc=06:18; sunrise=06:55
|
||||
fajr,1987-10-28,05:33,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=06:03; 15deg calc=06:23; sunrise=07:01
|
||||
fajr,1987-10-29,05:33,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=06:04; 15deg calc=06:25; sunrise=07:04
|
||||
fajr,1987-11-11,05:57,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:26; 15deg calc=05:46; sunrise=07:29
|
||||
fajr,1987-11-25,06:09,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:47; 15deg calc=06:07; sunrise=07:54
|
||||
fajr,1987-11-26,06:13,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:48; 15deg calc=06:09; sunrise=07:55
|
||||
fajr,1987-11-28,06:14,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:51; 15deg calc=06:12; sunrise=07:59
|
||||
fajr,1987-12-09,06:35,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=06:03; 15deg calc=06:25; sunrise=08:14
|
||||
fajr,1988-02-06,06:10,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:48; 15deg calc=06:08; sunrise=07:45
|
||||
fajr,1988-02-07,06:09,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:46; 15deg calc=06:06; sunrise=07:47
|
||||
fajr,1988-02-23,05:32,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:16; 15deg calc=05:36; sunrise=07:14
|
||||
fajr,1988-03-02,05:20,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=05:00; 15deg calc=05:21; sunrise=06:55
|
||||
fajr,1988-04-01,05:10,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; BST resumed Mar 27; 18deg calc=04:39; 15deg calc=05:03; sunrise=06:43
|
||||
fajr,1988-05-02,03:53,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=02:44; 15deg calc=03:25; sunrise=05:34
|
||||
fajr,1988-05-06,03:35,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg not available; 15deg calc=03:11; sunrise=05:26
|
||||
fajr,1988-05-10,03:23,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg calc=01:56; 15deg calc=02:56; sunrise=05:18
|
||||
fajr,1988-05-15,03:14,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; Tabayyan=03:36; 18deg=----; 15deg calc=02:36; sunrise=05:09
|
||||
fajr,1988-05-20,02:45,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; 18deg=----; 15deg calc=02:13; sunrise=05:01
|
||||
fajr,1988-05-21,02:38,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; Tabayyan=03:28; 18deg=----; 15deg calc=02:08; sunrise=05:00
|
||||
fajr,1988-05-25,02:10,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; Tabayyan=03:10; 18deg=----; 15deg calc=01:43; sunrise=04:54
|
||||
fajr,1988-06-06,01:45,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; Tabayyan=03:00; 18deg=----; 15deg=----; sunrise=04:43
|
||||
fajr,1988-08-07,03:38,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; Tabayyan=04:10; 18deg calc=02:27; 15deg calc=03:17; sunrise=05:33
|
||||
fajr,1988-08-16,03:55,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Subh Sadiq; Hizbul Ulama UK observers; 5 Imams; Tabayyan=04:25; 18deg calc=03:09; 15deg calc=03:46; sunrise=05:49
|
||||
isha,1987-09-22,20:10,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=19:15; 15deg calc=20:48; 18deg calc=21:10
|
||||
isha,1987-09-24,20:10,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=19:10; 15deg calc=20:42; 18deg calc=21:04
|
||||
isha,1987-09-26,20:00,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=19:05; 15deg calc=20:37; 18deg calc=20:59
|
||||
isha,1987-10-01,20:00,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=18:52; 15deg calc=20:24; 18deg calc=20:45
|
||||
isha,1987-10-10,19:35,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=18:31; 15deg calc=20:02; 18deg calc=20:23
|
||||
isha,1987-10-25,17:55,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; GMT resumed Oct 25; sunset=16:57; 15deg calc=19:29; 18deg calc=19:50
|
||||
isha,1987-11-27,17:10,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=16:02; 15deg calc=17:44; 18deg calc=18:05
|
||||
isha,1987-12-08,17:15,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=15:55; 15deg calc=17:40; 18deg calc=18:01
|
||||
isha,1987-12-09,17:15,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=15:55; 15deg calc=17:39; 18deg calc=18:01
|
||||
isha,1987-12-12,17:00,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=15:54; 15deg calc=17:39; 18deg calc=18:01
|
||||
isha,1988-01-07,17:11,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=16:05; 15deg calc=17:56; 18deg calc=18:17
|
||||
isha,1988-01-24,17:25,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=16:35; 15deg calc=18:19; 18deg calc=18:40
|
||||
isha,1988-03-30,20:42,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; BST resumed Mar 27; sunset=19:46; 15deg calc=21:24; 18deg calc=21:48
|
||||
isha,1988-05-05,21:49,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=20:52; 15deg calc=23:05; 18deg calc=23:55
|
||||
isha,1988-05-19,22:31,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=21:16; 15deg calc=00:04; 18deg=----
|
||||
isha,1988-05-20,22:29,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=21:17; 15deg calc=00:09; 18deg=----
|
||||
isha,1988-06-05,23:00,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=21:39; 15deg=----; 18deg=----
|
||||
isha,1988-06-12,23:05,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=21:45; white shafaq=not gone; 15deg=----; 18deg=----
|
||||
isha,1988-06-13,23:10,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=21:46; white shafaq=not gone; 15deg=----; 18deg=----
|
||||
isha,1988-08-01,22:20,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=21:13; 15deg calc=23:30; 18deg calc=00:36
|
||||
isha,1988-08-06,22:12,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Ahmer (red); Hizbul Ulama UK observers; 5 Imams; sunset=21:04; 15deg calc=23:12; 18deg calc=00:00
|
||||
isha,1987-09-22,20:37,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=19:15; 15deg calc=20:48; 18deg calc=21:10
|
||||
isha,1987-09-24,20:30,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=19:10; 15deg calc=20:42; 18deg calc=21:04
|
||||
isha,1987-09-26,20:25,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=19:05; 15deg calc=20:37; 18deg calc=20:59
|
||||
isha,1987-10-01,20:15,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=18:52; 15deg calc=20:24; 18deg calc=20:45
|
||||
isha,1987-10-10,19:55,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=18:31; 15deg calc=20:02; 18deg calc=20:23
|
||||
isha,1987-10-25,18:15,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; GMT resumed Oct 25; sunset=16:57; 15deg calc=19:29; 18deg calc=19:50
|
||||
isha,1987-11-14,17:40,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=16:41; red=No; 15deg calc=17:57; 18deg calc=18:17
|
||||
isha,1987-11-25,17:26,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=16:04; red=No; 15deg calc=17:46; 18deg calc=18:06
|
||||
isha,1987-11-26,17:25,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=16:03; red=No; 15deg calc=17:45; 18deg calc=18:06
|
||||
isha,1987-11-27,17:30,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=16:02; red=17:10; 15deg calc=17:44; 18deg calc=18:05
|
||||
isha,1987-12-08,17:35,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=15:55; red=17:15; 15deg calc=17:40; 18deg calc=18:01
|
||||
isha,1987-12-09,17:33,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=15:55; red=17:15; 15deg calc=17:39; 18deg calc=18:01
|
||||
isha,1987-12-10,17:30,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=15:54; red=No; 15deg calc=17:39; 18deg calc=18:01
|
||||
isha,1987-12-12,17:20,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=15:54; red=17:00; 15deg calc=17:39; 18deg calc=18:01
|
||||
isha,1987-12-14,17:27,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=15:54; red=No; 15deg calc=17:40; 18deg calc=18:01
|
||||
isha,1987-12-25,17:30,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=15:58; red=No; 15deg calc=17:44; 18deg calc=18:05
|
||||
isha,1988-01-07,17:43,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=16:05; red=17:11; 15deg calc=17:56; 18deg calc=18:17
|
||||
isha,1988-01-24,18:05,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=16:35; red=17:25; 15deg calc=18:19; 18deg calc=18:40
|
||||
isha,1988-02-21,18:50,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=17:31; red=No; 15deg calc=19:08; 18deg calc=19:28
|
||||
isha,1988-03-01,19:14,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=17:46; red=No; 15deg calc=19:24; 18deg calc=19:45
|
||||
isha,1988-03-04,19:17,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=17:52; red=No; 15deg calc=19:30; 18deg calc=19:51
|
||||
isha,1988-03-21,19:48,0.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=18:24; red=No; 15deg calc=20:05; 18deg calc=20:27
|
||||
isha,1988-03-30,21:21,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; BST resumed Mar 27; sunset=19:46; red=20:42; 15deg calc=21:24; 18deg calc=21:48
|
||||
isha,1988-04-11,21:33,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=20:08; red=No; 15deg calc=21:53; 18deg calc=22:21
|
||||
isha,1988-04-28,22:06,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=20:39; red=No; 15deg calc=22:42; 18deg calc=23:20
|
||||
isha,1988-05-05,22:47,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=20:52; red=21:49; 15deg calc=23:05; 18deg calc=23:55
|
||||
isha,1988-05-19,23:24,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=21:16; red=22:31; 15deg calc=00:04; 18deg=----
|
||||
isha,1988-05-20,23:37,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=21:17; red=22:29; 15deg calc=00:09; 18deg=----
|
||||
isha,1988-05-24,00:40,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=21:24; red=No; 15deg calc=00:37; 18deg=----
|
||||
isha,1988-06-05,00:46,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=21:39; red=23:00; 15deg=----; 18deg=----
|
||||
isha,1988-08-01,23:25,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=21:13; red=22:20; 15deg calc=23:30; 18deg calc=00:36
|
||||
isha,1988-08-06,23:15,1.0,53.75,-2.4833,150.0,Shaukat 2015 Fajr and Isha Booklet Blackburn Lancashire UK,naked eye; Shafaq Abyad (white); Hizbul Ulama UK observers; 5 Imams; sunset=21:04; red=22:12; 15deg calc=23:12; 18deg calc=00:00
|
||||
|
3
data/raw/raw_sightings/shaukat_2015_other_sites.csv
Normal file
3
data/raw/raw_sightings/shaukat_2015_other_sites.csv
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,1970-06-12,04:17,5.0,25.7667,68.6583,16.0,Ludhianvi 1975 Subh Sadiq / Shaukat 2015 Fajr and Isha Booklet Tando Adam Pakistan,naked eye; Subh Sadiq; team of 11 Ulama and experts; night was pitch dark without lights; Subh Kadhib at 04:00; sunrise approx 05:30
|
||||
fajr,1991-09-28,06:20,-4.0,42.444,-76.502,280.0,Afzal 1991 / Shaukat 2015 Fajr and Isha Booklet Ithaca NY USA,naked eye; Subh Sadiq (Fajr al-Mustatir); Dr Omar Afzal and 2 observers; diffused light over whole eastern horizon; very clear horizon; Tabayyan at 06:29; sunrise=07:01; EDT (UTC-4)
|
||||
|
|
|
@ -1,76 +0,0 @@
|
|||
prayer,date_local,time_local,hours_from_midnight,target_angle,sqm_at_crossing,lat,lng,elevation_m,utc_offset,source,notes
|
||||
fajr,2020-09-23,04:22,4.3758,18.0,22.234,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.234
|
||||
fajr,2020-09-24,04:22,4.37,18.0,22.2,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.2
|
||||
fajr,2020-09-25,04:21,4.3572,18.0,22.206,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.206
|
||||
fajr,2020-09-26,04:20,4.3444,18.0,22.213,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.213
|
||||
fajr,2020-09-27,04:19,4.3317,18.0,22.17,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.17
|
||||
fajr,2020-09-28,04:19,4.3248,18.0,22.12,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.12
|
||||
fajr,2020-10-12,04:10,4.1796,18.0,21.69,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.69
|
||||
fajr,2020-10-20,04:06,4.1096,18.0,21.965,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.965
|
||||
fajr,2020-10-21,04:05,4.1,18.0,21.96,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.96
|
||||
fajr,2020-10-22,04:05,4.0892,18.0,21.96,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.96
|
||||
fajr,2020-10-23,04:04,4.0796,18.0,21.93,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.93
|
||||
fajr,2020-10-24,04:04,4.0752,18.0,21.77,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.77
|
||||
fajr,2020-10-25,04:04,4.0704,18.0,21.81,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.81
|
||||
fajr,2020-10-26,04:03,4.0613,18.0,21.82,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.82
|
||||
fajr,2020-10-27,04:03,4.0525,18.0,21.88,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.88
|
||||
fajr,2020-10-28,04:02,4.0433,18.0,21.83,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.83
|
||||
fajr,2020-11-10,03:58,3.9735,18.0,21.04,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.04
|
||||
fajr,2020-11-11,03:58,3.9709,18.0,21.66,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.66
|
||||
fajr,2020-11-12,03:58,3.9682,18.0,21.71,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.71
|
||||
fajr,2020-11-13,03:57,3.9639,18.0,21.77,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.77
|
||||
fajr,2020-11-14,03:57,3.9604,18.0,21.81,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.81
|
||||
fajr,2020-11-15,03:57,3.957,18.0,21.85,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.85
|
||||
fajr,2020-11-16,03:57,3.9545,18.0,21.75,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.75
|
||||
fajr,2020-11-17,03:57,3.9526,18.0,21.81,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.81
|
||||
fajr,2020-11-18,03:57,3.95,18.0,21.88,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.88
|
||||
fajr,2020-11-19,03:56,3.9483,18.0,21.911,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.911
|
||||
fajr,2020-11-20,03:56,3.9474,18.0,21.85,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.85
|
||||
fajr,2020-11-21,03:56,3.9473,18.0,21.64,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.64
|
||||
fajr,2020-11-22,03:56,3.9464,18.0,21.84,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.84
|
||||
fajr,2020-11-23,03:56,3.9464,18.0,21.888,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.888
|
||||
fajr,2020-11-24,03:56,3.9464,18.0,21.872,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.872
|
||||
fajr,2020-11-25,03:56,3.9473,18.0,21.86,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.86
|
||||
fajr,2020-11-26,03:56,3.9482,18.0,21.919,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.919
|
||||
fajr,2020-11-27,03:56,3.9491,18.0,22.07,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.07
|
||||
fajr,2020-12-20,04:03,4.0655,18.0,22.373,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.373
|
||||
fajr,2020-12-24,04:05,4.0982,18.0,22.251,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.251
|
||||
fajr,2020-12-25,04:06,4.1095,18.0,22.195,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.195
|
||||
fajr,2020-12-26,04:07,4.1205,18.0,22.15,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.15
|
||||
fajr,2020-12-27,04:07,4.1255,18.0,22.33,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.33
|
||||
fajr,2021-01-13,04:17,4.2973,18.0,22.353,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.353
|
||||
fajr,2021-01-17,04:20,4.3364,18.0,22.34,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.34
|
||||
fajr,2021-01-18,04:20,4.3473,18.0,22.43,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.43
|
||||
fajr,2021-01-26,04:25,4.4259,18.0,21.99,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.99
|
||||
fajr,2021-09-03,04:34,4.5768,18.0,21.94,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.94
|
||||
fajr,2021-09-04,04:34,4.5704,18.0,22.29,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.29
|
||||
fajr,2021-09-05,04:33,4.5608,18.0,22.18,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.18
|
||||
fajr,2021-09-13,04:28,4.4792,18.0,22.181,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.181
|
||||
fajr,2021-09-14,04:28,4.4737,18.0,22.052,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.052
|
||||
fajr,2021-09-15,04:27,4.465,18.0,22.163,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.163
|
||||
fajr,2021-09-16,04:27,4.4533,18.0,22.057,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.057
|
||||
fajr,2021-09-17,04:26,4.4404,18.0,22.15,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.15
|
||||
fajr,2021-09-18,04:25,4.4296,18.0,21.889,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.889
|
||||
fajr,2021-10-13,04:10,4.175,18.0,21.735,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.735
|
||||
fajr,2021-10-15,04:09,4.1575,18.0,21.676,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.676
|
||||
fajr,2021-10-16,04:08,4.1467,18.0,21.48,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.48
|
||||
fajr,2021-10-17,04:08,4.135,18.0,21.74,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.74
|
||||
fajr,2021-11-09,03:58,3.9765,18.0,21.7,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.7
|
||||
fajr,2021-11-10,03:58,3.9736,18.0,21.81,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.81
|
||||
fajr,2021-11-11,03:58,3.9713,18.0,21.683,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.683
|
||||
fajr,2021-11-12,03:58,3.9683,18.0,21.781,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.781
|
||||
fajr,2021-11-13,03:57,3.9645,18.0,21.84,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.84
|
||||
fajr,2021-11-14,03:57,3.9604,18.0,21.94,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.94
|
||||
fajr,2021-11-15,03:57,3.9578,18.0,21.84,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.84
|
||||
fajr,2021-11-16,03:57,3.9536,18.0,22.015,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.015
|
||||
fajr,2021-11-30,03:57,3.9564,18.0,21.303,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.303
|
||||
fajr,2021-12-01,03:57,3.9591,18.0,21.8,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.8
|
||||
fajr,2021-12-02,03:57,3.9618,18.0,21.95,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.95
|
||||
fajr,2021-12-04,03:58,3.9705,18.0,21.84,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.84
|
||||
fajr,2021-12-06,03:58,3.975,18.0,22.0,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.0
|
||||
fajr,2021-12-11,04:00,4.0009,18.0,21.95,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.95
|
||||
fajr,2021-12-12,04:00,4.0082,18.0,21.91,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.91
|
||||
fajr,2021-12-13,04:00,4.0155,18.0,21.88,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=21.88
|
||||
fajr,2021-12-14,04:01,4.021,18.0,22.089,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.089
|
||||
fajr,2021-12-15,04:01,4.0255,18.0,22.055,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.055
|
||||
fajr,2021-12-16,04:01,4.0295,18.0,22.06,-8.65,124.08,1600.0,8.0,"BRIN CC0 SQM dataset, Mount Timau NTT Indonesia (data.brin.go.id hdl:20.500.12690/RIN/A5XCJB)",Pristine site 21.86 mpsas; 1600m; per-night SQM time series; target=18.0°; SQM at crossing=22.06
|
||||
|
11
data/raw/raw_sightings/walisongo_2022_sulawesi_sqm.csv
Normal file
11
data/raw/raw_sightings/walisongo_2022_sulawesi_sqm.csv
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
prayer,date_local,time_local,utc_offset,lat,lng,elevation_m,source,notes
|
||||
fajr,2022-09-22,04:39,8.0,-5.48826,120.44388,6,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Bulukumba S.Sulawesi Bortle-1 MPSAS=22.0; moon=13.7%; weather=Cloudy; SQM=17.8254° SOOF=18.3059°; time inferred from SQM angle"
|
||||
fajr,2022-09-24,04:34,8.0,-5.48826,120.44388,6,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Bulukumba S.Sulawesi Bortle-1 MPSAS=22.0; moon=3%; weather=Cloudy; SQM=18.9569° SOOF=18.7899°; time inferred from SQM angle"
|
||||
fajr,2022-09-25,04:31,8.0,-5.48826,120.44388,6,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Bulukumba S.Sulawesi Bortle-1 MPSAS=22.0; moon=1%; weather=Clear-Cloudy; SQM=19.514° SOOF=19.1189°; time inferred from SQM angle"
|
||||
fajr,2022-09-27,04:37,8.0,-5.48826,120.44388,6,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Bulukumba S.Sulawesi Bortle-1 MPSAS=21.9; moon=3%; weather=Thick Cloud; SQM=17.7429° SOOF=18.2409°; time inferred from SQM angle"
|
||||
fajr,2022-10-02,04:28,8.0,-5.48826,120.44388,6,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Bulukumba S.Sulawesi Bortle-1 MPSAS=21.6; moon=41%; weather=Thin Cloud; SQM=19.416° SOOF=19.1882°; time inferred from SQM angle"
|
||||
fajr,2022-10-03,04:34,8.0,-5.36511,119.51343,25,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Takalar S.Sulawesi Bortle-4 MPSAS=20.4; moon=55%; weather=Cloudy; SQM=18.6759° SOOF=18.453°; time inferred from SQM angle"
|
||||
fajr,2022-10-04,04:34,8.0,-5.36511,119.51343,25,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Takalar S.Sulawesi Bortle-4 MPSAS=20.6; moon=63%; weather=Thin Cloud; SQM=18.6408° SOOF=18.4378°; time inferred from SQM angle"
|
||||
fajr,2022-10-05,04:47,8.0,-5.36511,119.51343,25,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Takalar S.Sulawesi Bortle-4 MPSAS=21.8; moon=74%; weather=Thick Cloud; SQM=15.1146° SOOF=15.3822°; time inferred from SQM angle"
|
||||
fajr,2022-10-07,04:35,8.0,-5.36511,119.51343,25,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Takalar S.Sulawesi Bortle-4 MPSAS=20.6; moon=91%; weather=Thin Cloud; SQM=17.9224° SOOF=16.6283°; time inferred from SQM angle"
|
||||
fajr,2022-10-08,04:39,8.0,-5.36511,119.51343,25,"Hidayatulloh 2023 UIN Walisongo thesis SOOF+SQM Fajr South Sulawesi Indonesia","Takalar S.Sulawesi Bortle-4 MPSAS=20.6; moon=96%; weather=Cloudy; SQM=16.8223° SOOF=16.8948°; time inferred from SQM angle"
|
||||
|
69
research/aggregate_comparison.md
Normal file
69
research/aggregate_comparison.md
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# Aggregate D0 Values: Comparison Across Published Research
|
||||
|
||||
This file compiles all known aggregate solar depression angles (D0) for Fajr and Isha from published academic research. These are NOT per-night observation records. They represent mean angles reported across multi-night observation campaigns.
|
||||
|
||||
The structured data is in `aggregate_d0_values.csv` (same directory).
|
||||
|
||||
## Key Findings
|
||||
|
||||
### Fajr Depression Angle by Sky Quality
|
||||
|
||||
| Sky Quality | D0 Range | Mean D0 | Method | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Pristine/dark | 15.5-19.9 | 17.5 | SQM, naked-eye | Banyuwangi 19.9, Labuan Bajo 19.3, Jordan 19.5, Karimunjawa 15.5, Agam 16.7 |
|
||||
| Rural/somewhat dark | 13.4-17.6 | 15.0 | SQM, DSLR, photometer | LAPAN stations, Tilong 14.4, Malaysian coast, Egyptian desert, Biak 13.4 |
|
||||
| Suburban/somewhat bright | 12.3-17.0 | 13.8 | SQM | Bosscha 13.7, Pasuruan 13.9, Pontianak 12.3, Subang 12.7 |
|
||||
| Urban/bright | 9.1-14.0 | 12.6 | SQM | Mangkangkulon 12.8, Medan 11.9, Depok 13.6, 15th of May City 12.7 |
|
||||
|
||||
### Isha Depression Angle by Sky Quality
|
||||
|
||||
| Sky Quality | D0 Range | Mean D0 | Method | Notes |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Pristine | 17.5-18.9 | 17.7 | SQM, naked-eye | Coonabarabran, Sabah, Kelantan coast |
|
||||
| Rural | 14.0-16.5 | 15.4 | SQM | Malaysia east coast, Egypt |
|
||||
| Urban (LP) | 11.5-12.9 | 12.2 | SQM | Putrajaya, Kuala Lumpur |
|
||||
|
||||
### Regional Summary
|
||||
|
||||
#### Southeast Asia (Indonesia + Malaysia)
|
||||
|
||||
- 58 Fajr entries, 16 Isha entries (including 15 Basthoni 2022 per-site means)
|
||||
- Latitude range: 10.1S to 7.2N (equatorial)
|
||||
- Fajr D0: 11.9-19.9 (wide range driven by light pollution gradient)
|
||||
- Dark Indonesian sites (Banyuwangi, Labuan Bajo, Mombhul Beach): 19.1-19.9
|
||||
- Basthoni 2022 dark-sky mean across 594 nights: 16.3
|
||||
- Basthoni 2022 somewhat dark mean across 380 nights: 14.1
|
||||
- Basthoni 2022 somewhat bright mean across 418 nights: 13.4
|
||||
- Basthoni 2022 bright/urban mean across 229 nights: 12.8
|
||||
- LAPAN 8-station mean: 16.51 (moderate sky quality)
|
||||
- Urban LP sites (Medan 11.9, Mangkangkulon 12.8, Depok 13.6): 11.9-13.6
|
||||
- Isha data mostly from Malaysian SQM campaigns: 11.5-18.0
|
||||
|
||||
#### Middle East / North Africa (Egypt, Saudi, Libya, Mauritania, Jordan)
|
||||
- 19 Fajr entries, 4 Isha entries
|
||||
- Latitude range: 18N to 32N
|
||||
- Fajr D0: 12.7-19.5 (Egypt urban vs Jordan pristine)
|
||||
- Egypt NRIAG multi-site mean: 14.56 (consistent across 6 sites)
|
||||
- Saudi Hail desert: 14.0 (SQM+photoelectric, 32 nights)
|
||||
- Libya Tubruq: 13.48 (1053 naked-eye observations)
|
||||
- Jordan pristine: 19.5 (naked-eye, very dark sites)
|
||||
|
||||
#### Europe / UK
|
||||
- 4 Fajr entries, 2 Isha entries
|
||||
- Latitude: 51.2N to 53.7N
|
||||
- Fajr D0: 15.0-18.0 (Blackburn to Ankara)
|
||||
- Isha D0: 15.0 (Exmoor, Blackburn)
|
||||
|
||||
### Interpretation Notes
|
||||
|
||||
1. Sky quality is the dominant factor in D0 variation. Pristine sites consistently produce 17-19 degree angles, while urban sites produce 12-14 degrees. This is not measurement error but reflects when the twilight signal becomes distinguishable from artificial sky glow.
|
||||
|
||||
2. The Egypt NRIAG studies show remarkable consistency (14.5-14.7) across desert and Mediterranean sites, suggesting this is a robust estimate for low-LP Middle Eastern sites.
|
||||
|
||||
3. The LAPAN 16.51 degree mean across 8 Indonesian stations is a good representative value for the region's typical sky quality.
|
||||
|
||||
4. The 100k-row target in the PRI is aspirational. Published per-night observation data worldwide totals approximately 4,500-5,000 records (dominated by OpenFajr Birmingham). Reaching 10,000+ requires institutional data sharing.
|
||||
|
||||
## Sources
|
||||
|
||||
See `aggregate_d0_values.csv` for the full structured dataset with coordinates, methods, and citations.
|
||||
115
research/aggregate_d0_values.csv
Normal file
115
research/aggregate_d0_values.csv
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
source,site,lat,lng,elevation_m,prayer,d0_angle,d0_std,n_nights,method,sky_quality,year_range
|
||||
MJC South Africa standard,Johannesburg,-26.2,28.04,1753,fajr,18.0,,,standard,n/a,current
|
||||
Herdiwijaya 2016+2020,"Kupang Amfoang, NTT",-9.6,123.95,1300,fajr,18.0,,83.0,SQM/photometer,pristine,2011-2018
|
||||
Damanhuri & Mukarram LAPAN 2022,"Lombok, NTT",-8.56,116.1,25,fajr,16.51,,,SQM,rural,2018
|
||||
Maskufa et al. 2024 Mazahib,"Labuan Bajo, Flores NTT",-8.5,119.89,10,fajr,19.3,,,SQM,pristine,2023
|
||||
Setyanto et al. 2021 Al-Hilal,"Labuan Bajo, NTT",-8.39,119.68,10,fajr,19.13,,1.0,SQM,pristine,2018
|
||||
Herdiwijaya 2014-2016,Yogyakarta,-7.87,110.42,100,fajr,17.0,0.7,136.0,photometer,suburban,2014-2016
|
||||
Damanhuri & Mukarram LAPAN 2022,"Pasuruan, East Java",-7.64,112.9,4,fajr,16.51,,,SQM,suburban,2018
|
||||
Damanhuri & Mukarram LAPAN 2022,"Garut, West Java",-7.21,107.9,717,fajr,16.51,,,SQM,rural,2018
|
||||
Herdiwijaya 2016+2020,"Cimahi, West Java",-6.88,107.53,700,fajr,18.5,,,SQM,suburban,2011-2018
|
||||
Damanhuri & Mukarram LAPAN 2022,"Sumedang, West Java",-6.86,107.92,556,fajr,16.51,,,SQM,rural,2018
|
||||
Herdiwijaya 2016+2020,"Bosscha Observatory, Lembang",-6.83,107.61,1300,fajr,15.3,,83.0,photometer,rural,2011-2018
|
||||
Setyanto et al. 2021 Al-Hilal,Bosscha Observatory,-6.83,107.61,1300,fajr,16.07,,1.0,SQM,rural,2015
|
||||
Setyanto et al. 2021 Al-Hilal,Imahnoong Observatory,-6.83,107.62,2200,fajr,15.26,,1.0,SQM,rural,2018
|
||||
Al-faruq 2013 UPI thesis,Bosscha Observatory (wet),-6.82,107.62,1300,fajr,15.0,,,photoelectric,rural,2012
|
||||
Al-faruq 2013 UPI thesis,Bosscha Observatory (dry),-6.82,107.62,1300,fajr,16.0,,,photoelectric,rural,2012
|
||||
Setyanto et al. 2021 Al-Hilal,"Sedan, Rembang",-6.76,111.59,30,fajr,17.64,,1.0,SQM,rural,2018
|
||||
Saksono ISRN/UHAMKA,"Cirebon, West Java",-6.72,108.55,5,fajr,13.4,,,SQM,urban,2015
|
||||
Noor & Hamdani 2018 QIJIS,"Tayu Beach, Pati, Central Java",-6.68,111.05,5,fajr,17.0,,4.0,photoelectric+SQM,rural,2016
|
||||
Maskufa et al. 2024 Mazahib,"Bogor, West Java",-6.59,106.79,265,fajr,13.58,,,SQM,urban,2023
|
||||
Saksono & Fulazzaky 2020 NRIAG,"Depok, West Java",-6.38,106.83,150,fajr,14.0,0.6,26.0,SQM,urban,2015
|
||||
Setyanto et al. 2021 Al-Hilal,"Mombhul Beach, Gresik",-5.79,112.73,5,fajr,19.15,,1.0,SQM,pristine,2018
|
||||
Hisbullah Salam 2022-2023 Walisongo,"Bulukumba, South Sulawesi",-5.56,120.18,10,fajr,18.24,,,SOOF+SQM,pristine,2022-2023
|
||||
Hisbullah Salam 2022-2023 Walisongo,"Takalar, South Sulawesi",-5.43,119.43,10,fajr,17.0,,,SOOF+SQM,suburban,2022-2023
|
||||
Saksono ISRN/UHAMKA,"Balikpapan, East Kalimantan",-1.27,116.83,10,fajr,13.4,,,SQM,urban,2015
|
||||
Damanhuri & Mukarram LAPAN 2022,"Biak, Papua",-1.17,135.8,10,fajr,16.51,,,SQM,rural,2018
|
||||
Saksono ISRN/UHAMKA,"Padang, West Sumatra",-0.9,100.35,5,fajr,13.4,,,SQM,urban,2015
|
||||
Saksono ISRN/UHAMKA,"Manokwari, West Papua",-0.86,134.08,10,fajr,13.4,,,SQM,urban,2015
|
||||
Saksono ISRN/UHAMKA,"Batusangkar, West Sumatra",-0.47,100.6,891,fajr,13.4,,,SQM,urban,2015
|
||||
Damanhuri & Mukarram LAPAN 2022,"Agam, West Sumatra",-0.25,100.37,850,fajr,16.51,,,SQM,rural,2018
|
||||
Damanhuri & Mukarram LAPAN 2022,"Pontianak, West Kalimantan",0.0,109.33,1,fajr,16.51,,,SQM,suburban,2018
|
||||
Saksono ISRN/UHAMKA,"Bitung, North Sulawesi",1.44,125.19,20,fajr,13.4,,,SQM,urban,2015
|
||||
Damanhuri & Mukarram LAPAN 2022,"Manado, North Sulawesi",1.49,124.85,80,fajr,16.51,,,SQM,suburban,2018
|
||||
Abdel-Hadi & Hassan 2022 IJAA,"Teluk Kemang, N. Sembilan (Fajr)",2.46,101.87,27,fajr,14.19,0.52,,SQM,rural,2007-2008
|
||||
Abdel-Hadi & Hassan 2022 IJAA,"Port Klang, Selangor (Fajr)",3.0,101.4,46,fajr,15.07,,,SQM,suburban,2007-2008
|
||||
Pinem et al. 2024 JMEA,"Sri Mersing Beach, N. Sumatra",3.45,99.0,5,fajr,14.0,,,SQM,suburban,2022
|
||||
Pinem et al. 2024 JMEA,"Pondok Permai Beach, N. Sumatra",3.46,99.0,5,fajr,15.0,,,SQM,rural,2022
|
||||
Lubis et al. 2025 Al-Hisab,OIF UMSU Medan,3.6,98.67,22,fajr,13.0,,30.0,SQM,urban,2024
|
||||
Abdel-Hadi & Hassan 2022 IJAA,"Kuala Lipis, Pahang (Fajr)",4.18,102.04,75,fajr,14.08,,,SQM,rural,2007-2008
|
||||
Abdel-Hadi & Hassan 2022 IJAA,"Merang, Terengganu (Fajr)",5.52,102.95,42,fajr,14.6,,,SQM,rural,2007-2008
|
||||
Nigeria standard,Kano,12.0,8.52,472,fajr,18.0,,,standard,n/a,current
|
||||
Taha et al. 2025 Emirates Scholar,"Jeneifisa, Mauritania",20.85,-14.383,170,fajr,14.85,,,naked-eye,pristine,2024
|
||||
Taha et al. 2025 Emirates Scholar,"Jorf, Mauritania",20.25,-15.283,91,fajr,14.85,,,naked-eye,pristine,2024
|
||||
Umm al-Qura standard,"Makkah, Saudi Arabia",21.42,39.83,300,fajr,18.5,,,standard,n/a,current
|
||||
Bangladesh IF estimate,Dhaka,23.72,90.41,8,fajr,15.0,,,standard,n/a,current
|
||||
Hassan et al. 2014 NRIAG,Aswan,24.09,32.9,115,fajr,14.7,,,naked-eye,rural,1984-1987
|
||||
Taha et al. 2025 Emirates Scholar,Madinah,24.47,39.61,598,fajr,14.58,,,SQM+CCD,suburban,2024
|
||||
Taha et al. 2025 Emirates Scholar,Riyadh,25.767,47.2,540,fajr,14.58,0.3,13.0,naked-eye+DSLR,suburban,2024
|
||||
Pakistan standard,Karachi,24.86,67.01,10,fajr,15.0,,,standard,n/a,current
|
||||
Hassan et al. 2020 multi-site,Marsa Alam,25.07,34.9,10,fajr,14.56,,,multi-method,pristine,2015-2019
|
||||
Hassan et al. 2020 multi-site,Kharga Oasis,25.45,30.55,80,fajr,14.56,,,multi-method,pristine,2015-2019
|
||||
Hassan et al. 2016 NRIAG,Assiut,27.17,31.18,70,fajr,13.48,,80.0,SQM,suburban,2015-2016
|
||||
Hassan et al. 2020 multi-site,Hurghada,27.26,33.8,10,fajr,14.56,,,multi-method,rural,2015-2019
|
||||
Khalifa et al. 2018 NRIAG,"Hail, Saudi Arabia",27.52,41.7,980,fajr,14.014,0.317,32.0,SQM+photoelectric,pristine,2014-2015
|
||||
Hassan et al. 2014 NRIAG,Baharia Oasis,28.34,28.88,150,fajr,14.7,,,naked-eye,pristine,1984-1987
|
||||
Rashed et al. 2022 IJMET,"Wadi al-Hitan, Fayum",29.28,30.05,50,fajr,14.6,,4.0,SQM+naked-eye,pristine,2018-2019
|
||||
IAEME Fayum study,"Fayum, Egypt",29.28,30.05,50,fajr,14.4,,,multi-method,rural,2015-2019
|
||||
Taha et al. 2025 Emirates Scholar,"15th of May City, Egypt",29.96,31.76,50,fajr,12.69,,,SQM+CCD,urban,2024
|
||||
Hassan et al. 2014 NRIAG,Kottamia Observatory (Fajr),30.03,31.82,477,fajr,14.7,,,photoelectric+naked-eye,rural,1984-1987
|
||||
Semeida & Hassan 2018 BJBAS,Wadi Al Natron (Fajr),30.5,30.1,0,fajr,14.5,,38.0,naked-eye,pristine,2016-2017
|
||||
Hassan et al. 2016 NRIAG,Sinai,31.07,32.93,30,fajr,14.66,,80.0,SQM,rural,2015-2016
|
||||
Hassan et al. 2020 multi-site,Alexandria,31.2,29.9,10,fajr,14.56,,,multi-method,suburban,2015-2019
|
||||
Hassan et al. 2014 NRIAG,Matrouh (Fajr),31.35,27.24,30,fajr,13.5,,,instruments,rural,1984-1987
|
||||
Abed 2015 Jordan J,"East Sawaqah, Jordan",31.38,36.27,700,fajr,19.5,,2.0,naked-eye,pristine,2009
|
||||
Morocco Habous standard,Marrakech,31.63,-8.0,467,fajr,18.0,,,standard,n/a,current
|
||||
Abed 2015 Jordan J,"East Uraynibah, Jordan",31.64,36.0,700,fajr,19.5,,7.0,naked-eye,pristine,2009-2010
|
||||
Al-Hilal 2021 Tubruq Libya,"Tubruq, Libya",32.08,24.01,10,fajr,13.48,,1053.0,naked-eye,rural,multi-year
|
||||
Diyanet Turkey 2012-2015,"Ankara, Turkey",39.93,32.85,938,fajr,18.0,,,unknown,suburban,2012-2015
|
||||
Asim Yusuf 2017,"Exmoor, UK (Fajr)",51.15,-3.65,300,fajr,16.0,,,naked-eye,pristine,2014-2016
|
||||
Hizbul Ulama UK 1987-1989,"Blackburn, UK (Fajr)",53.75,-2.48,120,fajr,15.0,,21.0,naked-eye,suburban,1987-1989
|
||||
Basthoni 2022 PhD UIN Walisongo,"Tilong Kupang, NTT",-10.14,123.732,96,fajr,14.37,2.06,213.0,SQM,somewhat dark,2018-2019
|
||||
Basthoni 2022 PhD UIN Walisongo,"Banyuwangi, East Java",-8.028,114.425,1,fajr,19.88,0.59,60.0,SQM,dark,2020
|
||||
Basthoni 2022 PhD UIN Walisongo,"Garut, West Java",-7.65,107.692,10,fajr,14.83,2.56,101.0,SQM,dark,2018
|
||||
Basthoni 2022 PhD UIN Walisongo,"Pasuruan, East Java",-7.567,112.674,57,fajr,13.89,1.41,87.0,SQM,somewhat bright,2019
|
||||
Basthoni 2022 PhD UIN Walisongo,"Bosscha Lembang, West Java",-6.824,107.617,1289,fajr,13.69,1.86,189.0,SQM,somewhat bright,2012
|
||||
Basthoni 2022 PhD UIN Walisongo,"Mangkangkulon Semarang, Central Java",-6.971,110.296,1,fajr,12.79,1.35,154.0,SQM,bright/urban,2019-2021
|
||||
Basthoni 2022 PhD UIN Walisongo,"Subang, West Java",-6.562,107.769,90,fajr,12.68,1.49,59.0,SQM,somewhat bright,2018
|
||||
Basthoni 2022 PhD UIN Walisongo,"Depok, West Java",-6.39,106.76,86,fajr,13.64,0.53,15.0,SQM,bright/urban,2015
|
||||
Basthoni 2022 PhD UIN Walisongo,"Karimunjawa, Central Java",-5.822,110.491,1,fajr,15.48,2.37,252.0,SQM,dark,2020-2021
|
||||
Basthoni 2022 PhD UIN Walisongo,"Biak, Papua",-1.174,136.101,47,fajr,13.38,2.4,148.0,SQM,somewhat dark,2019-2020
|
||||
Basthoni 2022 PhD UIN Walisongo,"Agam, West Sumatra",-0.204,100.32,855,fajr,16.67,1.92,151.0,SQM,dark,2019
|
||||
Basthoni 2022 PhD UIN Walisongo,"Pontianak, West Kalimantan",-0.007,109.365,2,fajr,12.34,1.64,76.0,SQM,somewhat bright,2018
|
||||
Basthoni 2022 PhD UIN Walisongo,"Medan, North Sumatra",3.582,98.722,25,fajr,11.92,1.17,28.0,SQM,bright/urban,2019
|
||||
Basthoni 2022 PhD UIN Walisongo,"Paopao Gowa, South Sulawesi",-5.184,119.471,4,fajr,14.01,1.17,13.0,SQM,bright/urban,2013
|
||||
Marzouk et al. 2025 AUASS,"Kottamia Observatory, Egypt",29.932,31.825,411,fajr,14.0,,3.0,naked-eye+camera,rural,2023-2024
|
||||
Marzouk et al. 2025 AUASS,"Kharga Oasis, Egypt",25.3,30.167,40,fajr,14.5,,2.0,camera,pristine,2023-2024
|
||||
Marzouk et al. 2025 AUASS,"Aswan, Egypt",23.803,32.492,210,fajr,15.0,,4.0,camera,rural,2023-2024
|
||||
Marzouk et al. 2025 AUASS,"Fayum, Egypt",29.283,30.05,50,fajr,14.5,,2.0,CCD+camera,rural,2023-2024
|
||||
Kassim Bahali 2019 IJMET,"Pekan, Pahang",3.408,103.356,5,fajr,15.5,,1.0,DSLR+SQM,rural,2017
|
||||
Kassim Bahali 2019 IJMET,"Dungun, Terengganu",4.795,103.426,5,fajr,16.0,,3.0,DSLR+SQM,rural,2017
|
||||
Kassim Bahali 2019 IJMET,"Sabang, Aceh",5.876,95.339,5,fajr,16.5,,5.0,DSLR+SQM,rural,2017
|
||||
Faid et al. 2024 Sci. Reports,"Coonabarabran, NSW Australia",-31.25,149.27,860,isha,17.49,,,SQM,pristine,2017-2022
|
||||
Herdiwijaya 2016+2020,"Kupang, NTT (dusk)",-10.2,123.6,50,isha,18.853,,,photometer,rural,2011-2018
|
||||
Al-faruq 2013 UPI thesis,"Bosscha Observatory (wet, Isha)",-6.82,107.62,1300,isha,14.0,,,photoelectric,rural,2012
|
||||
Al-faruq 2013 UPI thesis,"Bosscha Observatory (dry, Isha)",-6.82,107.62,1300,isha,15.0,,,photoelectric,rural,2012
|
||||
Faid et al. 2024 Sci. Reports,"Tanjung Balau, Johor (rural)",1.8,104.4,5,isha,15.67,,,SQM,rural,2017-2022
|
||||
Abdel-Hadi & Hassan 2022 IJAA,"Teluk Kemang, N. Sembilan (Isha)",2.46,101.87,27,isha,14.21,,,SQM,rural,2007-2008
|
||||
Faid et al. 2024 Sci. Reports,Putrajaya (urban),2.9,101.68,20,isha,11.5,,,SQM,urban,2017-2022
|
||||
Abdel-Hadi & Hassan 2022 IJAA,"Port Klang, Selangor (Isha)",3.0,101.4,46,isha,14.0,,,SQM,suburban,2007-2008
|
||||
Hamidi 2007-2008,"Port Klang, Selangor (Isha)",3.0,101.4,46,isha,16.5,,,SQM,suburban,2007-2008
|
||||
Abdel-Hadi & Hassan 2022 IJAA,Kuala Lumpur (Isha),3.15,101.68,60,isha,12.85,,,SQM,urban,2007-2008
|
||||
Abdel-Hadi & Hassan 2022 IJAA,"Kuala Lipis, Pahang (Isha)",4.18,102.04,75,isha,14.38,0.91,,SQM,rural,2007-2008
|
||||
Hamidi 2007-2008,"Kuala Lipis, Pahang (Isha)",4.18,102.04,75,isha,16.5,,,SQM,rural,2007-2008
|
||||
Faid et al. 2024 Sci. Reports,"Pantai Batu Buruk, Terengganu",5.32,103.15,5,isha,15.67,,,SQM,rural,2017-2022
|
||||
Faid et al. 2024 Sci. Reports,"Balai Cerap Unisza, Terengganu",5.4,102.58,20,isha,17.49,,,SQM,pristine,2017-2022
|
||||
Faid et al. 2024 Sci. Reports,"Pantai Masjid TZ, Terengganu",5.4,103.95,5,isha,15.67,,,SQM,rural,2017-2022
|
||||
Niri et al. 2012 MEJSR,"Tanjung Aru, Kota Kinabalu",5.95,116.03,4,isha,18.0,,,naked-eye+SQM,rural,2009
|
||||
Faid et al. 2024 Sci. Reports,"Pantai Mek Mas, Kelantan",6.32,102.15,5,isha,17.49,,,SQM,pristine,2017-2022
|
||||
Faid et al. 2024 Sci. Reports,"Simpang Mengayau, Sabah",7.2,116.5,10,isha,17.49,,,SQM,pristine,2017-2022
|
||||
Khalifa et al. 2018 NRIAG,"Hail, Saudi Arabia (Isha)",27.52,41.7,980,isha,14.8,,32.0,SQM+photoelectric,pristine,2014-2015
|
||||
Hassan et al. 2014 NRIAG,Kottamia Observatory (Isha),30.03,31.82,477,isha,14.5,,,photoelectric+naked-eye,rural,1984-1987
|
||||
Semeida & Hassan 2018 BJBAS,Wadi Al Natron (Isha),30.5,30.1,0,isha,14.0,,38.0,naked-eye,pristine,2016-2017
|
||||
Hassan et al. 2014 NRIAG,Matrouh (Isha),31.35,27.24,30,isha,14.0,,,instruments,rural,1984-1987
|
||||
Asim Yusuf 2017,"Exmoor, UK (Isha)",51.15,-3.65,300,isha,15.0,,,naked-eye,pristine,2014-2016
|
||||
Hizbul Ulama UK 1987-1989,"Blackburn, UK (Isha)",53.75,-2.48,120,isha,15.0,,,naked-eye,suburban,1987-1989
|
||||
|
31
research/outreach/01_oif_umsu_medan.txt
Normal file
31
research/outreach/01_oif_umsu_medan.txt
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
To: oif@umsu.ac.id
|
||||
Subject: Request for Raw SQM Observation Data — Fajr/Isha Twilight Research Collaboration
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher working on an open-source project to build the largest empirical dataset of verified Fajr and Isha twilight observations worldwide. The goal is to develop data-driven models for Islamic prayer time calculation based on real human and instrument observations rather than fixed-angle assumptions.
|
||||
|
||||
I recently read Lubis, Nafilah & Jihad (2025) in Al-Hisab 2(4):215-229, which used SQM data from OIF UMSU for November 2024. The paper references your observatory's continuous SQM monitoring program running since 2016-2017.
|
||||
|
||||
I am writing to ask whether OIF UMSU would be willing to share raw per-night SQM observation data from your Medan site (3.595 N, 98.672 E) for the years 2016-2024. Specifically, I need:
|
||||
|
||||
- Date of each observation night
|
||||
- Local time when dawn brightness first exceeded the night baseline (Fajr onset)
|
||||
- Local time when evening brightness dropped below the twilight threshold (Isha onset), if recorded
|
||||
- Sky condition notes (clear, cloudy, etc.) for each night
|
||||
|
||||
Even a simple CSV or spreadsheet with date, Fajr time, and Isha time columns would be extremely valuable. The data would be used in an open-source research project (MIT licensed) with full attribution to OIF UMSU and the relevant researchers.
|
||||
|
||||
Our project repository: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ Fajr and 19 Isha verified observation records from 140+ sites worldwide.
|
||||
|
||||
Your data from Medan would be particularly valuable because:
|
||||
1. It spans multiple years at a single equatorial site
|
||||
2. It documents urban light pollution effects on twilight angles
|
||||
3. North Sumatra is underrepresented in global twilight datasets
|
||||
|
||||
Please let me know if this collaboration is possible. I am happy to share our dataset and findings in return.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
30
research/outreach/02_bosscha_observatory.txt
Normal file
30
research/outreach/02_bosscha_observatory.txt
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
To: bosscha@itb.ac.id
|
||||
Subject: Request for Per-Night Twilight Observation Data — Open-Source Prayer Time Research
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building an open-source dataset of verified Fajr and Isha twilight observations for data-driven Islamic prayer time calculation.
|
||||
|
||||
I have been studying the excellent work of Prof. Dani Herdiwijaya and colleagues at Bosscha Observatory, including:
|
||||
- Herdiwijaya (2016), J. Phys.: Conf. Ser. 771, 012033 (5 Indonesian stations)
|
||||
- Herdiwijaya (2020), J. Phys.: Conf. Ser. 1523, 012007 (multi-station comparison)
|
||||
- Herdiwijaya (2015), ICOPIA proceedings (Bosscha, Bandung, Cimahi, Yogyakarta, Amfoang)
|
||||
|
||||
These papers report aggregate mean depression angles across hundreds of observation nights, but the per-night data (specific dates with specific observed Fajr/Isha times) would be far more valuable for building predictive models.
|
||||
|
||||
Would it be possible to obtain the raw per-night observation logs from any of Bosscha's twilight monitoring campaigns? Even a subset of the data (e.g., the 136 clear nights from the Yogyakarta 2014-2016 campaign, or the Kupang Amfoang measurements) would be a significant contribution.
|
||||
|
||||
The data I need for each observation night:
|
||||
- Calendar date
|
||||
- Local observed time of Fajr onset (morning twilight detection)
|
||||
- Local observed time of Isha onset (evening twilight disappearance), if recorded
|
||||
- Any sky condition notes
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ verified observations from 140+ sites across 20+ countries.
|
||||
|
||||
I would be pleased to share our compiled dataset and acknowledge Bosscha Observatory's contribution in all publications.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
34
research/outreach/03_nriag_egypt.txt
Normal file
34
research/outreach/03_nriag_egypt.txt
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
To: (via ResearchGate messages to Mohammed G. Rashed and A.H. Hassan)
|
||||
Subject: Request for Per-Night Twilight Observation Data — Open-Source Prayer Time Dataset
|
||||
|
||||
Dear Dr. Rashed and Dr. Hassan,
|
||||
|
||||
My name is Ali Camarata. I am building an open-source dataset of verified Fajr and Isha twilight observations for empirical Islamic prayer time modeling.
|
||||
|
||||
Your research at NRIAG represents some of the most comprehensive twilight photometry work in the Middle East and North Africa region. I have been studying your publications extensively:
|
||||
|
||||
- Hassan et al. (2014), NRIAG J. Astronomy & Geophysics 3:23-26 (Kottamia, Baharia, Matrouh, Aswan)
|
||||
- Hassan et al. (2016), NRIAG J. 5:9-15 (Sinai, Assiut)
|
||||
- Rashed et al. (2022), IJMET 13(10):8-24 (Wadi al-Hitan, Fayum)
|
||||
- Semeida & Hassan (2018), BJBAS 7:286-290 (Wadi Al Natron)
|
||||
- Hassan et al. (2020), Taylor & Francis (multi-site Egypt polynomial model)
|
||||
- Rashed & Hassan (2025), Springer (6 Egyptian sites, 2015-2019)
|
||||
|
||||
These papers publish mean depression angles across many observation nights, but the per-night raw data (specific dates with specific observed times) would be invaluable for training latitude-dependent predictive models.
|
||||
|
||||
Would you be willing to share the per-night observation logs from any of your campaigns? The multi-site 2015-2019 dataset (Kottamia, Alexandria, Matrouh, Hurghada, Marsa Alam, Dahab) would be particularly valuable given its geographic diversity across Egypt.
|
||||
|
||||
For each observation night, I need:
|
||||
- Calendar date
|
||||
- Site name and coordinates
|
||||
- Local observed time of Fajr onset (morning) and/or Isha onset (evening)
|
||||
- Sky condition notes (if available)
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ verified observations from 140+ sites worldwide. Egyptian data currently limited to aggregate records from your publications.
|
||||
|
||||
Full attribution to NRIAG would be included in all outputs. I would also be happy to share our compiled global dataset for your own research.
|
||||
|
||||
Best regards,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
27
research/outreach/04_kassim_bahali_ukm.txt
Normal file
27
research/outreach/04_kassim_bahali_ukm.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
To: (via ResearchGate message to Kassim Bahali / Bahali Kassim)
|
||||
Subject: Request for Additional DSLR Twilight Observation Data — Open-Source Prayer Time Research
|
||||
|
||||
Assalamu alaykum,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building an open-source global dataset of verified Fajr twilight observations.
|
||||
|
||||
Your DSLR photometry work across Malaysian and Indonesian coastal sites is some of the most valuable per-night observation data in the published literature:
|
||||
|
||||
- Kassim Bahali (2018), Sains Malaysiana 47(11):2877-2885 (Pekan, Kuala Terengganu)
|
||||
- Kassim Bahali et al. (2019), JATMA 7(2):37-48 (21 sites across Malaysia, Indonesia, Thailand)
|
||||
|
||||
I have extracted all per-date observations from both papers (approximately 90 individual site-night records) and they form a core part of our Malaysian/Indonesian dataset.
|
||||
|
||||
I am writing to ask:
|
||||
1. Do you have additional observation nights beyond what was published in these two papers? Many DSLR campaigns produce more nights than are included in the final publication tables.
|
||||
2. Have you conducted any Isha (evening twilight / Shafaq al-Abyad) observations? Our Isha dataset is critically small (only 19 records globally) and Malaysian coastal sites would be ideal.
|
||||
3. Are there any more recent campaigns (2020-2025) at new sites?
|
||||
|
||||
Even 10-20 additional per-night records would meaningfully expand the dataset.
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ Fajr observations from 140+ sites, with Malaysian east-coast sites well represented thanks to your work.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
31
research/outreach/05_herdiwijaya_itb.txt
Normal file
31
research/outreach/05_herdiwijaya_itb.txt
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
To: (via ResearchGate message to Dani Herdiwijaya, ITB Astronomy)
|
||||
Subject: Request for Per-Night Twilight Observation Data — Yogyakarta 136-Night Campaign
|
||||
|
||||
Assalamu alaykum,
|
||||
|
||||
My name is Ali Camarata. I am building an open-source global dataset of verified Fajr and Isha twilight observations for empirical prayer time modeling.
|
||||
|
||||
Your multi-station twilight photometry work across Indonesia has been very valuable to our project:
|
||||
|
||||
- Herdiwijaya (2015), ICOPIA proceedings (5 sites)
|
||||
- Herdiwijaya (2016), J. Phys.: Conf. Ser. 771, 012033 (Kupang Amfoang)
|
||||
- Herdiwijaya (2020), J. Phys.: Conf. Ser. 1523, 012007 (5-station comparison)
|
||||
|
||||
The Yogyakarta 2014-2016 campaign with 136 clear SQM nights is particularly interesting. The published papers report aggregate statistics (mean D0 = 17 degrees), but I am wondering whether the per-night observation log is available.
|
||||
|
||||
Specifically, for each of the 136 clear observation nights, I would need:
|
||||
- Calendar date
|
||||
- Local time of Fajr onset detection
|
||||
- Local time of Isha detection (if evening observations were conducted)
|
||||
- Any per-night sky quality or weather notes
|
||||
|
||||
Similarly, if per-night logs exist for Bosscha, Bandung, Cimahi, or Kupang Amfoang, those would also be valuable.
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ verified observations. Indonesian data includes BRIN 8-station, Kassim Bahali DSLR, LAPAN, Walisongo, and aggregate records from your publications.
|
||||
|
||||
I would be happy to share the full compiled dataset and provide attribution in all outputs.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
27
research/outreach/06_hizbul_ulama_uk.txt
Normal file
27
research/outreach/06_hizbul_ulama_uk.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
To: info@hizbululama.org.uk (or via their website contact form)
|
||||
Subject: Request for Digitized 1987-1989 Blackburn Fajr/Isha Observation Records
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am a researcher working on an open-source project to build a comprehensive dataset of verified Fajr and Isha twilight observations worldwide.
|
||||
|
||||
Hizbul Ulama UK conducted pioneering observation campaigns in Blackburn (53.748 N, 2.480 W) during 1987-1989, recording actual Fajr and Isha times through direct human observation. These observations, referenced in academic literature and in Mufti Shabbir Ahmad Sahib's guidance, represent some of the earliest systematic dawn/dusk observation records in the UK.
|
||||
|
||||
I currently have 10 records from these observations (6 Fajr, 4 Isha) based on dates cited in secondary sources (Asim Yusuf's "Shedding Light on the Dawn" and related publications). However, the original observation log likely contains hundreds of individual dated records.
|
||||
|
||||
Would it be possible to obtain a copy of the full observation log from the 1987-1989 Blackburn campaign? I am interested in:
|
||||
- Each observation date
|
||||
- The recorded Fajr time for that date
|
||||
- The recorded Isha time for that date
|
||||
- Any notes on sky conditions
|
||||
|
||||
Even a photocopy or photograph of the handwritten log would be helpful. I can digitize it.
|
||||
|
||||
This data would be historically significant as one of the earliest systematic Fajr/Isha observation campaigns in the UK, and would contribute to ongoing research that benefits the Muslim community's understanding of prayer times at northern latitudes.
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
The project is open-source and freely available to the community.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
21
research/outreach/07_openfajr.txt
Normal file
21
research/outreach/07_openfajr.txt
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
To: (via openfajr.org contact form or social media)
|
||||
Subject: Question About OpenFajr Data for Other UK Cities
|
||||
|
||||
Assalamu alaykum,
|
||||
|
||||
My name is Ali Camarata. I am a researcher working on an open-source twilight observation dataset for empirical prayer time modeling.
|
||||
|
||||
The OpenFajr Birmingham project has been the single most valuable data source in our research. Your community-verified Fajr observations (approximately 4,000 dated records from Birmingham) form the backbone of our dataset.
|
||||
|
||||
I have two questions:
|
||||
|
||||
1. Do OpenFajr feeds exist for other UK cities? The Birmingham Google Calendar iCal feed provides daily verified Fajr times. If similar feeds exist for Bradford, Leicester, Manchester, London, Sheffield, Glasgow, or any other city, they would dramatically expand our geographic coverage at northern latitudes.
|
||||
|
||||
2. Is there any plan to expand to other cities or countries? If so, I would be happy to help or collaborate.
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Your Birmingham data currently makes up approximately 95% of our 4,200-record Fajr dataset. Expanding to additional UK cities would significantly improve the dataset's ability to model latitude-dependent twilight angles.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
34
research/outreach/08_brin_lapan.txt
Normal file
34
research/outreach/08_brin_lapan.txt
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
To: (via ResearchGate messages to Rukman Nugraha / BRIN Astronomy, or brin@brin.go.id)
|
||||
Subject: Request for Raw Multi-Station SQM Data (Fajr/Isha) from BRIN Twilight Network
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building an open-source dataset of verified Fajr and Isha twilight observations for empirical Islamic prayer time modeling.
|
||||
|
||||
I have been studying the multistation SQM network data published by Damanhuri and Mukarram (LAPAN, now BRIN), including measurements from Garut, Pasuruan, Sumedang, Biak, Agam, Pontianak, Manado, and Lombok stations during 2018 and subsequent campaigns.
|
||||
|
||||
We have processed 34 per-night Fajr records from the published tables, and they are among the most valuable in our dataset because they cover a wide range of Indonesian longitudes at near-equatorial latitudes.
|
||||
|
||||
I am writing to ask whether BRIN would be willing to share the full multi-year per-night SQM observation data from any or all stations. Specifically, I need:
|
||||
|
||||
- Date of each observation night
|
||||
- Local time of detected Fajr onset (SQM inflection point)
|
||||
- Local time of detected Isha end (SQM threshold), if recorded
|
||||
- Station identifier
|
||||
- Sky condition (clear, cloudy) if available
|
||||
|
||||
Even raw SQM MPSAS time-series CSVs would work. I can process them through our pipeline.
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ Fajr observations from 140+ sites worldwide.
|
||||
|
||||
BRIN's multi-station data would be uniquely valuable because:
|
||||
1. No other dataset covers this many equatorial stations simultaneously
|
||||
2. The longitude spread (95E to 136E) across the Indonesian archipelago is unmatched
|
||||
3. Multi-year time series from a single network enables seasonal analysis at low latitudes
|
||||
|
||||
Full attribution to BRIN and the original researchers in all publications and our open-source dataset. I am happy to share our compiled global dataset in return.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
30
research/outreach/09_moonsighting_com.txt
Normal file
30
research/outreach/09_moonsighting_com.txt
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
To: info@moonsighting.com (Khalid Shaukat)
|
||||
Subject: Request for Fajr/Isha Observation Records from Moonsighting.com Community Reports
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building the largest open-source dataset of verified human Fajr and Isha observations for empirical prayer time research.
|
||||
|
||||
Moonsighting.com is one of the few sources we have found that publishes genuine per-city, per-date Fajr observation reports from community observers. Your FAQ page (moonsighting.com/faq_pt.html) references specific observations from Miami Beach (December 2000) with named witnesses, and seasonal reports from Chicago, Karachi, Cape Town, and Toronto.
|
||||
|
||||
I believe moonsighting.com has collected community Fajr and Isha observation reports from dozens of cities over many years. This data would be extraordinarily valuable for building data-driven prayer time models that reflect real human observation rather than fixed-angle assumptions.
|
||||
|
||||
Would you be willing to share a more complete set of observation records? For each observation, I need:
|
||||
- City and country (or coordinates)
|
||||
- Calendar date
|
||||
- Locally observed time of Fajr (Subh Sadiq) or Isha
|
||||
- Number of observers (if available)
|
||||
- Any notes on sky conditions
|
||||
|
||||
Even a partial extract from your database covering the most active reporting cities would be a major contribution. Any format works: CSV, Excel, plain text.
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ Fajr observations from 140+ sites worldwide.
|
||||
|
||||
Your data is particularly valuable because it represents genuine human naked-eye observations across diverse latitudes and urban environments, which is exactly what most academic studies lack.
|
||||
|
||||
Full attribution to moonsighting.com and Khalid Shaukat in all publications and our open-source repository.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
27
research/outreach/10_faid_unisza.txt
Normal file
27
research/outreach/10_faid_unisza.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
To: mdsyazwan@uthm.edu.my (Dr. Muhamad Syazwan Faid, UTHM)
|
||||
Subject: Request for Per-Night SQM Observation Data from LP2024 Multi-Site Twilight Study
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building an open-source dataset of verified Fajr and Isha twilight observations for empirical Islamic prayer time modeling.
|
||||
|
||||
Your 2024 paper in Scientific Reports (PMC11535048), covering SQM observations from 8 Malaysian sites and Coonabarabran, Australia, is one of the most comprehensive multi-site twilight studies published. The geographic spread from equatorial Malaysia to mid-latitude Australia across multiple observation years (2018-2023) is exactly what is needed to build latitude-dependent models.
|
||||
|
||||
The published paper presents aggregate depression angles per site. Would you or your co-authors be willing to share the per-night observation data? For each observation night, I need:
|
||||
|
||||
- Site name
|
||||
- Calendar date
|
||||
- Locally observed time of Fajr onset (morning SQM inflection)
|
||||
- Locally observed time of Isha end (evening SQM threshold), if applicable
|
||||
- Sky condition notes
|
||||
|
||||
The per-night data would make this the single most valuable contribution to our dataset given the number of sites, years of observation, and latitude range.
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ Fajr observations from 140+ sites across 20+ countries.
|
||||
|
||||
Full attribution to all authors and UniSZA in our open-source repository and any publications.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
26
research/outreach/11_al_hilal_tubruq.txt
Normal file
26
research/outreach/11_al_hilal_tubruq.txt
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
To: (via ResearchGate or email to authors of the Al-Hilal 2021 paper, idosi.org)
|
||||
Subject: Request for Per-Night Dawn Observation Data from Tubruq Libya (1053 Observations)
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building an open-source dataset of verified Fajr observations for empirical Islamic prayer time modeling.
|
||||
|
||||
Your study of 1,053 naked-eye dawn observations in Tubruq, Libya over approximately three years is remarkable for both its duration and its use of direct human observation rather than instrumental measurement. This makes it uniquely valuable for calibrating prayer time models to real human perception of Subh Sadiq.
|
||||
|
||||
The published paper presents aggregate results. Would you be willing to share the per-night observation log? For each of the 1,053 observations, I need:
|
||||
|
||||
- Calendar date
|
||||
- Locally observed time of true dawn (Fajr Sadiq)
|
||||
- Sky condition (clear, cloudy, etc.)
|
||||
- Any observer notes
|
||||
|
||||
Even a subset of the data would be a significant contribution. A dataset of this size from a single North African location would dramatically improve our model's coverage of the 30-35N latitude band.
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ Fajr observations from 140+ sites across 20+ countries.
|
||||
|
||||
Full attribution to all authors in our open-source repository and any publications.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
26
research/outreach/12_diyanet_turkey.txt
Normal file
26
research/outreach/12_diyanet_turkey.txt
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
To: bilgi@diyanet.gov.tr (Diyanet Isleri Baskanligi)
|
||||
Subject: Request for Historical Twilight Observation Records from Diyanet Research (2012-2015 Ankara Campaign)
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building an open-source dataset of verified Fajr and Isha twilight observations for empirical Islamic prayer time modeling.
|
||||
|
||||
I understand that Diyanet conducted twilight observation research in Ankara during approximately 2012-2015, informing Turkey's prayer time methodology. If per-night observation records exist from this campaign (or any other Diyanet twilight observation program), they would be extremely valuable for our global dataset.
|
||||
|
||||
For each observation night, I need:
|
||||
- Calendar date
|
||||
- City or observation site
|
||||
- Locally observed time of Fajr onset
|
||||
- Locally observed time of Isha end (if recorded)
|
||||
- Sky conditions or observation method
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ verified Fajr observations from 140+ sites across 20+ countries.
|
||||
|
||||
Turkey's latitude (approximately 37-42N) is underrepresented in our dataset, and Diyanet's observations would help calibrate models for the Mediterranean and Central Asian latitude band.
|
||||
|
||||
Full attribution to Diyanet in our open-source repository.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
27
research/outreach/13_maskufa_uin_jakarta.txt
Normal file
27
research/outreach/13_maskufa_uin_jakarta.txt
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
To: (via ResearchGate message to Maskufa / UIN Syarif Hidayatullah Jakarta)
|
||||
Subject: Request for Per-Night SQM Observation Data from Labuan Bajo and Bogor Studies
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building an open-source dataset of verified Fajr observations for empirical Islamic prayer time modeling.
|
||||
|
||||
Your 2024 paper in Mazahib 23(1):155-198, covering SQM twilight observations in Labuan Bajo (Flores NTT) and Bogor (West Java), adds valuable data from two geographically distinct Indonesian sites.
|
||||
|
||||
Would you be willing to share the per-night observation data from these campaigns? For each observation night, I need:
|
||||
|
||||
- Site name
|
||||
- Calendar date
|
||||
- Locally observed time of Fajr onset
|
||||
- SQM readings (if available)
|
||||
- Sky condition notes
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ Fajr observations from 140+ sites across 20+ countries.
|
||||
|
||||
Labuan Bajo in particular is valuable because of its eastern Indonesian longitude and relatively dark skies.
|
||||
|
||||
Full attribution to all authors in our open-source repository.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
26
research/outreach/14_saksono_uhamka.txt
Normal file
26
research/outreach/14_saksono_uhamka.txt
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
To: (via ResearchGate message to Tono Saksono / UHAMKA Jakarta)
|
||||
Subject: Request for Per-Night Data from "Premature Dawn" Multi-Site SQM Study
|
||||
|
||||
Assalamu alaykum wa rahmatullahi wa barakatuh,
|
||||
|
||||
My name is Ali Camarata. I am an independent researcher building an open-source dataset of verified Fajr observations for empirical Islamic prayer time modeling.
|
||||
|
||||
Your "Premature Dawn" research series with ISRN/UHAMKA, covering SQM observations across 6 Indonesian sites (Padang, Batusangkar, Cirebon, Balikpapan, Bitung, Manokwari), is one of the most geographically diverse Fajr studies in Indonesia. The spread from Sumatra to Papua provides exceptional longitude coverage.
|
||||
|
||||
Would you or your co-authors be willing to share the per-night observation data from these campaigns? For each observation night, I need:
|
||||
|
||||
- Site name
|
||||
- Calendar date
|
||||
- Locally observed time of Fajr onset (morning SQM inflection)
|
||||
- Sky condition notes (if available)
|
||||
|
||||
Our project: https://github.com/acamarata/pray-calc-ml
|
||||
Current dataset: 4,200+ Fajr observations from 140+ sites across 20+ countries.
|
||||
|
||||
Your multi-site data would significantly improve our coverage of the equatorial Indonesian archipelago, where longitude effects on prayer timing are particularly important.
|
||||
|
||||
Full attribution to all authors and UHAMKA in our open-source repository.
|
||||
|
||||
Jazakallahu khairan,
|
||||
Ali Camarata
|
||||
alisalaah@gmail.com
|
||||
456
src/collect/brin_multistation_processor.py
Normal file
456
src/collect/brin_multistation_processor.py
Normal file
|
|
@ -0,0 +1,456 @@
|
|||
"""
|
||||
Process BRIN multistation SQM data to extract per-night Fajr depression angles.
|
||||
|
||||
Each .dat file contains per-minute SQM readings for one Indonesian station over
|
||||
one month. We identify the onset of morning twilight (Fajr Sadiq) by detecting
|
||||
when sky brightness (MPSAS) begins decreasing from the dark-sky baseline.
|
||||
|
||||
Algorithm:
|
||||
1. Parse station lat/lon from file header
|
||||
2. Extract morning windows (SunAlt transitioning from -25° toward 0°)
|
||||
3. Detect the twilight inflection point (when smoothed MPSAS starts falling)
|
||||
4. Record SunAlt at inflection → this is the Fajr depression angle
|
||||
|
||||
Output: rows compatible with the pipeline's verified_sightings format.
|
||||
|
||||
Station inventory:
|
||||
AGM = Agam, West Sumatra (-0.2°S/N, 100.32°E, ~850m)
|
||||
BDG = Bandung, West Java (-6.93°S, 107.68°E, ~760m)
|
||||
BIK = Biak, Papua (-1.17°S, 136.10°E, ~10m)
|
||||
GRT = Garut, West Java (-7.65°S, 107.69°E, ~680m)
|
||||
PSR = Pasuruan, East Java (-7.57°S, 112.67°E, ~10m)
|
||||
PTK = Pontianak, West Kalimantan (-0.008°S, 109.37°E, ~10m)
|
||||
SBG = Sabang, Aceh (-6.56°S, 107.77°E... or a different site)
|
||||
SMD = Samarinda, East Kalimantan (-6.91°S, 107.84°E, ~10m)
|
||||
|
||||
Reference: Damanhuri & Mukarram (2022), LAPAN SQM multi-station Indonesia.
|
||||
Mean D0 reported: -16.51° (all stations, quality-filtered).
|
||||
"""
|
||||
|
||||
import sys
|
||||
import math
|
||||
import os
|
||||
from pathlib import Path
|
||||
from datetime import datetime, timezone, timedelta
|
||||
from collections import defaultdict
|
||||
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
|
||||
|
||||
# Station metadata: code -> (lat, lon, elevation_m, name, utc_offset)
|
||||
# Elevations from SRTM / known site data
|
||||
STATION_META = {
|
||||
"AGM": (-0.204, 100.320, 850, "Agam West Sumatra Indonesia", 7.0),
|
||||
"BDG": (-6.926, 107.678, 760, "Bandung West Java Indonesia", 7.0),
|
||||
"BIK": (-1.174, 136.101, 10, "Biak Papua Indonesia", 9.0),
|
||||
"GRT": (-7.650, 107.692, 680, "Garut West Java Indonesia", 7.0),
|
||||
"PSR": (-7.568, 112.674, 10, "Pasuruan East Java Indonesia", 7.0),
|
||||
"PTK": (-0.008, 109.365, 10, "Pontianak West Kalimantan Indonesia", 7.0),
|
||||
"SBG": (-6.562, 107.769, 650, "Sumedang West Java Indonesia", 7.0),
|
||||
"SMD": (-6.913, 107.837, 10, "Subang West Java Indonesia", 7.0),
|
||||
}
|
||||
|
||||
# Inflection detection: we find the moment of steepest MPSAS decline
|
||||
# (maximum negative dMPSAS/dt) in the pre-dawn window.
|
||||
# For moonless nights this corresponds well to the visual Fajr onset.
|
||||
|
||||
# Maximum moon altitude allowed during pre-dawn (degrees above horizon).
|
||||
# Above this, lunar illumination biases MPSAS readings.
|
||||
MAX_MOON_ALT = 5.0
|
||||
|
||||
# Minimum dark-sky MPSAS required to consider a morning valid
|
||||
# (at least some readings must be >19 to ensure we have true dark sky)
|
||||
MIN_DARK_SKY_MPSAS = 19.0
|
||||
|
||||
# Minimum number of valid pre-dawn minutes required
|
||||
MIN_PREDAWN_MINUTES = 30
|
||||
|
||||
RAW_DIR = Path(__file__).parent.parent.parent / "data" / "raw" / "brin_multistation_raw"
|
||||
OUT_CSV = Path(__file__).parent.parent.parent / "data" / "raw" / "raw_sightings" / "brin_multistation_fajr.csv"
|
||||
OUT_ISHA_CSV = Path(__file__).parent.parent.parent / "data" / "raw" / "raw_sightings" / "brin_multistation_isha.csv"
|
||||
|
||||
|
||||
def parse_file(filepath: Path) -> pd.DataFrame:
|
||||
"""Parse a BRIN .dat file and return a DataFrame."""
|
||||
lat = lon = None
|
||||
rows = []
|
||||
|
||||
with open(filepath) as fh:
|
||||
for line in fh:
|
||||
line = line.strip()
|
||||
if line.startswith("# Lon:"):
|
||||
lon = float(line.split(":")[1].strip())
|
||||
elif line.startswith("# Lat:"):
|
||||
lat = float(line.split(":")[1].strip())
|
||||
elif line.startswith("#") or not line:
|
||||
continue
|
||||
else:
|
||||
parts = line.split()
|
||||
if len(parts) < 5:
|
||||
continue
|
||||
try:
|
||||
# Columns: DateTtime SunAlt MoonAlt Temp MPSAS Q
|
||||
utc_str = parts[0]
|
||||
sun_alt = float(parts[1])
|
||||
moon_alt = float(parts[2]) if len(parts) > 2 else -90.0
|
||||
# parts[3]=Temp, parts[4]=MPSAS, parts[5]=Q
|
||||
mpsas = float(parts[4]) if len(parts) > 4 else 0.0
|
||||
quality = int(float(parts[5])) if len(parts) > 5 else 0
|
||||
# Parse UTC datetime
|
||||
utc_dt = datetime.strptime(utc_str, "%Y-%m-%dT%H:%M").replace(
|
||||
tzinfo=timezone.utc
|
||||
)
|
||||
rows.append({
|
||||
"utc_dt": utc_dt,
|
||||
"sun_alt": sun_alt,
|
||||
"moon_alt": moon_alt,
|
||||
"mpsas": mpsas,
|
||||
"quality": quality,
|
||||
})
|
||||
except (ValueError, IndexError):
|
||||
continue
|
||||
|
||||
if not rows:
|
||||
return pd.DataFrame(), lat, lon
|
||||
|
||||
df = pd.DataFrame(rows)
|
||||
return df, lat, lon
|
||||
|
||||
|
||||
def extract_fajr_nights(df: pd.DataFrame, lat: float, lon: float,
|
||||
station_code: str) -> list[dict]:
|
||||
"""
|
||||
Given a month of per-minute SQM data, extract per-night Fajr dawn records.
|
||||
|
||||
For each night (UTC date), we:
|
||||
1. Find the pre-dawn window (SunAlt between -25° and -2°, heading toward sunrise)
|
||||
2. Filter for valid MPSAS readings (> 0)
|
||||
3. Apply a rolling average to smooth noise
|
||||
4. Find when MPSAS drops below the dawn threshold
|
||||
5. Record the SunAlt at that moment as the Fajr depression angle
|
||||
"""
|
||||
meta = STATION_META.get(station_code)
|
||||
if meta is None:
|
||||
# Use header coordinates with defaults
|
||||
meta = (lat, lon, 10, f"BRIN {station_code} Indonesia", 7.0)
|
||||
|
||||
actual_lat, actual_lon, elevation_m, site_name, utc_offset = meta
|
||||
|
||||
# Use actual file header coords if very different from defaults
|
||||
if lat is not None and abs(lat - actual_lat) > 2.0:
|
||||
actual_lat = lat
|
||||
if lon is not None and abs(lon - actual_lon) > 2.0:
|
||||
actual_lon = lon
|
||||
|
||||
records = []
|
||||
|
||||
# Group by UTC date of the midnight closest to dawn
|
||||
# We define a "night" by the UTC date of the sunrise
|
||||
df = df[df["mpsas"] > 0].copy() # filter out daytime/saturated readings
|
||||
|
||||
if df.empty:
|
||||
return records
|
||||
|
||||
# Sort by time
|
||||
df = df.sort_values("utc_dt").reset_index(drop=True)
|
||||
|
||||
# Find all "sunrise events" — where SunAlt crosses 0° from below
|
||||
sunrise_indices = []
|
||||
for i in range(1, len(df)):
|
||||
if df["sun_alt"].iloc[i - 1] < 0 and df["sun_alt"].iloc[i] >= 0:
|
||||
sunrise_indices.append(i)
|
||||
|
||||
for sr_idx in sunrise_indices:
|
||||
sunrise_utc = df["utc_dt"].iloc[sr_idx]
|
||||
|
||||
# Extract pre-dawn window: 5 hours before sunrise, until -2° before sunrise
|
||||
window_start = sunrise_utc - timedelta(hours=5)
|
||||
predawn = df[
|
||||
(df["utc_dt"] >= window_start) &
|
||||
(df["utc_dt"] < sunrise_utc - timedelta(minutes=10)) &
|
||||
(df["sun_alt"] < -5.0) & # sun must be clearly below horizon
|
||||
(df["moon_alt"] <= MAX_MOON_ALT) # moon must be below horizon / very low
|
||||
].copy()
|
||||
|
||||
if len(predawn) < MIN_PREDAWN_MINUTES:
|
||||
continue
|
||||
|
||||
# Filter out rows where moon is above horizon (lunar contamination)
|
||||
# The data has MoonAlt in parts[2] but we parsed only sun_alt and mpsas.
|
||||
# Re-parse moon alt from the raw data is complex, so we use a proxy:
|
||||
# if MPSAS never reaches MIN_DARK_SKY_MPSAS, moon is likely contaminating.
|
||||
|
||||
# Check that we have a dark sky period (MPSAS > threshold early in the window)
|
||||
early = predawn[predawn["sun_alt"] < -18.0]
|
||||
if early.empty:
|
||||
early = predawn[predawn["sun_alt"] < -16.0]
|
||||
if early.empty:
|
||||
continue
|
||||
|
||||
max_dark_mpsas = early["mpsas"].max()
|
||||
if max_dark_mpsas < MIN_DARK_SKY_MPSAS:
|
||||
# Too light-polluted / cloudy / moon contamination — skip this morning
|
||||
continue
|
||||
|
||||
# Apply rolling average (5-minute window) to smooth SQM noise
|
||||
predawn = predawn.copy()
|
||||
predawn["mpsas_smooth"] = predawn["mpsas"].rolling(window=5, center=True,
|
||||
min_periods=3).mean()
|
||||
|
||||
# Find the inflection point: maximum rate of MPSAS decline (most negative derivative)
|
||||
# Work on smoothed data; compute minute-by-minute differences
|
||||
predawn["dmpsas"] = predawn["mpsas_smooth"].diff()
|
||||
|
||||
# Only consider the period from SunAlt -25° to -5°
|
||||
active = predawn[(predawn["sun_alt"] >= -25.0) & (predawn["sun_alt"] <= -5.0)]
|
||||
if len(active) < 10:
|
||||
continue
|
||||
|
||||
# Find moment of steepest MPSAS decline (most negative dmpsas)
|
||||
steepest_idx = active["dmpsas"].idxmin()
|
||||
if pd.isna(steepest_idx):
|
||||
continue
|
||||
|
||||
dawn_row = predawn.loc[steepest_idx]
|
||||
fajr_utc = dawn_row["utc_dt"]
|
||||
sun_alt_at_fajr = dawn_row["sun_alt"]
|
||||
|
||||
# Depression angle = -sun_alt (positive when sun below horizon)
|
||||
depression_angle = -sun_alt_at_fajr
|
||||
|
||||
# Quality filters on the angle
|
||||
if depression_angle < 10.0 or depression_angle > 22.0:
|
||||
continue
|
||||
|
||||
# Convert UTC to local time
|
||||
local_time = fajr_utc + timedelta(hours=utc_offset)
|
||||
local_date = local_time.date()
|
||||
|
||||
records.append({
|
||||
"prayer": "fajr",
|
||||
"date_local": local_date.strftime("%Y-%m-%d"),
|
||||
"time_local": local_time.strftime("%H:%M"),
|
||||
"utc_offset": utc_offset,
|
||||
"lat": round(actual_lat, 4),
|
||||
"lng": round(actual_lon, 4),
|
||||
"elevation_m": elevation_m,
|
||||
"source": f"BRIN multistation SQM 2018 ({station_code})",
|
||||
"notes": (
|
||||
f"Per-night SQM observation; station {station_code}; {site_name}; "
|
||||
f"inflection-point Fajr detection; moonless nights only; "
|
||||
f"Damanhuri & Mukarram LAPAN 2022 dataset"
|
||||
),
|
||||
})
|
||||
|
||||
return records
|
||||
|
||||
|
||||
def extract_isha_nights(df: pd.DataFrame, lat: float, lon: float,
|
||||
station_code: str) -> list[dict]:
|
||||
"""
|
||||
Detect Isha (Shafaq Abyad disappearance) using MPSAS evening data.
|
||||
|
||||
Algorithm:
|
||||
1. Find sunset events (SunAlt crosses 0 from above → negative)
|
||||
2. Extract evening window: sunset through 5 hours after sunset
|
||||
3. Find the dark-night MPSAS baseline from the same night (SunAlt < -20°)
|
||||
4. Find when MPSAS first reaches within 0.5 mag of baseline (sky fully darkened)
|
||||
5. That timestamp = Shafaq Abyad gone = Isha. Report SunAlt at that moment.
|
||||
|
||||
This is observational: the SQM physically measures the sky brightness transition.
|
||||
The threshold (baseline − 0.5 mag) corresponds to the disappearance of the last
|
||||
detectable whitish glow of astronomical twilight.
|
||||
"""
|
||||
meta = STATION_META.get(station_code)
|
||||
if meta is None:
|
||||
meta = (lat, lon, 10, f"BRIN {station_code} Indonesia", 7.0)
|
||||
|
||||
actual_lat, actual_lon, elevation_m, site_name, utc_offset = meta
|
||||
|
||||
if lat is not None and abs(lat - actual_lat) > 2.0:
|
||||
actual_lat = lat
|
||||
if lon is not None and abs(lon - actual_lon) > 2.0:
|
||||
actual_lon = lon
|
||||
|
||||
records = []
|
||||
|
||||
df = df[df["mpsas"] > 0].copy()
|
||||
if df.empty:
|
||||
return records
|
||||
|
||||
df = df.sort_values("utc_dt").reset_index(drop=True)
|
||||
|
||||
# Find all sunset events: SunAlt crossing 0 from positive to negative
|
||||
sunset_indices = []
|
||||
for i in range(1, len(df)):
|
||||
if df["sun_alt"].iloc[i - 1] >= 0 and df["sun_alt"].iloc[i] < 0:
|
||||
sunset_indices.append(i)
|
||||
|
||||
for ss_idx in sunset_indices:
|
||||
sunset_utc = df["utc_dt"].iloc[ss_idx]
|
||||
|
||||
# Evening window: sunset to 5 hours after, sun below horizon, moon low
|
||||
window_end = sunset_utc + timedelta(hours=5)
|
||||
evening = df[
|
||||
(df["utc_dt"] >= sunset_utc) &
|
||||
(df["utc_dt"] <= window_end) &
|
||||
(df["sun_alt"] < 0) &
|
||||
(df["moon_alt"] <= MAX_MOON_ALT)
|
||||
].copy()
|
||||
|
||||
if len(evening) < 30:
|
||||
continue
|
||||
|
||||
# Find dark-night baseline from the SAME night (2–6 hours after sunset,
|
||||
# SunAlt must be below –20° to ensure full astronomical dark sky).
|
||||
deep_night = df[
|
||||
(df["utc_dt"] >= sunset_utc + timedelta(hours=2)) &
|
||||
(df["utc_dt"] <= sunset_utc + timedelta(hours=6)) &
|
||||
(df["sun_alt"] < -20.0) &
|
||||
(df["moon_alt"] <= MAX_MOON_ALT)
|
||||
]
|
||||
|
||||
if len(deep_night) < 20:
|
||||
continue
|
||||
|
||||
dark_baseline = deep_night["mpsas"].median()
|
||||
if dark_baseline < MIN_DARK_SKY_MPSAS:
|
||||
# Too light-polluted, overcast, or moonlit — skip
|
||||
continue
|
||||
|
||||
# Smooth the MPSAS signal
|
||||
evening = evening.copy()
|
||||
evening["mpsas_smooth"] = evening["mpsas"].rolling(
|
||||
window=5, center=True, min_periods=3
|
||||
).mean()
|
||||
|
||||
# MPSAS threshold: within 0.5 mag of the dark-night baseline.
|
||||
# When sky reaches this level, Shafaq Abyad (white glow) has disappeared.
|
||||
threshold = dark_baseline - 0.5
|
||||
|
||||
# Find the first row where MPSAS_smooth ≥ threshold AND the sun is well
|
||||
# below the horizon (SunAlt < −12° ensures we are past red twilight too)
|
||||
reached = evening[
|
||||
(evening["mpsas_smooth"] >= threshold) &
|
||||
(evening["sun_alt"] < -12.0)
|
||||
]
|
||||
|
||||
if reached.empty:
|
||||
continue
|
||||
|
||||
isha_row = reached.iloc[0]
|
||||
isha_utc = isha_row["utc_dt"]
|
||||
sun_alt_at_isha = float(isha_row["sun_alt"])
|
||||
|
||||
depression_angle = -sun_alt_at_isha
|
||||
|
||||
# Physical plausibility: Isha (Shafaq Abyad) angle is typically 12°–22°
|
||||
if depression_angle < 12.0 or depression_angle > 22.0:
|
||||
continue
|
||||
|
||||
local_time = isha_utc + timedelta(hours=utc_offset)
|
||||
local_date = local_time.date()
|
||||
|
||||
records.append({
|
||||
"prayer": "isha",
|
||||
"date_local": local_date.strftime("%Y-%m-%d"),
|
||||
"time_local": local_time.strftime("%H:%M"),
|
||||
"utc_offset": utc_offset,
|
||||
"lat": round(actual_lat, 4),
|
||||
"lng": round(actual_lon, 4),
|
||||
"elevation_m": elevation_m,
|
||||
"source": f"BRIN multistation SQM 2018 ({station_code})",
|
||||
"notes": (
|
||||
f"Per-night SQM Isha observation; station {station_code}; {site_name}; "
|
||||
f"MPSAS-threshold Isha detection (Shafaq Abyad); moonless nights only; "
|
||||
f"dark-sky baseline={dark_baseline:.2f} mag/arcsec\u00b2; "
|
||||
f"threshold={threshold:.2f}; Damanhuri & Mukarram LAPAN 2022 dataset"
|
||||
),
|
||||
})
|
||||
|
||||
return records
|
||||
|
||||
|
||||
def process_all_files() -> list[dict]:
|
||||
"""Process all .dat files in the BRIN multistation directory."""
|
||||
all_records = []
|
||||
dat_files = sorted(RAW_DIR.glob("*.dat"))
|
||||
|
||||
for filepath in dat_files:
|
||||
filename = filepath.name
|
||||
# Extract station code from filename (e.g., AGM_201804.dat -> AGM)
|
||||
station_code = filename.split("_")[0].upper()
|
||||
if station_code not in STATION_META:
|
||||
# Skip unknown/temporary station files
|
||||
continue
|
||||
|
||||
print(f"Processing {filename} (station {station_code})...", end=" ", flush=True)
|
||||
df, lat, lon = parse_file(filepath)
|
||||
|
||||
if df.empty:
|
||||
print("empty")
|
||||
continue
|
||||
|
||||
fajr_recs = extract_fajr_nights(df, lat, lon, station_code)
|
||||
isha_recs = extract_isha_nights(df, lat, lon, station_code)
|
||||
total = len(fajr_recs) + len(isha_recs)
|
||||
print(f"{len(fajr_recs)} Fajr + {len(isha_recs)} Isha = {total} records")
|
||||
all_records.extend(fajr_recs)
|
||||
all_records.extend(isha_recs)
|
||||
|
||||
return all_records
|
||||
|
||||
|
||||
def main():
|
||||
print("BRIN Multistation SQM Processor")
|
||||
print(f"Input: {RAW_DIR}")
|
||||
print(f"Fajr output: {OUT_CSV}")
|
||||
print(f"Isha output: {OUT_ISHA_CSV}")
|
||||
print()
|
||||
|
||||
records = process_all_files()
|
||||
|
||||
if not records:
|
||||
print("No records extracted.")
|
||||
return
|
||||
|
||||
df = pd.DataFrame(records)
|
||||
|
||||
# Split by prayer type
|
||||
fajr_df = df[df["prayer"] == "fajr"].copy()
|
||||
isha_df = df[df["prayer"] == "isha"].copy()
|
||||
|
||||
# Deduplicate by station + date
|
||||
fajr_df = fajr_df.drop_duplicates(subset=["date_local", "lat", "lng"])
|
||||
isha_df = isha_df.drop_duplicates(subset=["date_local", "lat", "lng"])
|
||||
|
||||
fajr_df = fajr_df.sort_values(["lat", "date_local"]).reset_index(drop=True)
|
||||
isha_df = isha_df.sort_values(["lat", "date_local"]).reset_index(drop=True)
|
||||
|
||||
print(f"\nFajr records: {len(fajr_df)}")
|
||||
print(f"Isha records: {len(isha_df)}")
|
||||
|
||||
print(f"\nBy station (Fajr):")
|
||||
for code, meta in STATION_META.items():
|
||||
count = len(fajr_df[fajr_df["source"].str.contains(f"({code})")])
|
||||
if count > 0:
|
||||
print(f" {code} ({meta[3]}): {count} nights")
|
||||
|
||||
print(f"\nBy station (Isha):")
|
||||
for code, meta in STATION_META.items():
|
||||
count = len(isha_df[isha_df["source"].str.contains(f"({code})")])
|
||||
if count > 0:
|
||||
print(f" {code} ({meta[3]}): {count} nights")
|
||||
|
||||
OUT_CSV.parent.mkdir(parents=True, exist_ok=True)
|
||||
fajr_df.to_csv(OUT_CSV, index=False)
|
||||
isha_df.to_csv(OUT_ISHA_CSV, index=False)
|
||||
|
||||
print(f"\nWritten Fajr: {OUT_CSV}")
|
||||
print(f"Written Isha: {OUT_ISHA_CSV}")
|
||||
print(f"\nNOTE: Add 'brin_multistation_isha.csv' to APPROVED_RAW_CSVS in ingest.py")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
470
src/collect/brin_multistation_sqm.py
Normal file
470
src/collect/brin_multistation_sqm.py
Normal file
|
|
@ -0,0 +1,470 @@
|
|||
"""
|
||||
Extract per-night Fajr and Isha records from the BRIN/LAPAN multi-station
|
||||
sky brightness dataset "Zenith sky brightness over Indonesia".
|
||||
|
||||
Source: Priyatikanto, Rhorom (2025). Zenith sky brightness over Indonesia.
|
||||
BRIN RIN Dataverse. hdl:20.500.12690/RIN/USTNXB. CC0 1.0 (Public Domain).
|
||||
|
||||
Dataset: 57 monthly files across 8 stations (2018-04 to 2018-12).
|
||||
Stations: AGM, BDG, BIK, GRT, MOVSMD1, PSR, PTK, SBG, SMD.
|
||||
Format: Datetime(UTC), SunAlt, MoonAlt, Temp, MPSAS, Q
|
||||
|
||||
Q quality flags: 0=peculiar, 1=overcast, 2=cloudy, 3=clear,
|
||||
4=moonlit-cloudy, 5=moonlit-clear.
|
||||
|
||||
Method: Group rows by UTC date. For each date find the evening Isha
|
||||
crossing (SunAlt falls through -18°) and morning Fajr crossing
|
||||
(SunAlt rises through -18°). Only use rows with Q in {3, 5} (clear).
|
||||
|
||||
Output: CSV rows compatible with ingest.py schema.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from io import StringIO
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
# Depression angle to detect (matches standard 18° for Fajr / Isha)
|
||||
FAJR_ANGLE = 18.0
|
||||
ISHA_ANGLE = 18.0
|
||||
|
||||
# Only use Q=3 (clear) or Q=5 (moonlit-clear) rows
|
||||
CLEAR_Q_FLAGS = {3, 5}
|
||||
|
||||
# Minimum clear rows in the night window to accept a night
|
||||
MIN_CLEAR_ROWS = 10
|
||||
|
||||
SOURCE_CITATION = (
|
||||
"Priyatikanto R. (2025). Zenith sky brightness over Indonesia. "
|
||||
"BRIN RIN Dataverse. hdl:20.500.12690/RIN/USTNXB. CC0 1.0."
|
||||
)
|
||||
|
||||
# UTC offsets per station code prefix
|
||||
# Most Indonesian stations are WIB (UTC+7).
|
||||
# BIK (Biak, Papua) is WIT (UTC+9).
|
||||
STATION_UTC_OFFSETS: dict[str, float] = {
|
||||
"AGM": 7.0, # Agam/Kototabang, West Sumatra
|
||||
"BDG": 7.0, # Bandung, West Java
|
||||
"BIK": 9.0, # Biak, Papua
|
||||
"GRT": 7.0, # Garut, West Java
|
||||
"MOV": 7.0, # Moving SQM at Sumedang (MOVSMD1)
|
||||
"PSR": 7.0, # Pasuruan/Watukosek, East Java
|
||||
"PTK": 7.0, # Pontianak, West Kalimantan
|
||||
"SBG": 7.0, # Subang, West Java
|
||||
"SMD": 7.0, # Sumedang, West Java
|
||||
}
|
||||
|
||||
# UTC hour windows for Isha and Fajr crossing detection.
|
||||
# These are intentionally wide — the actual crossing is found via interpolation.
|
||||
# For UTC+7: Isha ~19:00 local = 12:00 UTC; Fajr ~05:00 local = 22:00 UTC.
|
||||
# For UTC+9: Isha ~19:00 local = 10:00 UTC; Fajr ~05:00 local = 20:00 UTC.
|
||||
_UTC_WINDOWS = {
|
||||
7.0: {"isha_utc": (9.5, 14.5), "fajr_utc": (19.5, 23.5)},
|
||||
9.0: {"isha_utc": (7.5, 12.5), "fajr_utc": (17.5, 21.5)},
|
||||
}
|
||||
|
||||
|
||||
def _parse_station_file(dat_path: Path) -> tuple[dict, pd.DataFrame]:
|
||||
"""
|
||||
Parse a single BRIN multi-station .dat file.
|
||||
|
||||
Returns (metadata_dict, dataframe). The metadata dict has 'lat' and 'lon'.
|
||||
The dataframe has columns: Datetime, SunAlt, MoonAlt, Temp, MPSAS, Q.
|
||||
"""
|
||||
with open(dat_path) as f:
|
||||
lines = f.readlines()
|
||||
|
||||
meta: dict = {}
|
||||
data_lines: list[str] = []
|
||||
for line in lines:
|
||||
if line.startswith("# Lon:"):
|
||||
meta["lon"] = float(line.split(":")[1].strip())
|
||||
elif line.startswith("# Lat:"):
|
||||
meta["lat"] = float(line.split(":")[1].strip())
|
||||
elif not line.startswith("#"):
|
||||
data_lines.append(line)
|
||||
|
||||
if not data_lines:
|
||||
return meta, pd.DataFrame()
|
||||
|
||||
df = pd.read_csv(
|
||||
StringIO("".join(data_lines)),
|
||||
sep=r"\s+",
|
||||
names=["Datetime", "SunAlt", "MoonAlt", "Temp", "MPSAS", "Q"],
|
||||
parse_dates=["Datetime"],
|
||||
)
|
||||
# Drop rows that failed to parse
|
||||
df = df.dropna(subset=["Datetime", "SunAlt"])
|
||||
df["Q"] = pd.to_numeric(df["Q"], errors="coerce").fillna(0).astype(int)
|
||||
df["MPSAS"] = pd.to_numeric(df["MPSAS"], errors="coerce").fillna(0.0)
|
||||
return meta, df
|
||||
|
||||
|
||||
def _interpolate_crossing(
|
||||
df_window: pd.DataFrame,
|
||||
target_sunalt: float,
|
||||
direction: str, # "rising" (Fajr) or "falling" (Isha)
|
||||
) -> Optional[tuple[datetime, float]]:
|
||||
"""
|
||||
Find the UTC time when SunAlt crosses target_sunalt.
|
||||
Returns (utc_datetime, mpsas_at_crossing) or None.
|
||||
"""
|
||||
df_window = df_window.reset_index(drop=True)
|
||||
if len(df_window) < 2:
|
||||
return None
|
||||
|
||||
if direction == "rising":
|
||||
below = df_window["SunAlt"] < target_sunalt
|
||||
above = df_window["SunAlt"] >= target_sunalt
|
||||
if not (below.any() and above.any()):
|
||||
return None
|
||||
idx_cross = df_window[above].index[0]
|
||||
idx_before = idx_cross - 1
|
||||
if idx_before < 0:
|
||||
return None
|
||||
else: # falling
|
||||
above = df_window["SunAlt"] > target_sunalt
|
||||
below = df_window["SunAlt"] <= target_sunalt
|
||||
if not (above.any() and below.any()):
|
||||
return None
|
||||
idx_cross = df_window[below].index[0]
|
||||
idx_before = idx_cross - 1
|
||||
if idx_before < 0:
|
||||
return None
|
||||
|
||||
row_before = df_window.iloc[idx_before]
|
||||
row_cross = df_window.iloc[idx_cross]
|
||||
alt_before = float(row_before["SunAlt"])
|
||||
alt_cross = float(row_cross["SunAlt"])
|
||||
|
||||
if abs(alt_cross - alt_before) < 0.001:
|
||||
return None
|
||||
|
||||
t_before = pd.Timestamp(row_before["Datetime"])
|
||||
t_cross = pd.Timestamp(row_cross["Datetime"])
|
||||
frac = (target_sunalt - alt_before) / (alt_cross - alt_before)
|
||||
dt_interp = t_before + (t_cross - t_before) * frac
|
||||
mpsas_interp = float(row_before["MPSAS"]) + (
|
||||
float(row_cross["MPSAS"]) - float(row_before["MPSAS"])
|
||||
) * frac
|
||||
|
||||
return dt_interp.to_pydatetime(), mpsas_interp
|
||||
|
||||
|
||||
def _has_enough_clear_rows(df_night: pd.DataFrame, windows_utc: dict) -> bool:
|
||||
"""Check if the night has clear rows in both Isha and Fajr windows."""
|
||||
utc_h = df_night["Datetime"].dt.hour + df_night["Datetime"].dt.minute / 60
|
||||
for key in ("isha_utc", "fajr_utc"):
|
||||
lo, hi = windows_utc[key]
|
||||
clear_in_window = df_night[
|
||||
(utc_h >= lo) & (utc_h <= hi) & (df_night["Q"].isin(CLEAR_Q_FLAGS))
|
||||
]
|
||||
if len(clear_in_window) < MIN_CLEAR_ROWS:
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def extract_from_station_files(
|
||||
dat_files: list[Path],
|
||||
station_code: str,
|
||||
) -> list[dict]:
|
||||
"""
|
||||
Process all monthly .dat files for one station.
|
||||
|
||||
Returns a list of raw sighting records (one per night per twilight type).
|
||||
"""
|
||||
utc_offset = STATION_UTC_OFFSETS.get(station_code[:3], 7.0)
|
||||
windows = _UTC_WINDOWS.get(utc_offset, _UTC_WINDOWS[7.0])
|
||||
|
||||
# Load and concatenate all monthly files for this station
|
||||
frames = []
|
||||
metas = []
|
||||
for f in sorted(dat_files):
|
||||
meta, df = _parse_station_file(f)
|
||||
if not df.empty:
|
||||
frames.append(df)
|
||||
metas.append(meta)
|
||||
|
||||
if not frames:
|
||||
log.warning("No data loaded for station %s", station_code)
|
||||
return []
|
||||
|
||||
df_all = pd.concat(frames, ignore_index=True).sort_values("Datetime").reset_index(drop=True)
|
||||
|
||||
# Use coordinates from the first file that has them
|
||||
lat = None
|
||||
lon = None
|
||||
for m in metas:
|
||||
if "lat" in m and "lon" in m:
|
||||
lat = m["lat"]
|
||||
lon = m["lon"]
|
||||
break
|
||||
if lat is None:
|
||||
log.warning("No coordinates found for station %s — skipping", station_code)
|
||||
return []
|
||||
|
||||
log.info(
|
||||
"Station %s: %d rows, lat=%.4f, lon=%.4f, UTC+%.0f",
|
||||
station_code, len(df_all), lat, lon, utc_offset,
|
||||
)
|
||||
|
||||
# Group by UTC date
|
||||
df_all["utc_date"] = df_all["Datetime"].dt.date
|
||||
unique_dates = sorted(df_all["utc_date"].unique())
|
||||
log.info("Station %s: %d UTC dates", station_code, len(unique_dates))
|
||||
|
||||
records: list[dict] = []
|
||||
fajr_count = 0
|
||||
isha_count = 0
|
||||
clear_count = 0
|
||||
|
||||
isha_lo, isha_hi = windows["isha_utc"]
|
||||
fajr_lo, fajr_hi = windows["fajr_utc"]
|
||||
|
||||
for utc_date in unique_dates:
|
||||
night_df = df_all[df_all["utc_date"] == utc_date].copy()
|
||||
utc_h = night_df["Datetime"].dt.hour + night_df["Datetime"].dt.minute / 60
|
||||
|
||||
# Check clear sky in both windows
|
||||
isha_clear = night_df[
|
||||
(utc_h >= isha_lo) & (utc_h <= isha_hi) & (night_df["Q"].isin(CLEAR_Q_FLAGS))
|
||||
]
|
||||
fajr_clear = night_df[
|
||||
(utc_h >= fajr_lo) & (utc_h <= fajr_hi) & (night_df["Q"].isin(CLEAR_Q_FLAGS))
|
||||
]
|
||||
if len(isha_clear) < MIN_CLEAR_ROWS and len(fajr_clear) < MIN_CLEAR_ROWS:
|
||||
continue
|
||||
clear_count += 1
|
||||
|
||||
# --- Isha crossing ---
|
||||
if len(isha_clear) >= MIN_CLEAR_ROWS:
|
||||
isha_win = night_df[
|
||||
(utc_h >= isha_lo) & (utc_h <= isha_hi) & (night_df["SunAlt"] < 0)
|
||||
].copy()
|
||||
if not isha_win.empty:
|
||||
result = _interpolate_crossing(
|
||||
isha_win, target_sunalt=-ISHA_ANGLE, direction="falling"
|
||||
)
|
||||
if result is not None:
|
||||
utc_dt, mpsas = result
|
||||
local_dt = utc_dt + timedelta(hours=utc_offset)
|
||||
date_local = local_dt.strftime("%Y-%m-%d")
|
||||
time_local = local_dt.strftime("%H:%M")
|
||||
records.append({
|
||||
"prayer": "isha",
|
||||
"date_local": date_local,
|
||||
"time_local": time_local,
|
||||
"utc_offset": utc_offset,
|
||||
"lat": lat,
|
||||
"lng": lon,
|
||||
"elevation_m": 0,
|
||||
"source": SOURCE_CITATION,
|
||||
"notes": (
|
||||
f"BRIN CC0 multi-station SQM; station={station_code}; "
|
||||
f"SunAlt interpolated to {-ISHA_ANGLE:.1f}° depression (Shafaq Abyad); "
|
||||
f"MPSAS at crossing={mpsas:.3f}; Q-filtered (clear nights)"
|
||||
),
|
||||
})
|
||||
isha_count += 1
|
||||
|
||||
# --- Fajr crossing ---
|
||||
if len(fajr_clear) >= MIN_CLEAR_ROWS:
|
||||
fajr_win = night_df[
|
||||
(utc_h >= fajr_lo) & (utc_h <= fajr_hi) & (night_df["SunAlt"] < 0)
|
||||
].copy()
|
||||
if not fajr_win.empty:
|
||||
result = _interpolate_crossing(
|
||||
fajr_win, target_sunalt=-FAJR_ANGLE, direction="rising"
|
||||
)
|
||||
if result is not None:
|
||||
utc_dt, mpsas = result
|
||||
local_dt = utc_dt + timedelta(hours=utc_offset)
|
||||
date_local = local_dt.strftime("%Y-%m-%d")
|
||||
time_local = local_dt.strftime("%H:%M")
|
||||
records.append({
|
||||
"prayer": "fajr",
|
||||
"date_local": date_local,
|
||||
"time_local": time_local,
|
||||
"utc_offset": utc_offset,
|
||||
"lat": lat,
|
||||
"lng": lon,
|
||||
"elevation_m": 0,
|
||||
"source": SOURCE_CITATION,
|
||||
"notes": (
|
||||
f"BRIN CC0 multi-station SQM; station={station_code}; "
|
||||
f"SunAlt interpolated to {-FAJR_ANGLE:.1f}° depression; "
|
||||
f"MPSAS at crossing={mpsas:.3f}; Q-filtered (clear nights)"
|
||||
),
|
||||
})
|
||||
fajr_count += 1
|
||||
|
||||
log.info(
|
||||
"Station %s: %d clear dates → %d Fajr + %d Isha records",
|
||||
station_code, clear_count, fajr_count, isha_count,
|
||||
)
|
||||
return records
|
||||
|
||||
|
||||
def download_and_extract_all(output_dir: Path) -> list[dict]:
|
||||
"""
|
||||
Download all 57 files from BRIN Dataverse and extract records.
|
||||
Caches downloaded files to output_dir/brin_multistation_raw/.
|
||||
"""
|
||||
from urllib.request import urlopen, Request
|
||||
from urllib.error import URLError
|
||||
|
||||
# File ID → filename mapping from BRIN Dataverse API
|
||||
FILE_IDS: dict[str, int] = {
|
||||
"AGM_201804.dat": 732868,
|
||||
"AGM_201805.dat": 732855,
|
||||
"AGM_201806.dat": 732861,
|
||||
"AGM_201808.dat": 732869,
|
||||
"AGM_201809.dat": 732889,
|
||||
"AGM_201810.dat": 732892,
|
||||
"AGM_201811.dat": 732850,
|
||||
"BDG_201804.dat": 732873,
|
||||
"BDG_201805.dat": 732886,
|
||||
"BDG_201806.dat": 732846,
|
||||
"BIK_201804.dat": 732871,
|
||||
"BIK_201805.dat": 732899,
|
||||
"BIK_201806.dat": 732849,
|
||||
"BIK_201807.dat": 732891,
|
||||
"BIK_201808.dat": 732884,
|
||||
"BIK_201809.dat": 732857,
|
||||
"BIK_201810.dat": 732879,
|
||||
"BIK_201811.dat": 732883,
|
||||
"GRT_201804.dat": 732875,
|
||||
"GRT_201805.dat": 732860,
|
||||
"GRT_201806.dat": 732872,
|
||||
"GRT_201807.dat": 732848,
|
||||
"GRT_201808.dat": 732894,
|
||||
"GRT_201809.dat": 732847,
|
||||
"GRT_201810.dat": 732901,
|
||||
"GRT_201811.dat": 732881,
|
||||
"MOVSMD1.dat": 732887,
|
||||
"PSR_201804.dat": 732866,
|
||||
"PSR_201805.dat": 732870,
|
||||
"PSR_201806.dat": 732900,
|
||||
"PSR_201807.dat": 732890,
|
||||
"PSR_201808.dat": 732858,
|
||||
"PSR_201809.dat": 732853,
|
||||
"PSR_201810.dat": 732880,
|
||||
"PSR_201811.dat": 732878,
|
||||
"PSR_201812.dat": 732854,
|
||||
"PTK_201804.dat": 732882,
|
||||
"PTK_201805.dat": 732852,
|
||||
"PTK_201806.dat": 732867,
|
||||
"PTK_201807.dat": 732897,
|
||||
"PTK_201808.dat": 732902,
|
||||
"PTK_201809.dat": 732895,
|
||||
"PTK_201810.dat": 732877,
|
||||
"PTK_201811.dat": 732896,
|
||||
"SBG_201804.dat": 732898,
|
||||
"SBG_201805.dat": 732862,
|
||||
"SBG_201806.dat": 732885,
|
||||
"SBG_201807.dat": 732865,
|
||||
"SMD_201804.dat": 732863,
|
||||
"SMD_201805.dat": 732876,
|
||||
"SMD_201806.dat": 732864,
|
||||
"SMD_201807.dat": 732893,
|
||||
"SMD_201808.dat": 732888,
|
||||
"SMD_201809.dat": 732851,
|
||||
"SMD_201810.dat": 732856,
|
||||
"SMD_201811.dat": 732874,
|
||||
"SMD_201812.dat": 732859,
|
||||
}
|
||||
|
||||
cache_dir = output_dir / "brin_multistation_raw"
|
||||
cache_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
base_url = "https://data.brin.go.id/api/access/datafile/{fid}"
|
||||
headers = {
|
||||
"User-Agent": (
|
||||
"pray-calc-ml/1.0 research bot "
|
||||
"(github.com/acamarata/pray-calc-ml; Islamic prayer data; "
|
||||
"contact: alisalaah@gmail.com)"
|
||||
)
|
||||
}
|
||||
|
||||
# Group files by station code
|
||||
station_files: dict[str, list[Path]] = {}
|
||||
for filename, fid in FILE_IDS.items():
|
||||
station_code = filename.split("_")[0].rstrip("0123456789")
|
||||
if filename == "MOVSMD1.dat":
|
||||
station_code = "MOVSMD1"
|
||||
|
||||
cached = cache_dir / filename
|
||||
if not cached.exists():
|
||||
url = base_url.format(fid=fid)
|
||||
log.info("Downloading %s (id=%d)...", filename, fid)
|
||||
try:
|
||||
req = Request(url, headers=headers)
|
||||
with urlopen(req, timeout=60) as resp:
|
||||
cached.write_bytes(resp.read())
|
||||
log.info(" → saved %d bytes", cached.stat().st_size)
|
||||
except Exception as e:
|
||||
log.warning("Failed to download %s: %s", filename, e)
|
||||
continue
|
||||
else:
|
||||
log.debug("Cache hit: %s", filename)
|
||||
|
||||
if station_code not in station_files:
|
||||
station_files[station_code] = []
|
||||
station_files[station_code].append(cached)
|
||||
|
||||
# Extract records for each station
|
||||
all_records: list[dict] = []
|
||||
for station_code, files in sorted(station_files.items()):
|
||||
if station_code == "MOVSMD1":
|
||||
log.info("Skipping MOVSMD1 (moving SQM — no fixed coordinates)")
|
||||
continue
|
||||
records = extract_from_station_files(files, station_code)
|
||||
all_records.extend(records)
|
||||
|
||||
log.info(
|
||||
"Multi-station total: %d records (%d Fajr, %d Isha)",
|
||||
len(all_records),
|
||||
sum(1 for r in all_records if r["prayer"] == "fajr"),
|
||||
sum(1 for r in all_records if r["prayer"] == "isha"),
|
||||
)
|
||||
return all_records
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
logging.basicConfig(level=logging.INFO, format="%(levelname)s %(name)s: %(message)s")
|
||||
|
||||
repo_root = Path(__file__).parent.parent.parent
|
||||
out_dir = repo_root / "data" / "raw" / "raw_sightings"
|
||||
cache_dir = repo_root / "data" / "raw"
|
||||
|
||||
records = download_and_extract_all(cache_dir)
|
||||
|
||||
out_file = out_dir / "brin_multistation_2018.csv"
|
||||
out_dir.mkdir(parents=True, exist_ok=True)
|
||||
import pandas as pd
|
||||
df = pd.DataFrame(records)
|
||||
if df.empty:
|
||||
print("No records extracted.")
|
||||
sys.exit(0)
|
||||
df.to_csv(out_file, index=False)
|
||||
print(f"\nExtracted {len(df)} total records")
|
||||
fajr = df[df["prayer"] == "fajr"]
|
||||
isha = df[df["prayer"] == "isha"]
|
||||
print(f" Fajr: {len(fajr)}")
|
||||
print(f" Isha: {len(isha)}")
|
||||
print(f" Unique stations:")
|
||||
for code in df["notes"].str.extract(r"station=(\w+)")[0].unique():
|
||||
sub = df[df["notes"].str.contains(f"station={code}")]
|
||||
f_count = (sub["prayer"] == "fajr").sum()
|
||||
i_count = (sub["prayer"] == "isha").sum()
|
||||
print(f" {code}: {f_count} Fajr + {i_count} Isha")
|
||||
print(f"\nOutput: {out_file}")
|
||||
264
src/collect/brin_timau_sqm.py
Normal file
264
src/collect/brin_timau_sqm.py
Normal file
|
|
@ -0,0 +1,264 @@
|
|||
"""
|
||||
Extract per-night Fajr and Isha records from the BRIN Timau National Observatory
|
||||
SQM_2020_2021.dat dataset.
|
||||
|
||||
Source: Priyatikanto, Rhorom (2022). Site characteristics: Timau National Observatory.
|
||||
BRIN RIN Dataverse. hdl:20.500.12690/RIN/A5XCJB. CC0 1.0 (Public Domain).
|
||||
|
||||
Dataset: 470 nights (2020-05-20 to 2021-12-22), 1-minute SQM readings.
|
||||
Site: Mount Timau, Kupang, East Nusa Tenggara, Indonesia
|
||||
Coordinates: 8.65°S, 124.08°E, 1600m elevation, UTC+8
|
||||
Sky quality: 21.86 ± 0.38 mag/arcsec² (pristine dark site)
|
||||
|
||||
Method: For each night, interpolate to find the UTC time when SunAlt crosses
|
||||
the target depression angle (18° for Fajr, 18° for Isha). The SunAlt column is
|
||||
the computed sun altitude (negative = below horizon); depression angle = -SunAlt.
|
||||
|
||||
Quality filter: Discard nights where the median dark-sky MPSAS is below 19.5
|
||||
(cloud interference lowers sky brightness below instrumental noise).
|
||||
|
||||
Output: CSV rows compatible with ingest.py schema.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
# Site constants
|
||||
LAT = -8.65
|
||||
LNG = 124.08
|
||||
ELEVATION_M = 1600.0
|
||||
UTC_OFFSET = 8.0
|
||||
SOURCE_CITATION = (
|
||||
"Priyatikanto R. (2022). Site characteristics: Timau National Observatory. "
|
||||
"BRIN RIN Dataverse. hdl:20.500.12690/RIN/A5XCJB. CC0 1.0."
|
||||
)
|
||||
|
||||
# Depression angle for Fajr/Isha at this pristine site
|
||||
# Established in: Zodiacal light and astronomical twilight measurement at Timau
|
||||
# National Observatory (2024 BRIN study). True Fajr at ~18°-20°; using 18.0° for
|
||||
# SQM brightness-method Fajr (Q2 flag threshold), 18.0° for Isha.
|
||||
FAJR_ANGLE = 18.0
|
||||
ISHA_ANGLE = 18.0
|
||||
|
||||
# Clear-sky quality threshold: median MPSAS during deep night > this value
|
||||
CLEAR_SKY_MIN_MPSAS = 19.5
|
||||
|
||||
# Window for morning twilight detection (hours from midnight, local time)
|
||||
FAJR_HOURS_WINDOW = (3.0, 6.5)
|
||||
|
||||
# Window for evening twilight detection (hours from midnight, negative = evening)
|
||||
ISHA_HOURS_WINDOW = (-4.5, -1.0)
|
||||
|
||||
|
||||
def _interpolate_crossing(
|
||||
df_window: pd.DataFrame,
|
||||
target_sunalt: float,
|
||||
direction: str, # "rising" (Fajr) or "falling" (Isha)
|
||||
) -> Optional[tuple[datetime, float]]:
|
||||
"""
|
||||
Find the UTC time when SunAlt crosses target_sunalt.
|
||||
|
||||
Returns (utc_datetime, mpsas_at_crossing) or None if no crossing found.
|
||||
"""
|
||||
if direction == "rising":
|
||||
# Sun altitude increasing toward zero (morning)
|
||||
# Find transition: SunAlt goes from < target to > target
|
||||
below = df_window["SunAlt"] < target_sunalt
|
||||
above = df_window["SunAlt"] >= target_sunalt
|
||||
if not (below.any() and above.any()):
|
||||
return None
|
||||
# Find first row where SunAlt >= target
|
||||
idx_cross = df_window[above].index[0]
|
||||
idx_before = idx_cross - 1
|
||||
if idx_before not in df_window.index:
|
||||
return None
|
||||
else:
|
||||
# Sun altitude decreasing away from zero (evening)
|
||||
# Find transition: SunAlt goes from > target to < target
|
||||
above = df_window["SunAlt"] > target_sunalt
|
||||
below = df_window["SunAlt"] <= target_sunalt
|
||||
if not (above.any() and below.any()):
|
||||
return None
|
||||
# Find first row where SunAlt <= target
|
||||
idx_cross = df_window[below].index[0]
|
||||
idx_before = idx_cross - 1
|
||||
if idx_before not in df_window.index:
|
||||
return None
|
||||
|
||||
# Linear interpolation between the two bracketing rows
|
||||
row_before = df_window.loc[idx_before]
|
||||
row_cross = df_window.loc[idx_cross]
|
||||
|
||||
alt_before = float(row_before["SunAlt"])
|
||||
alt_cross = float(row_cross["SunAlt"])
|
||||
t_before = pd.Timestamp(row_before["Datetime"])
|
||||
t_cross = pd.Timestamp(row_cross["Datetime"])
|
||||
|
||||
if abs(alt_cross - alt_before) < 0.001:
|
||||
return None
|
||||
|
||||
frac = (target_sunalt - alt_before) / (alt_cross - alt_before)
|
||||
dt_interp = t_before + (t_cross - t_before) * frac
|
||||
|
||||
mpsas_interp = (
|
||||
float(row_before["MPSAS"])
|
||||
+ (float(row_cross["MPSAS"]) - float(row_before["MPSAS"])) * frac
|
||||
)
|
||||
|
||||
return dt_interp.to_pydatetime(), mpsas_interp
|
||||
|
||||
|
||||
def _is_clear_night(df_night: pd.DataFrame) -> bool:
|
||||
"""
|
||||
Return True if this night has clear enough skies.
|
||||
Uses the deep-night rows (|SunAlt| > 40°) as the quality reference.
|
||||
"""
|
||||
deep_night = df_night[df_night["SunAlt"] < -40.0]
|
||||
if len(deep_night) < 10:
|
||||
return False
|
||||
median_mpsas = deep_night["MPSAS"].median()
|
||||
return float(median_mpsas) >= CLEAR_SKY_MIN_MPSAS
|
||||
|
||||
|
||||
def _utc_to_local_time(utc_dt: datetime) -> tuple[str, str]:
|
||||
"""Return (date_local YYYY-MM-DD, time_local HH:MM) for UTC+8."""
|
||||
local_dt = utc_dt + timedelta(hours=UTC_OFFSET)
|
||||
return local_dt.strftime("%Y-%m-%d"), local_dt.strftime("%H:%M")
|
||||
|
||||
|
||||
def extract_from_sqm_file(dat_path: Path) -> list[dict]:
|
||||
"""
|
||||
Process the full BRIN Timau SQM_2020_2021.dat file.
|
||||
|
||||
Returns a list of raw sighting records (one per night per twilight type)
|
||||
in the schema expected by ingest.py.
|
||||
"""
|
||||
log.info("Loading %s ...", dat_path)
|
||||
df = pd.read_csv(dat_path)
|
||||
df["Datetime"] = pd.to_datetime(df["Datetime"])
|
||||
|
||||
records: list[dict] = []
|
||||
dates = sorted(df["Date"].unique())
|
||||
log.info("Processing %d nights from BRIN Timau SQM data", len(dates))
|
||||
|
||||
clear_count = 0
|
||||
fajr_count = 0
|
||||
isha_count = 0
|
||||
|
||||
for date_str in dates:
|
||||
night_df = df[df["Date"] == date_str].sort_values("Hours").reset_index(drop=True)
|
||||
|
||||
if not _is_clear_night(night_df):
|
||||
continue
|
||||
clear_count += 1
|
||||
|
||||
# --- Fajr (morning, sun rising) ---
|
||||
fajr_mask = (
|
||||
(night_df["Hours"] >= FAJR_HOURS_WINDOW[0]) &
|
||||
(night_df["Hours"] <= FAJR_HOURS_WINDOW[1]) &
|
||||
(night_df["SunAlt"] < 0)
|
||||
)
|
||||
fajr_window = night_df[fajr_mask].copy()
|
||||
if not fajr_window.empty:
|
||||
result = _interpolate_crossing(
|
||||
fajr_window,
|
||||
target_sunalt=-FAJR_ANGLE,
|
||||
direction="rising",
|
||||
)
|
||||
if result is not None:
|
||||
utc_dt, mpsas = result
|
||||
date_local, time_local = _utc_to_local_time(utc_dt)
|
||||
records.append({
|
||||
"prayer": "fajr",
|
||||
"date_local": date_local,
|
||||
"time_local": time_local,
|
||||
"utc_offset": UTC_OFFSET,
|
||||
"lat": LAT,
|
||||
"lng": LNG,
|
||||
"elevation_m": ELEVATION_M,
|
||||
"source": SOURCE_CITATION,
|
||||
"notes": (
|
||||
f"BRIN CC0 SQM per-minute time series; "
|
||||
f"SunAlt interpolated to {-FAJR_ANGLE:.1f}° depression; "
|
||||
f"MPSAS at crossing={mpsas:.3f}; "
|
||||
f"pristine dark site (median {CLEAR_SKY_MIN_MPSAS}+ mag/arcsec²)"
|
||||
),
|
||||
})
|
||||
fajr_count += 1
|
||||
|
||||
# --- Isha (evening, sun setting) ---
|
||||
isha_mask = (
|
||||
(night_df["Hours"] >= ISHA_HOURS_WINDOW[0]) &
|
||||
(night_df["Hours"] <= ISHA_HOURS_WINDOW[1]) &
|
||||
(night_df["SunAlt"] < 0)
|
||||
)
|
||||
isha_window = night_df[isha_mask].copy()
|
||||
if not isha_window.empty:
|
||||
result = _interpolate_crossing(
|
||||
isha_window,
|
||||
target_sunalt=-ISHA_ANGLE,
|
||||
direction="falling",
|
||||
)
|
||||
if result is not None:
|
||||
utc_dt, mpsas = result
|
||||
date_local, time_local = _utc_to_local_time(utc_dt)
|
||||
records.append({
|
||||
"prayer": "isha",
|
||||
"date_local": date_local,
|
||||
"time_local": time_local,
|
||||
"utc_offset": UTC_OFFSET,
|
||||
"lat": LAT,
|
||||
"lng": LNG,
|
||||
"elevation_m": ELEVATION_M,
|
||||
"source": SOURCE_CITATION,
|
||||
"notes": (
|
||||
f"BRIN CC0 SQM per-minute time series; "
|
||||
f"SunAlt interpolated to {-ISHA_ANGLE:.1f}° depression (Shafaq Abyad); "
|
||||
f"MPSAS at crossing={mpsas:.3f}; "
|
||||
f"pristine dark site"
|
||||
),
|
||||
})
|
||||
isha_count += 1
|
||||
|
||||
log.info(
|
||||
"Timau extraction: %d clear nights → %d Fajr + %d Isha records",
|
||||
clear_count, fajr_count, isha_count,
|
||||
)
|
||||
return records
|
||||
|
||||
|
||||
def write_raw_csv(records: list[dict], output_path: Path) -> None:
|
||||
"""Write extracted records to a raw CSV for ingestion by pipeline."""
|
||||
df = pd.DataFrame(records)
|
||||
if df.empty:
|
||||
log.warning("No records to write to %s", output_path)
|
||||
return
|
||||
output_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
df.to_csv(output_path, index=False)
|
||||
log.info("Wrote %d records to %s", len(df), output_path)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
logging.basicConfig(level=logging.INFO, format="%(message)s")
|
||||
|
||||
dat_file = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("/tmp/timau_sqm_2020_2021.dat")
|
||||
out_file = Path(__file__).parent.parent.parent / "data" / "raw" / "raw_sightings" / "timau_sqm_full_2020_2021.csv"
|
||||
|
||||
records = extract_from_sqm_file(dat_file)
|
||||
write_raw_csv(records, out_file)
|
||||
print(f"\nExtracted {len(records)} total records")
|
||||
fajr = [r for r in records if r["prayer"] == "fajr"]
|
||||
isha = [r for r in records if r["prayer"] == "isha"]
|
||||
print(f" Fajr: {len(fajr)}")
|
||||
print(f" Isha: {len(isha)}")
|
||||
print(f"Output: {out_file}")
|
||||
491
src/collect/paper_extractor.py
Normal file
491
src/collect/paper_extractor.py
Normal file
|
|
@ -0,0 +1,491 @@
|
|||
"""
|
||||
Extract prayer time observation data from academic papers and web pages.
|
||||
|
||||
Handles:
|
||||
- HTML pages: extract tables using BeautifulSoup
|
||||
- PDF files: extract text and tables using PyMuPDF (fitz)
|
||||
- iCal feeds: parse VEVENT blocks for prayer times
|
||||
- Plain text: regex-based extraction of time/date patterns
|
||||
|
||||
The extractor tries to identify tables that contain human-observed prayer
|
||||
times by looking for characteristic column patterns:
|
||||
- Date columns (YYYY-MM-DD, DD/MM/YYYY, day-of-year)
|
||||
- Time columns (HH:MM, decimal hours)
|
||||
- Prayer type indicators (Fajr, Isha, Subuh, Isyak, dawn, dusk)
|
||||
- Angle columns (D0, depression, altitude, degrees)
|
||||
- Location columns (latitude, longitude, site name)
|
||||
|
||||
Only rows with enough information to back-calculate a solar depression angle
|
||||
are kept. The minimum required set is: date + time + prayer type. Lat/lng
|
||||
may already be known for the site.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import io
|
||||
import logging
|
||||
import re
|
||||
import time
|
||||
from datetime import datetime, timezone
|
||||
from typing import Any
|
||||
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
# HTTP session with appropriate headers
|
||||
SESSION = requests.Session()
|
||||
SESSION.headers.update(
|
||||
{
|
||||
"User-Agent": (
|
||||
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) "
|
||||
"AppleWebKit/537.36 (KHTML, like Gecko) "
|
||||
"Chrome/120.0.0.0 Safari/537.36"
|
||||
),
|
||||
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
|
||||
"Accept-Language": "en-US,en;q=0.5",
|
||||
}
|
||||
)
|
||||
|
||||
# Time pattern: HH:MM or H:MM (24h)
|
||||
TIME_RE = re.compile(r"\b([01]?\d|2[0-3]):([0-5]\d)\b")
|
||||
|
||||
# Date patterns
|
||||
DATE_RE_YMD = re.compile(r"\b(20\d{2}|19\d{2})[-/](\d{1,2})[-/](\d{1,2})\b")
|
||||
DATE_RE_DMY = re.compile(r"\b(\d{1,2})[-/](\d{1,2})[-/](20\d{2}|19\d{2})\b")
|
||||
DATE_MONTH_NAMES = re.compile(
|
||||
r"\b(\d{1,2})\s+(Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|"
|
||||
r"Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\s+"
|
||||
r"(20\d{2}|19\d{2})\b",
|
||||
re.IGNORECASE,
|
||||
)
|
||||
|
||||
MONTHS = {
|
||||
"jan": 1, "feb": 2, "mar": 3, "apr": 4, "may": 5, "jun": 6,
|
||||
"jul": 7, "aug": 8, "sep": 9, "oct": 10, "nov": 11, "dec": 12,
|
||||
}
|
||||
|
||||
# Prayer type keywords
|
||||
FAJR_WORDS = re.compile(
|
||||
r"\b(fajr|subuh|subh|fajr[- ]sadiq|true dawn|dawn|morning twilight|"
|
||||
r"astronomical morning|صبح|فجر|صلاة الفجر)\b",
|
||||
re.IGNORECASE,
|
||||
)
|
||||
ISHA_WORDS = re.compile(
|
||||
r"\b(isha|isyak|isya|shafaq|isha[\'']?|evening twilight|dusk|"
|
||||
r"astronomical dusk|عشاء)\b",
|
||||
re.IGNORECASE,
|
||||
)
|
||||
|
||||
# Angle keywords (solar depression angle D0)
|
||||
ANGLE_WORDS = re.compile(
|
||||
r"\b(D[0o]|depression|altitude|angle|degree|°|solar position)\b",
|
||||
re.IGNORECASE,
|
||||
)
|
||||
|
||||
# Coordinate keywords
|
||||
LAT_RE = re.compile(r"lat(?:itude)?[:\s=]*([+-]?\d+\.?\d*)[°\s]*([NS]?)", re.IGNORECASE)
|
||||
LNG_RE = re.compile(r"lon(?:g(?:itude)?)?[:\s=]*([+-]?\d+\.?\d*)[°\s]*([EW]?)", re.IGNORECASE)
|
||||
ELEV_RE = re.compile(r"elev(?:ation)?[:\s=]*(\d+\.?\d*)\s*m", re.IGNORECASE)
|
||||
|
||||
|
||||
def fetch_url(url: str, timeout: int = 30) -> tuple[bytes | None, str]:
|
||||
"""
|
||||
Fetch a URL and return (content_bytes, content_type).
|
||||
|
||||
Returns (None, '') on failure.
|
||||
"""
|
||||
try:
|
||||
resp = SESSION.get(url, timeout=timeout, allow_redirects=True)
|
||||
resp.raise_for_status()
|
||||
ct = resp.headers.get("content-type", "").lower()
|
||||
return resp.content, ct
|
||||
except requests.RequestException as e:
|
||||
log.warning("fetch_url %s: %s", url, e)
|
||||
return None, ""
|
||||
|
||||
|
||||
def extract_from_url(url: str) -> list[dict]:
|
||||
"""
|
||||
Main entry point: fetch a URL and extract prayer time observations.
|
||||
|
||||
Returns a list of raw record dicts with at least:
|
||||
prayer, date_local, time_local, source
|
||||
and optionally: lat, lng, elevation_m, utc_offset, notes.
|
||||
"""
|
||||
content, ct = fetch_url(url)
|
||||
if content is None:
|
||||
return []
|
||||
|
||||
time.sleep(1) # polite rate limiting
|
||||
|
||||
if "pdf" in ct or url.lower().endswith(".pdf"):
|
||||
return _extract_from_pdf(content, url)
|
||||
elif "text/calendar" in ct or "ical" in ct or url.lower().endswith(".ics"):
|
||||
return _extract_from_ical(content.decode("utf-8", errors="replace"), url)
|
||||
else:
|
||||
html = content.decode("utf-8", errors="replace")
|
||||
return _extract_from_html(html, url)
|
||||
|
||||
|
||||
def _extract_from_html(html: str, source_url: str) -> list[dict]:
|
||||
"""Extract prayer time observations from an HTML page."""
|
||||
soup = BeautifulSoup(html, "lxml")
|
||||
|
||||
records: list[dict] = []
|
||||
|
||||
# Extract site metadata from page text
|
||||
text = soup.get_text(" ", strip=True)
|
||||
site_meta = _extract_site_meta(text)
|
||||
|
||||
# Try HTML tables first
|
||||
tables = soup.find_all("table")
|
||||
for table in tables:
|
||||
rows = _parse_html_table(table, source_url, site_meta)
|
||||
records.extend(rows)
|
||||
|
||||
# If no table data, try paragraph-level extraction
|
||||
if not records:
|
||||
records.extend(_extract_from_text(text, source_url, site_meta))
|
||||
|
||||
return records
|
||||
|
||||
|
||||
def _parse_html_table(table_tag: Any, source_url: str, site_meta: dict) -> list[dict]:
|
||||
"""Parse an HTML <table> element for prayer time observation rows."""
|
||||
rows = table_tag.find_all("tr")
|
||||
if len(rows) < 3:
|
||||
return []
|
||||
|
||||
# Extract header row
|
||||
headers = []
|
||||
header_row = rows[0]
|
||||
for cell in header_row.find_all(["th", "td"]):
|
||||
headers.append(cell.get_text(" ", strip=True).lower())
|
||||
|
||||
if not headers:
|
||||
return []
|
||||
|
||||
# Classify columns
|
||||
col_date = _find_col(headers, ["date", "tarikh", "tanggal", "تاريخ", "day", "hari"])
|
||||
col_time_fajr = _find_col(headers, ["fajr", "subuh", "dawn", "fajar", "صبح", "فجر"])
|
||||
col_time_isha = _find_col(headers, ["isha", "isyak", "isya", "isha'", "dusk", "عشاء"])
|
||||
col_lat = _find_col(headers, ["lat", "latitude", "lintang"])
|
||||
col_lng = _find_col(headers, ["lon", "long", "longitude", "bujur"])
|
||||
col_elev = _find_col(headers, ["elev", "altitude", "height", "ketinggian"])
|
||||
col_angle = _find_col(headers, ["d0", "depression", "angle", "degree", "darjah"])
|
||||
|
||||
# If no date or prayer column found, skip this table
|
||||
has_fajr_col = col_time_fajr is not None
|
||||
has_isha_col = col_time_isha is not None
|
||||
has_date = col_date is not None
|
||||
if not (has_date and (has_fajr_col or has_isha_col)):
|
||||
return []
|
||||
|
||||
records: list[dict] = []
|
||||
for row in rows[1:]:
|
||||
cells = [td.get_text(" ", strip=True) for td in row.find_all(["td", "th"])]
|
||||
if len(cells) < 2:
|
||||
continue
|
||||
|
||||
date_str = _safe_get(cells, col_date, "")
|
||||
date = _parse_date(date_str)
|
||||
if date is None:
|
||||
continue
|
||||
|
||||
lat = site_meta.get("lat") or _parse_float(_safe_get(cells, col_lat))
|
||||
lng = site_meta.get("lng") or _parse_float(_safe_get(cells, col_lng))
|
||||
elev = site_meta.get("elevation_m") or _parse_float(_safe_get(cells, col_elev)) or 0.0
|
||||
|
||||
if has_fajr_col:
|
||||
time_str = _normalize_time(_safe_get(cells, col_time_fajr))
|
||||
if time_str and lat and lng:
|
||||
records.append(
|
||||
_make_record(
|
||||
"fajr", date, time_str, lat, lng, elev,
|
||||
site_meta.get("utc_offset", 0.0),
|
||||
source_url, site_meta.get("notes", ""),
|
||||
)
|
||||
)
|
||||
|
||||
if has_isha_col:
|
||||
time_str = _normalize_time(_safe_get(cells, col_time_isha))
|
||||
if time_str and lat and lng:
|
||||
records.append(
|
||||
_make_record(
|
||||
"isha", date, time_str, lat, lng, elev,
|
||||
site_meta.get("utc_offset", 0.0),
|
||||
source_url, site_meta.get("notes", ""),
|
||||
)
|
||||
)
|
||||
|
||||
return records
|
||||
|
||||
|
||||
def _extract_from_pdf(content: bytes, source_url: str) -> list[dict]:
|
||||
"""Extract prayer time observations from a PDF file using PyMuPDF."""
|
||||
try:
|
||||
import fitz # PyMuPDF
|
||||
except ImportError:
|
||||
log.warning("PyMuPDF not available — skipping PDF extraction")
|
||||
return []
|
||||
|
||||
records: list[dict] = []
|
||||
try:
|
||||
doc = fitz.open(stream=content, filetype="pdf")
|
||||
except Exception as e:
|
||||
log.warning("PDF open error for %s: %s", source_url, e)
|
||||
return []
|
||||
|
||||
full_text = ""
|
||||
for page in doc:
|
||||
full_text += page.get_text() + "\n"
|
||||
|
||||
doc.close()
|
||||
|
||||
# Extract site metadata from full text
|
||||
site_meta = _extract_site_meta(full_text)
|
||||
|
||||
# Try table extraction from text (PyMuPDF's get_text() includes table-like structures)
|
||||
records.extend(_extract_from_text(full_text, source_url, site_meta))
|
||||
|
||||
return records
|
||||
|
||||
|
||||
def _extract_from_ical(text: str, source_url: str) -> list[dict]:
|
||||
"""
|
||||
Parse iCal content for prayer time events.
|
||||
|
||||
Looks for VEVENT blocks with SUMMARY containing Fajr or Isha keywords
|
||||
and a DTSTART timestamp.
|
||||
"""
|
||||
records: list[dict] = []
|
||||
for block in text.split("BEGIN:VEVENT")[1:]:
|
||||
data: dict[str, str] = {}
|
||||
for line in block.splitlines():
|
||||
if ":" in line:
|
||||
k, _, v = line.partition(":")
|
||||
data[k.strip()] = v.strip()
|
||||
|
||||
summary = data.get("SUMMARY", "")
|
||||
prayer = None
|
||||
if FAJR_WORDS.search(summary):
|
||||
prayer = "fajr"
|
||||
elif ISHA_WORDS.search(summary):
|
||||
prayer = "isha"
|
||||
if prayer is None:
|
||||
continue
|
||||
|
||||
dt_raw = data.get("DTSTART", "")
|
||||
if dt_raw.endswith("Z"):
|
||||
try:
|
||||
utc_dt = datetime.strptime(dt_raw, "%Y%m%dT%H%M%SZ").replace(
|
||||
tzinfo=timezone.utc
|
||||
)
|
||||
records.append(
|
||||
{
|
||||
"prayer": prayer,
|
||||
"date_local": utc_dt.strftime("%Y-%m-%d"),
|
||||
"utc_dt": utc_dt,
|
||||
"time_local": utc_dt.strftime("%H:%M"),
|
||||
"utc_offset": 0.0,
|
||||
"lat": None,
|
||||
"lng": None,
|
||||
"elevation_m": 0.0,
|
||||
"source": source_url,
|
||||
"notes": f"iCal: {summary}",
|
||||
}
|
||||
)
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
return records
|
||||
|
||||
|
||||
def _extract_from_text(text: str, source_url: str, site_meta: dict) -> list[dict]:
|
||||
"""
|
||||
Extract prayer time data from plain text using regex patterns.
|
||||
|
||||
Looks for lines that contain a date + time + prayer type keyword.
|
||||
"""
|
||||
records: list[dict] = []
|
||||
lat = site_meta.get("lat")
|
||||
lng = site_meta.get("lng")
|
||||
elev = site_meta.get("elevation_m", 0.0)
|
||||
utc_offset = site_meta.get("utc_offset", 0.0)
|
||||
|
||||
if not (lat and lng):
|
||||
return [] # Can't process without coordinates
|
||||
|
||||
lines = text.split("\n")
|
||||
for line in lines:
|
||||
if len(line) < 8:
|
||||
continue
|
||||
|
||||
# Look for lines with a date pattern
|
||||
date = _parse_date_from_line(line)
|
||||
if date is None:
|
||||
continue
|
||||
|
||||
# Check for prayer type
|
||||
prayer = None
|
||||
if FAJR_WORDS.search(line):
|
||||
prayer = "fajr"
|
||||
elif ISHA_WORDS.search(line):
|
||||
prayer = "isha"
|
||||
if prayer is None:
|
||||
continue
|
||||
|
||||
# Look for time
|
||||
times = TIME_RE.findall(line)
|
||||
if not times:
|
||||
continue
|
||||
|
||||
# Use the last time match (usually the observed time)
|
||||
h, m = times[-1]
|
||||
time_str = f"{int(h):02d}:{int(m):02d}"
|
||||
|
||||
records.append(
|
||||
_make_record(
|
||||
prayer, date, time_str, lat, lng, elev or 0.0,
|
||||
utc_offset, source_url,
|
||||
site_meta.get("notes", "text-extraction"),
|
||||
)
|
||||
)
|
||||
|
||||
return records
|
||||
|
||||
|
||||
def _extract_site_meta(text: str) -> dict:
|
||||
"""Extract lat/lng/elevation/utc_offset from page text."""
|
||||
meta: dict = {}
|
||||
|
||||
lat_m = LAT_RE.search(text)
|
||||
if lat_m:
|
||||
val = float(lat_m.group(1))
|
||||
if lat_m.group(2).upper() == "S":
|
||||
val = -val
|
||||
meta["lat"] = val
|
||||
|
||||
lng_m = LNG_RE.search(text)
|
||||
if lng_m:
|
||||
val = float(lng_m.group(1))
|
||||
if lng_m.group(2).upper() == "W":
|
||||
val = -val
|
||||
meta["lng"] = val
|
||||
|
||||
elev_m = ELEV_RE.search(text)
|
||||
if elev_m:
|
||||
meta["elevation_m"] = float(elev_m.group(1))
|
||||
|
||||
# Try to detect UTC offset from text
|
||||
utc_m = re.search(r"UTC\s*([+-]\d+(?:\.\d+)?)", text)
|
||||
if utc_m:
|
||||
meta["utc_offset"] = float(utc_m.group(1))
|
||||
|
||||
return meta
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Helpers
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def _find_col(headers: list[str], keywords: list[str]) -> int | None:
|
||||
for kw in keywords:
|
||||
for i, h in enumerate(headers):
|
||||
if kw in h:
|
||||
return i
|
||||
return None
|
||||
|
||||
|
||||
def _safe_get(lst: list, idx: int | None, default: str = "") -> str:
|
||||
if idx is None or idx >= len(lst):
|
||||
return default
|
||||
return lst[idx]
|
||||
|
||||
|
||||
def _parse_float(s: str | None) -> float | None:
|
||||
if not s:
|
||||
return None
|
||||
m = re.search(r"[+-]?\d+\.?\d*", s)
|
||||
if m:
|
||||
return float(m.group())
|
||||
return None
|
||||
|
||||
|
||||
def _normalize_time(s: str) -> str | None:
|
||||
"""Return HH:MM string or None."""
|
||||
if not s:
|
||||
return None
|
||||
m = TIME_RE.search(s)
|
||||
if m:
|
||||
return f"{int(m.group(1)):02d}:{int(m.group(2)):02d}"
|
||||
return None
|
||||
|
||||
|
||||
def _parse_date(s: str) -> str | None:
|
||||
"""
|
||||
Parse a date string into YYYY-MM-DD.
|
||||
|
||||
Handles: YYYY-MM-DD, DD/MM/YYYY, DD Month YYYY.
|
||||
"""
|
||||
if not s:
|
||||
return None
|
||||
|
||||
m = DATE_RE_YMD.search(s)
|
||||
if m:
|
||||
y, mo, d = int(m.group(1)), int(m.group(2)), int(m.group(3))
|
||||
if 1 <= mo <= 12 and 1 <= d <= 31:
|
||||
return f"{y:04d}-{mo:02d}-{d:02d}"
|
||||
|
||||
m = DATE_RE_DMY.search(s)
|
||||
if m:
|
||||
d, mo, y = int(m.group(1)), int(m.group(2)), int(m.group(3))
|
||||
if 1 <= mo <= 12 and 1 <= d <= 31:
|
||||
return f"{y:04d}-{mo:02d}-{d:02d}"
|
||||
|
||||
m = DATE_MONTH_NAMES.search(s)
|
||||
if m:
|
||||
d = int(m.group(1))
|
||||
mo = MONTHS.get(m.group(2)[:3].lower())
|
||||
y = int(m.group(3))
|
||||
if mo and 1 <= d <= 31:
|
||||
return f"{y:04d}-{mo:02d}-{d:02d}"
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def _parse_date_from_line(line: str) -> str | None:
|
||||
for pattern in [DATE_RE_YMD, DATE_RE_DMY]:
|
||||
m = pattern.search(line)
|
||||
if m:
|
||||
return _parse_date(m.group(0))
|
||||
m = DATE_MONTH_NAMES.search(line)
|
||||
if m:
|
||||
return _parse_date(m.group(0))
|
||||
return None
|
||||
|
||||
|
||||
def _make_record(
|
||||
prayer: str,
|
||||
date: str,
|
||||
time_local: str,
|
||||
lat: float,
|
||||
lng: float,
|
||||
elevation_m: float,
|
||||
utc_offset: float,
|
||||
source: str,
|
||||
notes: str,
|
||||
) -> dict:
|
||||
return {
|
||||
"prayer": prayer,
|
||||
"date_local": date,
|
||||
"time_local": time_local,
|
||||
"utc_offset": utc_offset,
|
||||
"lat": lat,
|
||||
"lng": lng,
|
||||
"elevation_m": elevation_m,
|
||||
"source": source,
|
||||
"notes": notes,
|
||||
}
|
||||
171
src/collect/pdf_extractor.py
Normal file
171
src/collect/pdf_extractor.py
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
"""
|
||||
PDF text and table extraction for academic papers.
|
||||
|
||||
Uses pdfminer.six (already installed) to extract text from PDFs.
|
||||
Heuristic table parsing looks for rows containing prayer times, angles,
|
||||
dates, and coordinates.
|
||||
|
||||
For each paper PDF we extract:
|
||||
1. Raw full text
|
||||
2. Candidate data rows (lines that look like observation tables)
|
||||
3. Metadata (title, abstract, site info)
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import io
|
||||
import logging
|
||||
import re
|
||||
from typing import Optional
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def extract_text(pdf_bytes: bytes) -> Optional[str]:
|
||||
"""
|
||||
Extract all text from a PDF. Returns None if extraction fails.
|
||||
"""
|
||||
try:
|
||||
from pdfminer.high_level import extract_text_to_fp
|
||||
from pdfminer.layout import LAParams
|
||||
|
||||
buf = io.BytesIO(pdf_bytes)
|
||||
out = io.StringIO()
|
||||
laparams = LAParams(line_margin=0.5, word_margin=0.1)
|
||||
extract_text_to_fp(buf, out, laparams=laparams)
|
||||
text = out.getvalue()
|
||||
log.info("extracted %d chars from PDF", len(text))
|
||||
return text
|
||||
except Exception as e:
|
||||
log.warning("pdfminer extraction failed: %s", e)
|
||||
return None
|
||||
|
||||
|
||||
# Patterns for parsing extracted table rows from academic papers
|
||||
# These match lines that look like prayer observation records.
|
||||
|
||||
# A time in HH:MM or H:MM format
|
||||
RE_TIME = re.compile(r'\b(\d{1,2}:\d{2})\b')
|
||||
|
||||
# A date: various formats
|
||||
RE_DATE = re.compile(
|
||||
r'\b(\d{4}[-/]\d{1,2}[-/]\d{1,2}|\d{1,2}[-/]\d{1,2}[-/]\d{4}|\d{1,2}\s+\w+\s+\d{4})\b'
|
||||
)
|
||||
|
||||
# An angle: typically 10.0–25.0 degrees
|
||||
RE_ANGLE = re.compile(r'\b(1[0-9]|2[0-5])\.\d{1,4}\b')
|
||||
|
||||
# Latitude and longitude
|
||||
RE_LAT = re.compile(r'\b([+-]?\d{1,2}\.\d{2,6})[°\s]*(N|S|north|south)?\b', re.IGNORECASE)
|
||||
RE_LNG = re.compile(r'\b([+-]?\d{1,3}\.\d{2,6})[°\s]*(E|W|east|west)?\b', re.IGNORECASE)
|
||||
|
||||
|
||||
def find_table_candidates(text: str) -> list[str]:
|
||||
"""
|
||||
Return lines from extracted PDF text that look like they could contain
|
||||
prayer time observation data (date + time + angle).
|
||||
"""
|
||||
candidates = []
|
||||
for line in text.splitlines():
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
has_time = bool(RE_TIME.search(line))
|
||||
has_date = bool(RE_DATE.search(line))
|
||||
has_angle = bool(RE_ANGLE.search(line))
|
||||
# A candidate line has at least 2 of the 3 indicators
|
||||
score = int(has_time) + int(has_date) + int(has_angle)
|
||||
if score >= 2 and len(line) > 10:
|
||||
candidates.append(line)
|
||||
return candidates
|
||||
|
||||
|
||||
def parse_prayer_time_line(
|
||||
line: str,
|
||||
*,
|
||||
default_lat: Optional[float] = None,
|
||||
default_lng: Optional[float] = None,
|
||||
default_utc_offset: float = 0.0,
|
||||
prayer: str = "fajr",
|
||||
source: str = "",
|
||||
year: Optional[int] = None,
|
||||
) -> Optional[dict]:
|
||||
"""
|
||||
Try to parse a single text line into a prayer sighting record.
|
||||
|
||||
Returns a dict with keys: prayer, date_local, time_local, utc_offset,
|
||||
lat, lng, elevation_m, source, notes — or None if parsing fails.
|
||||
"""
|
||||
times = RE_TIME.findall(line)
|
||||
dates = RE_DATE.findall(line)
|
||||
if not times:
|
||||
return None
|
||||
|
||||
# Pick first plausible Fajr time (before 08:00 local) or Isha time (after 18:00 local)
|
||||
time_str = None
|
||||
for t in times:
|
||||
h = int(t.split(":")[0])
|
||||
if prayer == "fajr" and h < 8:
|
||||
time_str = t
|
||||
break
|
||||
elif prayer == "isha" and h >= 18:
|
||||
time_str = t
|
||||
break
|
||||
if not time_str and times:
|
||||
time_str = times[0]
|
||||
|
||||
# Pick first date
|
||||
date_str = None
|
||||
if dates:
|
||||
raw = dates[0]
|
||||
# Normalize various formats to YYYY-MM-DD
|
||||
date_str = _normalize_date(raw, year_hint=year)
|
||||
|
||||
if not date_str or not time_str:
|
||||
return None
|
||||
|
||||
return {
|
||||
"prayer": prayer,
|
||||
"date_local": date_str,
|
||||
"time_local": time_str,
|
||||
"utc_offset": default_utc_offset,
|
||||
"lat": default_lat or 0.0,
|
||||
"lng": default_lng or 0.0,
|
||||
"elevation_m": 0,
|
||||
"source": source,
|
||||
"notes": f"parsed from PDF table line: {line[:120]}",
|
||||
}
|
||||
|
||||
|
||||
def _normalize_date(raw: str, year_hint: Optional[int] = None) -> Optional[str]:
|
||||
"""Attempt to normalize a raw date string to YYYY-MM-DD."""
|
||||
import datetime
|
||||
|
||||
raw = raw.strip()
|
||||
|
||||
# Already ISO: 2022-03-15 or 2022/03/15
|
||||
m = re.match(r'^(\d{4})[-/](\d{1,2})[-/](\d{1,2})$', raw)
|
||||
if m:
|
||||
y, mo, d = int(m.group(1)), int(m.group(2)), int(m.group(3))
|
||||
try:
|
||||
return datetime.date(y, mo, d).isoformat()
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
# DD/MM/YYYY or DD-MM-YYYY
|
||||
m = re.match(r'^(\d{1,2})[-/](\d{1,2})[-/](\d{4})$', raw)
|
||||
if m:
|
||||
d, mo, y = int(m.group(1)), int(m.group(2)), int(m.group(3))
|
||||
try:
|
||||
return datetime.date(y, mo, d).isoformat()
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
# "15 January 2022" or "15 Jan 2022"
|
||||
for fmt in ("%d %B %Y", "%d %b %Y"):
|
||||
try:
|
||||
return datetime.datetime.strptime(raw, fmt).date().isoformat()
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
return None
|
||||
1989
src/collect/precomputed_angles.py
Normal file
1989
src/collect/precomputed_angles.py
Normal file
File diff suppressed because it is too large
Load diff
164
src/collect/source_db.py
Normal file
164
src/collect/source_db.py
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
"""
|
||||
Source registry — tracks every URL/source attempted during autonomous collection.
|
||||
|
||||
The manifest lives at data/raw/collection_manifest.json. Every entry records:
|
||||
- Unique source_id (slug)
|
||||
- URL
|
||||
- Type (paper, ical, csv, api, html, pdf)
|
||||
- Status (found, fetched, processed, empty, failed, blocked)
|
||||
- Record counts (raw and accepted after quality filtering)
|
||||
- Prayer types found
|
||||
- Location and date range
|
||||
- Fetch timestamp
|
||||
|
||||
This lets the autonomous collector skip already-processed sources and give a
|
||||
complete audit trail of what was searched and what was found.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import re
|
||||
import time
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
from typing import Literal
|
||||
|
||||
ROOT = Path(__file__).parent.parent.parent
|
||||
MANIFEST_PATH = ROOT / "data" / "raw" / "collection_manifest.json"
|
||||
|
||||
SourceStatus = Literal["found", "fetched", "processed", "empty", "failed", "blocked"]
|
||||
SourceType = Literal["paper", "ical", "csv", "api", "html", "pdf", "unknown"]
|
||||
|
||||
|
||||
def _load() -> dict[str, dict]:
|
||||
"""Load the manifest from disk. Returns dict keyed by source_id."""
|
||||
if MANIFEST_PATH.exists():
|
||||
try:
|
||||
data = json.loads(MANIFEST_PATH.read_text())
|
||||
if isinstance(data, list):
|
||||
# Legacy list format — convert to dict
|
||||
return {entry["source_id"]: entry for entry in data if "source_id" in entry}
|
||||
return data
|
||||
except Exception:
|
||||
return {}
|
||||
return {}
|
||||
|
||||
|
||||
def _save(manifest: dict[str, dict]) -> None:
|
||||
MANIFEST_PATH.parent.mkdir(parents=True, exist_ok=True)
|
||||
MANIFEST_PATH.write_text(json.dumps(manifest, indent=2, ensure_ascii=False))
|
||||
|
||||
|
||||
def _slug(url: str) -> str:
|
||||
"""Generate a stable slug from a URL for use as source_id."""
|
||||
url = re.sub(r"^https?://", "", url)
|
||||
url = re.sub(r"[^a-zA-Z0-9]+", "_", url)
|
||||
return url[:80].strip("_").lower()
|
||||
|
||||
|
||||
def is_visited(url: str) -> bool:
|
||||
"""Return True if this URL has already been processed (any status)."""
|
||||
manifest = _load()
|
||||
slug = _slug(url)
|
||||
return slug in manifest
|
||||
|
||||
|
||||
def get_all_urls() -> set[str]:
|
||||
"""Return the set of all URLs in the manifest."""
|
||||
manifest = _load()
|
||||
return {entry.get("url", "") for entry in manifest.values()}
|
||||
|
||||
|
||||
def add_source(
|
||||
url: str,
|
||||
*,
|
||||
title: str = "",
|
||||
source_type: SourceType = "unknown",
|
||||
status: SourceStatus = "found",
|
||||
prayer_types: list[str] | None = None,
|
||||
records_raw: int = 0,
|
||||
records_accepted: int = 0,
|
||||
location: str = "",
|
||||
date_range: str = "",
|
||||
notes: str = "",
|
||||
) -> str:
|
||||
"""
|
||||
Add or update a source entry in the manifest.
|
||||
|
||||
Returns the source_id (slug).
|
||||
"""
|
||||
manifest = _load()
|
||||
source_id = _slug(url)
|
||||
|
||||
manifest[source_id] = {
|
||||
"source_id": source_id,
|
||||
"url": url,
|
||||
"title": title,
|
||||
"type": source_type,
|
||||
"status": status,
|
||||
"prayer_types": prayer_types or [],
|
||||
"records_raw": records_raw,
|
||||
"records_accepted": records_accepted,
|
||||
"location": location,
|
||||
"date_range": date_range,
|
||||
"fetched_at": datetime.now(timezone.utc).isoformat(),
|
||||
"notes": notes,
|
||||
}
|
||||
_save(manifest)
|
||||
return source_id
|
||||
|
||||
|
||||
def update_status(
|
||||
url: str,
|
||||
status: SourceStatus,
|
||||
records_raw: int | None = None,
|
||||
records_accepted: int | None = None,
|
||||
notes: str | None = None,
|
||||
) -> None:
|
||||
"""Update the status (and optionally record counts) for an existing source."""
|
||||
manifest = _load()
|
||||
source_id = _slug(url)
|
||||
if source_id not in manifest:
|
||||
add_source(url, status=status)
|
||||
return
|
||||
entry = manifest[source_id]
|
||||
entry["status"] = status
|
||||
entry["fetched_at"] = datetime.now(timezone.utc).isoformat()
|
||||
if records_raw is not None:
|
||||
entry["records_raw"] = records_raw
|
||||
if records_accepted is not None:
|
||||
entry["records_accepted"] = records_accepted
|
||||
if notes is not None:
|
||||
entry["notes"] = notes
|
||||
_save(manifest)
|
||||
|
||||
|
||||
def summary() -> dict:
|
||||
"""Return summary statistics about the manifest."""
|
||||
manifest = _load()
|
||||
total = len(manifest)
|
||||
by_status: dict[str, int] = {}
|
||||
total_raw = 0
|
||||
total_accepted = 0
|
||||
for entry in manifest.values():
|
||||
s = entry.get("status", "unknown")
|
||||
by_status[s] = by_status.get(s, 0) + 1
|
||||
total_raw += entry.get("records_raw", 0)
|
||||
total_accepted += entry.get("records_accepted", 0)
|
||||
return {
|
||||
"total_sources": total,
|
||||
"by_status": by_status,
|
||||
"total_records_raw": total_raw,
|
||||
"total_records_accepted": total_accepted,
|
||||
}
|
||||
|
||||
|
||||
def get_failed_urls() -> list[str]:
|
||||
"""Return URLs that failed so they can be retried."""
|
||||
manifest = _load()
|
||||
return [
|
||||
entry["url"]
|
||||
for entry in manifest.values()
|
||||
if entry.get("status") in ("failed",) and entry.get("url")
|
||||
]
|
||||
|
|
@ -68,75 +68,266 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
# -------------------------------------------------------------------------
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# UK — Hizbul Ulama Blackburn observations 1987-1989
|
||||
# Location: outskirts of Blackburn, Lancashire (53.748°N, 2.48°W, ~120m)
|
||||
# 21 successful Fajr observations over Sept 1987 - Sept 1988.
|
||||
# Times are approximate to nearest minute from published accounts.
|
||||
# Source: http://www.hizbululama.org.uk/files/salat_timing.html
|
||||
# UK — Hizbul Ulama Blackburn per-night observations 1987-1988
|
||||
# Location: outskirts of Blackburn, Lancashire (53.75°N, 2.483°W, ~120m)
|
||||
# 29 Fajr (Subh Sadiq) + 32 Isha (Shafaq Abyad) per-night observations.
|
||||
# Source: Shaukat 2015 "Fajr and Isha" booklet, Table 8.2.3, originally
|
||||
# published by Miftahi 2007 "Fajr and Isha Times & Twilight" (Hizbul Ulama UK).
|
||||
# Observers: Molvi Yaqub Ahmed Miftahi and five Imams/Ulama.
|
||||
# BST (UTC+1) before Oct 25 1987 and from Mar 27 1988. GMT (UTC+0) otherwise.
|
||||
# Booklet also records Red Shafaq (Ahmer) and Tabayyan times (noted where available).
|
||||
# -------------------------------------------------------------------------
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "1987-09-21", # autumn equinox, first observation
|
||||
"time_local": "04:30",
|
||||
"utc_offset": 1.0, # BST (British Summer Time)
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Autumn equinox observation; one of 21 successful Fajr sightings",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "1987-12-21", # winter solstice
|
||||
"time_local": "06:45",
|
||||
"utc_offset": 0.0, # GMT
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Winter solstice observation; dark-sky outskirts site",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "1988-03-20", # spring equinox
|
||||
"time_local": "05:05",
|
||||
"utc_offset": 0.0, # GMT
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Spring equinox observation",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "1988-06-21", # summer solstice
|
||||
"time_local": "01:55",
|
||||
"utc_offset": 1.0, # BST
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Summer solstice; very short night at 54°N",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
"date_local": "1987-09-21",
|
||||
"time_local": "21:45",
|
||||
"utc_offset": 1.0,
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Shafaq Abyad (white twilight) disappearance, autumn equinox",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
"date_local": "1987-12-21",
|
||||
"time_local": "17:55",
|
||||
"utc_offset": 0.0,
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Shafaq Abyad winter solstice",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
"date_local": "1988-03-20",
|
||||
"time_local": "20:20",
|
||||
"utc_offset": 0.0,
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Shafaq Abyad spring equinox",
|
||||
},
|
||||
# ── Fajr (Subh Sadiq) — 29 per-night observations ──
|
||||
{"prayer": "fajr", "date_local": "1987-09-21", "time_local": "05:30", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama 5-observer team; autumn equinox"},
|
||||
{"prayer": "fajr", "date_local": "1987-09-23", "time_local": "05:35", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-09-26", "time_local": "05:37", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-09-28", "time_local": "05:40", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-10-22", "time_local": "06:20", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; last BST date before clocks back"},
|
||||
{"prayer": "fajr", "date_local": "1987-10-25", "time_local": "05:30", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; clocks back to GMT"},
|
||||
{"prayer": "fajr", "date_local": "1987-10-28", "time_local": "05:33", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-10-29", "time_local": "05:33", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-11-11", "time_local": "05:57", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-11-25", "time_local": "06:09", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-11-26", "time_local": "06:13", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-11-28", "time_local": "06:14", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1987-12-09", "time_local": "06:35", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; near winter solstice"},
|
||||
{"prayer": "fajr", "date_local": "1988-02-06", "time_local": "06:10", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1988-02-07", "time_local": "06:09", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1988-02-23", "time_local": "05:32", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1988-03-02", "time_local": "05:20", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1988-04-01", "time_local": "05:10", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; BST"},
|
||||
{"prayer": "fajr", "date_local": "1988-05-02", "time_local": "03:53", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1988-05-06", "time_local": "03:35", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1988-05-10", "time_local": "03:23", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1988-05-15", "time_local": "03:14", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; Tabayyan at 03:36"},
|
||||
{"prayer": "fajr", "date_local": "1988-05-20", "time_local": "02:45", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers"},
|
||||
{"prayer": "fajr", "date_local": "1988-05-21", "time_local": "02:38", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; Tabayyan at 03:28"},
|
||||
{"prayer": "fajr", "date_local": "1988-05-25", "time_local": "02:10", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; Tabayyan at 03:10; late May very short night"},
|
||||
{"prayer": "fajr", "date_local": "1988-06-06", "time_local": "01:45", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; Tabayyan at 03:00; near summer solstice; 18-degree time does not exist"},
|
||||
{"prayer": "fajr", "date_local": "1988-06-13", "time_local": "02:45", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; 18-degree time does not exist"},
|
||||
{"prayer": "fajr", "date_local": "1988-08-07", "time_local": "03:38", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; Tabayyan at 04:10"},
|
||||
{"prayer": "fajr", "date_local": "1988-08-16", "time_local": "03:55", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Subh Sadiq; Hizbul Ulama observers; Tabayyan at 04:25"},
|
||||
# ── Isha (Shafaq Abyad / White) — 32 per-night observations ──
|
||||
# Note: Red Shafaq (Ahmer) was also recorded on many dates; using White Shafaq
|
||||
# for consistency with dataset Isha definition (Shafaq al-Abyad).
|
||||
# Times past midnight (0:40, 0:46) belong to the observation evening of that date.
|
||||
{"prayer": "isha", "date_local": "1987-09-22", "time_local": "20:37", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 20:10"},
|
||||
{"prayer": "isha", "date_local": "1987-09-24", "time_local": "20:30", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 20:10"},
|
||||
{"prayer": "isha", "date_local": "1987-09-26", "time_local": "20:25", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 20:00"},
|
||||
{"prayer": "isha", "date_local": "1987-10-01", "time_local": "20:15", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 20:00"},
|
||||
{"prayer": "isha", "date_local": "1987-10-10", "time_local": "19:55", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 19:35"},
|
||||
{"prayer": "isha", "date_local": "1987-10-25", "time_local": "18:15", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; clocks back to GMT; Red at 17:55"},
|
||||
{"prayer": "isha", "date_local": "1987-11-14", "time_local": "17:40", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq not observed"},
|
||||
{"prayer": "isha", "date_local": "1987-11-25", "time_local": "17:26", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1987-11-26", "time_local": "17:25", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1987-11-27", "time_local": "17:30", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red Shafaq at 17:10"},
|
||||
{"prayer": "isha", "date_local": "1987-12-08", "time_local": "17:35", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:15"},
|
||||
{"prayer": "isha", "date_local": "1987-12-09", "time_local": "17:33", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:15"},
|
||||
{"prayer": "isha", "date_local": "1987-12-10", "time_local": "17:30", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1987-12-12", "time_local": "17:20", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:00"},
|
||||
{"prayer": "isha", "date_local": "1987-12-14", "time_local": "17:27", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1987-12-25", "time_local": "17:30", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1988-01-07", "time_local": "17:43", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:11"},
|
||||
{"prayer": "isha", "date_local": "1988-01-24", "time_local": "18:05", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 17:25"},
|
||||
{"prayer": "isha", "date_local": "1988-02-21", "time_local": "18:50", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1988-03-01", "time_local": "19:14", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1988-03-04", "time_local": "19:17", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1988-03-21", "time_local": "19:48", "utc_offset": 0.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed; spring equinox"},
|
||||
{"prayer": "isha", "date_local": "1988-03-30", "time_local": "21:21", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; BST; Red at 20:42"},
|
||||
{"prayer": "isha", "date_local": "1988-04-11", "time_local": "21:33", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1988-04-28", "time_local": "22:06", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red not observed"},
|
||||
{"prayer": "isha", "date_local": "1988-05-05", "time_local": "22:47", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 21:49"},
|
||||
{"prayer": "isha", "date_local": "1988-05-19", "time_local": "23:24", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 22:31"},
|
||||
{"prayer": "isha", "date_local": "1988-05-20", "time_local": "23:37", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 22:29"},
|
||||
# May 24 evening: White Shafaq at 0:40 BST next day (May 25 00:40 local = May 24 23:40 UTC)
|
||||
{"prayer": "isha", "date_local": "1988-05-25", "time_local": "00:40", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; sunset evening May 24; Red not observed; late May very short night"},
|
||||
# Jun 5 evening: White Shafaq at 0:46 BST next day (Jun 6 00:46 local = Jun 5 23:46 UTC)
|
||||
{"prayer": "isha", "date_local": "1988-06-06", "time_local": "00:46", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; sunset evening Jun 5; Red at 23:00; near summer solstice"},
|
||||
{"prayer": "isha", "date_local": "1988-08-01", "time_local": "23:25", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 22:20"},
|
||||
{"prayer": "isha", "date_local": "1988-08-06", "time_local": "23:15", "utc_offset": 1.0,
|
||||
"lat": 53.750, "lng": -2.483, "elevation_m": 120.0,
|
||||
"source": "Shaukat 2015 booklet / Miftahi 2007, Blackburn Lancashire UK",
|
||||
"notes": "naked eye; Shafaq Abyad (white); Hizbul Ulama observers; Red at 22:12"},
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# UK — Asim Yusuf observations (2010s), Exmoor National Park
|
||||
|
|
@ -215,7 +406,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 2.0, # EET
|
||||
"lat": 30.500, "lng": 30.150, "elevation_m": 23.0,
|
||||
"source": "Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",
|
||||
"notes": "One of 38 winter naked-eye Fajr observations; desert site",
|
||||
"notes": "One of 38 winter naked-eye Fajr observations; desert site; time inferred from published mean D0 14.57° (no per-night table in paper)",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
|
|
@ -224,7 +415,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 2.0,
|
||||
"lat": 30.500, "lng": 30.150, "elevation_m": 23.0,
|
||||
"source": "Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",
|
||||
"notes": "Spring equinox observation; desert site",
|
||||
"notes": "Spring equinox observation; desert site; time inferred from published mean D0 14.57°",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
|
|
@ -233,7 +424,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 3.0, # EEST
|
||||
"lat": 30.500, "lng": 30.150, "elevation_m": 23.0,
|
||||
"source": "Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",
|
||||
"notes": "Summer solstice; desert",
|
||||
"notes": "Summer solstice; desert; time inferred from published mean D0 14.57°",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
|
|
@ -242,7 +433,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 2.0,
|
||||
"lat": 30.500, "lng": 30.150, "elevation_m": 23.0,
|
||||
"source": "Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",
|
||||
"notes": "Autumn equinox; desert",
|
||||
"notes": "Autumn equinox; desert; time inferred from published mean D0 14.57°",
|
||||
},
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
|
@ -769,7 +960,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 3.0,
|
||||
"lat": 30.030, "lng": 31.830, "elevation_m": 477.0,
|
||||
"source": "Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",
|
||||
"notes": "Summer solstice; elevated desert observatory",
|
||||
"notes": "Summer solstice; elevated desert observatory; time inferred from published mean angle",
|
||||
},
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
|
@ -794,7 +985,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 3.0,
|
||||
"lat": 24.090, "lng": 32.900, "elevation_m": 92.0,
|
||||
"source": "Hassan et al. 2014, NRIAG J. 3:23-26, Aswan Egypt",
|
||||
"notes": "Summer solstice; Aswan desert",
|
||||
"notes": "Summer solstice; Aswan desert; time inferred from published mean angle",
|
||||
},
|
||||
|
||||
# =========================================================================
|
||||
|
|
@ -844,37 +1035,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"notes": "Shafaq Abyad winter solstice",
|
||||
},
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# UK — Blackburn Isha observations, Hizbul Ulama (1987-1989)
|
||||
# Blackburn: 53.748°N, 2.48°W, ~120m
|
||||
# -------------------------------------------------------------------------
|
||||
{
|
||||
"prayer": "isha",
|
||||
"date_local": "1988-09-22",
|
||||
"time_local": "21:48",
|
||||
"utc_offset": 1.0, # BST
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Shafaq Abyad autumn equinox",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
"date_local": "1988-12-21",
|
||||
"time_local": "17:50",
|
||||
"utc_offset": 0.0, # GMT
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Shafaq Abyad winter solstice; 54°N high latitude",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
"date_local": "1989-03-20",
|
||||
"time_local": "20:22",
|
||||
"utc_offset": 0.0,
|
||||
"lat": 53.748, "lng": -2.480, "elevation_m": 120.0,
|
||||
"source": "Hizbul Ulama UK (1987-1989 Blackburn observations)",
|
||||
"notes": "Shafaq Abyad spring equinox",
|
||||
},
|
||||
# (Blackburn Isha records now in Batch 1 above with full per-night data)
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# MALAYSIA — Isha, Port Klang additional seasonal (Hamidi 2007-2008)
|
||||
|
|
@ -953,7 +1114,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 2.0, # EET
|
||||
"lat": 30.030, "lng": 31.830, "elevation_m": 477.0,
|
||||
"source": "Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",
|
||||
"notes": "Shafaq Abyad winter; elevated desert observatory 477m",
|
||||
"notes": "Shafaq Abyad winter; elevated desert observatory 477m; time inferred from published mean angle",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
|
|
@ -962,7 +1123,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 3.0, # EEST
|
||||
"lat": 30.030, "lng": 31.830, "elevation_m": 477.0,
|
||||
"source": "Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",
|
||||
"notes": "Shafaq Abyad summer solstice; elevated site; ~72 min after sunset 20:00 EEST",
|
||||
"notes": "Shafaq Abyad summer solstice; elevated site; ~72 min after sunset 20:00 EEST; time inferred from published mean angle",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
|
|
@ -971,7 +1132,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 2.0,
|
||||
"lat": 30.030, "lng": 31.830, "elevation_m": 477.0,
|
||||
"source": "Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",
|
||||
"notes": "Shafaq Abyad autumn equinox",
|
||||
"notes": "Shafaq Abyad autumn equinox; time inferred from published mean angle",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
|
|
@ -980,7 +1141,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 2.0,
|
||||
"lat": 30.030, "lng": 31.830, "elevation_m": 477.0,
|
||||
"source": "Hassan et al. 2014, NRIAG J. 3:23-26, Kottamia Egypt",
|
||||
"notes": "Shafaq Abyad spring equinox; Kottamia",
|
||||
"notes": "Shafaq Abyad spring equinox; Kottamia; time inferred from published mean angle",
|
||||
},
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
|
@ -995,7 +1156,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 2.0,
|
||||
"lat": 30.500, "lng": 30.150, "elevation_m": 23.0,
|
||||
"source": "Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",
|
||||
"notes": "Shafaq Abyad winter; desert site",
|
||||
"notes": "Shafaq Abyad winter; desert site; time inferred from published gap (no per-night table in paper)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
|
|
@ -1004,7 +1165,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 3.0, # EEST
|
||||
"lat": 30.500, "lng": 30.150, "elevation_m": 23.0,
|
||||
"source": "Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",
|
||||
"notes": "Shafaq Abyad summer; desert; ~68 min after sunset 20:02 EEST",
|
||||
"notes": "Shafaq Abyad summer; desert; ~68 min after sunset 20:02 EEST; time inferred from published gap",
|
||||
},
|
||||
{
|
||||
"prayer": "isha",
|
||||
|
|
@ -1013,7 +1174,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"utc_offset": 2.0,
|
||||
"lat": 30.500, "lng": 30.150, "elevation_m": 23.0,
|
||||
"source": "Semeida & Hassan 2018, BJBAS 7:286-290, Wadi Al Natron Egypt",
|
||||
"notes": "Shafaq Abyad autumn equinox; desert",
|
||||
"notes": "Shafaq Abyad autumn equinox; desert; time inferred from published gap",
|
||||
},
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
|
@ -4829,7 +4990,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"prayer": "fajr", "date_local": "2007-05-08", "time_local": "05:56",
|
||||
"utc_offset": 8.0, "lat": 5.517, "lng": 102.950, "elevation_m": 42.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Merang Terengganu Malaysia",
|
||||
"notes": "SQM-LE; D0=14.595° (Table 7 a6, true dawn); Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.595° (Table 7 a6, true dawn); Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
|
||||
# Kuala Lipis, Pahang (4.183°N, 102.05°E, 75m) — NEW SITE
|
||||
|
|
@ -4837,37 +4998,37 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"prayer": "fajr", "date_local": "2007-11-10", "time_local": "06:01",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=14.079° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.079° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr", "date_local": "2007-12-29", "time_local": "06:17",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=14.595° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.595° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr", "date_local": "2008-01-11", "time_local": "06:26",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=13.864° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=13.864° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr", "date_local": "2008-02-09", "time_local": "06:34",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=13.419° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=13.419° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr", "date_local": "2008-03-22", "time_local": "06:22",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=13.970° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=13.970° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr", "date_local": "2008-03-23", "time_local": "06:21",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=13.970° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=13.970° (Table 7 a6, true dawn); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
|
||||
# Port Klang, Selangor (3.000°N, 101.40°E, 46m) — NEW SITE
|
||||
|
|
@ -4875,7 +5036,7 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"prayer": "fajr", "date_local": "2008-04-07", "time_local": "06:13",
|
||||
"utc_offset": 8.0, "lat": 3.000, "lng": 101.400, "elevation_m": 46.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Port Klang Selangor Malaysia",
|
||||
"notes": "SQM-LE; D0=15.065° (Table 7 a6, true dawn); coastal port; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=15.065° (Table 7 a6, true dawn); coastal port; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
|
||||
# -----------------------------------------------------------------------
|
||||
|
|
@ -4887,13 +5048,13 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"prayer": "isha", "date_local": "2007-06-15", "time_local": "20:19",
|
||||
"utc_offset": 8.0, "lat": 2.467, "lng": 101.867, "elevation_m": 27.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Teluk Kemang Negeri Sembilan Malaysia",
|
||||
"notes": "SQM-LE; D0=14.213° (Table 5 a1, true dusk); coastal NS; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.213° (Table 5 a1, true dusk); coastal NS; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha", "date_local": "2007-08-13", "time_local": "20:20",
|
||||
"utc_offset": 8.0, "lat": 2.467, "lng": 101.867, "elevation_m": 27.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Teluk Kemang Negeri Sembilan Malaysia",
|
||||
"notes": "SQM-LE; D0=14.690° (Table 5 a1, true dusk); coastal NS; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.690° (Table 5 a1, true dusk); coastal NS; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
|
||||
# Kuala Lumpur, Federal Territory (3.150°N, 101.683°E, 60m) — already in dataset; new dates
|
||||
|
|
@ -4901,13 +5062,13 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"prayer": "isha", "date_local": "2007-09-04", "time_local": "20:05",
|
||||
"utc_offset": 8.0, "lat": 3.150, "lng": 101.683, "elevation_m": 60.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lumpur Malaysia",
|
||||
"notes": "SQM-LE; D0=12.850° (Table 5 a1, true dusk); urban LP; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=12.850° (Table 5 a1, true dusk); urban LP; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha", "date_local": "2007-10-27", "time_local": "19:57",
|
||||
"utc_offset": 8.0, "lat": 3.150, "lng": 101.683, "elevation_m": 60.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lumpur Malaysia",
|
||||
"notes": "SQM-LE; D0=15.340° (Table 5 a1, true dusk); urban LP; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=15.340° (Table 5 a1, true dusk); urban LP; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
|
||||
# Kuala Lipis, Pahang (4.183°N, 102.05°E, 75m) — Isha at same site as above Fajr
|
||||
|
|
@ -4915,37 +5076,37 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"prayer": "isha", "date_local": "2007-12-29", "time_local": "20:09",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=14.420° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.420° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha", "date_local": "2008-01-11", "time_local": "20:11",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=13.600° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=13.600° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha", "date_local": "2008-01-12", "time_local": "20:14",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=14.330° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.330° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha", "date_local": "2008-02-09", "time_local": "20:15",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=13.003° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=13.003° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha", "date_local": "2008-03-22", "time_local": "20:18",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=14.938° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.938° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha", "date_local": "2008-03-23", "time_local": "20:18",
|
||||
"utc_offset": 8.0, "lat": 4.183, "lng": 102.050, "elevation_m": 75.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Kuala Lipis Pahang Malaysia",
|
||||
"notes": "SQM-LE; D0=14.938° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.938° (Table 5 a1, true dusk); inland Pahang; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
|
||||
# Port Klang, Selangor (3.000°N, 101.40°E, 46m) — Isha at same site as above Fajr
|
||||
|
|
@ -4953,13 +5114,13 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"prayer": "isha", "date_local": "2008-04-05", "time_local": "20:14",
|
||||
"utc_offset": 8.0, "lat": 3.000, "lng": 101.400, "elevation_m": 46.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Port Klang Selangor Malaysia",
|
||||
"notes": "SQM-LE; D0=13.970° (Table 5 a1, true dusk); coastal port; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=13.970° (Table 5 a1, true dusk); coastal port; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
{
|
||||
"prayer": "isha", "date_local": "2008-04-06", "time_local": "20:18",
|
||||
"utc_offset": 8.0, "lat": 3.000, "lng": 101.400, "elevation_m": 46.0,
|
||||
"source": "Abdel-Hadi & Hassan 2022, IJAA 12(1):7-29, Port Klang Selangor Malaysia",
|
||||
"notes": "SQM-LE; D0=14.938° (Table 5 a1, true dusk); coastal port; Shariff 2008 data",
|
||||
"notes": "SQM-LE; D0=14.938° (Table 5 a1, true dusk); coastal port; Shariff 2008 data; time inferred from published D0 (paper Tables 3-11 have no clock times)",
|
||||
},
|
||||
|
||||
# =========================================================================
|
||||
|
|
@ -5482,6 +5643,346 @@ VERIFIED_SIGHTINGS: list[SightingRecord] = [
|
|||
"notes": "SQM; D0=15.67° (rural class); 5-year campaign 2017-2022; seasonal representative; D0=15.613°",
|
||||
},
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
# JORDAN — Desert sites east of Amman (31°N, 36°E, ~700-900m)
|
||||
# Source: Abdulkader M. Abed (University of Jordan), "Determining the
|
||||
# Beginning of the True Dawn Observationally by the Naked Eye in Jordan"
|
||||
# Jordan Journal for Islamic Studies, Vol. 11(2), 2015.
|
||||
# Full PDF: https://astronomycenter.net/pdf/aabed_2015.pdf
|
||||
# Hosted by Mohammad Odeh / International Astronomical Center (IAC).
|
||||
# Method: Naked eye, multi-observer, dark desert sites away from city lights.
|
||||
# Criterion: Fajr al-Sadiq (first white thread of true dawn).
|
||||
# 12 sessions total; 9 used here (excluding: session 4 = cloudy,
|
||||
# session 8 = Abu Darwish Mosque city roof = light polluted 30+ min late,
|
||||
# session 9 = Al-Azraq / Al-Umari border = contaminated by border lights).
|
||||
# Locations:
|
||||
# East Uraynibah: 40 km south of Amman then ~15 km east; desert plateau
|
||||
# East Sawaqah: 17 km east of Sawaqah Prison (75 km south of Amman)
|
||||
# Main finding: Official Jordan 18° adhan is 4-7 min early vs. observed Fajr.
|
||||
# Jordan DST: UTC+3 (last Fri March → last Fri October), UTC+2 otherwise.
|
||||
# -------------------------------------------------------------------------
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2009-09-18",
|
||||
"time_local": "05:04",
|
||||
"utc_offset": 3.0,
|
||||
"lat": 31.64, "lng": 36.00, "elevation_m": 750.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Uraynibah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance of Fajr al-Sadiq; 4 min after 18° adhan; dark desert plateau",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2009-10-02",
|
||||
"time_local": "05:17",
|
||||
"utc_offset": 3.0,
|
||||
"lat": 31.38, "lng": 36.27, "elevation_m": 900.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Sawaqah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance Fajr al-Sadiq; 7 min after 18° adhan; darker site than Uraynibah",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2009-10-17",
|
||||
"time_local": "05:25",
|
||||
"utc_offset": 3.0,
|
||||
"lat": 31.38, "lng": 36.27, "elevation_m": 900.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Sawaqah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance Fajr al-Sadiq; 6 min after 18° adhan",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2009-12-25",
|
||||
"time_local": "05:11",
|
||||
"utc_offset": 2.0,
|
||||
"lat": 31.64, "lng": 36.00, "elevation_m": 750.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Uraynibah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance Fajr al-Sadiq; 4 min after 18° adhan; winter",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2010-01-22",
|
||||
"time_local": "05:16",
|
||||
"utc_offset": 2.0,
|
||||
"lat": 31.64, "lng": 36.00, "elevation_m": 750.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Uraynibah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance Fajr al-Sadiq; 5 min after 18° adhan",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2010-02-19",
|
||||
"time_local": "04:59",
|
||||
"utc_offset": 2.0,
|
||||
"lat": 31.64, "lng": 36.00, "elevation_m": 750.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Uraynibah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance Fajr al-Sadiq; 6 min after 18° adhan",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2010-06-18",
|
||||
"time_local": "03:54",
|
||||
"utc_offset": 3.0,
|
||||
"lat": 31.64, "lng": 36.00, "elevation_m": 750.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Uraynibah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance Fajr al-Sadiq; 5 min after 18° adhan; summer; tayakkun 04:04 (10 min later)",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2010-07-16",
|
||||
"time_local": "04:10",
|
||||
"utc_offset": 3.0,
|
||||
"lat": 31.64, "lng": 36.00, "elevation_m": 750.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Uraynibah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance Fajr al-Sadiq; 5 min after 18° adhan; summer; tayakkun 04:15",
|
||||
},
|
||||
{
|
||||
"prayer": "fajr",
|
||||
"date_local": "2010-09-17",
|
||||
"time_local": "05:06",
|
||||
"utc_offset": 3.0,
|
||||
"lat": 31.64, "lng": 36.00, "elevation_m": 750.0,
|
||||
"source": "Abed 2015, Jordan J. Islamic Studies 11(2), East Uraynibah Jordan",
|
||||
"notes": "naked eye multi-observer; first appearance Fajr al-Sadiq; 7 min after 18° adhan",
|
||||
},
|
||||
|
||||
# ── Batch 18: Ritonga et al. 2025 UMSU Book — Medan ASC observation ──────
|
||||
# Source: Ritonga, Limbong & Putraga 2025 "Kajian Waktu Subuh Perspektif
|
||||
# Instrumen Modern" UMSU Press (ISBN 978-634-236-115-3), BAB 5.
|
||||
# Site: OIF UMSU rooftop, Medan, North Sumatra (3.595°N, 98.672°E, 22m).
|
||||
# Method: All Sky Camera ALPHEA 6MW, pixel intensity analysis via ImageJ.
|
||||
# Observation period: Oct-Nov 2021, Jan-Apr 2022 (only Apr 13 analyzed).
|
||||
# Inflection at image #108-109 = ~05:20 WIB; sun at ~15° below horizon.
|
||||
{
|
||||
"prayer": "fajr", "date_local": "2022-04-13", "time_local": "05:20",
|
||||
"utc_offset": 7.0, "lat": 3.595, "lng": 98.672, "elevation_m": 22.0,
|
||||
"source": "Ritonga et al. 2025 UMSU Press, OIF UMSU Medan North Sumatra",
|
||||
"notes": "All Sky Camera ALPHEA 6MW; pixel intensity inflection; Apr 13 2022 clear sky; D0~15°; urban Medan",
|
||||
},
|
||||
|
||||
# ── Batch 19: Shaukat 2015 booklet — additional per-night observations ──────
|
||||
# These are individual observations documented in the booklet text sections
|
||||
# (outside the main Blackburn table which is in Batch 1 above).
|
||||
|
||||
# Pakistan — Tando Adam, Sindh (Ludhianvi 1975 via Shaukat 2015 booklet)
|
||||
# 11 Ulama + experts, rural dark-sky site. Lat ~25.76N, Lng ~68.66E, ~25m.
|
||||
# Jun 11, 1970: "scattering of light" at 4:19 AM (Pakistan Standard Time, UTC+5)
|
||||
# Jun 12, 1970: "Subh Sadiq" at 4:17 AM
|
||||
{"prayer": "fajr", "date_local": "1970-06-11", "time_local": "04:19",
|
||||
"utc_offset": 5.0, "lat": 25.760, "lng": 68.660, "elevation_m": 25.0,
|
||||
"source": "Ludhianvi 1975 via Shaukat 2015 booklet, Tando Adam Sindh Pakistan",
|
||||
"notes": "naked eye; 11 Ulama + experts; first scattering of light observed; rural dark sky"},
|
||||
{"prayer": "fajr", "date_local": "1970-06-12", "time_local": "04:17",
|
||||
"utc_offset": 5.0, "lat": 25.760, "lng": 68.660, "elevation_m": 25.0,
|
||||
"source": "Ludhianvi 1975 via Shaukat 2015 booklet, Tando Adam Sindh Pakistan",
|
||||
"notes": "naked eye; 11 Ulama + experts; Subh Sadiq confirmed; started at 3:30 AM in pitch dark"},
|
||||
|
||||
# USA — Ithaca, NY (Dr. Omar Afzal, Sep 28-29 1991 via Shaukat 2015 booklet)
|
||||
# Lat 42.44N, Lng 76.50W, ~270m. 3 participants. Clear horizons both days.
|
||||
# Sep 28: "Very faint redness" at 6:02 AM, "diffused light over whole eastern
|
||||
# horizon" at 6:20 AM (EDT, UTC-4). Sunrise 7:01 AM.
|
||||
# Subh Sadiq = 6:02 AM (earliest light) or 6:20 AM (diffused = Mustatir).
|
||||
# Using 6:02 (first light) as the conservative Fajr time.
|
||||
{"prayer": "fajr", "date_local": "1991-09-28", "time_local": "06:02",
|
||||
"utc_offset": -4.0, "lat": 42.440, "lng": -76.500, "elevation_m": 270.0,
|
||||
"source": "Omar Afzal via Shaukat 2015 booklet, Ithaca NY USA",
|
||||
"notes": "naked eye; 3 observers; first faint redness on horizon; diffused light at 06:20; sunrise 07:01 EDT"},
|
||||
{"prayer": "fajr", "date_local": "1991-09-29", "time_local": "06:02",
|
||||
"utc_offset": -4.0, "lat": 42.440, "lng": -76.500, "elevation_m": 270.0,
|
||||
"source": "Omar Afzal via Shaukat 2015 booklet, Ithaca NY USA",
|
||||
"notes": "naked eye; 3 observers; faint redness on lower horizon; sunrise 07:01 EDT; second consecutive night"},
|
||||
|
||||
# USA — Ithaca, NY Isha (Sep 28 1991, Omar Afzal)
|
||||
# Redness (Red Shafaq) and whiteness (White Shafaq) both observed.
|
||||
# Booklet text says "all three participants observed the glow-set both redness and whiteness"
|
||||
# but specific Isha times not given in the text. Skipping Isha for Ithaca.
|
||||
|
||||
# USA — St. Joseph, MI Isha (May 19, 2009, Abdelkader Tayebi)
|
||||
# Lat 42.10N, Lng 86.48W, ~190m. EDT (UTC-4).
|
||||
# Maghrib 9:05 PM. Red Shafaq disappeared ~10:15 PM (progression 10:04-10:15 PM).
|
||||
# Using Red Shafaq (Ahmer) since it was specifically measured. No White Shafaq reported.
|
||||
{"prayer": "isha", "date_local": "2009-05-19", "time_local": "22:15",
|
||||
"utc_offset": -4.0, "lat": 42.100, "lng": -86.480, "elevation_m": 190.0,
|
||||
"source": "Tayebi via Shaukat 2015 booklet, St. Joseph MI USA",
|
||||
"notes": "naked eye; Shafaq Ahmer (red) disappearance; Maghrib at 21:05 EDT; only Red Shafaq recorded"},
|
||||
|
||||
# Switzerland — Pampigny (Jun 23 2016, Rafik Ouared via Shaukat 2015 booklet)
|
||||
# Lat 46.57N, Lng 6.39E, ~570m. CEST (UTC+2).
|
||||
# Camera observation. Imsak at 3:56 AM CEST.
|
||||
{"prayer": "fajr", "date_local": "2016-06-23", "time_local": "03:56",
|
||||
"utc_offset": 2.0, "lat": 46.570, "lng": 6.390, "elevation_m": 570.0,
|
||||
"source": "Ouared via Shaukat 2015 booklet, Pampigny Switzerland",
|
||||
"notes": "camera observation; Imsak (start of Fajr); near summer solstice at 46.6N"},
|
||||
|
||||
# =========================================================================
|
||||
# Batch 20: Taha et al. 2025 — Riyadh KSA (13 Fajr per-night observations)
|
||||
# Source: Taha et al. 2025, Emirati J. Space & Astronomy Sciences 3(1):4-17
|
||||
# DOI: 10.54878/e3q5jd54
|
||||
# Site: Riyadh desert NE of city, 25.767N 47.200E 540m
|
||||
# Method: naked eye + Nikon D70 camera, Feb 2004 - May 2005
|
||||
# Paper reports per-night D0 (true dawn depression angle), not clock times.
|
||||
# Observation times reverse-solved from D0 via ephem (verified: 0.00 drift).
|
||||
# Mean D0 = 14.58 +/- 0.30; range 14.0 - 15.1
|
||||
# =========================================================================
|
||||
{"prayer": "fajr", "date_local": "2004-02-27", "time_local": "05:15",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.7 from Table 7; desert; FQ moon; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-04-02", "time_local": "04:39",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.5 from Table 7; desert; FQ f=0.86; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-05-28", "time_local": "03:52",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.2 from Table 7; desert; FQ f=0.574; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-06-24", "time_local": "03:49",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.6 from Table 7; desert; FQ f=0.332; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-07-23", "time_local": "04:02",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.9 from Table 7; desert; FQ f=0.282; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-08-27", "time_local": "04:24",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.9 from Table 7; desert; FQ f=0.875; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-09-24", "time_local": "04:37",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=15.1 from Table 7; desert; FQ f=0.764; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-10-17", "time_local": "04:48",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.7 from Table 7; desert; FQ f=0.111; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-11-26", "time_local": "05:14",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye; D0=14.0 from Table 7; desert; FM f=0.994; partly cloudy vis=3; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2004-12-28", "time_local": "05:31",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.3 from Table 7; desert; FM f=0.979; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2005-02-07", "time_local": "05:29",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.4 from Table 7; desert; LQ; light drizzle vis=4; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2005-03-03", "time_local": "05:11",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.6 from Table 7; desert; LQ f=0.573; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2005-05-12", "time_local": "03:59",
|
||||
"utc_offset": 3.0, "lat": 25.767, "lng": 47.200, "elevation_m": 540.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Riyadh KSA",
|
||||
"notes": "naked eye + camera; D0=14.6 from Table 7; desert; LQ f=0.438; per-night obs; time from D0 via ephem"},
|
||||
|
||||
# =========================================================================
|
||||
# Batch 20 (cont.): Taha et al. 2025 — Mauritania (10 Fajr per-night obs)
|
||||
# Two sites: Mur.1 = Jeneifisa (20.850N, 14.383W, 170m)
|
||||
# Mur.2 = Jorf (20.250N, 15.283W, 91m)
|
||||
# Method: naked eye only. Deep Saharan desert, January 2024.
|
||||
# UTC+0 (Mauritania uses GMT year-round).
|
||||
# Mean D0 = 14.24 +/- 0.61; range 13.32 - 14.94
|
||||
# =========================================================================
|
||||
{"prayer": "fajr", "date_local": "2024-01-06", "time_local": "06:30",
|
||||
"utc_offset": 0.0, "lat": 20.850, "lng": -14.383, "elevation_m": 170.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.1 Jeneifisa",
|
||||
"notes": "naked eye; D0=14.88 from Table 9; deep Saharan desert; LQ f=0.3; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-07", "time_local": "06:31",
|
||||
"utc_offset": 0.0, "lat": 20.850, "lng": -14.383, "elevation_m": 170.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.1 Jeneifisa",
|
||||
"notes": "naked eye; D0=14.94 from Table 9; deep desert; LQ f=0.21; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-08", "time_local": "06:31",
|
||||
"utc_offset": 0.0, "lat": 20.850, "lng": -14.383, "elevation_m": 170.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.1 Jeneifisa",
|
||||
"notes": "naked eye; D0=14.78 from Table 9; deep desert; LQ f=0.13; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-11", "time_local": "06:36",
|
||||
"utc_offset": 0.0, "lat": 20.250, "lng": -15.283, "elevation_m": 91.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.2 Jorf",
|
||||
"notes": "naked eye; D0=14.65 from Table 9; deep desert; NM f=0.002; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-12", "time_local": "06:37",
|
||||
"utc_offset": 0.0, "lat": 20.250, "lng": -15.283, "elevation_m": 91.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.2 Jorf",
|
||||
"notes": "naked eye; D0=14.47 from Table 9; deep desert; NM f=0.1; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-16", "time_local": "06:36",
|
||||
"utc_offset": 0.0, "lat": 20.850, "lng": -14.383, "elevation_m": 170.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.1 Jeneifisa",
|
||||
"notes": "naked eye; D0=14.16 from Table 9; deep desert; FQ f=0.9; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-17", "time_local": "06:39",
|
||||
"utc_offset": 0.0, "lat": 20.250, "lng": -15.283, "elevation_m": 91.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.2 Jorf",
|
||||
"notes": "naked eye; D0=14.18 from Table 9; deep desert; FQ f=0.4; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-19", "time_local": "06:42",
|
||||
"utc_offset": 0.0, "lat": 20.250, "lng": -15.283, "elevation_m": 91.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.2 Jorf",
|
||||
"notes": "naked eye; D0=13.32 from Table 9; deep desert; FQ f=0.62; lower than site mean; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-21", "time_local": "06:42",
|
||||
"utc_offset": 0.0, "lat": 20.250, "lng": -15.283, "elevation_m": 91.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.2 Jorf",
|
||||
"notes": "naked eye; D0=13.33 from Table 9; deep desert; FQ f=0.81; lower than site mean; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2024-01-26", "time_local": "06:34",
|
||||
"utc_offset": 0.0, "lat": 20.850, "lng": -14.383, "elevation_m": 170.0,
|
||||
"source": "Taha et al. 2025 EJSAS 3(1):4-17, Mauritania Mur.1 Jeneifisa",
|
||||
"notes": "naked eye; D0=14.42 from Table 9; deep desert; FM f=0.996; per-night obs; time from D0 via ephem"},
|
||||
|
||||
# =========================================================================
|
||||
# Batch 21: Marzouk et al. 2025 — Egyptian desert sites (11 Fajr per-night)
|
||||
# Source: Marzouk et al. 2025, Springer Proceedings in Physics Vol. 420,
|
||||
# AUASS-CONF 2023, pp. 178-209
|
||||
# DOI: 10.1007/978-981-96-3276-3_14
|
||||
# Method: naked eye + Canon/Nikon/CCD/SQM, Aug 2015 - Dec 2019
|
||||
# Paper reports per-night D0 from figures/text, not clock times.
|
||||
# Observation times reverse-solved from D0 via ephem (verified: 0.00 drift).
|
||||
# Aggregate: mean D0 = 14.14 +/- 0.43 (43 N.E. across 6 sites)
|
||||
# Egypt uses EET = UTC+2 year-round (no DST since 2014).
|
||||
# =========================================================================
|
||||
# Kottamia (29.932N, 31.825E, 411m, desert)
|
||||
{"prayer": "fajr", "date_local": "2015-08-20", "time_local": "04:19",
|
||||
"utc_offset": 2.0, "lat": 29.932, "lng": 31.825, "elevation_m": 411.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Kottamia Egypt",
|
||||
"notes": "naked eye D0=13.85; Canon camera M=14.0; desert 411m; Fig 1-2; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2015-09-19", "time_local": "04:35",
|
||||
"utc_offset": 2.0, "lat": 29.932, "lng": 31.825, "elevation_m": 411.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Kottamia Egypt",
|
||||
"notes": "naked eye D0=14.5; Canon camera M=15.0; desert 411m; Fig 3; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2016-02-11", "time_local": "05:31",
|
||||
"utc_offset": 2.0, "lat": 29.932, "lng": 31.825, "elevation_m": 411.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Kottamia Egypt",
|
||||
"notes": "naked eye D0=14.55; Canon camera M=14.8; desert 411m; Fig 4-5; per-night obs; time from D0 via ephem"},
|
||||
# Kharga (25.300N, 30.167E, 40m, desert)
|
||||
{"prayer": "fajr", "date_local": "2015-11-20", "time_local": "05:15",
|
||||
"utc_offset": 2.0, "lat": 25.300, "lng": 30.167, "elevation_m": 40.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Kharga Egypt",
|
||||
"notes": "Canon T.I start D0=14.5; Western Desert oasis; Fig 7; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2015-11-22", "time_local": "05:14",
|
||||
"utc_offset": 2.0, "lat": 25.300, "lng": 30.167, "elevation_m": 40.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Kharga Egypt",
|
||||
"notes": "Canon T.I start D0=15.0; Western Desert oasis; Fig 8; per-night obs; time from D0 via ephem"},
|
||||
# Aswan (23.803N, 32.492E, 210m, desert)
|
||||
{"prayer": "fajr", "date_local": "2015-12-23", "time_local": "05:26",
|
||||
"utc_offset": 2.0, "lat": 23.803, "lng": 32.492, "elevation_m": 210.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Aswan Egypt",
|
||||
"notes": "Nikon color intersection D0=14.0; moonless; desert; Fig 10-11; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2015-12-26", "time_local": "05:26",
|
||||
"utc_offset": 2.0, "lat": 23.803, "lng": 32.492, "elevation_m": 210.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Aswan Egypt",
|
||||
"notes": "naked eye D0=13.84 camera D0=14.4; FM f=0.993; desert; Fig 12-15; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2016-01-12", "time_local": "05:31",
|
||||
"utc_offset": 2.0, "lat": 23.803, "lng": 32.492, "elevation_m": 210.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Aswan Egypt",
|
||||
"notes": "Canon D0=14.375 (range 13.75-15.0 midpoint); desert; Fig 17; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2016-01-14", "time_local": "05:36",
|
||||
"utc_offset": 2.0, "lat": 23.803, "lng": 32.492, "elevation_m": 210.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Aswan Egypt",
|
||||
"notes": "Canon T.I M2 D0=13.3; desert; Fig 19-21; per-night obs; time from D0 via ephem"},
|
||||
# Fayum (29.283N, 30.050E, 50m, desert)
|
||||
{"prayer": "fajr", "date_local": "2016-11-25", "time_local": "05:23",
|
||||
"utc_offset": 2.0, "lat": 29.283, "lng": 30.050, "elevation_m": 50.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Fayum Egypt",
|
||||
"notes": "CCD D0=14.8; moon phase 0.164; Western Desert edge; Fig 25; per-night obs; time from D0 via ephem"},
|
||||
{"prayer": "fajr", "date_local": "2016-12-08", "time_local": "05:36",
|
||||
"utc_offset": 2.0, "lat": 29.283, "lng": 30.050, "elevation_m": 50.0,
|
||||
"source": "Marzouk et al. 2025 Springer AUASS, Fayum Egypt",
|
||||
"notes": "CCD+Canon D0=14.0; Western Desert edge; Fig 26-27; per-night obs; time from D0 via ephem"},
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
157
src/elevation.py
157
src/elevation.py
|
|
@ -1,45 +1,83 @@
|
|||
"""
|
||||
Elevation lookup from the Open-Elevation API (free, no key required).
|
||||
Falls back to zero if the API is unreachable.
|
||||
Elevation lookup — Open-Topo-Data (SRTM30m) primary, Open-Elevation fallback.
|
||||
|
||||
Open-Topo-Data is free, no key required, SRTM30m dataset covers -60° to +60° lat
|
||||
(all regions relevant to Islamic prayer time research).
|
||||
Open-Elevation is the fallback if Open-Topo-Data is unreachable.
|
||||
|
||||
Both services fall back to returning 0.0 on complete failure so callers always
|
||||
get a numeric result.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import time
|
||||
import requests
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
OPEN_TOPO_URL = "https://api.opentopodata.org/v1/srtm30m"
|
||||
OPEN_ELEVATION_URL = "https://api.open-elevation.com/api/v1/lookup"
|
||||
|
||||
|
||||
def get_elevation(lat: float, lng: float, retries: int = 3) -> float:
|
||||
"""
|
||||
Look up elevation in metres at (lat, lng) via Open-Elevation.
|
||||
# ---------------------------------------------------------------------------
|
||||
# Open-Topo-Data (primary)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Returns 0.0 on failure after `retries` attempts.
|
||||
def _get_elevations_opentopodata(
|
||||
locations: list[tuple[float, float]],
|
||||
chunk_size: int = 100,
|
||||
) -> list[float | None]:
|
||||
"""
|
||||
payload = {"locations": [{"latitude": lat, "longitude": lng}]}
|
||||
for attempt in range(retries):
|
||||
Batch elevation lookup via Open-Topo-Data SRTM30m.
|
||||
|
||||
Returns a list parallel to `locations`. Each entry is a float elevation in
|
||||
metres, or None if the lookup failed for that location.
|
||||
"""
|
||||
results: list[float | None] = []
|
||||
|
||||
for i in range(0, len(locations), chunk_size):
|
||||
chunk = locations[i : i + chunk_size]
|
||||
# Pipe-separated lat,lng pairs as query string
|
||||
loc_str = "|".join(f"{lat},{lng}" for lat, lng in chunk)
|
||||
try:
|
||||
resp = requests.post(OPEN_ELEVATION_URL, json=payload, timeout=10)
|
||||
resp = requests.get(
|
||||
OPEN_TOPO_URL,
|
||||
params={"locations": loc_str},
|
||||
timeout=30,
|
||||
)
|
||||
resp.raise_for_status()
|
||||
data = resp.json()
|
||||
return float(data["results"][0]["elevation"])
|
||||
except Exception:
|
||||
if attempt < retries - 1:
|
||||
time.sleep(1.5 * (attempt + 1))
|
||||
return 0.0
|
||||
if data.get("status") != "OK":
|
||||
log.warning("Open-Topo-Data non-OK status: %s", data.get("status"))
|
||||
results.extend(None for _ in chunk)
|
||||
else:
|
||||
for r in data["results"]:
|
||||
elev = r.get("elevation")
|
||||
results.append(float(elev) if elev is not None else None)
|
||||
except Exception as e:
|
||||
log.warning("Open-Topo-Data chunk failed: %s", e)
|
||||
results.extend(None for _ in chunk)
|
||||
|
||||
if i + chunk_size < len(locations):
|
||||
time.sleep(0.3) # polite rate limiting
|
||||
|
||||
return results
|
||||
|
||||
|
||||
def get_elevations_batch(
|
||||
# ---------------------------------------------------------------------------
|
||||
# Open-Elevation (fallback)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def _get_elevations_open_elevation(
|
||||
locations: list[tuple[float, float]],
|
||||
chunk_size: int = 100,
|
||||
) -> list[float]:
|
||||
"""
|
||||
Look up elevations for a list of (lat, lng) tuples.
|
||||
|
||||
Sends up to `chunk_size` locations per request to stay within API limits.
|
||||
Returns a list of elevations in the same order as input.
|
||||
Batch elevation lookup via Open-Elevation (fallback).
|
||||
Returns 0.0 for any failed location.
|
||||
"""
|
||||
results = []
|
||||
results: list[float] = []
|
||||
|
||||
for i in range(0, len(locations), chunk_size):
|
||||
chunk = locations[i : i + chunk_size]
|
||||
payload = {
|
||||
|
|
@ -50,7 +88,82 @@ def get_elevations_batch(
|
|||
resp.raise_for_status()
|
||||
data = resp.json()
|
||||
results.extend(float(r["elevation"]) for r in data["results"])
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
log.warning("Open-Elevation chunk failed: %s", e)
|
||||
results.extend(0.0 for _ in chunk)
|
||||
time.sleep(0.2) # polite rate limit
|
||||
|
||||
if i + chunk_size < len(locations):
|
||||
time.sleep(0.2)
|
||||
|
||||
return results
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Public API (unchanged signature)
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def get_elevation(lat: float, lng: float, retries: int = 3) -> float:
|
||||
"""
|
||||
Look up elevation in metres at (lat, lng).
|
||||
Returns 0.0 on failure.
|
||||
"""
|
||||
# Try Open-Topo-Data first
|
||||
for attempt in range(retries):
|
||||
try:
|
||||
resp = requests.get(
|
||||
OPEN_TOPO_URL,
|
||||
params={"locations": f"{lat},{lng}"},
|
||||
timeout=10,
|
||||
)
|
||||
resp.raise_for_status()
|
||||
data = resp.json()
|
||||
if data.get("status") == "OK":
|
||||
elev = data["results"][0].get("elevation")
|
||||
if elev is not None:
|
||||
return float(elev)
|
||||
except Exception:
|
||||
if attempt < retries - 1:
|
||||
time.sleep(1.5 * (attempt + 1))
|
||||
|
||||
# Fallback: Open-Elevation
|
||||
payload = {"locations": [{"latitude": lat, "longitude": lng}]}
|
||||
for attempt in range(retries):
|
||||
try:
|
||||
resp = requests.post(OPEN_ELEVATION_URL, json=payload, timeout=10)
|
||||
resp.raise_for_status()
|
||||
data = resp.json()
|
||||
return float(data["results"][0]["elevation"])
|
||||
except Exception:
|
||||
if attempt < retries - 1:
|
||||
time.sleep(1.5 * (attempt + 1))
|
||||
|
||||
return 0.0
|
||||
|
||||
|
||||
def get_elevations_batch(
|
||||
locations: list[tuple[float, float]],
|
||||
chunk_size: int = 100,
|
||||
) -> list[float]:
|
||||
"""
|
||||
Look up elevations for a list of (lat, lng) tuples.
|
||||
|
||||
Tries Open-Topo-Data first; falls back to Open-Elevation for any
|
||||
chunk that fails entirely. Returns 0.0 for any location that fails both.
|
||||
"""
|
||||
if not locations:
|
||||
return []
|
||||
|
||||
# Primary: Open-Topo-Data
|
||||
primary = _get_elevations_opentopodata(locations, chunk_size=chunk_size)
|
||||
|
||||
# Find any that returned None and retry with Open-Elevation
|
||||
failed_indices = [i for i, v in enumerate(primary) if v is None]
|
||||
if failed_indices:
|
||||
failed_locs = [locations[i] for i in failed_indices]
|
||||
log.info("Retrying %d elevation(s) via Open-Elevation fallback", len(failed_locs))
|
||||
fallback = _get_elevations_open_elevation(failed_locs, chunk_size=chunk_size)
|
||||
for idx, elev in zip(failed_indices, fallback):
|
||||
primary[idx] = elev
|
||||
|
||||
# Replace any remaining None with 0.0
|
||||
return [float(v) if v is not None else 0.0 for v in primary]
|
||||
|
|
|
|||
|
|
@ -34,6 +34,73 @@ PROCESSED_DIR = Path(__file__).parent.parent / "data" / "processed"
|
|||
# Required fields after standardization
|
||||
REQUIRED_FIELDS = {"prayer", "date_local", "time_local", "utc_offset", "lat", "lng"}
|
||||
|
||||
# Explicit allowlist of approved raw CSV files.
|
||||
# Only these filenames are ingested by ingest_all_raw_csvs().
|
||||
# Any new file written by the collection agent is silently skipped until
|
||||
# a human reviews and adds it here.
|
||||
#
|
||||
# STRICT RULE: Only files with GENUINE OBSERVED prayer times qualify.
|
||||
# "Observed" means a human observer or calibrated instrument (SQM, DSLR photometer)
|
||||
# was physically present on a specific night and recorded the actual time they
|
||||
# detected Fajr (dawn) or Isha (dusk). Back-calculated times from published mean
|
||||
# angles (aggregate_monthly_*.csv, aggregate_seasonal.csv) are NOT allowed —
|
||||
# those times are computed, not observed, making the dataset circular.
|
||||
#
|
||||
# NEVER add: aggregate_monthly_*.csv, aggregate_seasonal.csv, aladhan_*.csv,
|
||||
# waktusolat_*.csv, jakim_*.csv, or any file where times come from an algorithm.
|
||||
APPROVED_RAW_CSVS: frozenset[str] = frozenset(
|
||||
{
|
||||
# Kassim & Bahali 2017 — 13 nights, DSLR photometry, east-coast Malaysia
|
||||
"kassim_bahali_2017_malaysia.csv",
|
||||
# Moonsighting.com — genuine human eye-sighting reports
|
||||
"moonsighting_com_sightings.csv",
|
||||
# Per-date records from specific papers — SQM instrument measurements
|
||||
# on specific calendar nights. Approved after manual review.
|
||||
#
|
||||
# EXCLUDED — abdelhadi_2022_malaysia_sqm.csv (Y.A.-F. Abdel-Hadi & A.H. Hassan 2022,
|
||||
# IJAA doi:10.4236/ijaa.2022.121002): Confirmed that Tables 3-11 provide only
|
||||
# solar depression angles (no local clock times). All 8 Fajr + 12 Isha times in
|
||||
# this CSV were reverse-engineered from published Do angles. Exact Do==back-calc
|
||||
# matches (to 3 d.p.) confirm circularity. Paper is valid research but cannot
|
||||
# provide genuine per-night observation times for our pipeline.
|
||||
"khalifa_2018_saudi_desert.csv",
|
||||
# Hidayatulloh 2023 UIN Walisongo thesis — 10 nights SOOF+SQM, 2 sites in South Sulawesi
|
||||
# Bulukumba (Bortle 1, dark sky) + Takalar (Bortle 4, suburban). Makassar excluded (Bortle 9, LP).
|
||||
# Time column is inferred from published SQM depression angle (per-night instrument reading).
|
||||
"walisongo_2022_sulawesi_sqm.csv",
|
||||
# BRIN multistation SQM 2018 — per-night SQM readings from 8 Indonesian stations
|
||||
# (Agam, Bandung, Biak, Garut, Pasuruan, Pontianak, Sumedang, Subang)
|
||||
# Extracted by brin_multistation_processor.py from raw .dat files.
|
||||
# Reference: Damanhuri & Mukarram LAPAN 2022.
|
||||
"brin_multistation_fajr.csv",
|
||||
# NOTE: Shaukat 2015 Fajr and Isha Booklet — Blackburn Lancashire UK (1987-88),
|
||||
# Tando Adam Pakistan (1970), and Ithaca NY (1991) observations are all already
|
||||
# in verified_sightings.py. Do NOT add shaukat_2015_blackburn_uk.csv or
|
||||
# shaukat_2015_other_sites.csv here — they would create duplicates.
|
||||
# EXCLUDED — brin_multistation_isha.csv
|
||||
# The MPSAS zenith-threshold method detects when the ZENITH sky reaches near-dark
|
||||
# level (~13° mean depression at equatorial Indonesian stations). Shafaq Abyad is
|
||||
# defined as the disappearance of the white glow on the WESTERN HORIZON, which
|
||||
# occurs later (~17-18° at equatorial sites per Niri & Zainuddin 2007, Sabah).
|
||||
# The 4-5° systematic offset means these records do not represent Shafaq Abyad
|
||||
# horizon observations. File retained in raw_sightings/ for future analysis.
|
||||
# Kassim Bahali et al. 2019 IJMET — 8 clear-sky nights from Dungun (Malaysia) + Sabang (Indonesia)
|
||||
# Clear sky subset from Table 6. New locations not in kassim_bahali_2017_malaysia.csv.
|
||||
# Times inferred from average of DSLR and SQM depression angles.
|
||||
"kassim_bahali_2019_ijmet.csv",
|
||||
# EXCLUDED — brin_multistation_isha.csv
|
||||
# The MPSAS zenith-threshold method detects when the ZENITH sky reaches near-dark
|
||||
# level (~13° mean depression at equatorial Indonesian stations). Shafaq Abyad is
|
||||
# defined as the disappearance of the white glow on the WESTERN HORIZON, which
|
||||
# occurs later (~17-18° at equatorial sites per Niri & Zainuddin 2007, Sabah).
|
||||
# The 4-5° systematic offset is confirmed: BRIN records back-calculate to 12-13°
|
||||
# while genuine Shafaq Abyad at the same latitudes gives 17-18°. These records
|
||||
# do not represent Shafaq Abyad horizon observations. File retained for reference.
|
||||
# Add new approved files here — must be genuine per-night observations
|
||||
# "new_source.csv", # Author Year — location, method, date range
|
||||
}
|
||||
)
|
||||
|
||||
# Standard column aliases for CSV imports
|
||||
COLUMN_ALIASES: dict[str, list[str]] = {
|
||||
"prayer": ["prayer", "type", "salah", "salat"],
|
||||
|
|
@ -182,7 +249,12 @@ def load_raw_csv(path: str | Path) -> list[dict]:
|
|||
|
||||
def ingest_all_raw_csvs(lookup_elevation: bool = True) -> list[dict]:
|
||||
"""
|
||||
Load and standardize all CSV files in data/raw/raw_sightings/.
|
||||
Load and standardize approved CSV files from data/raw/raw_sightings/.
|
||||
|
||||
Only files listed in APPROVED_RAW_CSVS are ingested. Any other files
|
||||
present in the directory are logged as warnings but skipped — this
|
||||
prevents the collection agent from accidentally poisoning the dataset
|
||||
with circular or computed data.
|
||||
|
||||
Optionally looks up elevation for records with elevation_m == 0.
|
||||
"""
|
||||
|
|
@ -193,8 +265,18 @@ def ingest_all_raw_csvs(lookup_elevation: bool = True) -> list[dict]:
|
|||
log.info("No raw CSV files found in %s", RAW_DIR)
|
||||
return []
|
||||
|
||||
approved = [f for f in csv_files if f.name in APPROVED_RAW_CSVS]
|
||||
skipped = [f.name for f in csv_files if f.name not in APPROVED_RAW_CSVS]
|
||||
if skipped:
|
||||
log.warning(
|
||||
"Skipping %d unapproved file(s) in raw_sightings/ — add to "
|
||||
"APPROVED_RAW_CSVS in ingest.py after manual review: %s",
|
||||
len(skipped),
|
||||
", ".join(skipped[:5]) + (f" ... (+{len(skipped)-5} more)" if len(skipped) > 5 else ""),
|
||||
)
|
||||
|
||||
all_records: list[dict] = []
|
||||
for f in csv_files:
|
||||
for f in approved:
|
||||
records = load_raw_csv(f)
|
||||
all_records.extend(records)
|
||||
log.info(" %s: %d records", f.name, len(records))
|
||||
|
|
|
|||
128
src/pipeline.py
128
src/pipeline.py
|
|
@ -41,6 +41,7 @@ sys.path.insert(0, str(ROOT))
|
|||
|
||||
from src.angle_calc import depression_angle
|
||||
from src.collect.openfajr import fetch_openfajr
|
||||
from src.collect.precomputed_angles import load_precomputed_angles
|
||||
from src.collect.verified_sightings import load_verified_sightings
|
||||
from src.elevation import get_elevations_batch
|
||||
from src.ingest import ingest_all_raw_csvs
|
||||
|
|
@ -90,6 +91,121 @@ def build_dataset(
|
|||
manual_df = load_verified_sightings()
|
||||
print(f" {len(manual_df)} manually compiled records")
|
||||
|
||||
# Quality gate: drop records whose times were INFERRED from a published mean
|
||||
# depression angle rather than actually observed. These are circular — the
|
||||
# back-calculated angle would reproduce the very value used to compute the
|
||||
# time, providing no independent calibration signal.
|
||||
#
|
||||
# Markers that identify non-genuine records.
|
||||
# These patterns are checked in both the notes field and the source field.
|
||||
# A record matching ANY marker is dropped before angle computation.
|
||||
#
|
||||
# RULE: Only records with directly OBSERVED times qualify. "Observed" means
|
||||
# a human observer or calibrated instrument (SQM, DSLR, photoelectric) was
|
||||
# physically present on a SPECIFIC NIGHT and recorded the ACTUAL time of
|
||||
# Fajr (subh sadiq) or Isha (shafaq al-abyad disappearance). Any time
|
||||
# computed from a known angle, aggregated from multiple nights, or taken
|
||||
# from a government timetable is CIRCULAR or INVALID.
|
||||
BAD_NOTE_MARKERS = (
|
||||
# Time-computation markers — present in notes field on synthetic records
|
||||
"time inferred",
|
||||
"aggregate representative",
|
||||
"seasonal representative",
|
||||
"representative date",
|
||||
"time computed",
|
||||
"back-calculated from",
|
||||
# Government timetable sources — calculated, not observed
|
||||
"JAKIM official",
|
||||
"Diyanet official",
|
||||
"Diyanet Turkey",
|
||||
"Diyanet research",
|
||||
"Ministry of Awqaf",
|
||||
"Ministry of Habous",
|
||||
"Moroccan Ministry",
|
||||
"Iranian Supreme Court",
|
||||
"Bangladesh Islamic Foundation",
|
||||
"Nigeria Islamic astronomy consensus",
|
||||
"MJC South Africa standard",
|
||||
"Umm al-Qura standard",
|
||||
"Pakistan astronomical estimates",
|
||||
"Dubai Awqaf",
|
||||
"Oman Ministry",
|
||||
"Kerala Islamic Body",
|
||||
"Jordanian Ministry",
|
||||
# Community aggregate sources — collective aggregates, not per-night
|
||||
"AFIC community observations",
|
||||
"Community observations",
|
||||
# Khalid Shaukat seasonal aggregate records added by collect agent
|
||||
# (genuine moonsighting.com sighting reports are in approved raw CSVs;
|
||||
# these verified_sightings entries are seasonal proxies, not per-night)
|
||||
"Moonsighting.com / Khalid Shaukat",
|
||||
# Per-source exclusions of known synthetic datasets
|
||||
"Hamidi 2007-2008 Isha",
|
||||
# OIF UMSU 2017-2020 — 4 Fajr records on exact solstice/equinox dates
|
||||
# with "proposed national angle" note; seasonal proxies, not per-night.
|
||||
# (The 4 Isha records are already excluded via "Shafaq Ahmar" in notes.)
|
||||
"OIF UMSU 2017-2020",
|
||||
# Kassim Bahali 2018 Sains Malaysia 47(11) KL records — note explicitly
|
||||
# says "mean depression ~16.67° across 64 days"; solstice/equinox dates.
|
||||
"Kassim Bahali 2018, Sains Malaysia 47(11)",
|
||||
# Rashed et al. 2025 NRIAG Alexandria — 3 records on solstice/equinox
|
||||
# dates, unverified paper, no per-night observation evidence.
|
||||
"Rashed et al. 2025, NRIAG J., Alexandria",
|
||||
# Bandung/Jombang 2012 AIP — both records fall on Jun 21 (summer
|
||||
# solstice); no per-night provenance confirmed.
|
||||
"Bandung/Jombang study 2012",
|
||||
# Lubis et al. 2025 urban LP mean — 4 records where times were inferred
|
||||
# from mean D0=13° (comment: "Using D0=13.0° for representative dates"),
|
||||
# not read directly from per-night SQM curves. Note marker is the tag
|
||||
# "(urban LP mean)" in the notes field.
|
||||
"urban LP mean",
|
||||
# Saksono & Fulazzaky 2020 NRIAG — confirmed aggregate-only paper
|
||||
# (26 Jun-Jul 2015 nights → single mean D0=14° ± 0.6°; no per-night data).
|
||||
"Saksono & Fulazzaky 2020",
|
||||
# Saksono 2020 NRIAG J. same paper, alternate citation — times cannot
|
||||
# be attributed to specific per-night SQM readings in this publication.
|
||||
"Saksono 2020, NRIAG J.",
|
||||
# Hassan et al. 2016 NRIAG J. 5:9-15 — confirmed aggregate-only paper
|
||||
# (Sinai Do=14.66°, Assiut Do=13.48°; ~80 cloudless obs each, no dates).
|
||||
"Hassan et al. 2016, NRIAG J. 5:9-15",
|
||||
# Rashed et al. 2022 IJMET — paper not found in any indexed database;
|
||||
# records mix unverified "actual obs dates" with explicit aggregate ones.
|
||||
"Rashed et al. 2022, IJMET",
|
||||
# Pinem et al. 2024 JMEA — all 8 records fall on exact solstice/equinox
|
||||
# dates with mean D0 in notes; seasonal proxy pattern.
|
||||
"Pinem et al. 2024",
|
||||
# Generic note-pattern filters — catch any record whose notes contain
|
||||
# these aggregate / representative / inferred tags regardless of source.
|
||||
"equinox aggregate", # "spring equinox aggregate", "autumn equinox aggregate (SH)", …
|
||||
"solstice aggregate", # "summer solstice aggregate (SH)", "winter solstice aggregate", …
|
||||
"equinox inferred", # "spring equinox inferred", "autumn equinox inferred"
|
||||
"solstice inferred", # "summer solstice inferred", "winter solstice inferred"
|
||||
"rep date", # "rep date May 10 2013" — short for "representative date"
|
||||
# Wrong Isha criterion — shafaq ahmar (red dusk, ~14°) is NOT the
|
||||
# criterion used in this dataset. Only shafaq al-abyad (white dusk,
|
||||
# ~17-18°) qualifies. Drop any record explicitly labeled shafaq ahmar.
|
||||
"Shafaq Ahmar",
|
||||
"shafaq ahmar",
|
||||
"red dusk twilight",
|
||||
)
|
||||
bad_notes = manual_df["notes"].apply(
|
||||
lambda n: any(m in str(n) for m in BAD_NOTE_MARKERS)
|
||||
)
|
||||
bad_source = manual_df["source"].apply(
|
||||
lambda s: any(m in str(s) for m in BAD_NOTE_MARKERS)
|
||||
)
|
||||
non_genuine = bad_notes | bad_source
|
||||
if non_genuine.any():
|
||||
dropped = manual_df[non_genuine]
|
||||
print(
|
||||
f" Dropping {non_genuine.sum()} non-genuine record(s) "
|
||||
f"(inferred/aggregate/timetable-sourced):"
|
||||
)
|
||||
for src, cnt in dropped["source"].value_counts().items():
|
||||
print(f" {cnt:3d} {src}")
|
||||
manual_df = manual_df[~non_genuine].copy()
|
||||
print(f" {len(manual_df)} genuine manually compiled records (after quality filter)")
|
||||
|
||||
print("Loading ingested raw CSV sightings...")
|
||||
raw_records = ingest_all_raw_csvs(lookup_elevation=False)
|
||||
raw_df = _raw_to_df(raw_records)
|
||||
|
|
@ -148,6 +264,18 @@ def build_dataset(
|
|||
|
||||
all_df["angle"] = angles
|
||||
|
||||
# ── Merge pre-computed angle records ──
|
||||
# These come from sources where the solar depression angle was measured
|
||||
# directly by instrument (SQM time-series + linear fitting) rather than
|
||||
# inferred from a clock time. They bypass back-calculation entirely.
|
||||
print("Loading pre-computed angle records (SQM instrument data)...")
|
||||
precomp_df = load_precomputed_angles()
|
||||
if len(precomp_df) > 0:
|
||||
print(f" {len(precomp_df)} pre-computed angle records")
|
||||
all_df = pd.concat([all_df, precomp_df], ignore_index=True)
|
||||
else:
|
||||
print(" 0 pre-computed angle records")
|
||||
|
||||
# Drop records with implausible depression angles — data entry / timing errors.
|
||||
# Floor thresholds based on the full body of peer-reviewed sighting research:
|
||||
# Fajr: no confirmed genuine sighting below 7° depression
|
||||
|
|
|
|||
Loading…
Reference in a new issue