0
$\begingroup$

I'm currently developing a javascript application in which I want to calculate the approximate position of the sun. This works quite fine but requires the value for deltaT (TT-UT) to be set depending on the year for which I want to calculate the solar position.

Currently, I'm using a default value of 67 for my calculation. However, since I want to calculate the solar position for several years I'm looking for a convenient way to obtain the deltaT value for each year.

To all of you, that have some experience with programming: Is there any interface (API) that provides me with the desired values? Of course, it would also be sufficient to get the universal and terrestrial time so that I can calculate deltaT on my own.

$\endgroup$
  • $\begingroup$ Errors in Delta T mostly affect calculations of local bodies. Even if one was off 10's of seconds the impact on calculating the Sun's position is miniscule. It's really more useful for things like figuring out the land path of a past or future solar eclipse. $\endgroup$ – doug Nov 27 '16 at 16:32
  • $\begingroup$ Actually, I want to calculate the approximate topographic solar position for georeferenced videos, so that I can roughly estimate the illumination of their contents. In fact, this is working quite good currently. However, since this calculation is done for scientific research I was looking for a more sophisticated solution. But maybe I have to accept this inaccuracy since it seems to be a minor one. Nevertheless, thanks to all of you for answering to my question! $\endgroup$ – TobsenB Nov 30 '16 at 12:57
1
$\begingroup$

See Where can I find/visualize planets/stars/moons/etc positions? for an extremely general answer on how to compute positions, but the files you're looking for specifically are the "leap second kernels" at http://naif.jpl.nasa.gov/pub/naif/generic_kernels/lsk/

There was a mild kerfuffle on spice-discussion lists when NASA failed to update the kernels after the end-of-2016 leap second was announced, but they have updated it now.

$\endgroup$
1
$\begingroup$

The actual equations used by NASA are located here:

https://eclipse.gsfc.nasa.gov/SEcat5/deltatpoly.html

I failed to find any pre-written code and consequently wrote my own in Swift. The equations are fairly straightforward and a list of the possible errors these equations may produce is linked to that page as well.

Here are the polynomials:

Using the ΔT values derived from the historical record and from direct observations (see: Table 1 and Table 2 ), a series of polynomial expressions have been created to simplify the evaluation of ΔT for any time during the interval -1999 to +3000.

We define the decimal year "y" as follows:

    y = year + (month - 0.5)/12

This gives "y" for the middle of the month, which is accurate enough given the precision in the known values of ΔT. The following polynomial expressions can be used calculate the value of ΔT (in seconds) over the time period covered by of the Five Millennium Canon of Solar Eclipses: -1999 to +3000.

Before the year -500, calculate:

    ΔT = -20 + 32 * u^2
    where:  u = (y-1820)/100

Between years -500 and +500, we use the data from Table 1, except that for the year -500 we changed the value 17190 to 17203.7 in order to avoid a discontinuity with the previous formula at that epoch. The value for ΔT is given by a polynomial of the 6th degree, which reproduces the values in Table 1 with an error not larger than 4 seconds:

ΔT = 10583.6 - 1014.41 * u + 33.78311 * u^2 - 5.952053 * u^3
    - 0.1798452 * u^4 + 0.022174192 * u^5 + 0.0090316521 * u^6 
where: u = y/100

Between years +500 and +1600, we again use the data from Table 1 to derive a polynomial of the 6th degree.

ΔT = 1574.2 - 556.01 * u + 71.23472 * u^2 + 0.319781 * u^3
    - 0.8503463 * u^4 - 0.005050998 * u^5 + 0.0083572073 * u^6
where: u = (y-1000)/100

Between years +1600 and +1700, calculate:

ΔT = 120 - 0.9808 * t - 0.01532 * t^2 + t^3 / 7129
where:  t = y - 1600

Between years +1700 and +1800, calculate:

ΔT = 8.83 + 0.1603 * t - 0.0059285 * t^2 + 0.00013336 * t^3 - t^4 / 1174000
where: t = y - 1700

Between years +1800 and +1860, calculate:

ΔT = 13.72 - 0.332447 * t + 0.0068612 * t^2 + 0.0041116 * t^3 - 0.00037436 * t^4 
    + 0.0000121272 * t^5 - 0.0000001699 * t^6 + 0.000000000875 * t^7
where: t = y - 1800

Between years 1860 and 1900, calculate:

ΔT = 7.62 + 0.5737 * t - 0.251754 * t^2 + 0.01680668 * t^3
    -0.0004473624 * t^4 + t^5 / 233174
where: t = y - 1860

Between years 1900 and 1920, calculate:

ΔT = -2.79 + 1.494119 * t - 0.0598939 * t^2 + 0.0061966 * t^3 - 0.000197 * t^4
where: t = y - 1900

Between years 1920 and 1941, calculate:

ΔT = 21.20 + 0.84493*t - 0.076100 * t^2 + 0.0020936 * t^3
where: t = y - 1920

Between years 1941 and 1961, calculate:

ΔT = 29.07 + 0.407*t - t^2/233 + t^3 / 2547
where: t = y - 1950

Between years 1961 and 1986, calculate:

ΔT = 45.45 + 1.067*t - t^2/260 - t^3 / 718
where: t = y - 1975

Between years 1986 and 2005, calculate:

ΔT = 63.86 + 0.3345 * t - 0.060374 * t^2 + 0.0017275 * t^3 + 0.000651814 * t^4 
    + 0.00002373599 * t^5
where: t = y - 2000

Between years 2005 and 2050, calculate:

ΔT = 62.92 + 0.32217 * t + 0.005589 * t^2
where: t = y - 2000

This expression is derived from estimated values of ΔT in the years 2010 and 2050. The value for 2010 (66.9 seconds) is based on a linearly extrapolation from 2005 using 0.39 seconds/year (average from 1995 to 2005). The value for 2050 (93 seconds) is linearly extrapolated from 2010 using 0.66 seconds/year (average rate from 1901 to 2000).

Between years 2050 and 2150, calculate:

ΔT = -20 + 32 * ((y-1820)/100)^2 - 0.5628 * (2150 - y)

The last term is introduced to eliminate the discontinuity at 2050.

After 2150, calculate:

ΔT = -20 + 32 * u^2
where:  u = (y-1820)/100

All values of ΔT based on Morrison and Stephenson [2004] assume a value for the Moon's secular acceleration of -26 arcsec/cy^2. However, the ELP-2000/82 lunar ephemeris employed in the Canon uses a slightly different value of -25.858 arcsec/cy^2. Thus, a small correction "c" must be added to the values derived from the polynomial expressions for ΔT before they can be used in the Canon

c = -0.000012932 * (y - 1955)^2

Since the values of ΔT for the interval 1955 to 2005 were derived independent of any lunar ephemeris, no correction is needed for this period.

$\endgroup$
0
$\begingroup$

I'm not aware of any APIs that provide $\Delta T$, but you may be able to parse https://datacenter.iers.org/eop/-/somos/5Rgv/latest/16 for the value $\Delta T$.

Of course if you want to calculate the approximate position of the Sun, a few second more or less should not matter too much ;-)

$\endgroup$
0
$\begingroup$

A historical table from 1961 to the present of TAI-UTC is maintained here:

ftp://hpiers.obspm.fr/iers/bul/bulc/UTC-TAI.history

Delta T can be calculated by adding 32.184s, the difference between TT and TAI, to the value (TAI-UTC) in the table.

So currently Delta T is about 68 and will likely be 69 in a few years. It's increasing by one every 3 years or so.

However, values of UTC are adjusted with leap seconds so we can use precision clocks that aren't continuously tweaked. UT1 is the precise measure of "Earth" time. You can modify this to reference UT1 using the DUT1 value which is distributed with NIST time signals, WWV etc. It's value is published here:

http://hpiers.obspm.fr/eoppc/bul/buld/bulletind.131

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.