added README_changes.txt
[wrffire.git] / wrfv2_fire / phys / model_test.m
blob6b7a8ea6ec0b66ff315838b6b4bc607873d40855
1 function model_test\r
2 %a=load('model_test_out.txt');\r
3 f=fopen('model_test_out.txt','r');\r
4 if f<0, error('cannot open input file'), end\r
5 dx=next_mat(f);\r
6 dy=next_mat(f);\r
7 eof=0;\r
8 i=0;\r
9 t=next_mat(f);\r
10 while ~isempty(t),\r
11     i=i+1;\r
12     lfn=next_mat(f);\r
13     if(i>1),\r
14         fprintf('step %i time %g ',i,t),\r
15         fprintf('lfn change %g\n',...\r
16             max(max(abs(lfn-lfn_last))));\r
17     end\r
18     lfn_last=lfn;\r
19     tign=next_mat(f);\r
20     tign(lfn>0)=NaN;\r
21     vx=next_mat(f);\r
22     vy=next_mat(f);\r
23     flux=next_mat(f);\r
24     vis(lfn,flux,vx,vy,dx,dy,t)\r
25     drawnow\r
26     pause(0.3)\r
27     t=next_mat(f);\r
28 end\r
29 fclose(f);\r
30     \r
31 end\r
33 function vis(u,f,vx,vy,dx,dy,tNow)\r
34 % u = level function\r
35 % f = reaction intensity or flux\r
36 clf\r
37 [m,n]=size(u);\r
38 x=[0:m-1]*dx;\r
39 y=[0:n-1]*dy;\r
40 hold off\r
41 vis_type= '2d';\r
42 drawn=false;\r
43 switch vis_type\r
44     case '3d'\r
45     h=surf(y,x,u);\r
46     set(h,'edgecolor','none')\r
47     alpha(0.3)\r
48     hold on\r
49     contour3(y,x,u,[0 0],'k')\r
50     drawn=true;\r
51     case '2d'\r
52     xh=[1/2:m-1/2]*dx;\r
53     yh=[1/2:n-1/2]*dy;\r
54     h=pcolor(xh,yh,f');\r
55     % shading('interp')\r
56     set(h,'edgecolor','none')\r
57     colorbar\r
58     hold on\r
59     contour(y,x,u',[0 0],'k')\r
60     s=20;\r
61     ix=1:ceil(m/s):m;\r
62     iy=1:ceil(n/s):n;\r
63     [xx,yy]=ndgrid(x,y);\r
64     quiver(xx(ix,iy),yy(ix,iy),vx(ix,iy),vy(ix,iy))\r
65     axis image\r
66     drawn=true;\r
67     otherwise\r
68         disp('no visualization selected, set vis=type to 2d or 3d')\r
69 end\r
70 hold off\r
71 if drawn,\r
72     title(sprintf('t=%g',tNow));\r
73 end\r
74 end\r