function eit_struct, number, catalog=catalog, version=version, $ oldversion=olversion, update=update, ncomment=ncomment ;+ ; Name: eit_struct ; ; Purpose: return eit_structure ; ; Input Parameters: ; number (optional) - number structures returned - default is one ; ; Keyword Parameters: ; catalog - if set, return catalog structure (subset) ; ncomment - if set, number of COMMENT records to include ; ; Calling Sequence: ; str=eit_struct( [number , ncomment=xx ] ) ; ; History: ; 27-apr-1996 S.L.Freeland (map FITs header) ; 24-may-1996 S.L.Freeland (add .VERSION, make .MJD long) ; 15-aug-1996 S.L.Freeland (Version 2, naxis3 - add /CATALOG switch) ; 27-oct-1996 S.L.Freeland (typo (BCALE->BSCALE)) ; 11-dec-1996 S.L.Freeland (add /CATALOG keyword for testing) ; 14-mar-1997 J.S.Newmark (add history to obtain version number) ; 11-apr-1997 S.L.Freeland (add NCOMMENT keyword , a few new tags) ; 14-apr-1997 J.S.Newmark (add sci-obj field to catalog) ; 05-may-1997 J.S. Newmark (add s/c pointing info tags) ; 26-mar-1998 J.S. Newmark (add handling for corrected date_obs) ; 02-jun-1998 J.S. Newmark (add cmp_no keyword) ;- pad_size=128 ; pad catalog struct version=2 common eit_struct_blk, str, strnc, catstr if keyword_set(oldversion) then version=oldversion if n_elements(str) eq 0 then begin case version of 1: str={ $ version:1, $ ; ----------- fits ---------------------------- simple:'',bitpix:0b, naxis:2,naxis1:0,naxis2:0, $ bcale:0., bzero:0., bunit:'', $ ; ----------- soho ---------------------------- ; date:'', mjd:0l, day:0, time:0l, $ time_obs:'',date_obs:'', $ filename:'', $ origin:'', telescop:'', instrume:'', object:'', $ sci_obj:'', obs_prog:'', $ ; -------- pointing ----------------------- ctype1:'',ctype2:'', $ crpix1:0., crpix2:0., crval1:0., crval2:0., $ cdelt1:0., cdelt2:0., solar_r:0., solar_b0:0., $ ; ----------- eit ----------------------------- wavelnth:0, $ filter:'', exptime:0., expmode:'', $ cftemp:0., ccdtemp:0., $ comment:strarr(30)} ;,history:strarr(30)} 2: str={ $ version:2, $ ; ----------- fits ---------------------------- simple:'', bitpix:0b, $ naxis:3,naxis1:0,naxis2:0,naxis3:0, $ bscale:0., bzero:0., bunit:'', $ ; ----------- soho ---------------------------- ; date:'', mjd:0l, day:0, time:0l, $ time_obs:'',date_obs:'', $ filename:'',cmp_no:0, $ origin:'', telescop:'', instrume:'', object:'', $ sci_obj:'', obs_prog:'', $ ; -------- pointing ----------------------- ctype1:'', ctype2:'', ctype3:'', $ crpix1:0., crpix2:0., crpix3:0., $ crval1:0., crval2:0., crval3:0., $ cdelt1:0., cdelt2:0., cdelt3:0., $ solar_r:0., solar_b0:0., sc_x0:0., $ sc_y0:0., sc_roll:0., hec_x:0., $ hec_y:0., hec_z:0., car_rot:0., $ ; ----------- eit ----------------------------- wavelnth:0, $ filter:'', exptime:0., expdur:0.0, expmode:'', $ cftemp:0., ccdtemp:0., datasrc:'', $ P1_X:0,P2_X:0,P1_Y:0,P2_Y:0, NMISSB:0, $ corr_obs:'', $ comment:strarr(300) , history:strarr(1)} else: message,/info,"Unexpected version number: " + strtrim(version,2) endcase endif outstr=str if n_elements(ncomment) eq 1 then begin if ncomment eq 0 then outstr=rem_tag(str,'comment') else $ outstr=rep_tag_value(str,strarr(ncomment),'comment') endif if keyword_set(catalog) and n_elements(catstr) eq 0 or keyword_set(update) then begin outstr = $ {nx: 0b, $ ; num pixel x / 32 ny: 0b, $ ; num pixel y / 32 nx_sum: 0b, $ ; x pixel summing ny_sum: 0b, $ ; y pixel summing file_time: {mjd:0, sec:0l}, $ ; (see comment above) wave: bytarr(4), $ ; sector+171 ; (0=not used), ; 1:171, 2:195, ; 3:284, 3:304 filter: 0b, $ ; filter obs_time: {mjd:0, sec:0l}, $ ; (see comment above) object: 0, $ ; feature planned program: 0L, $ ; obs prog # exp_time: 0, $ ; exposure in 1/32 unit file_name: bytarr(18), $ ; FITS file name image_of_seq: 0, $ ; (not used for LZ) n_leb_proc: 0b, $ ; # of LEB proc steps leb_proc: bytarr(8), $ ; LEB process steps temp: intarr(2), $ ; data value CF and CCD n_wave: 0b, $ ; (only in LZ) n_repeat: 0, $ ; (only in LZ) version: 0b, $ ; nibbl for major,minor low_x: 0, $ ; low-x corner of image high_x: 0, $ ; high-x corner of image low_y: 0, $ ; low-y corner of image high_y: 0, $ ; high-y corner of image sci_obj: bytarr(24), $ ; from iap pad: bytarr(18)} ; pad catstr=outstr endif if n_elements(number) gt 0 then outstr=replicate(outstr,long(number)) return,outstr end
Last revised: - Wed May 9 21:45:20 2007- F. Auchère