spei_documentation

spei函数计算标准化precipitation-evapotranspiration指数基于标准化的一个简化的水平衡基于特定位置的气候学。

参见:宠物

回到气候数据工具的内容

内容

语法

s = spei (t prec pevap)[年代,色彩]= spei (t prec pevap, integrationtime,个月)

描述

s = spei (t prec pevap)计算标准化precipitation-evapotranspiration指数年代,由于降水前的和潜在蒸发pevap相应时间t前的pevap可以是1维向量或三维立方体,前两个维度的空间和第三个维度对应的时间吗t。的尺寸前的pevap必须同意。次tdatetime或datenum格式。

(年代,色调)= spei (t prec pevap, integrationtime,个月)集/(1、2、3、4、6、12个月。默认的积分时间1月。输出色彩包含日期的时间序列。

例子

这个示例了如何计算和显示时间和空间模式的标准化precipitation-evapotranspiration SPEI指数。我们将使用NCEP / NCAR再分析资料(我每日气候数据Assimiliation系统)下载IRI / LDEO气候数据哥伦比亚大学的图书馆

文件ncep-ncar。垫包含许多三维数组的每日平均温度(T)的值,最高温度(达峰时间),最低温度(TMIN)和降水(P)以及向量时间,经度和纬度。从气候数据检索这些变量图书馆是解释这一页的底部。

负载ncep-ncar

我们的数据跨越时间范围

disp ([min (t) max (t))) disp(年(max (t)最小值(t)))
2008-01-01 2018-12-31 10.9982

降水是单位公斤^ 2 / m ^ 2 / s,我们改变这些单位毫米/天。温度在K和我们改变他们摄氏度。

P = P * 3600 * 24;T = T - 273.15;达峰时间=最高温度- 273.15;TMIN = TMIN - 273.15;

计算地球外的太阳辐射

哈格里夫斯和萨马尼的宠物方程需要外星辐射(Ra)作为输入。Ra是太阳辐射水平表面上地球大气层的顶端,是基于地球轨道参数的计算依赖于纬度。我们希望有太阳辐射的时间变化集成/每天的时间间隔也可以使用函数计算solar_radiation函数。使用meshgrid纬度、经度向量分成网格,从而给我们一个不同的纬度值为每个网格单元:

(经度、纬度)= meshgrid(经度、纬度);Ra = solar_radiation (t, Lat);%绘制网格单元5,5:情节(t,挤压(Ra (5 5:))) ylabel (Ra (MJ m ^ 2天^ {1})”)标题(太阳辐射的num2str (lat (5))“\ circN”])

计算潜在蒸散

SPEI需要降水和潜在蒸散(PET)。宠物计算公式的基础上,哈格里夫斯和萨马尼(1985)参考作物蒸散估算基于温度和外星辐射。

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

pevap =宠物(Ra,达峰时间、TMIN T);情节(t,挤压(pevap (5 5:))) ylabel (宠物[毫米的一天^ {1})”)标题(“潜在蒸发”num2str (lat (5))“\ circN”,num2str(朗(5))“\赛丝”])

计算SPEI

SPEI是干旱指数,可以使用不同的科学学科探测、监视和分析干旱。SPEI允许比较干旱的严重程度通过时间和空间,因为它可以在一个广泛的气候计算。这个函数spei计算该指数基于降水和宠物之间的差异,使设置不同大小的集成。

% SPEI计算的两种方法:s = spei (t, P, pevap);(s3, t3) = spei (t, P, pevap,“integrationtime”3);图subsubplot(2, 1, 1)情节(t,挤压(s (5 5:)))情节(t3挤压(s3 (5 5:))) ylabel (“SPEI”)轴标题([“SPEI在”num2str (lat (5))“\ circN”,num2str(朗(5))“\赛丝”])传说(“生”,“3月集成”)subsubplot(2, 1, 2)情节(t,挤压(P (5 5:))) ylabel (降水[毫米的一天^ {1})”甘氨胆酸)组(,“yaxislocation”,“对”)轴

检索NCEP / NCAR再分析数据

这是脚本显示了如何接收ncep-ncar。垫我们使用文件,在这个文件中。

空白= ' % 20 ';bopen = ' % 28 ';bclose = ' % 29 ';datestart = 1 2008年1月的;dateend = ' 2018年12月31日;lonlims =“30.0/50.0”;%的27.1875/45.9375;latlims =“20.0/5.0”;var ={“临时”、“最大”、“最小”};
为r = 1:元素个数(var) url = [“https://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NCEP-NCAR/.CDAS-1/.DAILY/”……“.Diagnostic / .above_ground /”,…”。var {r} / T /”……”(“datestart”) (“dateend”) RANGEEDGES /”……“X /”lonlims / RANGEEDGES”……“Y /”latlims ' / RANGEEDGES /国防部'];
url =取代(url、“空格);url =取代(url, ' (', bopen);url =取代(url), bclose);如果r = = 1朗= ncread (url,“X”);lat = ncread (url, ' Y ');t = ncdateread (url, ' t ');结束
如果r = = 1 T = ncread (url,“临时”);elseif r = = 2达峰时间= ncread (url,“临时”);其他TMIN = ncread (url,“临时”);结束结束T =紧缩(T);达峰时间=挤压(达峰时间);TMIN =挤压(TMIN);
var =“空谈”;在url kg / m2 / s % = [“https://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NCEP-NCAR/.CDAS-1/.DAILY/”……“.Diagnostic / .surface /”,…”。“var”/ T /”……”(“datestart”) (“dateend”) RANGEEDGES /”……“X /”lonlims / RANGEEDGES”……“Y /”latlims ' / RANGEEDGES /国防部'];url =取代(url、“空格);url =取代(url, ' (', bopen); url = replace(url,')',bclose); lonp = ncread(url,'X'); latp = ncread(url,'Y'); P = ncread(url,'prate'); P = squeeze(P);
%三维数组的第一和第二维度转换。%这里我们使用函数交换交换维度:经度=朗';T =排列(T (2 1 3));达峰时间=排列(最高温度(2 1 3));TMIN =排列(TMIN [2 1 3]);P =排列(P (2 1 3));
保存ncep-nacar.mat

引用

作者信息

这个函数和支持文档写的Jose De金宝applgado和沃尔夫冈Schwanghart(波茨坦大学),2019年2月,气候数据为Matlab工具箱。