;The purpose of this procedure is to display the time coverage intervals of different NAIF objects contained within the file. ;It requires as input a CK file and a SCLK file pro spice_get_ck_coverage, ck_file, sclk_file SPICEFALSE = 0B MAXIV = 1000 WINSIZ = 2 * MAXIV TIMLEN = 51 MAXOBJ = 1000 ;; ;; Local variables ;; cover = cspice_celld( WINSIZ ) ids = cspice_celli( MAXOBJ ) ;; ;; Load a standard kernel set. ;; ;cspice_furnsh, 'standard.tm' cspice_furnsh, SCLK_file ;; ;; Find the set of objects in the CK file. ;; cspice_ckobj, CK_file, ids ;; We want to display the coverage for each object. Loop over ;; the contents of the ID code set, find the coverage for ;; each item in the set, and display the coverage. ;; for i=0, cspice_card( ids ) - 1 do begin ;; ;; Find the coverage window for the current object, 'i'. ;; Empty the coverage window each time ;; so we don't include data for the previous object. ;; obj = ids.base[ ids.data + i ] cspice_scard, 0L, cover cspice_ckcov, CK_file, obj, SPICEFALSE, 'INTERVAL', 0.D, 'TDB', cover ;; ;; Get the number of intervals in the coverage window. ;; niv = cspice_wncard( cover ) ;; ;; Display a simple banner. ;; print, '========================================' print, 'Coverage for object:', obj ;; ;; Convert the coverage interval start and stop times to TDB ;; calendar strings. ;; for j=0, niv-1 do begin ;; ;; Get the endpoints of the jth interval. ;; cspice_wnfetd, cover, j, b, e ;; ;; Convert the endpoints to TDB calendar ;; format time strings and display them. ;; Pass the endpoints in an array, [b,e], ;; so cspice_timout returns an array of time ;; strings. ;; cspice_timout, [b,e], $ 'YYYY MON DD HR:MN:SC.### (TDB) ::TDB', $ TIMLEN ,$ timstr print, 'Interval: ', j print, 'Start : ', timstr[0] print, 'Stop : ', timstr[1] print endfor endfor end