如何用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文件 的全部内容, 来源链接: utcz.com/z/343921.html

回到顶部