PRO EXTRACT_EPHEM,jour_debut,jour_fin,t,lat,tl,rs,source=source,dmin=dmin,$
plot=plot,ps=ps
if ~keyword_set(source) then source = 'sq'
if ~keyword_set(dmin) then dmin = 3.
time = dblarr(1)
lat = fltarr(1)
tl = fltarr(1)
rs = fltarr(1)
read_data_src_list,src_list
src_list = (src_list(where(src_list.df_name eq source)))(0)
debut = long(aj_t97(jour_debut))
fin = long(aj_t97(jour_fin))
for courant=debut,fin do begin
jour_courant = t97_aj(courant)
plist = make_file_list(jour_courant,0.,jour_courant,24., $
level='ephem',ephem_type=src_list.veph)
if ptr_valid(plist) then begin
dataFileVeph = *plist
ptr_free,plist
endif else begin
print,'No Veph data... aborting'
stop
endelse
plist = make_file_list(jour_courant,0.,jour_courant,24., $
level='ephem',ephem_type=src_list.qeph)
if ptr_valid(plist) then begin
dataFileQeph = *plist
ptr_free,plist
endif else begin
print,'No Qeph data... aborting'
endelse
read_data_binary,dataFileVeph,veph,level='veph'
read_data_binary,dataFileQeph,qeph,level='qeph'
if n_elements(veph) ne n_elements(qeph) then begin
qeph2 = replicate({data_qeph},n_elements(veph))
qeph2.time = veph.time
for i = 0,3L do begin
qeph2.q(i) = interpol(qeph.q(i),qeph.time,veph.time)
endfor
qeph = qeph2
endif
qcenter = q_vmake(veph.r)
qc0 = q_rot(qeph.q,qcenter)
veph.r = qc0(1:3,*)/src_list.body_rad_value
lat = [lat,reform(atan(-veph.r(2)/sqrt(veph.r(1)^2+veph.r(0)^2))/!dtor)]
rs = [rs,reform(sqrt(veph.r(0)^2+veph.r(1)^2+veph.r(2)^2))]
tl = [tl,reform((atan(-qc0(2,*),-qc0(1,*))+!pi)/!pi*12.)]
time = [time,veph.time]
endfor
lat = lat(1:*)
tl = tl(1:*)
rs = rs(1:*)
time = time(1:*)
w = where(time le 0. or abs(lat) gt 90. or tl lt 0. or tl gt 24.,comp=wc)
if (w(0) ne -1) then begin
time = time(wc)
lat = lat(wc)
rs = rs(wc)
tl = tl(wc)
endif
t = dindgen((fin-debut+1l)*1440./dmin)*dmin/1440.+debut
lat = interpol(lat,time,t)
tl = interpol(tl,time,t)
rs = interpol(rs,time,t)
if (max(t) - min(t)) le 1. then begin
tt=(t-long(min(t)))*24.
xtit = 'Hours of DOY '+strmid(t97_aj(min(t)),7,7)
endif else begin
tt=(t-aj_t97(long(strmid(t97_aj(min(t)),7,4)+'000')))
xtit = 'DOY '+strmid(t97_aj(min(t)),7,4)
endelse
if keyword_set(ps) then begin
!p.multi=[0,1,3]
titre='plot_ephem'
set_plot,'ps'
device,filename=titre+'.ps',/col,/landscape,bits=8
!p.font=0
endif
if keyword_set(plot) then begin
!p.multi=[0,1,3]
plot,tt,lat,/xsty,/ysty,yr=[-90,90],xtit=xtit,ytit='Lat (deg)',charsize=1.8
plot,tt,tl,/xsty,/ysty,yr=[0,24],xtit=xtit,ytit='LT (h)',charsize=1.8
plot,tt,rs,/xsty,/ysty,yr=[0,60],xtit=xtit,ytit='r (Rs)',charsize=1.8
!p.multi=[0,1,1]
endif
if keyword_set(ps) then begin
device,/close & set_plot,'x'
spawn,'ps2pdf '+titre+'.ps '+titre+'.pdf'
spawn,'rm -f '+titre+'.ps'
!p.multi=[0,1,1]
endif
end