MERRA數(shù)據(jù)預處理

需求

對全球MERRA數(shù)據(jù)進行預處理為自己需要的

代碼

%% 先處理一個MERRA數(shù)據(jù)
% 原文件為一個月一個的nc格式數(shù)據(jù)
% 結(jié)果:提取出溫度變量Ta和露點溫度Td為一個元胞,一個月的數(shù)據(jù)為一個矩陣

% 查看nc文件的變量信息
info = ncinfo('D:\vpd\MERRA\MERRA2_100.statM_2d_slv_Nx.198001.nc4.nc');
% 看一下經(jīng)緯度排列
lon = ncread('MERRA2_100.statM_2d_slv_Nx.198001.nc4.nc','lon');
lat = ncread('MERRA2_100.statM_2d_slv_Nx.198001.nc4.nc','lat');

% 根據(jù)確定的變量名稱等信息,提取數(shù)據(jù) 
Ta = ncread('MERRA2_100.statM_2d_slv_Nx.198001.nc4.nc','T2MMEAN');
Ta = Ta - 273.15;   %溫度K轉(zhuǎn)為°C
Taa = rot90(Ta);    %逆時針旋轉(zhuǎn)90°

% 顯示一月的圖,看是否正確(地圖是否有旋轉(zhuǎn)/翻轉(zhuǎn)現(xiàn)象)
Taa = rot90(Ta);
imshow(Taa,[]);
    
%% 處理多年MERRA_nc數(shù)據(jù),將以上代碼編寫成函數(shù)MERRA_Ta_nc
% 先創(chuàng)建空元胞
MERRA_Ta1980_2018 = {};

% 輸入MERRA數(shù)據(jù)地址,讀取文件夾下所有nc文件,一個文件代表一個月的數(shù)據(jù)
merra = dir('D:\vpd\MERRA\*.nc');

% 用編寫好的MERRA_Ta_nc函數(shù)批量處理,將1980-2018共468個月數(shù)據(jù)從左往右排為一行儲存在元胞
for i=1:size(merra,1)                                   %計算文件個數(shù)
    dz = strcat(merra(i).folder,'\',merra(i).name);     %數(shù)據(jù)的每個文件地址+文件名
    MERRA_Ta1980_2018{i} = MERRA_Ta_nc(dz);             %利用MERRA_Ta_nc函數(shù)提取溫度數(shù)據(jù)
end

% 保存數(shù)據(jù)
save MERRA_Ta1980_2018.mat MERRA_Ta1980_2018

%% 提取露點溫度Td數(shù)據(jù)同上,改下變量名即可
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容