;+ ; NAME: ; CvSky_RTN ; PURPOSE: ; Euler angles for Heliographic to RTN conversion at Earth ; CATEGORY: ; smei/gen/idl/ephem ; CALLING SEQUENCE: FUNCTION CvSky_RTN, UT_or_LOC, degrees=degrees ; INPUTS: ; UT_or_LOC array[3,n]; type: float ; heliocentric locations in heliographic ; coordinates (heliographic longitude, latitude and ; distance) ; array[n]; type: time structure ; UT times; in this case the heliocentric locations ; is assumed to be at Earth at the specified times ; OPTIONAL INPUT PARAMETERS: ; /degrees if set all angles are in degrees (default: radians) ; OUTPUTS: ; Result array[3,n]; type: float ; Euler angles to rotate from heliographic ; coordinates to RTN coordinates ; INCLUDE: @compile_opt.pro ; On error, return to caller ; CALLS: ; big_eph, jpl_body, SubArray ; PROCEDURE: ; RTN (Radial, Tangential, Normal) coordinates at point P: ; x-axis = radial direction ; y-axis = in tangent plane, parallel to solar equator ; z-axis = in tangent plane, pointing toward the solar north pole ; MODIFICATION HISTORY: ; AUG-2002, Paul Hick (UCSD/CASS) ; OCT-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ; Added option to directly enter heliocentric locations ; in addition to always using Earth's location. ;- ; If UT_or_LOC is a time structure then the observer is assumed to be at Earth. ; Calculate heliocentric location of Earth in heliographic coordinates CASE IsTime(UT_or_LOC) OF 0: A = UT_or_LOC 1: A = big_eph(UT_or_LOC, $ body=jpl_body(/earth,/string), $ /to_heliographic , $ /to_sphere , $ /precess , $ degrees=degrees , $ /onebody , $ /silent) ENDCASE ; To get the appropriate Euler angles we need to change sign ; on the 2nd component (latitude) and zero the third component (distance). A = SubArray(A,element=1,multiply=-1.0d0) A = SubArray(A,element=2,replace = 0.0d0) RETURN, A & END