
; uncomment to skip directly to plotting
goto, jump1
;goto, jump2

;pth='/glade/campaign/mmm/dpm/kkchandr/ASD/DNS-RB/out_dns_pi_chamber_cloud_monodisperse_aero_v2/'
pth='/glade/campaign/mmm/dpm/kkchandr/ASD/DNS-RB/out_dns_pi_chamber_cloud_polydisperse_aero/3ddata/'

; set domain size and grid spacing
n_x =1120
n_y =1120
n_z =800
dx=7.5
dy=7.5
dz=7.5

; read in data
;infile1='cm1out_s_000136.nc'
infile1='cm1out_s_000205.nc'


infile=pth+infile1
id = ncdf_open(infile)

ncdf_varget,id, ncdf_varid(id,'qc'),qc1
ncdf_varget,id, ncdf_varid(id,'out5'),nc1
;ncdf_varget,id, ncdf_varid(id,'out1'),rm1
;ncdf_varget,id, ncdf_varid(id,'out2'),r21
ncdf_varget,id, ncdf_varid(id,'winterp'),w1
ncdf_varget,id, ncdf_varid(id,'qv'),qv1
ncdf_varget,id, ncdf_varid(id,'th'),th1
ncdf_varget,id, ncdf_varid(id,'prs'),pp1
ncdf_varget,id, ncdf_varid(id,'lev'),z1
ncdf_varget,id, ncdf_varid(id,'lon'),x1
ncdf_varget,id, ncdf_varid(id,'lat'),y1
;ncdf_varget,id, ncdf_varid(id,'qr'),qr1
;ncdf_varget,id, ncdf_varid(id,'out6'),nr1

ncdf_close,id

; convert from 3D array to 2D

jump2: print,'here'

ww1=fltarr(n_x,n_z)
tt1=fltarr(n_x,n_z)
qqc1=fltarr(n_x,n_z)
nnc1=fltarr(n_x,n_z)
ss1=fltarr(n_x,n_z)

ww2=fltarr(n_x,n_y)
tt2=fltarr(n_x,n_y)
qqc2=fltarr(n_x,n_y)
nnc2=fltarr(n_x,n_y)
ss2=fltarr(n_x,n_y)

; j value of slice
jloc = n_y/2

a0=6.11239921
a1=0.443987641
a2=0.142986287e-1
a3=0.264847430e-3
a4=0.302950461e-5
a5=0.206739458e-7
a6=0.640689451e-10
a7=-0.952447341e-13
a8=-0.976195544e-15

for i=0,n_x-1 do begin
   for k=0,n_z-1 do begin
      ww1(i,k)=w1(i,jloc,k)
      qqc1(i,k)=qc1(i,jloc,k)
      nnc1(i,k)=nc1(i,jloc,k)
      tt1(i,k)=th1(i,jloc,k)*(pp1(i,jloc,k)/1.e5)^(287.15/1005.)
      dt=tt1(i,k)-273.15
      dum=a0 + dt*(a1+dt*(a2+dt*(a3+dt*(a4+dt*(a5+dt*(a6+dt*(a7+a8*dt)))))))
      dum=dum*100.
      dum=0.622*dum/(pp1(i,jloc,k)-dum)
      ss1(i,k)=qv1(i,jloc,k)/dum-1.
   endfor
endfor

kloc = n_z/2

for i=0,n_x-1 do begin
   for j=0,n_y-1 do begin
      ww2(i,j)=w1(i,j,kloc)
      qqc2(i,j)=qc1(i,j,kloc)
      nnc2(i,j)=nc1(i,j,kloc)
      tt2(i,j)=th1(i,j,kloc)*(pp1(i,j,kloc)/1.e5)^(287.15/1005.)
      dt=tt2(i,j)-273.15
      dum=a0 + dt*(a1+dt*(a2+dt*(a3+dt*(a4+dt*(a5+dt*(a6+dt*(a7+a8*dt)))))))
      dum=dum*100.
      dum=0.622*dum/(pp1(i,j,kloc)-dum)
      ss2(i,j)=qv1(i,j,kloc)/dum-1.      
   endfor
endfor

;jump1: print,'here'

; thin data for nnc1 and nnc2

npt=2

num1=1120/npt
num2=800/npt

nnc1thin=fltarr(num1+1,num2+1)
nnc2thin=fltarr(num1+1,num1+1)

xx=fltarr(num1+1)
yy=fltarr(num1+1)
zz=fltarr(num2+1)

ii=0
ic=0

for i=npt,n_x-npt-1 do begin

kk=0   
kc=0

for k=npt,n_z-npt-1 do begin

if (ic eq 0 and kc eq 0) then begin
   count=0.
   for iii=i-npt,i+npt do begin
   for kkk=k-npt,k+npt do begin
   nnc1thin(ii,kk)=nnc1thin(ii,kk)+nnc1(iii,kkk)
   count=count+1.
   endfor
   endfor
   nnc1thin(ii,kk)=nnc1thin(ii,kk)/count

   xx(ii)=x1(i)
   zz(kk)=z1(k)
endif

kc=kc+1
if (kc eq npt) then begin
kk=kk+1
kc=0
endif

endfor   

ic=ic+1
if (ic eq npt) then begin
ii=ii+1
ic=0
endif

endfor

;.........................

;goto, jump3

ii=0
ic=0

for i=npt,n_x-npt-1 do begin

kk=0
kc=0

for k=npt,n_y-npt-1 do begin

if (ic eq 0 and kc eq 0) then begin

   count=0.
   for iii=i-npt,i+npt do begin
   for kkk=k-npt,k+npt do begin
   nnc2thin(ii,kk)=nnc2thin(ii,kk)+nnc2(iii,kkk)
   count=count+1.
   endfor
   endfor
   nnc2thin(ii,kk)=nnc2thin(ii,kk)/count
   
   xx(ii)=x1(i)
   yy(kk)=y1(k)
endif

kc=kc+1
if (kc eq npt) then begin
kk=kk+1
kc=0
endif

endfor

ic=ic+1
if (ic eq npt) then begin
ii=ii+1
ic=0
endif

endfor

jump3: print,'here'

jump1: print,'here'

;................................................
; set up x and y array

;xx=fltarr(n_x)
;for i=0,n_x-1 do begin
;xx(i)=(float(i)*dx+dx/2.)/1000.
;endfor

;zz=fltarr(n_z)
;for i=0,n_z-1 do begin
;zz(i)=(float(i)*dz+dz/2.)/1000.
;endfor

;................................................
; set up vector for color bar

idum = fltarr(2,19)
dumy = fltarr(2)
dumx = fltarr(19)

dumy=[-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
dumx=[0,1]

idum(0,0) = 1
idum(0,1) = 1
idum(0,2) = 2
idum(0,3) = 3.
idum(0,4) = 4.
idum(0,5) = 5.
idum(0,6) = 6.
idum(0,7) = 7.
idum(0,8) = 8.
idum(0,9) = 9.
idum(0,10) = 10.
idum(0,11) = 11.
idum(0,12) = 12.
idum(0,13) = 13.
idum(0,14) = 14.
idum(0,15) = 15.
idum(0,16) = 16.
idum(0,17) = 17.
idum(0,18) = 17.

idum(1,0) = 1
idum(1,1) = 1
idum(1,2) = 2
idum(1,3) = 3.
idum(1,4) = 4.
idum(1,5) = 5.
idum(1,6) = 6.
idum(1,7) = 7.
idum(1,8) = 8.
idum(1,9) = 9.
idum(1,10) = 10.
idum(1,11) = 11.
idum(1,12) = 12.
idum(1,13) = 13.
idum(1,14) = 14.
idum(1,15) = 15.
idum(1,16) = 16.
idum(1,17) = 17.
idum(1,18) = 17.

;........................................

idum2 = fltarr(2,17)
dumy2 = fltarr(2)
dumx2 = fltarr(17)

dumy2=[-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
dumx2=[0,1]

idum2(0,0) = 1
idum2(0,1) = 1
idum2(0,2) = 2
idum2(0,3) = 3.
idum2(0,4) = 4.
idum2(0,5) = 5.
idum2(0,6) = 6.
idum2(0,7) = 7.
idum2(0,8) = 8.
idum2(0,9) = 9.
idum2(0,10) = 10.
idum2(0,11) = 11.
idum2(0,12) = 12.
idum2(0,13) = 13.
idum2(0,14) = 14.
idum2(0,15) = 15.
idum2(0,16) = 15.

idum2(1,0) = 1
idum2(1,1) = 1
idum2(1,2) = 2
idum2(1,3) = 3.
idum2(1,4) = 4.
idum2(1,5) = 5.
idum2(1,6) = 6.
idum2(1,7) = 7.
idum2(1,8) = 8.
idum2(1,9) = 9.
idum2(1,10) = 10.
idum2(1,11) = 11.
idum2(1,12) = 12.
idum2(1,13) = 13.
idum2(1,14) = 14.
idum2(1,15) = 15.
idum2(1,16) = 15.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

!p.multi=[0,3,15]

psfile='vertical_cross_sections_pi_chamber_thin.eps'

set_plot, 'ps'
device,/encapsul
device, /portrait,/color
device,filename=psfile
device, /inches, ysize=8.5
device, /inches, yoffset=1.5
device, /inches, xsize=6.5
device, /inches, xoffset=1

loadct,39

; top

contour,tt1(*,*),x1,z1,/closed,$
        levels = [-10000,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,100000],$
        xstyle = 1,xrange = [0,2],ystyle=1,yrange=[0,1],$
        c_colors=[1,20,40,60,80,100,120,140,160,180,190,200,210,220,230,240,250],/fill,$
        charsize=1.5,position=[0.1,0.79,0.45,0.95],$
        ytitle='!6Z (m)',xtitle='X (m)'

xyouts,[1.7],[1.06],'Temperature',charsize=1.

xyouts,[-0.32],[0.85],'a)',charsize=0.9

contour,tt2(*,*),x1,y1,/closed,$
        levels = [-10000,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,100000],$
        xstyle = 1,xrange = [0,2],ystyle=1,yrange=[0,2],$
        c_colors=[1,20,40,60,80,100,120,140,160,180,190,200,210,220,230,240,250],/fill,$
        charsize=1.5,position=[0.52,0.79,0.75,0.95],$
        ytitle='Y (m)',xtitle='X (m)'

xyouts,[-0.45],[1.7],'b)',charsize=0.9

contour,ww1(*,*),x1,z1,/closed,$
        levels = [-10000,-0.3,-0.25,-0.2,-0.15,-0.1,-0.05,-0.01,0.01,0.05,0.1,0.15,0.2,0.25,0.3,100000],$
        xstyle = 1,xrange = [0,2],ystyle=1,yrange=[0,1],$
        c_colors=[1,20,40,60,80,100,120,255,160,180,195,210,225,240,250],/fill,$
        charsize=1.5,position=[0.1,0.57,0.45,0.73],$
        ytitle='Z (m)',xtitle='X (m)'

xyouts,[1.55],[1.06],'Vertical Velocity',charsize=1.

xyouts,[-0.32],[0.85],'c)',charsize=0.9

contour,ww2(*,*),x1,y1,/closed,$
	levels = [-10000,-0.3,-0.25,-0.2,-0.15,-0.1,-0.05,-0.01,0.01,0.05,0.1,0.15,0.2,0.25,0.3,100000],$
        xstyle = 1,xrange = [0,2],ystyle=1,yrange=[0,2],$
        c_colors=[1,20,40,60,80,100,120,255,160,180,195,210,225,240,250],/fill,$
        charsize=1.5,position=[0.52,0.57,0.75,0.73],$
        ytitle='Y (m)',xtitle='X (m)'

xyouts,[-0.45],[1.7],'d)',charsize=0.9

contour,nnc1thin(*,*)/1.e6,xx,zz,/closed,$
        levels = [-10000,10.,50.,100.,150,200,250,300,350,400,450,500,600.,700,800,100000],$
        xstyle = 1,xrange = [0,2],ystyle=1,yrange=[0,1],$
	c_colors=[255,20,40,60,80,100,120,140,160,180,195,210,225,240,250],/fill,$
        charsize=1.5,position=[0.1,0.35,0.45,0.51],$
        ytitle='Z (m)',xtitle='X (m)'

xyouts,[1.2],[1.06],'Cloud Number Mixing Ratio',charsize=1.

xyouts,[-0.32],[0.85],'e)',charsize=0.9

contour,nnc2thin(*,*)/1.e6,xx,yy,/closed,$
        levels = [-10000,10.,50.,100.,150,200,250,300,350,400,450,500,600.,700,800,100000],$
        xstyle = 1,xrange = [0,2],ystyle=1,yrange=[0,2],$
        c_colors=[255,20,40,60,80,100,120,140,160,180,195,210,225,240,250],/fill,$
        charsize=1.5,position=[0.52,0.35,0.75,0.51],$
        ytitle='Y (m)',xtitle='X (m)'

xyouts,[-0.45],[1.7],'f)',charsize=0.9

contour,ss1(*,*)*100.,x1,z1,/closed,$
        levels = [-10000,-10,-5,-1,-0.5,-0.2,-0.1,-0.05,0.05,0.1,0.2,0.5,1,2,3,100000],$
        xstyle = 1,xrange = [0,2],ystyle=1,yrange=[0,1],$
        c_colors=[1,20,40,60,80,100,120,255,160,180,195,210,225,240,250],/fill,$
        charsize=1.5,position=[0.1,0.13,0.45,0.29],$
        ytitle='Z (m)',xtitle='X (m)'

xyouts,[1.55],[1.06],'Supersaturation',charsize=1.

xyouts,[-0.32],[0.85],'g)',charsize=0.9

contour,ss2(*,*)*100.,x1,y1,/closed,$
        levels = [-10000,-10,-5,-1,-0.5,-0.2,-0.1,-0.05,0.05,0.1,0.2,0.5,1,2,3,100000],$
        xstyle = 1,xrange = [0,2],ystyle=1,yrange=[0,2],$
        c_colors=[1,20,40,60,80,100,120,255,160,180,195,210,225,240,250],/fill,$
        charsize=1.5,position=[0.52,0.13,0.75,0.29],$
        ytitle='Y (m)',xtitle='X (m)'

xyouts,[-0.45],[1.7],'h)',charsize=0.9

;..................................................................

contour,idum,dumx,dumy,/closed,$
levels = [0.0,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,15.5,16.5,10000.],$
ystyle = 1,yrange = [-0.5,16.5],xstyle=1,xrange=[0,1],$
c_colors=[1,20,40,60,80,100,120,140,160,180,190,200,210,220,230,240,250],$
/fill,xticks=1,yticks=1,xtickname=[' ',' '],$
ytickname=[' ',' '],$
position=[0.8,0.78,0.83,0.96]

xyouts,[1.1],[0.1],'280',charsize=0.7
xyouts,[1.1],[2.1],'282',charsize=0.7
xyouts,[1.1],[4.1],'284',charsize=0.7
xyouts,[1.1],[6.1],'286',charsize=0.7
xyouts,[1.1],[8.1],'288',charsize=0.7
xyouts,[1.1],[10.1],'290',charsize=0.7
xyouts,[1.1],[12.1],'292',charsize=0.7
xyouts,[1.1],[14.1],'294',charsize=0.7
;xyouts,[1.1],[16.1],'296',charsize=0.7

xyouts,[0.4],[17],'K',charsize=0.8

contour,idum2,dumx2,dumy2,/closed,$
levels = [0.0,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,10000.],$
ystyle = 1,yrange = [-0.5,14.5],xstyle=1,xrange=[0,1],$
c_colors=[1,20,40,60,80,100,120,255,160,180,195,210,225,240,250],$
/fill,xticks=1,yticks=1,xtickname=[' ',' '],$
ytickname=[' ',' '],$
position=[0.8,0.56,0.83,0.74]

xyouts,[1.1],[0.1],'-0.3',charsize=0.7
xyouts,[1.1],[2.1],'-0.2',charsize=0.7
xyouts,[1.1],[4.1],'-0.1',charsize=0.7
xyouts,[1.1],[6.1],'-0.01',charsize=0.7
xyouts,[1.1],[8.1],'0.05',charsize=0.7
xyouts,[1.1],[10.1],'0.15',charsize=0.7
xyouts,[1.1],[12.1],'0.25',charsize=0.7

xyouts,[0],[15],'m s!u-1!n',charsize=0.8

contour,idum2,dumx2,dumy2,/closed,$
levels = [0.0,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,10000.],$
ystyle = 1,yrange = [-0.5,14.5],xstyle=1,xrange=[0,1],$
c_colors=[255,20,40,60,80,100,120,140,160,180,195,210,225,240,250],$
/fill,xticks=1,yticks=1,xtickname=[' ',' '],$
ytickname=[' ',' '],$
position=[0.8,0.34,0.83,0.52]

xyouts,[1.1],[0.1],'10',charsize=0.7
xyouts,[1.1],[2.1],'100',charsize=0.7
xyouts,[1.1],[4.1],'200',charsize=0.7
xyouts,[1.1],[6.1],'300',charsize=0.7
xyouts,[1.1],[8.1],'400',charsize=0.7
xyouts,[1.1],[10.1],'500',charsize=0.7
xyouts,[1.1],[12.1],'700',charsize=0.7

xyouts,[0],[15],'mg!u-1!n',charsize=0.8

contour,idum2,dumx2,dumy2,/closed,$
levels = [0.0,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,10000.],$
ystyle = 1,yrange = [-0.5,14.5],xstyle=1,xrange=[0,1],$
c_colors=[1,20,40,60,80,100,120,255,160,180,195,210,225,240,250],$
/fill,xticks=1,yticks=1,xtickname=[' ',' '],$
ytickname=[' ',' '],$
position=[0.8,0.12,0.83,0.3]

xyouts,[1.1],[0.1],'-10',charsize=0.7
xyouts,[1.1],[2.1],'-1',charsize=0.7
xyouts,[1.1],[4.1],'-0.2',charsize=0.7
xyouts,[1.1],[6.1],'-0.05',charsize=0.7
xyouts,[1.1],[8.1],'0.1',charsize=0.7
xyouts,[1.1],[10.1],'0.5',charsize=0.7
xyouts,[1.1],[12.1],'2',charsize=0.7

xyouts,[0.3],[15],'%',charsize=0.8

device,/close

end
