使用Matlab合成月尺度、年尺度数据

处理PML v2陆地蒸散发与总初级生产力数据集,由8天尺度合成月尺度、年尺度数据

处理代码

% By Yang,2020/5/9
% 所有数据全部解压放在一个文件夹下
%% 合成年尺度数据
for j = 1:18                                                               % 2002-2019,18年
         a   = num2str(2001+j);                                            % 数字转字符
         dz  = ['F:\Regional_Dataset\PMLV2_005deg\PMLV2_005deg\*',a,'*.tif'];
         pml_dz = dir(dz);
         gpp = zeros(3000,7200);                                   % 生成uint16的空矩阵
         Ec  = zeros(3000,7200);
         Es  = zeros(3000,7200);
         Ei  = zeros(3000,7200);
         Ew  = zeros(3000,7200);
        parfor i = 1:size(pml_dz,1)                                        % 计算文件个数
              pml_dz2  = strcat(pml_dz(i).folder,'\',pml_dz(i).name);      % 数据的每个文件地址+文件名   
              [pml, R] = geotiffread(pml_dz2);                             % 读取tif数据                        
              gpp      = gpp + double(pml(:,:,1));                                 % 总初级生产力累加
              Ec       = Ec + double(pml(:,:,2));                                  % 植被蒸腾累加
              Es       = Es + double(pml(:,:,3));                                  % 土壤蒸发累加
              Ei       = Ei + double(pml(:,:,4));                                  % 冠层截留蒸发累加
              Ew       = Ew + double(pml(:,:,5));                                  % 水体、积雪蒸发累加           
        end
              gpp(gpp==0)  = NaN;                                                    % 空值设为NaN
              Ec(Ec==0)      = NaN;
              Es(Es==0)      = NaN;
              Ei(Ei==0)       = NaN;
              Ew(Ew==0)      = NaN;
              PML_y{1,j}      = gpp*8*0.01;         % 真实值=像素值*scale_factor (scale_factor=0.01)
              PML_y{2,j}      = Ec*8*0.01;           % 每个数据对应的是这个8天里GPP和ET要素的平均
              PML_y{3,j}      = Es*8*0.01;
              PML_y{4,j}      = Ei*8*0.01;
              PML_y{5,j}      = Ew*8*0.01;  
end     
save PML_y.mat PML_y -v7.3   

数据网站

国家青藏高原科学数据中心

补充

月尺度合成比年尺度还稍微要麻烦一点,其实应该先计算月尺度的再合成年尺度的更为准确些。

你可能感兴趣的:(使用Matlab合成月尺度、年尺度数据)