I know there are a lot of geostationary satellites out there, but I'm wondering - are there any geosynchronous satellites that are not geostationary (ie - have a notable inclination to their orbit)?

  • 3
  • 2
    $\begingroup$ I read somewhere IRNSS use such orbits. $\endgroup$
    – Manu H
    Jul 19, 2019 at 4:56
  • $\begingroup$ @ManuH yep, they're on my list! Hopefully someone will ask *Why do some satellites use such high inclination geosynchronous orbits?" $\endgroup$
    – uhoh
    Jul 19, 2019 at 6:28
  • $\begingroup$ @uhoh I think this file answers that question in a visual way $\endgroup$
    – Manu H
    Jul 19, 2019 at 7:49
  • $\begingroup$ @ManuH that's a special case though and easy to explain. Most of these orbits are circular, so the top and bottom half of the pattern are symmetrical. QZSS is in a substantially elliptical Molniya-like orbit so that they spend most of their time in the upper half, over Japan. I'm pretty sure these three are QZSS i.sstatic.net/XyW0F.png None of the other orbits look like that, so they will need a different explanation. $\endgroup$
    – uhoh
    Jul 19, 2019 at 8:34

1 Answer 1


Are there any satellites in geosynchronous but not geostationary orbits?

Yep, lots!

Apparently there are various advantages to being synchronous even when oscillating wildly in position above/below the Earth's equator (up to +/- 60 degrees!)

After seeing the figures below in A New Look at the GEO and Near-GEO Regimes: Operations, Disposals,and Debris (found in this comment) I decided to go satellite hunting myself

enter image description here enter image description here

left: "Fig. 3. The number and complexity of geosynchronous orbits for operational spacecraft increased significantly from 1999 to 2011. Only spacecraft whose orbital parameters are available at www.spacetrack.org are shown above." right: "Fig. 7. Highly-inclined geosynchronous communications and navigations systems (Sirius, Beidou, and Michibiki) have been deployed since 2000"

I went to Celestrak's NORAD Two-Line Element Sets; Current Data and downloaded https://celestrak.org/NORAD/elements/geo.txt I then propagated them all in Python using Skyfield (script below) and started plotting.

There are 513 TLEs in the list. Here are their current inclinations versus year of launch:

Geosynchronous satellites inclination versus year of launch

There are 18 satellites with an inclination greater than 19 degrees:

AMC-14                 2008     20.4237
SDO                    2010     29.7791
QZS-1 (MICHIBIKI-1)    2010     41.3507
BEIDOU 8               2011     58.8155
BEIDOU 9               2011     54.4339
BEIDOU 10              2011     52.1119
IRNSS-1A               2013     30.184
IRNSS-1B               2014     29.253
IRNSS-1D               2015     29.1615
BEIDOU 17              2015     53.522
BEIDOU 20              2015     53.1176
IRNSS-1E               2016     29.3272
BEIDOU IGSO-6          2016     56.5705
QZS-2  (MICHIBIKI-2)   2017     43.5483
QZS-4 (MICHIBIKI-4)    2017     40.7615
IRNSS-1I               2018     29.3069
BEIDOU IGSO-7          2018     55.0396
BEIDOU-3 IGSO-1        2019     55.0177

Here are some gratuitous 3D plots of the 18 with inclinations greater than 19 degrees:

Side view:

Geosynchronous satellites with inclination > 19 degrees

Top view:

Geosynchronous satellites with inclination > 19 degrees

"Family portrait"

Geosynchronous satellites

Python 3 script:

class Object(object):
    def __init__(self, name, L1, L2):
        self.name = name.strip()
        self.L1 = L1
        self.L2 = L2
        year = int(L1[9:11]) + 1900
        if year < 1957:
            year += 100
        self.year = year
        self.inc  = float(L2[8:16])

import numpy as np
import matplotlib.pyplot as plt
from skyfield.api import Topos, Loader, EarthSatellite
from mpl_toolkits.mplot3d import Axes3D

fname = 'Celestrak satellites in GEO.txt' # https://celestrak.org/NORAD/elements/geo.txt
with open(fname, 'r') as infile:
    lines = infile.readlines()

TLEs = zip(*[[line for line in lines[n::3]] for n in range(3)])

load  = Loader('~/Documents/fishing/SkyData')  # single instance for big files
ts    = load.timescale()
de421 = load('de421.bsp')
earth = de421['earth']

zero  = Topos(0.0, 0.0)

minutes = np.arange(0, 24*60, 4) # last one is 23h 56m
times   = ts.utc(2019, 7, 19, 0, minutes)

# Doing a quick ugly de-rotate to imitate earth-fixed coordinates.
zeropos = zero.at(times).position.km 
theta    = np.arctan2(zeropos[1], zeropos[0])
cth, sth, zth, oth = [f(-theta) for f in (np.cos, np.sin, np.zeros_like, np.ones_like)]

R = np.array([[cth, -sth, zth], [sth, cth, zth], [zth, zth, oth]])

objects = []
for i, (name, L1, L2) in enumerate(TLEs):
    o       = Object(name, L1, L2)
    o.orbit = EarthSatellite(L1, L2).at(times).position.km
    if not i%20:
        print (i,)

data = [(o.year, o.inc) for o in objects]

year, inc = zip(*data)
plt.plot(year, inc, '.k', markersize=8)
plt.xlabel('launch year', fontsize=16)
plt.ylabel('current inclination (degs)', fontsize=16)
plt.title('Geosynchronous TLEs from Celestrak', fontsize=16)

high_incs = [o for o in objects if o.inc > 19]

fig = plt.figure(figsize=[10, 8])  # [12, 10]
ax  = fig.add_subplot(1, 1, 1, projection='3d')
for o in high_incs:
    orbit = (R * o.orbit).sum(axis=1)
    x, y, z = orbit
    ax.plot(x, y, z)
    ax.plot(x[:1], y[:1], z[:1], 'ok')
ax.set_xlim(-40000, 40000)
ax.set_ylim(-40000, 40000)
ax.set_zlim(-40000, 40000)

fig = plt.figure(figsize=[10, 8])  # [12, 10]
ax  = fig.add_subplot(1, 1, 1, projection='3d')
for o in objects:
    orbit = (R * o.orbit).sum(axis=1)
    x, y, z = orbit
    ax.plot(x, y, z)
    # ax.plot(x[:1], y[:1], z[:1], 'ok')
ax.set_xlim(-40000, 40000)
ax.set_ylim(-40000, 40000)
ax.set_zlim(-40000, 40000)

for o in high_incs:
    print(o.name, o.year, o.inc)
  • 16
    $\begingroup$ OUTSTANDING work! :D $\endgroup$
    – ThePiachu
    Jul 19, 2019 at 7:21
  • 27
    $\begingroup$ @ThePiachu thanks! As usual, I'll go to any length to avoid doing what I should have been doing today ;-) bbc.co.uk/programmes/w3csy9k0 $\endgroup$
    – uhoh
    Jul 19, 2019 at 8:34
  • 2
    $\begingroup$ Are they all navigation satellites? I can see how it makes sense for regional satellite navigation. IRNSS (Indian), BEIDOU (Chinese) and QZS (Japanese) are, at least. $\endgroup$
    – gerrit
    Jul 19, 2019 at 8:53
  • 3
    $\begingroup$ Re You can still communicate with them continuously using a single ground station, if it is somewhat near the equator. The highly inclined (63.4°) and somewhat elliptical (0.2 to 0.3) geosynchronous satellites follow Tundra orbits. Such orbits aren't of much use at equatorial sites because tracking antennae are needed to communicate with such satellites and the satellites are rarely in view at a given equatorial site. Where they are of use is the extreme latitudes, typically 60+°N, where the satellites appear to dwell at apogee. $\endgroup$ Jul 19, 2019 at 9:13
  • 9
    $\begingroup$ @gerrit, the second on that list, SDO, is a solar observatory. It produces images at a very high cadence, so rather than using the DSN where it would saturate the bandwidth, it has a dedicated ground station, thus the need for being geosynchronous. It can't be geostationary because that would mean having the earth occult the sun once every day, where the inclined orbit means the earth only occults the sun once a day for a week every 6 months.. $\endgroup$
    – Ghedipunk
    Jul 19, 2019 at 16:08

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.