EIT Software Listings

 

anal
obsolete
response
util

 

Previous Routine
Next Routine

 

Listing of $SSW/soho/eit/idl/obsolete/plot_eit_flux.pro

 


pro plot_eit_flux, filein=filein, ccd_gain=ccd_gain, 	$
		open=open, ccd=ccd, entrance,		$
		noverbose=noverbose, linear=linear,	$
		hc=hc, noprint=noprint, qstop=qstop
;+
;NAME:
;  plot_eit_flux
;PURPOSE
;  Plot the EIT response curves
;CALLING SEQUENCE:
;  plot_eit_flux
;  plot_eit_flux, /hc		; To make hardcopy
;INPUTS:
;  None.
;OPTIONAL INPUT KEYWORDS:
;  /open	- Set to plot the Filter wheel Open case
;  /entrance	- Set to plot the Filter wheel entrance-like case
;  /ccd		- Set to plot the Filter wheel CCD-like case
;		  (if none of these are specified, all will be plotted).
;  ccd_gain	- The assumed CCD_gain in e-/DN
;  /noverbose	- If set, suppress informational messages.
;  /hc		- If set, send plot to PostScript printer
;  filein	- To specify explicitly the ere*genx file
;		  containing the EIT response curves.
;OUTPUTS:
;  None.
;CALLS:
;  EIT_FLUX to read the response file.
;HISTORY:
;  12-jun-95, J. R. Lemen (LPARL), Written.  
;               test version  -- just reads the ere*genx file directly.
;-

if n_elements(ccd_gain) eq 0 then ccd_gain = 18.	; e-/DN
if not keyword_set(noverbose) then 	$
  message,string('CCD gain = ',ccd_gain,' e-/DN',form='(a,f5.1,a)'),/info

LogTe = 4.5 + findgen(51)*0.05

sectors = gt_eitsector(indgen(4),/short)
jj = sort(fix(sectors))

xtitle = 'Log Temperature (K)'
ytitle = 'DN/s'
ymax = [1.e3,1.e3,10.,100.]
ymin = 10.^(alog10(ymax)-4)
xlab_pos = [.05,.05,.05,.05]
ylab_pos = [.87,.87,.87,.87]


;--------------------------------------------------
;-----Temporary Code:  Should really call eit_flux
if n_elements(filein) eq 0 then begin
    ddir = 'SSW_EIT_RESPONSE'
    filein = concat_dir(ddir,'ere*.genx')
    file = findfile(filein,count=count)
    if count eq 0 then begin
	on_error,2			; Return to Main
	message,string('Could not find file: ',filein,format='(2a)')
    endif
    file = file(n_elements(file)-1)
    break_file, file, disk, dir, name, ext, ver
    filein = concat_dir(ddir, name+ext+ver,  /notrans)
endif else file = filein
restgen,file=file,str=a				; Read the ere*.genx file
;-----End of temporary code
;--------------------------------------------------

if keyword_set(hc) then set_plot,'PS'

if !d.name eq 'PS' then begin
  device,/land,/inch,xsize=9.,ysize=6.5,xoff=1.,yoff=11-1.
  !x.thick=3 & !y.thick=3 & !p.thick=3 & !p.charthick=3.6
  font = 0
endif else font = -1

!p.multi = [0,2,2]
if not keyword_set(noverbose) then begin
   tbeep,2
   print,'- Note:  Thermal model does not include He II 304 A line'
endif

kk=keyword_set(open)+keyword_set(entrance)+keyword_set(ccd)
if kk eq 0 then $
      filters = [2,0,1] else $  ; Do all filters
      filters = [3*keyword_set(open), 1*keyword_set(entrance), 2*keyword_set(ccd)]-1
filters = filters(where(filters ge 0,kk))
if not keyword_set(noverbose) then begin
   print,'- Will plot the following filters: '
   print,'-           ',gt_eitfilter(filters,/str),format="(4(2x,a))"
endif

for i=0,3 do begin

  for k=0,kk-1 do begin
    flux0 = a.elects(*,jj(i),filters(k))/ccd_gain
    if k gt 0 then oplot,a.temp,flux0,lines=2*(filters(k)+1) else 	$
    if keyword_set(linear) then 					$
       plot,a.temp,flux0,xtitle=xtitle,chars=1.5,font=font,		$
		ytitle=ytitle,yr=[ymin(i),ymax(i)],xr=[4,7] else	$
       plot_io,a.temp,flux0,xtitle=xtitle,chars=1.5,font=font,		$
		ytitle=ytitle,yr=[ymin(i),ymax(i)],xr=[4,7] 
  endfor				; k=0,kk-1 ==> loop over filters

; The Plot labels have to be put on by hand:

     xx = !x.crange(0)+xlab_pos(i)*(!x.crange(1)-!x.crange(0))
     yy = (!y.crange(0)+ylab_pos(i)*(!y.crange(1)-!y.crange(0)))
     if not keyword_set(linear) then yy = 10.^yy
     xyouts,xx,yy,font=font,align=0,chars=1.3,     $
                string((['(a)','(b)','(c)','(d)'])(i)+' '+sectors(jj(i))+' A')

endfor 					; i=0,3	   ==> loop over sectors

if !d.name eq 'PS' then begin
   xyouts,.5,1.,/norm,'EIT Response for EM=10!u44!n cm!u-3!n',font=font,align=.5,chars=1.5
   if not keyword_set(notime) then begin
      text = string('Plot done at: ',!stime,format='(2a)')
      if n_elements(filein) ne 0 then $
                text = text+string(' File: ',filein,format='(2a)') else $
                text = text+string(' Version: ',a.Version, format='(2a)')
      xyouts,0.5,-0.05,/norm,alig=.5,text
   endif
   pprint,noprint=noprint,/reset
endif
clearplot & !x.thick=0 & !y.thick=0 & !p.thick=0 & !p.charthick=0

if keyword_set(qstop) then stop
end


Web curator: Frédéric Auchère
Responsible NASA official: Joseph B. Gurman, Facility Scientist, Solar Data Analysis Center
joseph.b.gurman@gsfc.nasa.gov
+1 301 286-4767
NASA Goddard Space Flight Center
Solar Physics Branch / Code 682

Last revised: - Wed May 9 21:45:09 2007- F. Auchère