pro plot_CRF_comparison_histos_1hr, fname, forcing_bins common total_forcing_comparison_arrays, toa_net_forcing_comparison_total, toa_solar_forcing_comparison_total, $ toa_ir_forcing_comparison_total, sfc_net_forcing_comparison_total, $ sfc_solar_forcing_comparison_total,sfc_ir_forcing_comparison_total, atm_net_forcing_comparison_total, $ atm_solar_forcing_comparison_total,atm_ir_forcing_comparison_total common total_forcing_comparison_arrays2, toa_net_forcing_comparison_total_ncep, toa_solar_forcing_comparison_total_ncep, $ toa_ir_forcing_comparison_total_ncep, sfc_net_forcing_comparison_total_ncep, $ sfc_solar_forcing_comparison_total_ncep,sfc_ir_forcing_comparison_total_ncep, atm_net_forcing_comparison_total_ncep, $ atm_solar_forcing_comparison_total_ncep,atm_ir_forcing_comparison_total_ncep ; check to see if the file exists path='c:\mace\sgp.average.5min.to.1hr.zrad\' dates=['200001','200002','200003','200004','200005','200006','200007','200008','200009','200010','200011','200012'] ;dates=['200003'] fname_prefix='sgp.average.5min.to.1hr'+'.CRF_comparison_cirrus_only.' for j=0,n_elements(dates)-1 do begin cdfid=ncdf_open(path+fname_prefix+dates[j]+'.cdf',/nowrite) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; file exists, read the data ;cdfid=ncdf_open(fname,/nowrite) ;print, 'reading ',fname toa_net_forcing_comparison_total_id=ncdf_varid(cdfid, 'toa_net_forcing_comparison_total') toa_solar_forcing_comparison_total_id=ncdf_varid(cdfid, 'toa_solar_forcing_comparison_total') toa_ir_forcing_comparison_total_id=ncdf_varid(cdfid, 'toa_ir_forcing_comparison_total') sfc_net_forcing_comparison_total_id=ncdf_varid(cdfid, 'sfc_net_forcing_comparison_total') sfc_solar_forcing_comparison_total_id=ncdf_varid(cdfid, 'sfc_solar_forcing_comparison_total') sfc_ir_forcing_comparison_total_id=ncdf_varid(cdfid, 'sfc_ir_forcing_comparison_total') atm_net_forcing_comparison_total_id=ncdf_varid(cdfid, 'atm_net_forcing_comparison_total') atm_solar_forcing_comparison_total_id=ncdf_varid(cdfid, 'atm_solar_forcing_comparison_total') atm_ir_forcing_comparison_total_id=ncdf_varid(cdfid, 'atm_ir_forcing_comparison_total') forcing_bins_id=ncdf_varid(cdfid,'forcing_bins') ncdf_varget, cdfid, forcing_bins_id, forcing_bins ncdf_varget, cdfid, toa_net_forcing_comparison_total_id, toa_net_forcing_comparison1 ncdf_varget, cdfid, toa_solar_forcing_comparison_total_id, toa_solar_forcing_comparison1 ncdf_varget, cdfid, toa_ir_forcing_comparison_total_id, toa_ir_forcing_comparison1 ncdf_varget, cdfid, sfc_net_forcing_comparison_total_id, sfc_net_forcing_comparison1 ncdf_varget, cdfid, sfc_solar_forcing_comparison_total_id, sfc_solar_forcing_comparison1 ncdf_varget, cdfid, sfc_ir_forcing_comparison_total_id, sfc_ir_forcing_comparison1 ncdf_varget, cdfid, atm_net_forcing_comparison_total_id, atm_net_forcing_comparison1 ncdf_varget, cdfid, atm_solar_forcing_comparison_total_id, atm_solar_forcing_comparison1 ncdf_varget, cdfid, atm_ir_forcing_comparison_total_id, atm_ir_forcing_comparison1 NCDF_CLOSE, cdfid if j eq 0 then begin toa_net_forcing_comparison=toa_net_forcing_comparison1 toa_solar_forcing_comparison=toa_solar_forcing_comparison1 toa_ir_forcing_comparison=toa_ir_forcing_comparison1 sfc_net_forcing_comparison=sfc_net_forcing_comparison1 sfc_solar_forcing_comparison=sfc_solar_forcing_comparison1 sfc_ir_forcing_comparison=sfc_ir_forcing_comparison1 atm_net_forcing_comparison=atm_net_forcing_comparison1 atm_solar_forcing_comparison=atm_solar_forcing_comparison1 atm_ir_forcing_comparison=atm_ir_forcing_comparison1 endif else begin toa_net_forcing_comparison=toa_net_forcing_comparison+toa_net_forcing_comparison1 toa_solar_forcing_comparison=toa_solar_forcing_comparison+toa_solar_forcing_comparison1 toa_ir_forcing_comparison=toa_ir_forcing_comparison+toa_ir_forcing_comparison1 sfc_net_forcing_comparison=sfc_net_forcing_comparison+sfc_net_forcing_comparison1 sfc_solar_forcing_comparison=sfc_solar_forcing_comparison+sfc_solar_forcing_comparison1 sfc_ir_forcing_comparison=sfc_ir_forcing_comparison+sfc_ir_forcing_comparison1 atm_net_forcing_comparison=atm_net_forcing_comparison+atm_net_forcing_comparison1 atm_solar_forcing_comparison=atm_solar_forcing_comparison+atm_solar_forcing_comparison1 atm_ir_forcing_comparison=atm_ir_forcing_comparison+atm_ir_forcing_comparison1 endelse endfor loadct, 15 tvlct, red,green,blue, /get !p.multi=[0,2,0,0,0] ;observed vs ICP window, 1, xsize=800, ysize=800 name_prefix='cirrus_only' x=-250. & dx=2.5 & max_x=50. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+toa_net_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ;temp_array[j,k]=total(toa_net_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'TOA Net Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.TOANetForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; window, 1, xsize=800, ysize=800 x=-150. & dx=2.5 & max_x=0. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+toa_solar_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ;temp_array[j,k]=total(toa_solar_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'TOA Solar Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.TOASolarForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; window, 1, xsize=800, ysize=800 x=0. & dx=2.5 & max_x=150. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+toa_ir_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ; temp_array[j,k]=total(toa_ir_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'TOA LW Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.TOALWForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; atm icp window, 1, xsize=800, ysize=800 x=-50. & dx=2.5 & max_x=150. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+atm_net_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ;temp_array[j,k]=total(atm_net_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'Atm Net Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.ATMNetForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; window, 1, xsize=800, ysize=800 x=-50. & dx=2.5 & max_x=150. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+atm_solar_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ;temp_array[j,k]=total(atm_solar_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'atm Solar Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.atmSolarForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; window, 1, xsize=800, ysize=800 x=-100. & dx=2.5 & max_x=150. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+atm_ir_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ;temp_array[j,k]=total(atm_ir_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'atm LW Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.atmLWForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; sfc icp window, 1, xsize=800, ysize=800 x=-250. & dx=2.5 & max_x=50. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+sfc_net_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ;temp_array[j,k]=total(sfc_net_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'SFC Net Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.SFCNetForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; window, 1, xsize=800, ysize=800 x=-350. & dx=2.5 & max_x=50. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+sfc_solar_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ;temp_array[j,k]=total(sfc_solar_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'sfc Solar Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.SFCSolarForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; window, 1, xsize=800, ysize=800 x=0. & dx=2.5 & max_x=150. while x[n_elements(x)-1] lt max_x do x=[x,x[n_elements(x)-1]+(2.*dx)] y=x & dy=dx & temp_array=lonarr(n_elements(x),n_elements(y)) for j=0,n_elements(x)-1 do begin for k=0,n_elements(y)-1 do begin vector_x=where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx) vector_y=where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy) for jj=0,n_elements(vector_x)-1 do begin for kk=0,n_elements(vector_y)-1 do begin temp_array[j,k]=temp_array[j,k]+sfc_ir_forcing_comparison[vector_x[jj],vector_y[kk]] endfor endfor ; temp_array[j,k]=total(sfc_ir_forcing_comparison[where(forcing_bins gt x[j]-dx and forcing_bins le x[j]+dx),$ ; where(forcing_bins gt y[k]-dy and forcing_bins le y[k]+dy)]) endfor endfor plot_2d_image_999_maxminin, float(temp_array), x, y, n_elements(x), n_elements(y), $ 'SFC LW Forcing Comparison '+name_prefix,'GOES8 Forcing (w/m2)','ICP Forcing (w/m2)', [0.2,0.2,0.8,0.8], [0.86,0.2,0.89,0.8], 'Freq', max(temp_array), 0. ; write_png, path+fname_prefix+dates[0]+'-'+dates[n_elements(dates)-1]+'.'+name_prefix+'.SFCLWForcingComparison_GOES_ICP.png', tvrd(), red,green,blue ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; end