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

wrf-python 详解之如何使用

可以使用 wrf.CoordPair 对象指定起始,终止或中心。坐标点也可以是 (x, y) 网格或是经纬度坐标点。...=start_point, end_point=end_point, latlon=True) 使用中心和角度 # 在网格坐标中定义中心和角度, 中心点在网格中心 pivot_point = CoordPair...插值2D场到一条线 使用 wrf.interpline 函数可以沿着一条线2D场进行插值,这类似3D场垂直剖面插值。为了定义插值线,可以是线起始终止。...当然,也可以提供中心和角度来进行剖面。可以使用 wrf.CoordPair 对象指定起始,终止或中心。坐标点也可以是 (x, y) 网格或是经纬度坐标点。...这三种绘图系统,当使用 xarray 时通过变量可直接确定地图对象,如果没有使用 xarray,可从 WRF 输出文件获取。 还包括直接从 xarray 切片中获取地理边界函数。

19.1K1012

关于WRF插值站点二三事

前言 很多时候我们需要拿模拟数据站点图作对比,那就需要把模拟数据插值到站点 今天来尝试两种WRF数据插值到站点方法并使用meteva进行简单绘图 方法一:xesmf库重插值后使用meteva进行双线性插值到站点...nx, ny = ds_wrf.dims['west_east'], ds_wrf.dims['south_north'] # 通过计算网格起始点(左下角)坐标 x0 y0,基于网格尺寸、...分辨率中心坐标计算 x0 = -(nx-1) / 2. * dx + e y0 = -(ny-1) / 2. * dy + n # 用 np.meshgrid() 创建了一个二维网格 (xx, yy...matplotlib或者参考两种micaps站点数据简单绘制方法 就使用而言,xesmf无疑是更简单,并且插值后直接是xarray数组省去一步。...因为使用插值方法不同就不作比较了,xesmfgriddata都有几种插值方法,感兴趣读者可自行探索。 实际上在meteva插值就使用了两种:最临近插值与双线性插值。效果好坏还需大家自行试验。

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

xarray系列|WRF模式前处理后处理

,关于xarray插值方法介绍官方文档已经给比较详细了,也有公众号推送过相关文章 xarray指南:插值 基于xarray气象场站点插值,所以xarray插值部分就不单独说了。...这里就数据提取、投影转换、插值可视化几个部分说一下。 由于WRF模式输出并不完全兼容NetCDF格式CF标准,所以无法直接利用 xarray 很多函数。...投影转换 一般情况下是不需要进行投影转换,除非在需要和其它投影数据进行对比分析。这里我们使用 xesmf 进行网格转换。...这里也可以使用 xarray 自带插值方法进行插值,或者使用 salem 提供函数进行插值,比如 .wrf_zlevel 进行垂直插值: ds.isel(time=1).salem.wrf_zlevel...每个库都有各自优势,发挥优势才能更好提高效率。 目前打算把平时处理WRF模式脚本合并成命令行工具,以便平时进行快速数据处理可视化。

4.7K66

xarray系列|WRF模式前处理后处理

,关于xarray插值方法介绍官方文档已经给比较详细了,也有公众号推送过相关文章 xarray指南:插值 基于xarray气象场站点插值,所以xarray插值部分就不单独说了。...这里就数据提取、投影转换、插值可视化几个部分说一下。 由于WRF模式输出并不完全兼容NetCDF格式CF标准,所以无法直接利用 xarray 很多函数。...投影转换 一般情况下是不需要进行投影转换,除非在需要和其它投影数据进行对比分析。这里我们使用 xesmf 进行网格转换。...这里也可以使用 xarray 自带插值方法进行插值,或者使用 salem 提供函数进行插值,比如 .wrf_zlevel 进行垂直插值: ds.isel(time=1).salem.wrf_zlevel...每个库都有各自优势,发挥优势才能更好提高效率。 目前打算把平时处理WRF模式脚本合并成命令行工具,以便平时进行快速数据处理可视化。

3.2K61

wrf-python 详解之API

当然,大多数时候我们仅需要wrf-python已经提供诊断函数其它可调用函数,可能都不会使用到这些API。...用户API 方法 诊断 从WRF输出中返回基本诊断变量 插值 返回3D场插值到2D平面(指定垂直层)值 坐标转换 返回经纬度坐标对应X,Y坐标 网格去栅格 返回去栅格化后变量,与NCL中wrf_user_unstagger...原始诊断方法 返回2D网格中一个线上x,y 配置方法 如果安装并打开了 xarray 则返回 True 其他 如果输入变量名是时间坐标则返回 True 类 异常 当诊断过程中发生错误是触发异常 CoordPair...子类 wrf.WrfProj 空投影子类 内部API 提取诊断方法 返回2D CAPE, CIN, LCL, LFC....装饰器 算法装饰器 从封装函数输出进行单位转换装饰器 元数据装饰器 为封装函数输出设置元数据装饰器 装饰器工具 确定文件中包含哪个变量可调用类 类 可迭代封装器类 一个生成器自定义可迭代类封装类

2.2K11

从wrfout 提取站点数据

接下来将使用公众号其他成员分享内容现学现卖一篇,文章中使用了我们公众号成员推荐Xarray库、wrf-python库,目的是从WRF模式输出提取出站点在不同高度/等压面数据。...np.where(rad==np.min(rad)) ind=np.squeeze(np.array(aa)) return tuple(ind) 上述函数是为了得到距离某个站点在wrfout输出二维经纬度上找到最近索引...('距离站点最近格经度为:',XLONG_WRF2D[ind[0],ind[1]]) print('距离站点最近格纬度为:',XLAT_WRF2D[ind[0],ind[1]]) 距离该站点最近经纬度索引为...有了批量站点信息,下面编写函数进行wrfout站点信息提取....输出文件名称 get_stn:Pandas dataframe 表格文件,列名为 站点ID ,站点经度, 站点纬度, 最近格经度索引,最近格纬度索引 features_3D :wrfout

8.6K61

使用griddata进行均匀网格离散之间相互插值

文章目录 1 griddata函数介绍 2 离散插值到均匀网格 3 均匀网格插值到离散 4 获取最近邻Index 插值操作非常常见,数学思想也很好理解。...常见一维插值很容易实现,相对来说,要实现较快二维插值,比较难以实现。这里就建议直接使用scipy griddata函数。...3 均匀网格插值到离散 在气象上,用得更多,是将均匀网格数据插值到观测站点,此时,也可以逆向使用 griddata方法插值;这里就不做图显示了。...使用griddata进行插值 inputs: all_data,形式为:[grid_lon,grid_lat,data] 即[经度网格,纬度网格,数值网格] station_lon: 站点经度 station_lat...index = [80,53], 我们lon_gridlat_grid去查找一下,对应经纬度为[113.25,30] , 刚好位置对上!

1.8K11

WRF如何转换投影+模拟台风路径可视化

具体使用哪种插值方法应根据数据特点需求进行选择 1.3 加入pyproj投影转换后griddata插值多种方式对比 In [4]: import pyproj import numpy as np...['west_east'], ds.dims['south_north'] # 通过计算网格起始点(左下角)坐标 x0 y0,基于网格尺寸、分辨率中心坐标计算 x0 = -(nx-1)...plt.pcolormesh(t_new) plt.colorbar() plt.show() 2.2 使用xesmf多种插值法进行转换对比 import xesmf as xe import xarray...,在计算过程中考虑了周围四个网格权重。...最近邻插值(nearest_s2d): 优点:最近邻插值是一种简单快速插值方法,它直接使用最近一个源网格值来进行插值,不涉及其他计算

6510

NCAR放弃PyNGL后又入新坑?

and Forecasting (WRF) model into xarray Dataset 利用Python进行WRF模式后处理应该都知道,wrf-python用来处理WRF模式结果比较方便,但又太笨重了...xarray是目前地球科学领域使用非常多库,集成度非常高,使用非常方便。...由于一些原因,xarray直接处理WRF模式结果一直是痛WRF输出nc格式文件不是CF兼容 wrf-python 需要和 netCDF4-python xarray 接口交互 wrf-python...中缺乏接口以充分利用dask并行能力 salem 库可以处理WRF模式结果,然后 xarray 对象整合,但是 salem 库在处理诊断量方面不是很方便。...但是很多诊断变量可能无法直接处理,这也是目前问题。如果能够集合 wrf-python 诊断量计算,以及各种剖面绘图功能,就完美了。 就介绍到这,感兴趣可以安装测试一下。

80220

python计算与绘制WRF降水量

前言 1.使用os库循环读取文件夹下wrf‍数据,并用nc库dataset读取,可使用wrf_list = [Dataset(f) for f in wrf_files] ,wrf_files是os...读取形成文件列表 2.使用wrfpythongetvar读取多个wrf文件RAINC,RAINNC,RAINSH,利用cat将多时次数据合并 例如,RAINC = getvar(wrf_list,...details/119719854 另外,RAINCRAINSH根据物理参数化方案设置,可能为0。...(RAINC)) ax.set_ylim(cartopy_ylim(RAINC)) # 绘制降雨量分布(pcolormesh方法进行绘制) #im = ax.pcolormesh(to_np(lons...plot作图,更多细致作图敬请自己实现,以下示例小时降水量组图绘制 此处使用xarraydata.diff计算每小时降水量 wrfout中降水变量都是累计降水量,因此需要根据用后一时次减去前一时次才能得出这小时下了多少

8010

龙行龘龘!如何批量提取wrfout变量存为nc

简单读取然后存储即可 我们经常需要对大量模型输出数据进行处理分析。...在气象学中,WRF(Weather Research and Forecasting Model)是一个常用数值天气预报模型,它可以提供丰富气象变量数据来帮助我们理解预测天气现象。...为了更好地处理WRF模型输出数据(当然因为wrfout文件太大了!),我们经常需要批量提取其中变量,并将提取数据保存为NetCDF格式(.nc文件),这样可以方便我们后续分析可视化操作。...使用适用于 wrf-python xarray 数据结构。将投影对象转换为字符串以便作为 NetCDF 属性使用。..."""将 xarray 写入 NetCDF 格式输出文件 使用适用于 wrf-python xarray 结构。

8710

Chatgpt问答之WRF-并行计算

1、怎么理解WRF并行计算 WRF是一个用于天气和气候研究数值模式,它需要对大量气象数据进行处理计算。由于气象数据规模很大,需要非常强大计算能力才能完成计算。...它们通常比domain size要大一些,以便计算时可以使用一些附加网格来处理边界条件等。 • its, ite, jts, jte, kts, kte:表示每个Tile网格范围。...在WRF中,Tile sizeDomain size比率通常是2:1或4:1,这样可以保证每个Tile中都有足够边界网格,以便计算时可以处理边界条件。...MPI是一种用于在分布式计算机上进行通信并行计算标准接口。在WRF中,通过MPI将计算域分割为多个子域,每个子域由一组MPI进程负责计算。...每个MPI进程执行计算步骤如下: • 读取输入数据,并将其在进程所负责子域内广播; • 执行大气物理过程动力学过程计算; • 在每个子域边界处进行交换,以便将子域之间数据同步; • 执行化学计算

49530

回旋镖!meteva也能绘制wrfout气象要素分布

前言 博主在早期meteva使用写了一个笔记,就是meteva,这可能是气象萌新最需要python库 在使用中发现它不能对有兰伯特投影wrfout数据直接绘图,所以使用了其他库进行重新网格插值再绘图...今天在逛metevashowdoc时刷新出了一个官方教程,大体是将wrfout数据转为pandas格式 然后使用idw进行插值绘图 下面让我们开始实践吧 温馨提示 由于可视化代码过长隐藏,可点击回旋镖...,我们高度层混合比数据进行绘制 In [28]: from netCDF4 import Dataset import numpy as np import pandas as pd from wrf...= '/home/mw/input/wrfout3385/wrfout_d02_2022-07-14_0600.nc' ncfile = Dataset(wrf_file) # 使用wrf-python...,这里为500hPa target_plev = 500.0 # in hPa # 获取模型中气压数据,这是进行插值所必需 pressure = getvar(ncfile, 'P') # 使用

7710

用Python批处理指定数据-以WRF输出结果为例演示按照指定维度合并(附示例代码)

使用WRF的人都知道,它模拟结果是按照我们指定时间间隔模拟时间段依次输出。但在处理数据时候呢,比如想画一个时间趋势图之类时候,挨个读取数据非常繁琐。...因为一般WRF 默认输出文件文件名后缀没有.nc,无法直接使用xarray进行读取,也就用不了concat函数。所以这里我们先给所有的输出文件批量添加后缀名".nc"。...(也可自行指定文件路径) path = os.getcwd() #一般 WRF 默认输出文件文件名后缀没有.nc,无法直接使用xarray进行读取,进而用不了concat函数 #这里我们批量修改文件名...这里用了concat函数,具体大家可以见从xarray走向netCDF处理(四):合并与计算进行了解。...') 结果如下: 二、将所有变量,按照时间顺序进行合并 (顺便介绍一下如何计算气压并保存输出) #将所有变量,按照时间顺序进行合并 file_list = [] for i in list_names_sort

2.3K52

背向NCL,面向对象

NCAR将使用Python作为地球科学领域主要数据处理可视化工具。 NCARNCL进行了“封装”,构成了PyNGLPyNIO,随后可能还会开发一款工具,囊括NCL中大多数函数。...数据插值 •xESMFESMPy:气象数据空间插值,尤其是对于模式网格数据而言,提供了一些便捷命令可对网格数据进行一些列插值操作•python-stratify:针对大气海洋数据进行垂直插值•scipy.interpolate...模块提供了大量插值函数•python-geotiepoints:针对地理网格数据空间插值 说到地球科学领域数据处理,最离不开应该也是模式输出数据了。...Python中有很多处理模式输出库,功能都比较完善。 模式输出处理 •wrf-python:对于使用WRF模式来说使用最为频繁模式输出后处理工具之一。...•salem:这个库包含了数据处理可视化几乎所有功能,就放这里吧,毕竟也提供了不少WRF模式后处理前处理函数。

2.4K32

python推荐 | 面向地学领域Python库汇总

这是一篇告诉你如何更好使用Python来解决地学领域问题文章。 数据处理 •NetCDF格式 : netCDF4-python,h5py,h5netcdf,xarray等。...数据插值 •xESMFESMPy:气象数据空间插值,尤其是对于模式网格数据而言,提供了一些便捷命令可对网格数据进行一些列插值操作•python-stratify:针对大气海洋数据进行垂直插值•scipy.interpolate...模块提供了大量插值函数•python-geotiepoints:针对地理网格数据空间插值 说到地球科学领域数据处理,最离不开应该也是模式输出数据了。...Python中有很多处理模式输出库,功能都比较完善。 模式输出处理 •wrf-python:对于使用WRF模式来说使用最为频繁模式输出后处理工具之一。...之前朋友们整合了这些资源,觉得大家还是很有帮助,不过新来小伙伴可能没看到过,所以再发一次,希望大家有所帮助,了解过盆友们就当温故而知新吧。

3.1K44

学习笔记:基于where函数wrf数据优雅索引

然而,面对这些庞大数据集时,高效且优雅地进行数据索引与提取往往成为数据分析流程中关键一环。这不仅关乎研究效率,更直接影响到我们气象现象理解深度与广度。...本篇学习笔记,旨在探讨如何利用Python中where函数这一强大工具,实现WRF输出数据高效索引与筛选。...WRF数据结构简介:介绍WRF输出文件基本格式(如NetCDF),以及如何使用Python中xarray或netCDF4等库来便捷地加载与操作这些数据。...条件索引实战:通过实例演示,展示如何利用where函数针对WRF数据中特定时间切片、空间区域、气象变量阈值等进行精确索引。这包括但不限于选取特定天气事件、分析特定高度或层次大气参数等场景。...应用拓展:探讨where函数在更复杂数据分析任务中应用,比如结合绘图库进行条件可视化。

6610

meteva,这可能是气象萌新最需要python库

不管你是要进行数据筛选、插值、格计算还是统计分析,meteva库都提供了一系列酷炫方法工具,满足你各种需求。...cmap: 散点图颜色映射,默认为None,表示使用默认颜色映射。 clevs: 颜色刻度值,默认为None,表示自动计算刻度值。...point_size: 散大小,默认为None,表示使用默认大小。 fix_size: 是否使用固定大小,默认为True。 title: 图像标题,默认为None,表示无标题。...threshold: 阈值,用于显示大于阈值,默认为2。 min_spot_value: 最小值,默认为0。 mean_value: 平均值,用于计算高于平均值,默认为2。...grid: 是否显示网格线,默认为False。 add_colorbar: 是否添加颜色条,默认为True。 alpha: 散透明度,默认为None,表示使用默认透明度。

14910

WRF第3课:在超算上运行WRF官网案例——重启动-海温更新-嵌套

☜点击阅读 WRF第2课:在超算上使用WRF模拟飓风马修登陆》 ☜点击阅读 ---- 本教程将以官网—2016年10月飓风马修登陆为例,介绍在实际应用WRF-ARW中涉及到重启动、海温更新、以及网格嵌套等操作流程...3.1 双向嵌套(Two-way nesting) 双向嵌套需要设置namelist.input中feedback=1,即实现不同分辨率网格实时交互运行:低分辨率母网格为高分辨率子网格提供边界条件...在运行wrf.exe前,需要在namelist.input中进行如下设置: 即模式运行时网格强迫从以上预处理文件读入,而子网格静态地形、初始场、以及边界条件均从母网格插值得到。...另一种单向嵌套运行方式:子网格运行wrf.exe时,采用高分辨率静态数据,以及由ndown.exe网格积分结果进行加密模拟获得初始边界条件。...,以免覆盖损失; 将namelist.input中针对子网格模式参数物理过程选项从第2列移动至第1列,同时设置max_dom=1; 运行wrf.exe:此时子网格模式输出文件为wrfout_d01,

3.2K30

WRF讲解——CFL 错误、SIGSEGV 段错误以及挂起或停止

CFL 错误 从代码可以看出,CFL 错误通常是由垂直风速太快,导致 WRF 无法进行处理。就我经验而言,它们通常发生在较高山峰上。...WRF 有几种方法可以做到这一。您可以通过阅读 WRF 用户指南了解以及使用它们。该方法会减慢垂直风速度,也许您不希望那样,但它有助于解决 CFL 错误。第四,平滑峰值。...SIGSEGV 分段错误停止或挂起 抱歉,我不知道是什么原因导致即使运行没有出错并结束,WRF 也会挂起或停止输出。...你 mpirun -np 或 mpiexec -np 命令可以实现跨节点上启动多个 WRF我来说,如果我在一个节点上使用所有内核,WRF 效率会降低。是的,这是一种资源浪费,但总比没有好。...我最近在发给 wrf 用户一封电子邮件中读到了这一。也许 4G 以外值可能会起作用,这取决于每个节点有多少内存。您可能必须将它放在作业脚本中,因为我认为它是在运行时而不是编译时发挥作用。

2.6K30
领券