home *** CD-ROM | disk | FTP | other *** search
- 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
- ) THEN PRINT "OBJECT DOES NOT SET"
- 340 IF SGN(DEC) = -1*SGN(L) THEN PRINT "OBJECT DOES NOT RISE ABOVE HORIZON"
- 350 GOTO