使用Python读取NetCDF格式数据
前言
NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”,它是由美国大学大气研究协会的Unidata项目科学家针对科学数据的特点开发的,是一种面向数组型并适于网络共享的数据描述和编码标准。
NetCDF和zip、jpeg、bmp文件格式类似,都是一种文件格式的标准。NetCDF文件开始时目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件生成文件的格式。利用NetCDF可以对网络数据进行高效地存储、管理、获取和分发等操作。由于其灵活性,能够传输海量的面向阵列(array-oriented)数据,目前广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。
结构形式包含维数、变量、属性和数据四个子域,从数学上来说,netcdf存储的数据就是一个多自变量的单值函数。用公式来说就是f(x,y,z,...)=value,函数的自变量x,y,z等在netcdf中叫做维(dimension)或坐标轴(axis),函数值value在netcdf中叫做变量(Variables)。而自变量和函数值在物理学上的一些性质,比如计量单位(量纲)、物理学名称等等在netcdf中就叫属性(Attributes)。
Python读取NetCDF文件可以选择安装NetCDF4或者xarray工具包,这一小节主要学习了解NetCDF4为主。
安装
NetCDF github地址: https://github.com/Unidata/netcdf4-python
NetCDF 指导文档:https://www.unidata.ucar.edu/software/netcdf/docs/index.html
使用pip工具进行安装
pip install netCDF4
Python读取示例
nc_path = "./air.sfc.1997.nc"
# 读入文件:使用netCDF4的Dataset方法即可读入文件,读入文件后直接输出即可查看文件的结构。
nc = Dataset(nc_path)
print(nc)
# 查看文件的变量:
print(nc.variables.keys())
for x in nc.variables.keys():
print(x)
# 查看某个变量的信息:
print(nc.variables['air'])
# 查看某个变量的属性:
print(nc.variables['air'].ncattrs())
# 读取数据值
data = nc.variables['air'][:]
print(data)
可视化工具
Panoply软件(不需安装,提前配置JAVA SE即可)
下载地址:https://www.giss.nasa.gov/tools/panoply/
数据下载
NECP/NCAR再分析数据库,ICOADS数据库,包括气温、降雨、湿度、下行辐射、上行辐射等; 分辨率0.06°、0.25°、1.0°、2.5°等。
原文地址:https://www.cnblogs.com/zlcbs/p/15228013.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android Activity生命周期和堆栈管理的详解
- Android学习之SharedPerference存储详解
- Android编程实现对话框Dialog背景透明功能示例
- Android开发中DatePicker日期与时间控件实例代码
- Android Shader应用开发之霓虹闪烁文字效果
- Android中ToggleButton开关状态按钮控件使用方法详解
- 零基础学小程序005---小程序登陆注册功能实现
- Android RecyclerView 复用错乱通用解法详解
- Android把Bitmap保存为PNG图像文件的简单代码
- 零基础学小程序006---小程序获取用户信息用户昵称
- Android webview 内存泄露的解决方法
- Android编程实现全局获取Context及使用Intent传递对象的方法详解
- Android App更改应用的图标的实现方法
- 零基础学小程序007---小程序获取用户openid
- Android编程中光线传感器的调用方法详解