split of FEMWIND_MODULES in Makefile
[wrf-fire-matlab.git] / detection / sort_rsac_files.m
blob0e27f1f03409209a8a1aa9abe4230bb2fb285ea3
1 function p=sort_rsac_files(prefix)
2 % d=sort_rsac_files(file_search)
3 % example;: log_likelihood('TIFs/','w.mat')
5 % in:
6 % file_search    directory search string
7 % d              cell array of file names ordered by time
9 % insert query to use tifs of Level2 data here
10 use_tifs = 0;%input_num('Use TIF files? No = 0',0,1);
11 %obsolete, using only l2 data now
12 if use_tifs == 1
13     d=dir([prefix,'*.tif.mat']);d={d.name};
14     if(isempty(d)), error(['No files found for ',prefix]),end
15     
16     % order the files in time
17     nfiles=length(d);
18     t=zeros(1,nfiles);
19     for i=1:nfiles
20         f{i}=[prefix,d{i}];
21         t(i)=rsac2time(d{i});
22     end
23     [t,i]=sort(t);
24     p.file={d{i}};
25     p.time=t;
26     
27 else
28     dhdf=dir([prefix,'*.hdf']);
29     dh5 = dir([prefix,'*.h5']);
30     dnc = dir([prefix,'*.nc']);
31     d=[{dhdf.name},{dh5.name},{dnc.name}];
32     if(isempty(d)), error(['No files found for ',prefix]),end
33     
34     % order the files in time
35     nfiles=length(d);
36     t=zeros(1,nfiles);
37     for i=1:nfiles
38         f{i}=[prefix,d{i}];
39         t(i)=rsac2time(d{i});
40     end
41     [t,i]=sort(t);
42     p.file={d{i}};
43     p.time=t;
44     
45     %check to make sure geolocation and data files are both present!
46     if mod(nfiles,2) ~= 0
47         fprintf('Mismatch, number of files is not an even number \n')
48     end
49     %check that pairs are there delete unpaired granule form list
50     match_mask = true(1,nfiles);
51     j = 1;
52     while j < nfiles-1
53         if p.time(j) == p.time(j+1)
54             fprintf('time match %s\n',p.file{j})
55             fprintf('time match %s\n',p.file{j+1})
56             fprintf('Pair %d, %d \n\n',j,j+1)
57             j = j+2;
58         else
59             fprintf('***\n time mismatch %s\n***\n',p.file{j})
60             match_mask(j)  = false;
61             j = j+1;
62         end
63     end
64     %check for match in last file
65     if p.time(nfiles) ~= p.time(nfiles-1)
66         fprintf('***\n time mismatch %s\n***\n',p.file{nfiles})
67         match_mask(nfiles)  = false;
68     end
69     %remove unpaired granules
70     p.file = p.file(match_mask);
71     p.time = p.time(match_mask);
72     
73     
74 end % if use_tifs
75 end %function