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文件的资料请关注www.887551.com其它相关文章!