; pro smax_vs_rd ; phycon ; defsysv, '!kohler_tk', 278.15d ; K, used in Kelvin term defsysv, '!kohler_sigma', 0.072d ; J/m^2, vapor-liquid surface energy defsysv, '!kohler_a', 2.d * !kohler_sigma / (!rhol*!Rv*!kohler_tk) ; defsysv, '!kohler_rhos', 2165.d ; kg/m^3, density of sodium chloride defsysv, '!kohler_ms', 0.05844d ; kg/mol, molecular weight of sodium chloride defsysv, '!kohler_i', 2.d ; Van't Hoff factor for sodium chloride defsysv, '!kohler_mw', 0.018d ; kg/mol, molecular weight of water ; defsysv, '!kohler_k', !kohler_i*!kohler_mw*!kohler_rhos / (!rhol*!kohler_ms) ; ;..create an array of dry aerosol radii rd = 0.01x10^-6. Extend to rd = 1x10^-6 m ; x = 0.01d-6 flag = 0 while x le 1e-6 do begin if flag eq 0 then begin ar = [x] flag = 1 endif else begin ar = [ar, x] endelse x = x * 1.05 endwhile print, 'Here: ', ar[0], ar[-1] ; ;..evaluate Kohler maximum saturation ; Skohlermax = 1 + (4*!kohler_a^3 / (27*!kohler_k*ar^3))^(1./2.) ; ps_filename = 'smax_vs_rd.ps' ; defsysv, '!micrometer_by_meter', 1d6 / 1 ; xsize_inch = 8.5 ysize_inch = 11.0 width_inch = 2.5 width_normal = width_inch / xsize_inch height_inch = 2.5 height_normal = height_inch / ysize_inch height_spacer_inch = 0.5 height_spacer_normal = height_spacer_inch / ysize_inch width_spacer_inch = 1.5 width_spacer_normal = width_spacer_inch / xsize_inch yoffset_inch = 1.0 yoffset_normal = yoffset_inch / ysize_inch xoffset_inch = 1.5 xoffset_normal = xoffset_inch / xsize_inch ; set_plot, 'ps' !p.font = 0 device, /times, /inches, /color, font_size = 17, filename = ps_filename, $ yoffset = 0, xoffset = 0., xsize = xsize_inch, ysize = ysize_inch ; ix = 1 iy = 1 x_coord_min_normal = xoffset_normal + (ix-1)*(width_spacer_normal + width_normal) x_coord_max_normal = x_coord_min_normal + width_normal y_coord_min_normal = 1.0 - yoffset_normal - iy*height_normal - (iy-1)*height_spacer_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] ; plot, /xlog, /nodata, fltarr(1), xrange = [0.01, 1.0], xticks=2, xstyle=1, xminor=9, xticklen = -0.02, $ yrange = [1.0, 1.006], $ ytitle='S!DKohler,max!N', ystyle=1, yticks=2, yminor=3, yticklen = -0.02, xtitle = 'Dry Radius, r!Dd!N, !9m!7m' oplot, ar*!micrometer_by_meter, Skohlermax ; ix = 2 iy = 1 x_coord_min_normal = xoffset_normal + (ix-1)*(width_spacer_normal + width_normal) x_coord_max_normal = x_coord_min_normal + width_normal y_coord_min_normal = 1.0 - yoffset_normal - iy*height_normal - (iy-1)*height_spacer_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] ; plot, /ylog, /xlog, /noerase, /nodata, fltarr(1), xrange = [0.01, 1.0], xticks=2, xstyle=1, xminor=9, xticklen = -0.02, $ yrange = [0.00001, 0.01], ytitle = 'S!DKohler,max!N - 1', $ ystyle=1, yticks=3, yminor=9, yticklen = -0.02, xtitle = 'Aerosol Dry Size, r!Dd!N, !9m!7m', $ ytickname = ['0.00001', '0.00010', '0.00100', '0.01000'] oplot, ar*!micrometer_by_meter, Skohlermax - 1 ; device, /close stop ; end