On he in luence o mine al dus on glacial albedo a Ne ado
Huasca án
Aus in M. Webe | By d Pola and Clima e Resea ch Cen e , Columbus, Ohio, USA
No e on dependencies: This sc ip equi es unc ions om Toolboxes and File Exchange submissions ha a e
no a pa o he base MATLAB language. You will need:
• S a is ics and Machine Lea ning Toolbox
• Cu e Fi ing Toolbox
• Clima e Da a Toolbox (G eene e al., 2019)
• Ca ego ical Colo s (Webe , 2025)
De ine he pa h o he da a
da a ile = 'dus -da a-agg ega ed-scnica .xlsx';
Load he da a
colB_5y = eadDus Table(da a ile,'ColB_5y'); % [ug dus / g snow]
summi B_5y = eadDus Table(da a ile,'Summi B_5y'); % [ug dus / g snow]
colB_SNICAR = eadDus Table(da a ile,'ColB_SNICAR'); % [B oadband albedo]
summi B_SNICAR = eadDus Table(da a ile,'Summi B_SNICAR'); % [B oadband albedo]
Compa e o al dus eco ds
age5y = colB_5y.S a Yea ;
age5y_labels = {'1960-4','1965-9','1970-4','1975-9','1980-4','1985-9',...
'1990-4','1995-9','2000-4','2005-9','2010-4','2015-9'};
colB_5y_ o alDus = sum(colB_5y{:,3:end},2);
summi B_5y_ o alDus = sum(summi B_5y{:,3:end},2);
lw=3;
iledlayou (2,2,'TileSpacing','compac ')
nex ile([1 2])
s1=s ai s(age5y,[colB_5y_ o alDus summi B_5y_ o alDus ],...
'LineWid h',lw,...
'Colo ','k');
s1(2).LineS yle=':';
ylim([0 5])
ylabel('To al Dus (µg/g)')
x icks(1960:5:2015)
xlim([1959 2016])
x icklabels(age5y_labels)
lg=legend('Col','Summi ','Loca ion','no hwes ');
lg.IconColumnWid h=15;
1
lg.Box='o ';
upda eFon
upda eG id
nex ile()
s ai s(age5y,colB_5y{:,3:end},...
'LineWid h',lw)
x icks(1960:5:2015)
xlim([1959 2016])
x icklabels(age5y_labels)
ylabel('Col (µg/g)')
lg2=legend('0.63-1.00 µm',...
'1.00-2.52 µm',...
'2.52-5.04 µm',...
'5.04-10.07 µm',...
'10.07-16.00 µm',...
'Loca ion','no hwes ');
lg2.IconColumnWid h=12;
lg2.Box='o ';
upda eFon
upda eG id
upda eColo O de
nex ile
s ai s(age5y,summi B_5y{:,3:end},':',...
'LineWid h',lw)
x icks(1960:5:2015)
xlim([1959 2016])
x icklabels(age5y_labels)
ylabel('Summi (µg/g)')
upda eFon
upda eG id
upda eColo O de
2
Compa e o me (1960-1989) and la e (1990-2019) pe iods
col = epma ({'Col'},[12 1]);
summi = epma ({'Summi '},[12 1]);
o me = epma (1960,[6 1]);
la e = epma (1990,[6 1]);
o me La e Table = a ay2 able([col; summi ],'Va iableNames',{'Si e'});
o me La e Table.To alDus = [colB_5y_ o alDus ; summi B_5y_ o alDus ];
o me La e Table.Pe iod = [ o me ; la e ; o me ; la e ];
%%%
%%% Visualize
%%%
igu e
g oupedSpacedBoxcha ( o me La e Table,'Si e','To alDus ','Pe iod');
colo o de (ca _colo s('colo blind'))
y icks(0.5:0.5:5),y icklabels({'0.5','1.0','1.5','2.0','2.5','3.0','3.5','4.0','4.5'
,'5.0'})
ylabel('Concen a ion (µg/g)')
lg=legend('1960-1989','1990-2019');
lg.Box='o ';
lg.IconColumnWid h=14;
upda eFon
upda eG id
box on
axis squa e
3
%%%
%%% E alua e s a is ical di e ence sco es
%%%
% Tes whe he he means a e s a is ically di e en
h = es 2(colB_5y_ o alDus (1:6),colB_5y_ o alDus (7:12));
i h == 1
p in ('The null hypo hesis is ejec ed. The COL sample means a e s a is ically
di e en .')
else
p in ('The null hypo hesis canno be ejec ed. The COL sample means a e no
s a is ically di e en .')
end
The null hypo hesis is ejec ed. The COL sample means a e s a is ically di e en .
% Tes whe he he medians a e s a is ically di e en
p = anksum(colB_5y_ o alDus (1:6),colB_5y_ o alDus (7:12));
i p < 0.05
p in ('The COL sample medians a e s a is ically di e en .')
else
p in ('The COL sample medians a e no s a is ically di e en .')
end
The COL sample medians a e s a is ically di e en .
% Tes whe he he means a e s a is ically di e en
h = es 2(summi B_5y_ o alDus (1:6),summi B_5y_ o alDus (7:12));
4
i h == 1
p in ('The null hypo hesis is ejec ed. The SUMMIT sample means a e
s a is ically di e en .')
else
p in ('The null hypo hesis canno be ejec ed. The SUMMIT sample means a e no
s a is ically di e en .')
end
The null hypo hesis is ejec ed. The SUMMIT sample means a e s a is ically di e en .
% Tes whe he he medians a e s a is ically di e en
p = anksum(summi B_5y_ o alDus (1:6),summi B_5y_ o alDus (7:12));
i p < 0.05
p in ('The SUMMIT sample medians a e s a is ically di e en .')
else
p in ('The SUMMIT sample medians a e no s a is ically di e en .')
end
The SUMMIT sample medians a e s a is ically di e en .
SNICAR-AD 3 Modeled Albedos
lw=2.5;
x ick als = 1960:5:2015;
yea s = colB_SNICAR.Sample;
close
igu e
% Syn he ic da a o o ganizing he legend-- hese da apoin s will no be shown
% on he cha
syn hX = [1 2 3];
syn hY = [-1 -0.5 0];
plo (syn hX,syn hY,'k-','LineWid h',lw);
hold on
plo (syn hX,syn hY,'k:','LineWid h',lw);
plo (syn hX,syn hY,'k','Ma ke ','o','Ma ke Size',8,'Ma ke FaceColo ','w','LineS yle'
,'none');
plo (syn hX,syn hY,'k','Ma ke ','diamond','Ma ke Size',8,'Ma ke FaceColo ','w','Line
S yle','none');
hold on
% Con ol
ylim([0.714 0.734])
yline(0.732956,'- ','linewid h',lw)
% Col da a
col = plo (x ick als,colB_SNICAR{:,2:end},...
'Colo ','k',...
'LineWid h',lw);
col(1).Ma ke ='o'; col(1).Ma ke Size=8; col(1).Ma ke FaceColo ='w';
col(2).Ma ke ='diamond'; col(2).Ma ke Size=8; col(2).Ma ke FaceColo ='w';
xlim([1958 2017])
x icks(1960:5:2015)
x icklabels(yea s)
5
ylabel('B oadband Albedo')
hold on
% Summi da a
summi = plo (x ick als,summi B_SNICAR{:,2:end},':',...
'Colo ','k',...
'LineWid h',lw);
summi (1).Ma ke ='o'; summi (1).Ma ke Size=8; summi (1).Ma ke FaceColo ='w';
summi (2).Ma ke ='diamond'; summi (2).Ma ke Size=8; summi (2).Ma ke FaceColo ='w';
%ylim([0.8259 0.8306]);
y icks(0.714 : 0.002 : 0.734)
y icklabels({'0.714','0.716','0.718','0.720','0.722','0.724',...
'0.726','0.728','0.730','0.732','0.734'})
lg = legend('Col','Summi ','Dus ','Dus + BC','Con ol',...
'Loca ion','no heas ');
lg.IconColumnWid h=14;
lg.Box='o ';
upda eFon
upda eG id
Compa e o me (1960-1989) and la e (1990-2019) pe iods
col = epma ({'Col'},[12 1]);
summi = epma ({'Summi '},[12 1]);
o me = epma (1960,[6 1]);
la e = epma (1990,[6 1]);
o me La e AlbedoTable = a ay2 able([col; summi ],'Va iableNames',{'Si e'});
6
o me La e AlbedoTable.To alDus = [colB_SNICAR.Albedo; summi B_SNICAR.Albedo];
o me La e AlbedoTable.Pe iod = [ o me ; la e ; o me ; la e ];
%%%
%%% Visualize
%%%
igu e
g oupedSpacedBoxcha ( o me La e AlbedoTable,'Si e','To alDus ','Pe iod');
colo o de (ca _colo s('colo blind'))
ylim([0.714 0.728])
y icks(0.714:0.002:0.728),
y icklabels({'0.714','0.716','0.718',...
'0.720','0.722','0.724','0.726','0.728'})
ylabel('B oadband Albedo')
lg=legend('1960-1989','1990-2019',...
'Loca ion','no hwes ');
lg.Box='o ';
lg.IconColumnWid h=14;
upda eFon
upda eG id
box on
axis squa e
%%%
%%% E alua e s a is ical di e ence sco es
%%%
% Tes whe he he means a e s a is ically di e en
7
h = es 2(colB_SNICAR.Albedo(1:6),colB_SNICAR.Albedo(7:12));
i h == 1
p in ('The null hypo hesis is ejec ed. The COL sample means a e s a is ically
di e en .')
else
p in ('The null hypo hesis canno be ejec ed. The COL sample means a e no
s a is ically di e en .')
end
The null hypo hesis is ejec ed. The COL sample means a e s a is ically di e en .
% Tes whe he he medians a e s a is ically di e en
p = anksum(colB_SNICAR.Albedo(1:6),colB_SNICAR.Albedo(7:12));
i p < 0.05
p in ('The COL sample medians a e s a is ically di e en .')
else
p in ('The COL sample medians a e no s a is ically di e en .')
end
The COL sample medians a e s a is ically di e en .
% Tes whe he he means a e s a is ically di e en
h = es 2(summi B_SNICAR.Albedo(1:6),summi B_SNICAR.Albedo(7:12));
i h == 1
p in ('The null hypo hesis is ejec ed. The SUMMIT sample means a e
s a is ically di e en .')
else
p in ('The null hypo hesis canno be ejec ed. The SUMMIT sample means a e no
s a is ically di e en .')
end
The null hypo hesis is ejec ed. The SUMMIT sample means a e s a is ically di e en .
% Tes whe he he medians a e s a is ically di e en
p = anksum(summi B_SNICAR.Albedo(1:6),summi B_SNICAR.Albedo(7:12));
i p < 0.05
p in ('The SUMMIT sample medians a e s a is ically di e en .')
else
p in ('The SUMMIT sample medians a e no s a is ically di e en .')
end
The SUMMIT sample medians a e s a is ically di e en .
Loga i hmic i ing
%%%
%%% COL
%%%
% Ge da a since 1960
y s = (1960:5:2015)';
col_albedos = colB_SNICAR.Albedo;
% Fi model
8
[ _col,s_col] = i (y s,col_albedos,"log10")
_col =
Linea model Log10:
_col(x) = a*log10(x) + b
Coe icien s (wi h 95% con idence bounds):
a = -0.4948 (-0.7263, -0.2633)
b = 2.352 (1.588, 3.115)
s_col = s uc wi h ields:
sse: 0.00
squa e: 0.69
d e: 10.00
adj squa e: 0.66
mse: 0.00
col_logMdl = @(x) -0.4948*log10(x)+2.352;
% Gene a e he loga i hmic cu e and con idence in e als
x_ i = 1955:1:2105;
[col_ci, col_ i ] = p edin ( _col, x_ i , 0.95);
%%%
%%% SUMMIT
%%%
summi _albedos = summi B_SNICAR.Albedo;
[ _summi ,s_summi ] = i (y s,summi _albedos,"log10")
_summi =
Linea model Log10:
_summi (x) = a*log10(x) + b
Coe icien s (wi h 95% con idence bounds):
a = -0.4491 (-0.7111, -0.1871)
b = 2.204 (1.34, 3.068)
s_summi = s uc wi h ields:
sse: 0.00
squa e: 0.59
d e: 10.00
adj squa e: 0.55
mse: 0.00
summi _logMdl = @(x) -0.4491*log10(x)+2.204;
[summi _ci, summi _ i ] = p edin ( _summi , x_ i , 0.95);
%%%
%%% VISUALIZE
%%%
scalingFac o = 1.2;
close
igu e('uni s','inches','posi ion',[1 1 7/scalingFac o 4/scalingFac o ])
% Col
boundedline(x_ i ,col_ i ,[col_ i -col_ci(:,1), col_ci(:,2)-col_ i ],'-
k','alpha','linewid h',3)
ylabel('B oadband Albedo')
hold on
% Summi
boundedline(x_ i ,summi _ i ,[summi _ i -summi _ci(:,1), summi _ci(:,2)-
summi _ i ],':k','alpha','linewid h',3)
9