Files
astronomy/source
Don Cross b4f7f2c8a3 C: more accurate Sun positions for solar eclipses
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
2022-10-18 12:34:25 -04:00
..