Open Source gRPC API for USSF SGP4/SGP4-XP orbital propagator

Hi, I built a project called XPropagator.

XPropagator it’s a satellite orbit propagation gRPC service, offering an API for the U.S. Space Force (USSF) SGP4/SGP4-XP implementation. Written in Go/Cgo.

https://github.com/xpropagation/xpropagator

Would love to see a feedback from you, thanks.

1 Like

like a pro project. long and detail readme. btw can you explain as i’m noob what different SGP4/XP with API TLE like satnogs db used here ?

thank you!

73

Hi, Thank you.

To answer your question, please check the project’s README Overview section here: GitHub - xpropagation/xpropagator: USSF SGP4/SGP4-XP orbital propagator gRPC API, single propagation, ephemeris generation, built-in AstroStd lib memory management. Written in Go .
There, you’ll find the comparison table “Vallado SGP4 vs USSF SGP4/SGP4-XP” along with several reliable reference sources.

As you can see XPropagator is the different thing, it’s not a simple REST API which provides you TLE of satellites. Instead XPropagator propagates these TLEs.

For context, SGP4 (Simplified General Perturbations 4) is a model that predicts satellite positions from TLE data, accounting for real-world orbital effectst.

In short:
SGP4-XP is an extended and more advanced version of the standard SGP4 propagator, developed by the U.S. Space Force (USSF) and introduced around 2020. It includes enhanced perturbation modeling for improved accuracy, especially in medium-Earth (MEO) and geostationary (GEO) orbits, while remaining efficient enough for real-time propagation. Unlike the classic SGP4 (based on simplified 1980s models), SGP4-XP adds refined physical effects such as better drag modeling, solar radiation pressure, and updated gravity harmonics.

Today David Vallado mentioned to me that he’ll be reviewing this project soon. If you’re interested, you’re very welcome to participate by sharing feedback, doing a code review, adding more unit tests, examples, or simply starring the repository/ spreading the word to your colleagues network

1 Like

thank you open this thread. so today i learn about SGP4. im trying to fast swallow.
so SGP4 and SGP4-XP are theory / modelling to process TLE data. with SGP4-XP is enhanced version, but it close source.

and btw satnogs.network calculated TLE using open source SGP4.

and your project / program goal is build an API interface server to provide SGP4-XP result from close source space-track app. because space-track not provide this API.

please correct me if wrong.

and David Vallado is the creator of SGP4 open source version. wow what a legend.

the SGP4-XP is higher accuracy because inside the TLE , other that what calculated by public SGP4 they also include other paramater like solar radiation, atmosphere data, etc.

after read, read, and read, the main different of TLE that specific design for closed SGP4-XP can be identified just looking on TLE at ephemeris field (line 1 coloum 63)
image

for example ISS zarya above ephemeris value = 0. this is common TLE. not SGP4-XP
for SGP4-XP this value should be 4

and btw im wondering, if there is TLE with ephemeris 4 , openly can accessed by public?

and the problem is tools for generate this tle is also only for internal , and not open for public like what strf do.

so what for i should test this project? my curious..

for people here that want try this SGP4-XP, can try on web browser. what you need is web browser and python.

download v9.1.1.0_C_Sgp4Prop_Wasm.zip from here
extract it

in linux, open terminal:

cd v9.1.1.0_C_Sgp4Prop_Wasm
cd example/
python -m http.server --directory ..

open your favourite web browser.
open Web Developer Tools > Console (CTRL + SHIFT + I)

http://localhost:8000/example/Sgp4Prop.html

it will show like below:

click [Single Sat Prop] button , upload your single TLE sat .txt file. maybe you question, the tle ephemeris is 0, but why this tools can calculated. yeah, because this tools have backward compatibility that can automatic check is it common TLE (0) or XP TLE (4)

result:

@amorbielyi give me enlightenment..