pro eit_genx_cat, index, text, cat_name=cat_name, full_fov=full_fov, $
name_only=name_only, generate=generate, first=first, last=last
;+
; Name: eit_genx_cat
;
; Purpose: generate and/or read local eit qkl catalog
;
; Input Parameters:
; NONE
;
; Output Parameters:
; index - IDL 'eit_struct.pro' style structures for last few days
; text - text version of index (via get_infox)
;
; Keyword Parameters:
; cat_name - (output) - name of current catalog
; name_only - (input) - switch, just return catalog name via CAT_NAME
; full_fov - (input) - if set, read FULL FOV catalog
;
; generate - (input) - switch, GENERATE catalog (default is just read)
; (generally , via CRON job)
; last - (input) - only with GENERATE, number of days to include
; (most recent NN=LAST days, default=2)
;
; Calling Sequence:
; eit_genx_cat, eitstructs, eitinfo ; most recent few days
; eit_genx_cat, eitstructs, eitinfo, /full_fov ; same, only full FOV (speed)
;
; eit_genx_cat,/generate ; Make it, via priviledged cron job
;
; History:
; 3-mar-1997 - generate/read EIT_STRUCT (via read_eit.pro) based catalog
; (replace old "temporary" ascii catalog)
; 11-mar-1997 - make a smaller full fov also
; 23-apr-1997 - add filter for zero block files (and send email warning)
;
; Calls:
; eit_files, read_eit, savegen OR restgen
;
; Method:
; uses 'genx' files - see SAVEGEN and RESTGEN for more details
;-
if not keyword_set(last) then last=2
genxcat='eit_qklcat.genx'
cat_name=concat_dir('$SSW_SITE_LOGS',genxcat)
full_name=str_replace(cat_name,'qkl','qkl_fullfov')
whichcat=([cat_name,full_name])(keyword_set(full_fov))
if keyword_set(name_only) then return ;*** early exit!! - name only
if keyword_set(generate) then begin
files=eit_files(last=last<7) ; 1 week at most
sizes=file_size(files)
empty = where(sizes eq 0,ecnt)
ok = where(sizes ne 0,gcnt)
if ecnt gt 0 then begin
pr_status, txt, /idldoc, caller='eit_genx_cat'
mess=[txt,"The following files are ZERO blocks...",' '+files(empty)]
mail,mess,/no_def,subj="ZERO Block EIT Files", $
user=str2arr(get_logenv('EIT_SW_NOTIFY'))
files=files(ok)
endif
read_eit,files,index ; read headers
text=get_infox(index,/fmt_tim, $
'WAVELNTH,FILTER,naxis1,naxis2,EXPDUR,OBJECT', $
format='a,a,a,a,a,a')
savegen,file=cat_name,index,text
ssfull=where(index.object eq 'full FOV')
savegen,file=full_name,index(ssfull),text(ssfull)
endif else restgen,file=whichcat, index, text
return
end
Last revised: - Wed May 9 21:45:17 2007- F. Auchère