matlab 處理OMHCH2Od_V3資料
阿新 • • 發佈:2020-10-14
對下載一天某時刻的nc檔案進行簡單處理:
0 eathdata網站下載
外網下載,白天比較慢,建議掛指令碼下載
1 matlab處理程式
1 獲取存放路徑
dir
2 檢視nc裡面的結構資訊
ncinfo函式
或者HDFViewer工具都可
3 讀取nc檔案
ncread函式
讀取時,注意經緯度直接在values裡面,但所對應的值在Groups裡面
clc; clear; Path = 'C:\Users\16965\Desktop\ncde\'; % 設定路徑,記得加上最後的反斜槓 File = dir(fullfile(Path,'*.nc')); %%%dir 函式讀取.nc格式的檔名 'name' ,路徑‘folder’ 等資訊 Len = length(File); % 讀取檔案數量 % ncdisp('OMI-Aura_L3-OMHCHOd_2020m0901_v003-2020m0902t085552.nc') % ncdisp(full_path) for i = 1:Len full_path = strcat(Path,File(i).name); % 拼接路徑和檔名,並顯示 info = ncinfo(full_path); % 讀取nc檔案資訊,但不能從通過此方法得到具體資料 longitude = ncread(full_path,'longitude'); % 提取nc檔案中變數‘longitude’,當此變數在Variables裡面時 latitude = ncread(full_path,'latitude'); % 提取nc檔案中變數‘latitude’,當此變數在Variables裡面時 data = ncread(full_path,'/key_science_data/column_amount'); %此變數在Groups裡面時 ind_lon=find((longitude>=104)&(longitude<=114)); ind_lat=find((latitude>=20)&(latitude<=27)); longitude1=longitude(ind_lon); latitude1=latitude(ind_lat); data1=data(ind_lon,ind_lat)./10^15; %%%%%%%%units =10^15× molecules/cm^2 %%%%%%%% ind_dat=find(data1<=0); data1(ind_dat)=0; [x,y]=meshgrid(longitude1,latitude1); x=x'; y=y'; %%%%%%%%%%%%%%%%%%%%%%%%%輸出%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% data_out(:,1)=x(:); data_out(:,2)=y(:); data_out(:,3)=data1(:); num=num2str(i); dlmwrite(['ncde',num,'.txt'], data_out); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end