; $Id: rslice3.pro,v 1.1 2008/08/01 13:28:29 brandenb Exp $ ; ; show two different slices ; print,'for 1-d fields in the z-direction' ; default,png,0 default,imgdir,'.' default,xsize,512 default,ysize,448 if png eq 0 then begin print,'write no png file (png=0)' endif else begin print,'write png file (png=1)' set_plot, 'z' ; switch to Z buffer loadct,2 device, SET_RESOLUTION=[xsize,ysize] ; set window size dev='z' endelse default,itpng,0 ;(image counter) ; file_slice1='data/proc0/slice_uu1.xz' file_slice2='data/proc0/slice_lnrho.xz' file_slice3='data/proc0/slice_uu3.xz' ; t=zero xz_slice1=one*fltarr(nx,nz) xz_slice2=one*fltarr(nx,nz) xz_slice3=one*fltarr(nx,nz) ; close,1 & openr,1,file_slice1,/f77 close,2 & openr,2,file_slice2,/f77 close,3 & openr,3,file_slice3,/f77 print,'files opened ok' ; ; set default waiting time w ; real all snapshots and plot ; l=20 m=3 n=70 default,w,.2 !p.charsize=2 ;!p.multi=[0,1,3] ;!z.margin=[15,2] zzz=z(n1:n2) xxx=x(l1:l2) ;, xrange=[-0.2,0.2]; ;Ma=0.01 & yru=.011 & yrlr=yru & yrs=.00005 ;Ma=0.05 & yru=.051 & yrlr=yru & yrs=.00005 ;Ma=0.1 & yru=.1 & yrlr=yru & yrs=.005 ;Ma=1.0 & yru=1.4 & yrlr=yru & yrs=1. ; while not eof(1) do begin readu,1,xz_slice1,t readu,2,xz_slice2,t readu,3,xz_slice3,t print,t,min(xz_slice2(*,*)),max(xz_slice2(*,*)) ;plot_io,exp(xz_slice1(*,n));,yr=[-1,1]*1e+1 ; plot,xxx,xz_slice1(*,n),ytit='u';,yst=3,yr=[-1,1]*yru ; plot,xxx,xz_slice2(*,n),ytit='lnrho';,yst=3,yr=[-1,1]*yrlr ; plot,xxx,xz_slice3(*,n),ytit='s';,yst=3,yr=[-1,1]*yrs amin=0. amax=5. lev=grange(amin,amax,50) !p.title='!8t!6='+string(t,fo='(f6.2)') contour,reform(xz_slice2(*,*)),lev=lev,/fill,xxx,zzz,$;,col=1 ytickname=['0','1','2','3','4'], $ xtitle='surface direction, [10 m]',ytitle='radial direction, [10 m] ' vel_a,reform(xz_slice1(*,*)),reform(xz_slice3(*,*)),x(l1:l2),z(n1:n2),len=.1,/over ; ;plot,zzz,xz_slice2(20,*) wait,w ; ; possibility of writing png files ; if png eq 1 then begin istr2 = strtrim(string(itpng,'(I20.4)'),2) ;(only up to 9999 frames) image = tvrd() ; ; make background white, and write png file ; ;bad=where(image eq 0) & image(bad)=255 tvlct, red, green, blue, /GET imgname = 'img_'+istr2+'.png' write_png, imgdir+'/'+imgname, image, red, green, blue itpng=itpng+1 ;(counter) ; endif end ; !p.multi=0 close,1 close,2 close,3 END