; pro fig3_v01 ; defsysv, '!tkref', 273.16d defsysv, '!tkmelt', 273.15d ; common plotting, xsize_inch, ysize_inch, width_inch, width_normal, height_inch, $ height_normal, height_spacer_inch, height_spacer_normal, width_spacer_inch, width_spacer_normal, $ yoffset_inch, yoffset_normal, xoffset_inch, xoffset_normal common normal_coordinates, x_coord_min_normal,y_coord_min_normal,x_coord_max_normal,y_coord_max_normal ; tvlct, [ 0, 255, 0, 0, 255, 0, 150, 255], $ [ 0, 0, 0, 255, 0, 255, 150, 140], $ [ 0, 0, 255, 0, 255, 255, 150, 35] color_T = 2 color_D10 = 1 color_P14 = 0 gray = 6 ; circle_size = 0.03 ; lu1 = 1 infilename = 'revised.csv' ; ;..find out how big the file is ; openr, lu1, infilename input_string = '' ndata = 0 while not eof(lu1) do begin readf, lu1, input_string ndata = ndata + 1 endwhile close, lu1 print, ndata ; ;..there are two header lines ; openr, lu1, infilename readf, lu1, input_string print, input_string readf, lu1, input_string print, input_string input_data = fltarr(9,ndata-2) readf, lu1, input_data close, lu1 yyyymmdd = reform(input_data(0,*)) hh0 = reform(input_data(1,*)) hhmmss1 = reform(input_data(2,*)) hhmmss2 = reform(input_data(3,*)) hhmmss3 = reform(input_data(4,*)) n05 = reform(input_data(5,*)) N = reform(input_data(6,*)) Tlow = reform(input_data(7,*)) tMP = reform(input_data(8,*)) ; print, min(n05), max(n05), mean(n05) print, min(Tlow), max(Tlow), mean(Tlow) print, min(tMP), max(tMP), mean(tMP) stop ; ;..temperature fit coefficients from temp_fit_revised.xls ; fit_T_a = -3.9314d fit_T_b = 0.2137d N_fit_T = exp(fit_T_a + fit_T_b*abs(Tlow)) ; ;..temp. - aerosol (Method #1) fit coefficients from Tab. 1 (revision) ; fit_1_a = exp(-14.89d) fit_1_b = 4.79d fit_1_c = 0.0076d fit_1_d = 0.86d N_fit_P14 = fit_1_a * (!tkref-(Tlow+!tkmelt))^fit_1_b * n05^(fit_1_c*(!tkref-(Tlow+!tkmelt))+fit_1_d) ; ;..temp. - aerosol (D10) fit coefficients from Tab. 1 ; fit_D10_a = exp(-9.73d) fit_D10_b = 3.33d fit_D10_c = 0.0264d fit_D10_d = 0.0033d N_fit_D10 = fit_D10_a * (!tkref-(Tlow+!tkmelt))^fit_D10_b * n05^(fit_D10_c*(!tkref-(Tlow+!tkmelt))+fit_D10_d) ; ;..plotting ; xrange = [0.01, 1000.] xticks = 5 xminor = 1 yrange = [0.01, 1000.] yticks = 5 yminor = 1 ; xsize_inch = 8.5 ysize_inch = 11. width_inch = 3.0 width_normal = width_inch / xsize_inch height_inch = 3.0 height_normal = height_inch / ysize_inch height_spacer_inch = 0.25 height_spacer_normal = height_spacer_inch / ysize_inch width_spacer_inch = 1.0 width_spacer_normal = width_spacer_inch / xsize_inch yoffset_inch = 1.0 yoffset_normal = yoffset_inch / ysize_inch xoffset_inch = 2.0 xoffset_normal = xoffset_inch / xsize_inch ; set_plot, 'ps' !p.font = 0 device, /times, font_size = 12, filename = 'fig3_v01.ps', $ /inches, yoffset = 0., xoffset = 0., xsize = xsize_inch, ysize = ysize_inch, bits_per_pixel = 8, /color ; x_coord_min_normal = xoffset_normal x_coord_max_normal = x_coord_min_normal + width_normal y_coord_min_normal = (ysize_inch - 1.*height_inch) / ysize_inch - 0.*height_spacer_normal - yoffset_normal y_coord_max_normal = y_coord_min_normal + height_normal !p.position = [x_coord_min_normal,y_coord_min_normal,x_coord_max_normal,y_coord_max_normal] ; xyouts, x_coord_min_normal + 0.02, y_coord_max_normal - 0.02, 'a', /normal xyouts, x_coord_min_normal + 0.11, y_coord_max_normal - 0.240, $ 'ln(N!DIC!N(T!Dlow!N)) = k!D1!N - k!D2!N' +'!9'+string(215B)+'!7'+ '(T!Dlow!N-T!Do!N)', $ /normal, charsize = 1.0, color = color_T xyouts, x_coord_min_normal + 0.11, y_coord_max_normal - 0.259, $ '(r!U2!N = ' + string((correlate(alog(N),alog(N_fit_T)))^2, format='(f5.2)') + ')', $ /normal, charsize = 1.0, color = color_T ; print, correlate(alog(N),alog(N_fit_T)) print, correlate(alog(N_fit_T),alog(N)) ; plot, /xlog, /ylog, /nodata, /noerase, fltarr(1), ytitle = 'N!DIC!N(T!Dlow!N), sL!U-1!N', yrange=yrange, $ xrange=xrange, xstyle=1, ystyle = 1, yticks = yticks, xticklen = -0.02, yticklen = -0.02, $ yminor = yminor, xticks = xticks, xminor = xminor, $ xtickname = replicate(' ', xticks + 1), $ ytickname = ['10!U-2!N','10!U-1!N','10!U0!N','10!U+1!N','10!U+2!N','10!U+3!N'] make_circles_filled_log, xrange, yrange, N, N_fit_T, color_T, circle_size ; ;..draw in the 1:1 line ; oplot, xrange, yrange, color = gray ; x_coord_min_normal = xoffset_normal x_coord_max_normal = x_coord_min_normal + width_normal y_coord_min_normal = (ysize_inch - 2.*height_inch) / ysize_inch - 1.*height_spacer_normal - yoffset_normal y_coord_max_normal = y_coord_min_normal + height_normal !p.position = [x_coord_min_normal,y_coord_min_normal,x_coord_max_normal,y_coord_max_normal] ; xyouts, x_coord_min_normal + 0.02, y_coord_max_normal - 0.02, 'b', /normal xyouts, x_coord_min_normal + 0.11, y_coord_max_normal - 0.213, $ 'N!DIC!N(T!Dlow!N,A) (Method #1)', /normal, charsize = 1.0, color = color_P14 xyouts, x_coord_min_normal + 0.11, y_coord_max_normal - 0.232, $ '(r!U2!N = ' + string((correlate(alog(N),alog(N_fit_P14)))^2, format='(f5.2)') + ')', $ /normal, charsize = 1.0, color = color_P14 xyouts, x_coord_min_normal + 0.11, y_coord_max_normal - 0.251, $ 'N!DIN!N(T!Dlow!N, A) (Eqn. 1)', /normal, charsize = 1.0, color = color_D10 xyouts, x_coord_min_normal + 0.11, y_coord_max_normal - 0.270, $ '(r!U2!N = ' + string((correlate(alog(N),alog(N_fit_D10)))^2, format='(f5.2)') + ')', $ /normal, charsize = 1.0, color = color_D10 ; plot, /xlog, /ylog, /nodata, /noerase, fltarr(1), ytitle = 'N!DIC!N(T!Dlow!N, A) and N!DIN!N(T!Dlow!N, A), sL!U-1!N', yrange=yrange, $ xrange=xrange, xstyle=1, ystyle = 1, yticks = yticks, xticklen = -0.02, yticklen = -0.02, $ yminor = yminor, xticks = xticks, xminor = xminor, xtitle = 'N!DIC!N, sL!U-1!N', $ xtickname = ['10!U-2!N','10!U-1!N','10!U0!N','10!U+1!N','10!U+2!N','10!U+3!N'], $ ytickname = ['10!U-2!N','10!U-1!N','10!U0!N','10!U+1!N','10!U+2!N','10!U+3!N'] make_circles_filled_log, xrange, yrange, N, N_fit_P14, color_P14, circle_size ; ;..put black Xs in the circles with N-measured greater than 30 sL^-1 ; index = where(N ge 40, index_count) oplot, N[index], N_fit_P14[index], symsize=0.75, psym=7, thick = 2, color = color_P14 ; oplot, N, N_fit_D10, psym=1, thick = 4, color = color_D10 ; ;..draw in the 1:1 line ; oplot, xrange, yrange, color = gray ; resetps2x ; end ; ; pro make_circles_filled_log, xrange, yrange, x, y, color, circle_size dx_dy = (alog10(xrange(1)) - alog10(xrange(0))) / (alog10(yrange(1)) - alog10(yrange(0))) for i = 0, n_elements(x) - 1 do begin xcenter = alog10(x(i)) ycenter = alog10(y(i)) yheight = (alog10(yrange(1)) - alog10(yrange(0))) * circle_size radian = 2.*!pi*findgen(101) / 100. xcircle = (yheight/2.)*cos(radian) * dx_dy + xcenter ycircle = (yheight/2.)*sin(radian) + ycenter oplot, 10.^(xcircle), 10.^(ycircle), thick = 2, color = color index_bias = n_elements(xcircle)/2. ;for j = 0, n_elements(xcircle)/2 - 1 do begin ; polyfill, [10.^(xcircle(j)), 10.^(xcircle(j+1)), 10.^(xcircle(j+1)), 10.^(xcircle(j))], $ ; [10.^(ycircle(j)), 10.^(ycircle(j)), 10.^(ycircle(j+index_bias)), 10.^(ycircle(j+index_bias))], color = color ;endfor endfor end