怎么删除wordpress主题,长沙网站优化价格,谷歌浏览器怎么关闭2345网址导航,嘉定网站设计公司Nino SST Indices (Nino 12, 3, 3.4, 4; ONI and TNI)
有几个指标用于监测热带太平洋#xff0c;所有这些指标都是基于海表温度(SST)异常在一个给定的区域的平均值。通常#xff0c;异常是相对于30年的周期来计算的。厄尔尼诺3.4指数(Nio 3.4 index)和海洋厄尔尼诺指数(Ocea…Nino SST Indices (Nino 12, 3, 3.4, 4; ONI and TNI)
有几个指标用于监测热带太平洋所有这些指标都是基于海表温度(SST)异常在一个给定的区域的平均值。通常异常是相对于30年的周期来计算的。厄尔尼诺3.4指数(Niño 3.4 index)和海洋厄尔尼诺指数(Oceanic Niño Index (ONI))是定义厄尔尼诺和拉尼娜事件最常用的指数。其他index用于帮助描述每个事件的独特性质。 El Niño 1、2、3和4 的范围如下所示 Niño 12 (0-10S90W-80W) :
厄尔尼诺1 2区域是Niño海表温度区域中最小和最东部的区域与南美洲沿海地区相对应在那里El Niño,首先被当地居民识别发现。这一指数往往是Niño海表温度指数中变化最大的。
Niño 3(5N-5S150W-90W) :
这个区域曾经是监测和预测El Niño现象的主要焦点但是研究人员后来了解到ENSO 海洋-大气耦合相互作用的关键区域位于更西部(Trenberth1997)。因此Niño 3.4和 ONI 成为定义厄尔尼诺和拉尼娜事件的首选。 Niño 3.4(5N-5S170W-120W) :Niño3.4异常可以被认为代表从日期线到南美海岸的横跨太平洋的赤道 SST 的平均值。Niño 3.4 index通常使用5个月的连续平均值El Niño or La Niña是在Niño 3.4 SST 超过 /-0.4 C 6个月或更长时间内确定的。
ONI (5N-5S170W-120W) :
ONI 使用与厄尔尼诺3.4指数相同的区域。ONI 采用的是连续3个月的平均值要被归类为全面的厄尔尼诺或拉尼娜现象异常必须至少连续5个月超过 0.5 C 或 -0.5 C。这是美国国家海洋和大气管理局使用的定义。
Niño 4(5N-5S160E-150W) :
厄尔尼诺4指数捕捉赤道太平洋中部的海表温度异常。这个区域的变化往往比其他厄尔尼诺区域少。
为了定义每个 El Niño or La Niña 事件的独特性Trenberth 和 Stepaniak (2001)认为应该将厄尔尼诺3.4指数与他们引入的一个指数结合使用这个指数被称为跨尼诺指数(Trans-Niño IndexTNI)。TNI 被定义为厄尔尼诺1 2和厄尔尼诺4区域之间标准化海表温度异常的差异。TNI 因此测量了赤道太平洋中部和东部海表温度异常的梯度。当海表温度梯度特别大时(比如由于尼诺4区域的正异常和尼诺1 2区域的负异常) 一些研究人员将该事件归类为“太平洋中部的厄尔尼诺现象”或“El Niño Modoki”尽管将这种类型的事件作为一个单独的现象进行区分是一个问题或争论。
Nino 3.4 index 的具体计算步骤 1、选择厄尔尼诺3.4区域(5N-5S170W-120W)的sst月平均数据 2、计算Nino 3.4区域内每个月的异常 3、计算每个月异常的区域平均值 4、去线性趋势化处理也可以不去
代码实现过程 # netcdf file name and location
fnc oisst_monthly.nc
dmask xr.open_dataset(lsmask.nc)
print(dmask)ds xr.open_dataset(fnc)
print(ds)# Climatology and Anomalies
sst ds.sst.where(dmask.mask.isel(time0) 1)
clm sst.sel(timeslice(1982-01-01,2020-12-01)).groupby(time.month).mean(dimtime)
anm (sst.groupby(time.month) - clm)
#print(clm)
# -- Detorending
def detrend_dim(da, dim, deg1):# detrend along a single dimensionp da.polyfit(dimdim, degdeg)fit xr.polyval(da[dim], p.polyfit_coefficients)return da - fitdef cal_nino34(ds,lat1,lat2,lon1,lon2):ds ds.sel(latslice(lat1,lat2),lonslice(lon1,lon2))clm ds.groupby(time.month).mean(dimtime)an_ds ds.groupby(time.month) - clman_ds an_ds.mean((lon,lat))an_ds detrend_dim(an_ds,dimtime,deg1)return an_dsnino3_4 cal_nino34(sst,5,-5,190,240)
nino3_4.plot()
结果展示 平滑
还可以对于指数进行平滑使结果看起来更好看一点。如果指数平滑了后续计算相关相关时也需要对于输入的其他变量进行统一平滑。 ninoSDnino3_4/nino3_4.std(dimtime)
rninoSDninoSD.rolling(time3, centerTrue).mean(time) 计算超前滞后
相关性和回归分析部分
Leading
通过计算NINO指数rninoSD和时间滞后12个时间步长的rdanm之间的相关系数和回归系数。类似地也计算了时间滞后6个时间步长的相关系数和回归系数。 Simultaneous计算NINO指数rninoSD和rdanm之间同期的相关系数和回归系数。 Lagging计算NINO指数rninoSD和时间滞后6、12、18个时间步长的rdanm之间的相关系数和回归系数。
# -- Running meanranm anm.rolling(time3, centerTrue).mean(time)
rdanm detrend_dim(ranm,time,1)# -- Correlation Regression# Leading
corM12 xr.corr(rninoSD, rdanm.shift(time-12), dimtime)
regM12 xr.cov( rninoSD, rdanm.shift(time-12), dimtime)/rninoSD.var(dimtime,skipnaTrue).values
corM6 xr.corr(rninoSD, rdanm.shift(time-6), dimtime)
regM6 xr.cov( rninoSD, rdanm.shift(time-6), dimtime)/rninoSD.var(dimtime,skipnaTrue).values# simultaneous
cor0 xr.corr(rninoSD, rdanm, dimtime)
reg0 xr.cov(rninoSD, rdanm, dimtime)/rninoSD.var(dimtime,skipnaTrue).values# Laging
corP6 xr.corr(rninoSD, rdanm.shift(time6), dimtime)
regP6 xr.cov( rninoSD, rdanm.shift(time6), dimtime)/rninoSD.var(dimtime,skipnaTrue).values
corP12 xr.corr(rninoSD, rdanm.shift(time12), dimtime)
regP12 xr.cov( rninoSD, rdanm.shift(time12), dimtime)/rninoSD.var(dimtime,skipnaTrue).values
corP18 xr.corr(rninoSD, rdanm.shift(time18), dimtime)
regP18 xr.cov( rninoSD, rdanm.shift(time18), dimtime)/rninoSD.var(dimtime,skipnaTrue).values
绘图
# -- figure plotdef makefig(cor, reg,title, grid_space):# 修复 0 度和 360 度经度附近未显示数据的伪影cor gvutil.xr_add_cyclic_longitudes(cor, lon)reg gvutil.xr_add_cyclic_longitudes(reg, lon)# 添加等距柱面投影中心经度为210°ax fig.add_subplot(grid_space,projectionccrs.PlateCarree(central_longitude210))# 添加海岸线ax.coastlines(linewidth0.5, alpha0.6)# 设置坐标范围gvutil.set_axes_limits_and_ticks(ax,xlim(-180, 180),ylim(-90, 90),xticksnp.arange(-180, 180, 60),yticksnp.arange(-90, 90, 30))# Use geocat.viz.util convenience function to add minor and major tick linesgvutil.add_major_minor_ticks(ax, labelsize10)# Use geocat.viz.util convenience function to make latitude, longitude tick labelsgvutil.add_lat_lon_ticklabels(ax)#设置colorbarnewcmp cmaps.NCV_blu_redindex [5, 20, 35, 50, 65, 85, 95, 110, 125, 0, 0, 135, 150, 165, 180, 200, 210, 220, 235, 250 ]color_list [newcmp[i].colors for i in index]# 设置colorbar中间颜色为白色color_list[9][ 1., 1., 1.]color_list[10][ 1., 1., 1.]# 定义填色图的参数kwargs dict(vmin -1.0,vmax 1.0,levels 21,colorscolor_list,add_colorbarFalse, # allow for colorbar specification latertransformccrs.PlateCarree(), # ds projection)# 相关系数的填色图fillplot cor.plot.contourf(axax, **kwargs)# 添加陆地、地形ax.add_feature(cfeature.LAND, facecolorlightgray, zorder1)ax.add_feature(cfeature.COASTLINE, edgecolorgray, linewidth0.5, zorder1)# 设置等值线参数# Specify contour levels excluding 0delc0.2levels np.arange(-3, 0, delc)levels np.append(levels, np.arange(delc, 3, delc))# 回归系数为等值线rad reg.plot.contour(axax,colorsblack,alpha0.8,linewidths1.0,add_labelsFalse,levelslevels,transformccrs.PlateCarree())pe [PathEffects.withStroke(linewidth2.0, foregroundw)]plt.setp(rad.collections, path_effectspe)# 设置标题、及其位置、大小gvutil.set_titles_and_labels(ax,lefttitletitle,lefttitlefontsize16,righttitle,righttitlefontsize16,xlabel,ylabel)return ax, fillplot# Show the plotfig plt.figure(figsize(10, 12),dpi200)
grid fig.add_gridspec(ncols2, nrows3)
#grid fig.add_gridspec(ncols2, nrows3, hspace-0.20)ax1, fill1 makefig(corP18,regP18,18-month lag, grid[0,0])
ax2, fill2 makefig(corP12,regP12,12-month lag, grid[1,0])
ax3, fill3 makefig(corP6,regP6,6-month lag, grid[2,0])
ax4, fill4 makefig(cor0,reg0,Simultaneous, grid[0,1])
ax5, fill5 makefig(corM6,regM6,6-month lead, grid[1,1])
ax6, fill6 makefig(corM12,regM12,12-month lead, grid[2,1])fig.colorbar(fill6,ax[ax1, ax2, ax3, ax4, ax5, ax6],drawedgesTrue,orientationhorizontal,shrink0.5,pad0.05,extendfracauto,extendrectTrue)fig.suptitle(SST correlation regression with Nino3.4, fontsize18, y0.9)plt.draw() https://climatedataguide.ucar.edu/climate-data/nino-sst-indices-nino-12-3-34-4-oni-and-tni Trenberth, Kevin National Center for Atmospheric Research Staff (Eds). Last modified 2024-03-20 The Climate Data Guide: Nino SST Indices (Nino 12, 3, 3.4, 4; ONI and TNI).” Trenberth, K.E. and Stepaniak, D.P. (2001) Indices of El Nino Evolution. Journal of Climate, 14, 1697-1701. https://doi.org/10.1175/1520-0442(2001)0141697:LIOENO2.0.CO;2 https://climate.usu.edu/people/yoshi/pyclm101/index.html 本文由mdnice多平台发布