ALTITUDE AND AZIMUTH 

Disp "M:D:YEAR" is a reminder for the forthcoming prompt (Prompt A,B,C)  that asks for the month, day and year as 2, then 5, and finally 2002.
DISP MST (Prompt O,P,Q) asks for the desired  hour, minute and second of MST.
Disp "RTASC"(Prompt E,F,I) requests the right ascension of the object of interest in hours, minutes, and seconds.
Disp "DECLIN" (Prompt A,B,C) requirs the declination of the object of interest in degrees, minutes, seconds.
The outputs are presented to the nearest whole degree and minute of arc. For negative values, only the degree value has to be entered as a negative number.
N.B. You must correct for the desired time zone and for the deviation of your location of interest relative to the start of the appropriate time zone.  Thus, 7.124619445 designates 27 min 43 sec west of the start of the MST zone (+7 hr relative to UTC).  You must also correct for your location of interest: the sin of my latitude is 0.55614251; the cosine of my latitude is.0.83108694.
<=denotes less than or equal to
You can link this program to the declination and right ascension program for direct solar data. However, there is a problem. Even though the program for right ascension and declination provide data accurate to within 0.0025o of the USNO data, the resulting output for the altitude, obtained by linking these programs,  can be off  by several minutes of arc.  Even rounding off the USNO data for right ascension and declination  to the nearest whole second discernably affected the altitude data.


Disp "M,D,YEAR"
Prompt A,B,C
If A<=2
Then
A+12->A
C-1->C
End
19->D
-13->E
iPart((365.25xC)->F
iPart(((A+1)x30.6001)->G
E+F+G+B+1720994.5->X
X-2451545->S
S/36525->T
6.697374558+(2400.051336xT)+(0.000025862xT2)->V
If V>24
Goto M
If V<0
Goto H
Lbl M
While V>24
V-24->V
End
Lbl H
While V<0
V+24->V
End
Disp "MST"
Prompt O,P,Q
O+(P/60)+(Q/3600)->W
W+7->W
(Wx1.0027379094)+V->Z
Z-7.124619445>Y
If Y<0
24+Y->Y
If Y>24
Then
Y-24->Y
End
Disp "RTASC"
Prompt E,F,I
E+(F/60)+(I/3600)->Q
If Y>Q
Y-Q->G
If Y<Q
Q-Y->G
Gx-1->G
If Y=Q
G=0
Gx15->Z
If Z <0
Then
Zx-1->Z
End
Disp "DECLIN"
Prompt A,B,C
If A<0
Bx-1->B
Cx-1->C
A+(B/60)+(C/3600)->D
(sin(D)x0.55614251)+((cos(D)x.0.83108694xcos(Z))->E
sin-1(E)->E
iPart(E)->q
Fix 0
Disp "ALTITUDE:DEG",q
Fix 2
60xfPart((E)->K
iPart(K)->W
Fix 0
Disp "MIN",W
Fix 2
60xfPart(K)->G
Fix 0
Disp "SEC",G
Float
Pause
(sin(D)-(.55614251xsin(E)))/(.83108694xcos(E))->F
cos-1(F)->F
If sin(Z > 0
Then
360-F->F
End
If F >=180
Then
360-F-> F
iPart(F)->q
Fix 0
Disp "AZIMUTH:DEG",q
Fix 2
60xfPart((F)->M
iPart(M)->W
Fix 0
Disp "MIN",W
Fix 2
60xfPart(M)->G
Fix 0
Disp "SEC",G
Float


All comments and suggestions are always welcomed: gar8@earthlink.net
2,June 13:0:0 UTC