;History ;2017/92/24 only plot April through October ;2017/92/21 only plot April through September ;2017/02/07 average(305-311-317), 368, 440 nm ;2016/05/02 Monthly SSA plots at 440 and 368nm as function of month (March-October) ; add AERONET SSA in 440 nm ;2015/10/22 remove the winter season data: ordinarily AOD440 < 0.2 for winter ;2015/10/21 monthly plot ;2015/10/20 change yearly time series into seasonal plot ;2015/10/20 temporily update for time series of SSA (v2) ;2014/07/08 modified because get_matchup_no2.pro was modified ;2014/01/23 quartile plot ;pro ;interquartile range(IQR) ;IQR = Q3 - Q1 : trimmed estimator (estimator derived from aother estimator by excluding some of extreme values) inst='527' number_of_season = 7 season_index = indgen(number_of_season)+4 ; April to September max_numberdaysinseason=400 number_season = fltarr(number_of_season) ; Filters sza_min=30 & sza_max=75 ;aot440_min = 0.40 aot440_min = 0.20 sphericity_min=95 ; minimal accepted sphericity [%] sky_error_max = 5.0 ; maximal sky error [%] delta_aot_max=0.01 ; use this condition for 440nm channel only mw_error_max = 0.02 mw_std_max = 0.02 ; max StDev of MFRSR retrievals of SSA allowed (not used anymore) dir='./' & name='gsfc' & title=' NASA/GSFC' ;y_min=0.85 & y_max=1.0 & y_lebel=y_min-0.008 y_min=0.82 & y_max=0.99 & y_lebel=y_min-0.008 y0=y_min & y1=y_max extension = '.txt' ;extension = '.it0' !x.thick = 5.0 !y.thick = 5.0 !p.thick = 5.0 !p.charthick = 5.0 ;mode='screen' mode='print' & name_output='monthly_boxplot_SSA_mfrsr_only.ps' ; Set plotting mode if mode eq 'screen' then begin ;set_plot,'X' & device,pseudo_color=8 device, decomposed=0 window, 1, xs=1200, ys=900 loadct, 39 endif else begin set_plot,'PS' & device,/color,/landscape,filename=name_output endelse !p.font=0 DEVICE, SET_FONT='Helvetica Bold Italic', /TT_FONT cgPlot, [0,1], /nodata, yrange=[y0,y1], thick=2, xrange=[0,number_of_season*3+1], $ xtickformat='(A1)', ytitle='SSA', YStyle=1, XStyle=1, xticks=1 ;, title=title, xtickformat='(A1)' means 'turnnig labels off' index = indgen(number_of_season)*3 ;width = ((!X.CRange[1] - !X.Crange[0]) / (number_of_season*3)) * 0.60 ;width = ((!X.CRange[1] - !X.Crange[0]) / (number_of_season*3)) * 0.288 width = ((!X.CRange[1] - !X.Crange[0]) / (number_of_season*3)) * 0.270 print, number_of_season print, 0,number_of_season*3+1 hwidth = width/2. print, 'half width= ', hwidth print, 'center' print, index+1.75 print, 'center' print, '*******modified********' print, index+1.69 - hwidth print, index+1.69 + hwidth print print, index+2. - hwidth print, index+2. + hwidth print print, index+2.31 - hwidth print, index+2.31 + hwidth print, '*******modified********' ;stop for h=0, number_of_season-1 do begin imon = season_index[h] print, imon gsfc_read_matchup_allchan_adderr_v3_month, imon, extension, inst, dir,name, delta_ssa440_max, sza_min, sza_max, aot440_min, sphericity_min, sky_error_max, delta_aot_max, mw_std_max, mw_error_max, aot_mfrsr_spec, w_mfrsr_spec, k_mfrsr_spec, aot_aero_spec, w_aero_spec, k_aero_spec, n_aero_spec, cvf, cvc, rvf, rvc, e_tot_aer,sf,sc,alb440,alb670,alb870,alb1020 data = w_mfrsr_spec ;mfrsr data2= w_aero_spec ;AERONET sample_size = n_elements(data[6,*]) number_season[h] = sample_size if sample_size ge 10 then begin ssa_input1 = data[0,*] ;305 ssa_input2 = data[1,*] ;311 ssa_input3 = data[2,*] ;317 ssa_input = fltarr(sample_size) for j=0, sample_size-1 do ssa_input[j] = (ssa_input1[j] + ssa_input2[j] + ssa_input3[j]) / 3. c_data='Blue' ;UV cgBoxPlot_nowhisker, ssa_input, /overplot, xlocation=index[h]+1.65, width=width, $ Boxcolor=c_data, color=c_data ssa_input = data[5,*] ;368 nm c_data='black' cgBoxPlot_nowhisker, ssa_input, /overplot, xlocation=index[h]+2, width=width, $ Boxcolor=c_data, color=c_data ssa_input = data[6,*] ;440 nm c_data='red' cgBoxPlot_nowhisker, ssa_input, /overplot, xlocation=index[h]+2.35, width=width, $ Boxcolor=c_data, color=c_data endif endfor ;h print,number_season,total(number_season) cgText, index+2, y0+0.01, string(number_season,format='(i3)'), Alignment=0.5, color=cgcolor('black'), charthick=2, charsize=2 ;add labels of xaxis cgText, 0.20, 0.3,' UVB',color=cgcolor('blue'), charthick=2, charsize=1.5,/normal cgText, 0.50, 0.3,' 368 nm',color=cgcolor('black'), charthick=2, charsize=1.5,/normal cgText, 0.70, 0.3,' 440 nm',color=cgcolor('red'), charthick=2, charsize=1.5,/normal labels = ['A', 'M', 'J', 'J', 'A', 'S','O'] ;labels = ['M', 'A', 'M', 'J', 'J', 'A', 'S', 'O'] for j=0, number_of_season-1 do begin ; cgText, (index+1.75)[j],y0-0.01, labels[j], Alignment=0.5, charthick=2, charsize=1.5;, color=cgcolor('black') cgText, (index+2)[j],y0-0.01, labels[j], Alignment=0.5, charthick=2, charsize=1.5;, color=cgcolor('black') endfor close,/all if mode eq 'print' then device,/close stop end