10 REM PROGRAM "RISE-SET.BAS," A MBASIC PROGRAM CALCULATING THE LOCAL HOUR ANGLE 20 REM AND THE LOCAL AZMUTH OF THE RISING OF AN ASTRONOMICAL BODY 30 REM GIVEN ITS DECLINATION AND THE OBSERVERS LATITUDE 40 REM REVISED 4-19-1985, MIKE FINERTY, TUCSON 50 REM *********************************************************************** 60 PI = 3.1415926# 70 INPUT "DECLINATION OF BODY IN DEC. DEGREES";D 80 INPUT "LATITUDE OF OBSERVER IN DEGREES.MINS "; LAT 90 DEC = D*PI/180 100 LATITUDE = 100/60*(LAT - INT(LAT))+INT(LAT) 110 L = LATITUDE*PI/180 120 TEST = ABS(DEC) 130 IF TEST > PI/2-ABS(L) THEN 330 140 LHACOS = - TAN(L)*TAN(DEC) 150 AZCOS = SIN(DEC)/COS(L) 160 LHA =PI/2-ATN(LHACOS/(1-LHACOS^2)^.5) 170 AZ = PI/2-ATN(AZCOS/(1-AZC0S^2)^.5) 180 AZ = AZ/PI*180 190 LHA=LHA/PI*12 200 LHA = 24-LHA 210 PRINT "RISING AZMUTH =";AZ;"DEGREES, SETTING AZMUTH =";360-AZ;"DEGREES" 220 PRINT "LHA RISING =";LHA;"HOURS, LHA SETTING =";24-LHA;"HOURS" 230 PRINT "OBJECT VISIBLE FOR";2*(24-LHA);"HOURS." 240 PRINT "ALTITUDE AT UPPER CULMINATION (TRANSIT) =";90-ABS(L-DEC)*180/PI;"DEGREES" 250 IF DEC = L THEN PRINT "CULMINATION AT ZENITH" 260 IF DEC = L THEN GOTO 330 270 IF DEC>L THEN PRINT "TRANSIT NORTH OF ZENITH" ELSE PRINT"TRANSIT SOUTH OF ZENITH" 280 PRINT 290 PRINT "DO YOU WANT ANOTHER OBJECT ? Y/N?" 300 INPUT ANS$ 310 IF ANS$ = "Y" GOTO 10 320 END 330 IF SGN(DEC) = SGN(L) THEN PRINT "OBJECT DOES NOT SET" 340 IF SGN(DEC) = -1*SGN(L) THEN PRINT "OBJECT DOES NOT RISE ABOVE HORIZON" 350 GOTO 240