NetCDF 格式化数据概述

前言

  马上要开始新的项目了。气象局方面要求处理的数据是 NetCDF 格式的,这是一种封装好了的数据结构,需要连接一些库,调用特定的 API 进行操作。

  可这方面我知之甚少,遂利用周日上午的时间学习这种数据结构的存取方法,为后续的项目研发打基础。

NetCDF 概述

  NetCDF全称是 Network Common Data Format,即网络通用数据格式。这种数据格式的文件在气象领域被非常普遍的用到,现在也推广到了很多其他的领域。

  从数学关系上看,NetCDF 数据结构中存储的数据具有多对一的函数关系,"多"是指维,"一"是指变量值。 

  很显然,这种数据结构的最大特点就是能够方便地使用多维矩阵。

NetCDF 文件的内容

  1. 变量(Variables)

    就是物理数据。比如要存储一个台风风场,那么"东经x度 北维y度 风速z米/秒"就是一个变量。

    需要注意的是,这个变量是广义的变量,它还包含了自变量x和y,从数学函数的角度来说,在这里一个变量的本质其实是一条具体的函数对应关系。

    提到变量一词的时候,有时亦指所有变量的集合。

  2. 维(dimension)

    一个维对应着变量中自变量的取值范围,也就是 1 中所说的经纬度的范围。

  3. 属性(Attribute)

    变量和维在 NetCDF 中只是无量纲的数字,因此必须采用某种方式来让人们明白这些数字的含义,属性在这里就派上用场了。

    如果你已经定义了一个名为temperature的变量,那么下面这行代码:

    temperature:units = "celsius"

    的含义是temperature变量的物理单位是celsius。

    另外,除了物理单位,一个变量还有很多属性可以进行设置,因此能够全面的存储数据。

  下面以代码的形式描述 NetCDF 格式数据 :

1 NetCDF name{
2     Dimensions:… //定义维数
3     Variables:…  //定义变量
4     Attributes:… //属性
5     Data:…    //数据
6 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。