今天直接给大家介绍一下我最近常用的空间绘图神器-Xarray,之所以给大家推荐这个工具包,是因为我最近在空间可视化课程中免费新增的部分内容,其就是使用Xarray工具绘制的。先给大家看一下新增的可视化预览图:
封图:Photo by Eiliv-Sonas Aceron on Unsplash
首先,要快速熟悉一个陌生的nc格式数据,你可以使用Python中的xarray库。xarray是一个用于处理多维数组的强大工具,特别适用于处理带有标签的多维数据。它提供了一种直观的方式来组织、分析和可视化数据,尤其适用于气候科学和地球科学领域的数据处理。
meshgrid函数通常使用在数据的矢量化上。它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。示例展示:
xarray (之前的 xray) 是一个开源的python库。通过提供 pandas 的核心数据结构N维变形功能,从而将 pandas 的标签数据功能应用到物理科学领域。主要是想提供一个类似pandas并且能与pandas兼容的工具包来进行多维数组(而不是pandas 所擅长的表格数据)分析。采用的是地球科学领域广泛使用的自描述数据通用数据模型实现上述功能。
类似pandas对象,xarray也对象支持沿着每个维度基于整数和标签的查找。 但是xarray对象还具有命名维度,因此您可以选择使用维度名称代替维度的整数索引。
XGCM 是一个python包,用于处理由数值大气环流模型(GCMs)和类似网格数据集产生的数据集,这些数据集可以进行有限体积分析。在这些数据集中,不同的变量位于不同的位置,相对于一个体积或面元素(如单元中心,单元面等) XGCM 解决了如何插值和差异这些变量从一个位置到另一个问题。
想如今气象数据netCDF(.nc)为盛,用者甚多,初学者见之仰天长啸,倘若再由Python经手,netCDF4-python,Iris,xarray,UV-CDAT选择众多,劳心伤神事小,逼出选择困难症事大。多番比对,选用xarray,解查安抚,化繁为简,最为称心。
近几年,python在气象领域的发展也越来越快,同时出现了很多用于处理气象数据的python包。比如和NCL中的 WRF_ARWUser库类似的 wrf-python模块。
提要中提到的这几种图形都是在气象上比较常用的,地形剖面主要研究地貌对降雨、气流的影响作用;纬度高度剖面图可以用来分析降雨的某些条件,如湿层深厚、上干下湿、风向风速等;时间纬度图研究某个固定经度上的值随时间的演变(这是和大气环流一般自西向东相匹配的,所以时间经度图比较少见)。
Python作为最流行的编程语言之一,持续引领技术产业的发展,孕育了不断扩大的强大包生态系统。2023年,Python包在多样化的领域中展现出了引人注目的增长,反映了技术行业中不断变化的需求和创新。本文探讨了今年增长最快的Python包——它们不仅经历了飞速的增长,也显著推动了各个领域的进步。
对于xarray之前已经介绍过两期了,分别是数据结构及数据读取和数据索引。 这一期要介绍的功能是插值与掩膜。 这两个方法在数据处理中会经常用到,实用等级☆☆☆☆☆。
坐标是存储在 DataArray 和 Dataset 的 coords 属性中的辅助变量。
在这里,我们回顾几个基本的数组概念,展示一个简单而强大的用于分析科学数据的编程范例。
本来是作为一部分内容的,但是推送有字数限制。因此拆分为三个部分,每部分都是单独的内容,基本不影响阅读。
数组编程为访问、操纵和操作向量、矩阵和高维数组数据提供了功能强大、紧凑且易于表达的语法。NumPy是Python语言的主要数组编程库。它在物理、化学、天文学、地球科学、生物学、心理学、材料科学、工程学,金融和经济学等领域的研究分析流程中起着至关重要的作用。例如,在天文学中,NumPy是用于发现引力波[1]和首次对黑洞成像[2]的软件栈的重要组成部分。本文对如何从一些基本的数组概念出发得到一种简单而强大的编程范式,以组织、探索和分析科学数据。NumPy是构建Python科学计算生态系统的基础。它是如此普遍,甚至在针对具有特殊需求对象的几个项目已经开发了自己的类似NumPy的接口和数组对象。由于其在生态系统中的中心地位,NumPy越来越多地充当此类数组计算库之间的互操作层,并且与其应用程序编程接口(API)一起,提供了灵活的框架来支持未来十年的科学计算和工业分析。
xgrads的主要功能是解析Grads文件为xarray对象,可以更好的利用xarray的高维数据分析和可视化功能,加速气象相关的数据处理、分析和可视化。以下是对此库的具体介绍。
xarray.Dataset 是和 DataFrame 相同的多维数组。这是一个维度对齐的标签数组(DataArray)的类字典容器。它用来展示NetCDF文件格式的数据。
距离上次xarray的更新已经过去两个多星期了...,关于xarray插值方法的介绍官方文档已经给的比较详细了,也有公众号推送过相关文章 xarray指南:插值 基于xarray的气象场站点和格点插值,所以xarray的插值部分就不单独说了。
很多时候我们需要拿模拟数据和站点图作对比,那就需要把模拟数据插值到站点 今天来尝试两种WRF数据插值到站点的方法并使用meteva进行简单绘图 方法一:xesmf库重插值后使用meteva进行双线性插值到站点 方法二:proj+scipy重插值后使用meteva进行最临近插值到站点
拖了很长时间的技巧总结,再不写的话我可能也要忘了。趁着这几天在处理数据,赶紧补上,全文共近2500字。
我们经常需要对大量的模型输出数据进行处理和分析。在气象学中,WRF(Weather Research and Forecasting Model)是一个常用的数值天气预报模型,它可以提供丰富的气象变量数据来帮助我们理解和预测天气现象。 为了更好地处理WRF模型输出数据(当然因为wrfout文件太大了!),我们经常需要批量提取其中的变量,并将提取的数据保存为NetCDF格式(.nc文件),这样可以方便我们后续的分析和可视化操作。
这部分包含的时 wrf-python 模块中的API,如果wrf-python提供的函数不能满足你的需求,你也可以根据已有的API重新编写一个处理函数或是其它的诊断函数。当然,大多数时候我们仅需要wrf-python已经提供的诊断函数和其它可调用函数,可能都不会使用到这些API。
在进行机载LiDAR点云数据组织时,涉及到二维元胞数组的构建。二维元胞数据组织,即将点云在XOY平面上进行规则格网划分,每个格网内存储相应的点云数据,便于后续数据处理操作,如查找近邻点操作、数学形态学滤波,均涉及到点云格网化。在这里,主要介绍使用一种vector的二级指针编写数据组织函数。
xarray 通过对plt.plot()的包装实现对线图的绘制。如前面所述,axes可以用变量进行标记,从而可以传递给底层matlibplot调用。
首先我们先导入所需的数据,本次使用的是经扩展重构的海表面温度 v5 数据集(Extended Reconstructed Sea Surface Temperature, abbr. ERSST)。这个数据集可追溯到 1854 年的海表面温度,并被广泛使用。
在气象与气候研究领域,WRF(Weather Research and Forecasting)模型生成的数据集因其高分辨率和丰富的气象变量而被广泛应用于科研与业务预报中。然而,面对这些庞大数据集时,高效且优雅地进行数据索引与提取往往成为数据分析流程中的关键一环。这不仅关乎研究效率,更直接影响到我们对气象现象理解的深度与广度。
今天只是分享一些python库,涉及到地理数据分析,数据可视化和数据处理三个方面。
xarray 中的DataArray 和 Dataset 对象除了上节介绍过的直接手动创建之外,更多的情况下却是通过其他数据储存结构转换和存储在硬盘中的数据存储文件读取而来。
数据准备是机器学习的基础,俗话说巧妇难为无米之炊,没有数据的机器学习就是耍流氓。
理解了二维的 Value 噪声,我们就可以进一步来看 二维的 Perlin 噪声了.
numpy是Python中进行矩阵运算的常用库,我们的Opencv先学这么多,我们来补充一点别的知识.
在东经126,北纬9的附近的小黑点就是最大值所在,格点数据放大看确实有点奇形怪状 还有对应的argmin,用法差不多就不多介绍了
平时用 xarray 库在处理 nc 格式的数据非常方便,但偶尔还是要用到一些站点数据来辅助分析,而站点数据一般都是用文本文件存储的,比如下图这种格式,从外到内的坐标依次是:年、月、站点、日
前段时间有读者来信问再分析数据的气象要素廓线怎么绘制,近期小编可以腾出手做个简单示例
最近,一些气象公众号讨论了气象领域的云计算和数据平台的问题,具体可以参考 美国气象行业如何应用云计算?气象业务该不该在线?
在sql中如何计算基尼系数,可以查看我的另一篇文章。两篇文章取数相同,可以结合去看。
Plotly Express 是一个新的高级 Python 可视化库:它是 Plotly.py 的高级封装,它为复杂的图表提供了一个简单的语法。
cfgrib 是 ECMWF 开发的 GRIB Python 接口,支持 Unidata’s Common Data Model v4,符合 CF Conventions。高层 API 接口为 xarray 提供 GRIB 解码引擎。底层访问和解码由 ECMWF 的 ecCodes 库实现。
气象雷达是专门用于大气探测的雷达。它是一种主动式微波大气遥感设备。 气象雷达是气象观测的重要设备,特别是在突发性、灾害性的监测、预报和警报中具有极为重要的作用,是用于小尺度天气系统(如台风和暴雨云系)的主要探测工具之一。 在国内,我们最常见到和使用的气象雷达,是新一代多普勒天气雷达(CINRAD)。我们在气象局之类建筑楼顶上见到的那些球形建筑,大都属于这一种雷达。这种雷达可以探测反射率因子、多普勒径向速度、谱宽等基本气象要素,从而为短临尺度上的天气预报和预警提供数据支撑。特别是雷达反射率数据,因为其与强对流天气系统直接相关,最常被大家使用。 雷达数据在日常业务科研中的应用非常多,比如雷达数据可以用于数值模式同化中,为数值模式提供一个更加准确的初始场;基于雷达反射率数据的雷达短临预报系统可以预报未来2小时内,雷达探测范围内的强对流天气。例如,眼控科技自主研发的基于深度学习的AI对流临近预报系统就是利用雷达反射率数据,对未来两小时之内强对流天气,进行准确的预报。看了一下,下面的这个预报效果确实很好。
导读:Plotly Express 是一个新的高级 Python 可视化库:它是 Plotly.py 的高级封装,它为复杂的图表提供了一个简单的语法。
其实,这个技巧在我们课程新增的案例里就有类似的内容,今天就Python语言中Matplotlib工具,简单给大家介绍下,同时绘制两个colorbar的绘图技巧
领取专属 10元无门槛券
手把手带您无忧上云