;+ ; NAME: ; CvSky_Heliographic ; PURPOSE: ; Euler angles for Ecliptic to Heliographic conversion ; CATEGORY: ; smei/gen/idl/ephem ; CALLING SEQUENCE: FUNCTION CvSky_Heliographic, UT, degrees=degrees ; INPUTS: ; UT array[n]; type: time structure ; OPTIONAL INPUT PARAMETERS: ; /degrees if set all angles are in degrees (default: radians) ; OUTPUTS: ; abc array[3,n]; type: float ; Euler angles ; INCLUDE: @compile_opt.pro ; On error, return to caller ; CALLS: ; ToDegrees, TimeGet, TimeUnit, SuperArray, SubArray ; SEE ALSO: ; CvSky_IHG ; PROCEDURE: ; The ecliptic longitude for the ascending node and the ; inclination of equator to ecliptic are from ; R. Green, "Spherical astronomy", p. 431 ; MODIFICATION HISTORY: ; AUG-2002, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ;- A = TimeGet(UT, /mjd, /scalar)+1780L ; MJD -1780=JD2398220-JD2400000 B = 0.25d0+(A-!sun.siderealp*long(A/!sun.siderealp))/!sun.siderealp ; A[0,*] = -90 deg + ecliptic longitude of ascending node of solar equator on ecliptic ; A[1,*] = inclination of solar equator to ecliptic ; A[2,*] = 90 deg plus angle from ascending node to heliographic prime meridian Y = TimeGet(UT,TimeUnit(/year),/scalar)-1850+(TimeGet(UT,/doy,/scalar)-1.0d0)/365.25d0 A = SuperArray(double(0*A),3,/lead) A = SubArray(A, element=0, add=-16.333333d0+0.5025d0*Y/36.0d0) A = SubArray(A, element=1, add= 7.25d0) A = SubArray(A, element=2, add=360.00d0*(B-long(B))) RETURN, A/ToDegrees(degrees=degrees) & END