如何绘制集成模型的意思?

How to plot ensemble models mean?

#read data
dset = xr.open_mfdataset('/home/users/ruoou/projects/data/cmip6/scenaromip/ssp126/tas/*'+ mod+ '*.nc', parallel=True)

#define timescale
time = dset.time
clim_set_t = dset.sel(time=slice("2015-01-16", "2100-12-16"))
clim_ta = clim_set_t['tas'].groupby('time.month').mean('time', keep_attrs=True)
clim_ta_c = (clim_ta - 273.15)

# define areas
lat = dset.lat
lon = dset.lon
lon_range = lon[(lon>60) & (lon<150)]
lat_range = lat[(lat>10) & (lat<60)]


clim_ta_c.sel(lon=lon_range, lat=lat_range, month = 1).plot.contourf(ax=ax,
                                          levels=np.arange(-30, 30 + 1, 1),
                                          transform=ccrs.PlateCarree(),
                                          cmap='Spectral_r',
                                          cbar_kwargs={'orientation': 'vertical',     #colorbar
                                                   'label': 'temperature (℃)',
                                                   'ticks': np.arange(-30, 30 + 5, 5),
                                                   'pad': 0.05,
                                                   'shrink': 0.8})

model = dset.attrs['source_id']
title = f'{model} near-surface temperature climatology 2015-2100 (1)'
plt.title(title, fontsize = 13)

这是我的脚本的主要部分,用于在 ssp126 近地表温度气候学中绘制 1 月份的 BCC。 Bcc in ssp126 我应该怎么做才能将所有模型相加并绘制平均值(比如平均 ssp126 中的 BCC 和 ssp126 中的 IPSL)?提前感谢您的帮助。

你标记了问题 cdo-climate,所以我想你也很高兴有一个基于 cdo 的解决方案,我添加了一个重新映射步骤,但请查看 on Whosebug, or my remapping video guide 了解更多详细信息.

dir=/home/users/ruoou/projects/data/cmip6/scenaromip/ssp126/tas/
# remap all files to a 1x1 deg grid 
for file in $dir/*modelname*.nc ; do 
   cdo remapbil,r360x180 $file ${file%???}_remap.nc 
done 
# calculate ens mean
cdo ensmean *_remap.nc ensmean.nc 

然后你就可以打开ensmean.nc然后随意绘制了。