||
%% 为了方便调用,我把这个方案做成了函数形式。
function [ Albedo ] = Alb( T,P )
% 此函数用于计算积雪反照率
% T为日平均气温;P为日降水量
[a,b]=size(T);
I=[];
for i=1:a
if T(i)<0 && P(i)>0
i;
I=[I;i];
else
continue
end
end
aa=find(T>0);
bb=aa(2);
T1=T(1:bb-1);
T2=T(bb:end);
P1=P(1:bb-1);
P2=P(bb:end);
K1=zeros(bb-1,1);
K2=zeros(a-bb+1,1);
for i=2:bb-1
if T1(i)<0 && P1(i)>0
K1(i)=0;
else
K1(i)=K1(i-1)+1;
end
end
for j=2:a-bb+1
if T2(j)<-5 && P2(j)>3
K2(j)=0;
else
K2(j)=K2(j-1)+1;
end
end
Albedo1=0.85*0.94.^(K1.^0.58);
%Albedo2=Albedo1(end)*0.82.^(K2.^0.46);
Albedo2=Albedo1(end)+0.02*K2-0.005*K2.^2;
Albedo=[Albedo1;Albedo2];
Albedo(1:I(1)-1)=0.16;
Albedo(Albedo<0.16)=0.16;
end
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 09:59
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社