1 


2  [header,y]=flex_header('C:\Users\Output\',0,0,0); %Change File Location%


3 


4  [a,b,c,d]=flex_read_V7(header,1,1,1,1,0);


5 


6  [ar,vo]=calculate_grid_area_eff(header);


7 


8  [name,loc,conc]=flex_read_recepconc(header,1,6);


9 


10  [xgrid,ygrid,zgrid,xdum,ydum,zdum,numT]=size(a);


11 


12  sample_avg=header.loutaver/60; %average time in minutes%


13 


14  %need 1 hour averages%


15  num1hr=numT*sample_avg/60; %number of 1hour average samples%


16 


17  [dum,latgrid]=size(header.latp);


18  [dum,longrid]=size(header.latp);


19  avg1hr=repmat(0,[latgrid,longrid]);


20  hr_cnt=0;


21  num_dig=4; %number of digits the average 1hour matrix will be rounded to%


22 


23 


24  for i=1:num1hr


25  for j=1:round(60/sample_avg);


26  avg1hr=avg1hr+a(:,:,1,1,1,1,j+hr_cnt);


27  end


28 


29  avg1hr=((avg1hr*((0.001*24.5)/(64.1*1000)))/(round(60/sample_avg))); %convert nearest integer in ppm%


30  avg1hr = round(avg1hr*(10^num_dig))/(10^num_dig); %rounding to four digits only%


31 


32  %max_element=max(max(avg1hr));


33  %copyt=avg1hr;


34  %copyt(copyt==0)=Inf;


35  %min_element=min(min(copyt));


36  %v=linspace(min_element,max_element,15);


37  %which_elem=[];


38 


39  %for ielem=1:2:size(v,2)1;


40  % cnt_elem(ielem)=numel(avg1hr(avg1hr(:)>v(ielem) & avg1hr(:)<v(ielem+1)));


41  % if cnt_elem(ielem)< 2;


42  % which_elem=[which_elem;ielem];


43  % which_elem=[which_elem;ielem+1];


44  % end


45  %end


46 


47  %which_elem=[which_elem;(max(which_elem)+1)];


48 


49  %if max(which_elem) == size(linspace(min_element,max_element,10),2)1;


50  % which_elem=[which_elem;max(which_elem)+1];


51  %end


52 


53  %v(:,which_elem)=[];


54 


55  %[val,index]=max(cnt_elem);


56 


57  %v=linspace(min_element,v(index+1),10);


58 


59  %run_kml=1;


60  %if max(cnt_elem)==5;


61  % run_kml=0;


62  %end


63 


64  %if max_element>0 & run_kml==1


65  try


66  filenam=sprintf('my_kml_%i',i)


67  k=kml(filenam);


68  [xm,ym]=meshgrid(header.latp,header.lonp);


69  [min_element,max_element,v]=get_ContourRange(avg1hr)


70  my_levels=v


71  %my_levels=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.5 2 3 4 5]


72  k.contour(ym,xm,avg1hr,'numberOfLevels',my_levels);


73  k.save(filenam);


74  avg1hr=repmat(0,[latgrid,longrid]);


75  catch exception


76  %[min_element, max_element,v]=get_ContourRangeAgain(v,avg1hr)


77  disp(sprintf('zero concentrations detected in the %ith 1hour sample', hr_cnt));


78  end


79  hr_cnt=hr_cnt+1;


80  end 
