spei_documentation

spei.功能基于基于特定位置的气候学,基于简化水平衡的标准化来计算标准化沉淀蒸发折射率。

也可以看看:宠物

返回气候数据工具内容

内容

句法

s = spei(t,prev,pevap)[s,tint] = spei(t,pred,pevap,'集成时间',月份)

描述

s = spei(t,pred,pevap)计算标准化的降水蒸发散热率指数S.,给予沉淀,prop和潜在的蒸发PEVAP对应于时间T.PER.PEVAP.可以是1D矢量或3D立方体,其前两个维度是空间的,其第三维对应于时间T.。尺寸PER.PEVAP.必须同意。时代T.可以是DateTime或DateNum格式。

[s,tint] = spei(t,prev,pevap,'集成时间',月份)整合超过1,2,3,4,6或12个月。默认的集成时间是1月。输出着色包含缩小时间序列的日期。

例子

该示例展示了如何计算和显示标准化沉淀蒸发散热率指数SPEI的时间和空间模式。我们将使用NCEP / NCAR再分析数据(气候数据同化系统我每天)下载从哥伦比亚大学的IRI / LDEO气候数据库

文件NCEP-NCAR.MAT包含平均温度(t),最大温度(Tmax),最小温度(Tmin)和降水(P)以及时间,纬度和径向的乘积的多个三维数量经度。在本页底部解释了从气候数据库中检索这些变量。

加载NCEP-NCAR.

我们的数据跨越时间范围

DISP([min(t)max(t)])disp(多年(max(t)-min(t))))
2008-01-01 2018-12-31 10.9982

降水量有单位kg ^ 2 / m ^ 2 / s,我们将这些单位改为mm / day。温度是k,我们将它们改为℃。

p = p * 3600 * 24;t = t-273.15;tmax = tmax-273.15;tmin = tmin-273.15;

计算外星人太阳辐射

Hargreaves和Samani的宠物方程需要外星辐射(RA)作为输入。RA是地球大气层顶部的水平表面上的太阳辐射,并且基于依赖于纬度的地球的轨道参数来计算。我们希望在每日时间间隔内集成的太阳辐射时间变化,可以使用该功能计算太阳辐射功能。采用Meshgrid.转而扭转拉特,Lon向往的载体,从而为每个网格单元提供了一个不同的纬度值:

[LON,LAT] = Meshgrid(LON,LOT);ra = solar_radiation(t,lat);%绘图网格单元5,5:绘图(T,挤压(Ra(5,5,:))ylabel('ra [mj m ^ 2天^ { -  1}]') 标题(['太阳辐射'Num2str(LAT(5))'\ civn'])

计算潜在的蒸散蒸腾

Spei需要降水和潜在的蒸发(PET)。宠物是基于Hargreaves和Samani(1985)的公式计算的,其估计基于温度和外星辐射的参考作物蒸发。

计算潜在蒸发有许多方法。找到编译这里(见补充剂)。在这里,我们使用Hargreaves-Samani(1985)的公式,这是一种基于温度的方法来计算潜在的蒸散(PET)并在功能宠物中实现。使用Hargreaves-Samani方程的主要优点在于其简单性和对输入参数的要求。

Pevap = PET(RA,Tmax,Tmin,T);绘图(T,挤压(PEVAP(5,5,:))ylabel('宠物[mm day ^ { -  1}]') 标题(['潜力蒸发'Num2str(LAT(5))'\ civn,'num2str(lon(5))'\ circe'])

计算Spei.

Spei是一种干旱指数,可以由不同的科学学科用于检测,监测和分析干旱。Spei允许通过时间和空间进行干旱严重程度,因为它可以在广泛的气候范围内计算出来。功能spei.根据降水和PET之间的差异来计算索引,并启用设置不同大小的集成时间。

%两种计算SPEI的方法:s = spei(t,p,pevap);[S3,T3] = SPEI(T,P,PEVAP,'IntegationTime',3);图Subsubplot(2,1,1)图(T,挤压(s(5,5,:))保持图(T3,挤压(S3(5,5,:)))Ylabel('spei')轴紧的标题(['spei's'Num2str(LAT(5))'\ civn,'num2str(lon(5))'\ circe']) 传奇('生的''3个月集成')子取样(2,1,2)图(t,挤压(p(5,5,:))ylabel('降水[mm day ^ { -  1}]')设置(GCA,'yaxislocation''对')轴紧的

检索NCEP / NCAR再分析数据

以下是显示我们在此文件中使用的ncep-ncar.mat文件的脚本。

空白='%20';Bopen ='%28';bclose ='%29';datestart ='2008年1月1日';Dateend = '31 2018年12月';lonlims = '30 .0 / 50.0';%'27 .1875 / 45.9375';Latlims = '20 .0 / 5.0';vars = {'temp','最大','最小'};
对于r = 1:numel(vars)url = ['https://iridl.ldeo.columbia.edu/sources/.noaa/.ncep-ncar/.cdas-1 /.daily/' ...'.diagnostic/.above_ground /',...'。'vars {r}'/ t /'...'('datestart')(''sestart')范围/'...'x /'lonlims'/ rangeedges /'...''y /'latlims'/ rangeedges/ dods'];
URL =替换(URL,',空格);URL =替换(URL,'(',bopen); url =替换(url,')',bclose);如果r == 1 lon = ncread(url,'x');lat = ncread(url,'y');t = ncdateread(URL,'t');结尾
如果r == 1 t = ncread(URL,'temp');elsefif r == 2 tmax = ncread(url,'temp');否则Tmin = ncread(URL,'temp');结束T =挤压(T);tmax =挤压(tmax);tmin =挤压(tmin);
vars ='prate';kg / m2 / s url = ['https://iridl.ldeo.columbia.edu/sources/.noaa/.ncep-ncar/.cdas-1/.daily/' ...'.diagnostic /。表面/',... '。'vars' / t /'...'('datestart')('dateent')rangeedges /'...''x /'lonlims'/ rangeedges /'...''y /'latlims'/ rangeedges / dods'];URL =替换(URL,',空格);URL =替换(URL,'(',bopen); url =替换(url,')',bclose);lonp = ncread(url,'x');Latp = ncread(URL,'y');p = ncread(URL,'Prate');p =挤压(p);
%三维阵列具有它们的第一和第二尺寸切换。%在这里我们使用函数效果交换尺寸:lon = lon';t =换算(t,[2 1 3]);tmax =换算(tmax,[2 1 3]);Tmin =润滑(Tmin,[2 1 3]);p =换算(p,[2 1 3]);
保存NCEP-Nacar.Mat

参考

作者信息

该职能和支持文档由Josédelga金宝appdo和沃尔夫冈施旺哈特(波茨坦大学)为2019年2月,为Matlab的气候数据工具箱(Potsdam)编写。