pro plot_aot_spec_all,chan,aot_mfrsr,ssa_mfrsr,mode,name_output,ctitle,count_day,time1,wave_aer,aot_aer,aot_aer_mfrsr_wav,yf_mfrsr_2,dtau,sigma_aot_fit,a380440,a440870,a_prime ; INPUT ;wave_aer IN AERONET measured wavelengths [340,380,440,500,670,870] ; aot_aer IN AERONET measured AOTs normalization_wavelength_index = 1 ; Normalize AERONEt AOD to AOD380 normalization_wavelength = wave_aer[normalization_wavelength_index] normalization_aot = aot_aer [normalization_wavelength_index] print,'normalization_aot=',normalization_aot range=indgen(7) if aot_aer[0] lt 0 then range=range[1:6] ; use only valid AERONET AOD in the fit x='' mfrsr_wav=float(chan) if mode eq 'screen' then begin set_plot,'X' & device,pseudo_color=8 endif else begin set_plot,'PS' & device,/color,/landscape,filename=name_output endelse ;title_plot ; Blue Red ; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ; -30 -25 -20 -15 -10 -5 0 +5 +10 +15 +20 +25 +30 +35 rr = [255,000,000,000,000,100,150,000,255,255,255,255,200,150,000] gg = [255,000,050,100,150,200,220,240,230,150,100,060,020,000,000] bb = [255,150,240,255,255,255,255,000,230,150,100,060,020,000,000] col=[0,2,9,11,13,14] !p.background=0 tvlct,rr,gg,bb !p.thick=3 !p.charsize=1.3 !p.charthick=2 !x.thick=2 !y.thick=2 xct='Wavelength, nm' & xmin=290. & xmax=900. wave=findgen(300)*2 + 290. unit=wave/wave*1.0 yct='AERONET extrapolated AOT/AOT_NORM' ymin=0.2 & ymax=1.8 ycv0av=0.50 & ycv0sig=0.50 ; PLOT plot_oo,wave,unit,color=14,/nodata, title=ctitle,$ xticks=4, xtickv=[300.,400.,500.,700.,900.],$ ytitle=yct, yrange=[ymin,ymax],ystyle=1,$ xtitle=xct,xrange=[xmin,xmax],/xs !p.color=11 ; original AERONET aot_aer_err=[0.02,0.01,0.01,0.01,0.01] oploterr,wave_aer[range],aot_aer[range]/normalization_aot,aot_aer_err[range] ; Normalization at selected wavelength xyouts,normalization_wavelength,1.6,'!4s!x!dNorm!n=' & xyouts,normalization_wavelength+20,1.6,string(normalization_aot,format='(f5.3)') plots,mfrsr_wav,aot_aer_mfrsr_wav/normalization_aot,psym=4,symsize=3,thick=5 ;09/13/2012 jmok print,'aot_aer(2)=',aot_aer(2),' aot_aer_mfrsr_wav=',aot_aer_mfrsr_wav,' SSA_MFRSR=',ssa_mfrsr ; 0 1 2 3 4 ; Angstrom parametr calculation: [380,440,500,675,870] a440870=-alog(aot_aer(2)/aot_aer(4))/alog(440./870.) xyouts,640,0.8,'!4a!x!d440870!n=' & xyouts,700,0.8,string(a440870,format='(f3.1)') a380440=-alog(aot_aer(2)/aot_aer(1))/alog(380./440.) ; MFRSR ln_w_mfrsr=alog([305.,311.,317.,325.,332.,368.,440.]) !p.color=3 ; 2nd degree fitted AERONET AOT ln_aot=alog(aot_aer[range]) & ln_wav=alog(wave_aer[range]) print,ln_wav print,ln_aot coe_fit=poly_fit(ln_wav,ln_aot,2,yfit,y_err,sigma_aot_fit,corrm,/double) yf =exp(coe_fit(0) + coe_fit(1)*ln_wav+ coe_fit(2)*ln_wav*ln_wav) oplot,wave_aer[range],yf/normalization_aot,psym=4,sym=1.0 a_prime=-2.*coe_fit(2) & xyouts,500,0.3,'!4a!x!u''!n=' & xyouts,530,0.3,string(a_prime,format='(f3.1)') xyouts,390,0.6,'!4r!ds!n!x/!4s!d380!n!x=' & xyouts,440,0.6,string(sigma_aot_fit/aot_aer(1),format='(f5.3)') ln_wav=alog(findgen(300)*2.+280.) yf =exp(coe_fit(0) + coe_fit(1)*ln_wav+ coe_fit(2)*ln_wav*ln_wav) oplot,exp(ln_wav),yf/normalization_aot,line=0 ; Calculate aot at mfrsr wavelengths yf_mfrsr_2 =exp(coe_fit(0) + coe_fit(1)*ln_w_mfrsr+ coe_fit(2)*ln_w_mfrsr*ln_w_mfrsr) !p.color=7 ; 1nd degree fitted AERONET ln_aot=alog(aot_aer[range]) & ln_wav=alog(wave_aer[range]) coe_fit=dblarr(2) coe_fit(0)=(ln_aot(0)*ln_wav(1)-ln_aot(1)*ln_wav(0))/(ln_wav(1)-ln_wav(0)) coe_fit(1)=(ln_aot(0)-ln_aot(1))/(ln_wav(0)-ln_wav(1)) yf =exp(coe_fit(0) + coe_fit(1)*ln_wav) oplot,wave_aer[range(0:1)],yf(0:1)/normalization_aot,psym=6,sym=1.0 alpha=-(ln_aot(0)-ln_aot(1) )/(ln_wav(0)-ln_wav(1) ) xyouts,380,1.06,'!4a!x!d380440!n=' & xyouts,420,1.06,string(alpha,format='(f4.2)'),charsize=2 ln_wav=alog(findgen(300)*2.+280.) yf =exp(coe_fit(0) + coe_fit(1)*ln_wav ) oplot,exp(ln_wav),yf/normalization_aot,line=2 yf_mfrsr_1 =exp(coe_fit(0) + coe_fit(1)*ln_w_mfrsr) ; Calculate aot at mfrsr wavelengths !p.color=14 dtau=yf_mfrsr_2-yf_mfrsr_1 plots,mfrsr_wav,aot_mfrsr/normalization_aot,psym=4,symsize=5,thick=5 ;09/13/2012 jmok plots,[325,325],[ymin,ymax] xyouts,305.,0.52,string(dtau(4),format='(f6.3)') plots,[332,332],[ymin,ymax] xyouts,335.,0.66,string(dtau(5),format='(f6.3)') plots,[368,368],[ymin,ymax] xyouts,370.,0.75,string(dtau(6),format='(f6.3)') !p.color=11 if mode ne 'screen' then device,/close ; return end