pro les_synop_movie,time0,time1,debug=debug, mcube=mcube,merge=merge
debug=keyword_set(debug)


if n_params() eq 0 then begin
   time0=reltime(days=-5)
   time1=reltime(/now)
endif
merge=keyword_set(merge)
if n_elements(corcadence) eq 0 then corcadence=6
time_window,[time0,time1],st0,st1,out='ecs'
sgrid=timegrid(st0,st1,hours=corcadence,out='vms')
e284=sswdb_files(st0,st1,pat='_284_',/l1q)  ; try eit284 first
t284=file2time(e284,out='int')              ; times
ess=tim2dset(t284,sgrid,delta=dteit)        ; match -> grid
sxisynop=file_list('$SSWDB/goes/sxig12/l1q_synop','*.FTS')
sxisynop=sel_filetimes(st0,st1,sxisynop)

tsxi=file2time(sxisynop,out='int')
sss=tim2dset(tsxi,sgrid,delta=dtsxi)

sse=where(dteit lt 3600+((1-merge)*10000),ecnt)
sssxi=where(dteit gt 3600 and dtsxi lt 3600,scnt)
 
if ecnt gt 0 then efss=tim2dset(t284,sgrid(sse))  
if scnt gt 0 then sfss=tim2dset(tsxi,sgrid(sssxi))

nmerge=total([ecnt, scnt])   ; number of merged images

outsize=512
if keyword_set(merge) then begin
   mcube=make_array(outsize,outsize,nmerge,/byte)
   mtimes=strarr(nmerge)
   if debug then stop,'teit
   case 1 of
      scnt gt 0 and ecnt gt 0: sorder=sort([sse,sssxi])
      scnt gt 0: sorder=indgen(scnt)
      ecnt gt 0: sorder=indgen(ecnt)
      else: box_message,'Impossible!'
   endcase
   i=0
   if ecnt gt 0 then begin
      mreadfits,e284(efss),i284,d284,outsize=512
      s284=ssw_sigscale(i284,d284,/log,/corner_cut)
      for i=0,ecnt-1 do begin
         mcube(0,0,sorder(i))=s284(*,*,i)
         mtimes(sorder(i))=anytim(i284(i),/ecs)
      endfor
   endif

   if scnt gt 0 then begin
      mreadfits,sxisynop(sfss),si284,sd284

      ;ss284=safe_log10(sd284>.3,/byte)
      ;ss284=ssw_sigscale(si284,sd284+.5)
      ss284=bytscl((safe_log10(si284,sd284))^.8)
      for ii=0,scnt-1 do begin
         mcube(0,0,sorder(i+ii))=ss284(*,*,ii)
         mtimes(sorder(i+ii))=anytim(si284(ii),/ecs)
      endfor
   endif
   ssreorder=sort(mtimes)
   mtimes=mtimes(ssreorder)
   tempcube=mcube
   for i=0,data_chk(mcube,/nimage)-1 do tempcube(0,0,i)=mcube(*,*,ssreorder(i))
   mcube=temporary(tempcube)
   box_message,['Post Merge=================',mtimes]
   case 1 of
      data_chk(i284,/struct) and data_chk(si284,/struct): $
           i284=concat_struct(anytim(i284,/int),anytim(si284,/int))
      data_chk(si284,/struct): i284=si284
      else:
   endcase
   if n_elements(i284) gt 1 then i284=sort_index(i284)       ; assure time ->
endif else begin  
   mreadfits,e284(tim2dset(t284,sgrid(sse)) ),i284,d284,outsize=outsize
   ssw_fill_cube,d284,window=1
   mcube=ssw_sigscale(i284,d284,/log,/corner_cut)
endelse
ssw_fill_cube,mcube,window=1
ssw_pfss_time2l1q,i284,pthumbs
ssw_pfss_time2l1q,i284,pethumbs,pefull, /eclip
minnx=min([data_chk(pthumbs,/nx),data_chk(pethumbs,/nx)])
sfac=float(minnx)/data_chk(mcube,/nx)
scube=confac(mcube,sfac)

out=[scube(0:minnx-1,0:minnx-1,*),pthumbs(0:minnx-1,0:minnx-1,*),$
     pethumbs(0:minnx-1,0:minnx-1,*)]

if debug then stop
return
end



