首页 > 解决方案 > 插值导致在 xarray 中绘图时出现问题

问题描述

我正在尝试对 CMIP6 气候模型数据进行一些分析,并且我想生成一些多模型集合图。为此,我需要将数据插入到一个公共网格中。数据的插值似乎工作正常,但每当我尝试绘制插值数据时,似乎在本初子午线和两极处的数据存在差距。这是一个简单的示例,我将 MPI-ESM 数据插入到 CESM2-WACCM 的网格中:

import xarray as xr
import matplotlib.pyplot as plt
import cartopy.crs as ccrs

cesm2_waccm = xr.open_dataset('pr_day_CESM2-WACCM_ssp245_r2i1p1f1_gn_20750101-20841231.nc')
mpi = xr.open_dataset('pr_day_MPI-ESM1-2-LR_ssp245_r1i1p1f1_gn_20750101-20941231.nc')

cesm2_waccm_subset = cesm2_waccm.sel(time=slice('2075-01-01', '2075-12-31')).mean(dim='time')
mpi_subset = mpi.sel(time=slice('2075-01-01', '2075-12-31')).mean(dim='time')

map_proj = ccrs.PlateCarree()

# This works.
plot = mpi_subset.pr.plot(subplot_kws={'projection': map_proj})
plot.axes.coastlines()
plt.show()

mpi_interp = mpi_subset.interp(lat=cesm2_waccm_subset['lat'], lon=cesm2_waccm_subset['lon'])

# This has a white line at prime meridian.
plot = mpi_interp.pr.plot(subplot_kws={'projection': map_proj})
plot.axes.coastlines()
plt.show()

如您所见,第一个情节很好:

第一个情节还可以。

第二个图在本初子午线和两极处有一条白线:

与文物的第二个情节。

我能做些什么来摆脱那条线吗?

此外,以下是我认为与此问题相关的我已安装的软件包版本:

xarray 0.20.1
cartopy 0.20.1
matplotlib 3.3.2

标签: pythonmatplotlibpython-xarraycartopy

解决方案


推荐阅读