home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / freq / qstmuf / qstmuf13.bas next >
BASIC Source File  |  1990-01-25  |  13KB  |  363 lines

  1. 100 REM SEE END FOR INFO
  2. 110 DEF FNC(Z) = 1.5708 - ATN(Z / SQR(1 -Z*Z))
  3. 120 KEY OFF
  4. 130 SCREEN 0
  5. 140 CLS
  6. 150 DIM M5(24)
  7. 160 ANS2$="N"
  8. 170 A$ = " "
  9. 180 M = 31
  10. 190 M$="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
  11. 200 P9=3.14159
  12. 210 R9=P9/180
  13. 220 P1=2*P9
  14. 230 R1=180/P9
  15. 240 P0=P9/2
  16. 250 CLS
  17. 260 COLOR 4,7
  18. 270 PRINT
  19. 280 PRINT"** QSTMUF V1.3 - MUF FORECAST PROGRAM - NBS MODIFIED BY PKH **"
  20. 290 COLOR 11,0
  21. 300 PRINT
  22. 301 REM PUT ANY COORDINATES YOU WANT IN THE FOLLOWING LINES PER FORMAT
  23. 310 PRINT "Reference Coordinates:  Berna Radio, Switzerland   48.9,-7.5"
  24. 320 PRINT SPC(24)"Gander Radio, NFLD         49.0,54.5"
  25. 330 PRINT SPC(24)"Honolulu ARINC, HI         21.3,157.9"
  26. 340 PRINT SPC(24)"London Speedbird, UK       51.5,1.0"
  27. 350 PRINT SPC(24)"Melbourne (Suntree), FL    28.3,80.7"
  28. 360 PRINT SPC(24)"Miami Marine, FL           25.6,80.3"
  29. 370 PRINT SPC(24)"New York ARINC, NY         40.6,73.7"
  30. 380 PRINT SPC(24)"San Juan ARINC, PR         18.4,66.0"
  31. 390 PRINT SPC(24)"WWV, Boulder, CO           40.0,105.0"
  32. 400 PRINT
  33. 410 PRINT
  34. 420 COLOR 11,0
  35. 430 IF ANS2$="y" OR ANS2$="Y" THEN 540
  36. 431 REM PUT YOUR OWN TRANSMITTER NAME HERE IN LINE 440 USING FORMAT SHOWN
  37. 440 INPUT "Use Melbourne (Suntree) as the Transmitter (Y or N) ";ANS3$
  38. 450 IF ANS3$="y" OR ANS3$="Y" THEN 470
  39. 460 IF ANS3$="n" OR ANS3$="N" THEN 500 ELSE BEEP: GOTO 440
  40. 461 REM PUT YOUR OWN LAT L1 AND LONG W1 IN 470 AND 480 IN FORMAT SHOWN 
  41. 470 L1=28.3
  42. 480 W1=80.7
  43. 490 GOTO 630
  44. 500 INPUT "Transmitter lat (- = south), long (- = east) = ";L1,W1
  45. 510 GOTO 580
  46. 520 IF L1<-90 THEN 560
  47. 530 IF L1>90 THEN 560
  48. 540 PRINT "Using transmitter lat (- = south), long (- = east) = ";L1;",";W1
  49. 550 GOTO 580
  50. 560 BEEP: COLOR 14,0: PRINT "Invalid latitude. Must be in range (-90,+90)."
  51. 570 COLOR 11,0: GOTO 500
  52. 580 IF W1<-360 THEN 610
  53. 590 IF W1>360  THEN 610
  54. 600 GOTO 630
  55. 610 BEEP: COLOR 14,0: PRINT "Invalid longitude.  Must be in range (-360,+360)."
  56. 620 COLOR 11,0: GOTO 500
  57. 621 REM PUT YOUR OWN FAVORITE TARGET IN LINE 630 IN FORMAT SHOWN
  58. 630 INPUT "Use Berna Radio as the Receiver (Y or N) ";ANS4$
  59. 640 IF ANS4$="y" OR ANS4$="Y" THEN 660
  60. 650 IF ANS4$="n" OR ANS4$="N" THEN 690 ELSE BEEP: GOTO 630
  61. 651 REM PUT LAT LONG OF YOUR FAVORITE TARGET IN LINES 660 AND 670 IN FORMAT SHOWN
  62. 660 L2=48.9
  63. 670 W2=-7.5
  64. 680 GOTO 800
  65. 690 INPUT "Receiver    lat (- = south), long (- = east) = ";L2,W2
  66. 700 IF L2<-90 THEN 730
  67. 710 IF L2>90  THEN 730
  68. 720 GOTO 750
  69. 730 BEEP: COLOR 14,0: PRINT "Invalid latitude.  Must be in range (-90,+90)."
  70. 740 COLOR 11,0: GOTO 690
  71. 750 IF W2<-360 THEN 780
  72. 760 IF W2>360  THEN 780
  73. 770 GOTO 800
  74. 780 BEEP: COLOR 14,0: PRINT"Invalid longitude.  Must be in range (-360,+360)."
  75. 790 COLOR 11,0: GOTO 690
  76. 800 D$=MID$(DATE$,4,2): M1$=LEFT$(DATE$,2): Y$=RIGHT$(DATE$,4)
  77. 810 IF VAL(MID$(DATE$,4,1))=0 THEN Q$=MID$(DATE$,5,1) ELSE Q$=MID$(DATE$,4,2)
  78. 820 D6=VAL(Q$): M0=VAL(M1$)
  79. 830 PRINT "Use system date ("D6","M0") for desired forecast ";
  80. 840 INPUT "(Y or N) ";ANS8$
  81. 850 IF ANS8$ = "N" OR ANS8$ = "n" THEN 880
  82. 860 IF ANS8$ = "Y" OR ANS8$ = "y" THEN 990 ELSE BEEP: GOTO 800
  83. 870 GOTO 990
  84. 880 INPUT "Date for which forecast desired (dd,mm) = ";D6,M0
  85. 890 IF M0<1 THEN 920
  86. 900 IF M0>12 THEN 920
  87. 910 GOTO 940
  88. 920 BEEP: COLOR 14,0: PRINT "Invalid month.  Must be in range (1,12)."
  89. 930 COLOR 11,0: GOTO 880
  90. 940 IF D6<1 THEN 970
  91. 950 IF D6>M THEN 970
  92. 960 GOTO 990
  93. 970 BEEP: COLOR 14,0: PRINT "Invalid day.  Must be in range (1,";M;")."
  94. 980 COLOR 11,0: GOTO 880
  95. 981 REM YOU SHOULD SET SOLARFLUX=nnn IN DOS SO IT CAN BE READ OUT HERE
  96. 990 S$=ENVIRON$("SOLARFLUX")
  97. 1000 S8=VAL(S$)
  98. 1010 IF S8 < 58 OR S8> 300 THEN 1060 ELSE 1020
  99. 1020 PRINT "Use 10.7cm solar flux " S$ " as set in Environment";
  100. 1030 INPUT " (Y or N) ";ANS5$
  101. 1040 IF ANS5$ = "Y" OR ANS5$ = "y" THEN 1130
  102. 1050 IF ANS5$ = "N" OR ANS5$ = "n" THEN 1090 ELSE BEEP: GOTO 1020
  103. 1060 INPUT "Solar flux set in environment unusable.  Use default 215 ";ANS9$
  104. 1070 IF ANS9$ = "Y" OR ANS9$ = "y" THEN S8=215: GOTO 1130
  105. 1080 IF ANS9$ = "N" OR ANS9$ = "n" THEN 1090 ELSE BEEP: GOTO 1060
  106. 1090 INPUT"Use sunspot number (1), or 10.7cm solar flux (2) ";SUN1
  107. 1100 IF SUN1 = 1 THEN 1150
  108. 1110 IF SUN1 = 2 THEN 1120 ELSE BEEP: GOTO 1090
  109. 1120 INPUT "10.7 cm solar flux number to use = ";S8
  110. 1130 S9 = -62 + 1.08*S8
  111. 1140 GOTO 1170
  112. 1150 INPUT "Sunspot number to use = ";S9
  113. 1160 S8 = (S9+62)/1.08
  114. 1170 IF S9>0 THEN 1200
  115. 1180 BEEP: COLOR 14,0: PRINT "Invalid sunspot number.  Must be non-negative."
  116. 1190 COLOR 11,0: GOTO 1090
  117. 1200 COLOR 11,0
  118. 1210 INPUT"Do you wish to save data to a file (Y or N) ";ANS$
  119. 1220 IF ANS$ = "N" OR ANS$ = "n" THEN 1240
  120. 1230 IF ANS$ = "Y" OR ANS$ = "y" THEN GOSUB 3220 ELSE BEEP: GOTO 1210
  121. 1240 INPUT"Do you wish to copy to the printer (Y or N) ";PRI$
  122. 1250 IF PRI$ = "N" OR PRI$ = "n" THEN 1270
  123. 1260 IF PRI$ = "Y" OR PRI$ = "y" THEN 1270 ELSE BEEP: GOTO 1240
  124. 1270 REM **BEARING ROUTINE**
  125. 1280 REM ***  returns bearing in BRG and arc distance in D
  126. 1290 REM ***  bearing is from transmitter to receiver
  127. 1300 GOSUB 3390
  128. 1310 REM *** conversion factors from arc to (km,naut miles,stat miles)
  129. 1320 K = 111.11 : N = 60 : S = 69.041
  130. 1330 M = 57.29577951308238#
  131. 1340 CLS
  132. 1350 COLOR 4,7
  133. 1360 A$=MID$(M$,3*M0-2,3)
  134. 1370 PRINT"** QSTMUF V1.3 - MUF FORECAST PROGRAM - NBS MODIFIED BY PKH **"
  135. 1380 COLOR 11,0:PRINT
  136. 1390 PRINT "FORECAST DATE  : ";D6 A$ " "Y$
  137. 1400 PRINT "SOLAR ACTIVITY :  Sunspot Nr. = ";S9;"  Solar Flux = ";S8
  138. 1440 PRINT "TRANSMITTER    :  ";"Lat (- = S): ";L1;"   Long (- = E): ";W1
  139. 1480 PRINT "RECEIVER       :  ";"Lat (- = S): ";L2;"   Long (- = E): ";W2
  140. 1490 PRINT "BEARING TO RECR:";:PRINT USING"#####.##";BRG;:PRINT" Degrees"
  141. 1500 PRINT "DISTANCE       : ";:PRINT USING"#####.##";D*M*K;:PRINT" Km, ";:PRINT USING"#####.##";D*M*S;:PRINT" SM, ";:PRINT USING"#####.##";D*M*N;:PRINT" NM"
  142. 1510 PRINT
  143. 1520 PRINT "    HOUR(UT)     MUF(MHZ)           HOUR(UT)     MUF(MHZ)"
  144. 1530 PRINT "   -------------------------------------------------------"
  145. 1540 L1 = L1*R9
  146. 1550 W1 = W1*R9
  147. 1560 L2 = L2*R9
  148. 1570 W2 = W2*R9
  149. 1580 FOR T5=0 TO 11
  150. 1590  GOSUB 1940
  151. 1600  T5$ = STR$(T5)
  152. 1610  M5(T5)  = INT(J9*100+1)/100
  153. 1620  J9$ = STR$(INT(J9))
  154. 1630 PRINT TAB(8)USING"##";T5;
  155. 1640 PRINT TAB(20)USING"##.#";M5(T5);
  156. 1650 T5=T5+12
  157. 1660  GOSUB 1940
  158. 1670  T5$ = STR$(T5)
  159. 1680  M5(T5)  = INT(J9*100+1)/100
  160. 1690  J9$ = STR$(INT(J9))
  161. 1700 PRINT TAB(40)USING"##";T5;
  162. 1710 PRINT TAB(52)USING"##.#";M5(T5)
  163. 1720 T5=T5-12
  164. 1730 NEXT T5
  165. 1740 L1 = L1/R9
  166. 1750 W1 = W1/R9
  167. 1760 L2 = L2/R9
  168. 1770 W2 = W2/R9
  169. 1780 IF ANS$ = "Y" OR ANS$ = "y" THEN GOSUB 2860
  170. 1790 IF PRI$ = "Y" OR PRI$ = "y" THEN GOSUB 3330 ELSE 1810
  171. 1800 IF PRI$ = "Y" OR PRI$ = "y" THEN LCOPY
  172. 1810 FOR I = 1 TO 15000: NEXT I:PRINT
  173. 1820 COLOR 14,0
  174. 1830 INPUT "Enter N for next case, R to repeat case, or Q to Quit ";A1$
  175. 1840 IF A1$ = "Q" OR A1$ = "q" THEN 1920
  176. 1850 IF A1$ = "R" OR A1$ = "r" THEN 1200
  177. 1860 IF A1$ = "N" OR A1$ = "n" THEN 1870 ELSE BEEP: GOTO 1820
  178. 1870 COLOR 11,0
  179. 1880 INPUT "Do you wish to use same Transmitter lat/long (Y/N) ";ANS2$
  180. 1890 IF ANS2$ = "Y" OR ANS2$ = "y" GOTO 1910
  181. 1900 IF ANS2$ = "N" OR ANS2$ = "n" GOTO 1910 ELSE BEEP: GOTO 1880
  182. 1910 GOTO 250
  183. 1920 BEEP : CLS
  184. 1930 SYSTEM : END
  185. 1940 REM - MINIMUF 3.5
  186. 1950 K7 = SIN(L1)*SIN(L2) + COS(L1)*COS(L2)*COS(W2-W1)
  187. 1960 IF K7>=-1 THEN 1990
  188. 1970 K7 = -1
  189. 1980 GOTO 2010
  190. 1990 IF K7<=1 THEN 2010
  191. 2000 K7 = 1
  192. 2010 G1 = FNC(K7)
  193. 2020 K6 = 1.59*G1
  194. 2030 IF K6 >=1 THEN 2050
  195. 2040 K6 = 1
  196. 2050 K5 = 1/K6
  197. 2060 J9 = 100
  198. 2070 FOR K1 = 1/(2*K6) TO 1-1/(2*K6) STEP .9999-1/K6
  199. 2080  IF K5 = 1 THEN 2100
  200. 2090  K5 = .5
  201. 2100  P = SIN(L2)
  202. 2110  Q = COS(L2)
  203. 2120  A = (SIN(L1) - P*COS(G1)) / (Q*SIN(G1))
  204. 2130  B = G1*K1
  205. 2140  C = P*COS(B) + Q*SIN(B)*A
  206. 2150  D = (COS(B) - C*P) / (Q*SQR(1-C^2))
  207. 2160  IF D=>-1 THEN 2190
  208. 2170  D = -1
  209. 2180  GOTO 2210
  210. 2190  IF D<=1 THEN 2210
  211. 2200  D = 1
  212. 2210  D = FNC(D)
  213. 2220  W0 = W2 + SGN(SIN(W1-W2))*D
  214. 2230  IF W0=>0 THEN 2250
  215. 2240  W0 = W0 + P1
  216. 2250  IF W0 < P1 THEN 2270
  217. 2260  W0 = W0 - P1
  218. 2270  IF C=>-1 THEN 2300
  219. 2280  C = -1
  220. 2290  GOTO 2320
  221. 2300  IF C<=1 THEN 2320
  222. 2310  C = 1
  223. 2320  L0 = P0 - FNC(C)
  224. 2330  Y1 = .0172*(10+(M0-1)*30.4+D6)
  225. 2340  Y2 = .409*COS(Y1)
  226. 2350  K8 = 3.82*W0+12+.13*(SIN(Y1)+1.2*SIN(2*Y1))
  227. 2360  K8 = K8-12*(1+SGN(K8-24))*SGN(ABS(K8-24))
  228. 2370  IF COS(L0+Y2)>-.26 THEN 2460
  229. 2380  K9 = 0
  230. 2390  G0 = 0
  231. 2400  M9 = 2.5*G1*K5
  232. 2410  IF M9<=P0 THEN 2430
  233. 2420  M9 = P0
  234. 2430  M9 = SIN(M9)
  235. 2440  M9 = 1+2.5*M9*SQR(M9)
  236. 2450  GOTO 2710
  237. 2460  K9 = (-.26+SIN(Y2)*SIN(L0))/(COS(Y2)*COS(L0)+.001)
  238. 2470  K9 = 12-ATN(K9/SQR(ABS(1-K9*K9)))*7.63944
  239. 2480  T = K8-K9/2+12*(1-SGN(K8-K9/2))*SGN(ABS(K8-K9/2))
  240. 2490  T4 = K8+K9/2-12*(1+SGN(K8+K9/2-24))*SGN(ABS(K8+K9/2-24))
  241. 2500  C0 = ABS(COS(L0+Y2))
  242. 2510  T9 = 9.7*C0^9.600001
  243. 2520  IF T9>.1 THEN 2540
  244. 2530  T9 = .1
  245. 2540  M9 = 2.5*G1*K5
  246. 2550  IF M9 <= P0 THEN 2570
  247. 2560  M9 = P0
  248. 2570  M9 = SIN(M9)
  249. 2580  M9 = 1+2.5*M9*SQR(M9)
  250. 2590  IF T4<T THEN 2620
  251. 2600  IF (T5-T)*(T4-T5)>0 THEN 2630
  252. 2610  GOTO 2760
  253. 2620  IF (T5-T4)*(T-T5)>0 THEN 2760
  254. 2630  T6 = T5+12*(1+SGN(T-T5))*SGN(ABS(T-T5))
  255. 2640  G9 = P9*(T6-T)/K9
  256. 2650  G8 = P9*T9/K9
  257. 2660  U = (T-T6)/T9
  258. 2670  G0 = C0*(SIN(G9)+G8*(EXP(U)-COS(G9)))/(1+G8*G8)
  259. 2680  G7 = C0*(G8*(EXP(-K9/T9)+1))*EXP((K9-24)/2)/(1+G8*G8)
  260. 2690  IF G0=>G7 THEN 2710
  261. 2700  G0 = G7
  262. 2710  G2 = (1+S9/250)*M9*SQR(6+58*SQR(G0))
  263. 2720  G2 = G2*(1-.1*EXP((K9-24)/3))
  264. 2730  G2 = G2*(1+(1-SGN(L1)*SGN(L2))*.1)
  265. 2740  G2 = G2*(1-.1*(1+SGN(ABS(SIN(L0))-COS(L0))))
  266. 2750  GOTO 2820
  267. 2760  T6 = T5+12*(1+SGN(T4-T5))*SGN(ABS(T4-T5))
  268. 2770  G8 = P9*T9/K9
  269. 2780  U = (T4-T6)/2
  270. 2790  U1 = -K9/T9
  271. 2800  G0 = C0*(G8*(EXP(U1)+1))*EXP(U)/(1+G8*G8)
  272. 2810  GOTO 2710
  273. 2820  IF G2>J9 THEN 2840
  274. 2830  J9 = G2
  275. 2840 NEXT K1
  276. 2850 RETURN
  277. 2860 OPEN FILEN$ FOR APPEND AS #1
  278. 2870 PRINT# 1, "** QSTMUF V1.3 - MUF FORECAST PROGRAM - NBS MODIFIED BY PKH **"
  279. 2880 COLOR 11,0:PRINT# 1, 
  280. 2890 PRINT# 1, "FORECAST DATE  : ";D6 A$ " "Y$
  281. 2900 PRINT# 1, "SOLAR ACTIVITY :  Sunspot Nr. = ";S9;"  Solar Flux = ";S8
  282. 2940 PRINT# 1, "TRANSMITTER    :  ";"Lat (- = S): ";L1;"   Long (- = E): ";W1
  283. 2980 PRINT# 1, "RECEIVER       :  ";"Lat (- = S): ";L2;"   Long (- = E): ";W2
  284. 2990 PRINT# 1, "BEARING TO RECR:";:PRINT# 1,  USING"#####.##";BRG;:PRINT# 1, " Degrees"
  285. 3000 PRINT# 1, "DISTANCE       : ";:PRINT# 1,  USING"#####.##";D*M*K;:PRINT# 1, " Km, ";:PRINT# 1,  USING"#####.##";D*M*S;:PRINT# 1, " SM, ";:PRINT# 1,  USING"#####.##";D*M*N;:PRINT# 1, " NM"
  286. 3010 PRINT# 1, 
  287. 3020 PRINT# 1,  "    HOUR(UT)     MUF(MHZ)           HOUR(UT)     MUF(MHZ)"
  288. 3030 PRINT# 1,  "   -------------------------------------------------------"
  289. 3040 L1 = L1*R9
  290. 3050 W1 = W1*R9
  291. 3060 L2 = L2*R9
  292. 3070 W2 = W2*R9
  293. 3080 FOR T5=0 TO 11
  294. 3090 PRINT# 1,  TAB(8)USING"##";T5;
  295. 3100 PRINT# 1,  TAB(20)USING"##.#";M5(T5);
  296. 3110 T5=T5+12
  297. 3120 PRINT# 1,  TAB(40)USING"##";T5;
  298. 3130 PRINT# 1,  TAB(52)USING"##.#";M5(T5)
  299. 3140 T5=T5-12
  300. 3150 NEXT T5
  301. 3160 CLOSE #1
  302. 3170 L1 = L1/R9
  303. 3180 W1 = W1/R9
  304. 3190 L2 = L2/R9
  305. 3200 W2 = W2/R9
  306. 3210 RETURN
  307. 3220 FILEN$="C:\WORKING\QSTMUF13.DAT"
  308. 3230 INPUT "Use default filespec (C:\WORKING\QSTMUF13.DAT) ";ANS6$
  309. 3240 IF ANS6$ = "Y" OR ANS6$ = "y" THEN 3320
  310. 3250 IF ANS6$ = "N" OR ANS6$ = "n" THEN 3260 ELSE BEEP: GOTO 3220
  311. 3260 INPUT "Complete filespec of data file, including path ";FILEN$
  312. 3270 IF FILEN$ = "" THEN BEEP: GOTO 3220
  313. 3280 PRINT "Filespec is " FILEN$ ", correct ";
  314. 3290 INPUT "(Y or N) ";ANS7$
  315. 3300 IF ANS7$ = "Y" OR ANS7$ = "y" THEN 3320 ELSE 3310
  316. 3310 IF ANS7$ = "N" OR ANS7$ = "n" THEN 3220 ELSE BEEP: GOTO 3220
  317. 3320 RETURN
  318. 3330 PCK = INP(889)
  319. 3340 IF PCK = 223 THEN 3380 ELSE BEEP
  320. 3350 PRINT "Printer is not ready.  Turn printer on immediately."
  321. 3360 PCK = INP(889)
  322. 3370 IF PCK = 223 THEN 3380 ELSE 3360
  323. 3380 RETURN
  324. 3390 REM ******************* NEW BEARING ROUTINE
  325. 3400 REM *** routine is by J. Hall and C. Hutchinson ARRL HQ., July 1981
  326. 3410 Q=57.29577951308238#
  327. 3420 A = L1 / Q
  328. 3430 B = L2 / Q
  329. 3440 L = (W1-W2) / Q
  330. 3450 E = SIN(A)*SIN(B) + COS(A)*COS(B)*COS(L)
  331. 3460 D = -ATN(E/SQR(1-E*E))+1.57079
  332. 3470 BRG = (SIN(B)-SIN(A)*E) / (COS(A)*SIN(D))
  333. 3480 IF BRG>=1 THEN BRG=0:GOTO 3500 ELSE IF BRG<=-1 THEN BRG=180/Q:GOTO 3500
  334. 3490 BRG = -ATN(BRG/SQR(1-BRG*BRG))+1.57079
  335. 3500 BRG = BRG * Q
  336. 3510 IF SIN(L)<0 THEN BRG = 360 - BRG
  337. 3520 RETURN
  338. 3530 END
  339. 3540 REM***************************************************
  340. 3550 REM          MINI IBM-PC MUF DRIVER
  341. 3560 REM NATIONAL OCEANIC AND ATMOSPHERIC ADMINISTRATION
  342. 3570 REM             BOULDER, COLORADO
  343. 3580 REM         version 1.0  AUGUST   1985
  344. 3590 REM         version 1.1  JULY     1986
  345. 3600 REM         version 1.2  JANUARY  1989
  346. 3610 REM         version 1.3  NOVEMBER 1989
  347. 3620 REM
  348. 3630 REM TAKEN FROM: QST, DEC.82 MINIMUF 3.5 R.B.ROSE, NOSC
  349. 3640 REM MODIFIED BY PAUL K. HEIM, JAN '89 FOR SUNTREE QTH
  350. 3650 REM MODIFIED BY PAUL K. HEIM, NOV '89 TO USE "SOLARFLUX"
  351. 3660 REM          AS SET IN THE COMPUTER'S DOS ENVIRONMENT
  352. 3670 REM          AND EXTENSIVE ERROR TRAPPING.  CHANGED PRINT
  353. 3680 REM          PROVISIONS TO USE LCOPY AND ADDED DEFAULT
  354. 3690 REM          FILESPEC, SOLAR FLUX, TRANSMITTER AND
  355. 3700 REM          RECEIVER LOCATIONS, BEEPS ADDED, USE SYSTEM
  356. 3710 REM          DATE AND DEFAULT SOLAR FLUX OPTIONS.
  357. 3720 REM***************************************************
  358. 3730 REM 
  359. 3740 REM  UTILIZATION OF FUNCTION:
  360. 3750 REM
  361. 3760 REM     ARCCOS X = PI/2 - ARCTAN (X / SQR(1 - X*X))
  362. 3770 REM
  363.