Rainer Kracht wrote (1997 Mar 27): >There is one more problem with the code of SDP4. > >Predictions with this elset > >GEO347 >1 99347U 95265.00000000 .00000000 00000-0 00000+0 0 01 >2 99347 8.2811 331.8258 1446848 258.4393 117.4767 1.00271834 02 > >for my site (Elmshorn, +53.7695, +9.6626, 9m) are good for the night >of 1995 Sep 21/22 (that is the time of the epoch) with SGP/SGP4, but >they are about 4 degrees off with SDP4. > >I have now found, that this is due to flawed code at the end of the >DEEP routine (DEEP.FOR in Spacetrack Report #3 or Procedure Deep in >SGP4SDP4.PAS from TS Kelso). DEEP.FOR has there: > I was somewhat surprised by the large disagreement between SGP and the supposedly more accurate SDP4 model that was reported by Rainer. I tried to reproduce the discrepancy using my own software, but I could find no great difference between the output using SGP or SDP4 for the case he mentioned. But when I looked closely at Ranier's analysis of the problem in the DEEP.FOR code, I ran across an inconsistency. He stated, >This causes an error of about 4 deg in the predictions, because >XNODES and ACTAN(ALFDP,BETDP) are taken from different quadrants! > >XNODES is derived from the RAAN of the elset (331.8258), which is >in the range of 0 to 360 deg. The ACTAN-function yields angles in >the range of -180 to 180 deg. Actually, the ACTAN function used in Space Track Report No. 3 "is a two argument (quadrant preserving) arctangent subroutine which has been specifically designed to return the angle within the range 0 to 2 pi", i.e., 0 to 360 deg, not -180 to 180 deg. I found that when the ACTAN function called by DEEP behaves in this manner, the correct value of OMGASM is computed (without any modifications to the DEEP code). For reference, here is the FORTRAN code for ACTAN from SPACETRK.FOR: FUNCTION ACTAN(SINX,COSX) COMMON/C2/DE2RA,PI,PIO2,TWOPI,X3PIO2 ACTAN=0. IF (COSX.EQ.0. ) GO TO 5 IF (COSX.GT.0. ) GO TO 1 ACTAN=PI GO TO 7 1 IF (SINX.EQ.0. ) GO TO 8 IF (SINX.GT.0. ) GO TO 7 ACTAN=TWOPI GO TO 7 5 IF (SINX.EQ.0. ) GO TO 8 IF (SINX.GT.0. ) GO TO 6 ACTAN=X3PIO2 GO TO 8 6 ACTAN=PIO2 GO TO 8 7 TEMP=SINX/COSX ACTAN=ACTAN+ATAN(TEMP) 8 RETURN END The question of problems with SDP4 (and DEEP) is an interesting one. I am not a professional programmer and not connected with the aerospace industry, but I wonder if any of the "insiders" in US Space Command might tell us if they really are using a "corrected" version that differs from the code published in Spacetrack Report No. 3 in 1980? Thanks, Curtis Haase 73007.2024@compuserve.com Dallas, Texas