Merge branch 'femwind' of github.com:janmandel/wrf-fire-matlab into femwind
[wrf-fire-matlab.git] / detection / patch_load.m
blob862956584721bad35f03698835d89b168cad99a9
1 load w
3 % wind
4 ss=load('ss');ss=ss.s;
5 ss.steps=size(ss.times,2);
6 ss.time=zeros(1,ss.steps);
7 for i=1:ss.steps,
8     ss.time(i)=datenum(char(ss.times(:,i)'));
9 end
10 ss.num=1:ss.steps;
11 ss.min_time=min(ss.time);
12 ss.max_time=max(ss.time);
13 % interpolate surface wind to center of the grid
14 ss.uh=0.5*(ss.uah(1:end-1,:,:)+ss.uah(2:end,:,:));
15 ss.vh=0.5*(ss.vah(:,1:end-1,:)+ss.vah(:,2:end,:));
16 load s
17 load c
18 fuels
20 % establish boundaries from simulations
22 sim.min_lat = min(w.fxlat(:))
23 sim.max_lat = max(w.fxlat(:));
24 sim.min_lon = min(w.fxlong(:));
25 sim.max_lon = max(w.fxlong(:));
26 sim.min_tign= min(w.tign_g(:));
27 max_tign= max(w.tign_g(:));
28 act.x=find(w.tign_g(:)<max_tign);
29 act.min_lat = min(w.fxlat(act.x));
30 act.max_lat = max(w.fxlat(act.x));
31 act.min_lon = min(w.fxlong(act.x));
32 act.max_lon = max(w.fxlong(act.x));
33 margin=0.5;
34 min_lon=max(sim.min_lon,act.min_lon-margin*(act.max_lon-act.min_lon));
35 min_lat=max(sim.min_lat,act.min_lat-margin*(act.max_lat-act.min_lat));
36 max_lon=min(sim.max_lon,act.max_lon+margin*(act.max_lon-act.min_lon));
37 max_lat=min(sim.max_lat,act.max_lat+margin*(act.max_lat-act.min_lat));
39 default_bounds{1}=[min_lon,max_lon,min_lat,max_lat];
40 default_bounds{2}=[sim.min_lon,sim.max_lon,sim.min_lat,sim.max_lat];
41 for i=1:length(default_bounds),fprintf('default bounds %i: %8.5f %8.5f %8.5f %8.5f\n',i,default_bounds{i});end
43 bounds=input('enter bounds [min_lon,max_lon,min_lat,max_lat] or number of bounds above (1)> ');
44 if isempty(bounds),bounds=1;end
45 if length(bounds)==1, bounds=default_bounds{bounds}; end
46 [ii,jj]=find(w.fxlong>=bounds(1) & w.fxlong<=bounds(2) & w.fxlat >=bounds(3) & w.fxlat <=bounds(4));
47 ispan=min(ii):max(ii);
48 jspan=min(jj):max(jj);
49 if isempty(ispan) | isempty(jspan), error('selection empty'),end
51 % restrict data for display
53 red.fxlat=w.fxlat(ispan,jspan);
54 red.fxlong=w.fxlong(ispan,jspan);
55 red.tign_g=w.tign_g(ispan,jspan);
56 red.nfuel_cat=c.nfuel_cat(ispan,jspan);
58 red.min_lat = min(red.fxlat(:))
59 red.max_lat = max(red.fxlat(:))
60 red.min_lon = min(red.fxlong(:))
61 red.max_lon = max(red.fxlong(:))
63 red.axis=[red.min_lon,red.max_lon,red.min_lat,red.max_lat];
65 prefix='TIFs/';
66 file_search=[prefix,'*.tif.mat'];      % the level2 files processed by geotiff2mat.py
68 r=readmod14files(file_search,red.axis);