SDP algorithm

ROB MATSON (ROBERT.D.MATSON@cpmx.saic.com)
20 Mar 1997 16:34:32 -0800

Greetings all,

I've just completed coding and initial debugging of the SDP4 algorithm for
inclusion in SkyMap.  A word of warning to anyone who used Spacetrack Report
#3 to code the Deep Space routines -- the code is flawed!  4 variables are
passed to the deep space routines which the programmer obviously intended to
retain their values upon subsequent calls.  Trouble is, these variables are
DUMMY variables within DEEP.  Thus on subsequent calls, the variables will
have random, unpredictable values.

I have corrected this problem, and cleaned up the code somewhat to make it
easier to follow.  I ran the SDP4 test cases from SR3 and the results differed
slightly from those published.  However, my variables are all
double-precision, so I would expect differences.  Plus, the test cases are
very close to epoch, so they're not good tests anyway.  Presumably Space
Command long ago discovered this problem and fixed their code.

I did run one exciting test case using element sets for Superbird A (#20040)
from two epochs:  one at 3/5/97 23:20:54 UTC, and the other from 9/26/96
13:48:28.  I took Superbird's position at the later epoch time as truth, and
compared how well each of the models did at propagating the September '96
element set forward.

SGP and HANDE were each off by about 38 minutes time along-track, and
0.4-degrees crosstrack.  SDP4, on the other hand, was off by only 20 SECONDS
time along-track, and 0.0025-deg crosstrack!  20 seconds off with 5-month-old
ephemerides -- that's SOME improvement!

HANDE has calls to its own deep space routines which I have not activated yet,
so I expect comparable improvement when I do. --Rob