;Title: hrstat_allprof.pro ;Purpose: To calculate total heating rate profile statistics ; ;Author: Matthew Shupe ;Date: 2/15/02 ;Modified: 2/15/02 ;---------------------------------------------------- ;Get a list of all the files (key off of the BugsRad output) cd,'/data1/sheba/heatrate' bfiles=findfile('rtoutput_bugsrad*.cdf',count=numf) fargs=strmid(bfiles,17,8) hts=findgen(290)*0.045+0.015 nhts=n_elements(hts) daprof_hrtbug=fltarr(numf,nhts,8,3) daprof_hrfbug=daprof_hrtbug daprof_hrtstr=daprof_hrtbug daprof_hrfstr=daprof_hrtbug aprof_hrtbug=fltarr(nhts,6,3) aprof_hrfbug=aprof_hrtbug aprof_hrtstr=aprof_hrtbug aprof_hrfstr=aprof_hrtbug for i=0,numf-1 do begin ;Read in the input data farg='rtinput*'+fargs[i]+'*.cdf' file=findfile(farg) fid=ncdf_open(file[0]) ncdf_varget,fid,ncdf_varid(fid,'time'),time ncdf_varget,fid,ncdf_varid(fid,'hl'),height ncdf_varget,fid,ncdf_varid(fid,'wcil'),iwc ncdf_varget,fid,ncdf_varid(fid,'wcwl'),lwc ncdf_varget,fid,ncdf_varid(fid,'rcil'),ire ncdf_varget,fid,ncdf_varid(fid,'rcwl'),lre ncdf_close,fid ;Read in bugsrad data fid=ncdf_open(bfiles[i]) ncdf_varget,fid,ncdf_varid(fid,'asl'),swhra_b ncdf_varget,fid,ncdf_varid(fid,'aslR'),swhrc_b ncdf_varget,fid,ncdf_varid(fid,'atl'),lwhra_b ncdf_varget,fid,ncdf_varid(fid,'atlR'),lwhrc_b ncdf_close,fid hrt_b=(lwhra_b+swhra_b) hrf_b=(lwhra_b+swhra_b)-(lwhrc_b+swhrc_b) lwhrf_b=(lwhra_b-lwhrc_b) swhrf_b=(swhra_b-swhrc_b) ;Read in Streamer data farg='rtoutput_stream.'+fargs[i]+'.cdf file=findfile(farg,count=nums) if nums gt 0 then begin fid=ncdf_open(file[0]) ncdf_varget,fid,ncdf_varid(fid,'asl'),swhra_s ncdf_varget,fid,ncdf_varid(fid,'aslR'),swhrc_s ncdf_varget,fid,ncdf_varid(fid,'atl'),lwhra_s ncdf_varget,fid,ncdf_varid(fid,'atlR'),lwhrc_s ncdf_close,fid endif else begin swhra_s=swhra_b*0.0-999. swhrc_s=swhra_s lwhra_s=swhra_s lwhrc_s=swhra_s endelse hrt_s=(lwhra_s+swhra_s) hrf_s=(lwhra_s+swhra_s)-(lwhrc_s+swhrc_s) lwhrf_s=(lwhra_s-lwhrc_s) swhrf_s=(swhra_s-swhrc_s) ;Calculate profile stats for h=0,nhts-1 do begin cl=closest(height,hts[h],0) & cl=cl[0] iwh=where(abs(swhra_b[*,cl]) lt 100 and abs(lwhra_b[*,cl]) lt 100 and abs(swhra_s[*,cl]) lt 100 and abs(lwhra_s[*,cl]) lt 100,num) if num gt 0 then begin daprof_hrtbug[i,h,*,0]=[mean(hrt_b[iwh,cl]),stddev(hrt_b[iwh,cl]),median(hrt_b[iwh,cl]),num,min(hrt_b[iwh,cl]),max(hrt_b[iwh,cl]),total(hrt_b[iwh,cl]^2.0),total(hrt_b[iwh,cl])] daprof_hrtbug[i,h,*,1]=[mean(swhra_b[iwh,cl]),stddev(swhra_b[iwh,cl]),median(swhra_b[iwh,cl]),num,min(swhra_b[iwh,cl]),max(swhra_b[iwh,cl]),total(swhra_b[iwh,cl]^2.0),total(swhra_b[iwh,cl])] daprof_hrtbug[i,h,*,2]=[mean(lwhra_b[iwh,cl]),stddev(lwhra_b[iwh,cl]),median(lwhra_b[iwh,cl]),num,min(lwhra_b[iwh,cl]),max(lwhra_b[iwh,cl]),total(lwhra_b[iwh,cl]^2.0),total(lwhra_b[iwh,cl])] daprof_hrtstr[i,h,*,0]=[mean(hrt_s[iwh,cl]),stddev(hrt_s[iwh,cl]),median(hrt_s[iwh,cl]),num,min(hrt_s[iwh,cl]),max(hrt_s[iwh,cl]),total(hrt_s[iwh,cl]^2.0),total(hrt_s[iwh,cl])] daprof_hrtstr[i,h,*,1]=[mean(swhra_s[iwh,cl]),stddev(swhra_s[iwh,cl]),median(swhra_s[iwh,cl]),num,min(swhra_s[iwh,cl]),max(swhra_s[iwh,cl]),total(swhra_s[iwh,cl]^2.0),total(swhra_s[iwh,cl])] daprof_hrtstr[i,h,*,2]=[mean(lwhra_s[iwh,cl]),stddev(lwhra_s[iwh,cl]),median(lwhra_s[iwh,cl]),num,min(lwhra_s[iwh,cl]),max(lwhra_s[iwh,cl]),total(lwhra_s[iwh,cl]^2.0),total(lwhra_s[iwh,cl])] daprof_hrfbug[i,h,*,0]=[mean(hrf_b[iwh,cl]),stddev(hrf_b[iwh,cl]),median(hrf_b[iwh,cl]),num,min(hrf_b[iwh,cl]),max(hrf_b[iwh,cl]),total(hrf_b[iwh,cl]^2.0),total(hrf_b[iwh,cl])] daprof_hrfbug[i,h,*,1]=[mean(swhrf_b[iwh,cl]),stddev(swhrf_b[iwh,cl]),median(swhrf_b[iwh,cl]),num,min(swhrf_b[iwh,cl]),max(swhrf_b[iwh,cl]),total(swhrf_b[iwh,cl]^2.0),total(swhrf_b[iwh,cl])] daprof_hrfbug[i,h,*,2]=[mean(lwhrf_b[iwh,cl]),stddev(lwhrf_b[iwh,cl]),median(lwhrf_b[iwh,cl]),num,min(lwhrf_b[iwh,cl]),max(lwhrf_b[iwh,cl]),total(lwhrf_b[iwh,cl]^2.0),total(lwhrf_b[iwh,cl])] daprof_hrfstr[i,h,*,0]=[mean(hrf_s[iwh,cl]),stddev(hrf_s[iwh,cl]),median(hrf_s[iwh,cl]),num,min(hrf_s[iwh,cl]),max(hrf_s[iwh,cl]),total(hrf_s[iwh,cl]^2.0),total(hrf_s[iwh,cl])] daprof_hrfstr[i,h,*,1]=[mean(swhrf_s[iwh,cl]),stddev(swhrf_s[iwh,cl]),median(swhrf_s[iwh,cl]),num,min(swhrf_s[iwh,cl]),max(swhrf_s[iwh,cl]),total(swhrf_s[iwh,cl]^2.0),total(swhrf_s[iwh,cl])] daprof_hrfstr[i,h,*,2]=[mean(lwhrf_s[iwh,cl]),stddev(lwhrf_s[iwh,cl]),median(lwhrf_s[iwh,cl]),num,min(lwhrf_s[iwh,cl]),max(lwhrf_s[iwh,cl]),total(lwhrf_s[iwh,cl]^2.0),total(lwhrf_s[iwh,cl])] endif endfor endfor ;Calculate total stats for i=0,2 do begin for h=0,nhts-1 do begin sd=((total(daprof_hrtbug[*,h,6,i])-(total(daprof_hrtbug[*,h,7,i])^2.0)/total(daprof_hrtbug[*,h,3,i]))/(total(daprof_hrtbug[*,h,3,i])-1.0))^0.5 aprof_hrtbug[h,*,i]=[(total(daprof_hrtbug[*,h,0,i]*daprof_hrtbug[*,h,3,i]))/total(daprof_hrtbug[*,h,3,i]),sd,median(daprof_hrtbug[*,h,2,i]),total(daprof_hrtbug[*,h,3,i]),min(daprof_hrtbug[*,h,4,i]),max(daprof_hrtbug[*,h,5,i])] sd=((total(daprof_hrtstr[*,h,6,i])-(total(daprof_hrtstr[*,h,7,i])^2.0)/total(daprof_hrtstr[*,h,3,i]))/(total(daprof_hrtstr[*,h,3,i])-1.0))^0.5 aprof_hrtstr[h,*,i]=[(total(daprof_hrtstr[*,h,0,i]*daprof_hrtstr[*,h,3,i]))/total(daprof_hrtstr[*,h,3,i]),sd,median(daprof_hrtstr[*,h,2,i]),total(daprof_hrtstr[*,h,3,i]),min(daprof_hrtstr[*,h,4,i]),max(daprof_hrtstr[*,h,5,i])] sd=((total(daprof_hrfbug[*,h,6,i])-(total(daprof_hrfbug[*,h,7,i])^2.0)/total(daprof_hrfbug[*,h,3,i]))/(total(daprof_hrfbug[*,h,3,i])-1.0))^0.5 aprof_hrfbug[h,*,i]=[(total(daprof_hrfbug[*,h,0,i]*daprof_hrfbug[*,h,3,i]))/total(daprof_hrfbug[*,h,3,i]),sd,median(daprof_hrfbug[*,h,2,i]),total(daprof_hrfbug[*,h,3,i]),min(daprof_hrfbug[*,h,4,i]),max(daprof_hrfbug[*,h,5,i])] sd=((total(daprof_hrfstr[*,h,6,i])-(total(daprof_hrfstr[*,h,7,i])^2.0)/total(daprof_hrfstr[*,h,3,i]))/(total(daprof_hrfstr[*,h,3,i])-1.0))^0.5 aprof_hrfstr[h,*,i]=[(total(daprof_hrfstr[*,h,0,i]*daprof_hrfstr[*,h,3,i]))/total(daprof_hrfstr[*,h,3,i]),sd,median(daprof_hrfstr[*,h,2,i]),total(daprof_hrfstr[*,h,3,i]),min(daprof_hrfstr[*,h,4,i]),max(daprof_hrfstr[*,h,5,i])] endfor endfor cd,'/data1/sheba/heatrate/stats' save,aprof_hrtbug,aprof_hrtstr,aprof_hrfstr,aprof_hrfbug,hts,$ filename='hrstat_allprof_sheba.dat' end