1+ %% Clear workspace, clear variables, and clear figures
2+ clear all ;close all ;clc ;
3+ load(' USLos2020_2019_calcresp.mat' )
4+ load(' USALQ2020_2019_calcresp.mat' )
5+ load(' woodruffprecip.mat' )
6+ load(' dischargevars.mat' )
7+ load(' aveFCH4.mat' )
8+ %% Replace placeholders for missing values with NaN
9+ USLosHH2019.Properties.VariableNames = USLosHH2020 .Properties .VariableNames ;
10+ USLos = [USLosHH2019 ;USLosHH2020 ];
11+
12+ for i= 3 : width(USLos )
13+ USLos.(i )(USLos.(i )==-9999 ) = NaN ;
14+ end
15+
16+ USALQ = [USALQHH2019 ; USALQHH2020 ];
17+
18+ for i= 3 : width(USALQ )
19+ USALQ.(i )(USALQ.(i )==-9999 ) = NaN ;
20+ end
21+
22+ %% Calculate daily averages
23+ % US-Los
24+ daily_CH4Los = dailyaverage2(USLos .FCH4_RF_filled );
25+ dailyCH4Los = daily_CH4Los(: ,1 );
26+ datesLos = USLos .TIMESTAMP_END(48 * daily_CH4Los(: ,2 ));
27+
28+ daily_WTDLos = dailyaverage2(USLos .WTD );
29+ dailyWTDLos = daily_WTDLos(: ,1 );
30+
31+ daily_GPPLos = dailyaverage2(USLos .GPP_F );
32+ dailyGPPLos = daily_GPPLos(: ,1 );
33+
34+ dailyNEELos = dailyaverage2(USLos .NEE_F );
35+ dailyNEELos = dailyNEELos(: ,1 );
36+
37+ dailyTaLos = dailyaverage2(USLos .TA_F_1_1_1 );
38+ dailyTaLos = dailyTaLos(: ,1 );
39+
40+ daily_Rg = dailyaverage2(USLos .SW_IN_1_1_1 );
41+ dailyRg = daily_Rg(: ,1 );
42+
43+ daily_VPD = dailyaverage2(USLos .VPD_F_1_1_1 );
44+ dailyVPD = daily_VPD(: ,1 );
45+ %% US-ALQ
46+ dailyALQ = dailyaverage2(USALQ .FCH4_RF_filled );
47+ dailyFCH4 = dailyALQ(: ,1 );
48+
49+ dates = dailyALQ(: ,2 );
50+ dates = USALQ .TIMESTAMP_END(dates .* 48 );
51+
52+ daily_GPPALQ = dailyaverage2(USALQ .GPP_F );
53+ dailyGPPALQ = daily_GPPALQ(: ,1 );
54+
55+ dailyNEEALQ = dailyaverage2(USALQ .NEE_F );
56+ dailyNEEALQ = dailyNEEALQ(: ,1 );
57+
58+ dailyTaALQ = dailyaverage2(USALQ .TA_F );
59+ dailyTaALQ = dailyTaALQ(: ,1 );
60+
61+ daily_RgALQ = dailyaverage2(USALQ .SW_IN );
62+ dailyRgALQ = daily_RgALQ(: ,1 );
63+
64+ daily_VPDALQ = dailyaverage2(USALQ .VPD );
65+ dailyVPDALQ = daily_VPDALQ(: ,1 );
66+ %% Index for the same dates
67+ precip = woodruffprecipS3 .Precipitationin * 2.54 ;
68+
69+ Losdischarge = USGSLos .discharge_cfs * 0.028316847 ;% Convert USLos discharge from cfs to m3s (site no 5357335)
70+
71+ ALQdischarge = USGSALQ .discharge_cfs * 0.028316847 ;% Convert USALQ discharge from cfs to m3s-1 (site no 5357205)
72+ %% Plotting
73+ fig = figure();
74+ right_color = [0.6510 0.6510 0.6510 ];
75+ left_color = [0 0 0 ];
76+ set(fig ,' defaultAxesColorOrder' ,[left_color ; right_color ]);
77+
78+ subplot(5 ,1 ,1 )
79+ yyaxis left
80+ bar(dates ,precip )% Convert from in to cm
81+ ylabel(' Precip (cm)' )
82+ yyaxis right
83+ plot(datesLos ,dailyWTDLos ,' -' ,' LineWidth' ,2 )
84+ ylabel(' WTD (m)' )
85+ set(gca ,' FontSize' ,17 )
86+ xlim([dates(1 ) dates(end )])
87+
88+ left_color = [0.3020 0.7451 0.9333 ];
89+ right_color = [0.8784 0.4588 0.7176 ];
90+ set(fig ,' defaultAxesColorOrder' ,[left_color ; right_color ]);
91+
92+ subplot(5 ,1 ,2 )
93+ yyaxis left
94+ % US-Los
95+ plot(dates ,Losdischarge ,' ^' )
96+ ylabel(' Q (m^3s^{-1})' )
97+ yyaxis right
98+ % US-ALQ
99+ plot(dates ,ALQdischarge ,' o' )
100+ ylabel(' Q (m^3s^{-1})' )
101+ xlim([dates(1 ) dates(end )])
102+ set(gca ,' FontSize' ,17 )
103+ legend(' US-Los' ,' US-ALQ' ,' Location' ,' Northwest' );
104+
105+ right_color = [0.9294 0.2235 0.5059 ];
106+ left_color = [0 0 0 ];
107+ set(fig ,' defaultAxesColorOrder' ,[left_color ; right_color ]);
108+
109+ subplot(5 ,1 ,3 )
110+ yyaxis left
111+ hold on
112+ plot(dates ,dailyTaALQ ,' -' ,' Color' ,[0.8784 0.4588 0.7176 ],' LineWidth' ,2 )
113+ plot(datesLos ,dailyTaLos ,' -' ,' Color' ,[0.3020 0.7451 0.9333 ],' LineWidth' ,2 )
114+ xlim([dates(1 ) dates(end )])
115+ hold off
116+ ylabel(' T_{air} (^{\circ}C)' )
117+ box on
118+ set(gca ,' FontSize' ,17 )
119+ yyaxis right
120+ plot(dates ,USGSALQ .Twater_mean ,' -' ,' Color' ,[0.9294 0.2235 0.5059 ],' LineWidth' ,2 )
121+ ylabel(' T_{water} (^{\circ}C)' )
122+ lgnd = legend(' US-ALQ' ,' US-Los' ,' US-ALQ' ,' Location' ,' Northwest' ,' NumColumns' ,2 )
123+ set(lgnd ,' color' ,' none' );
124+
125+ subplot(5 ,1 ,4 )
126+ hold on
127+ plot(dates ,dailyGPPALQ ,' +' ,' Color' ,[0.8784 0.4588 0.7176 ])
128+ xlim([dates(1 ) dates(end )])
129+ plot(datesLos ,dailyGPPLos ,' s' ,' Color' ,[0.3020 0.7451 0.9333 ])
130+ hold off
131+ ylabel(' GPP' )
132+ box on
133+ set(gca ,' FontSize' ,17 )
134+ lgnd = legend(' US-ALQ' ,' US-Los' ,' Location' ,' Northwest' )
135+ set(lgnd ,' color' ,' none' );
136+
137+ A = repmat(aveFCH4 ,2 ,1 );
138+
139+ subplot(5 ,1 ,5 )
140+ hold on
141+ plot(datesLos ,dailyCH4Los ,' -' ,' Color' ,[0.3020 0.7451 0.9333 ],' LineWidth' ,2 )
142+ plot(dates ,A(1 : length(dates )),' Color' , [ 0.5333 0.8039 0.9216 0.7 ],' LineWidth' ,2 )
143+ plot(dates ,dailyFCH4 ,' -' ,' Color' ,[0.8784 0.4588 0.7176 ],' LineWidth' ,2 )
144+ xlim([dates(1 ) dates(end )])
145+ hold off
146+ ylabel(' FCH_4' )% (\etamol CH_4 m^-^2s^-^1)
147+ lgnd = legend(' US-Los' ,' US-Los 2014-18' ,' US-ALQ' ,' Location' ,' Northwest' );
148+ box on
149+ set(gca ,' FontSize' ,17 )
150+ set(lgnd ,' color' ,' none' );
151+ %% Statistics
152+ nanvar(USLos .WTD(year(USLos .TIMESTAMP_END )==2019 ))
153+ nanvar(USLos .WTD(year(USLos .TIMESTAMP_END )==2020 ))
154+
155+ nanvar(Losdischarge(year(datesLos )==2019 ))
156+ nanvar(Losdischarge(year(datesLos )==2020 ))
157+
158+ nanvar(ALQdischarge(year(dates )==2019 ))
159+ nanvar(ALQdischarge(year(dates )==2020 ))
160+
161+ range = [min(Losdischarge(year(datesLos )==2019 )) max(Losdischarge(year(datesLos )==2019 ))]
162+ range = [min(Losdischarge(year(datesLos )==2020 )) max(Losdischarge(year(datesLos )==2020 ))]
163+ range = [min(ALQdischarge(year(datesLos )==2019 )) max(ALQdischarge(year(datesLos )==2019 ))]
164+ range = [min(ALQdischarge(year(datesLos )==2020 )) max(ALQdischarge(year(datesLos )==2020 ))]
165+
166+ C = cov(precip ,dailyWTDLos ,' omitrows' )
167+ C = cov(precip ,USGSALQ .Twater_mean ,' omitrows' )
168+ C = cov(precip ,dailyTaLos ,' omitrows' )
169+ C = cov(precip ,dailyTaALQ ,' omitrows' )
170+ C = cov(precip ,Losdischarge ,' omitrows' )
171+ C = cov(precip ,ALQdischarge ,' omitrows' )
172+
173+ [h ,p ] = ttest2(dailyRg ,dailyRgALQ )
174+ [h ,p ] = ttest2(Losdischarge ,ALQdischarge )
175+ [h ,p ] = ttest2(dailyTaLos ,dailyTaALQ )
176+ [h ,p ] = ttest2(dailyVPD ,dailyVPDALQ )
177+
178+ [R ,P ] = corrcoef(Losdischarge(~isnan(Losdischarge )&~isnan(ALQdischarge )),ALQdischarge(~isnan(Losdischarge )&~isnan(ALQdischarge )))
179+ [R ,P ] = corrcoef(ALQdischarge(~isnan(ALQdischarge )&~isnan(dailyWTDLos )),dailyWTDLos(~isnan(ALQdischarge )&~isnan(dailyWTDLos )))
180+ [R ,P ] = corrcoef(dailyTaLos(~isnan(dailyTaLos )&~isnan(dailyTaALQ )),dailyTaALQ(~isnan(dailyTaLos )&~isnan(dailyTaALQ )))
181+ [R ,P ] = corrcoef(dailyVPD(~isnan(dailyVPD )&~isnan(dailyVPDALQ )),dailyVPDALQ(~isnan(dailyVPD )&~isnan(dailyVPDALQ )))
182+
183+ nanmean(dailyCH4Los )
184+ nanmean(dailyFCH4 )
185+ nanmean(dailyCH4Los(year(datesLos )==2019 ))
186+ nanmean(dailyCH4Los(year(datesLos )==2020 ))
187+ nanmean(dailyFCH4(year(dates )==2019 ))
188+ nanmean(dailyFCH4(year(dates )==2020 ))
189+
190+ max(gramconvertnmolday(dailyCH4Los ))
191+ max(gramconvertnmolday(dailyFCH4 ))
192+ min(gramconvertnmolday(dailyCH4Los ))
193+ min(gramconvertnmolday(dailyFCH4 ))
0 commit comments