全球14个典型区域的total runof 泰勒图比较

选取三个纬度带的14个典型分区进行区域 total runoff 泰勒图比较

% Alaska(59-72N,170-140W) Northwest_Canada(55-66.5N,125-100W)
% Eastern_Canada(50-60N,80-55W) Western_Siberia(55-66.5N,60-90E)
% Eastern_Siberia(50-66.5N,90-140E) Western_US(30-50N,130-105W)
% Central_US(30-50N,105-90W) Eastern_US(30-50N,90-70W)
% Europe(45-60N,10W-30E) Amazonia(10S-0,70-50W)
% Central_Africa(5S-5N,10-30E) Brazil(23.5-10S,65-30W)
% Sahel(6-16N,5W-15E) India(10-23.5N,70-90E)

% 【摘要】读取.grd文件;对不同分辨率数据网格插值;对不重合区域取公共交集区,
%  比较全球3个纬度带的total runoff的值(CLM45 .VS. CLM50)与UNH-GRDC。
cd 'D:\数据\UNH-GRDC\World Runoff Data\runoff_grd\'
%1)读 .grd 文件
clc; clear; close all
flistobs = dir('D:\数据\UNH-GRDC\World Runoff Data\runoff_grd\*.grd');

%2)计算多年平均值
delimiterIn = ' ';
headerlinesIn = 6;
temp = importdata(flistobs(1).name,delimiterIn,headerlinesIn)  % 注意文件在文件夹中的序号
temp.data(temp.data == -9999) = nan;
cmprof_yr = flip(temp.data);

%3)读经纬度坐标
fpath = 'D:\Models_Output\Clm45Sp\lnd\hist\';
flistsim = dir([fpath,'*.nc']);
fname = flistsim(1).name;
xx = ncread([fpath,fname],'lon');
yy = ncread([fpath,fname],'lat');
for m = 1:length(xx)
    if  xx(m) >= 180
        xx(m) = xx(m) - 360;
    else
        continue
    end
end
xx = [xx(145:end);xx(1:144)];  % 将经度后半段(>=180)拼接到前面
[lonsim,latsim] = meshgrid(xx,yy);

%4)空间插值(最邻近插值法)
x = -180:0.5:179.5;
y = -55.5:0.5:82.5;
[lonobs,latobs] = meshgrid(x,y);
upcmprof_yrly = griddata(lonobs(:),latobs(:),cmprof_yr(:),lonsim,latsim,'nearest');

% (5)导入 clm45 模拟值
load('D:\数据\UNH-GRDC\World Runoff Data\runoff_grd\simres_clm45.mat')

%6)确定全局情况下两者共同交集网格(利用Nan 与 非Nan 的计算结果为 Nan 确定交集区域)
commask = upcmprof_yrly - rofsim_yrly;   % comaree中非nan的网格就是两者共有网格
commask(~isnan(commask)) = 1;
upcmprof_yrly = upcmprof_yrly.*commask;
rofsim_yrly = rofsim_yrly.*commask;

%7)确定三个纬度带的14个典型分区
% Alaska(59-72N,170-140W)              Northwest_Canada(55-66.5N,125-100W)
% Eastern_Canada(50-60N,80-55W)        Western_Siberia(55-66.5N,60-90E)
% Eastern_Siberia(50-66.5N,90-140E)    Western_US(30-50N,130-105W)
% Central_US(30-50N,105-90W)           Eastern_US(30-50N,90-70W)
% Europe(45-60N,10W-30E)               Amazonia(10S-0,70-50W)
% Central_Africa(5S-5N,10-30E)         Brazil(23.5-10S,65-30W)
% Sahel(6-16N,5W-15E)                  India(10-23.5N,70-90E)
reginal_name = ...
{
   ['Alaska(59-72N,170-140W)'] ['Northwest_Canada(55-66.5N,125-100W)']...
 ['Eastern_Canada(50-60N,80-55W)'] ['Western_Siberia(55-66.5N,60-90E)']...
 ['Eastern_Siberia(50-66.5N,90-140E)'] ['Western_US(30-50N,130-105W)']...
 ['Central_US(30-50N,105-90W)']  ['Eastern_US(30-50N,90-70W)']...
 ['Europe(45-60N,10W-30E)']  ['Amazonia(10S-0,70-50W)']...
 ['Central_Africa(5S-5N,10-30E)']  ['Brazil(23.5-10S,65-30W)']...
 ['Sahel(6-16N,5W-15E)'] ['India(10-23.5N,70-90E)']};
dlon = 1.25;
dlat = 0.9375;

%8)划定各个区域范围
Alaska_lat = [floor((59+90)/dlat):ceil((72+90)/dlat)];
Alaska_lon = [floor((180-170)/dlon):ceil((180-140)/dlon)];

Northwest_Canada_lat = [floor((55+90)/dlat):ceil((66.5+90)/dlat)];
Northwest_Canada_lon = [floor((180-125)/dlon):ceil((180-100)/dlon)];

Eastern_Canada_lat = [floor((50+90)/dlat):ceil((60+90)/dlat
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大雨海深

感谢您的支持和鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值