If two more more up to date TLEs have same inclination and the same period they are in the same orbit, but how do I check if they are also following each others path, in a train?

  • $\begingroup$ Hi @justin welcome to Stack Exchange! Thank you for clicking accept but I recommend you don't accept an answer right away. It's possible that other answers will be posted or that someone will find an error in or something missing from my answer. I'd say give it a few days before you click accept. $\endgroup$
    – uhoh
    Aug 25, 2020 at 6:15

1 Answer 1


I'll take a stab a this.

A "train detector" needs only to detect if the orbits have the following four characteristics:

  1. The two spacecraft are actually in orbit at the same time
  2. The two orbits are co-planar
  3. The two orbits have nearly the same shape (eccentricity)
  4. The two orbits have very nearly the same mean motion (orbits per day)

I'll assume that you can check item #1 yourself.

Item #4 requires a judgement because two spacecraft only need to have nearly the same mean motion. It doesn't have to be exact because a slight difference may only cause the "train" to de-phase over months or years, and as long as one of them has some ability to perform occasional orbital station-keeping maneuvers the train can be maintained. So let's just define

$$\delta = \frac{n_2-n_1}{n_2+n_1}$$

and say that $|\delta| < 0.001$ or some similar number. A one part per thousand difference in mean motion in LEO with a period of 90 minutes means the relative phase angle between the two will change by 360 degrees in 60 days or so. The definition is arbitrary and you are welcome to make it tighter; going to 1E-04 gets you to nearly two years.

Item #2 has two criteria:

Both of these also require limits on the differences; they don't need to be exact matches, but only close enough to meet whatever definition of a "space train" you'd like to require. It is important to point out that when the inclinations are different, the orbital planes will precess around Earth's axis at different rates due to Earth's oblateness as express by $J_2$ and the difference in those rates depends on several parameters of each orbit, so you can not treat these separately.

Item #3 has one criteria which is eccentricity, but the effects are complicated. If the Earth's gravitational field were spherically symmetric then different eccentricities with the same mean motion would result in a period oscillation in the distance between the two spacecraft. The nature of that oscillation will depend also on the differences in their arguments of perigee but it will be like a little "dance" between the two. Imagine a slinky train where the relative positions between adjacent "cars" of the train can oscillate.

A very notable subtlety with eccentricity is that there is a second order effect on the relationship between semimajor axis and period. Because Earth's $J_2$ is a quadrupole moment it's strength varies as $1/r^4$ and so a more eccentric orbit of exactly the same semimajor axis will have a shorter period or have a larger mean motion (orbits per day)! For details on that see the excellent answer to Equation for orbital period around oblate bodies, based on J2?

Taken all together, you can see that what seems like a simple problem becomes complicated due to Earth's oblateness and substantial $J_2$ which mixes the effects of tiny differences in each orbital parameter.

The best way forward I can see is to set limits on the four enumerated parameters and then run an SGP4 calculation with edited variations of TLEs in the hypercube defined by your limits and see the effect of each using some design of experiment methodology, or instead with a Monte Carlo technique of creating an ensemble of TLEs using random numbers to vary each of those parameters within your limit range. In all cases you'll have to decide what is and what isn't a "space train".



Wikipedia's A-train says that currently it has four active spacecraft:

Here are their current TLEs from Celestrak:

OCO 2                   
1 40059U 14035A   20237.92319585  .00000020  00000-0  14372-4 0  9990
2 40059  98.2050 177.6833 0001511  80.6324 279.5045 14.57111340326998

GCOM-W1 (SHIZUKU)       
1 38337U 12025A   20237.87049493  .00000020  00000-0  14522-4 0  9992
2 38337  98.1994 176.8895 0002496  99.5779 328.0152 14.57074379439977

1 27424U 02022A   20237.87245431  .00000056  00000-0  22413-4 0  9990
2 27424  98.2055 177.5270 0002453 105.8467 322.0067 14.57111576973832

1 28376U 04026A   20237.93375889  .00000062  00000-0  23709-4 0  9997
2 28376  98.2080 179.7403 0001576  81.5765 278.5612 14.57111144856893
  • 1
    $\begingroup$ thanks for the right way to do it vs a naive attempt I dreamed up after posting the question: assuming un-eccentric orbits, move forward one object in time by 1/10th of its periodicity then see if the great circle distance between it and the other satellite in question has changed by 1/10th of the circumference of the globe. Wait that doesn't work. Move both forward X seconds and check if great circle distance is unchanged, to within an error. $\endgroup$
    – justin
    Aug 25, 2020 at 6:26
  • $\begingroup$ @justin your empirical approach is definitely a reasonable way to do it! My interpretation of your question was that you wanted to analyze the values in the TLEs without propagating them. But if you want a "train detector" that uses SGP4 propagation then that certainly will work! Why don't you write that up as a second answer. It's always okay to post an answer to your own question in Stack Exchange! Questions can certainly have multiple good answers. $\endgroup$
    – uhoh
    Aug 25, 2020 at 7:42
  • 1
    $\begingroup$ I did want to analyse a bunch of TLEs to detect all trains as directly as possible and wasn't too sure about comparing each of 500+ to each of 500+, by propagation. Seems like a combinatorial explosion to do it empirically? $\endgroup$
    – justin
    Aug 25, 2020 at 7:54
  • 1
    $\begingroup$ @uhoh mentioned the phase angle in regards to item 4, but shouldn't the phase angle be important for a "train"? Two satellites on opposite sides of the orbit (phase angle = 180 degrees) is not much of a train. Two satellites separated by a phase angle of 2.5 degrees still puts the satellite on the order of 300 km (200 miles) apart. This is something that Justin should decide -- what constitutes a train. $\endgroup$
    – JohnHoltz
    Aug 25, 2020 at 14:49
  • 1
    $\begingroup$ @uhoh Another thing to split out as a separate criteria is the direction of the perigee. If all other parameters were the same, including the eccentricity and phase angle/mean anomaly, but the argP were different then you could still see oscillation. You have already picked up something very similar in your point #3, though this oscillation could arise from either of eccentricity or argument or perigee being different with the other parameters being uniform between the two objects. $\endgroup$
    – Puffin
    Apr 15, 2022 at 22:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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