ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

174 lines
4.3 KiB

  1. 100 REM PHYSICAL EPHEMERIS OF MARS
  2. 105 REM
  3. 106 DEFDBL A-Z
  4. 110 DT=57: REM Value of ET-UT (sec)
  5. 111 REM in 1990; change DT for
  6. 112 REM other years as needed!!
  7. 115 P1=3.14159265#
  8. 120 P2=2*P1: RD=180/P1: DR=1/RD
  9. 125 GOSUB 330: REM Get date and UT
  10. 130 D=(J-2451545!)+F
  11. 135 D=D+DT/86400!: REM UT to ET
  12. 140 GOSUB 405: PRINT
  13. 145 READ A1,A2,D1,D2
  14. 150 T=T-1: REM Cent from 2000.0
  15. 155 A1=A1+A2*T
  16. 160 D1=D1+D2*T
  17. 165 Q=A1: GOSUB 710: A1=Q*DR
  18. 170 Q=D1: GOSUB 710: D1=Q*DR
  19. 175 D9=COS(D5)*SIN(A1-A5)
  20. 180 N9=SIN(D1)*COS(D5)*COS(A1-A5)
  21. 185 N9=N9-COS(D1)*SIN(D5)
  22. 190 K=RD*ATN(N9/D9)
  23. 195 IF D9<0 THEN K=K+180
  24. 205 READ W0,W1,W2: GOSUB 304
  25. 215 REM
  26. 220 REM Planetocentric decl. Earth
  27. 222 SD=-SIN(D1)*SIN(D5)
  28. 224 SD=SD-COS(D1)*COS(D5)*COS(A1-A5)
  29. 226 DE=RD*ATN(SD/SQR(1-SD*SD))
  30. 228 REM
  31. 230 REM P.A. of Axis
  32. 232 SP=COS(D1)*SIN(A1-A5)
  33. 234 CP=SIN(D1)*COS(D5)
  34. 236 CP=CP-COS(D1)*SIN(D5)*COS(A1-A5)
  35. 238 PA=RD*ATN(SP/CP)
  36. 240 IF CP<0 THEN PA=PA+180
  37. 242 IF PA<0 THEN PA=PA+360
  38. 244 IF PA>=360 THEN PA=PA-360
  39. 248 REM
  40. 250 REM Phase and magnitude
  41. 252 K4=((R4+RR)^2-R*R)/(4*R4*RR)
  42. 254 CI=(R4*R4+RR*RR-R*R)/(2*R4*RR)
  43. 256 I=RD*ATN(SQR(1-CI*CI)/CI)
  44. 258 M4=5*LOG(RR*R4)/LOG(10)
  45. 260 M4=-1.52+.016*I+M4
  46. 262 REM
  47. 270 A1$="Central meridian: ###.##"
  48. 272 A2$="P.A. of axis: ###.##"
  49. 274 A3$="Decl. of Earth: ###.##"
  50. 276 A4$="Angular diameter: ###.#"
  51. 278 A5$="Phase: ###.###"
  52. 280 A6$="Magnitude: ###.#"
  53. 282 PRINT USING A1$;C
  54. 284 PRINT USING A2$;PA
  55. 286 PRINT USING A3$;DE
  56. 288 PRINT USING A4$;9.359999/RR
  57. 290 PRINT USING A5$;K4
  58. 292 PRINT USING A6$;M4
  59. 300 END
  60. 304 REM Rotations from epoch
  61. 305 W=W0+W1*(D-.0057755*RR)+W2*T
  62. 306 Q=W-K: GOSUB 710: C=Q
  63. 308 RETURN
  64. 309 REM North Pole R.A.
  65. 310 DATA 317.681, +0.678
  66. 311 REM North Pole Dec.
  67. 312 DATA 52.886, +0.352
  68. 313 REM Rotation
  69. 314 DATA 176.655,350.8919830,0.62
  70. 315 REM
  71. 320 REM Calendar --> JD
  72. 325 REM
  73. 330 INPUT "YR,MO,DAY ";Y,M,D
  74. 335 INPUT "UT (H,M,S) ";H1,M1,S1
  75. 340 D=D+H1/24+M1/1440+S1/86400!
  76. 345 G=1: IF Y<1582 THEN G=0
  77. 350 D1=INT(D): F=D-D1-.5
  78. 355 J=-INT(7*(INT((M+9)/12)+Y)/4)
  79. 360 IF G=0 THEN 380
  80. 365 S=SGN(M-9): A=ABS(M-9)
  81. 370 J3=INT(Y+S*INT(A/7))
  82. 375 J3=-INT((INT(J3/100)+1)*3/4)
  83. 380 J=J+INT(275*M/9)+D1+G*J3
  84. 385 J=J+1721027!+2*G+367*Y
  85. 390 IF F>=0 THEN 400
  86. 395 F=F+1: J=J-1
  87. 400 RETURN
  88. 405 REM Fundamental Arguments
  89. 410 REM
  90. 415 T=D/36525!+1
  91. 420 REM T=Centuries from 1900.0
  92. 425 L0=.779072+.00273790931#*D
  93. 430 G0=.993126+.0027377785#*D
  94. 431 L4=.987353+.00145575328#*D
  95. 432 G4=.053856+.00145561327#*D
  96. 433 F4=.849694+.00145569465#*D
  97. 435 L5=.089608+.00023080893#*D
  98. 440 G5=.056531+.00023080893#*D
  99. 445 G6=.882987+9.294371E-05*D
  100. 450 L0=(L0-INT(L0))*P2
  101. 455 G0=(G0-INT(G0))*P2
  102. 456 L4=(L4-INT(L4))*P2
  103. 457 G4=(G4-INT(G4))*P2
  104. 458 F4=(F4-INT(F4))*P2
  105. 460 L5=(L5-INT(L5))*P2
  106. 465 G5=(G5-INT(G5))*P2
  107. 470 G6=(G6-INT(G6))*P2
  108. 475 REM Sun
  109. 480 L=6910*SIN(G0)
  110. 485 L=L+72*SIN(2*G0)
  111. 490 L=L-17*T*SIN(G0)
  112. 495 L=L-7*COS(G0-G5)
  113. 500 R=1.00014-.01675*COS(G0)
  114. 505 R=R-.00014*COS(2*G0)
  115. 510 L=L0+L/206265!
  116. 515 REM Mars
  117. 520 M=38451!*SIN(G4)
  118. 525 M=M+2238*SIN(2*G4)
  119. 530 M=M+181*SIN(3*G4)
  120. 535 M=M-52*SIN(2*F4)
  121. 540 M=M+37*T*SIN(G4)
  122. 545 M=M-22*COS(G4-2*G5)
  123. 550 M=M-19*SIN(G4-G5)
  124. 555 M=M+17*COS(G4-G5)
  125. 556 M=M+17*SIN(4*G4)
  126. 557 M=M-16*COS(2*G4-2*G5)
  127. 558 M=M+13*COS(G0-2*G4)
  128. 559 M=M-10*SIN(G4-2*F4)
  129. 560 M=M+7*COS(G0-G4)
  130. 561 M=M-7*COS(2*G0-3*G4)
  131. 564 B=6603*SIN(F4)
  132. 565 B=B+622*SIN(G4-F4)
  133. 570 B=B+615*SIN(G4+F4)
  134. 575 B=B+64*SIN(2*G4+F4)
  135. 580 R4=1.53031-.1417*COS(G4)
  136. 585 R4=R4-.0066*COS(2*G4)
  137. 590 R4=R4-.00047*COS(3*G4)
  138. 615 L4=L4+M/206265!: B4=B/206265!
  139. 620 N9=R4*COS(B4)*SIN(L4-L)
  140. 625 D9=R4*COS(B4)*COS(L4-L)+R
  141. 630 L1=ATN(N9/D9)
  142. 635 IF D9<0 THEN L1=L1+P1
  143. 640 LL=L1+L
  144. 645 V=N9*N9+D9*D9
  145. 650 RR=SQR(V+(R4*SIN(B4))^2)
  146. 655 S=R4*SIN(B4)/RR
  147. 660 BB=ATN(S/SQR(1-S*S))
  148. 665 E=(84428!-47*T)/206265!
  149. 670 N9=SIN(LL)*COS(E)-TAN(BB)*SIN(E)
  150. 675 D9=COS(LL): A5=ATN(N9/D9)
  151. 680 IF D9<0 THEN A5=A5+P1
  152. 685 S=SIN(BB)*COS(E)
  153. 690 S=S+COS(BB)*SIN(E)*SIN(LL)
  154. 695 D5=ATN(S/SQR(1-S*S))
  155. 700 RETURN
  156. 705 REM
  157. 710 REM Normalize Degrees
  158. 715 Q=Q/360: Q=Q-INT(Q): Q=Q*360
  159. 720 RETURN
  160. 800 REM This program computes
  161. 810 REM a number of interesting
  162. 811 REM things about Mars' tele-
  163. 812 REM scopic appearance at any
  164. 813 REM date and time (UT). Valid
  165. 814 REM for several centuries, pro-
  166. 815 REM vided that you reset
  167. 816 REM the value of 'Delta-T' in
  168. 817 REM line 110 to an appropriate
  169. 818 REM value. Written by Roger
  170. 819 REM Sinnott, this program is
  171. 820 REM explained more fully in
  172. 821 REM Sky & Telescope magazine
  173. 822 REM for Sept. 1990, page 296.