python netCDF4

news2024/11/17 13:48:21

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: obs4MIPs
    comment: 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.1
    creation_date: 2022-07-13T12:28:13Z
    data_specs_version: 2.1.0
    frequency: mon
    further_info_url: https://climate.copernicus.eu
    grid: L2 data gridded by arithmetic averaging
    grid_label: gn
    institution: Institute of Environmental Physics, University of Bremen
    institute_id: IUP
    license: 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 degree
    product: observations
    realm: atmos
    references: 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, 2013
    region: global
    source: C3S XCH4 v4.4 (2022)
    source_id: C3S-XCH4-v4-4
    source_label: C3S-XCH4
    source_type: satellite_retrieval
    source_version_number: v4.4
    title: C3S XCH4 v4.4
    tracking_id: 2dbf9794-a7c5-45ea-be6c-ea140fe809ec
    variable_id: xch4
    variant_info: Best Estimate
    variant_label: BE
    dimensions(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: time
    long_name: time
    units: days since 1990-01-01
    calendar: standard
    axis: T
    comment: 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.coloradmin.cn/o/1377383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全志V853 NPU开发之工具安装

V853支持最高1T NPU算力&#xff0c;在进行NPU相关开发前&#xff0c;需要先配置NPU开发环境。 Linux系统准备 NPU开发环境依赖于Linux系统&#xff0c;需要先准备 Linux 开发环境。 经测试NPU 工具支持下列 Linux 发行版&#xff1a; Ubuntu 20.04 其他部分 Linux 发行版…

基于python的室内老人实时摔倒智能监测系统(康复训练检测+代码)

概述 导入所需的库&#xff0c;包括cv2、和numpy。 定义了一个用于计算角度的函数calculate_angle(a, b, c)&#xff0c;其中a、b和c是三个关键点的坐标。 初始化姿态检测和绘图工具。 打开并读取视频文件。 -摔倒检测&#xff08;fallen&#xff09; 循环遍历视频的每一帧…

用友BI方案是干嘛的?能起到什么作用?

用友BI是一套用于无缝对接用友系统&#xff0c;让BI从用友系统中直接取数、分析&#xff0c;完成对企业数据的全面剖析&#xff0c;并为决策提供必不可少的支持的标准化方案。 为什么会有用友BI方案&#xff1f; 因为用友ERP和BI&#xff08;商业智能&#xff09;系统虽然都是…

uniapp开发安卓应用微信开放平台创建应用如何获取签名

微信开放平台创建应用时需要应用的签名 比如我们开发了一个应用叫 “滴滴拉屎” 包名&#xff1a;uni.DIDILASHI #mermaid-svg-BUKbltDr30J93dUs {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-BUKbltDr30J93dUs .…

Elasticsearch 快速入门指南【总结记录】

本文将介绍一些基本概念&#xff0c;帮助您快速入门使用Elasticsearch。 一、概述 ES用来解决什么问题&#xff1f;Elasticsearch是解决海量数据&#xff08;已经存在的数据&#xff09;全文检索的不二只选。 Elasticsearch是一个基于Java语言开发&#xff0c;建立在开源搜索…

代码随想录算法训练营第三天 | 203.移除链表元素、707.设计链表、206.反转链表

代码随想录算法训练营第三天 | 203.移除链表元素、707.设计链表、206.反转链表 文章目录 代码随想录算法训练营第三天 | 203.移除链表元素、707.设计链表、206.反转链表1 链表理论基础1.1 链表的定义1.2 链表的类型1.3 链表的存储方式1.4 链表的操作性能分析1.5 链表和数组的区…

电脑上不安装Oracle,但是虚拟机装了Oracle,怎么连接到虚拟机里的Oracle数据库呢?

1、准备工作 1.1、确定数据库版本信息 注&#xff1a;如果知道数据库的版本信息&#xff0c;这个步骤可以跳过。 比较简单的方法&#xff0c;直接看数据库的安装位置&#xff0c;也就是数字&#xff08;但是这个方法确定就是&#xff0c;不好确定是多少位的数据库&#xff09;…

高性能mysql 第三版 读书笔记

MySQL中的tmp_table_size和max_heap_table_size|极客笔记 mysql占用内存过高调优方法_tmp_table_size过大阻塞-CSDN博客 查看mysql分配的内存 mysql查看内存利用状态_mob6454cc6d81c9的技术博客_51CTO博客 https://www.cnblogs.com/stronger-xsw/p/13632505.html

企业信息化规划该如何落地?以制造型企业为例

企业信息化规划如何落地&#xff1f; 规划做好了&#xff0c;蓝图也画好了&#xff0c;人手一块大饼也已经揣好了&#xff0c;那么该怎么落地呢&#xff0c;这才是最关键的。 我将企业信息化规划落地分为4个周期&#xff0c;以最典型的制造行业为例&#xff0c;以简道云这个企…

JRT界面打开器

开发BS界面时候有个问题&#xff0c;如果新做页面还没挂菜单&#xff0c;那么测试新页面有两个办法&#xff0c;一是把菜单挂上用&#xff0c;一是手输URL。而我在开发阶段两个事都不想干&#xff0c;那么怎么解决呢&#xff1f; 以前WebLoader启动时候会启动C#写的URL辅助器 …

仓储|仓库管理水墨屏RFID电子标签2.4G基站CK-RTLS0501G功能说明与安装方式

随着全球智能制造进度的推进以及物流智能化管理水平的升级&#xff0c;行业亟需一种既能实现RFID批量读取、又能替代纸质标签在循环作业、供应链管理以及实现动态条码标签显示的产品。在此种行业需求背景下&#xff0c;我是适时推出了基于墨水屏显示技术的VT系列可视化超高频标…

Invalid bound statement(只有调用IService接口这一层会报错的)

问题描述:controller直接调用实现类可以,但是一旦调用IService这个接口这一层就报错. 找遍了大家都说是xml没对应好,但是我确实都可以一路往下跳,真的对应好了.结果发现是 MapperScan写错了,如下才是对的. MapperScan的作用是不需要在mapper上一直写注解了,只要启动类上写好就放…

OpenCV-Python(32):SIFT算法

目标 学习SIFT 算法的概念学习在图像中查找SIFT关键点和描述符 原理及介绍 在前面两节我们学习了一些角点检测技术&#xff1a;比如Harris 等。它们具有旋转不变特性&#xff0c;即使图片发生了旋转&#xff0c;我们也能找到同样的角点。很明显即使图像发生旋转之后角点还是角…

基于SkyEye仿真6678处理器:实现国产操作系统ReWorks仿真运行

信号处理的数据量以及实时性的要求随着嵌入式技术的发展不断提高&#xff0c;众多厂商和研究所选择多核DSP处理器芯片去替代原有的单核DSP&#xff0c;并运行嵌入式操作系统来保证信号处理的实时性以及精确性。然而受到硬件资源或者项目实施周期限制&#xff0c;软件工程师调试…

JS实现网页轮播图

轮播图也称为焦点图&#xff0c;是网页中比较常见的网页特效。 1、页面基本结构&#xff1a; 大盒子focus&#xff0c;里面包含 左右按钮ul 包含很多个li &#xff08;每个li里面包含了图片&#xff09;下面有很多个小圆圈 因为我们想要点击按钮&#xff0c;轮播图左右播放&a…

“消费新纪元:从传统消费到消费增值的跨越!“

你是否已经厌倦了传统消费模式&#xff0c;感觉每一次购物只是让钱从左手流到右手&#xff1f;现在&#xff0c;一个新的消费模式正在兴起&#xff0c;它让你的消费变得更有价值&#xff01; 消费增值是一种创新的消费理念&#xff0c;它让你在享受优质商品和服务的同时&#x…

学生公寓里如何进行安全用电管理

安科瑞武陈燕acrelcy 学校肩负着教育、科研和社会服务的重任&#xff0c;是构成社会的重要社区&#xff0c;也是资源能源消费的大户&#xff0c;其中学生公寓电能的消耗占到了学校整体能源消耗的很大部分&#xff0c;根据国家建设节约型校园的要求&#xff0c;各高校对电能的管…

2023年全国职业院校技能大赛软件测试赛题—单元测试卷①

单元测试 一、任务要求 题目1&#xff1a;根据下列流程图编写程序实现相应分析处理并显示结果。返回文字“xa*a*b的值&#xff1a;”和x的值&#xff1b;返回文字“xa-b的值&#xff1a;”和x的值&#xff1b;返回文字“xab的值&#xff1a;”和x的值。其中变量a、b均须为整型…

Oracle 19c OCP 1z0 082考场真题解析第32题

考试科目&#xff1a;1Z0-083 考试题量&#xff1a;85 通过分数&#xff1a;57% 考试时间&#xff1a;150min本文为云贝教育郭一军&#xff08;微信&#xff1a;guoyJoe&#xff09;原创&#xff0c;请尊重知识产权&#xff0c;转发请注明出处&#xff0c;不接受任何抄袭、演绎…

在 Nvidia Docker 容器编译构建显存优化加速组件 xFormers

本篇文章&#xff0c;聊聊如何在新版本 PyTorch 和 CUDA 容器环境中完成 xFormers 的编译构建。 让你的模型应用能够跑的更快。 写在前面 xFormers 是 FaceBook Research &#xff08;Meta&#xff09;开源的使用率非常高的 Transformers 加速选型&#xff0c;当我们使用大模…