;+ ; NAME: ; hangle ; PURPOSE: (one line) ; Compute the local hour angle of an object. ; DESCRIPTION: ; CATEGORY: ; Astronomy ; CALLING SEQUENCE: ; hangle,jd,ra,dec,lat,lon,lha,lst [,UT=ut] ; INPUTS: ; JD - Julian date (must be double precision to get nearest second). ; RA - Right ascension (of date) in radians. ; DEC - Declination (of date) in radians. ; LAT - Latitude of observatory in radians. ; LON - West longitude of observatory in radians. ; OPTIONAL INPUT PARAMETERS: ; None. ; KEYWORD INPUT PARAMETERS: ; UT - Time, in hours to add to JD to get the correct Universal Time. ; That the same as Universal Time minus the Local Time. ; KEYWORD OUTPUT PARAMETERS: ; ALT - Optional return of the altitude for each airmass. ; LHA - Optional return of the local hour angle. ; LST - Optional return of the local sidereal time. ; OUTPUTS: ; LHA - Return of the local hour angle. ; LST - Return of the local sidereal time. ; COMMON BLOCKS: ; None. ; SIDE EFFECTS: ; RESTRICTIONS: ; Any input may be a vector. If more than one is a vector then the ; lengths must match. The return will have the same dimensions as ; the input. ; PROCEDURE: ; MODIFICATION HISTORY: ; ; 94/05/05 - Written by Marc W. Buie, Lowell Observatory ;- pro hangle,jd,ra,dec,lat,lon,lha,lst,UT=ut if badpar(jd,[5],[0,1],CALLER='hangle: (jd) ') then return if badpar(ra,[4,5],[0,1],CALLER='hangle: (ra) ') then return if badpar(dec,[4,5],[0,1],CALLER='hangle: (dec) ') then return if badpar(lat,[4,5],0,CALLER='hangle: (lat) ') then return if badpar(lon,[4,5],0,CALLER='hangle: (lon) ') then return if badpar(ut,[0,2,3,4,5],0,CALLER='hangle: (UT) ',DEFAULT=0) then return lsidtim,jd,lon,lst,UT=ut lha = lst - ra z = where(lha gt !pi,count) if (count ne 0) then lha[z] = lha[z] - 2.0*!pi z = where(lha le -!pi,count) if (count ne 0) then lha[z] = lha[z] + 2.0*!pi end