% 【摘要】比较全球12个典型区域的surface runoff & subsrf runoff的值(CLM45 .VS. CLM50)
clc; clear; close all
%(1)读 clm 模拟的多年月平均值(CLM45 or CLM50)
load('D:\数据\UNH-GRDC\World Runoff Data\runoff_grd\clm45_srf_subsrf.mat')
srfrof_clm45_mon = srfrofsim_mon;
subsrfrof_clm45_mon = subsrfrofsim_mon;
clearvars -except srfrof_clm45_mon subsrfrof_clm45_mon
load('D:\数据\UNH-GRDC\World Runoff Data\runoff_grd\clm50_srf_subsrf.mat')
srfrof_clm50_mon = srfrofsim_mon;
subsrfrof_clm50_mon = subsrfrofsim_mon;
%(2)划定各个典型区域坐标范围
% West_Siberia(50-70N,60-90E) East_Siberia(50-70N,90-140E) Canada(50-70N,90-170W)
% Amazon_Basin(10S-0,70-50W) Congo(10S-5N,10-30E) India(10-30N,70-90E)
% South_Africa(35-10S,10-40E) Eastern_China(25-40N,110-125E)
% Central_Europ(40-50N,0-40E) Sahara+Arabla(10-30N,0-50E) Western_US(30-50N,130-110W)
% Australia(40-10S,110-160E)
reginal_name = ...
{['West Siberia(50-70N,60-90E)'] ['East Siberia(50-70N,90-140E)']...
['Canada(50-70N,90-170W)'] ['Amazon Basin(10S-0,70-50W)']...
['Congo(10S-5N,10-30E)'] ['India(10-30N,70-90E)']...
['South Africa(35-10S,10-40E)'] ['Eastern China(25-40N,110-125E)']...
['Central Europ(40-50N,0-40E)'] ['Sahara-Arabla(10-30N,0-50E)']...
['Western US(30-50N,130-110W)'] ['Australia(40-10S,110-160E)']};
dlon = 1.25;
dlat = 0.9375;
%(3-1)划定各个区域范围
West_Siberia_lat = [floor((50+90)/dlat):ceil((70+90)/dlat)];
West_Siberia_lon = [floor((60+180)/dlon):ceil((90+180)/dlon)];
East_Siberia_lat = [floor((50+90)/dlat):ceil((70+90)/dlat)];
East_Siberia_lon = [floor((90+180)/dlon):ceil((140+180)/dlon)];
Canada_lat = [floor((50+90)/dlat):ceil((70+90)/dlat)];
Canada_lon = [floor((180-170)/dlon):ceil((180-90)/dlon)];
Amazon_Basin_lat = [floor((90-10)/dlat):ceil((90-0)/dlat)];
Amazon_Basin_lon = [floor((180-70)/dlon):ceil((180-50)/dlon)];
Congo_lat = [floor((90-10)/dlat):ceil((90+5)/dlat)];
Congo_lon = [floor((10+180)/dlon):ceil((30+180)/dlon)];
India_lat = [floor((90+10)/dlat):ceil((90+30)/dlat)];
India_lon = [floor((70+180)/dlon):ceil((90+180)/dlon)];
South_Africa_lat = [floor((90-35)/dlat):ceil((90-10)/dlat)];
South_Africa_lon = [floor((10+180)/dlon):ceil((40+180)/dlon)];
Eastern_China_lat = [floor((90+25)/dlat):ceil((90+40)/dlat)];
Eastern_China_lon = [floor((110+180)/dlon):ceil((125+180)/dlon)];
Central_Europ_lat = [floor((40+90)/dlat):ceil((50+90)/dlat)];
Central_Europ_lon = [floor((180+0)/dlon):ceil((180+40)/dlon)];
Sahara_Arabla_lat = [floor((90+10)/dlat):ceil((90+30)/dlat)];
Sahara_Arabla_lon = [floor((180+0)/dlon):ceil((180+50)/dlon)];
Western_US_lat = [floor((90+30)/dlat):ceil((90+50)/dlat)];
Western_US_lon = [floor((180-130)/dlon):ceil((180-110)/dlon)];
Australia_lat = [floor((90-40)/dlat):ceil((90-10)/dlat)];
Australia_lon = [floor((110+180)/dlon):ceil((180+160)/dlon)];
%(3-2)提取各个区域网格
for i = 1:12
tmp50srf = srfrof_clm50_mon{i}; % 逐月提取观测值surface runoff(clm50)
West_Siberia_50srf{i} = tmp50srf(West_Siberia_lat, West_Siberia_lon);
East_Siberia_50srf{i} = tmp50srf(East_Siberia_lat, East_Siberia_lon);
Canada_50srf{i} = tmp50srf(Canada_lat,Canada_lon);
Amazon_Basin_50srf{i} = tmp50srf(Amazon_Basin_lat,Amazon_Basin_lon);
Congo_50srf{i} = tmp50srf(Congo_lat,Congo_lon);
India_50srf{i} = tmp50srf(India_lat,India_lon);
South_Africa_50srf{i} = tmp50srf(South_Africa_lat, South_Africa_lon);
Eastern_China_50srf{i}= tmp50srf(Eastern_China_lat,Eastern_China_lon);
Central_Europ_50srf{i}= tmp50srf(Central_Europ_lat,Central_Europ_lon);
Sahara_Arabla_50srf{i}= tmp50srf(Sahara_Arabla_lat,Sahara_Arabla_lon);
Western_US_50srf{i} = tmp50srf(Western_US_lat,Western_US_lon);
Australia_50srf{i} = tmp50srf(Australia_lat,Australia_lon);
tmp45srf = srfrof_clm45_mon{i}; % 逐月提取观测值surface runoff(clm45)
West_Siberia_45srf{i} = tmp45srf(West_Siberia_lat, West_Siberia_lon);
East_Siberia_45srf{i} = tmp45srf(East_Siberia_lat, East_Siberia_lon);
Canada_45srf{i} = tmp45srf(Canada_lat,Canada_lon);
Amazon_Basin_45srf{i} = tmp45srf(Amazon_Basin_lat,Amazon_Basin_lon);
Congo_45srf{i} = tmp45srf(Congo_lat,Congo_lon);
India_45srf{i} = tmp45srf(India_lat,India_lon);
South_Africa_45srf{i} = tmp45srf(South_Africa_lat, South_Africa_lon);
Eastern_China_45srf{i}= tmp45srf(Eastern_China_lat,Eastern_China_lon);
Central_Europ_45srf{i}= tmp45srf(Central_Europ_lat,Central_Europ_lon);
Sahara_Arabla_45srf{i}= tmp45srf(Sahara_Arabla_lat,Sahara_Arabla_lon);
Western_US_45srf{i} = tmp45srf(Western_US_lat,Western_US_lon);
Australia_45srf{i} = tmp45srf(Australia_lat,Australia_lon);
%---------------------------------------------------------------------
tmp50subsrf = subsrfrof_clm50_mon{i}; % 逐月提取观测值sub-surface runoff(clm50)
West_Siberia_50subsrf{i} = tmp50subsrf(West_Siberia_lat, West_Siberia_lon);
East_Siberia_50subsrf{i} = tmp50subsrf(East_Siberia_lat, East_Siberia_lon);
Canada_50subsrf{i} = tmp50subsrf(Canada_lat,Canada_lon);
Amazon_Basin_50subsrf{i} = tmp50subsrf(Amazon_Basin_lat,Amazon_Basin_lon);
Congo_50subsrf{i} = tmp50subsrf(Congo_lat,Congo_lon);
India_50subsrf{i} = tmp50subsrf(India_lat,India_lon);
South_Africa_50subsrf{i} = tmp50subsrf(South_Africa_lat, South_Africa_lon);
Eastern_China_50subsrf{i}= tmp50subsrf(Eastern_China_lat,Eastern_China_lon);
Central_Europ_50subsrf{i}= tmp50subsrf(Central_Europ_lat,Central_Europ_lon);
Sahara_Arabla_50subsrf{i}= tmp50subsrf(Sahara_Arabla_lat,Sahara_Arabla_lon);
Western_US_50subsrf{i} = tmp50subsrf(Western_US_lat,Western_US_lon);
Australia_50subsrf{i} = tmp50subsrf(Australia_lat,Australia_lon);
tmp45subsrf = subsrfrof_clm45_mon{i}; % 逐月提取观测值sub-surface runoff(clm45)
West_Siberia_45subsrf{i} = tmp45subsrf(West_Siberia_lat, West_Siberia_lon);
East_Siberia_45subsrf{i} = tmp45subsrf(East_Siberia_lat, East_Siberia_lon);
Canada_45subsrf{i} = tmp45subsrf(Canada_lat,Canada_lon);
Amazon_Basin_45subsrf{i} = tmp45subsrf(Amazon_Basin_lat,Amazon_Basin_lon);
Congo_45subsrf{i} = tmp45subsrf(Congo_lat,Congo_lon);
India_45subsrf{i} = tmp45subsrf(India_lat,India_lon);
South_Africa_45subsrf{i} = tmp45subsrf(South_Africa_lat, South_Africa_lon);
Eastern_China_45subsrf{i}= tmp45subsrf(Eastern_China_lat,Eastern_China_lon);
Central_Europ_45subsrf{i}= tmp45subsrf(Central_Europ_lat,Central_Europ_lon);
Sahara_Arabla_45subsrf{i}= tmp45subsrf(Sahara_Arabla_lat,Sahara_Arabla_lon);
Western_US_45subsrf{i} = tmp45subsrf(Western_US_lat,Western_US_lon);
Australia_45subsrf{i} = tmp45subsrf(Australia_lat,Australia_lon);
end
%(4)比较逐月surface runoff数据
for i = 1:12
tmpreg = West_Siberia_50srf{i};
West_Siberia_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = West_Siberia_45srf{i};
West_Siberia_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = East_Siberia_50srf{i};
East_Siberia_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = East_Siberia_45srf{i};
East_Siberia_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Canada_50srf{i};
Canada_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Canada_45srf{i};
Canada_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Amazon_Basin_50srf{i};
Amazon_Basin_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Amazon_Basin_45srf{i};
Amazon_Basin_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Congo_50srf{i};
Congo_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Congo_45srf{i};
Congo_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = India_50srf{i};
India_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = India_45srf{i};
India_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = South_Africa_50srf{i};
South_Africa_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = South_Africa_45srf{i};
South_Africa_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Eastern_China_50srf{i};
Eastern_China_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Eastern_China_45srf{i};
Eastern_China_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Central_Europ_50srf{i};
Central_Europ_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Central_Europ_45srf{i};
Central_Europ_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Sahara_Arabla_50srf{i};
Sahara_Arabla_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Sahara_Arabla_45srf{i};
Sahara_Arabla_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Western_US_50srf{i};
Western_US_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Western_US_45srf{i};
Western_US_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Australia_50srf{i};
Australia_50srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Australia_45srf{i};
Australia_45srf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
% -----------------------------------------------------------------
% sub-surface runoff
% -----------------------------------------------------------------
tmpreg = West_Siberia_50subsrf{i};
West_Siberia_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = West_Siberia_45subsrf{i};
West_Siberia_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = East_Siberia_50subsrf{i};
East_Siberia_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = East_Siberia_45subsrf{i};
East_Siberia_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Canada_50subsrf{i};
Canada_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Canada_45subsrf{i};
Canada_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Amazon_Basin_50subsrf{i};
Amazon_Basin_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Amazon_Basin_45subsrf{i};
Amazon_Basin_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Congo_50subsrf{i};
Congo_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Congo_45subsrf{i};
Congo_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = India_50subsrf{i};
India_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = India_45subsrf{i};
India_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = South_Africa_50subsrf{i};
South_Africa_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = South_Africa_45subsrf{i};
South_Africa_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Eastern_China_50subsrf{i};
Eastern_China_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Eastern_China_45subsrf{i};
Eastern_China_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Central_Europ_50subsrf{i};
Central_Europ_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Central_Europ_45subsrf{i};
Central_Europ_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Sahara_Arabla_50subsrf{i};
Sahara_Arabla_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Sahara_Arabla_45subsrf{i};
Sahara_Arabla_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Western_US_50subsrf{i};
Western_US_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Western_US_45subsrf{i};
Western_US_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Australia_50subsrf{i};
Australia_50subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
tmpreg = Australia_45subsrf{i};
Australia_45subsrf_mon(i) = mean(tmpreg(~isnan(tmpreg)));
end
%(5) 画每个区域逐月runoff图,为方便画图,将此12个区域汇总起来
regset_45srf{1} = West_Siberia_45srf_mon;
regset_45srf{2} = East_Siberia_45srf_mon;
regset_45srf{3} = Canada_45srf_mon;
regset_45srf{4} = Amazon_Basin_45srf_mon;
regset_45srf{5} = Congo_45srf_mon;
regset_45srf{6} = India_45srf_mon;
regset_45srf{7} = South_Africa_45srf_mon;
regset_45srf{8} = Eastern_China_45srf_mon;
regset_45srf{9} = Central_Europ_45srf_mon;
regset_45srf{10} = Sahara_Arabla_45srf_mon;
regset_45srf{11} = Western_US_45srf_mon;
regset_45srf{12} = Australia_45srf_mon;
regset_50srf{1} = West_Siberia_50srf_mon;
regset_50srf{2} = East_Siberia_50srf_mon;
regset_50srf{3} = Canada_50srf_mon;
regset_50srf{4} = Amazon_Basin_50srf_mon;
regset_50srf{5} = Congo_50srf_mon;
regset_50srf{6} = India_50srf_mon;
regset_50srf{7} = South_Africa_50srf_mon;
regset_50srf{8} = Eastern_China_50srf_mon;
regset_50srf{9} = Central_Europ_50srf_mon;
regset_50srf{10} = Sahara_Arabla_50srf_mon;
regset_50srf{11} = Western_US_50srf_mon;
regset_50srf{12} = Australia_50srf_mon;
% -----------------------------------------------------------------
% sub-surface runoff
% -----------------------------------------------------------------
regset_45subsrf{1} = West_Siberia_45subsrf_mon;
regset_45subsrf{2} = East_Siberia_45subsrf_mon;
regset_45subsrf{3} = Canada_45subsrf_mon;
regset_45subsrf{4} = Amazon_Basin_45subsrf_mon;
regset_45subsrf{5} = Congo_45subsrf_mon;
regset_45subsrf{6} = India_45subsrf_mon;
regset_45subsrf{7} = South_Africa_45subsrf_mon;
regset_45subsrf{8} = Eastern_China_45subsrf_mon;
regset_45subsrf{9} = Central_Europ_45subsrf_mon;
regset_45subsrf{10} = Sahara_Arabla_45subsrf_mon;
regset_45subsrf{11} = Western_US_45subsrf_mon;
regset_45subsrf{12} = Australia_45subsrf_mon;
regset_50subsrf{1} = West_Siberia_50subsrf_mon;
regset_50subsrf{2} = East_Siberia_50subsrf_mon;
regset_50subsrf{3} = Canada_50subsrf_mon;
regset_50subsrf{4} = Amazon_Basin_50subsrf_mon;
regset_50subsrf{5} = Congo_50subsrf_mon;
regset_50subsrf{6} = India_50subsrf_mon;
regset_50subsrf{7} = South_Africa_50subsrf_mon;
regset_50subsrf{8} = Eastern_China_50subsrf_mon;
regset_50subsrf{9} = Central_Europ_50subsrf_mon;
regset_50subsrf{10} = Sahara_Arabla_50subsrf_mon;
regset_50subsrf{11} = Western_US_50subsrf_mon;
regset_50subsrf{12} = Australia_50subsrf_mon;
%% 画图篇(surface runoff)
figure(1)
set(gcf,'Color','w');
for i = 1:3
subplot('Position',[0.1+0.25*(i-1) 0.78 0.22 0.17]);
plot(regset_50srf{i},'r-','LineWidth',2)
hold on
plot(regset_45srf{i},'b-','LineWidth',2)
set(gca,'FontSize',12,'LineWidth',1.5);
title(reginal_name{i});
xlim([0,13]);
xticks(1:13);
xticklabels({'J','F','M','A','M','J','J','A','S','O','N','D',''});
if i == 1
ylabel('surface runoff (mm/month)' )
legend('CLM50','CLM45')
end
end
for i = 4:6
subplot('Position',[0.1+0.25*(i-4) 0.55 0.22 0.17]);
plot(regset_50srf{i},'r-','LineWidth',2)
hold on
plot(regset_45srf{i},'b-','LineWidth',2)
set(gca,'FontSize',12,'LineWidth',1.5);
title(reginal_name{i});
xlim([0,13]);
xticks(1:13);
xticklabels({'J','F','M','A','M','J','J','A','S','O','N','D',''});
if i == 4
ylabel('surface runoff (mm/month)' )
end
end
for i = 7:9
subplot('Position',[0.1+0.25*(i-7) 0.32 0.22 0.17]);
plot(regset_50srf{i},'r-','LineWidth',2)
hold on
plot(regset_45srf{i},'b-','LineWidth',2)
set(gca,'FontSize',12,'LineWidth',1.5);
title(reginal_name{i});
xlim([0,13]);
xticks(1:13);
xticklabels({'J','F','M','A','M','J','J','A','S','O','N','D',''});
if i == 7
ylabel('surface runoff (mm/month)' )
end
end
for i = 10:12
subplot('Position',[0.1+0.25*(i-10) 0.09 0.22 0.17]);
plot(regset_50srf{i},'r-','LineWidth',2)
hold on
plot(regset_45srf{i},'b-','LineWidth',2)
set(gca,'FontSize',12,'LineWidth',1.5);
title(reginal_name{i});
xlim([0,13]);
xticks(1:13);
xticklabels({'J','F','M','A','M','J','J','A','S','O','N','D',''});
if i == 10
ylabel('surface runoff (mm/month)' )
end
end
%% 画图篇(sub-surface runoff)
figure(2)
set(gcf,'Color','w');
for i = 1:3
subplot('Position',[0.1+0.25*(i-1) 0.78 0.22 0.17]);
plot(regset_50subsrf{i},'r-.','LineWidth',2)
hold on
plot(regset_45subsrf{i},'b-.','LineWidth',2)
set(gca,'FontSize',12,'LineWidth',1.5);
title(reginal_name{i});
xlim([0,13]);
xticks(1:13);
xticklabels({'J','F','M','A','M','J','J','A','S','O','N','D',''});
if i == 1
ylabel('sub-surface runoff (mm/mo)' )
legend('CLM50','CLM45')
end
end
for i = 4:6
subplot('Position',[0.1+0.25*(i-4) 0.55 0.22 0.17]);
plot(regset_50subsrf{i},'r-.','LineWidth',2)
hold on
plot(regset_45subsrf{i},'b-.','LineWidth',2)
set(gca,'FontSize',12,'LineWidth',1.5);
title(reginal_name{i});
xlim([0,13]);
xticks(1:13);
xticklabels({'J','F','M','A','M','J','J','A','S','O','N','D',''});
if i == 4
ylabel('sub-surface runoff (mm/mo)' )
end
end
for i = 7:9
subplot('Position',[0.1+0.25*(i-7) 0.32 0.22 0.17]);
plot(regset_50subsrf{i},'r-.','LineWidth',2)
hold on
plot(regset_45subsrf{i},'b-.','LineWidth',2)
set(gca,'FontSize',12,'LineWidth',1.5);
title(reginal_name{i});
xlim([0,13]);
xticks(1:13);
xticklabels({'J','F','M','A','M','J','J','A','S','O','N','D',''});
if i == 7
ylabel('sub-surface runoff (mm/mo)' )
end
end
for i = 10:12
subplot('Position',[0.1+0.25*(i-10) 0.09 0.22 0.17]);
plot(regset_50subsrf{i},'r-.','LineWidth',2)
hold on
plot(regset_45subsrf{i},'b-.','LineWidth',2)
set(gca,'FontSize',12,'LineWidth',1.5);
title(reginal_name{i});
xlim([0,13]);
xticks(1:13);
xticklabels({'J','F','M','A','M','J','J','A','S','O','N','D',''});
if i == 10
ylabel('sub-surface runoff (mm/mo)' )
end
end
全球12个典型区域的surface runoff & subsrf runoff比较
最新推荐文章于 2021-12-16 12:30:11 发布