<p>I'm using <a href="https://github.com/Bill-Gray/jpl_eph" rel="noreferrer">https://github.com/Bill-Gray/jpl_eph</a> for a personal project to read JPL DE files, namely DE430 and the more recent DE440. This generally works great and when tested against a reference implementation the output shows the correct vectors for location and velocity.</p>
<p>I am puzzled as to what time scale I should use for the DE files or more specifically, how I can convert the time scale that I have available (UTC) to the required TDB.</p>
<p>I read <a href="https://www.iausofa.org/sofa_ts_c.pdf" rel="noreferrer">SOFA</a>, <a href="https://rhodesmill.org/skyfield/time.html#uniform-time-scales-tai-tt-and-tdb" rel="noreferrer">explanations in the docs of Skyfield</a> and <a href="https://gssc.esa.int/navipedia/index.php/Transformations_between_Time_Systems" rel="noreferrer">https://gssc.esa.int/navipedia/index.php/Transformations_between_Time_Systems</a> and have built a beginner's understanding of the time scales and their differences.</p>
<p>Question 1: My understanding is that DE430 and later version require TDB as input variable. Is my current working assumption correct that I can therefore take a time in UTC, add the appropriate number of leap-seconds that have been inserted since 1972 to arrive at TAI, add 32.184s to arrive at TT and use the approximate formula shown <a href="https://gssc.esa.int/navipedia/index.php/Transformations_between_Time_Systems#TDT_-_TDB.2C_TCB" rel="noreferrer">here</a> to arrive at an approximation of TDB? <br/> I would then convert this to Julian days and use as input to DE430?</p>
<p>Question 2: How do I do this for dates before 1972? I should mention that like any beginner, I have stumbled over <span class="math-container">$${\Delta}T = TT - UT$$</span> and historical records of it, but this seems to be the difference between UT (or UT1) rather than UTC. I think this is where I have the biggest confusion. Can I use records of <span class="math-container">${\Delta}T$</span> available at the IERS to arrive at the correct TT (and use that to calculate TDB)? If so, how?</p>
<p>Question 3: Setting JPL DE aside for a moment, I've also came across other ephemeris like Brown's theory of the motion of the Moon, VSOP87 (and newer) or Newcombe's table of the sun and was wondering what time scale they require as input? I read an explanation given for VSOP87 and it seems to require TT, but what about the Improved Lunar Ephemeris?</p>

CC BY-SA 4.0
2022-08-20T16:48:41.417Z
You need a "leap second kernel", https://naif.jpl.nasa.gov/pub/naif/generic_kernels/lsk/
Barry Carter
CC BY-SA 4.0
2022-08-20T21:30:57.057Z
What sort of accuracy are you needing ? In general, unless you are doing ultra-precise work, you can use `TT~TDB` as close enough as per the [SLALIB](http://star-www.rl.ac.uk/docs/sun67.htx/sun67ss154.html#Q1-158-946) (precursor to SOFA). If you want the full precision, look at DE440t which has the TT-TDB transformation in it and you can iterate until convergence (start with just TT, see what TT-TDB that gives you for the date, add to your date and feed back in to get a refined TT-TDB value). This then only needs a leapsecond table for the UTC-TT part
astrosnapper
CC BY-SA 4.0
2022-08-20T22:47:53.613Z
The only thing I understood of this question is that time is way more complicated that I ever imagined XD. This reminds me of https://xkcd.com/1882/
Prallax
CC BY-SA 4.0
2022-08-20T22:52:26.027Z
Also the fact that you call it "beginners question" makes me shiver
Prallax
CC BY-SA 4.0
2022-08-20T23:14:35.103Z
You're assumptions are correct about the conversions, SOFA has a more extensive TDB estimate, and as mentioned above some of the DE have an even more extensive conversion.  Additionally, some systems are now using Barycentric Coordinate Time (TCB) to be even more accurate than TDB.  For what to use with each one, you should consult the publication accompanying each.  Generally, JPL DE use TDB, and VSOP87 isn't accurate enough to warrant a conversion from TT.
Greg Miller
CC BY-SA 4.0
2022-08-21T07:24:09.547Z
For the exact conversion of UTC to JPL's $T_{eph}$, see pages 2 to 4 of [The JPL Planetary and Lunar Ephemerides DE440 and DE441](https://iopscience.iop.org/article/10.3847/1538-3881/abd414), Ryan S. Park et al. Warning: that equation is seriously scary. ;)
PM 2Ring
CC BY-SA 4.0
2022-08-21T07:41:58.377Z
Here's the [IETF leap seconds list](https://raw.githubusercontent.com/eggert/tz/main/leap-seconds.list) (human & machine readable). Here's my [Python code](https://gist.github.com/PM2Ring/9dc0fa6a39dafb88b9e30f514b0dfead#file-leap-seconds-py) to read it.
PM 2Ring
CC BY-SA 4.0
2022-08-21T07:48:41.583Z
@Prallax See https://physics.stackexchange.com/a/402062/123208 Steve has a lot more info about time scales on https://www.ucolick.org/~sla/leapsecs/
PM 2Ring
CC BY-SA 4.0
2022-08-21T09:50:47.477Z
@GregMiller - thank you. What about any dates before 1972? Ignoring the small difference between TDB and TT, is the difference between UTC and TT constant for any date before 1972?
zero0cool
CC BY-SA 4.0
2022-08-21T09:54:50.647Z
@PM2Ring - thanks! Fully agree on the scariness of the equation :)
zero0cool
CC BY-SA 4.0
2022-08-21T10:10:39.587Z
Before 1972? It's a bit messy... See https://hpiers.obspm.fr/iers/bul/bulc/TimeSteps.history Steve Allen gives the gory details in https://www.ucolick.org/~sla/leapsecs/timescales.html
PM 2Ring
CC BY-SA 4.0
2022-08-29T16:28:56.910Z
I strongly recommend the Python `astropy` module, which is quickly becoming the standard used by working astronomers.  It provides a [Time class](https://docs.astropy.org/en/stable/time/index.html) for working with all sorts of time standards and an [interface for JPL ephemerides](https://docs.astropy.org/en/stable/coordinates/solarsystem.html).
Paul T.
<ephemeris>
Beginners question about time scales
zero0cool
# Beginners question about time scales

(Asked by: username_0 on 2022-08-20)

I'm using <https://github.com/Bill-Gray/jpl_eph> for a personal project to read JPL DE files, namely DE430 and the more recent DE440. This generally works great and when tested against a reference implementation the output shows the correct vectors for location and velocity.

I am puzzled as to what time scale I should use for the DE files or more specifically, how I can convert the time scale that I have available (UTC) to the required TDB.

I read [SOFA](https://www.iausofa.org/sofa_ts_c.pdf), [explanations in the docs of Skyfield](https://rhodesmill.org/skyfield/time.html#uniform-time-scales-tai-tt-and-tdb) and <https://gssc.esa.int/navipedia/index.php/Transformations_between_Time_Systems> and have built a beginner's understanding of the time scales and their differences.

Question 1: My understanding is that DE430 and later version require TDB as input variable. Is my current working assumption correct that I can therefore take a time in UTC, add the appropriate number of leap-seconds that have been inserted since 1972 to arrive at TAI, add 32.184s to arrive at TT and use the approximate formula shown [here](https://gssc.esa.int/navipedia/index.php/Transformations_between_Time_Systems#TDT_-_TDB.2C_TCB) to arrive at an approximation of TDB?   
 I would then convert this to Julian days and use as input to DE430?

Question 2: How do I do this for dates before 1972? I should mention that like any beginner, I have stumbled over $${\Delta}T = TT - UT$$ and historical records of it, but this seems to be the difference between UT (or UT1) rather than UTC. I think this is where I have the biggest confusion. Can I use records of ${\Delta}T$ available at the IERS to arrive at the correct TT (and use that to calculate TDB)? If so, how?

Question 3: Setting JPL DE aside for a moment, I've also came across other ephemeris like Brown's theory of the motion of the Moon, VSOP87 (and newer) or Newcombe's table of the sun and was wondering what time scale they require as input? I read an explanation given for VSOP87 and it seems to require TT, but what about the Improved Lunar Ephemeris?

**Tags:** ephemeris

> **Comments:**
> **username_1**: You need a "leap second kernel", https://naif.jpl.nasa.gov/pub/naif/generic_kernels/lsk/  
> **username_2**: What sort of accuracy are you needing ? In general, unless you are doing ultra-precise work, you can use `TT~TDB` as close enough as per the [SLALIB](http://star-www.rl.ac.uk/docs/sun67.htx/sun67ss154.html#Q1-158-946) (precursor to SOFA). If you want the full precision, look at DE440t which has the TT-TDB transformation in it and you can iterate until convergence (start with just TT, see what TT-TDB that gives you for the date, add to your date and feed back in to get a refined TT-TDB value). This then only needs a leapsecond table for the UTC-TT part  
> **username_3**: The only thing I understood of this question is that time is way more complicated that I ever imagined XD. This reminds me of https://xkcd.com/1882/  
> **username_3**: Also the fact that you call it "beginners question" makes me shiver  
> **username_4**: You're assumptions are correct about the conversions, SOFA has a more extensive TDB estimate, and as mentioned above some of the DE have an even more extensive conversion.  Additionally, some systems are now using Barycentric Coordinate Time (TCB) to be even more accurate than TDB.  For what to use with each one, you should consult the publication accompanying each.  Generally, JPL DE use TDB, and VSOP87 isn't accurate enough to warrant a conversion from TT.  
> **username_5**: For the exact conversion of UTC to JPL's $T_{eph}$, see pages 2 to 4 of [The JPL Planetary and Lunar Ephemerides DE440 and DE441](https://iopscience.iop.org/article/10.3847/1538-3881/abd414), Ryan S. Park et al. Warning: that equation is seriously scary. ;)  
> **username_5**: Here's the [IETF leap seconds list](https://raw.githubusercontent.com/eggert/tz/main/leap-seconds.list) (human & machine readable). Here's my [Python code](https://gist.github.com/PM2Ring/9dc0fa6a39dafb88b9e30f514b0dfead#file-leap-seconds-py) to read it.  
> **username_5**: @username_3 See https://physics.stackexchange.com/a/402062/123208 Steve has a lot more info about time scales on https://www.ucolick.org/~sla/leapsecs/  
> **username_0**: @GregMiller - thank you. What about any dates before 1972? Ignoring the small difference between TDB and TT, is the difference between UTC and TT constant for any date before 1972?  
> **username_0**: @PM2Ring - thanks! Fully agree on the scariness of the equation :)  
> **username_5**: Before 1972? It's a bit messy... See https://hpiers.obspm.fr/iers/bul/bulc/TimeSteps.history Steve Allen gives the gory details in https://www.ucolick.org/~sla/leapsecs/timescales.html  
> **username_6**: I strongly recommend the Python `astropy` module, which is quickly becoming the standard used by working astronomers.  It provides a [Time class](https://docs.astropy.org/en/stable/time/index.html) for working with all sorts of time standards and an [interface for JPL ephemerides](https://docs.astropy.org/en/stable/coordinates/solarsystem.html).  

---

## 0 answers

