厄尔尼诺介绍与指数计算 您所在的位置:网站首页 诺代表啥意思 厄尔尼诺介绍与指数计算

厄尔尼诺介绍与指数计算

#厄尔尼诺介绍与指数计算 | 来源: 网络整理| 查看: 265

引言

之前我们简单介绍了NetCDF数据格式以及如何用Python进行简单的处理和分析。近年来,随着全球气候的变化,各类气象极端事件也大有愈演愈烈之势,例如2014-2016年就发生了记载以来最强的厄尔尼诺事件。就本文将在此基础上,介绍厄尔尼诺指数的计算和分析过程。

厄尔尼诺介绍 基本概念

第一次接触“厄尔尼诺”的概念,还是上小学的时候,看我爸的工程师英语教材(上面有很多用于阅读理解的科普文章,很有意思)。

厄尔尼诺現象(西班牙語:El Niño),指东太平洋海水每隔数年就会异常升温的现象,是厄尔尼诺-南方振荡现象(El Niño-Southern Oscillation,简称ENSO)中,东太平洋升温的阶段。厄尔尼诺是西班牙语,意指“小男孩”,指的是耶稣,因为南美太平洋的变暖时期通常都在圣诞节附近,所以厄尔尼诺现象也被叫做“圣婴”现象。它与中太平洋和东太平洋(约在国际换日线及西经120度)赤道位置产生的温暖海流有关,厄尔尼诺-南方振荡现象是指中太平洋和东太平洋赤道位置海面温度的高低温循环。

此外,厄尔尼诺-南方振荡现象中的低温阶段称为拉尼娜现象(也称为反圣婴现象),是指东太平洋的海面温度高于平均值,以及西太平洋的气压较低及东太平洋的气压较高所造成。

厄尔尼诺影响

厄尔尼诺/拉尼娜是指赤道中、东太平洋海表大范围持续异常偏暖/冷的现象,是气候系统年际气候变化中的最强信号。厄尔尼诺/拉尼娜事件的发生,不仅会直接造成热带太平洋及其附近地区的干旱、暴雨等灾害性极端天气气候事件,还会以遥相关的形式间接地影响到全球其它地区天气气候并引发气象灾害。

2014-2016年发生的超强厄尔尼诺事件,导致全球气候异常变化,包括我国在内的多个国家都经历了严重的洪涝灾害或旱灾,导致多国粮食严重减产,人民生命财产安全受损。1998年的极强厄尔尼诺事件会造成我国长江流域的严重洪涝灾害,给人民生命财产安全和我国经济发展带来巨大影响。我国历史上长江流域的大水年(1969年、1983年、1987年、1991年和1998年)都发生在厄尔尼诺的次年。

enso-warm-episode-djf

厄尔尼诺指数 指数简介

厄尔尼诺现象的影响如此巨大,显然我们迫切需要了解目前甚至预测未来厄尔尼诺现象的状态。对人来说,最理想的情况莫过于有一个直观的指标来表征这一切。从历史上来看,我们也正是这么多的:将描述厄尔尼诺现象所需要的复杂因素归结为一个简单的数字,然后跟踪这个数字的变化。

目前,国际上流行的厄尔尼诺指数简单介绍如下:

Oceanic Niño Index (ONI),这是NOAA的官方指标,基于中东部热带太平洋(Nino 3.4区域)的三个月海表温度异常平均值(sea surface temperature anomalies, SSTA)计算; Niño 1~4 指数,将赤道中东太平洋划分为几个区域包括Nino 1,2,3,4和3.4区,对每个区域计算SSTA; Souther OScillation Index (SOI),塔希提(Tahiti)与达尔文(Darwin)站月平均海平面气压差序列的标准化值 Multivariate ENSO Index (MEI),基于赤道太平洋海6个气象变量的加权线性组合计算得到; 其他指数,参见 https://mrcc.illinois.edu/mw_climate/elNino/climatology.jsp

enso_indices

我们可能会有疑问:一方面我们希望将ENSO简化为一个简单的指数,另一方面却又提出了各种各样的指数将问题复杂化,为什么不用一个最好的指数呢?

首先,ENSO作为一种气象现象,他本身就是人为定义出来的,我们可以认为有定性描述的现象是客观的,但是定量的界定却是主观的,因此在没有客观标准的前提下,我们并不能说哪一个指数就真正表征ENSO。

其次,ENSO本身作为一个极其复杂的气象事件,目前看来任何指数都是对这一事件的简化,就像盲人摸象一样,一个指数可能是ENSO在某一方面的投射,所以如果像尽可能全地描述ENSO就需要多个指数。

而且,一个非常重要的原因是,不用指数反映了ENSO的不同侧面,而不同地区受ENSO的影响也是不同的。说白了,ENSO本来也是为了解释全球范围内的气象变化,那么不同国家的气象机构关心的是其受EMSO影响最大的方面,因此在指数的选取上不同国家有着不同的偏好。例如,热带太平洋岛屿上的人们可能更关心SST,而在远离热带太平洋的国家,他们可能更关心海平面气压的大规模变化。

当然,在这些指数里面,最常用的是ONI和NINO3.4,两者都是基于nino 3.4区的SSTA计算,区别在于计算SSTA均值的滑动窗口和判别标准,例如在判定厄尔尼诺时,ONI通常采用三个月滑动平均SSTA连续5个月超过0.5摄氏度,而NINO3.4为5个月滑动平均连续6个月超过0.4摄氏度。

我国2017年新制定的国标实际上选用的就是ONI(虽然写的是NINO3.4)。

国标规定

2014年至2016年的超强厄尔尼诺事件暴露出厄尔尼诺/拉尼娜事件认定存在分歧的问题。针对国内尚缺乏统一的厄尔尼诺/拉尼娜事件判别标准的现状,为了规范判别标准,2017年,国家气候中心牵头制定《厄尔尼诺/拉尼娜事件判别方法》国家标准。

标准对主要海温监测关键区及指数、判别方法等做了明确规定:

标准采用了国际通用的NINO3.4来判别事件的发生、强度、持续时间等,用东部型指数(IEPI_{EP}IEP​)和中部型指数(ICPI_{CP}ICP​)来判定事件的类型。 NINO3.4的3个月滑动平均绝对值达到或超过0.5℃、持续至少5个月,判定为一次厄尔尼诺/拉尼娜事件(指数≥0.5℃为厄尔尼诺事件;指数≤-0.5℃为拉尼娜事件);以NINO3.4满足事件判定的时间为持续时间。 在事件过程中,NINO3.4的3个月滑动平均绝对值达到最大的时间和数值分别定义为事件的峰值时间和峰值强度。然后,用 IEPI_{EP}IEP​ 和 ICPI_{CP}ICP​ 来判定事件的类型:事件过程中 IEPI_{EP}IEP​ 的绝对值达到或超过0.5℃且持续至少3个月的类型判定为东部型事件;事件过程中 ICPI_{CP}ICP​ 的绝对值达到或超过0.5℃且持续至少3个月的类型判定为中部型事件。 若一次事件中同时包含上述两种情况、存在两种类型间的转换,则将事件峰值所在类型定义为事件主体类型,另一种为非主体类型,整个事件的类型以事件主体类型为准。

用 IEPI_{EP}IEP​ 和 ICPI_{CP}ICP​ 可以衡量出两类事件对中国气候不同的影响关系。就中国东部地区夏季降水而言,ICPI_{CP}ICP​所反映的中部型影响与 IEPI_{EP}IEP​ 所反映的东部型影响都很明显,且基本上影响相反。例如,中部型会导致华北-西北东部地区多雨、长江流域少雨,东部型则使得华北-西北地区东部少雨、长江流域多雨。相比之下,NINO3.4区介于东部型和中部型之间,其海温异常的影响也是介于两种类型指数影响之间,即无论是正负影响区的振幅都明显弱于 IEPI_{EP}IEP​ 和 ICPI_{CP}ICP​ 的影响。这充分说明,从气候影响来看,采用IEP和ICP作为监测指标来判别事件,要比单纯用ININO3.4对我国气候异常更具有指示意义。

(以上来源:《中国气象报》2017年6月20日三版)

计算公式

厄尔尼诺/拉尼娜事件的主要监测关键区,包括NINO1+2区(90°W-80°W,10°S-0°)、NINO3区(150°W-90°W,5°S-5°N)、NINO4区(160°E-150°W,5°S-5°N)和NINO3.4区(170°W-120°W,5°S-5°N)。根据我国国标,需要的指数分别计算如下(事件判别标准请查阅国标):

ENSOindices_locations

NINO3指数

NINO3区SSTA 的平均值。

NINO4指数

NINO4区SSTA 的平均值。

NINO3.4指数

NINO3.4区SSTA 的平均值。

东部型厄尔尼诺/拉尼娜指数

IEP=ININO3−α×ININO4I_{EP} = I_{NINO3}-\alpha\times{I_{NINO4}} IEP​=ININO3​−α×ININO4​

其中,

IEPI_{EP}IEP​ —东部型厄尔尼诺/拉尼娜指数,单位为摄氏度(℃); ININO3I_{NINO3}ININO3​ —NINO3指数,单位为摄氏度(℃); ININO4I_{NINO4}ININO4​ —NINO4指数,单位为摄氏度(℃); α\alphaα —当 ININO3×ININO4>0.4I_{NINO3}\times{I_{NINO4}>0.4}ININO3​×ININO4​>0.4 时,α=0.4\alpha=0.4α=0.4;否则 α=0\alpha=0α=0 。 中部型厄尔尼诺/拉尼娜指数

ICP=ININO4−α×ININO3I_{CP} = I_{NINO4}-\alpha\times{I_{NINO3}} ICP​=ININO4​−α×ININO3​

其中,

ICPI_{CP}ICP​ —中部型厄尔尼诺/拉尼娜指数,单位为摄氏度(℃)。 ONI时间序列计算 导入数据 12345678910%matplotlib inlineimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport matplotlib as mplimport datetimeimport xarraympl.rcParams['figure.figsize']=(20,9)mpl.style.use('ggplot')

我们注意到计算ONI只需要海洋表面温度的历史数据,可以从NOAA Earth System Research Laboratory Physical Sciences Division (https://www.esrl.noaa.gov/psd/) 下载该数据。

123sst_file = 'data/skt.mon.mean.nc'sst_data = xarray.open_dataset(sst_file)sst_data Dimensions: (lat: 94, lon: 192, time: 857) Coordinates: * lat (lat) float32 88.542 86.6531 84.7532 82.8508 80.9473 79.0435 ... * lon (lon) float32 0.0 1.875 3.75 5.625 7.5 9.375 11.25 13.125 15.0 ... * time (time) datetime64[ns] 1948-01-01 1948-02-01 1948-03-01 ... Data variables: skt (time, lat, lon) float32 ... Attributes: description: Data is from NMC initialized reanalysis\n(4x/day). It cons... platform: Model Conventions: COARDS NCO: 20121013 history: Tue Jul 6 00:05:45 1999: ncrcat skt.mon.mean.nc /Datasets/... title: monthly mean skt.sfc from the NCEP Reanalysis References: http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanaly... 123456lon = sst_data.lon.valueslat = sst_data.lat.valuesnctime = sst_data.time.valuesnctime = nctime.astype('M8[ms]').astype('O')t_unit = sst_data.skt.unitsskt = sst_data.skt.values

获取Nino3.4区的经纬度范围和需要计算的时间范围:

1234567# subregion for nino3 areaidx_lat = (lat>=-5.0) & (lat=210.0) & (lon= 1981) & (years =210.0) & (sst_df.lon0, color='red', alpha=0.75)plt.fill_between(oni_df.index, 0, oni_df.oni, oni_df.oni3].index)print(oni_df[oni_df.oni


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有