Where each solar eclipse is greatest
Almanac 0.6.0
Release Sky
Almanac 0.6.0 reports where greatest eclipse falls for every solar eclipse on Earth, including partial eclipses, in TypeScript and Swift.
GlobalSolarEclipsegainsgreatestLatitudeDeg,greatestLongitudeDeg, andgreatestObscuration, present for every eclipse. For a total or annular eclipse they equal the ground point. When the Moon's shadow axis misses the Earth, as it does for every partial eclipse and a few non-central annular and total ones, they give the point on the Earth's limb nearest the axis, where the Sun's center is on the geometric horizon, and the fraction of the Sun covered there.latitudeDeg,longitudeDeg, andobscurationkeep their meaning and are stillnullfor a partial eclipse.- Swift's
GlobalSolarEclipsepublic initializer takes the three new values as required arguments, so code that constructs the struct by hand needs updating.
The point is checked against the Espenak Five Millennium Catalog for all 122 eclipses from 1950 through 2100 whose axis misses the Earth, 115 partial and 7 non-central:
| Quantity | Worst residual | Tolerance |
|---|---|---|
| Point against the catalog's whole-degree coordinates | 0.63° | 1° |
| Geometric Sun altitude there | 0.0011° | 0.01° |
| Local search placed there: peak against greatest eclipse | 0.95 s | 2 s |
| Local search placed there: obscuration | about 1e-9 | 1e-6 |
The local search placed at the point also reports the catalog's kind for all 122. The performance comparison showed no regression in either port. Validation includes 178 TypeScript tests, 137 Swift release tests, and the shared fixture and parity checks.
npm install @openwaters/almanac@0.6.0
.package(url: "https://github.com/openwatersio/almanac.git", exact: "0.6.0")
Greatest eclipse for partial solar eclipses: #43, #44, #45.