一、nc(NetCDF)文件

1.1、nc文件简介

nc文件的全称是NetCDF(network Common Data Form)网络通用数据格式,是一种面向数组型并适于网络共享的数据的描述和编码标准。NetCDF广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。

1.2、nc文件的数据结构

NetCDF数据集(文件名后缀为.nc) 的格式不是固定的。一个NetCDF数据集包含维(dimensions)、变量(variables)和属性(attributes) 三种描述类型。一个NetCDF文件的结构包括以下对象:
NetCDF name{
Dimensions:… //定义维数
Variables:… //定义变量
Attributes:… //属性
Data:…//数据
}

二、nc文件预览

2.1、使用Panoply查看数据

  • Panoply是一种数据查看器,可以快速生成NetCDF、HDF、GRIB格式地理数据。
  • 具体安装和使用方式请移步到另一个博主的文章【安装并使用Panoply (netCDF, HDF and GRIB Data Viewer)】,链接如下https://blog.csdn.net/ch206265/article/details/103516883
  • 导入数据后:在这里插入图片描述
  • 选择变量绘图在这里插入图片描述

在这里插入图片描述

2.2、 查看 nc文件的内容(ncdisp)

  • 在命令行窗口中以文本形式显示指定的 netCDF 数据源中的所有组、维度、变量定义以及属性。
ncdisp('awi-201812.nc')  

在这里插入图片描述

  • 显示指定的变量或组的信息。
ncdisp('awi-201812.nc','snow_density')

在这里插入图片描述

2.3、获取nc文件的信息(ncinfo)

  • 获取 nc文件的文件架构。
finfo = ncinfo('awi-201812.nc')

在这里插入图片描述

  • 文件属性(文件的一些相关信息)
    在这里插入图片描述
  • 文件包含的变量
    在这里插入图片描述
  • 获取变量信息
vinfo = ncinfo('awi-201812.nc','snow_density')

在这里插入图片描述

三、读取nc文件(ncread)

  • 读取nc文件中指定变量中的所有数据。
vardata = ncread('awi-201812.nc','snow_density') 

在这里插入图片描述

  • 按照指定方式读取数据(注意先查看数据维度,以免超出维度)
% 例如'snow_density'的维度是432x432x1
% 1. 从 start 指定的位置开始读取数据。count 参数指定沿每个维度读取的元素数量。
start  = [214 124 1]; 
count  = [10 10 1]; 
Data1 = ncread('awi-201812.nc','snow_density',start,count);

在这里插入图片描述

% 以变量的每个维度的索引之间的 stride 指定的间隔返回数据。
% 如果未指定 count,则 ncread 函数将读取变量数据,直到每个维度的末尾。
start  = [214 124 1]; 
count  = [10 inf 1]; % Inf表示ncread 将一直读取,直到末尾。
stride = [2 20 1]; 
Data2 = ncread('awi-201812.nc','snow_density',start,count,stride);

在这里插入图片描述

四、总结

  • 拿到nc文件可以先用panoply等数据查看器或使用matlab中的ncdisp函数或者ncinfo函数查看文件的相关信息,如数据属性、维度等
  • 再使用ncread函数读取所需数据
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐