I wrote
https://github.com/barrycarter/bcapps/blob/master/STACK/bc-solve-astro-13008.c
to find historical solstices and equinoxes. The full results are at:
https://github.com/barrycarter/bcapps/blob/master/ASTRO/solstices-and-equinoxes.txt.bz2
Accuracy:
- I'm using the EARTH_IAU_1976 precession model and the
EARTH_IAU_1980 nutation and obliquity models, which are
the only models supported by the CSPICE library I'm
using:
http://hesperia.gsfc.nasa.gov/ssw/stereo/gen/exe/icy64/doc/frames.req
This is the same library and the same models NASA uses to
do its own calculations, but the models are known to have
limited accuracy. Quoting "http://aa.usno.navy.mil/faq/docs/SpringPhenom.php":
The times given in the tables are accurate to within two or
three hours for 25 to 5 BCE, and one or two hours for 4 BCE
to 38 CE. The uncertainty in these times arises from the
stochastic, that is unpredictable, change in the Earth's
rotation rate.
The accuracy gets worse the further back OR the further
forward you go: not only don't we know precisely about the
Earth's rotation in the past, but we can't even predict the
Earth's rotation precisely for the future.
Sample output:
EQU 511720269.432607 A.D. 2016-03-20 04:30:01
SOL 519734120.174820 A.D. 2016-06-20 22:34:11
EQU 527826138.004142 A.D. 2016-09-22 14:21:09
SOL 535589116.137776 A.D. 2016-12-21 10:44:07
Format:
The first column indicates whether this is a solstice or an equinox.
The second column is the ephemeris time of the
solstice/equinox. If you're doing serious astronomical
work, this is the column you should use. The approximate definition is the number of seconds since the J2000 epoch. The precise definition as used in CSPICE is: https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/FORTRAN/req/time.html#Ephemeris%20Time%20(ET)
The remaining columns indicate the UTC time of the
solstice/equinox in a more human-readable format:
- The CSPICE libraries assume that the Gregorian
calendar reformation occurred on 4 October 1582
(meaning the day after 4 October 1582 was 15 October
1582). Looking at these lines:
SOL -13191695511.794357 A.D. 1581-12-11 20:07:27
EQU -13183992131.003845 A.D. 1582-03-10 23:57:07
SOL -13175951250.170158 A.D. 1582-06-12 01:31:48
EQU -13167875920.223862 A.D. 1582-09-13 12:40:38
SOL -13160138634.917915 A.D. 1582-12-22 01:55:23
EQU -13152434815.793312 A.D. 1583-03-21 05:52:23
SOL -13144394485.035870 A.D. 1583-06-22 07:17:53
EQU -13136319216.460808 A.D. 1583-09-23 18:25:42
you can see that the dates of the solstices/equinoxes jump
ahead 10 days per the reformation.
The CSPICE libraries use the Julian calendar prior to
4 October 1582. In reality, the Julian calendar was
introduced in 46 BCE:
https://en.wikipedia.org/wiki/Julian_calendar
Prior to 46 BCE, there were other calendar systems in
use, but the CSPICE libraries assume the Julian
calendar goes back indefinitely:
https://en.wikipedia.org/wiki/Proleptic_Julian_calendar
My calculations go back to 13201 BCE (the limits of DE431,
the ephemeris I'm using), and it's possible human beings
weren't even using calendars regularly at the time: quoting
"https://en.wikipedia.org/wiki/History_of_calendars#Prehistory":
A mesolithic arrangement of twelve pits and an arc found in
Warren Field, Aberdeenshire, Scotland, dated to roughly
10,000 years ago, has been described as a lunar calendar
and dubbed the "world's oldest known calendar" in 2013.
Notes:
It takes the Earth 365.256363004 days to revolve around
the Sun with respect to the fixed stars, but the time
between vernal equinoxes is slightly less (365.242190402
days) because the position of the vernal equinox moves
(precesses) with respect to the stars. Source:
http://hpiers.obspm.fr/eop-pc/models/constants.html
The Gregorian calendar's average day length of 365.2425
is much closer to 365.242190402 days than the Julian
calendar's 365.25 average day length, but it's still not
perfect. As noted in
Do solstices and equinoxes shift over time?
if we continue using the Gregorian calendar in the far
future, the equinoxes and solstices will drift
backwards. By 17090 (the limit of DE431), they will look
like this:
EQU 476198945887.238159 A.D. 17090-02-22 08:56:59
SOL 476207018540.040894 A.D. 17090-05-26 19:21:11
EQU 476214808218.146362 A.D. 17090-08-24 23:09:09
SOL 476222655067.609985 A.D. 17090-11-23 18:49:59
about a month behind their "regular" times.
MY EARLIER PARTIAL ANSWER FOR REFERENCE:
Since HORIZONS (http://ssd.jpl.nasa.gov/?horizons) and SPICE (http://naif.jpl.nasa.gov/naif/tutorials.html) can compute the ecliptic and solar position back that far, it should be possible to compute equinoxes and solstices with reasonable accuracy. However, I haven't been able to find a site that actually lists these dates (I'm pretty sure USNO did this at one point, but I can't find their list). Other possibly helpful sources/questions: