首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从xarray走向netCDF处理(一):数据结构及数据读取

提取物理量 从文件中读取数据ds = xarray.open_dataset() 假如数据中含有一个名为var的物理量可以通过ds.var或ds[var]来获取 实例 此处使用的是ERA-Interim...xarray封装了matplotlib的部分绘图函数,一行代码就可以将数据画出来,不过作为一个负责的公众号,还是用cartopy顺带加载了地图。...import numpy as np import xarray as xr import cartopy.crs as ccrs import cartopy.feature as cfeat from...gl.xlabels_top = False #关闭顶端标签 gl.ylabels_right = False #关闭右侧标签 gl.xformatter = LONGITUDE_FORMATTER #x轴设为经度格式...本文数据 https://apps.ecmwf.int/datasets/data/interim-full-moda/levtype=sfc/ 本文转自MeteoAI微信公众号,点击文末阅读原文按钮即可跳转原文

3.2K112

从xarray走向netCDF处理(一):数据结构及数据读取

提取物理量 从文件中读取数据ds = xarray.open_dataset() 假如数据中含有一个名为var的物理量可以通过ds.var或ds[var]来获取 实例 此处使用的是ERA-Interim...xarray封装了matplotlib的部分绘图函数,一行代码就可以将数据画出来,不过作为一个负责的公众号,还是用cartopy顺带加载了地图。...import numpy as np import xarray as xr import cartopy.crs as ccrs import cartopy.feature as cfeat from...cfeat.RIVERS.with_scale('50m'), zorder=1) ax.add_feature(cfeat.LAKES.with_scale('50m'), zorder=1) # 设置网格点属性...gl.xlabels_top = False #关闭顶端标签 gl.ylabels_right = False #关闭右侧标签 gl.xformatter = LONGITUDE_FORMATTER #x轴设为经度格式

25.2K1712
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python气象绘图教程—(十九)剖面图

    其中x表示经度,将全球东西360经度分为了10800刻度,相当于一个经度被分为30份;y表示纬度,将全球南北180纬度分为了5400份,也是将一个纬度分为30份。...以经度为例,前面已经讲到将一个经度分为30份,那么我们要画东经70-140的图,那就需要对经度数据切片,原理如下(纬度同理): 起始:(180+70)×30=7500(在前面属性可知,切片是需加上西经...显然是不需要的,我们只想知道沿某个经度(或纬度)的地形变化如何,用ax.plot命令结合fill_between命令即可。而这两个命令,只需要传入一个一维的横坐标,和一维的纵坐标即可。...关键就在怎么把z从二维的变为一维的。...我还没有画过,但是猜测应当是这个数据为四维数据,将经度、纬度做降维处理,从图上可以看出,这张图代表(30.28°E,108.93°N)这一个点的整层数据随时间的变化。

    14.8K75

    ERA5水汽通量散度剖面计算与绘图

    ),实现以下目标: 计算整层水汽通量散度:基于气象数据(如 ERA5 再分析数据),计算从地表到特定高度范围内的水汽通量散度。...优化可视化效果:通过调整坐标轴、颜色条、地图投影等参数,提升剖面图的可读性和美观性。 嵌入小地图:在剖面图中嵌入小地图,显示剖面路径和地理信息,增强图的实用性。...mpcalc.divergence(qx_level, qy_level, dx=dx, dy=dy) div_q_list.append(div_q_level) # 将各层散度拼接在一起...div_q = xr.concat(div_q_list, dim='level') div_q['level'] = levels # 将 DataArray 转换为...6)) # 绘制水汽通量散度 plot = cross_section_data['moisture_flux_divergence'].plot( x='longitude', # x 轴为经度

    16500

    雷达系列 | 如何绘制极坐标下的雷达数据

    ,你必须知道雷达的坐标、方位角与库长 项目方法 azimuth_range_to_lat_lon 是 MetPy 库中的一个函数,用于将极坐标系统中的方位角和距离位置转换为经纬度坐标。...ranges (array-like):从极点(即坐标系统的原点)到各点的距离数组。通常以米为单位。 center_lat (float):极点的纬度,以十进制度数表示。...注意 这个函数对于处理雷达数据或任何其他以极坐标形式提供的地理空间数据非常有用,因为它允许用户将这些数据转换成更常见的经纬度格式,以便进行进一步的分析或可视化。...datadict = f.sym_block[0][0] # 根据文件指定的比例尺将数据转换为数组 data = f.map_data(datadict['data']) print("雷达原始数据...cent_lon = f.lon cent_lat = f.lat # 将方位角和距离转换为地理坐标 xlocs, ylocs = azimuth_range_to_lat_lon(az, rng,

    9711

    用python在地球投影中轻松添加图形标注

    circle = patches.Circle((2.5, 2.5), radius=1, linewidth=2, edgecolor='black', facecolor='none') # 将圆形添加到子图中...ax.add_patch(circle) # 设置坐标轴范围 ax.set_xlim([0, 5]) ax.set_ylim([0, 5]) # 设置坐标轴纵横比例 ax.set_aspect('...1、非极地投影 以lat-lon投影为例,令纬度0°、经度0°为圆心,15°为半径,绘制圆形: code import matplotlib.pyplot as plt from cartopy import...figsize=(10, 10)) ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree()) # 设置地图的显示范围为-180到180经度...极地投影 以极射赤平投影为例,绘制75°N的纬度圈(黄色标注),gridlines有很多可选参数,大家可以官网了解一下: code import matplotlib.pyplot as plt from cartopy

    64120

    火星表面...

    3.双经度畸变矫正方法介绍 传统经纬矫正算法因其无需外部设备标定而被广泛使用,算法基本思想是通过建立鱼眼图像坐标点与半球面模型坐标点之间的映射关系,将球面点坐标转换为球面经纬度坐标,并采用等距投影或正交投影原理将球面上点经度映射为矫正图像水平坐标...模型拟通过横向经度和纵向经度对球面进行分割,建立鱼眼图像坐标点与球面双经度坐标的对应关系,然后将纵向和横向经度值映射为平面坐标的横坐标和纵坐标,如图2 所示。 ?...球面模型侧视图, 点 与图 点相对应, 其坐标为 分别为 点在 面和 面上的投影点, 、 分别为 与 轴正向的夹角和 与 轴正向的夹角...由图3(c)可知, 点竖直方向 为 与 负半轴的夹角, 点水平方向经度 为 与 负半轴的夹角,因此可得: 继续进行化简,则: 此外, 根据球面特征以及角度与坐标之间关系, 可建立角度...我曾经花了4个月,跨专业从双非上岸华五软工硕士,也从不会编程到进入到百度与腾讯实习。

    1.8K20

    数据处理 | 投影转换案例:将非经纬度坐标数据转换至WGS84坐标系

    投影转换案例:将非经纬度坐标数据转换至WGS84坐标系 摘要 作者:崔忠强 编辑:气ython风雨 很多文件带着一些投影信息,导致经纬度和实际对应不上,这里提供一个做投影转换的案例。...本文展示了如何读取这样的文件,并将其转换为常用的WGS84坐标系下的经纬度,以便进行正确的可视化和分析。 数据读取与初步检查 使用xarray库读取一个包含中国相对湿度月平均值的数据集文件。...因此,我们需要利用cartopy库来定义这个投影,并将其转换到WGS84坐标系下。...x和y转换为一个个点坐标。...投影转换:根据提供的投影参数,使用cartopy进行投影转换,将x和y坐标转换为WGS84下的经纬度。 数据处理:对数据进行必要的预处理,包括单位转换、异常值处理等。

    17510

    【附jupyter代码】经验正交分解EOF详解及案例

    由于这些主分量中前几个就可能占有原空间点(即多个变量)总方差的很大部分,即通过EOF分解可以很容易地将原始要素场的变化信息浓缩在前几个主分量及其对应的空间函数上,所以,EOF分解常被用于气象要素场时空变化特征规律的提取和研究...而我们的EOF分解方法,就是将时空数据集 分解为空间函数 和时间函数 两部分,即 也可表示为 其中下标 表示空间点,下标 表示时间点。...color='k', lw=0.5) #添加海岸线 ax1.add_feature(cfeature.LAND, facecolor='white') #添加陆地 # 转置数据...facecolor='white') def eof_contourf(EOFs, PCs, pers): ''' 绘制EOF填充图 ''' plt.close # 将方差转换为百分数的形式...dpi=300) # 指定投影为经纬度投影,中心经纬度为180° projection = ccrs.PlateCarree(central_longitude=180) # 将横坐标转换为日期格式

    1.2K10

    python绘图 | 气象雷达入门级讲解&多种雷达图像可视化方法

    一般来说,业务中雷达的常规扫描方式是VPPI,在扫描时,雷达天线从自体扫模式中最低仰角启动,并以固定仰角从零度方位角(在多普勒天气雷达工作过程中,规定正北方为0°方位角,正东方为90°方位角,天线与水平面平行为...利用PyCINRAD,我们可以很方便的将雷达基数据读取为xarray.Dataset #加载所需包 import math import time from itkwidgets import view...在这里,PyCinrad库同时计算出了圆锥面上每个点的具体经纬度值和高度值,有了这些值,可以帮助我们更方便的在二维和三维的笛卡尔坐标下进行可视化。...gl.top_labels = False #关闭顶端标签 gl.right_labels = False #关闭右侧标签 gl.xformatter = LONGITUDE_FORMATTER #x轴设为经度格式...三维可视化 雷达数据并非分布在一个曲面上,在经度-维度-高度的笛卡尔坐标系下,一层的PPI数据在三维空间中呈圆锥面分布,因此可以对其进行三维的可视化 matmatplotlib三维静态可视化 fig =

    23.4K811

    如何在一张图上同时绘制云图和降水

    单位转换为m mapx = ds1['x'].to_numpy() * 1000. mapy = ds1['y'].to_numpy() * 1000....通过gamma校正等方法将这种线性关系转换为非线性,使较暗的区域变亮,较亮的区域保持不变。这样可以增加整个图像的对比度,使颜色更加饱和丰富 为什么修改单位km为m 图投影坐标系一般使用的是米为单位。...直接拿千米单位的影像坐标去绘制地图,会造成非常严重的坐标错位。 因此需要提前将影像的坐标单位换算为与地图投影匹配的米单位,然后再传入投影变换,进行坐标转换到地图上。...gl.xlabels_top = False # 关闭顶端标签 gl.ylabels_right = False # 关闭右侧标签 gl.xformatter = LONGITUDE_FORMATTER # x轴设为经度格式...gl.yformatter = LATITUDE_FORMATTER # y轴设为纬度格式 ax.coastlines(color="w") ax.set_extent([100, 130,10,

    17210

    从xarray走向netCDF处理(二):数据索引

    以下文章来源于MeteoAI ,作者学前班大队长 xarray专题再次开讲,错过第一部分的可以先去补个课从xarray走向netCDF处理(一):数据结构及数据读取。...今天要介绍的就是xarray的索引功能,通过索引你可以对数据进行切片,从整体中提取你所关注的区域、高度或者时间。...索引及可视化实战 import arrow import numpy as np import xarray as xr import cartopy.crs as ccrs import cartopy.feature...False #关闭顶端的经纬度标签 gl.ylabels_right = False #关闭右侧的经纬度标签 gl.xformatter = LONGITUDE_FORMATTER #x轴设为经度的格式...Spectral_r', extend='both', cbar_kwargs=cbar_kwargs,transform=ccrs.PlateCarree()) fig.show() 本文转自

    1.8K122
    领券