当前位置 博文首页 > 如何用Matlab和Python读取Netcdf文件

    如何用Matlab和Python读取Netcdf文件

    作者:梵蒂冈宝石 时间:2021-07-25 18:58

    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()读取所有变量信息

    读取单个变量的值

    jsjbwy
    下一篇:没有了