如何用Matlab和Python读取Netcdf文件

作者:梵蒂冈宝石 时间:2023-03-19 11:19:30 

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打开之后的基本界面,上方为命令功能区,右侧为命令行输入栏,左上角为当前路径中文件夹详情,左下角为软件工作区。

如何用Matlab和Python读取Netcdf文件

读取nc文件的命令

%% 显示结构 
% ncdisp(ncFilePath);%显示nc文件的所有结构,以便大概了解里面的内容 
% ncdisp(ncFilePath,'evap');%显示指定变量的内容,注意一定要是变量variables才可以 
% ncdisp(ncFilePath,'/','min');%简单显示结构以及定义 
% ncdisp(ncFilePath,'/','full');%全部显示所有结构和定义信息 

如何用Matlab和Python读取Netcdf文件

然后调用ncread读取变量值:


vardata = ncread(source,varname)

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

(1)start

varname所指定变量的每一维的开始读取的位置

(2)count

从start指定的开始位置算起,一共读取的每一维要素的数目

(3)stride

从start开始,每一维读取的数目为count时,每一维的读取的步长

如何用Matlab和Python读取Netcdf文件

更新:用python读取.nc文件

安装netCDF4库

如何用Matlab和Python读取Netcdf文件

导入nc库,用Dataset函数读取文件信息

如何用Matlab和Python读取Netcdf文件

f.variables.keys()读取所有变量名称

f.variables.items()读取所有变量信息

如何用Matlab和Python读取Netcdf文件

读取单个变量的值

如何用Matlab和Python读取Netcdf文件

来源:https://www.cnblogs.com/lemon-567/p/14333930.html

标签:Matlab,Netcdf文件,python
0
投稿

猜你喜欢

  • asp+XMLHTTP的国际域名查询系统(whois)源代码

    2008-02-16 09:23:00
  • 大家一起来折磨浏览器吧!(好玩的东东)

    2010-02-07 12:40:00
  • PHP开发技巧之PHAR反序列化详解

    2023-11-15 02:23:45
  • Access数据库操作中出现的怪现象

    2008-04-24 14:22:00
  • PHP中使用FFMPEG获取视频缩略图和视频总时长实例

    2023-11-16 18:57:46
  • Sql Server 无日志文件附加

    2010-05-30 11:23:00
  • python感知机实现代码

    2022-03-12 14:59:50
  • 你喜欢篮球吗?Python实现篮球游戏

    2023-10-26 00:28:36
  • Oracle DBA常用语句第1/2页

    2009-08-08 22:38:00
  • 什么样的图标更具有可用性

    2007-10-16 17:47:00
  • python Matplotlib基础--如何添加文本和标注

    2022-09-17 15:51:05
  • python3.3使用tkinter开发猜数字游戏示例

    2023-09-05 06:53:02
  • .NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法

    2023-06-30 11:34:10
  • 怎样管理好css样式

    2008-10-12 12:12:00
  • asp清理站点缓存代码

    2008-07-21 12:37:00
  • Django自定义模板过滤器和标签的实现方法

    2023-08-12 12:24:51
  • 浏览器中的内存泄露

    2008-05-03 16:53:00
  • SQL Server 2005日志文件损坏的处理方法

    2008-12-02 14:36:00
  • Python Tkinter实例——模拟掷骰子

    2022-09-17 09:51:07
  • WEB页面工具语言XML支持的工具之运用

    2008-05-29 10:55:00
  • asp之家 网络编程 m.aspxhome.com