Frequently Asked Questions
for
Revisiting Spacetrack Report #3

AIAA 2006-6753

Vallado, David A., Paul Crawford, Richard Hujsak, and T.S. Kelso, "Revisiting Spacetrack Report #3," presented at the AIAA/AAS Astrodynamics Specialist Conference, Keystone, CO, 2006 August 21–24.

  • What code, programs, examples, and instructions are available to implement SGP4?
  • Are there any Licenses required to use the SGP4 code?
  • There is no license associated with the code and you may use it for any purpose—personal or commercial—as you wish. We ask only that you include citations in your documentation and source code to show the source of the code and provide links to the main page, to facilitate communications regarding any questions on the theory or source code.
  • How does this code differ from the SGP4 implementation in Systems Tool Kit (STK)?
  • The code in this paper (specifically, the C++ version) is exactly the same code as used in STK and will produce identical results.
  • What is the output of the SGP4 program?
  • Cartesian position and velocity versus Time Since TLE Epoch in the True Equator, Mean Equinox (TEME) coordinate system (Vallado 2013:211, 231-234).
  • What settings are recommended for the SGP4 program?
  • To match the expected operation of the US Air Force Joint Space Operations Center (JSPOC), the inputs should be:
    • a AFSPC operation
    • m Manual input of time span and timestep
    • 72 Constants to use
  • How can I create a Cartesian position and velocity ephemeris from a TLE?
  • The general algorithm is (MATLAB filenames are used):
    • Read in the data file (TLE information)
    • Convert the TLE information (twoline2rv.m)
    • Initialize SGP4 (sgp4.m with 0.0 time)
    • Loop through the desired time period:
      • Call SGP4 and obtain the position and velocity vectors in TEME (sgp4.m)
      • Write out the relevant parameters: time since epoch, TEME position and velocity
    • End loop
    The file testmat.m accomplishes these tasks.
  • How can I create a latitude and longitude ephemeris from a TLE?
  • The general algorithm is (MATLAB filenames are used):
    • Read in the data file (TLE information)
    • Convert the TLE information (twoline2rv.m)
    • Initialize SGP4 (sgp4.m with 0.0 time)
    • Loop through the desired time period:
      • Call SGP4 and obtain the position and velocity vectors in TEME (sgp4.m)
      • Convert the position and velocity vectors to latitude and longitude:
        • Rotate from the TEME to ECEF coordinate frames (teme2ecef.m)
        • Use the ECEF vectors to find latitude and longitude (ijk2ll.m) (Vallado 2013:169-172)
      • Write out the relevant parameters: time since epoch, latitude, longitude
    • End loop
  • How can I create an azimuth and elevation look angles ephemeris from a TLE?
  • The general algorithm is (MATLAB filenames are used):
    • Read in the data file (TLE information)
    • Convert the TLE information (twoline2rv.m)
    • Initialize SGP4 (sgp4.m with 0.0 time)
    • Set the site ECEF position vector (site.m)
    • Loop through the desired time period:
      • Call SGP4 and obtain the position and velocity vectors in TEME (sgp4.m)
      • Convert the position and velocity vectors to azimuth and elevation:
        • Rotate from the TEME to ECEF coordinate frames (teme2ecef.m)
        • Calculate the ECEF range vector from site to satellite, convert the ECEF range vector to SEZ, and calculate azimuth and elevation (rv2razel.m)
        • Write out the relevant parameters: time since epoch, latitude, longitude
    • End loop
  • How can I convert a TEME ephemeris to an Earth Fixed ephemeris?
  • teme2ecef.m will convert a TEME vector to Earth fixed (ECEF).
    The general algorithm is (MATLAB filenames are used):
    • Read in data file (TEME ephemeris information)
    • Loop through all the data or the desired time period:
      • Convert the position and velocity vectors from TEME to ECEF (teme2ecef.m)
      • Write out the relevant parameters: time since epoch, ECEF position and velocity
    • End loop
  • How can I convert a TEME ephemeris to another ECI ephemeris?
  • It is no longer recommended to go directly from TEME to another ECI frame (as shown in teme2eci.m) as there are many variables that are unknown. Going to ECEF first is better and simpler. Then, if you need J2000, MOD, TOD, or PEF, use the ECEF data and convert it using the full standard techniques.
    The general algorithm is (MATLAB filenames are used):
    • Read in data file (TEME ephemeris information)
    • Loop through all the data or the desired time period:
      • Convert the position and velocity vectors from TEME to ECEF (teme2ecef.m)
      • Convert from ECEF to J2000 (ecef2eci.m), Mean of Date (ecef2mod.m), True of Date (ecef2tod.m), or Pseudo Earth Fixed (ecef2pef.m). Note that PEF is also known as TDR (NASA) and EFG (JSpOC) and does not include polar motion.
      • Write out the relevant parameters: time since epoch, ECI position and velocity
    • End loop

TLE Data Space Data
Current GPS
Archives EOP
Documentation Space Weather
SATCAT Columns
Boxscore Software
SOCRATES
Dr. T.S. Kelso [TS.Kelso@celestrak.com]
Follow CelesTrak on Twitter @TSKelso
Last updated: 2015 July 7 18:09:36 UTC
Accessed 11,592 times since 2000 December 16
Current system time: 2017 October 21 21:17:36 UTC