mirror of
https://github.com/cosinekitty/astronomy.git
synced 2026-03-30 20:34:16 -04:00
I wondered why my obscuration numbers were less accurate for partial eclipses than for annular eclipses. I considered that the obscuration for an annular eclipse is not sensitive to the relative positions of the Sun and Moon, but it is for a partial eclipse. Looking at the functions MoonShadow and LocalMoonShadow, I realized that I was not correcting the Sun's position for aberration. After fixing that, obscuration values are much more in agreement with authoritative sources. Soon I will study the same issue that exists in EarthShadow, used for lunar eclipse calculations, and PlanetShadow, used for transits. Before correcting for Sun aberration: C GlobalAnnularCase(2023-10-14) obscuration error = 0.00009036, expected = 0.90638000, calculated = 0.90647036 C GlobalAnnularCase(2024-10-02) obscuration error = 0.00005246, expected = 0.86975000, calculated = 0.86980246 C GlobalAnnularCase(2027-02-06) obscuration error = 0.00007237, expected = 0.86139000, calculated = 0.86146237 C GlobalAnnularCase(2028-01-26) obscuration error = 0.00003656, expected = 0.84787000, calculated = 0.84790656 C GlobalAnnularCase(2030-06-01) obscuration error = 0.00008605, expected = 0.89163000, calculated = 0.89171605 C LocalSolarCase(2023-10-14) obscuration diff = 0.00006323, expected = 0.90638000, calculated = 0.90644323 C LocalSolarCase(2023-10-14) obscuration diff = -0.00521043, expected = 0.57800000, calculated = 0.57278957 C LocalSolarCase(2023-10-14) obscuration diff = -0.00542845, expected = 0.88670000, calculated = 0.88127155 C LocalSolarCase(2024-04-08) obscuration diff = 0.00000000, expected = 1.00000000, calculated = 1.00000000 C LocalSolarCase(2024-04-08) obscuration diff = 0.00304558, expected = 0.34000000, calculated = 0.34304558 C LocalSolarCase(2024-10-02) obscuration diff = 0.00007858, expected = 0.86975000, calculated = 0.86982858 C LocalSolarCase(2024-10-02) obscuration diff = -0.00343797, expected = 0.43600000, calculated = 0.43256203 C LocalSolarCase(2030-06-01) obscuration diff = 0.00007259, expected = 0.89163000, calculated = 0.89170259 C LocalSolarCase(2030-06-01) obscuration diff = -0.00059871, expected = 0.67240000, calculated = 0.67180129 C LocalSolarCase(2030-06-01) obscuration diff = -0.00146303, expected = 0.67360000, calculated = 0.67213697 C SolarFractionTest: PASS After correcting for Sun aberration: C GlobalAnnularCase(2023-10-14) obscuration error = 0.00007930, expected = 0.90638000, calculated = 0.90645930 C GlobalAnnularCase(2024-10-02) obscuration error = 0.00006221, expected = 0.86975000, calculated = 0.86981221 C GlobalAnnularCase(2027-02-06) obscuration error = 0.00006058, expected = 0.86139000, calculated = 0.86145058 C GlobalAnnularCase(2028-01-26) obscuration error = 0.00004560, expected = 0.84787000, calculated = 0.84791560 C GlobalAnnularCase(2030-06-01) obscuration error = 0.00007078, expected = 0.89163000, calculated = 0.89170078 C LocalSolarCase(2023-10-14) obscuration diff = 0.00007997, expected = 0.90638000, calculated = 0.90645997 C LocalSolarCase(2023-10-14) obscuration diff = 0.00002298, expected = 0.57800000, calculated = 0.57802298 C LocalSolarCase(2023-10-14) obscuration diff = -0.00101535, expected = 0.88670000, calculated = 0.88568465 C LocalSolarCase(2024-04-08) obscuration diff = 0.00000000, expected = 1.00000000, calculated = 1.00000000 C LocalSolarCase(2024-04-08) obscuration diff = -0.00060338, expected = 0.34000000, calculated = 0.33939662 C LocalSolarCase(2024-10-02) obscuration diff = 0.00006096, expected = 0.86975000, calculated = 0.86981096 C LocalSolarCase(2024-10-02) obscuration diff = -0.00097934, expected = 0.43600000, calculated = 0.43502066 C LocalSolarCase(2030-06-01) obscuration diff = 0.00006606, expected = 0.89163000, calculated = 0.89169606 C LocalSolarCase(2030-06-01) obscuration diff = 0.00019620, expected = 0.67240000, calculated = 0.67259620 C LocalSolarCase(2030-06-01) obscuration diff = -0.00066619, expected = 0.67360000, calculated = 0.67293381 C SolarFractionTest: PASS