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