pro radec,ra,dec,ihr,imin,xsec,ideg,imn,xsc ;Convert from decimal to hrs,min ;+ ; NAME: ; RADEC ; PURPOSE: ; To convert RA and Dec from decimal to sexigesimal units. ; EXPLANATION: ; The conversion is to sexigesimal hours for RA, and sexigesimal ; degrees for declination. ; ; CALLING SEQUENCE: ; radec, ra, dec, ihr, imin, xsec, ideg, imn, xsc ; ; INPUTS: ; ra - right ascension in decimal DEGREES, scalar or vector ; dec - declination in decimal DEGREES, scalar or vector, same number ; of elements as RA ; ; OUTPUTS: ; ihr - right ascension hours (INTEGER*2) ; imin - right ascension minutes (INTEGER*2) ; xsec - right ascension seconds (REAL*4 or REAL*8) ; ideg - declination degrees (INTEGER*2) ; imn - declination minutes (INTEGER*2) ; xsc - declination seconds (REAL*4 or REAL*8) ; ; RESTRICTIONS: ; RADEC does minimal parameter checking. ; ; REVISON HISTORY: ; Written by B. Pfarr, STX, 4/24/87 ; Converted to IDL V5.0 W. Landsman September 1997 ;- On_error,2 if (N_params() LT 2 ) then begin print,'Syntax - radec, ra, dec, ihr, imin, xsec, ideg, imn, xsc' return endif ; Compute RA ra = ra mod 360. ;Make sure between 0 and 24 hours ra = ra + 360*(ra lt 0) ihr = fix(ra/15.) xmin =abs(ra*4.0-ihr*60.0) imin = fix(xmin) xsec = (xmin-imin)*60.0 ; Compute Dec ideg = fix(dec) xmn = abs(dec-ideg)*60.0 imn = fix(xmn) xsc = (xmn-imn)*60.0 ; Now test for the special case of zero degrees zero_deg = ( ideg EQ 0 ) and (dec LT 0) imn = imn - 2*imn*fix( zero_deg*(imn NE 0) ) xsc = xsc - 2*xsc*zero_deg*(imn EQ 0) return end