gma 教程:计算标准化降水指数(SPI)

安装 gma:pip install gma (依赖的 gdal 需自行安装)

本文基于:gma 2.0.8,Python 3.10

本文用到数据请从 gma 网站获取:https://gma.luosgeo.com/UserGuide/climet/Index/SPI.html 。

SPEI 函数简介

gma.climet.Index.SPI(PRE, Axis = None, Scale = 1, Periodicity = 12, Distribution = ‘Gamma’, FitMethod = ‘MLE’, Calibration = None)


功能:【标准化降水指数】。计算标准化降水指数(Standardized Precipitation Index)。

参数:

 PRE: array。降水量(mm)。

可选参数:

  Axis = int。计算轴。如果不设置(None),多维数据会将所有数据展开到一维计算。

  Scale = int。时间尺度。默认为 1。例如:1月、3月或其他。

  Periodicity = int。周期。默认为 12。

周期定义了参与拟合数据的分组方式,例如:

  • 输入月数据,Periodicity = 12 时,每个月份(共 12 组数据)之间互不干扰,独立拟合,更适合针对月份独立分析;
  • 输入月数据,Periodicity = 1 时,所有月份(共 1 组)同时参与拟合,相互影响,更适合分析月份之间的差异。

  Distribution = str。用于内部拟合/变换计算的分布类型。默认为 Gamma。

支持的分布类型

  • ‘Gamma’:伽马分布;
  • ‘LogLogistic’:对数逻辑斯蒂分布;
  • ‘Pearson3’:皮尔逊 III 分布。

  FitMethod = str 。用于内部拟合/变换计算的参数估计方法。默认为 MLE。

支持的分布类型

  • ‘MLE’:最大似然估计;
  • ‘LMoment’:L-矩估计(PWD,概率加权矩);
  • ‘LMoment2’:L-矩估计。

  Calibration = list||slice||None。参与内部参数拟合运算数据的周期。默认(None)为全部数据。

返回:array

参考文献:

 McKee T B, Doesken N J, Kleis J. The relationship of drought frequency and duration to time scales[R]. Eighth Conf. on Applied Climatology, Anaheim, CA: American Meteor Society, 1993.


示例:

from gma import climet, io
from gma import io

ELSXLayer = io.ReadVector('PRE_ET0.xlsx')
Data = ELSXLayer.ToDataFrame()

PRE = Data['PRE'].values

# 分别计算1个月、3个月、6个月、12个月、24个月、60个月尺度的 SPI 数据
SPI1 = climet.Index.SPI(PRE)
SPI3 = climet.Index.SPI(PRE, Scale = 3)
SPI6 = climet.Index.SPI(PRE, Scale = 6)
SPI12 = climet.Index.SPI(PRE, Scale = 12)
SPI24 = climet.Index.SPI(PRE, Scale = 24)
SPI60 = climet.Index.SPI(PRE, Scale = 60)

不同尺度 SPEI 结果


其他示例

#### 以12为周期,使用第1至第5个周期(第1、2、3、4、5年的数据)拟合参数,并计算所有结果
SPI1 = climet.Index.SPI(PRE, Periodicity = 12, Calibration = slice(0, 5))
#### 更换为 泊松 III 分布,最大似然估计(MLE)拟合
SPI1 = climet.Index.SPI(PRE, Distribution = 'Pearson3', FitMethod = 'MLE')
  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛的地理研学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值