The csv files contain the trajectory of the spacecraft as extracted from the available SPICE kernels, in a heliocentric ecliptic J2000 reference frame. For reference, the code used to extract the data from the SPICE kernels, the used IDL code is given below. The format of the csv files is as follows: col 1: Day - format: yyyy-mm-ddThh:mm:ss col 2: Day - format: yyyy-doyThh:mm:ss col 3: Julian date after 2000-01-01T12:00 - units: seconds col 4-6: Spacecraft position X,Y,Z - units: kilometers col 7-9: Spacecraft velocity Vx, Vy, Vz - units kilometers per second Harald Krüger 11 December 2024 -------------- ; ; ; Read spice kernel and write ascii output file. ; ; --------------------------- ; ; H. Krueger ; 04/12/2024 ; pro trajectory, filename_out, utc_start, utc_end, sc_id, delta_t, x_rang, y_rang mkfile = 'kernels.mk' AU = 1.495e+8 ; AU in km step = delta_t * 86400. ; Schrittweite in Sekunden print, '% TRAJECTORY: Timestep: ', delta_t, ' day(s).' cspice_furnsh, mkfile ; Liste der Spice-Kernels einlesen out_file_name = filename_out+strmid(utc_start,0,10)+'-to-'+strmid(utc_end,0,10)+'.csv' year_start = strmid(utc_start,0,4) ; Umwandlung fuer Routine Julday month_start = strmid(utc_start,5,2) day_start = strmid(utc_start,8,2) hour_start = strmid(utc_start,11,2) min_start = strmid(utc_start,14,2) sec_start = strmid(utc_start,17,2) jul_start = julday(month_start,day_start,year_start,hour_start,min_start,sec_start) cspice_str2et, utc_start, et_start ; Umwandlung von UTC als String in ET cspice_str2et, utc_end, et_end openw, iunit, out_file_name,/get_lun ; File fuer Trajektorie format_string_traj = ['(A24,A2,A24,A2,F18.3,6(A2,F19.6))'] plot, x_rang, y_rang, xtitle='X (AU)',ytitle='Y (AU)',/nodata, xstyle=1, ystyle=1 i = 0 for et=et_start,et_end,step do begin ; State Vector von Spacecraft cspice_spkezr, sc_id, double(et), 'ECLIPJ2000', "LT+S", 'SUN', starg, ltime ; interplanetary cruise cspice_et2utc, et, 'ISOC', 2, out_isoc cspice_et2utc, et, 'ISOD', 2, out_isod jul_day = jul_start + delta_t * i printf, iunit, format=format_string_traj, string(out_isoc), ',', string(out_isod),' ,', et, ' ,', $ starg(0),' ,', starg(1),' ,', starg(2),' ,', starg(3),' ,', starg(4),' ,', starg(5) ; Trajektorie in File schreiben i = i + 1 oplot,[starg(0)/AU,starg(0)/AU],[starg(1)/AU,starg(1)/AU],symsize=1.2 ; Trajektorie zeichnen endfor print, '% TRAJECTORY: Trajectory plot created.' cspice_unload, mkfile free_lun, iunit return end