astronomia 1.0.0
astronomia: ^1.0.0 copied to clipboard
Astronomical algorithms in Dart — positions of Sun, Moon, and planets, eclipses, phases, coordinates, magnitudes, and more. Based on Jean Meeus's "Astronomical Algorithms".
1.0.0 #
First stable release. Full audit against Meeus worked examples and the Go/JS reference implementations.
Algorithm fixes:
eqtime.e()— use VSOP87 true position + aberration (wasposition2000without aberration).solardisk.ephemeris()— usetrueVSOP87+ aberration per Meeus Ch. 29.saturnring.ring()— FK5 corrections, aberration, nutation on ring pole, corrected B′.apsisperigee parallax — complete Table 50.A coefficient series (16 missing terms).sidereal.apparent()— new function; fix nutation epoch inapparent0UT.moonphase— book-accurate A1/A7 constants and quarter-phase E factor (from 0.3.3).
Tests: 219 tests, Meeus worked examples tightened to book precision across moon, solar, nutation, sidereal, eqtime, solardisk, apsis, kepler, precess, pluto, julian, globe, and related modules.
0.3.3 #
- Fix moon phase corrections to match Meeus Ch. 49 exactly:
A1 = 299.77°,A7 = 207.14°, and the missingEfactor on the quarter-phase−0.00034 sin(2M′−M)term. - Fix Sun mean anomaly T² coefficient in moon physical ephemeris (
−0.0001535, was−0.0001536). - Tighten moon module tests to book-precision Meeus worked examples (47.a–53.a); 220 tests passing.
0.3.2 #
- Rename VSOP87 data files to
lower_case_with_underscores(fixes 8file_nameslint issues). - Remove unused imports and variables across test files.
- Fix unnecessary brace in string interpolation in
sexagesimal.dart. - Zero
dart analyzeissues.
0.3.1 #
- Add
lib/<module>.dartpublic re-export files for all modules (fixesimplementation_importslint). - Add missing
lib/base.dartre-export, remove emptynodedirectory.
0.3.0 #
- All 56 modules complete — no more stubs.
- Mars physical ephemeris — planetocentric declinations, areographic meridian, position angles, illuminated fraction (Ch. 42).
- Moon physical libration — optical + physical librations, selenographic Sun coordinates, sunrise/sunset on lunar surface, 52-feature catalog (Ch. 53).
- Saturn moons — positions of all 8 major moons (Mimas through Iapetus) in Saturn radii (Ch. 46).
- Planetary conjunctions — Len5 interpolation for planetary and stellar conjunctions (Ch. 18).
- Solar VSOP87 — added
trueVSOP87()andapparentVSOP87()high-accuracy functions. - Public re-export files — every module now has a
lib/<module>.dartre-export. Import aspackage:astronomia/solar.dartinstead of reaching intosrc/. No moreimplementation_importslint. - 216 tests passing.
0.2.0 #
- VSOP87 planetary positions — full heliocentric coordinates for all 8 planets via
planetpositionmodule. - Rise/transit/set — Meeus ch. 15 refined algorithm with 3-day interpolation. Includes
moonTimes()with lunar parallax correction. - Geocentric planet positions —
elliptic.position()with light-time correction, aberration, FK5, nutation. - Equation of time — high-accuracy
e()and simplifiedeSmart(). - Solar disk ephemeris — P, B0, L0 for physical observations of the Sun.
- Saturn ring geometry — B, B', ΔU, P, and ring axes.
- Ecliptic aberration —
apparent.eclipticAberration()for ecliptic coordinates. - Apparent sidereal time —
sidereal.apparent0UT()with nutation correction. - Cleaned up barrel file — non-conflicting foundational exports only, specialized modules imported directly.
- Fixed all lint warnings. 202 tests passing.
0.1.0 #
- Initial release with 45 fully ported modules from Meeus's "Astronomical Algorithms".
- Sun: position, solstices, sunrise/sunset, equation of time.
- Moon: position, phases, illumination, nodes, apsis, max declination.
- Planets: Kepler solvers, orbital elements, conjunctions, oppositions, Pluto.
- Coordinates: ecliptic/equatorial/horizontal/galactic, precession, nutation, parallax, refraction.
- Misc: eclipses, Easter, magnitudes, binary stars, geodesy, angular separation, sundials.
- 12 modules stubbed pending VSOP87 planetary theory data.