skyfielders / python-skyfield

Elegant astronomy for Python
MIT License
1.38k stars 208 forks source link

Document that future long-term ∆T is a guess/estimate #871

Open sgbmzm opened 1 year ago

sgbmzm commented 1 year ago

hello Calculation of delta T at the beginning of the year 2023 = +69.1919 Calculation of delta T at the beginning of the year 2600 = +1621.0819 Does that make sense? Or is it a bug? That's a difference of almost half an hour. Thank you!

from skyfield.api import load ts = load.timescale() t = ts.tt(2600, 1, 1, 12, 0) print('{:+.4f}'.format(t.delta_t))

+1621.0819

sgbmzm commented 1 year ago

The problem is that this makes the "equation of time" -28 minutes in 2600 instead of -3.4 minutes in 2023 That's why I woke up to this

brandon-rhodes commented 1 year ago

I will plan on adding a graph of long-term ∆T somewhere in the Skyfield documentation, as an introduction to users who are unfamiliar with its behavior! As you can see from a table of historical ∆T values, a few hundred seconds is to be expected at dates a few hundred years from the present:

https://eclipse.gsfc.nasa.gov/SEhelp/deltat2004.html

Here is a table of formulae; if you would like, try plugging the value 2600 into the formula given near the bottom, and see if the resulting ∆T is close to Skyfield's:

https://eclipse.gsfc.nasa.gov/SEhelp/deltatpoly2004.html

sgbmzm commented 1 year ago

Thank you! The result of the formula there is:

u = (2600-1820)/100 ΔT = -20 + 32 * u**2 ΔT

1926.8799999999999

Still, I understand that this is not clear information but a forecast, and there are still various factors not all of which are known that may affect the value of DELTA-T. Perhaps it should be emphasized in the documentation that this is not certain information but an estimate/hypothesis. (And as I saw in the documentation, there is an option to manually define a different value "If you ever want to specify your own value for ∆T, then provide a delta_t keyword argument when creating your timescale:")