1 base=datenum('2013-08-11 00:00:00');
3 spinup_time=0.5*ones(1,num_cycles);
5 heads={'Observations from ',...
7 'Next cycle restart at ',...
8 'Next cycle replay until ',...
9 'Next cycle end time '};
10 start_cycle=input_num('starting cycle',1)
11 for i=start_cycle:num_cycles
13 restart=start+1-spinup_time(i);
14 time_bounds(i,:)=[start,start+1-4e-6,restart,start+1,start+3];
16 fprintf('Cycle %i %s %s\n',i,heads{j},datestr(time_bounds(i,j),'dd-mmm-yyyy HH:MM:SS'))
18 wrfout{i}=['wrfout_d01_',datestr(start+2,'yyyy-mm-dd_HH:MM:SS')];
19 wrfrst{i}=['wrfrst_d01_',datestr(restart,'yyyy-mm-dd_HH:MM:SS')];
20 perimeter_time(i)=(time_bounds(i,4)-base)*24*3600;
21 fprintf('perimeter_time=%10.3f\n',perimeter_time(i))
23 for i=start_cycle:num_cycles
25 w=read_wrfout_tign(wrfout{i});
26 % start, end observations; restart time, perimeter time
27 fprintf('%s %s\n','Reading fire arrival time from ',wrfout{i})
28 fprintf('%s %s\n','Writing modified time into ',wrfrst{i})
30 fprintf('Cycle %i %s %s\n',i,heads{j},datestr(time_bounds(i,j),'dd-mmm-yyyy HH:MM:SS'))
32 fprintf('perimeter_time=%10.3f\n',perimeter_time(i))
33 p=detect_fit_level2(1,time_bounds(i,:),w)
36 fprintf('Cycle %i %s %s\n',i,heads{j},datestr(time_bounds(i,j),'dd-mmm-yyyy HH:MM:SS'))
38 fprintf('perimeter_time=%10.3f\n',perimeter_time(i))
39 command=sprintf('rm -f namelist.input; ln -s namelist.input_%i namelist.input',i);
40 q=sprintf('replace TIGN_G in %s and run\n %s 0/1',wrfrst{i},command);
43 ncreplace(wrfrst{i},'TIGN_G',p.spinup)
45 warning('command failed')
48 input('Run WRF-SFIRE and continue when done\n')