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 ioELSXLayer = 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')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/797770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#编程基础学习之方法

目录 C#方法方法参数默认参数值多个参数返回值命名参数 方法重载 C#方法 实例 在程序类内创建一个方法: class Program {static void MyMethod() //static 静态意味着方法属于程序类,而不是程序类的对象。void 表示此方法没有返回值。MyMethod() 是方法…

比较720组结构数列的收敛过程

在行,列可自由变换的平面上3点结构只有6个 这次计算由这6个结构排列组合,构成的所有720个不重复数列的递推收敛过程。 结果表明,所有的数列都可以在有限步内收敛。 有461个数列在3-4-3的递推过程中是天然稳定的,收敛结果就是本身…

上海计算机学会 2024年3月月赛 丙组T1 最近的数字(数学)

第一题:T1最近的数字 标签:数学题意:给定两个正整数 n n n与 d d d,请找到所有最接近 n n n且是 d d d的倍数的整数。如果有多个数字满足要求,从小到大输出。数据范围: 1 ≤ n , d ≤ 1 , 000 , 000 , 000…

STM32学习和实践笔记(4):分析和理解GPIO_InitTypeDef GPIO_InitStructure (c)

第二个成员变量是GPIOSpeed_TypeDef GPIO_Speed;也与int a一样同理。 GPIOSpeed_TypeDef是一个枚举类型,其定义如下: typedef enum { GPIO_Speed_10MHz 1, GPIO_Speed_2MHz, GPIO_Speed_50MHz }GPIOSpeed_TypeDef; #define IS_GPI…

.NET Standard、.NET Framework 、.NET Core三者的关系与区别?

.NET Standard、.NET Framework 和 .NET Core 是 .NET 平台生态中的三个关键概念,它们之间存在明确的关系和显著的区别。下面分别阐述它们各自的角色以及相互间的关系: .NET Standard 角色: .NET Standard 是一套正式的 API 规范&#xff0c…

项目经理常用的工具模型有哪些?

项目经理常用的工具模型包括但不限于以下几种: 甘特图:这是一种将大型项目划分为几个阶段,并展示项目进度的工具。在甘特图中,可以清晰地看到每个任务的开始和结束时间,以及任务之间的依赖关系。 工作分解结构&#…

Leetcode刷题-哈希表详细总结(Java)

哈希表 当我们想使⽤哈希法来解决问题的时候,我们⼀般会选择如下三种数据结构。 数组set (集合)map(映射) 当我们遇到了要快速判断⼀个元素是否出现集合⾥的时候,就要考虑哈希法。如果在做⾯试题⽬的时候…

解决npm install报错npm ERR Unsupported URL Type “npm:“: npm:vue-loader@^16.1.0 问题

node版本以及npm版本太旧会造成这个问题 1.下载安装nvm 网址:Releases coreybutler/nvm-windows GitHub 2.安装 后使用nvm命令安装切换node版本 安装node版本: nvm install 12.22.12 等待安装完成,使用命令切换版本 nvm use 12.22.1…

Samba 总是需要输入网络凭证

输入网络凭证: 用户名是 cat /etc/samba/smb.conf,查看 valid users mxw 为用户名。而不是其他账号名或者用户名,更不是登录计算机时的计算机名; 密码是 需要记住安装samba服务器时,自己设置的password&#xff1…

LED发光模组的故障及解决方法

LED发光模组在应用过程中可能会出现各种故障,正确诊断并采取相应的解决方法至关重要,以下是一些常见故障现象及其解决方法的总结: 一、现象:所有的LED闪烁 问题:接触不良 解决方法:检查并重新固定松动处&am…

单片机为什么还在用C语言编程?

单片机产品的成本是非常敏感的。因此对于单片机开发来说,最重要的是在极其有限的ROM和RAM中实现最多产品的功能。或者反过来说,实现相同的产品功能,所需要的ROM和RAM越小越好,在开始前我有一些资料,是我根据网友给的问…

linux网络预备

网络预备 网络协议初识 协议分层 打电话例子 在这个例子中, 我们的协议只有两层; 但是实际的网络通信会更加复杂, 需要分更多的层次。 分层最大的好处在于 “封装” 。 OSI七层模型 OSI(Open System Interconnection,开放系统互连)七层网…

Datacom HCIP笔记-路由策略与路由控制 之二

路由策略和策略的区别? 路由策略: 操作的对象是路由表条目, 实现路由过滤,从而实现访问控制,引入时过滤,发送和接收路由时过滤。 通过配置cost,来实现路径的控制。 策略路由: 对…

【Vue3源码学习】— CH2.8 Vue 3 响应式系统小结

Vue 3 响应式系统小结 1.核心概念1.1 Proxy和Reflect1.2 响应式API1.3 依赖收集与更新触发1.4 触发更新(Triggering Updates):1.5 副作用函数(Effect)1.6 计算属性和观察者1.7 EffectScope1.8 性能优化: 2.…

GPT-5将在6月发布前进行「红队进攻测试」

“GPT-5将在6月发布”的消息刷屏了AI朋友圈。这则消息之所以被无数人相信并转发,是因为已经有不少技术人员在社交平台上晒出了「红队进攻测试」邀请。 基于 GPT系列庞大的用户体量和影响力,OpenAI 将更加重视GPT-5 的安全性,作为GPT-5上市前的…

【编译原理】手工打造语法分析器

重点: 语法分析的原理递归下降算法(Recursive Descent Parsing)上下文无关文法(Context-free Grammar,CFG) 关键点: 左递归问题深度遍历求值 - 后续遍历 上一篇「词法分析器」将字符串拆分为…

AudioLDM2全文翻译

AUDIOLDM 2: LEARNING HOLISTIC AUDIO GENERAT I O N W I T H SELF-SUPERVISED PRETRAINING 由于原本在notion上写的,文章中的文字链接大部分是我查询的一些资料,做的内部引用,所以无法展示。文章图片部分请参考原论文,相关工作部…

水经微图网页版309项功能清单

让每一个人都有自己的地图! 水经微图(简称“微图”)网页版,是越来越受到大家的亲睐了! 就后台统计数据来看,日均IP数据在稳步增长,老访客的占比最高达35%以上。 在上上周,还分别有…

PMP考试费太贵,能不能自学?

最近6月PMP考试报名工作正在如火如荼的进行,可能大家对于考试费用已经有了基本了解,今天给大家分享一下PMP证书考下来需要花费多少?能不能自己学习? PMP是什么? PMP项目管理专业人士资格认证,由项目管理协…

最讨厌这种字符串问题了!!

题目:洛谷P1957口算练习题 题目大意描述: 第一行输入一个整数表示接下来要进行多少次运算,接下来每行输入一个字母c和两个数字x,y(输入的字母为a/b/c,分别表示要进行,-,*运算)或者就输入两个数…