如何用Matlab和Python讀取Netcdf文件

NetCDF(網絡通用數據格式)文件後綴為.nc,文件中的數據結構包含維(dimensions)、變量(variables)和屬性(attributes)三種描述類型,每種類型都會被分配一個名字和一個ID。

從數學上來說,netcdf存儲的數據就是一個多自變量的單值函數。用公式來說就是f(x,y,z,…)=value,函數的自變量x,y,z等在netcdf中叫做維(dimension)或坐標軸(axis),函數值value在netcdf中叫做變量(Variables)。而自變量和函數值在物理學上的一些性質,比如計量單位(量綱)、物理學名稱等等在netcdf中就叫屬性(Attributes)。

NetCDF name{
Dimensions:… //定義維數
Variables:… //定義變量
Attributes:… //屬性
Data:…//數據
}

  讀取.nc文件可以用python的netCdf4模塊,也可以用ncbrowser,這裡我用的是Matlab。

MATLAB具有數值分析、數值和符號計算、工程與科學繪圖、控制系統的設計與仿真、數字圖像處理、數字信號處理、財務與金融工程等功能。

這是matlab打開之後的基本界面,上方為命令功能區,右側為命令行輸入欄,左上角為當前路徑中文件夾詳情,左下角為軟件工作區。

讀取nc文件的命令

%% 顯示結構 
% ncdisp(ncFilePath);%顯示nc文件的所有結構,以便大概瞭解裡面的內容 
% ncdisp(ncFilePath,’evap’);%顯示指定變量的內容,註意一定要是變量variables才可以 
% ncdisp(ncFilePath,’/’,’min’);%簡單顯示結構以及定義 
% ncdisp(ncFilePath,’/’,’full’);%全部顯示所有結構和定義信息 

然後調用ncread讀取變量值:

vardata = ncread(source,varname)

vardata = ncread(source,varname,start,count,stride)

(1)start

varname所指定變量的每一維的開始讀取的位置

(2)count

從start指定的開始位置算起,一共讀取的每一維要素的數目

(3)stride

從start開始,每一維讀取的數目為count時,每一維的讀取的步長

更新:用python讀取.nc文件

安裝netCDF4庫

導入nc庫,用Dataset函數讀取文件信息

f.variables.keys()讀取所有變量名稱

f.variables.items()讀取所有變量信息

讀取單個變量的值

以上就是如何用Matlab和Python讀取Netcdf文件的詳細內容,更多關於Matlab和Python讀取Netcdf文件的資料請關註WalkonNet其它相關文章!

推薦閱讀: