Code for the SGP4/SDP4 satellite motion model, and for manipulating TLEs (Two-Line Elements).
C++ C Makefile
Switch branches/tags
Nothing to show
Latest commit 178c950 Jan 15, 2018 @Bill-Gray Bill-Gray Failure to converge (only happens with _very_ near-parabolic orbits) …
…now returns an error code, instead of bombing
Permalink
Failed to load latest commit information.
.gitignore New code to extract TLEs for a specific date/time from my set of asso… Dec 18, 2017
LICENSE Initial commit Mar 16, 2016
README.md Fixed README.md to provide details on how to build the code on differ… Jul 26, 2016
basics.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
common.cpp Failure to converge (only happens with _very_ near-parabolic orbits) … Jan 16, 2018
deep.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
dynamic.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
elem2tle.cpp Fixed error handling: a case where simplex determination of elements … Feb 22, 2017
get_el.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
get_high.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
makefile CGI parsing functions now come from the 'lunar' library Jan 1, 2018
mergetle.cpp Improved checking for re-entrant qsort; it had problems when compiled… Jul 1, 2016
msvc.mak Now creates a 'sat_code.lib' and uses it for the various utilities Aug 3, 2016
msvc_dll.mak Changed DOS-style CR/LF endings to LF only Jul 1, 2016
norad.h Failure to converge (only happens with _very_ near-parabolic orbits) … Jan 16, 2018
norad_in.h Changed DOS-style CR/LF endings to LF only Jul 1, 2016
obs_tes2.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
obs_test.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
obs_test.txt Input file for 'obs_test.cpp' (q.v.) Mar 16, 2016
observe.cpp Added function to convert J2000 coords to mean epoch of date, and com… Feb 26, 2017
observe.h Added function to convert J2000 coords to mean epoch of date, and com… Feb 26, 2017
out_comp.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
sat_code.def Added function to convert J2000 coords to mean epoch of date, and com… Feb 26, 2017
sat_id.cpp Better check for a 'line 0' giving satellite name Nov 12, 2017
sat_id2.cpp TLEs are stored in a separate, publicly accessible folder Oct 3, 2017
sdp4.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
sdp8.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
sgp.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
sgp4.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
sgp8.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
sm_sat.def MSVC .DEF (definition) file for building a DLL from the satellite cod… Mar 16, 2016
test.tle TLEs used in 'test2.cpp' and 'test3.cpp' (q.v.) for unit testing Mar 16, 2016
test2.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
test2.txt Expected output from 'test2.cpp' (q.v.) Mar 16, 2016
test3.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
test_out.cpp I can never remember which angle is which. Verbose mode now tells me. Jan 1, 2018
test_sat.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
tle_date.c New code to extract TLEs for a specific date/time from my set of asso… Dec 18, 2017
tle_out.cpp Changed DOS-style CR/LF endings to LF only Jul 1, 2016
watcom.mak Added a 'clean' section, and removed redundant 'tle_out.obj' (we link… Sep 19, 2017

README.md

sat_code

C/C++ code for the SGP4/SDP4 satellite motion model, and for manipulating TLEs (Two-Line Elements). Full details at http://www.projectpluto.com/sat_code.htm

On Linux, run make to build the library and various test executables. (You can also do this with MinGW under Windows.) In Linux, you can then run make install to put libraries in /usr/local/lib and some include files in /usr/local/include. (You will probably have to make that sudo make install.) For BSD, and probably OS/X, run gmake CLANG=Y (GNU make, with the clang compiler), then sudo gmake install.

On Windows, run nmake -f msvc.mak with MSVC++. Optionally, add -BITS_32=Y for 32-bit code.