1000 CLS 1100 PRINT "AN ASTRONOMICAL CALCULATOR" 1200 PRINT "PREPARED FOR S. A. R. A. MEMBERS" 1300 PRINT "BY M. E. VALDEZ" 1400 PRINT "1984" 1500 PRINT:PRINT:PRINT"MENU:" PRINT 1600 PRINT "1 - CONVERT NOISE FIGURE IN DB. TO NOISE TEMPERATURE" 1700 PRINT "2 - CONVERT NOISE TEMPERATURE INTO NOISE FIGURE IN DB." 1800 PRINT "3 - COMPUTE SKY TEMPERATURE FROM r-REOUENCY OF OPERATION" 1900 PRINT "4 - CONVERT CALENDAR TO JULIAN DAY" 2000 PRINT "5 - CONVERT JULIAN DAY TO CALENDAR" 2100 PRINT "6 - ANALYSIS OF RADIO ASTRONOMICAL STATION" 2200 PRINT "7 - CONVERT CELESTIAL COORDINATES TO ALTITUDE AND AZIMUTH" 2300 PRINT "8 - CONVERT GREENWICH JULIAN DAY TO MEAN SIDERAL TIME" 2400 PRINT "9 - FIND TRANSIT ALTITUDE OF SOURCES" 2500 PRINT 2600 PRINT "0 QUIT" 2700 PRINT:PRINT:PRINT:PRINT "WHICH "; 2700 YS=INKEY$:IF Y$="" THEN 2000 2900 N=VAL(Y$) 3000 PRINT 3100 ON N GOTO 15400,15900,14800,12000,12800,16400,3300,l0100,22500 3200 END 3300 CLS:PRINT"PROGRAM TO CONVERT RIGHT ASCENSION AND PECLINATION" 3400 PRINT"TO ALTITUDE AND AZIMUTH" 3500 PRINT"FOR A GIVEN DATE, TIME AND PLACE" 3600 PRINT"PREPARED FOR S. A. P. A. MEMBERS" 3700 PRINT"BY M. E. VALDEZ" 1904" 3800 PRINT 3900 PRINT 4000 P#=3.14159265#:R1#=P#/iS0 4100 INPUT "OBSERVATION YEAR, MONTH, DAY":Y,M,D 4200 INPUT "OBSERVATION LOCAL HOUR, MINUTES":H,M1 4300 GOSUP 8500:T=S#*15*R1# 4400 INPUT "STATION LATITUDE AND LONGITUDE":B,L 4500 H1=INT(S#):M1=INT((S#-H1)*60+.5) 4600 PRINT:PRINT"TRANSIT OBJECTS HAVE RA ="HI"HOURS"M1"MINUTES":PRINT 4700 INPUT "OBJECT RIGHT ASCENSION IN HOURS, MIN":A$,A2 4800 A3=0:GOSUP 7400:R=A#15*R1# 4900 IF R=0 THEN 1000 5000 INPUT "OBJECT DECLINATION AS DEG, MIN";A$.A2 5100 A3=0:GOSUP 7400:D=A#R1# 5200 B=B#R1#:L=L*R1# 5300 T5=T-R+L: REM LHA 5400 T5=T5-L 5500 S1=SIN(B)*SIN(D) 5600 S1=S1+COS(B)*COS(D)*COS(T5) 5700 C1=1-S1*S1 5800 IF C1>0 THEN C1=SQR(C1) 5900 IF Cl<=0 THEN 6100 6000 H=ATN(S1/C1):GOTO 6200 6100 H=SGN(S1)*P#/2 6200 C2=COS(B)*SIN(D) 6300 C2=C2-SIN(B)*COS(D)*COS(T5) 6400 S2=-Cos(D)*SIN(T5) 6500 IF C2=0 THEN A=SGN(S2)*P*/2 6600 IF C2=0 THEN 6900 6700 A=ATN(S2/C2) 6800 IF C2<0 THEN A=A+P# 6900 IF A<0 THEN A=A+2*P# 7000 PRINT 7100 PRINT "ALTITUDE: ";INT(1OOO*H/Rl#+.5)/1000;"DEGREE" 7200 PRINT "AZIMUTH: ";INT(1000*A/Rl#+.5)/1000;"DEGREE" 7300 PRINT:GOTO 4700 7400 REM SEXAGESIMAL TO DECIMAL 7500 REM 7600 S=1:Al=ABS(VAL(A$)) 7700 IF LEFT$(A$,l)="-" THEN S=-1 7800 A=S*( AL+A2/60+A3/3600) 7900 RETURN 9000 REM GREENWICH MEAN 8100 REM SIDERAL TIME 5200 REM 8300 INPUT "YEAR, MONTH, DAY ";Y,M,D 0400 INPUT "HOURS AND MINUTES" :H,M1 6500 D=D+(H+M1/60)/24 8600 G=1 0700 GOSUP 11000 8800 D=J#-2451545# 8900 T=D/36525!:T1=INT(T) 9000 J0#=T1*36525#+2451545# 9100 T2=(J#-J0#+.5#)/36525# 9200 S#=24110.54841#+184.812866#*T1 9300 S#=S#+8640184.812866003#*T2 9400 S#=S#+.093104#*T*T 9500 S#=S#-6.200000000000007D-06*T*T*T 9600 S#=S#/86400#:S#=S#-INT(S#) 9700 S#=24*(S#+(F-.5)*1.00273799#) 9800 IF S#<0 THEN S#=S#+24 9900 IF S#>24 THEN S#=S#-24 10000 RETURN 10100 PRINT:INPUT "JULIAN DAY" ;J# 10200 IF J#=0 THEN 1000 10300 F=J#-INT(J#) 10400 J#=INT(J#) 10500 GOSUB 8800 10600 H=INT(S#):M1=60*(S#-H) 10700 M=INT(M1):S=60*(M1-M) 10000 PRINT "GREENWICH MEAN SIDERAL TIME IS: "H"HOURS"M"MINUTES"INT(S)"SECONDS" 10900 GOTO 10100 11000 D1=INT(D):F=D-D1-.5 11100 J#=-INT(7*(INT((M+9)/12)+Y)/4) 11200 IF G=0 THEN 11650 11300 S=SGN(M-9):A=ABS(M-9) 11400 J1=INT(Y+S*INT(A/7)) 11500 J1=-INT((INT(JI/100)+1)*3/4) l1600 J#=J#+INT(275*M/9)+D1+G*J1 11700 J#=J#+1721027#+2*G+367*Y 11800 J#=J#+F 11900 RETURN 12000 PRINT:INPUT "DESIRED YEAR, MONTH, DAY" ;Y,M,D 12100 IF Y=0 THEN 1000 12200 INPUT "JULIAN CALENDAR (0) OR GREGORIAN CALENDAR (1)":G 12300 GOSUB 11000 12400 PRINT "JULIAN DAY IS":J# 12500 GOTO 12000 12600 REM JD TO CALENDAR 12700 REM 12800 PRINT:INPUT "JULIAN DAY:";J# 12900 IF J#=0 THEN 1000 13000 INPUT "ENTER 0 FOR JULIAN AND 1 FOR GREGORIAN CALENDAR":G 13100 F=F+.5 13200 IF F<1 THEN 13400 13300 F=F-1:J=J+1 13400 IF G=1 THEN 13600 13500 A#=J#:GOTO 13800 13600 A1=INT((J#/36524.25#)-51.12264#) 13700 A#=J#+1+A1-INT(A1/4) 13800 B#=A#+1524# 13900 C=INT((B#/365.25)-.3343) 14000 D=INT(365. 25*C) 14100 E=INT((B#-D)/30.61) 14200 D=B#-D-INT(30.61*E)+F 14300 M=E-1:Y=C-4716 14400 IF E>13.5 THEN M=M-12 14500 IF M<2.5 THEN Y=Y+1 14600 PRINT "DATE: ";Y;M;D 14700 GOTO 12800 14800 PRINT:INPUT "OPERATING FREOUENCY IN MEGAHERTZ":F 14900 IF F=0 THEN 1050 15000 IF F>950 THEN TA=EXP(18.788-2.66*LOG(900)):GOTO 15200 15100 TA=EXP(18.T88-2.66*LOG(F)) 15200 PRINT "SKY TEMPERATURE IS"TA"DEGREE KELYIN" 15300 GOTO 14800 15400 PRINT:INPUT "ENTER NOISE FIGURE IN D.";NF 15500 IF NF=0 THEN 1000 15600 T=290*(EXP(NF*LOG(l0)/10)-1) 15700 PRINT "CORRESPONDING TEMPERATURE IS"T"DEGREE KELVIN." 15800 GOTO 15400 15900 PRINT:INPUT "KNOWN TEMPERATURE IN DEGREE KELVIN";D 16000 IF D=0 THEN 1000 16100 NF=10*LOG(1+D/290)/LOG(10) 16200 PRINT "CORRESPONDING NOISE FIGURE IS"NF"DB." 16300 GOTO 15900 16400 CLS 16500 PRINT" OBSERVATORY ANALYSIS PROGRAM" 16600 PRINT" FOLLOWING DR. JOHN D. KRAUS" 16700 PRINT" RADIO ASTRONOMY BOOK" 16800 PRINT" CHAPTERS 3 AND 6" 16900 PRINT 17500 PRINT"WRITTEN FOR S.A.R.A. MEMBERS" 17100 PRINT" BY M. E. VALDEZ" 17200 PRINT" 1984" 17300 PRINT 17400 CC#=.02322576# 17500 PI#=3.141592624# 17600 K#=1.3805#*1E-23 17700 RD#=180#/PI# 17800 INPUT "ANTENNA DIAMETER IN FT.";D 17900 INPUT "OPERATING FREQUENCY IN MHZ.";F 18000 INPUT "RECEIVER BANDWIDTH IN MHZ.";DV 18100 INPUT "RECEIVER NOISE FIGURE OR TEMP";TR 18200 INPUT "DICKE SYSTEM (Y/N)";A$ 10300 KS#=1# 18400 IF A$="Y" THEN KS#=PI#/SOR(2#) 18500 INPUT "SKY TEMPERATURE OR ZERO";TA 18600 IF TA>0 THEN 18900 10700 IF F>900 THEN TA=EXP(18.788-2.66*LOG(900)):GOTO 18900 18800 TA=EXP(18.708-2.66*LOG(F)) 18900 INPUT "FT OF COAXIAL CABLE, IF ANY ":LL 19000 LE=1 19100 IF LL=0 THEN 19600 19200 INPUT "LINE LOSSES IN DB/1050 FT";LE 19300 INPUT "ACTUAL LINE TEMP IN DEG FAR.";TL 19400 TL=273+(TL-32)*9/5 19500 LE=l-LL*EXP(-LE)/100 19600 INPUT "INTEGRATION TIME IN SEC.";IT 19700 INPUT "NUMBER OF RECORDS AVERAGED";NR 19800 A=.9*PI#*D*D*CC# 19900 F=300/F 20000 OM=F*F/A 20100 DI=4*PI#/OM 25200 IF TR>10 THEN 20400 20300 TR=290*(EXP(TR*LOG(10)/10)-1) 20400 TS=TA+TL*(1/LE-1)+TR/LE 25500 XL#=SQR(DV*1E+06*IT*NR) 20600 TM=KS#*TS/XL# 20700 SM=2*K#*TM/A 20800 OD=SQR(OM)*RD# 20900 NM=10*LOG(1+TM/290)/LOG(10) 21000 NS=10*LOG(1+TS/290)/LOG(10) 21100 PRINT 21200 PRINT "ANTENNA APERTURE";INT(A*100+.5)/100;"SQ. MT." 21300 PRINT "SOLID BEAM ANGLE";INT(OM*100+.5)/100;"RAD SQ.' 21400 PRINT "EQUIVALENT BEAM ANGLE";INT(OD+.5);"DEGREES" 21500 PRINT "ANTENNA DIRECTIVITY";INT(DI+.5) 21600 PRINT "SYSTEM TEMPERATURE";INT(TS+.5)("DEGREE K" 21700 PRINT "SYSTEM NOISE FIGURE";INT(NS*100+.5)I100;"DB" 21800 PRINT "MINIMUM DETECTABLE TEMPERATURE ";TM;"DEGREE K" 21900 PRINT "MINIMUM DETECTABLE NOISE FIGURE";NM;"DB" 22000 PRINT "MINIMUM DETECTABLE SOURCE";SM*1E+26;"FLUX UNITS" 22100 PRINT "MORE (YIN) "; 22200 Y$=INKEY$:IF YS="" THEN 22200 22300 IF Y$="Y" THEN 16400 22400 GOTO 1000 22500 CLS;PRINT "PROGRAM TO FIND TRANSIT ALTITUDE OF A SOURCE" 22600 PRINT "PREPARED FOR S. A. P. A. MEMBERS BY" 22700 PRINT "M. E. VALDEZ" 22800 PRINT "1984";PRINT 22900 INPUT "STATION LATITUDE IN DEGREE, MIN";L,M 23000 L=L+M/60 23100 INPUT "SOURCE DECLINATION IN DEGREE, MIN";D,M 23200 IF (D=0)AND(M=0) THEN 1000 23300 X=D+M/60 23400 IF D<0 THEN X=D-M/60 23500 A=90-L+X 23600 Y$='SOUTH" 23700 IF A>90 THEN A=180-A:Y$="NORTH" 23800 A1=INT(A);A2=INT((A-Al)*60+.5) 23900 PRINT 'TRANSIT ALTITUDE IS"A1"DEGREE'A2'MINUTES "Y$ 24000 PRINT:GOTO 23100