.•NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”;
•netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。
•从数学上来说,netcdf存储的数据就是一个多自变量的单值函数。用公式来说就是f(x,y,z,…)=value;
•函数的自变量x,y,z等在netcdf中叫做维(dimension) 或坐标轴(axix),
•函数值value在netcdf中叫做变量(Variables).
•自变量和函数值在物理学上的一些性质,在netcdf中就叫属性(Attributes).
一个Netcdf文件的结构包括以下对象:
•变量(Variables) :变量对应着真实的物理数据。
•维(dimension):一个维对应着函数中的某个自变量,或者说函数图象中的一个坐标轴,在线性代数中就是一个N维向量的一个分量。
•属性(Attribute) :属性对变量值和维的具体物理含义的注释或者说解释。
使用Python的netCDF4包
•读入文件:使用netCDF4的Dataset方法即可读入文件,读入文件后直接输出即可查看文件的结构。
dataset = nc.Dataset(‘20150101.nc’); print(dataset)
程序显示
•查看文件的变量:
print(dataset.variables.keys())
for x in dataset.variables.keys():
print(x)
程序显示
•查看某个变量的信息:
print(dataset.variables['water_temp'])
程序显示
•查看某个变量的属性:
print(dataset.variables['water_temp'].ncattrs())
程序显示
•读取数据值 dataarr = dataset.variables['water_temp'][:]
程序显示
from netCDF4 import Dataset
dataset = Dataset("20150101.nc")
print(dataset)
print('---------------------------------------')
#查看nc文件中的变量
print(dataset.variables.keys())
for x in dataset.variables.keys():
print(x)
print('---------------------------------------')
#查看每个变量的信息
print(dataset.variables['salinity'])
print(dataset.variables['time'])
print(dataset.variables['depth'])
print(dataset.variables['lat'])
print(dataset.variables['lon'])
print(dataset.variables['water_temp'])
print('---------------------------------------')
#查看每个变量的属性
print(dataset.variables['salinity'].ncattrs())
print(dataset.variables['depth'].ncattrs())
print(dataset.variables['water_temp'].ncattrs())
print(dataset.variables['salinity'].units)
print(dataset.variables['depth'].units)
print(dataset.variables['water_temp'].units)
print('---------------------------------------')
#读取数据值
datasal = dataset.variables['salinity'][:]
print(datasal)
print('---------------------------------------')
print(np.shape(datasal))