Python-wrear数据上的Python子集

2024-05-18 11:15:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个WRF输出是在曲线投影(原生兰伯特共形投影),因此有二维坐标(XLONG&XLAT)与之关联。通过对数组进行切片,我可以将数据子集化为矩形网格

例如

xlat=常量.变量['XLAT'][0749:915220:458]

xlon=常量.变量['XLONG'][0749:915220:458]

但是,我想把所有以特定纬度和经度为边界的网格点子集,得到一种梯形的网格点。为了便于理解,我附上了一张图片。我想要以红线为边界的网格点,而不是蓝框中的网格点。在

https://www.dropbox.com/s/bxnhuhyoena8a8e/WRF_StudySites.pdf?dl=0

这可以在NCL(NCAR命令行)中使用where()函数来完成,但在python中执行同样的操作时遇到了困难。在

有什么建议可以让我这么做吗?在

谢谢!在


Tags: 数据网格切片数组曲线子集边界投影
1条回答
网友
1楼 · 发布于 2024-05-18 11:15:52

我使用了xarray包。有关其where()函数的说明,请参见here。我的数据集中的经度范围从-5到13,因此XLONG>;0只返回部分数据(如预期)。在

例如:

import xarray as xr
import matplotlib.pyplot as plt

# Load dataset with xarray (I only import T2 here, and only the first time)
wrftemp = xr.open_dataset('wrfout_d01_.....').T2.isel(Time=1)

# Make a figure of the T2 temperature field
fig,(ax1,ax2) = plt.subplots(1,2)
wrftemp.plot(ax=ax1)
wrftemp.where(wrftemp.XLONG>0).plot(ax=ax2)
plt.show()

相关问题 更多 >