10 PRINT"=======================" 20 PRINT"GEOSTATIONARY SATELLITE" 30 PRINT"=======================" 40 PRINT 50 PRINT"This programme calculates the" 60 PRINT"azimuth (angle clockwise from north) and" 70 PRINT"elevation (angle from the horizontal) of" 80 PRINT"any geostationary satellite as seen from" 90 PRINT"any point on the earth." 100 PRINT 110 PRINT"Please enter all positions in degrees." 120 PRINT 130 PRINT"Positions north of the equator or west" 140 PRINT"of the meridian are entered as positive" 150 PRINT"values." 160 PRINT 170 PRINT"Positions south of the equator or east" 180 PRINT"of the meridian should be prefaced by a" 190 PRINT"minus sign (-)." 200 PRINT 210 INPUT"Site latitude (deg N) ";Lat 220 INPUT"Site longitude (deg W) ";Long 230 REPEAT 240 PRINT 250 INPUT"Longitude of satellite (deg W) ";C 260 Lat=Lat*PI/180 270 Long=Long*PI/180 280 C=C*PI/180 290 Z=ABS(C-Long) 300 IF Z>PI Z=ABS(2*PI-Z) 310 D=COS(Lat)*COS(Z) 320 D=-ATN(D/SQR(-D*D+1))+PI/2 330 J=(-SIN(Lat)*COS(D))/(COS(Lat)*SIN(D)) 340 IF ABS J>.99999 J=(SGN J)*.99999 350 Az=(-ATN(J/SQR(-J*J+1))+PI/2)*57.3 360 IF C>Long AND C<(PI+Long) OR C>(2*PI+Long) Az=360-Az 370 LET El=(PI/2 -(ATN(42171*SIN(D)/(42171*COS(D)-6371))))*57.3 380 IF D < 1.41895 PRINT"Azimuth = ";INT(Az+.5) 390 IF D < 1.41895 PRINT"Elevation = ";INT(El+.5) 400 IF D > 1.41895 PRINT"Satellite below horizon" 410 UNTILFALSE