pro create_cube,fnam,cname,int=int,mindata=mindata,maxdata=maxdata,$
compress=compress,variable=variable
if n_params(0) ne 2  then begin
print,' Usage: create_cube,file_names,var_name,/compress,$'
print,'        /int,mindata=mindata,maxdata=maxdata,variable=variable'
print,'  file_names - file mask or file array'
print,'  var_name - name of cube array var'
print,'  /compress - flag for compress of saved data'
print,'  /int -saved array will be Integer'
print,'  mindata=#, maxdata=# - saved array > mindata and < maxdata'
print,'  variable - optional strarr with FITS header keywords' 
return
end

nn=n_elements(fnam)
if nn eq 1 then fnames=findfile(fnam) else fnames=fnam
if fnames(0) eq '' then return
fnames=fnames(sort(fnames))
nn=n_elements(fnames)
if nn lt 2 then return 
arr=readfits(fnames(0),header)
n=size(arr)
timeobs='TIME-OBS'
i=sxpar(header,timeobs)
i=size(i)
if i(1) ne 7 then timeobs='TIME_OBS'

;cname_arr=fltarr(n(1),n(2),nn)
xcom=cname+'=fltarr('+strtrim(string(n(1)),2)+','+strtrim(string(n(2)),2)$
+','+strtrim(string(nn),2)+')'
i=execute(xcom)

ftime=strarr(nn)
 nv=n_elements(variable)
if nv ne 0 then var0=strarr(nv,nn)


;for i=0,nn-1 do begin&cname_arr(*,*,i)=readfits(fnames(i),header)&
;if nv ne 0 then for j=0,nv-1 do begin
; var0(j,i)=string(fxpar(header,STRUPCASE(variable)))
;end
;ftime(i)=string(fxpar(header,'TIME-OBS'))&end
xcom='for i=0,nn-1 do begin&'+cname+'(*,*,i)=readfits(fnames(i),header,/sil)&'+$
'if nv ne 0 then for j=0,nv-1 do var0(j,i)=string(fxpar(header,strupcase('+$
'variable(j))))&ftime(i)=string(fxpar(header,timeobs))&end'
i=execute(xcom)
print,'nn=',strtrim(string(nn),1),' t0=',ftime(0),' t1=',ftime(nn-1) 

i=execute(cname+'_time=ftime')
i=execute(cname+'_hdr=header')

i=strpos(fnames(0),'/',/reverse_s)
if i eq -1 then i=strpos(fnames(0),'\',/reverse_s)
if i ne -1 then begin
 d=strmid(fnames(0),0,i+1)
 fnames=strmid(fnames,i+1,strlen(fnames(0)))
endif else d=''

;cname_files=fnames 
xcom=cname+'_files=fnames'
i=execute(xcom)

if n_elements(mindata) gt 0 then $
i=execute(cname+'='+cname+'>mindata(0)')

if n_elements(maxdata) gt 0 then $
i=execute(cname+'='+cname+'<maxdata(0)')

if keyword_set(int) then $
if execute(cname+'=fix('+cname+')') eq 0 then return
i=execute('help,'+cname)

;save,cname_files,cname_hdr,cname_arr,file=cname-images.save,/copress
xcom='save,'+cname+'_files,'+cname+'_hdr,'+cname+','+cname+'_time,file='''+d+cname+'-images.save'''
if keyword_set(compress) then xcom=xcom+',/comp'
if nv ne 0 then begin
 i=execute(cname+'_var=var0')
 i=execute(cname+'_varname=variable')
 xcom=xcom+','+cname+'_var,'+cname+'_varname'
end
;print,xcom
i=execute(xcom)
print,'Saved file is ''',d,cname,'-images.save'''
end


