home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sources / hp48 / 244 < prev    next >
Encoding:
Text File  |  1992-08-13  |  27.0 KB  |  1,602 lines

  1. Newsgroups: comp.sources.hp48
  2. Path: sparky!uunet!seq!spell
  3. From: Kati Sinenmaa <sinenmaa@cc.helsinki.fi>
  4. Subject:  REPOST: v06i018:  Handheld Astronomy v3.01, Part02/03
  5. Message-ID: <1992Aug14.030107.21573@seq.uncwil.edu>
  6. Followup-To: comp.sys.hp48
  7. Sender: spell@seq.uncwil.edu (Chris Spell)
  8. Organization: University of Helsinki
  9. References: <cshp48-v06i017=tyko_ks.225851@seq.uncwil.edu>
  10. Date: Fri, 14 Aug 1992 03:01:07 GMT
  11. Approved: spell@seq.uncwil.edu
  12. Lines: 1592
  13.  
  14. Checksum:  579575514 (verify with brik -cv)
  15. Submitted-by: Kati Sinenmaa <sinenmaa@cc.helsinki.fi>
  16. Posting-number: Volume 6, Issue 18
  17. Archive-name: tyko_ks/part02
  18.  
  19.  
  20. BEGIN_RPL tyko.rpl
  21. %%HP: T(3)A(D)F(.);
  22. DIR
  23.   START.
  24. \<< NOVA { { "SETUP"
  25.   \<< CLEAR SETUP
  26.   \>> } { "JULIA"
  27.   \<< CLEAR 'DN'
  28. PURGE
  29. "Julian Day.fraction"
  30. ":JDAY:" INPUT OBJ\->
  31. DUP DUP 'JD' STO FP
  32. 24 * 12 + TZ + DL +
  33. F24 'LT' STO LT TZ
  34. - DL - 24 / - 'JD0'
  35. STO CHUT JD0 CADA
  36. 'DT' STO NOVA
  37.   \>> } { "LT.ST"
  38.   \<< CLEAR JD0 GWUT
  39. LT TZ - DL -
  40. 1.00273790935 * +
  41. F24 DUP \->HMS "GMST"
  42. \->TAG SWAP \GlM 15 / +
  43. F24 DUP \GD\165 \Ge COS *
  44. 15 / + \->HMS "AST"
  45. \->TAG SWAP \->HMS
  46. "MST" \->TAG
  47.   \>> } { "ST.LT"
  48.   \<< CLEAR JD0 GWUT
  49. LT \GlM 15 / - F24
  50. DUP \->HMS "GMST"
  51. \->TAG SWAP ROT - F24
  52. 99726956633 * \->HMS
  53. TZ + DL + F24 "LT"
  54. \->TAG
  55.   \>> } { "SPACE"
  56.   \<< CLEAR SUDEP
  57.   \>> } { "END"
  58.   \<< WIPE PURGE 2
  59. MENU
  60.   \>> } } TMENU
  61. \>>
  62. ASCAL
  63. \<< -16 CF -19 SF
  64. " Type MONTH and YEAR"
  65. ":MM YYYY:" INPUT
  66. OBJ\-> \-> m y
  67.   \<<
  68.     IF m 0 < m 12 >
  69. OR
  70.     THEN
  71. "Are you an Alien ?"
  72. DOERR
  73.     END m 1 y JDAY
  74. OVER 3 + 7 / FP 7 *
  75. 0 RND 1 + + 7 / 0
  76. RND ERASE -1 39
  77. XRNG 0 24 YRNG
  78. CLLCD
  79. "A calendar v1.0 by KS"
  80. 1 DISP (0,0) (0,21)
  81. (3,0) (3,21) (8,0)
  82. (8,3) (0,0) (13,0)
  83. (8,0) (8,3) (13,0)
  84. (13,3) 1 6
  85.     FOR j LINE
  86.     NEXT 1 7
  87.     FOR j 38 j 3 *
  88. \->V2 0 j 3 * \->V2
  89. LINE 43 j 5 * - 3
  90. \->V2 43 j 5 * - 21
  91. \->V2 LINE
  92.     NEXT PICT RCL 1
  93. 7
  94.     FOR j -1.1 j 5
  95. * + 20.3 \->V2 DAMO j
  96. 1 + GET 1 \->GROB GOR
  97.     NEXT SWAP DUP
  98.     IF 0 ==
  99.     THEN 52
  100.     ELSE DUP
  101.     END 1 \->GROB ROT
  102. (.5,17) ROT GOR
  103. (7,23.5) JG DAMO m
  104. 8 + GET y \->STR + +
  105. 1 \->GROB GOR SWAP 1
  106. + DUP DUP DUP DUP 6
  107. ROLL 0 4
  108.     FOR j .5 14 j 3
  109. * - \->V2 ROT j + 1
  110. \->GROB GOR
  111.     NEXT -42 CF
  112. SWAP DUP 1 + 7 / FP
  113. 7 * 0 RND 'c' STO 1
  114. 'w' STO 1 m + 1 y
  115. JDAY DROP SWAP -
  116.     IF y 1991 \<= y
  117. 2099 \>= OR
  118.     THEN 1 SWAP
  119. "Alarm detect disabled"
  120. 1 DISP
  121.     ELSE DUP y
  122. 1000000 / DUP .01 +
  123. m + SWAP ROT 100 /
  124. + m + 23.5959 2
  125. \->LIST FINDALARM
  126. SWAP FINDALARM -
  127. DUP
  128.       IF 0 ==
  129.       THEN DROP
  130. SWAP (19,2) "No"
  131.       ELSE ROT
  132. (19,2) ROT ABS \->STR
  133.       END
  134. " alarms" + 1
  135. \->GROB GOR 1 ROT
  136.     END
  137.     FOR j
  138.       IF c 0 \=/ c 7
  139. \=/ AND
  140.       THEN c 5 *
  141. 1.3 - 20 w 3 * -
  142. \->V2 j 1 \->GROB GOR c
  143. 1 + 'c' STO
  144.       ELSE 33.7 20
  145. w 3 * - \->V2 j 1
  146. \->GROB GOR 1 'c' STO
  147. w 1 + 'w' STO
  148.       END
  149.     NEXT PICT STO {
  150. } PVIEW { w c PPAR
  151. } PURGE
  152.   \>>
  153. \>>
  154. GSTR
  155. \<< STD \-> y
  156.   \<< y 19 MOD y 100
  157. MOD y 100 / IP DUP
  158. DUP 4 MOD 2 * SWAP
  159. 4 / IP ROT DUP DUP
  160. 8 + 25 / IP - 1 + 3
  161. / IP SWAP ROT -
  162. SWAP - 4 PICK 19 *
  163. + 15 + 30 MOD ROT
  164. DUP 4 / IP 2 * SWAP
  165. 4 MOD SWAP 3 PICK -
  166. SWAP - ROT + 32 + 7
  167. MOD DUP 22 * 3 PICK
  168. 11 * + 4 ROLL + 451
  169. / IP 7 * ROT ROT +
  170. SWAP - 114 + DUP 31
  171. / IP SWAP 31 MOD 1
  172. + \-> M D
  173.     \<< { "March "
  174. "April " } M 2 -
  175. GET D y ABS 10 y
  176. ABS \->STR SIZE DUP
  177. FIX ^ / + y SIGN *
  178. \->STR + STD M
  179.       IF 4 <
  180.       THEN D 22 -
  181. DUP
  182.         IF 0 ==
  183.         THEN DROP
  184. "April " 30
  185.         ELSE "May "
  186. SWAP
  187.         END
  188.       ELSE D 9 +
  189. DUP
  190.         IF 31 >
  191.         THEN
  192. "June " SWAP 31 -
  193.         ELSE "May "
  194. SWAP
  195.         END
  196.       END \->STR +
  197. "Ascension Day"
  198. \->TAG
  199.     \>>
  200.   \>>
  201. \>>
  202. JSTR
  203. \<< STD \-> y
  204.   \<< y 4 MOD 2 * y 7
  205. MOD 4 * + y 19 MOD
  206. 19 * 15 + 30 MOD
  207. SWAP OVER - 34 + 7
  208. MOD 114 + + DUP 31
  209. / IP { "March "
  210. "April " } SWAP 2 -
  211. GET SWAP 31 MOD 1 +
  212. y ABS 10 y ABS \->STR
  213. SIZE DUP FIX ^ / +
  214. y SIGN * \->STR + STD
  215. "Julian Easter"
  216. \->TAG
  217.   \>>
  218. \>>
  219. JDAY
  220. \<< STD \-> m D V
  221.   \<< D m
  222.     IF 3 \>=
  223.     THEN m 3 - V
  224.     ELSE m 9 + V 1
  225. -
  226.     END DUP 4712 +
  227. 365.25 * IP SWAP
  228. 100 / 49 + IP .75 *
  229. IP 38 - V \-> D m y g
  230. W
  231.     \<< y m 30.6 * .5
  232. + IP 59 D + + + DUP
  233. g - "GreCal" \->TAG
  234. SWAP "JulCal" \->TAG
  235.       IF JG SIZE 10
  236. <
  237.       THEN SWAP
  238. DROP DUP 0
  239.       ELSE DROP DUP
  240. W 1 - 100 / 49 + IP
  241. 75 * IP 38 -
  242.       END W 1 -
  243. 4712 + 365.25 * IP
  244. 365 + SWAP - -
  245. "DayNum" \->TAG
  246.     \>>
  247.   \>>
  248. \>>
  249. CADA
  250. \<< STD 0 RND \-> J
  251.   \<< J 1 + 7 / FP 7
  252. * 0 RND 1 + DAMO
  253. SWAP GET
  254.     IF JG SIZE 10
  255. ==
  256.     THEN J 4479.5 -
  257. 36524.25 / IP .75 *
  258. 5 + IP 37 - J +
  259.     ELSE J
  260.     END DUP 59.25 -
  261. 365.25 MOD IP DUP
  262. 5 + 30.6 / IP 2 +
  263. 12 MOD 9 + DAMO
  264. SWAP GET SWAP .5 +
  265. 30.6 MOD IP 1 + ROT
  266. 365.25 / IP 4712 -
  267. DUP ABS DUP 10 SWAP
  268. \->STR SIZE DUP FIX ^
  269. / ROT + SWAP SIGN *
  270. \->STR + + STD
  271.   \>>
  272. \>>
  273. EOFT
  274. \<< 2451545 -
  275. 00273790931 *
  276. 779072 + FP 360 *
  277. F36 \-> L
  278.   \<< '-106.2*SIN(L)+
  279. 596.2*SIN(2*L)+4.4*
  280. SIN(3*L)-12.7*SIN(4
  281. *L)-428.9*COS(L)-
  282. 2.1*COS(2*L)+19.3*
  283. COS(3*L)' EVAL 3600
  284. / 12 SWAP - TZ \GlM
  285. 15 / - + DL +
  286.   \>>
  287. \>>
  288. GWUT
  289. \<< 2451545 - 36525 /
  290. DUP DUP 3 ^
  291. -.0000062 * .093104
  292. ROT 2 ^ * +
  293. 8640184.81287 ROT *
  294. + 24110.54841 +
  295. 3600 / F24 DUP \->HMS
  296. "GMST0" \->TAG SWAP
  297. \>>
  298. EQSO
  299. \<<
  300. "Equinox and Solstice"
  301. ":MM YYYY:" INPUT
  302. OBJ\-> \-> M Y
  303.   \<< M 3 / FP
  304.     IF 0 ==
  305.     THEN Y 2000 -
  306. 1000 / 'P' STO DAES
  307. M 3 / GET EVAL 'P'
  308. PURGE DUP FP 24 *
  309. 12 + TZ + DL + F24
  310. DUO \->HMS "LT" \->TAG
  311. ROT ROT TZ - DL -
  312. 24 / - CADA
  313.     END
  314.   \>>
  315. \>>
  316. CONV
  317. \<< -16 CF \-> l b
  318.   \<< l COS l SIN \Ge
  319. COS * b TAN \Ge SIN *
  320. - \->V2 -16 SF V\-> F36
  321. SWAP DROP "RA" \->TAG
  322. b SIN \Ge COS * b COS
  323. \Ge SIN l SIN * * +
  324. ASIN "DECL" \->TAG
  325. -16 CF
  326.   \>>
  327. \>>
  328. EQEC
  329. \<< { { "MEAN"
  330.   \<< \Ge \GD\Ge - 'E' STO
  331. CONT
  332.   \>> } { "APPAR"
  333.   \<< \Ge 'E' STO CONT
  334.   \>> } } TMENU
  335. "Select conversion"
  336. PROMPT -16 CF STD
  337. HMS\-> '\Gd' STO HMS\->
  338. 15 * '\Ga' STO \Gd SIN
  339. E COS * \Gd COS E SIN
  340. \Ga SIN * * - ASIN
  341. "\Gb" \->TAG \Gd COS \Ga
  342. COS * \Gd SIN E SIN *
  343. \Gd COS E COS \Ga SIN *
  344. * + \->V2 -16 SF V\->
  345. SWAP DROP DUP
  346.   IF 0 <
  347.   THEN 360 +
  348.   END "\Gl" \->TAG { \Ga
  349. \Gd E } PURGE -16 CF
  350. SWAP 0 MENU
  351. \>>
  352. SETUP
  353. \<< { { "DATE"
  354.   \<<
  355. "DATE-form MM DD YYYY"
  356. ":DATE:" INPUT OBJ\->
  357. JDAY 'DN' STO .5 -
  358. 'JD0' STO JD0 LT TZ
  359. - DL - 24 / + 'JD'
  360. STO JD0 CADA 'DT'
  361. STO NOVA
  362.   \>> } { "TIME"
  363.   \<<
  364. "TIME-format HH.MMSS"
  365. ":L/ST:" INPUT OBJ\->
  366. HMS\-> DUP TZ - DL -
  367. 24 / JD0 + 'JD' STO
  368. 'LT' STO CHUT NOVA
  369.   \>> } { "LONG"
  370.   \<<
  371. "Longitude in decimals"
  372. "
  373. West negative
  374. " +
  375. ":\Gl:" INPUT OBJ\->
  376. '\GlM' STO NOVA
  377.   \>> } { "LATIT"
  378.   \<<
  379. "Latitude in decimals"
  380. "
  381. -90 < \O/ < 90
  382. " +
  383. ":\O/:" INPUT OBJ\->
  384. '\O/' STO NOVA
  385.   \>> } { "ZONE"
  386.   \<<
  387. "Integer  -12  to  12"
  388. "
  389. West=neg
  390. " +
  391. ":Time Zone:" INPUT
  392. OBJ\-> 'TZ' STO JD0
  393. LT TZ - DL - 24 / +
  394. 'JD' STO CHUT NOVA
  395.   \>> } { "BACK"
  396.   \<< 0 MENU NOVA
  397.   \>> } { "DST"
  398.   \<< 1 DL 1 * - 'DL'
  399. STO CHUT NOVA
  400.   \>> } { "CALE"
  401.   \<< { "Gregorian "
  402. "  Julian " } JG
  403. SIZE 8 - GET 'JG'
  404. STO JD0 CADA 'DT'
  405. STO NOVA
  406.   \>> } } TMENU NOVA
  407. \>>
  408. SOLAR
  409. \<< 1400 .12 BEEP
  410. 1000 .2 BEEP { {
  411. "Merc"
  412.   \<< CAL1 OBJ\-> DROP
  413. EVAL 'R' STO EVAL
  414. '\Gb' STO EVAL 3600 /
  415. L1 + '\Gl' STO 6.72 .5
  416. 87 G1 1 CONT
  417.   \>> } { "Venu"
  418.   \<< CAL2 OBJ\-> DROP
  419. EVAL 'R' STO EVAL
  420. '\Gb' STO EVAL 3600 /
  421. L2 + '\Gl' STO 16.68
  422. -4. 224 G2 2 CONT
  423.   \>> } { "Mars"
  424.   \<< CAL4 OBJ\-> DROP
  425. EVAL 'R' STO EVAL
  426. '\Gb' STO EVAL 3600 /
  427. L3 + '\Gl' STO 9.36
  428. -1.12 686 G3 3 CONT
  429.   \>> } { "Jupit"
  430.   \<< CAL5 OBJ\-> DROP
  431. EVAL 'R' STO EVAL
  432. '\Gb' STO EVAL 3600 /
  433. L4 + '\Gl' STO 196.88
  434. -9.33 4360 G4 4
  435. CONT
  436.   \>> } { "Satur"
  437.   \<< CAL6 OBJ\-> DROP
  438. EVAL 'R' STO EVAL
  439. '\Gb' STO EVAL 3600 /
  440. L5 + '\Gl' STO 165.46
  441. -8.5 10740 G5 5
  442. CONT
  443.   \>> } { "Uran"
  444.   \<< CAL7 OBJ\-> DROP
  445. EVAL 'R' STO EVAL
  446. '\Gb' STO EVAL 3600 /
  447. L6 + '\Gl' STO 70.04
  448. -7.2 30690 G6 6
  449. CONT
  450.   \>> } { "Neptu"
  451.   \<< CAL8 OBJ\-> DROP
  452. EVAL 'R' STO EVAL
  453. '\Gb' STO EVAL 3600 /
  454. L7 + '\Gl' STO 67
  455. -6.86 60181 G7 7
  456. CONT
  457.   \>> } { "Pluto"
  458.   \<< CAL9 OBJ\-> DROP
  459. EVAL 'R' STO EVAL
  460. '\Gb' STO EVAL 3600 /
  461. L8 + '\Gl' STO 4.14
  462. -1 90000 G8 8 CONT
  463.   \>> } { "Moon"
  464.   \<< CALM OBJ\-> DROP
  465. EVAL '\GD' STO r
  466. 23454.78 * 'R' STO
  467. EVAL 3600 / DUP '\Gb'
  468. STO 'b' STO EVAL
  469. 3600 / L9 \GD\165 + +
  470. F36 DUP '\Gl' STO 'l'
  471. STO \Gb COS \Gl \GlS -
  472. COS * ACOS '\165' STO
  473. \GD R \165 COS * - R \165
  474. SIN * -16 CF \->V2
  475. -16 SF V\-> F36 '\Gm'
  476. STO DROP 936.75 \GD /
  477. \->HMS 29 G9 9 CONT
  478.   \>> } { "CALE"
  479.   \<< { "Gregorian "
  480. "  Julian " } JG
  481. SIZE 8 - GET 'JG'
  482. STO JD0 CADA 'DT'
  483. STO NOVA
  484.   \>> } } TMENU
  485. "   Select  Object"
  486. PROMPT 'n' STO *
  487. 360 / NEG JD + CADA
  488. '\Gt' STO
  489.   IF n 9 <
  490.   THEN \Gl F36 '\Gl'
  491. STO \Gb 3600 / '\Gb'
  492. STO GEOC 5 R \GD * 1
  493. l \Gl - COS + .5 * \v/
  494. / LOG * + 'V' STO r
  495. r * \GD \GD * + R R * -
  496. 2 r \GD * * / ACOS
  497. '\165' STO R R * \GD \GD *
  498. + r r * - 2 R \GD * *
  499. / ACOS '\Gm' STO \GD /
  500.   END 'SD' STO l b
  501. CONV '\Gd' STO '\Ga'
  502. STO AARS 400 .2
  503. BEEP 800 .2 BEEP
  504. 1600 .2 BEEP { {
  505. "PICT"
  506.   \<< DRAV
  507.   \>> } { "FILE"
  508.   \<< CROB
  509.   \>> } { "DATA"
  510.   \<< PDRV
  511.   \>> } { "NEW"
  512.   \<< SOLAR
  513.   \>> } { "END"
  514.   \<< { D L1 G1 F1 L2
  515. G2 F2 L3 F3 L4 F4
  516. L5 G5 F5 L6 G6 F6
  517. L7 G7 F7 L8 G8 F8
  518. G9 F9 \Gt l b \165 \Gm \GD }
  519. PURGE WIPE PURGE 2
  520. MENU
  521.   \>> } } TMENU
  522. \>>
  523. SUDEP
  524. \<< DEG MISC 900 .13
  525. BEEP 500 .2 BEEP {
  526. { "SUN"
  527.   \<< 10 'n' STO r
  528. 'R' STO 15.99 R /
  529. \->HMS 'SD' STO .62
  530. 'BV' STO -26.78 'V'
  531. STO JD0 .5 + EOFT
  532. 'ET' STO \GlS '\Gl' STO
  533. \Gl \GbS '\Gb' STO \Gb CONV
  534. '\Gd' STO '\Ga' STO
  535. AARS SDRV
  536.   \>> } { "SOLAR"
  537.   \<<
  538. [ .374897 .259091 .827362 .700695 .485541 .566441 .505498 .292498 .987353
  539. 849694
  540. 089608 .814794 .133295 .882987 .821218 .870169 .400589 .664614 .846912
  541. 725368
  542. 480856 .663854 .04102 .357355 ]
  543. [ .03629164709 .0367481952 .03386319198 .011367714 .01136759566 .01136762384
  544. 00445046867 .00445040017 .00145575328 .00145569465 .00023080893
  545. 00023080893
  546. 00009294371 .00009294371 .00009294371 .00003269438 .00003269438
  547. 00003265562
  548. 00001672092 .00001672092 .00001663715 .00001115482 .00001104864
  549. 00001104864 ]
  550. C * + OBJ\-> DROP {
  551. F8 G8 L8 F7 G7 L7
  552. F6 G6 L6 F5 G5 L5
  553. F4 L4 F3 L3 F2 L2
  554. F1 G1 L1 D F9 G9 }
  555. \-> i
  556.     \<< 1 24
  557.       FOR j FP 360
  558. * i j GET STO
  559.       NEXT
  560.     \>> SOLAR
  561.   \>> } { "STARS"
  562.   \<< DEEP
  563.   \>> } { "CALE"
  564.   \<< { "Gregorian "
  565. "  Julian " } JG
  566. SIZE 8 - GET 'JG'
  567. STO JD0 CADA 'DT'
  568. STO NOVA
  569.   \>> } { "BACK"
  570.   \<< START.
  571.   \>> } { "END"
  572.   \<< WIPE PURGE 2
  573. MENU
  574.   \>> } } TMENU
  575. \>>
  576. MISC
  577. \<< STD CLLCD
  578. "Wait ..." 1 DISP
  579. JD0 GWUT LT TZ - DL
  580. - 1.00273790935 * +
  581. \GlM 15 / + F24 'ST'
  582. STO HMS\-> 'GST' STO
  583. JD 2451545 - DUP
  584. 'C' STO 36525 / 't'
  585. STO t 1 + 'T' STO
  586. 606434
  587. 03660110129 C * +
  588. 779072
  589. 00273790931 C * +
  590. 993126 .0027377785
  591. C * + .140023
  592. 00445036173 C * +
  593. 053856
  594. 00145561327 C * +
  595. 056531
  596. 00023080893 C * +
  597. { G4 G3 G2 GS LS L9
  598. } DEG \-> i
  599.   \<< 1 6
  600.     FOR j FP 360 *
  601. i j GET STO
  602.     NEXT 125.044555
  603. 1934.1361849 t * -
  604. 0020762 t 2 ^ * +
  605. t 3 ^ 467410 / + t
  606. 4 ^ 60616000 / +
  607. '\GW' STO -.00172 \GW
  608. SIN * .000132 2 LS
  609. * SIN * - .000023 2
  610. L9 * SIN * -
  611. 000021 2 \GW * SIN *
  612. + HMS\-> '\GD\165' STO
  613. 23.2621448 .0046815
  614. t * - .000000059 t
  615. 2 ^ * - .0000001813
  616. t 3 ^ * + HMS\->
  617. 00092 \GW COS *
  618. 000057 2 LS * COS
  619. * + .00001 2 L9 *
  620. COS * + .000009 2 \GW
  621. * COS * - HMS\-> DUP
  622. '\GD\Ge' STO + '\Ge' STO
  623. t 10 / 'p' STO CALS
  624. OBJ\-> DROP EVAL 'r'
  625. STO EVAL 3600 / LS
  626. + F36 \GD\165 .0052 r /
  627. - + '\GlS' STO EVAL
  628. SWAP EVAL p * +
  629. 100000000 / R\->D NEG
  630. '\GbS' STO
  631.   \>>
  632. \>>
  633. CROB
  634. \<< ERASE NM n GET 2
  635. \->GROB PICT STO PICT
  636. RCL { # 0d # 15d }
  637. DT 1 \->GROB GOR 6
  638. FIX { # 60d # 7d }
  639. "GMST0= " GST \->HMS
  640. ZZ { # 71d # 14d }
  641. "LST= " ST \->HMS ZZ
  642. { # 0d # 23d }
  643. "\Gl= " \Gl \->HMS ZZ {
  644. # 0d # 29d } "\Gb= "
  645. \Gb \->HMS ZZ { # 0d
  646. # 50d } "r= " R ZZ
  647. { # 0d # 57d }
  648. "\GD= " \GD ZZ { # 0d
  649. # 37d } "\Ga= " \Ga 15
  650. / \->HMS ZZ { # 0d
  651. # 43d } "\Gd= " \Gd
  652. \->HMS ZZ { # 60d
  653. # 21d } "AZ= " A
  654. \->HMS ZZ { # 60d
  655. # 27d } "a = " a
  656. \->HMS ZZ { # 53d
  657. # 58d } "\Gt= " \Gt + 1
  658. \->GROB GOR 3 FIX {
  659. # 66d # 40d }
  660. "RISE = " RI ZZ {
  661. # 65d # 46d }
  662. "  ET = " ET \->HMS ZZ
  663. { # 65d # 52d }
  664. " SET = " SE ZZ {
  665. # 57d # 33d } "D= "
  666. SD ZZ { # 94d # 33d
  667. } "M= " V ZZ {
  668. # 60d # 1d }
  669. "JDAY= " JD ZZ {
  670. # 0d # 9d } "CAL="
  671. JG + 1 \->GROB GOR
  672. STD PICT STO PICT
  673. RCL \->LCD { } PVIEW
  674. \>>
  675. DRAV
  676. \<< -16 CF -19 SF
  677. ERASE -35 35 XRNG
  678. -15 15 YRNG CLLCD
  679. "Drawing system ..."
  680. 1 DISP DEG
  681.   IF 'IMAG' VTYPE 0
  682. <
  683.   THEN 3 FIX (0,0)
  684. 1.5 0 360 ARC
  685. (-35,0) (0,0) LINE
  686. 1 RES CONIC 'X'
  687. INDEP 'Y' DEPND 'X^
  688. 2/196+Y^2/16=1'
  689. STEQ DRAW 'X^2/625+
  690. Y^2/81=1' STEQ DRAW
  691. PICT RCL { # 0d
  692. # 8d } "Earth" 1
  693. \->GROB GOR 'IMAG'
  694. STO
  695.   END IMAG { # 0d
  696. # 0d } \GlS LT 12 +
  697. 15 * + 15 DL * + \->
  698. x
  699.   \<<
  700.     IF n 2 \<=
  701.     THEN \Gl COS 14 *
  702. \Gl SIN 4 * R\->C 1.2
  703. 0 360 ARC \GlS 180 -
  704. DUP COS 25 * SWAP
  705. SIN 9 * R\->C DUP 1.8
  706. 0 360 ARC x COS 2.3
  707. * x SIN 2.3 * R\->C +
  708. 6 0 360 ARC
  709.       ELSE
  710.         IF n 9 ==
  711.         THEN \GlS 180
  712. - DUP COS 25 * SWAP
  713. SIN 9 * R\->C DUP 1.5
  714. 0 360 ARC x COS 2.3
  715. * x SIN 2.3 * R\->C +
  716. 6 0 360 ARC PICT
  717. RCL GOR \GlS COS 25 *
  718. \GlS SIN 9 * R\->C
  719. CENTR { # 0d # 0d }
  720. 'X' INDEP 'Y' DEPND
  721. CONIC 'X^2/81+Y^2/9
  722. =1' STEQ DRAW \Gl COS
  723. 9 * \Gl SIN 3 * R\->C
  724. 1.1 0 360 ARC
  725.         ELSE \GlS 180
  726. - DUP COS 14 * SWAP
  727. SIN 4 * R\->C DUP 1.5
  728. 0 360 ARC x COS 2.3
  729. * x SIN 2.3 * R\->C +
  730. 6 0 360 ARC \Gl COS
  731. 25 * \Gl SIN 9 * R\->C
  732. 1.5 0 360 ARC
  733.         END
  734.       END 'EQ'
  735. PURGE PICT RCL GOR
  736. { # 0d # 0d } NM n
  737. GET 2 \->GROB GOR {
  738. # 70d # 0d } DT 1
  739. \->GROB GOR { # 1d
  740. # 58d } "\Gb= "
  741.       IF n 9 ==
  742.       THEN \GD 6378 '
  743. 1_km' * *
  744.       ELSE R '1_AU'
  745. *
  746.       END \Gb SIN * 5
  747. FIX ZZ { # 88d
  748. # 58d } "LT= " LT
  749. \->HMS ZZ STD -16 CF
  750. PICT STO PICT RCL
  751. \->LCD { } PVIEW
  752.   \>>
  753. \>>
  754. PDRV
  755. \<< STD -19 SF "G" n
  756. + STR\-> F36 "L" n +
  757. STR\-> F36 "F" n +
  758. STR\-> F36 \-> M L F
  759.   \<< 6 FIX "L = " L
  760. \->HMS + "  M = " M
  761. \->HMS + + "\pi = " L M
  762. - F36 \->HMS +
  763. "  \GW = " L F - F36
  764. \->HMS + + "T = " t +
  765. "  \Ge = " \Ge \->HMS + +
  766. "\GD\165 = " \GD\165 \->HMS
  767. 10000 * + "  \GD\Ge = "
  768. \GD\Ge \->HMS 10000 * + +
  769. "l = " l \->HMS +
  770. "  b = " b \->HMS + +
  771. "\165 = " \165 \->HMS +
  772. "  \GDt = " \GD 8.31675
  773. * \->HMS + + "i = " \Gm
  774. \->HMS + "  k = " 1 \Gm
  775. COS + 2 / + + STD
  776. -6.7 6.5 XRNG 0 8.2
  777. YRNG DT " " UT + +
  778.   \>> 1 \->GROB PICT
  779. STO PICT RCL 1 7
  780.   FOR j -6.5 j \->V2
  781. ROT 1 \->GROB GOR
  782.   NEXT PICT STO { }
  783. PVIEW
  784. \>>
  785. SDRV
  786. \<< -16 CF -19 SF 6
  787. FIX "          " DT
  788. + "R= " R + " UT= "
  789. UT + + "\Gl = " \Gl
  790. \->HMS + "  \Gb = " \Gb
  791. \->HMS + + "\Ga =  " \Ga
  792. 15 / \->HMS +
  793. "  \Gd = " \Gd \->HMS + +
  794. "AZI = " A +
  795. "  ALT = " a + + 3
  796. FIX "RISE " RI +
  797. " SET " SE + +
  798. " ET= " ET \->HMS + +
  799. "V= " V + " B-V= "
  800. BV + + " SD= " SD +
  801. + "\GD\165 " \GD\165 \->HMS
  802. 10000 * + " \GD\Ge " \GD\Ge
  803. \->HMS 10000 * + +
  804. STD " \Ge " \Ge \->HMS +
  805. + ERASE -6.7 6.5
  806. XRNG .3 8.3 YRNG
  807. STD NM n GET 2
  808. \->GROB PICT STO PICT
  809. RCL 1 8
  810.   FOR j -6.5 j \->V2
  811. ROT 1 \->GROB GOR
  812.   NEXT PICT STO { }
  813. PVIEW
  814. \>>
  815. CHUT
  816. \<< LT TZ - DL - \-> U
  817.   \<< U F24 \->HMS
  818.     IF U 0 < U 24 \>=
  819. OR
  820.     THEN {
  821. " yesterday" ""
  822. " tomorrow" } U
  823. SIGN 2 + GET
  824.     ELSE " today"
  825.     END + 'UT' STO
  826.   \>>
  827. \>>
  828. DEEP
  829. \<< 'SD' PURGE
  830.   IF 'SDAT' VTYPE 0
  831. <
  832.   THEN
  833. "Star data not exist"
  834. DOERR
  835.   ELSE 1 'n' STO {
  836. { "PICK"
  837.     \<< NEWS
  838.     \>> } { "CONT"
  839.     \<< 1.396971 t *
  840. 0003086 t t * * +
  841. 013056 t *
  842. 0000092 t t * * -
  843. 5.12362 .241614 t *
  844. 0001122 t t * * +
  845. + SDAT n GET OBJ\->
  846. DROP 'V' STO 'BV'
  847. STO "_pc " + 'R'
  848. STO \-> a b c A B
  849.       \<< B A c + SIN
  850. b * + '\Gb' STO A a B
  851. TAN A c + COS b * *
  852. - + '\Gl' STO n 10 +
  853. 'n' STO \Gl \Gb CONV
  854. '\Gd' STO '\Ga' STO
  855. AARS SDRV
  856.       \>>
  857.     \>> } { "BACK"
  858.     \<< 0 MENU
  859.     \>> } { "END"
  860.     \<< WIPE PURGE 2
  861. MENU
  862.     \>> } } TMENU
  863.   END
  864. \>>
  865. AARS
  866. \<< -16 CF ST 15 * \Ga
  867. - \-> h
  868.   \<< h COS \Gd COS \O/
  869. SIN * * \Gd SIN \O/ COS
  870. * - h SIN \Gd COS *
  871. \->V2 -16 SF V\-> F36
  872. \->HMS 'A' STO DROP h
  873. COS \Gd COS \O/ COS * *
  874. \O/ SIN \Gd SIN * +
  875. ASIN \->HMS 'a' STO
  876.     CASE n 10 ==
  877.       THEN -.8333
  878.       END n 9 ==
  879.       THEN \GD INV
  880. ASIN .7275 * .5667
  881. -
  882.       END n 9 \=/ n
  883. 10 \=/ AND
  884.       THEN -.5667
  885.       END
  886.     END
  887.     IF n 10 \=/
  888.     THEN \Ga 15 / GST
  889. - TZ \GlM 15 / - + DL
  890. + F24 'ET' STO
  891.     END SIN \Gd COS \O/
  892. COS * / \Gd TAN \O/ TAN
  893. * - DUP -16 CF
  894.     IF ABS 1 >
  895.     THEN DROP
  896.       IF a 0 >
  897.       THEN "Above"
  898.       ELSE "Below"
  899.       END "Horizon"
  900.     ELSE ACOS 15 /
  901. ET OVER - F24 \->HMS
  902. SWAP ET + F24 \->HMS
  903.     END 'SE' STO
  904. 'RI' STO
  905.   \>>
  906. \>>
  907. DAES
  908. \<< { '2451623.80984+
  909. 365242.37404*P+
  910. 05169*P^2-.00411*P
  911. ^3-.00057*P^4' '
  912. 2451716.56767+
  913. 365241.62603*P+
  914. 00325*P^2+.00888*P
  915. ^3-.0003*P^4' '
  916. 2451810.21715+
  917. 365242.01767*P-
  918. 11575*P^2+.00337*P
  919. ^3+.00078*P^4' '
  920. 2451900.05952+
  921. 365242.74049*P-
  922. 06223*P^2-.00823*P
  923. ^3+.00032*P^4' }
  924. \>>
  925. GEOC
  926. \<< -16 CF R \Gb SIN *
  927. R 2 ^ r 2 ^ + DUP 2
  928. R r \GlS \Gl - 180 +
  929. COS * * * SWAP OVER
  930. - \v/ '\GD' STO \Gb COS *
  931. - \v/ / ASIN 'b' STO
  932. \Gb COS \Gl COS R * * r
  933. \GlS COS * + R \Gb COS
  934. \Gl SIN * * r \GlS SIN
  935. * + \->V2 -16 SF V\->
  936. F36 'l' STO DROP
  937. \>>
  938. CALM
  939. \<< { '22640*SIN(G9)-
  940. 4586*SIN(G9-2*D)+
  941. 2370*SIN(2*D)+769*
  942. SIN(2*G9)-668*SIN(
  943. GS)-412*SIN(2*F9)-
  944. 212*SIN(2*G9-2*D)-
  945. 206*SIN(G9-2*D+GS)+
  946. 192*SIN(G9+2*D)+165
  947. *SIN(2*D-GS)+148*
  948. SIN(G9-GS)-125*SIN(
  949. D)-110*SIN(G9+GS)-
  950. 55*SIN(2*F9-2*D)-45
  951. *SIN(G9+2*F9)+40*
  952. SIN(G9-2*F9)-38*SIN
  953. (G9-4*D)+36*SIN(3*
  954. G9)-31*SIN(2*G9-4*D
  955. )+28*SIN(G9-2*D-GS)
  956. -24*SIN(2*D+GS)+19*
  957. SIN(G9-D)+18*SIN(D+
  958. GS)+15*SIN(G9+2*D-
  959. GS)+14*SIN(2*G9+2*D
  960. )+14*SIN(4*D)-13*
  961. SIN(3*G9-2*D)-11*
  962. SIN(G9+16*LS-18*L2)
  963. +10*SIN(2*G9-GS)+9*
  964. SIN(G9-2*F9-2*D)+9*
  965. COS(G9+16*LS-18*L2)
  966. -9*SIN(2*G9-2*D+GS)
  967. -8*SIN(G9+D)+8*SIN(
  968. 2*D-2*GS)-8*SIN(2*
  969. G9+GS)-7*SIN(2*GS)-
  970. 7*SIN(G9-2*D+2*GS)+
  971. 7*SIN(\GW)-6*SIN(G9-2
  972. *F9+2*D)-6*SIN(2*F9
  973. +2*D)-4*SIN(G9-4*D+
  974. GS)+4*T*COS(G9+16*
  975. LS-18*L2)-4*SIN(2*
  976. G9+2*F9)+4*T*SIN(G9
  977. +16*LS-18*L2)+3*SIN
  978. (G9-3*D)-3*SIN(G9+2
  979. *D+GS)-3*SIN(2*G9-4
  980. *D+GS)+3*SIN(G9-2*
  981. GS)+3*SIN(G9-2*D-2*
  982. GS)-2*SIN(2*G9-2*D-
  983. GS)-2*SIN(2*F9-2*D+
  984. GS)+2*SIN(G9+4*D)+2
  985. *SIN(4*G9)+2*SIN(4*
  986. D-GS)+2*SIN(2*G9-D)
  987. ' '18461*SIN(F9)+
  988. 1010*SIN(G9+F9)+
  989. 1000*SIN(G9-F9)-624
  990. *SIN(F9-2*D)-199*
  991. SIN(G9-F9-2*D)-167*
  992. SIN(G9+F9-2*D)+117*
  993. SIN(F9+2*D)+62*SIN(
  994. 2*G9+F9)+33*SIN(G9-
  995. F9+2*D)+32*SIN(2*G9
  996. -F9)-30*SIN(F9-2*D+
  997. GS)-16*SIN(2*G9+F9-
  998. 2*D)+15*SIN(G9+F9+2
  999. *D)+12*SIN(F9-2*D-
  1000. GS)-9*SIN(G9-F9-2*D
  1001. +GS)-8*SIN(F9+\GW)+8*
  1002. SIN(F9+2*D-GS)-7*
  1003. SIN(G9+F9-2*D+GS)+7
  1004. *SIN(G9+F9-GS)-7*
  1005. SIN(G9+F9-4*D)-6*
  1006. SIN(F9+GS)-6*SIN(3*
  1007. F9)+6*SIN(G9-F9-GS)
  1008. -5*SIN(F9+D)-5*SIN(
  1009. G9+F9+GS)-5*SIN(G9-
  1010. F9+GS)+5*SIN(F9-GS)
  1011. +5*SIN(F9-D)+4*SIN(
  1012. 3*G9+F9)-4*SIN(F9-4
  1013. *D)-3*SIN(G9-F9-4*D
  1014. )+3*SIN(G9-3*F9)-2*
  1015. SIN(2*G9-F9-4*D)-2*
  1016. SIN(3*F9-2*D)+2*SIN
  1017. (2*G9-F9+2*D)+2*SIN
  1018. (G9-F9+2*D-GS)+2*
  1019. SIN(2*G9-F9-2*D)+2*
  1020. SIN(3*G9-F9)' '
  1021. 60.36298-3.27746*
  1022. COS(G9)-.57994*COS(
  1023. G9-2*D)-.46357*COS(
  1024. 2*D)-.08904*COS(2*
  1025. G9)+.03865*COS(2*G9
  1026. -2*D)-.03237*COS(2*
  1027. D-GS)-.02688*COS(G9
  1028. +2*D)-.02358*COS(G9
  1029. -2*D+GS)-.0203*COS(
  1030. G9-GS)+.01719*COS(D
  1031. )+.01671*COS(G9+GS)
  1032. +.01247*COS(G9-2*F9
  1033. )+.00704*COS(GS)+
  1034. 00529*COS(2*D+GS)-
  1035. 00524*COS(G9-4*D)+
  1036. 00398*COS(G9-2*D-
  1037. GS)-.00366*COS(3*G9
  1038. )-.00295*COS(2*G9-4
  1039. *D)-.00263*COS(D+GS
  1040. )+.00249*COS(3*G9-2
  1041. *D)-.00221*COS(G9+2
  1042. *D-GS)+.00185*COS(2
  1043. *F9-2*D)-.00161*COS
  1044. (2*D-2*GS)+.00147*
  1045. COS(G9+2*F9-2*D)-
  1046. 00142*COS(4*D)+
  1047. 00139*COS(2*G9-2*D
  1048. +GS)-.00118*COS(G9-
  1049. 4*D+GS)-.00116*COS(
  1050. 2*G9+2*D)-.0011*COS
  1051. (2*G9-GS)' }
  1052. \>>
  1053. CALS
  1054. { '9*COS(3.9+
  1055. 5507.55*p)+6*COS(
  1056. 1.73+5223.69*p)' '
  1057. 280*COS(3.199+
  1058. 84334.662*p)+102*
  1059. COS(5.422+5507.553*
  1060. p)+80*COS(3.88+
  1061. 5223.69*p)+44*COS(
  1062. 3.7+2352.87*p)+32*
  1063. COS(4+1577.34*p)' '
  1064. 6910*SIN(GS)+72*SIN
  1065. (2*GS)-17*T*SIN(GS)
  1066. -7*COS(GS-G4)+6*SIN
  1067. (L9-LS)+5*SIN(4*GS-
  1068. 8*G3+3*G4)-5*COS(2*
  1069. GS-2*G2)-4*SIN(GS-
  1070. G2)+4*COS(4*GS-8*G3
  1071. +3*G4)+3*SIN(2*GS-2
  1072. *G2)-3*SIN(G4)-3*
  1073. SIN(2*GS-2*G4)' '
  1074. 1.00014-.01675*COS(
  1075. GS)-.00014*COS(2*GS
  1076. )' }
  1077. CAL1
  1078. \<< { '84378*SIN(G1)+
  1079. 10733*SIN(2*G1)+
  1080. 1892*SIN(3*G1)-646*
  1081. SIN(2*F1)+381*SIN(4
  1082. *G1)-306*SIN(G1-2*
  1083. F1)-274*SIN(G1+2*F1
  1084. )-92*SIN(2*G1+2*F1)
  1085. +83*SIN(5*G1)-28*
  1086. SIN(3*G1+2*F1)+25*
  1087. SIN(2*G1-2*F1)+19*
  1088. SIN(6*G1)-9*SIN(4*
  1089. G1+2*F1)+8*T*SIN(G1
  1090. )+7*COS(2*G1-5*G2)' 
  1091. '24134*SIN(F1)+5180
  1092. *SIN(G1-F1)+4910*
  1093. SIN(G1+F1)+1124*SIN
  1094. (2*G1+F1)+271*SIN(3
  1095. *G1+F1)+132*SIN(2*
  1096. G1-F1)+67*SIN(4*G1+
  1097. F1)+18*SIN(3*G1-F1)
  1098. +17*SIN(5*G1+F1)-10
  1099. *SIN(3*F1)-9*SIN(G1
  1100. -3*F1)' '.39528-
  1101. 07834*COS(G1)-
  1102. 00795*COS(2*G1)-
  1103. 00121*COS(3*G1)-
  1104. 00022*COS(4*G1)' }
  1105. \>>
  1106. CAL2
  1107. \<< { '2814*SIN(G2)-
  1108. 181*SIN(2*F2)-20*T*
  1109. SIN(G2)+12*SIN(2*G2
  1110. )-10*COS(2*GS-2*G2)
  1111. +7*COS(3*GS-3*G2)' 
  1112. '12215*SIN(F2)+83*
  1113. SIN(G2+F2)+83*SIN(
  1114. G2-F2)' '.72335-
  1115. 00493*COS(G2)' }
  1116. \>>
  1117. CAL4
  1118. \<< { '38451*SIN(G3)+
  1119. 2238*SIN(2*G3)+181*
  1120. SIN(3*G3)-52*SIN(2*
  1121. F3)+37*T*SIN(G3)-22
  1122. *COS(G3-2*G4)-19*
  1123. SIN(G3-G4)+17*COS(
  1124. G3-G4)+17*SIN(4*G3)
  1125. -16*COS(2*G3-2*G4)+
  1126. 13*COS(GS-2*G3)-10*
  1127. SIN(G3-2*F3)-10*SIN
  1128. (G3+2*F3)+7*COS(GS-
  1129. G3)-7*COS(2*GS-3*G3
  1130. )-5*SIN(G2-3*G3)-5*
  1131. SIN(GS-G3)-5*SIN(GS
  1132. -2*G3)-4*COS(2*GS-4
  1133. *G3)+4*T*SIN(2*G3)+
  1134. 4*COS(G4)+3*COS(G2-
  1135. 3*G3)+3*SIN(2*G3-2*
  1136. G4)' '6603*SIN(F3)+
  1137. 622*SIN(G3-F3)+615*
  1138. SIN(G3+F3)+64*SIN(2
  1139. *G3+F3)' '1.53031-
  1140. 1417*COS(G3)-.0066
  1141. *COS(2*G3)-.00047*
  1142. COS(3*G3)' }
  1143. \>>
  1144. CAL5
  1145. \<< { '19934*SIN(G4)+
  1146. 5023*T+2511+1093*
  1147. COS(2*G4-5*G5)+601*
  1148. SIN(2*G4)-479*SIN(2
  1149. *G4-5*G5)-185*SIN(2
  1150. *G4-2*G5)+137*SIN(3
  1151. *G4-5*G5)-131*SIN(
  1152. G4-2*G5)+79*COS(G4-
  1153. G5)-76*COS(2*G4-2*
  1154. G5)-74*T*COS(G4)+68
  1155. *T*SIN(G4)+66*COS(2
  1156. *G4-3*G5)+63*COS(3*
  1157. G4-5*G5)+53*COS(G4-
  1158. 5*G5)+49*SIN(2*G4-3
  1159. *G5)-43*T*SIN(2*G4-
  1160. 5*G5)-37*COS(G4)+25
  1161. *SIN(2*L4)+25*SIN(3
  1162. *G4)-23*SIN(G4-5*G5
  1163. )-19*T*COS(2*G4-5*
  1164. G5)+17*COS(2*G4-4*
  1165. G5)+17*COS(3*G4-3*
  1166. G5)-14*SIN(G4-G5)-
  1167. 13*SIN(3*G4-4*G5)-9
  1168. *COS(2*L4)+9*COS(G5
  1169. )-9*SIN(G5)-9*SIN(3
  1170. *G4-2*G5)+9*SIN(4*
  1171. G4-5*G5)+9*SIN(2*G4
  1172. -6*G5+3*G6)-8*COS(4
  1173. *G4-10*G5)+7*COS(3*
  1174. G4-4*G5)-7*COS(G4-3
  1175. *G5)-7*SIN(4*G4-10*
  1176. G5)-7*SIN(G4-3*G5)+
  1177. 6*COS(4*G4-5*G5)-6*
  1178. SIN(3*G4-3*G5)+5*
  1179. COS(2*G5)-4*SIN(4*
  1180. G4-4*G5)-4*COS(3*G5
  1181. )+4*COS(2*G4-G5)-4*
  1182. COS(3*G4-2*G5)-4*T*
  1183. COS(2*G4)+3*T*SIN(2
  1184. *G4)+3*COS(5*G5)+3*
  1185. COS(5*G4-10*G5)+3*
  1186. SIN(2*G5)-2*SIN(2*
  1187. L4-G4)+2*SIN(2*L4+
  1188. G4)-2*T*SIN(3*G4-5*
  1189. G5)-2*T*SIN(G4-5*G5
  1190. )' '-4692*COS(G4)+
  1191. 259*SIN(G4)+227-227
  1192. *COS(2*G4)+30*T*SIN
  1193. (G4)+21*T*COS(G4)+
  1194. 16*SIN(3*G4-5*G5)-
  1195. 13*SIN(G4-5*G5)-12*
  1196. COS(3*G4)+12*SIN(2*
  1197. G4)+7*COS(3*G4-5*G5
  1198. )-5*COS(G4-5*G5)' '
  1199. 5.20883-.25122*COS(
  1200. G4)-.00604*COS(2*G4
  1201. )+.0026*COS(2*G4-2*
  1202. G5)-.0017*COS(3*G4-
  1203. 5*G5)-.00106*SIN(2*
  1204. G4-2*G5)-.00091*T*
  1205. SIN(G4)-.00084*T*
  1206. COS(G4)+.00069*SIN(
  1207. 2*G4-3*G5)-.00067*
  1208. SIN(G4-5*G5)+.00066
  1209. *SIN(3*G4-5*G5)+
  1210. 00063*SIN(G4-G5)-
  1211. 00051*COS(2*G4-3*
  1212. G5)-.00046*SIN(G4)-
  1213. 00029*COS(G4-5*G5)
  1214. +.00027*COS(G4-2*G5
  1215. )-.00022*COS(3*G4)-
  1216. 00021*SIN(2*G4-5*
  1217. G5)' }
  1218. \>>
  1219. CAL6
  1220. \<< { '23045*SIN(
  1221. G5)+5014*T-2689*COS
  1222. (2*G4-5*G5)+2507+
  1223. 1177*SIN(2*G4-5*G5)
  1224. -826*COS(2*G4-4*G5)
  1225. +802*SIN(2*G5)+425*
  1226. SIN(G4-2*G5)-229*T*
  1227. COS(G5)-153*COS(2*
  1228. G4-6*G5)-142*T*SIN(
  1229. G5)-114*COS(G5)+101
  1230. *T*SIN(2*G4-5*G5)-
  1231. 70*COS(2*L5)+67*SIN
  1232. (2*L5)+66*SIN(2*G4-
  1233. 6*G5)+60*T*COS(2*G4
  1234. -5*G5)+41*SIN(G4-3*
  1235. G5)+39*SIN(3*G5)+31
  1236. *SIN(G4-G5)+31*SIN(
  1237. 2*G4-2*G5)-29*COS(2
  1238. *G4-3*G5)-28*SIN(2*
  1239. G4-6*G5+3*G6)+28*
  1240. COS(G4-3*G5)+22*T*
  1241. SIN(2*G4-4*G5)-22*
  1242. SIN(G5-3*G6)+20*SIN
  1243. (2*G4-3*G5)+20*COS(
  1244. 4*G4-10*G5)+19*COS(
  1245. 2*G5-3*G6)+19*SIN(4
  1246. *G4-10*G5)-17*T*COS
  1247. (2*G5)-16*COS(G5-3*
  1248. G6)-12*SIN(2*G4-4*
  1249. G5)+12*COS(G4)-12*
  1250. SIN(2*G5-2*G6)-11*T
  1251. *SIN(2*G5)-11*COS(2
  1252. *G4-7*G5)+10*SIN(2*
  1253. G5-3*G6)+10*COS(2*
  1254. G4-2*G5)+9*SIN(4*G4
  1255. -9*G5)-8*SIN(G5-2*
  1256. G6)-8*COS(2*L5+G5)+
  1257. 8*COS(2*L5-G5)+8*
  1258. COS(G5-G6)-8*SIN(2*
  1259. L5-G5)+7*SIN(2*L5+
  1260. G5)-7*COS(G4-2*G5)-
  1261. 7*COS(2*G5)-6*T*SIN
  1262. (4*G4-10*G5)+6*T*
  1263. COS(4*G4-10*G5)+6*T
  1264. *SIN(2*G4-6*G5)-5*
  1265. SIN(3*G4-7*G5)-5*
  1266. COS(3*G4-3*G5)-5*
  1267. COS(2*G5-2*G6)+5*
  1268. SIN(3*G4-4*G5)+5*
  1269. SIN(2*G4-7*G5)+4*
  1270. SIN(3*G4-3*G5)+4*
  1271. SIN(3*G4-5*G5)+4*T*
  1272. COS(G4-2*G5)+3*T*
  1273. COS(2*G4-4*G5)+3*
  1274. COS(2*G4-6*G5+3*G6)
  1275. -3*T*SIN(2*L5)+3*T*
  1276. COS(2*G4-6*G5)-3*T*
  1277. COS(2*L5)+3*COS(3*
  1278. G4-7*G5)+3*COS(4*G4
  1279. -9*G5)+3*SIN(3*G4-6
  1280. *G5)+3*SIN(2*G4-G5)
  1281. +3*SIN(G4-4*G5)+2*
  1282. COS(3*G5-3*G6)+2*T*
  1283. SIN(G4-2*G5)+2*SIN(
  1284. 4*G5)-2*COS(3*G4-4*
  1285. G5)-2*COS(2*G4-G5)-
  1286. 2*SIN(2*G4-7*G5)+2*
  1287. COS(G4-4*G5)+2*COS(
  1288. 4*G4-11*G5)-2*SIN(
  1289. G5-G6)' '8297*SIN(
  1290. G5)-3346*COS(G5)+
  1291. 462*SIN(2*G5)-189*
  1292. COS(2*G5)+185+79*T*
  1293. COS(G5)-71*COS(2*G4
  1294. -4*G5)+46*SIN(2*G4-
  1295. 6*G5)-45*COS(2*G4-6
  1296. *G5)+29*SIN(3*G5)-
  1297. 20*COS(2*G4-3*G5)+
  1298. 18*T*SIN(G5)-14*COS
  1299. (2*G4-5*G5)-11*COS(
  1300. 3*G5)-10*T+9*SIN(G4
  1301. -3*G5)+8*SIN(G4-G5)
  1302. -6*SIN(2*G4-3*G5)+5
  1303. *SIN(2*G4-7*G5)-5*
  1304. COS(2*G4-7*G5)+4*
  1305. SIN(2*G4-5*G5)-4*T*
  1306. SIN(2*G5)-3*COS(G4-
  1307. G5)+3*COS(G4-3*G5)+
  1308. 3*T*SIN(2*G4-4*G5)+
  1309. 3*SIN(G4-2*G5)+2*
  1310. SIN(4*G5)-2*COS(2*
  1311. G4-2*G5)' '9.55774-
  1312. 53252*COS(G5)-
  1313. 01878*SIN(2*G4-4*
  1314. G5)-.01482*COS(2*G5
  1315. )+.00817*SIN(G4-G5)
  1316. -.00539*COS(G4-2*G5
  1317. )-.00524*T*SIN(G5)+
  1318. 00349*SIN(2*G4-5*
  1319. G5)+.00347*SIN(2*G4
  1320. -6*G5)+.00328*T*COS
  1321. (G5)-.00225*SIN(G5)
  1322. +.00149*COS(2*G4-6*
  1323. G5)-.00126*COS(2*G4
  1324. -2*G5)+.00104*COS(
  1325. G4-G5)+.00101*COS(2
  1326. *G4-5*G5)+.00098*
  1327. COS(G4-3*G5)-.00073
  1328. *COS(2*G4-3*G5)-
  1329. 00062*COS(3*G5)+
  1330. 00042*SIN(2*G5-3*
  1331. G6)+.00041*SIN(2*G4
  1332. -2*G5)-.0004*SIN(G4
  1333. -3*G5)+.0004*COS(2*
  1334. G4-4*G5)-.00028*T-
  1335. 00023*SIN(G4)+
  1336. 0002*SIN(2*G4-7*G5
  1337. )' }
  1338. \>>
  1339. CAL7
  1340. \<< { '19397*SIN(G6)+
  1341. 570*SIN(2*G6)-536*T
  1342. *COS(G6)+143*SIN(G5
  1343. -2*G6)+110*T*SIN(G6
  1344. )+102*SIN(G5-3*G6)+
  1345. 76*COS(G5-3*G6)-49*
  1346. SIN(G4-G6)+64*T-30*
  1347. T*COS(2*G6)+29*SIN(
  1348. 2*G4-6*G5+3*G6)+29*
  1349. COS(2*G6-2*G7)-28*
  1350. COS(G6-G7)+23*SIN(3
  1351. *G6)-21*COS(G4-G6)+
  1352. 20*SIN(G6-G7)+20*
  1353. COS(G5-2*G6)-19*COS
  1354. (G5-G6)+17*SIN(2*G6
  1355. -3*G7)+14*SIN(3*G6-
  1356. 3*G7)+13*SIN(G5-G6)
  1357. -24*T*COS(G6)-12*
  1358. COS(G6)+10*SIN(2*G6
  1359. -2*G7)-9*SIN(2*F6)-
  1360. 18*T*SIN(G6)+9*COS(
  1361. 2*G6-3*G7)+8*T*COS(
  1362. G5-2*G6)+7*T*COS(G5
  1363. -3*G6)-7*T*SIN(G5-3
  1364. *G6)+7*T*SIN(2*G6)+
  1365. 6*SIN(2*G4-6*G5+2*
  1366. G6)+6*COS(2*G4-6*G5
  1367. +2*G6)+5*SIN(G5-4*
  1368. G6)-4*SIN(3*G6-4*G7
  1369. )+4*COS(3*G6-3*G7)-
  1370. 3*COS(G7)-2*SIN(G7)
  1371. ' '2775*SIN(F6)+131
  1372. *SIN(G6-F6)+130*SIN
  1373. (G6+F6)' '19.21216-
  1374. 90154*COS(G6)-
  1375. 02488*T*SIN(G6)-
  1376. 02121*COS(2*G6)-
  1377. 00585*COS(G5-2*G6)
  1378. -.00508*T*COS(G6)-
  1379. 00451*COS(G4-G6)+
  1380. 00336*SIN(G5-G6)+
  1381. 00198*SIN(G4-G6)+
  1382. 00118*COS(G5-3*G6)
  1383. +.00107*SIN(G5-2*G6
  1384. )-.00103*T*SIN(2*G6
  1385. )-.00081*COS(3*G6-3
  1386. *G7)' }
  1387. \>>
  1388. CAL8
  1389. \<< { '3523*SIN(
  1390. G7)-50*SIN(2*F7)-43
  1391. *T*COS(G7)+29*SIN(
  1392. G4-G7)+19*SIN(2*G7)
  1393. -18*COS(G4-G7)+13*
  1394. COS(G5-G7)+13*SIN(
  1395. G5-G7)-9*SIN(2*G6-3
  1396. *G7)+9*COS(2*G6-2*
  1397. G7)-5*COS(2*G6-3*G7
  1398. )-4*T*SIN(G7)+4*COS
  1399. (G6-2*G7)+8*T*SIN(
  1400. G7)' '6404*SIN(F7)+
  1401. 55*SIN(G7+F7)+55*
  1402. SIN(G7-F7)-33*T*SIN
  1403. (F7)' '30.07175-
  1404. 25701*COS(G7)-
  1405. 00787*COS(2*L6-G6-
  1406. 2*L7)+.00409*COS(G4
  1407. -G7)-.00314*T*SIN(
  1408. G7)+.0025*SIN(G4-G7
  1409. )-.00194*SIN(G5-G7)
  1410. +.00185*COS(G5-G7)'
  1411. }
  1412. \>>
  1413. CAL9
  1414. \<< { '101577*SIN(G8)
  1415. +15517*SIN(2*G8)-
  1416. 3593*SIN(2*F8)+3414
  1417. *SIN(3*G8)-2201*SIN
  1418. (G8-2*F8)-1871*SIN(
  1419. G8+2*F8)+839*SIN(4*
  1420. G8)-757*SIN(2*G8+2*
  1421. F8)-285*SIN(3*G8+2*
  1422. F8)+454*T*SIN(G8)+
  1423. 218*SIN(2*G8-2*F8)+
  1424. 200*T*SIN(G8)' '
  1425. 57726*SIN(F8)+15257
  1426. *SIN(G8-F8)+14102*
  1427. SIN(G8+F8)+3870*SIN
  1428. (2*G8+F8)+1138*SIN(
  1429. 3*G8+F8)+472*SIN(2*
  1430. G8-F8)+353*SIN(4*G8
  1431. +F8)-144*SIN(G8-3*
  1432. F8)-119*SIN(3*F8)-
  1433. 111*SIN(G8+3*F8)' '
  1434. 40.74638-9.58235*
  1435. COS(G8)-1.16703*COS
  1436. (2*G8)-.22649*COS(3
  1437. *G8)-.04996*COS(4*
  1438. G8)' }
  1439. \>>
  1440. SDAT
  1441. { { 345.31156524
  1442. -59.3781705 26 -.16
  1443. 46 } { 69.78901344
  1444. -5.4674392 21 1.54
  1445. 85 } { 76.8297184
  1446. -31.1228063 280
  1447. -.03 .12 } {
  1448. 81.8577415
  1449. 22.8643432 13 .8
  1450. 08 } { 88.75414772
  1451. -16.0268472 95 1.85
  1452. 5 } { 104.9603567
  1453. -75.8237834 360 .15
  1454. -.72 } {
  1455. 104.0815749
  1456. -39.6052509 2.7 .01
  1457. -1.46 } {
  1458. 115.785452
  1459. -16.0196217 3.5 .42
  1460. 38 } { 113.2154745
  1461. 6.684069 11 1 1.14
  1462. } { 149.8287058
  1463. -.46469231 26 -.11
  1464. 1.35 } { 221.86971
  1465. -52.87803 110 .1
  1466. 1.41 } {
  1467. 221.64572335
  1468. -48.63873204 130
  1469. -.23 1.25 } {
  1470. 203.8410821
  1471. -2.0546734 79 -.23
  1472. 98 } { 233.7920649
  1473. -44.1374373 140
  1474. -.24 .61 } {
  1475. 204.2332698
  1476. 30.73620812 11 1.23
  1477. -.04 } { 239.479783
  1478. -42.594071 1.3 .68
  1479. 0 } { 249.7616937
  1480. -4.56997863 100
  1481. 1.83 .96 } {
  1482. 285.3154391
  1483. 61.7328474 8.1 0
  1484. 03 } { 301.775503
  1485. 29.3036472 5.1 .22
  1486. 77 } { 335.3285843
  1487. 59.9062706 560 .09
  1488. 1.25 } {
  1489. 333.8597432
  1490. -21.13538399 6.7
  1491. 09 1.16 } }
  1492. DAMO
  1493. { "Sun " "Mon "
  1494. "Tue " "Wed "
  1495. "Thu " "Fri "
  1496. "Sat " "Sun" "Jan "
  1497. "Feb " "Mar "
  1498. "Apr " "May "
  1499. "Jun " "Jul "
  1500. "Aug " "Sep "
  1501. "Oct " "Nov "
  1502. "Dec " }
  1503. NM
  1504. { "Mercury" "Venus"
  1505. "Mars" "Jupiter"
  1506. "Saturn" "Uranus"
  1507. "Neptune" "Pluto"
  1508. "Moon" "Sun"
  1509. "\Ga Eri" "\Ga Tau"
  1510. "\Gb Ori" "\Ga Aur"
  1511. "\Ga Ori" "\Ga Car"
  1512. "\Ga CMa" "\Ga CMi"
  1513. "\Gb Gem" "\Ga Leo"
  1514. "\Ga Cru" "\Gb Cru"
  1515. "\Ga Vir" "\Gb Cen"
  1516. "\Ga Boo" "\Ga Cen"
  1517. "\Ga Sco" "\Ga Lyr"
  1518. "\Ga Aql" "\Ga Gyg"
  1519. "\Ga PsA" }
  1520. NEWS
  1521. \<<
  1522. "Type a Star's number ?"
  1523. ":No:" INPUT OBJ\->
  1524. 'n' STO
  1525.   IF n 21 >
  1526.   THEN CLLCD
  1527. "Uncompanionable star"
  1528. 1 DISP 3 FREEZE
  1529.   ELSE CLLCD NM n
  1530. 10 + GET 1 DISP 3
  1531. FREEZE
  1532.   END
  1533. \>>
  1534. NOVA
  1535. \<< STD JG " DST= "
  1536. DL + + "
  1537. TZ= " TZ + 
  1538. "  LT= " LT \->HMS + 
  1539. + + "
  1540. JD0 = " JD0 + 
  1541. + "
  1542. JD  = " JD + + 
  1543. "
  1544. UT= " UT + + "
  1545. DT "  " DN + + + + 
  1546. "
  1547. \Gl: " \GlM + +
  1548. "  \O/: " \O/ + + CLLCD
  1549. 1 DISP 3 FREEZE
  1550. \>>
  1551. WIPE
  1552. { t C ST GST T G4
  1553. G3 G2 GS LS L9 \GW p
  1554. r \Gl \Gb \GlS \GbS SD ET V
  1555. BV \Ga \Gd n A a RI SE
  1556. R PPAR DN }
  1557. ZZ
  1558. \<< + 1 \->GROB GOR
  1559. \>>
  1560. F24
  1561. \<< DUP 24 / IP 24 *
  1562. -
  1563.   IF DUP 0 <
  1564.   THEN 24 +
  1565.   END
  1566. \>>
  1567. F36
  1568. \<< DUP 360 / IP 360
  1569. * -
  1570.   IF DUP 0 <
  1571.   THEN 360 +
  1572.   END
  1573. \>>
  1574. \GD\165
  1575. 0016
  1576. \GD\Ge
  1577. 0001
  1578. \GlM
  1579. 6
  1580. \O/
  1581. 7
  1582. \Ge
  1583. 23
  1584. JD0
  1585. 4
  1586. JD
  1587. 5
  1588. JG
  1589. "Greetings "
  1590. UT
  1591. "Tyko v301 1992"
  1592. DT
  1593. "    by Kati Sinenmaa"
  1594. DL
  1595. 1
  1596. LT
  1597. 3
  1598. TZ
  1599. 2
  1600. END_RPL
  1601.