forked from reyesjmUNC/Dissertation-Scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrunall_Cluster_04b_test2.m
84 lines (72 loc) · 3.13 KB
/
runall_Cluster_04b_test2.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
function [] = runall_Cluster_04b_test2(SOFTIDX)
% this function will run all the data in the 04_mfiles_softdata folder
if nargin < 1, SOFTIDX = 1; end
% load BME
cd ../BMELIB2.0b
startup();
cd ../04_mfiles_softdata
load('../matfiles/prepSoft.mat');
% finding soft data all the days within this range
deltaT = 365;
modplots = 0:5:50;
uniyrsOff = [ 1998 1999 ; 1999 1999 ; 1999 2000 ; 2000 2000 ; 2000 2001 ; ...
2001 2001 ; 2001 2002 ; 2002 2002 ; 2002 2003 ; 2003 2003 ; 2003 2004 ; ...
2004 2004 ; 2004 2005 ; 2005 2005 ; 2005 2006 ; 2006 2006 ; 2006 2007 ; ...
2007 2007 ; 2007 2008 ; 2008 2008 ; 2008 2009 ; 2009 2009 ; 2009 2010 ; ...
2010 2010 ; 2010 2011 ; 2011 2011 ; 2011 2012 ];
n = 3;
numbins = 10;
minpnts = 150;
negval = 0;
temp = datevec(datenum(2001,1,1):datenum(2002,12,31));
dayWHI = temp(:,1:3);
dayWHIall = temp(:,1:3);
[r c] = size(dayWHIall);
len = 1:floor(r/10):r;
if SOFTIDX == 10
dayWHI = dayWHIall(len(SOFTIDX):r,:);
else
dayWHI = dayWHIall(len(SOFTIDX):len(SOFTIDX+1)-1,:);
end
dayWHIdisp = dayWHI(:,1)*10^4 + dayWHI(:,2)*10^2 + dayWHI(:,3);
[r c] = size(dayWHI);
minT = datevec(datenum(dayWHI)-floor(deltaT/2));
maxT = datevec(datenum(dayWHI)+floor(deltaT/2));
for i = 1:r
modplotss = modplots;
disp(dayWHI(i,:));
% check and see if it has a valid range
temp = datevec(datenum(dayWHI(i,:))-floor(deltaT/2):datenum(dayWHI(i,:))+floor(deltaT/2));
[Lia Lib] = ismember(temp(:,1:3),dayWHI,'rows');
if sum(Lia) >= floor(size(dayWHI,1)/2)
% loading the correct years
idx = minT(i,1)==uniyrsOff(:,1) & maxT(i,1)==uniyrsOff(:,2);
tic
[meanGivMod,varGivMod,valMod,valObs,perctile_data,numpnts,idxtME, ...
idxcMS,modplotss,dailyCTMg,mean_Mod,mean_Obs,var_Obs,CTMlocs] ...
= getSoftData_test2(dayWHI(i,:),n,deltaT,numbins,minpnts,modplotss,negval,D{idx},Obsg{idx},...
CTMg{idx},cMSObs{idx},tMEO{idx},cMSCTM{idx},tMECTM{idx},...
distCTMv{idx},yrmodaCTMv{idx},dailyCTMv{idx});
toc
save(sprintf('../matfiles/PM2p5_%d_%d_%d_%d_%d_neg%d_test2.mat',dayWHIdisp(i),deltaT,n,minpnts,numbins,negval),...
'meanGivMod','varGivMod','valMod','valObs','perctile_data','numpnts',...
'idxtME','idxcMS','modplots','dailyCTMg','dayWHIdisp','mean_Mod','mean_Obs','var_Obs','CTMlocs');
else
disp(sprintf('day (%d/%d/%d) is too out of range',dayWHI(i,1),dayWHI(i,2),dayWHI(i,3)));
end
end
% % visualizing soft data with optimize parameters, add here later
% temp = unique(dayWHI(:,1:2),'rows');
% plotmonths = [temp ones(size(temp,1),1)];
% plotmonthsdisp = plotmonths(:,1)*10^4 + plotmonths(:,2)*10^2 + plotmonths(:,3);
% for i = 28:length(plotmonths)
% disp(plotmonthsdisp(i,:));
% if i<28 | i>36
% plotCTM(plotmonths(i,:));
% plotLambdas(plotmonths(i,:),plotmonthsdisp(i,:),n,deltaT,numbins,minpnts,modplots,negval);
% plotLambdas_givMod(plotmonths(i,:),plotmonthsdisp(i,:),n,deltaT,numbins,minpnts,modplots,negval);
% plotScurve(plotmonths(i,:),plotmonthsdisp(i,:),n,deltaT,numbins,minpnts,modplots,negval);
% end
% close all
% end
end