python netCDF4

NetCDF简介

NetCDF 即 network Common Data Form(网络通用数据格式),是一种面向数组型并适于网络共享的数据的描述和编码标准。文件的后缀是 .nc。nc 在气象领域应用很广,因为它可以存储不同波段的长时间观测结果。

NetCDF 文件中的数据以数组形式存储。例如,某个位置处随时间变化的温度以一维数组的形式存储。某个区域内在指定时间的温度以二维数组的形式存储。来源:【知乎Assimov】。

netCDF4 是一个专门处理 nc数据的 python库。

netCDF4 安装

在安装 netCDF4 之前,需要先安装 numpy 和 cftime,不然大概率会报错。numpy 版本必须大于1.9cftime的版本最好与netCDF4一致,比如我安装了cftime 1.5.2 和 netCDF4 1.5.8。

netCDF4 使用

# nc_path : nc文件路径。示例为2003-2021年OBS4MIPS全球甲烷数据。
nc_path = "200301_202112-C3S-L3_GHG-GHG_PRODUCTS-MERGED-MERGED-OBS4MIPS-MERGED-v4.4.nc"
ds = Dataset(nc_path)
print(ds)"""
输出信息:
<class 'netCDF4._netCDF4.Dataset'>
root group (NETCDF3_CLASSIC data model, file format NETCDF3):activity_id: obs4MIPscomment: Since long time, climate modellers use ensemble approaches to calculate the
ensemble median and to estimate uncertainties of climate projections where
no ground-truth is known. Following this idea, the ensemble median
algorithm EMMA composes level 2 data of independently developed retrieval
algorithms. EMMA determines in 10x10 degree grid boxes monthly averages and
selects level 2 data of the median algorithm.contact: Maximilian Reuter (maximilian.reuter@iup.physik.uni-bremen.de)Conventions: CF-1.7 ODS-2.1creation_date: 2022-07-13T12:28:13Zdata_specs_version: 2.1.0frequency: monfurther_info_url: https://climate.copernicus.eugrid: L2 data gridded by arithmetic averaginggrid_label: gninstitution: Institute of Environmental Physics, University of Bremeninstitute_id: IUPlicense: GHG-CCI Licence: 
As condition of using this product, you agree
... to inform us prior to any publication where the data products are planned to be used. Please do this by sending us the
manuscript for review before submission for publication to ensure that our data are accurately represented.
... to offer us co-authorship for any planned peer-reviewed publication based on our data products. (For non peer-reviewed
publications it is sufficient if you add an appropriate acknowledgement.) In these instances, please contact the project management
(Michael Buchwitz (michael.buchwitz@iup.physik.uni-bremen.de) or Maximilian Reuter (maximilian.reuter@iup.physik.uni-bremen.de))
who will then forward the information to the respective retrieval teams.nominal_resolution: 5.00x5.00 degreeproduct: observationsrealm: atmosreferences: M. Reuter, H. Bösch, H. Bovensmann, A. Bril, M. Buchwitz, A. Butz,
J. P. Burrows, C. W. ODell, S. Guerlet, O. Hasekamp, J. Heymann, N. Kikuchi,
S. Oshchepkov, R. Parker, S. Pfeifer, O. Schneising, T. Yokota, and
Y. Yoshida: A joint effort to deliver satellite retrieved atmospheric CH4
concentrations for surface flux inversions: the ensemble median algorithm
EMMA. Atmospheric Chemistry and Physics, 13, 1771-1780, 2013region: globalsource: C3S XCH4 v4.4 (2022)source_id: C3S-XCH4-v4-4source_label: C3S-XCH4source_type: satellite_retrievalsource_version_number: v4.4title: C3S XCH4 v4.4tracking_id: 2dbf9794-a7c5-45ea-be6c-ea140fe809ecvariable_id: xch4variant_info: Best Estimatevariant_label: BEdimensions(sizes): time(228), bnds(2), lat(36), lon(72), pressure(10)variables(dimensions): float64 time(time), float64 time_bnds(time, bnds), float64 lat(lat), float64 lat_bnds(lat, bnds), float64 lon(lon), float64 lon_bnds(lon, bnds), float64 pre(pressure), float64 pre_bnds(pressure, bnds), float64 land_fraction(lat, lon), float32 xch4(time, lat, lon), int32 xch4_nobs(time, lat, lon), float32 xch4_stderr(time, lat, lon), float32 xch4_stddev(time, lat, lon), float32 column_averaging_kernel(time, pressure, lat, lon), float32 vmr_profile_ch4_apriori(time, pressure, lat, lon)groups: Process finished with exit code 0
"""variable_names = ds.variables.keys()  # 变量名,类似于该数据的属性
print(len(variable_names), variable_names)"""
输出信息:
15 dict_keys(['time', 'time_bnds', 'lat', 'lat_bnds', 'lon', 'lon_bnds', 'pre', 'pre_bnds', 'land_fraction', 'xch4', 'xch4_nobs', 'xch4_stderr', 'xch4_stddev', 'column_averaging_kernel', 'vmr_profile_ch4_apriori'])Process finished with exit code 0
"""print(ds.variables['time'])
"""
<class 'netCDF4._netCDF4.Variable'>
float64 time(time)standard_name: timelong_name: timeunits: days since 1990-01-01calendar: standardaxis: Tcomment: time center
unlimited dimensions: 
current shape = (228,)
filling on, default _FillValue of 9.969209968386869e+36 used
"""print(ds.variables['time'][0])
"""
4763.5  # 意思是从1990-01-01开始加上4763.5天
"""time = nc.num2date(ds.variables['time'][:], 'days since 1990-01-01').data  # 转换成时间戳
print(time[0])
"""
2003-01-16 12:00:00
"""

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/343938.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STL——stack容器和queue容器详解

目录 &#x1f4a1;stack &#x1f4a1;基本概念 常用接口 &#x1f4a1;queue &#x1f4a1;基本概念 &#x1f4a1;常用接口 &#x1f4a1;stack &#x1f4a1;基本概念 栈&#xff08;stack&#xff09;&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端…

superset未授权访问漏洞(CVE-2023-27524)复现

Superset是一个开源的数据探索和可视化平台。它由Apache软件基金会支持&#xff0c;旨在帮助用户通过直观的方式探索、分析和可视化复杂的数据集。Superset支持多种数据源&#xff0c;包括关系型数据库、NoSQL数据库和各种其他数据存储系统。Apache Superset 2.0.1 版本及之前版…

软件测试当中的测试用例模板

测试用例这块知识、经验&#xff0c;小酋在前面陆续都讲完了。这章提供几种用例模板&#xff0c;作为这块知识的收尾。 - 1 - 测试用例&#xff08;主指功能测试用例模板&#xff09;的内容通常包括测试目标&#xff08;目的&#xff09;&#xff0c;需求标示&#xff08;一般…

ModuleNotFoundError: No module named ‘simple_knn‘

【报错】使用 AutoDL 复现 GaussianEditor 时引用 3D Gaussian Splatting 调用simple_knn 时遇到 ModuleNotFoundError: No module named ‘simple_knn‘ 报错&#xff1a; 【原因】 一开始以为是版本问题&#xff0c;于是将所有可能的版本都尝试了 (from versions: 0.1, 0.2…

【算法笔记】状态压缩dp(noip)

在acwing学习算法的一点思考和总结 状态压缩dp可以用来解决两种问题&#xff1a;一种是棋盘式的&#xff0c;也就是表示一行有2^N种摆法&#xff0c;另一种是表示一类集合 状压——棋盘式 思路&#xff1a;可以类比一下蒙德里安的梦想的解题过程&#xff0c;每一行的状态都只会…

Java面试题(java高级面试题)

线程池的核心线程数设置为多大比较合理&#xff1f; Worker线程在执行的过程中&#xff0c;有一部计算时间需要占用CPU&#xff0c;另一部分等待时间不需要占用CPU&#xff0c;通过量化分析&#xff0c;例如打日志进行统计&#xff0c;可以统计出整个Worker线程执行过程中这两…

记一次生产事故排查

背景&#xff1a;刚接手一个新工程&#xff0c;是一个给国内top级医院开发的老项目&#xff0c;因为历史原因&#xff0c;代码质量略低&#xff0c;测试难度略高。 上线很久的功能&#xff0c;最近一直频繁的爆发各种问题&#xff0c;经排查发现都是因为在业务过程中im聊天账号…

AOT-GAN-for-Inpainting项目解读|使用AOT-GAN进行图像修复

项目地址&#xff1a; https://github.com/researchmm/AOT-GAN-for-Inpainting 基于pytorch实现 论文地址&#xff1a; https://arxiv.org/abs/2104.01431 开源时间&#xff1a; 2021年 项目简介&#xff1a; AOT-GAN-for-Inpainting是一个开源的图像修复项目&#xff0c;其对 …

计算机毕业设计----Springboot超市订单管理系统

项目介绍 该超市订单管理毕业设计基于jdk8版本开发&#xff0c;在部署时需要使用jdk8以上的版本。使用了目前流行的框架组合springbootmybatis的框架技术&#xff0c; 实现了供应商管理对供应商实现增删改查、订单管理对超市订单实现增删改查、用户管理等功能&#xff0c;适用…

二十三、关于vite项目中无法使用minio的解决方案

问题背景 项目需要上传大文件,既然是大文件,如果一次性进行读取发送、接收都是不可取的,很容易导致内存问题。所以对于大文件上传,就一定要实现切片上传、断点续传。如果自己实现相对比较麻烦,但好消息是我们的文件服务使用了开源的minio作为对象存储服务,并且minio也提…

如何使用CentOS系统中的Apache服务器提供静态HTTP服务

在CentOS系统中&#xff0c;Apache服务器是一个常用的Web服务器软件&#xff0c;它可以高效地提供静态HTTP服务。以下是在CentOS中使用Apache提供静态HTTP服务的步骤&#xff1a; 1. 安装Apache服务器 首先&#xff0c;您需要确保已安装Apache服务器。可以使用以下命令安装Ap…

Linux第29步_虚拟机连接(与主机断开连接)U盘选项为灰色解决方法

在WIN11中&#xff0c;虚拟机“连接(与主机断开连接)U盘”选项为灰色&#xff0c;解决方法如下&#xff1a; 1、关闭虚拟机电源&#xff0c;得到下面的界面&#xff1a; 2、根据上述提示&#xff0c;找到虚拟机所在磁盘 3、配置文件属性见下图&#xff1a; 4、使用记事本打开…