# Is SGP4 propagation necessarily more accurate near the epoch chosen for TLE generation?

This interesting answer includes a quote from Space-Track:

From Space-Track.Org FAQ

TLEs can contain future epochs.

About 20 satellites are categorized as "multi-day objects" because their period is so large. Consequently, our data provider propagates the epoch into the future based on perigee to enable better tracking by available sensors when the object finally comes back into view. (emphasis added)

An example is Object 10370 with a 5683.23 minute period.

The epoch could, technically, potentially, be in the past or the future by quite a lot, as long as the satellite isn't falling too quickly, since the SGP4 algorithm propagation is predictable and deterministic.

In other words, the epoch could be next year, as long as when you run a recent, supported SPG4 propagator it produces a fairly accurate answer now. However, most people interpret the epoch as the time of best accuracy, though it doesn't necessarily have to be.

Assuming for the moment that I'm right (always a dangerous assumption) why would "...propagates the epoch into the future based on perigee to enable better tracking by available sensors when the object finally comes back into view." actually be true?

My understanding is that the epoch is just an offset or reference time, and using a well-written SPG4 propagator there is nothing special or particularly accurate in the propagation itself for results close to the epoch time versus far from it, at least mathematically. I am assuming that there is no random number generator, or entropic effect that makes the propagation "fuzzy" or uncertain away from the epoch. If I know a sapcecraft's position at the time $T_1$, I can set the epoch ($T_0$) to last month or last year, and generate a TLE using that epoch that produces the given position when propagating forward to $T_1$.

Is my thinking correct here? Is there really any mathematical basis for the idea that a TLE would be more accurate in the future if the TLE's epoch is chosen to be in the future? I can't see how it would matter, if things are done correctly.

note: peculiarities and caveats related to atmospheric reentry not withstanding.

• This question seems trickier to me than what you may have intended. From the perspective of generating a TLE, the epoch is arbitrary, and the best indication of accuracy is the residue you get between measure or propagated data used for fitting and the fit result, i.e. the propagation you obtain from the generated TLE. If you input several close-by accurate measurements, but chose to generate the TLE with an epoch far from those points, then the time of those points is likely to have much better accuracy than at the epoch of the TLE. – Mefitico Jan 7 at 12:29
• There is, however, another concern with using an epoch that is too far off, which is related partially with numerical accuracy, and partially with the nature of nonlinear fitting processes, because some steps in the SGP4 are akin to a truncated Taylor series, using a far away epoch might rob you of some flexibility in the fitting process, because the values you use fro time since epoch will be much larger ones. – Mefitico Jan 7 at 12:32
• @Mefitico I am having a hard time following what it is you are saying here, partly because it's 1 AM and partly because I don't know what being robbed of flexibility means exactly. If you think this is relevant, why not post an additional answer? That will give you some more room so you don't need to pack as much math into each sentence. Thanks! – uhoh Jan 7 at 16:47
• An example for "being robbed of flexibility", I ask you to fit a function to a series. You know that any function on a closed interval can be fitted with a sum of the type $a_0 + \sum( a_n sin(nx)+b_n cos(nx)$. But, I want you to fit the function to $a_0 + \sum( a_n sin(nx)$ (no cosine). So now, you can perfectly fit an odd function, but will fail miserably to fit an even function. In this case, it's more like if using large TSINCE is akin to me asking you to truncate at a smaller $n$, it might not be relevant, but I expect your to lose accuracy. This is indeed a poor analogy though. – Mefitico Jan 7 at 17:17
• @Mefitico okay I'll think about it more in the morning, and cross my fingers for a better analogy ;-) – uhoh Jan 7 at 17:23

It's somewhat an issue of the cart driving the horse -- TLEs are generated explicitly for the purpose of being an input into the SGP4 propagator. The data used to generate them often comes from propagators or observations far more precise than SGP4.

SGP4 loses accuracy far away from the epoch because it is only an approximation of the full physical behavior and does not consider the full physical effects -- indeed, SGP stands for Simplified General Perturbations.

• It only considers atmospheric drag broadly, assuming a spherical earth with a uniform upper atmosphere and no variation of perigee due to atmospheric drag.
• Ballistic coefficient values are applied on a "best fit" basis from observational data, which sometimes results in physically nonsensical values (e.g., negative Bstar).
• Integration uses a truncated Taylor series, which results in accumulation of error as you move away from the epoch.
• Orbits with periods less than 225 minutes do not include any secular effects from lunar or solar perturbations.
• Non-spherical earth gravity is only accounted for by zonal harmonics up to $J_5$.
• Atmospheric drag terms for objects with a perigee above 220 km are truncated after the quadratic terms.

In sum, SGP4 is designed to trade accuracy for computation speed. Many of the TLEs for which future epochs are available are derived from data and predictors far more accurate than what SGP4 has to offer.

As a particular answer to this question:

Is there really any mathematical basis for the idea that a TLE would be more accurate in the future if the TLE's epoch is chosen to be in the future?

Yes. This is essentially entirely due to the use of truncated Taylor expansions in the equations used to drive SGP4, which have minimum error near the chosen "zero point" (the epoch in this case) and which grow in error as you venture farther away in either direction.

• Great and thoughtful answer, thank you! Addressing the "particular answer to this question" and presuming I am a TLE generating authority and have access to those "propagators or observations far more precise than SGP4", couldn't I construct a TLE that would generate results closest to what my internal propagators predict at a point in the future without necessarily putting the epoch in the future as well? I'm assuming SGP4 is deterministic and so I know precisely how those truncated Taylor expansions etc. behave... – uhoh Jul 30 '18 at 17:11
• so I still don't believe there needs to be any linking between the TLE's epoch, and it's period of best agreement with my in-house propagators. I believe that I could make a TLE that puts SGP4 results at a given point in orbit at time $T_1$ without need to put it's epoch ($T_0$) there as well because SPG4 is absolutely deterministic. I haven't thought through possible discontinuities induced by subroutines that might implement some approximation-switching, the only one of those I know about is the SGP4/SDP4 switchover at 225 minute period. – uhoh Jul 30 '18 at 17:17
• So I'm wondering if by choosing to release TLEs with epochs set days or weeks into the future they are simply indicating the time of best expected accuracy rather than it necessarily being the cause of the best accuracy in the future. There may be an understanding that a TLE's best accuracy is associated with the epoch, so they choose a future epoch simply to flag the TLE as having a longer shelf-life than the average TLE. – uhoh Jul 30 '18 at 17:31
• Just because it is deterministic doesn't mean it is accurate. One other source of error is that the solution of Kepler's equation is not closed-form. It requires an iterative solution, which will always have some error to it. For vehicle operators with precise orbit ephemerides and high accuracy propagators, it's not uncommon to produce daily TLEs for, say, the next two weeks (NASA does this for ISS), just to keep the error down. – Tristan Jul 30 '18 at 18:22
• Effectively, they have a method to convert from a precise orbit ephemeris to a TLE, and they apply that for known snapshots at future times to create successive TLEs. SGP4 isn't that great a propagator -- it's just good enough for most ground users' purposes and it's quick. The orbits that it produces don't reflect reality when you go much beyond a day from the epoch, which is why you need successive updates. – Tristan Jul 30 '18 at 18:25

For practical purposes it is true that SGP4 is deterministic, there are no random number generators, and these days machine and environment-specific numerical errors will likely be negligibly small compared to real, physical errors of the limited SGP4 propagation model.

It is also likely to be true that if my advanced, in-house propagators based on detailed gravitational models, as well as atmospheric models and solar predictions say that next Tuesday a given spacecraft will be at position $\mathbf{x_1}$ at time $T_1$, I could construct a TLE with epoch $T_0$ that will yield position $\mathbf{x_1}$ at time $T_1$ for a variety of different TLE epochs.

Getting SGP4 to return $\mathbf{x_1}$ at $T_1$ does not necessarily require the TLE to have $T_1$ as its epoch.

However what @Tristan may be trying to explain to me is that since SGP4 is somewhat unphysical due to its many approximations, it's results will deviate from physically correct, realistic orbits more, the farther from epoch.

So in order to have results that agree with in-house propagators best over an extended period including both now (when I release my TLE) and the point in the future $T_1$ when I want the TLE I am generating to be useful to users because I won't be releasing the next one for a while, it is necessary to set the epoch in the future.

• The nuance here is that you don't just want accuracy of a single baseline point $x_{SGP4}(T_1) = x(T_1)$. What you want is accuracy within a neighborhood of that point, i.e., for some predefined error $\varepsilon_0 > 0$ and some predefined period of validity $\delta_0 > 0$, you want $\left| x_{SGP4}(T_1 \pm \delta) - x(T_1 \pm \delta) \right| < | \varepsilon_0 |$ when $\delta < \delta_0$ – Tristan Jul 31 '18 at 14:53