home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 3: The Continuation / 17-Bit_The_Continuation_Disc.iso / files / arug23.dms / arug23.adf / Satellite1 / colourmaptrack < prev    next >
Text File  |  1993-12-02  |  14KB  |  508 lines

  1.  '  ColourTrack        
  2.  '  Version 1.00          Last modified by  ACH on 14th September 1988
  3. 120 begin:
  4. 130 SCREEN 1,640,250,3,2:WINDOW 2," Satellite track  ",(0,0)-(340,120),16,1
  5.     chc=1
  6.     
  7.     
  8.      PALETTE 5,.47,.87,1
  9.      PALETTE 6,.73,1,0
  10.      COLOR 2,6
  11.     
  12.      CLS
  13.      
  14.      
  15.     RESTORE
  16. 280 READ N
  17. 290 IF N < 0 THEN 1620
  18. 300 READ X1,Y1,X,Y
  19. 310 IF chc = 1  THEN LINE (X1*2, Y1+10) - (X*2,Y+10),2
  20.  
  21. 330     FOR J=3 TO N
  22. 340     READ X,Y
  23. 350     IF chc = 1 THEN LINE -(X*2, Y+10),2 
  24.     
  25. 360     
  26. 370     NEXT J
  27. 380 GOTO 280
  28. 390 DATA 168,2,16,3,16,3,15,4,14,6,14,6,12,8,12,9,10,10,10,12,9,15,9,17,10
  29. 400 DATA 19,11,25,11,27,12,27,13,30,13,30,12,28,12,28,10,26,10,26,9,28,8,30,8
  30. 410 DATA 30,9,32,10,32,9,33,9,33,12,31,12,32,13,35,13,35,11,37,9,39,9,36,12
  31. 420 DATA 39,12,39,10,40,9,43,9,46,12,46,14,43,17,40,15,40,14,42,14,43,13,42,12
  32. 430 DATA 40,12,40,13,38,14,38,16,34,16,30,19,30,20,33,22,34,22,34,25,37,21
  33. 440 DATA 36,19,39,17,40,17,41,18,41,19,43,18,44,22,46,23,46,24,45,24,45,25
  34. 450 DATA 45,26,46,26,46,28,43,27,43,26,45,25,42,25,39,25,40,27,40,30,37,30
  35. 460 DATA 32,35,32,37,28,39,29,43,28,44,27,43,26,40,24,40,24,41,21,41,18,44
  36. 470 DATA 18,46,17,47,19,49,21,48,21,46,24,46,22,51,25,51,25,55,28,55,28,56
  37. 480 DATA 29,56,32,53,35,55,36,54,42,58,44,58,45,60,45,62,47,62,48,64,51,64
  38. 490 DATA 54,66,54,68,52,71,52,76,48,80,48,83,45,87,45,88,42,91,42,94,43,95
  39. 500 DATA 43,99,45,100,42,100,43,99,41,100,38,96,35,88,35,83,34,76,30,74,30,73
  40. 510 DATA 26,66,26,62,28,57,27,56,24,56,22,53,21,53,21,52,19,52,19,51,16,51
  41. 520 DATA 12,49,13,47,10,40,11,46,10,46,8,42,8,38,7,37,7,32,11,27,12,27,12,26
  42. 530 DATA 11,24,12,19,9,17,7,18,6,18,6,19,4,19,2,20,2,16
  43. 540 DATA 5
  44. 550 DATA 31,8,34,7,35,8,32,9,31,8
  45. 560 DATA 4
  46. 570 DATA 34,9,36,9,34,11,34,9
  47. 580 DATA 5
  48. 590 DATA 36,7,38,7,38,8,36,8,36,7
  49. 600 DATA 40
  50. 610 DATA 42,7,46,4,44,4,43,6,41,6,41,5,44,4,48,2,50,2,51,3,50,4,54,3,58,3,61,1
  51. 620 DATA 64,1,65,3,67,3,67,4,65,8,64,8,62,10,63,10,63,11,59,12,58,14,57,14
  52. 630 DATA 53,19,51,18,49,14,51,12,51,11,52,11,52,8,48,8,47,7,50,4,48,4,45,8
  53. 640 DATA 44,7,42,7
  54. 650 DATA 6
  55. 660 DATA 62,13,66,13,67,14,64,16,62,14,62,13
  56. 670 DATA 7
  57. 680 DATA 25,46,26,45,28,45,31,47,29,48,29,47,25,46
  58. 690 DATA 5
  59. 700 DATA 32,47,34,48,32,49,31,48,32,47
  60. 710 DATA 5
  61. 720 DATA 78,5,80,5,81,6,79,7,78,5
  62. 730 DATA 4
  63. 740 DATA 81,4,82,4,82,5,81,4
  64. 750 DATA 4
  65. 760 DATA 81,6,82,6,82,7,81,6
  66. 770 DATA 8
  67. 780 DATA 94,10,94,8,97,6,98,6,98,7,95,9,95,10,94,10
  68. 790 DATA 9
  69. 800 DATA 96,70,98,69,98,68,99,67,100,70,98,76,96,77,95,75,96,70
  70. 810 DATA 5
  71. 820 DATA 140,20,143,23,143,25,142,25,140,20
  72. 830 DATA 5
  73. 840 DATA 143,26,145,26,146,27,144,29,143,26
  74. 850 DATA 9
  75. 860 DATA 145,29,147,30,147,33,143,36,142,35,144,34,142,34,145,32,145,29
  76. 870 DATA 5
  77. 880 DATA 139,40,140,40,140,43,139,42,139,40
  78. 890 DATA 7
  79. 900 DATA 140,46,141,45,142,48,143,50,142,50,139,48,140,46
  80. 910 DATA 4
  81. 920 DATA 140,51,140,52,139,53,140,51
  82. 930 DATA 4
  83. 940 DATA 142,50,143,52,142,52,142,50
  84. 950 DATA 10
  85. 960 DATA 144,52,145,53,144,56,143,55,143,54,142,54,142,53,142,52,143,52,144,52
  86. 970 DATA 9
  87. 980 DATA 138,54,140,54,140,60,138,62,135,62,134,060,134,57,136,57,138,54
  88. 990 DATA 8
  89. 1000 DATA 141,58,144,58,144,59,142,59,143,64,141,64,140,62,141,58
  90. 1010 DATA 5
  91. 1020 DATA 145,58,146,58,146,59,145,59,145,58
  92. 1030 DATA 15
  93. 1040 DATA 147,59,149,59,150,60,152,60,156,62,158,64,160,64,158,66,160,68,157,68
  94. 1050 DATA 155,66,152,67,151,64,148,62,147,59
  95. 1060 DATA 4
  96. 1070 DATA 143,66,140,66,140,67,141,67
  97. 1080 DATA 2
  98. 1090 DATA 143,67,144,66
  99. 1100 DATA 13
  100. 1110 DATA 160,86,162,86,163,90,160,93,159,92,154,96,152,96,152,95,158,91
  101. 1120 DATA 159,92,159,90,161,89,160,86
  102. 1130 DATA 26
  103. 1140 DATA 133,85,134,83,134,76,136,74,138,74,143,70,145,70,148,68,150,68
  104. 1150 DATA 150,70,152,72,153,68,154,68,156,76,158,78,152,88,146,89,148,90
  105. 1160 DATA 148,91,146,92,146,89,144,84,139,84,139,85,134,85,133,84
  106. 1170 DATA 10
  107. 1180 DATA 126,55,127,55,133,61,132,65,136,66,137,65,136,64,131,64,126,57,126,55
  108. 1190 DATA 9
  109. 1200 DATA 68,20,70,19,71,20,71,22,72,23,72,24,68,25,69,22,68,20
  110. 1210 DATA 5
  111. 1220 DATA 68,22,68,24,66,24,67,22,68,22
  112. 1230 DATA 178
  113. 1240 DATA 65,36,60,44,60,52,66,57,74,57,74,60,77,64,77,68,76,70,76,73,81,83
  114.  
  115. 1250 DATA 86,83,91,76,91,73,94,70,94,66,93,64,93,62,100,54,100,51,96,52
  116. 1260 DATA 92,47,90,40,94,46,96,50,100,49,102,48,105,44,103,42,108,42,110,45
  117. 1270 DATA 112,45,113,52,115,55,116,55,117,52,117,55,118,55,118,53,117,52
  118. 1280 DATA 118,48,122,44,127,51,127,53,130,58,132,58,132,57,128,52,128,50
  119. 1290 DATA 132,54,134,52,134,50,132,46,132,44,136,44,138,42,139,36,136,34
  120. 1300 DATA 136,32,134,32,134,30,137,30,139,34,140,34,141,33,139,30,139,28
  121. 1310 DATA 141,28,141,28,136,18,136,16,141,16,141,14,143,14,143,18,147,21
  122. 1320 DATA 148,20,145,15,148,12,147,10,150,10,149,8,146,8,144,7,138,7,138,8
  123. 1330 DATA 134,8,134,7,126,7,126,8,122,8,122,7,115,7,114,5,110,5,110,4,108,4
  124. 1340 DATA 106,2,104,4,105,4,105,3,106,3,106,5,108,5,108,7,106,7,102,9,104,12
  125. 1350 DATA 102,12,100,8,99,8,99,10,100,12,94,12,92,13,91,11,90,11,90,14,88,15
  126. 1360 DATA 88,14,89,13,84,10,82,10,74,17,74,20,76,19,79,21,80,20,80,17,82,14
  127. 1370 DATA 84,16,82,18,83,20,80,22,76,22,76,20,75,20,75,22,70,26,69,26,70,28
  128. 1380 DATA 70,29,66,29,65,33,67,34,71,33,71,31,76,29,79,33,79,34,80,34,80,31
  129. 1390 DATA 76,28,79,28,83,34,83,32,86,31,86,28,88,28,89,29,90,27,92,27,91,28
  130. 1400 DATA 93,30,88,30,85,33,86,34,90,34,90,38,86,38,83,36,80,38,76,36,76,34
  131. 1410 DATA 71,34,70,35,67,35,65,36
  132. 1420 DATA 5
  133. 1430 DATA 96,28,98,27,100,34,98,34,96,28
  134. 1440 DATA -34
  135. 1620 
  136.      WINDOW 1,"parameters",(0,137)-(622,230),16,1
  137.      
  138.       
  139.     WINDOW OUTPUT 2
  140.     PAINT (10,10),5,2
  141.      LINE (0,65)-(360,65),2
  142.      LINE (140,0)-(140,120),2
  143.      PAINT (165,45),5,2
  144.     WINDOW OUTPUT 1 
  145.      COLOR 2,1
  146.       CLS
  147.  P=0
  148. DEFDBL A-Z
  149.  start=0
  150. C8$=CHR$(10)+CHR$(10)+CHR$(10)+CHR$(10)
  151. 50 
  152. ss=0
  153. PRINT "AMSAT ORBITAL PREDICTION PROGRAM"
  154. PRINT  "COPYRIGHT 1980  DR. TOM CLARKE W3IWI"
  155. PRINT  "TRANSLATED FOR AMSAT UK BY G3WDI"
  156. PRINT "COPYRIGHT AMSAT-UK. 1988"
  157. REM SET STARTING DATA
  158. INPUT "start year = ",Y:Y=Y/100:Y=INT(100* (Y-INT(Y)) + .1)
  159. IF Y/4=INT(Y/4) THEN F9=1 ELSE F9=0
  160. INPUT "     month = ",M
  161. INPUT "       day = ",d
  162.  DEF FNt$(d)= CHR$(48+INT(d/10))+CHR$(48+d-10*INT(d/10))
  163. t$=FNt$(d)+"/"+FNt$(M)+"/"+FNt$(Y)+" at "
  164. RESTORE daysofyear:
  165. FOR I= 1 TO M:READ D9:NEXT:D8=d+D9
  166. IF M>2 THEN D8=D8+F9 :PRINT "    day = ",D8
  167. PRINT
  168. INPUT"Start : UTC hours= ",H
  169. INPUT"             Mins= ",M
  170. T7=D8+H/24+M/1440
  171. t$=t$+FNt$(H)+FNt$(M)+":00"
  172. PRINT ''
  173. INPUT"duration hours= ",H1
  174. INPUT"          mins= ",M1:T8=T7+H1/24+M1/1440
  175.  PRINT ''
  176. INPUT "TIMESTEP: Min= ",M2:T9=M2/1440
  177. PRINT '
  178. PRINT "    from ",:PRINT USING"######.####";T7,:PRINT " to ";:PRINT USING"######.####";T8
  179. RESTORE Physicaldata:
  180. READ P1,C,R0,F,G0,G1
  181. P2=2*P1:P0=P1/180:F=1/F
  182. Getyear:
  183. READ Y1,G2:IF Y1=Y THEN statdata:
  184. IF Y1>0 THEN Getyear:
  185. IF Y1=0 THEN PRINT "UNABLE TO FIND YEAR:STOP
  186. statdata:
  187. RESTORE stationdata:
  188. READ l9,w9,H9,C$,e8
  189. GOSUB observerdata: PRINT''
  190. DEFDBL Q,k
  191. GOSUB pobsdata:
  192. PRINT "-------------satellite selection menu -------------------------"
  193. I=0:RESTORE keps:
  194. WINDOW 3,"which Satellite ",(362,0)-(630,120),16,1
  195. COLOR 2,1:CLS
  196. mnu:
  197. READ s$:IF s$="END" THEN choice: ELSE READ I$:I=I+1
  198. PRINT "Entry # ";I;" for ";s$
  199.  
  200. READ d,d,d,d,d,d,d,d,d,d,d,d,d,d : GOTO mnu:
  201. choice:
  202. INPUT "Select entry # ",J:RESTORE keps:
  203. IF J<1 OR J>I THEN choice:
  204. CLS
  205. FOR I= 1 TO J:READ s$,I$,Y3,D3,H3,M3,S3      'Read keps for chosen satellite
  206. READ K0,M0,N0,A0,i0,E0,W0,O0,F1:NEXT         ' by stepping through.
  207. WINDOW OUTPUT 1
  208. 'PRINT :PRINT  "Doppler calculated for frequency = ",F1," MHz "
  209. 'INPUT "Change frequency to (0 for default) ",d
  210. IF d<>0 THEN F1=d
  211. IF Y3<>Y THEN PRINT "ELEMENTS NOT FROM CURRENT YEAR":STOP
  212. IF D3=INT(D3) THEN T0=D3+H3/24+M3/1440+S3/86400& ELSE T0=D3
  213. PRINT :PRINT "Orbital Elements for ";s$
  214. PRINT "    Reference Id.= ";I$:PRINT 
  215. 'PRINT "Reference Epoch = ";Y3;" + ";T0
  216. 'PRINT "Starting  Epoch = ";Y;" + ";T7;" = ";T$
  217. 'PRINT 
  218. 'PRINT "Parameter";SPC(9);"Reference";SPC(22);"Starting"
  219. t=T7
  220. GOSUB matrix: : GOSUB meananomoly: 
  221. 'PRINT "Orbit number ";SPC(10);K0;SPC(10);K
  222. 'PRINT "Mean Anomaly ";SPC(10);M0;SPC(10);M/P0
  223. 'PRINT "Inclination  ";SPC(10);I0
  224. 'PRINT "Eccentricity ";SPC(10);E0
  225. 'PRINT "Mean Motion  ";SPC(10);N0
  226. 'PRINT "S.M.A.,Km    ";SPC(10);A0
  227. 'PRINT "Arg.Perigee  ";SPC(10);W0;SPC(10);W
  228. 'PRINT " R. A. A. N. ";SPC(10);O0;SPC(10);O
  229. 'PRINT "Freq. Mhz.   ";SPC(10);F1
  230.  fsh=0
  231. k9=8999999000#:k8=8999999000#:
  232.  
  233. maincomputationloop:
  234. FOR t=T7 TO T8 STEP T9:k7= INT(t):GOSUB meananomoly
  235. IF k=k9 THEN 720:GOSUB matrix::k8=8999999000#:k9=8999999000#
  236. 720 GOSUB Keplerseq: 
  237. GOSUB parameters:
  238. start = 0
  239. IF fsh=1 AND e9<e8 THEN GOSUB last:
  240. WINDOW OUTPUT 2
  241.   
  242.  IF l5>0 THEN l6=90-l5 ELSE l6=90-l5
  243.  IF w5 <180 THEN w6=180-w5 ELSE w6 =540-w5
  244.  IF i0> 90 THEN GOTO gtr:
  245.  IF yyy>w6 THEN start=1
  246.  gtr:
  247.  IF i0>90 AND yyy<w6 THEN start=1
  248.  IF start=1 THEN PSET (w6*329/360-20,l6*129/180+10)
  249.  LINE -(w6*329/360-20,l6*129/180+10)
  250.  xxx=l6
  251.  yyy=w6
  252.  WINDOW OUTPUT 1
  253. IF e9<e8 THEN 830
  254.  
  255. IF k7=k8 AND k9=k THEN 770
  256. 730 IF k=k9 THEN 760 ELSE GOSUB pager:
  257. k9=k
  258.  
  259. 740 PRINT " U.T.C.    AZ    EL   DOPPLER  RANGE    HEIGHT   LAT   LONG   PHASE"
  260. 750 PRINT "HHMM:SS   deg   deg      Hz      km         km   deg    deg   (256)"
  261. 760 PRINT SPC(10);"---DAY# ";k7;"---ORBIT # ";k;"----"
  262. 770 k8=k7:T4=t-k7:S4=INT(T4*86400& +.5):H4=INT(S4/3600+.000001)
  263. 780 M4=INT((S4-H4*3600)/60+.000001):S4=INT(S4-3600*H4-60*M4)
  264. 790 t$=FNt$(H4)+FNt$(M4)+":"+FNt$(S4)
  265.     GOSUB startime:
  266. 800 F9=-F1*1000000!*R8/C  : DEF FNI(d)=SGN(d)*INT(ABS(d)+.5)
  267. 810 PRINT t$;:PRINT USING "######";FNI(A9);FNI(e9);:PRINT  USING"#######";FNI(F9);
  268.     PRINT USING "#########";FNI(R5);FNI(R-R0);:PRINT  USING"######";FNI(l5);FNI(w5);M9
  269. 820 finish$=t$
  270.     fsh=1 
  271. 830 NEXT:PRINT: INPUT"PRESS RETURN TO CONTINUE:",d$:IF d$="s" THEN STOP
  272. GOTO begin:
  273.  
  274. pager:
  275. PRINT  C9$;C$;"  lat=";l9;"  W.Long=";w9;"  Ht. = "H9;
  276. P=P+1:PRINT SPC(10);" Pg.="P
  277. PRINT  SPC(10);"---MINIMUM ELEVATION= ";e8;"Deg.--"
  278. PRINT
  279. RETURN
  280.  
  281. startime:
  282. WINDOW OUTPUT 3
  283. IF ss=0 THEN PRINT " listen time for :- ";s$
  284. IF qq=1 THEN ss=0
  285. IF qq=1 THEN qq=0
  286. ss=ss+1
  287. IF ss=1 THEN PRINT t$;" - ";
  288. WINDOW OUTPUT 1
  289. RETURN
  290.  
  291. last:
  292. WINDOW OUTPUT 3
  293. PRINT  finish$
  294. fsh=0
  295. qq=1
  296. RETURN
  297.  
  298. observerdata:
  299. L8=l9*P0
  300. S9=SIN(L8)
  301. C9=COS(L8)
  302. S8=SIN(-w9*P0):C8=COS(w9*P0)
  303. R9=R0*(1-(F/2)+(F/2)*COS(2*L8))+H9/1000
  304. L8=ATN((1-F)^2*S9/C9):Z9=R9*SIN(L8)
  305. X9=R9*COS(L8)*C8:Y9=R9*COS(L8)*S8
  306. RETURN
  307.  
  308. pobsdata:
  309. PRINT C$;"   Lat.="l9;" W.Long.=";w9;"   ht.=";H9
  310. PRINT TAB(5)"---Minimum elevation  ";e8;"Deg--"
  311. PRINT 
  312. RETURN
  313.  
  314. matrix:
  315. IF N0>.1 THEN A0=((G0/(N0^2))^(1/3))
  316. IF N0<=.1 THEN N0=SQR(G0/(A0^3))
  317. E2=1-E0^2:E1=SQR(E2):Q0=M0/360+K0
  318. K2=9.95*((R0/A0)^3.5)/(E2^2)
  319. S1=SIN(i0*P0):C1=COS(i0*P0)
  320. O=O0-(t-T0)*K2*C1
  321. S0=SIN(O*P0)
  322. C0=COS(O*P0)
  323. W=W0+(t-T0)*K2*(2.5 * (C1^2)-.5)
  324. S2=SIN(W*P0)  
  325. C2=COS(W*P0)
  326. C(1,1)=+(C2*C0)-(S2*S0*C1) 
  327. C(1,2)=-(S2*C0)-(C2*S0*C1)
  328. C(2,1)=+(C2*S0)+(S2*C0*C1) 
  329. C(2,2)=-(S2*S0)+(C2*C0*C1)
  330. C(3,1)=+(S2*S1)           
  331. C(3,2)=+(C2*S1)
  332. RETURN
  333.  
  334. meananomoly:
  335. Q=N0*(t-T0)+Q0:k=INT(Q):M9=INT((Q-k)*256):M=(Q-k)*P2
  336. RETURN
  337.  
  338.  
  339. keps:
  340. DATA "MIR"
  341. DATA "NASA"
  342. DATA 88,221.77631,0,0,0
  343. DATA 14211
  344. DATA 89.46
  345. DATA 15.71082,0
  346. DATA 51.62          
  347. DATA 0.0019
  348. DATA 270.39
  349. DATA 157.06
  350. DATA 143.625
  351.  
  352. DATA "METEOR 2/16"
  353. DATA "NASA"
  354. DATA 88,221.1687,0,0,0
  355. DATA 4923
  356. DATA 358.69
  357. DATA 13.83355,0
  358. DATA 82.56
  359. DATA 0.0013
  360. DATA 1.45
  361. DATA 107.54
  362. DATA 137.850
  363.  
  364. DATA "METEOR 2/15"
  365. DATA "NASA"
  366. DATA 88,221.49481,0,0,0
  367. DATA 7899
  368. DATA 278.33
  369. DATA 13.83599,0
  370. DATA 82.47
  371. DATA 0.0014
  372. DATA 81.95
  373. DATA 52.59
  374. DATA 137.85
  375.  
  376. DATA"NOAA-10"
  377. DATA"NASA"
  378. DATA 88,221.20959,0,0,0
  379. DATA 9817
  380. DATA 283.30
  381. DATA 14.22608,0
  382. DATA 98.68
  383. DATA 0.0015
  384. DATA 76.98
  385. DATA 251.17
  386. DATA 137.5
  387.  
  388. DATA "NOAA-9"
  389. DATA "NASA"
  390. DATA 88,207.77328,0,0,0
  391. DATA 18639
  392. DATA 214.23
  393. DATA 14.11613,0
  394. DATA 99.1
  395. DATA 0.0015
  396. DATA 145.99
  397. DATA 183.10
  398. DATA 137.62
  399.  
  400. DATA "METEOR 30"
  401. DATA "NASA"
  402. DATA 87,346.29912200,0,0,0
  403. DATA 40878
  404. DATA 72.8717
  405. DATA 14.98493528,0
  406. DATA 97.7216
  407. DATA 0.0041
  408. DATA 286.7977
  409. DATA 72.4335
  410. DATA 137.010
  411.  
  412. DATA "SALYUT 7"
  413. DATA "NASA"
  414. DATA 88,221.79446,0,0,0
  415. DATA 36015
  416. DATA 336.53
  417. DATA 15.33203,0
  418. DATA 51.61
  419. DATA 0.0001
  420. DATA 23.65
  421. DATA 35.54
  422. DATA 20.005
  423.  
  424. DATA "oscar-9"
  425. DATA "amsat-uk"
  426. DATA 88,9.26122218,0,0,0
  427. DATA 34825
  428. DATA 182.6754
  429. DATA 15.31087661,0
  430. DATA 97.63
  431. DATA 0.000
  432. DATA 177.45
  433. DATA 37.4965
  434. DATA 145.825
  435.  
  436. DATA "oscar 11"
  437. DATA "amsat-uk"
  438. DATA 88,9.20080544,0,0,0
  439. DATA 20580
  440. DATA 192.7829
  441. DATA 14.62212586,0
  442. DATA 98.0797
  443. DATA 0.001
  444. DATA 167.37
  445. DATA 75.76
  446. DATA 145.825
  447.  
  448. DATA "END"                     
  449. 'ADD NEW DATA HERE NAME, SOURCE, EPOCH, ORBIT, MA, MM, INC, ECC, ARG, RAAN, FQ
  450.  
  451.  
  452.  
  453.  
  454. Physicaldata:
  455. DATA 3.1415926535,2.997925E5,6378.160,298.25:  'PI/VEL LIGHT/RAD EARTH/FLATTENING
  456. DATA 7.5369793E13,1.0027379093:                'GM OF EARTH/SID/SOLAR TIME
  457.  
  458. siderealdata:
  459. DATA 86,0.27
  460. DATA 87,0.2753552680
  461. DATA 88,0.2746921630
  462. DATA 89,0.2767669670
  463. DATA 90,0.2767669760
  464. DATA 0,0
  465.  
  466. stationdata:
  467. DATA 51.26833,0.56333,35,"G8NTH",1:    'Long,Lat deg west,height meters,Callsign,min ele of horz.
  468.  
  469.  
  470.  
  471.  
  472. daysofyear:
  473. DATA 0,31,59,90,120,151,181,212,243,273,304,334,365
  474.  
  475. Keplerseq:
  476. E=M+E0*SIN(M)+.5*(E0^2)*SIN(2*M)
  477. 10420 S3=SIN(E):C3=COS(E):R3=1-E0*C3:M1=E-E0*S3
  478. M5=M1-M:IF ABS(M5)<.000001 THEN 10450 ELSE E=E-M5/R3:GOTO 10420
  479. 10450 X0=A0*(C3-E0):Y0=A0*E1*S3:R=A0*R3
  480. X1=X0*C(1,1)+Y0*C(1,2):Y1=X0*C(2,1)+Y0*C(2,2):Z1=X0*C(3,1)+Y0*C(3,2)
  481. G7=t*G1+G2:G7=(G7-INT(G7))*P2:S7=-SIN(G7):C7=COS(G7)
  482. X=+(X1*C7)-(Y1*S7):Y=+(X1*S7)+(Y1*C7):Z=Z1:RETURN
  483.  
  484. parameters:
  485. x5=(X-X9):y5=(Y-Y9):Z5=Z-Z9:R5=SQR(x5^2+y5^2+Z5^2)
  486. IF T6<>t THEN R8=((R6-R5)/(T6-t))/86400& 
  487. IF T6=t THEN R8 = -8999999000#
  488. R6=R5:T6=t
  489. Z8=+(x5*C8*C9)+(y5*S8*C9)+(Z5*C9)
  490. X8=-(x5*C8*S9)-(y5*S8*S9)+(Z5*C9):Y8=(y5*C8)-(x5*S8)
  491. S5=Z8/R5:C5=SQR(1-S5*S5):e9=ATN(S5/C5)/P0
  492. A9=ATN(Y8/X8)/P0
  493. w5=(ATN(Y/X))*57.3
  494. IF X<0 THEN w5=180-w5
  495. IF X>0 AND Y<0 THEN w5=-w5
  496. IF X>0 AND Y>0 THEN w5=360-w5
  497. IF X=0 AND Y>=0 THEN w5=270
  498. IF X=0 AND Y<0 THEN w5=90
  499. IF X8<0 THEN A9=A9+180
  500. IF X8>0 AND Y8<0 THEN A9=360+A9
  501. IF X8=0 AND Y8>=0 THEN A9=90
  502. IF X8=0 AND Y8<0 THEN A9=270
  503. B5=Z/R:l5=ATN(B5/(SQR(1-B5^2)))/P0
  504. RETURN
  505.  
  506.  
  507.  
  508.