长波辐射和短波辐射相加代码,需要统一格式、行列号、栅格大小、命名格式
% 修改为你的文件夹路径
folderPathDSWRF = 'J:\third\co2dlwrf\0.25\c\s';
folderPathDLWRF = 'J:\third\co2dlwrf\0.25\c\l';
outputFolderPath = 'J:\third\co2dlwrf\wrf';
% 定义年份范围
startYear = 1982;
endYear = 2018;
years = startYear:endYear;
% 初始化一个结构数组来存储每年的合成结果
annualSumWRF = struct();
% 循环遍历每一年
for year = years
% 构造文件名
fileNameDSWRF = sprintf('yearmean_%d.tif', year);
fileNameDLWRF = sprintf('yearmean_%d.tif', year);
filePathDSWRF = fullfile(folderPathDSWRF, fileNameDSWRF);
filePathDLWRF = fullfile(folderPathDLWRF, fileNameDLWRF);
% 检查文件是否存在
if isfile(filePathDSWRF) && isfile(filePathDLWRF)
% 读取栅格数据
dswrfData = imread(filePathDSWRF);
dlwrfData = imread(filePathDLWRF);
% 获取地理信息
if year == startYear
[~, R] = geotiffread(filePathDSWRF);
end
% 对应像元相加
sumWRF = dswrfData + dlwrfData;
% 将每年的合成结果存储在结构数组中
annualSumWRF(year - startYear + 1).year = year;
annualSumWRF(year - startYear + 1).sumWRF = sumWRF;
% 保存每年的合成结果为新的tif文件
outputFileName = sprintf('yearsum_%d_wrf.tif', year);
outputFilePath = fullfile(outputFolderPath, outputFileName);
geotiffwrite(outputFilePath, sumWRF, R);
fprintf('Year %d processed and saved to %s\n', year, outputFilePath);
else
fprintf('Files for year %d do not exist.\n', year);
end
end