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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring 中类似 aBbb 单字母单词序列化与反序列问题

文章目录 前言代码准备问题排查lombok自定义生成 get、set 结合源码解析使用 lombok使用 lombok 自定义生成 user 对象 get、set 方法 如何解决使用注解 JsonProperty("aTest")自定义实现符合 Spring 规范的 get set 方法 个人简介 前言 最近在使用 spring boot mvc…

SpringBoot整合RabbitMQ------------->直连交换!!!

一、创建一个springboot项目 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 二、配置RabbitMQ连接 1、在application.properties或application.…

蓝桥杯 - 九宫幻方

解题思路&#xff1a; 枚举法 import java.util.Scanner;//枚举法&#xff0c;采用枚举的方式存储不同的九宫格排列 public class Main {// 定义九个不同的九宫格排列public static int[][] exp {{ 4, 9, 2, 3, 5, 7, 8, 1, 6 },{ 8, 3, 4, 1, 5, 9, 6, 7, 2 },{ 6, 1, 8, 7…

五分钟快速搭建五金行业小程序商城教程解析

作为五金行业的从业者&#xff0c;你可能想要拓展线上业务&#xff0c;提供更方便快捷的购物体验给顾客。而小程序商城成为了一种非常受欢迎的方式。但是&#xff0c;你可能觉得不懂代码无法实现这样的小程序商城。现在&#xff0c;我将通过以下步骤&#xff0c;教你如何在五分…

vitepress系列-02-设置自定义的首页

文章目录 设置自定义的首页进阶版设置首页 设置自定义的首页 初始首页效果&#xff1a; 设置成自己的首页&#xff0c;更改config.mts和 docs/index.md文件&#xff1a; 设置版权 export default defineConfig({lang: en-US,title: "东东爱编码的技术博客",descrip…

【Unity每日一记】鼠标相关API

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

[pyenv] 1. 安装与使用

在看了几个开源的python环境管理器的评论后, 我打算入手 pyenv, 该项目有以下几个优势: 该项目使用纯shell脚本语言实现, 天然亲和linux开发环境.通过设置的PATH环境变量和shims方法隔离的实现方案非常轻量化.子命令引入了compgen补全功能, 对命令输入操作友好.源码开源, 可扩展…

企业进货出货统计软件,简单、好用、高效!

企业进货出货统计是一件比较繁琐的事情&#xff0c;如果还是按照传统的方式&#xff0c;不仅效率低&#xff0c;还会出现漏单&#xff0c;错单的情况发生。如今大多数企业都选择使用进货出货统计软件&#xff0c;简单、好用、还高效&#xff0c;不仅能节省人力&#xff0c;成本…

iOS 应用内网络请求设置代理

主要通过URLSessionConfiguration 的connectionProxyDictionary 属性 为了方便其他同学使用&#xff0c;我们可以通过界面来进行设定&#xff08;是否开启代理、服务端、端口&#xff09;&#xff0c;从而达到类似系统上的设定 具体链接参考&#xff1a;为 iOS 网络请求设置代理…

算法整理:二分查找

二分查找&#xff1a;在有序集合搜索特定值的过程&#xff0c;每次比较之后将查找空间一分为二。 target:要查找的值 index:当前位置 left,right:维持查找空间的指标 mid:用来确定向左查还是向右查的索引 查找空间: [left,right] 二分查找维护left&#xff0c;right&#xff0c…

代码随想录Day27:回溯算法Part3

Leetcode 39. 组合总和 讲解前&#xff1a; 这道题其实在掌握了之前的组合问题之后再看并不是那么难&#xff0c;其关键就在于我们这道题中没有一个特定需要的组合大小&#xff0c;并且列表中的元素是可以重复使用的&#xff0c;那么比如说给的例子中的 输入: candidates [2…

探索基于WebRTC的有感录屏技术开发流程

title: 探索基于WebRTC的有感录屏技术开发流程 date: 2024/4/7 18:21:56 updated: 2024/4/7 18:21:56 tags: WebRTC录屏技术屏幕捕获有感录屏MediaStream实时传输音频录制 第一章&#xff1a;技术原理 WebRTC&#xff08;Web Real-Time Communication&#xff09;是一种开放源…

蓝桥杯真题代码记录(数位排序

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。当 两个数各个数位之和不同时, 将数位和较小的排在前面, 当数位之和相等时, 将数值小的排在前面。 例如, 2022 排在 40…

Redis分布式锁的实现核心思路

4.2 、Redis分布式锁的实现核心思路 实现分布式锁时需要实现的两个基本方法&#xff1a; 获取锁&#xff1a; 互斥&#xff1a;确保只能有一个线程获取锁非阻塞&#xff1a;尝试一次&#xff0c;成功返回true&#xff0c;失败返回false 释放锁&#xff1a; 手动释放超时释放&…

宏电“窨井卫士”家族成员大公开:城市地下生命线安全守卫者

窨井是城市建设中非常重要的基础设施 井内的水位、流量、水质情况 能直观反映城市排水管网的运行状态 秉承宏电智能感知技术的积累与沉淀 针对窨井水位、流量、水质监测领域 宏电“窨井卫士”家族产品各显神通 为窨井安全运行保驾护航 窨井水位监测卫士 H1600D智能水位监…

揭秘AI幻觉:GPT-4V存在视觉编码漏洞,清华联合NUS提出LLaVA-UHD

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 GPT-4V 的推出引爆了多模态大模型的研究。GPT-4V 在包括多模态问答、推理、交互在内的多个领…

实战搭建网易有道的QAnything(一) 前提准备工作

前言&#xff1a; 早上地铁上刷到了关于有道的QAnything的介绍&#xff0c;刚好也有搭建一个知识库的想法&#xff0c;既然有想法那就干起来&#xff0c;电脑的操作系统用的win11&#xff0c;显卡用了两块4060。 一、安装windows子系统 1. 开始-》运行-》控制面板 打开原始的控…

LangChain入门:11.Pydantic(JSON)解析器实战

摘要 在数字化营销的浪潮中&#xff0c;自动化内容生成成为了提升效率和用户参与度的利器。本文将详细介绍如何利用LangChain的自然语言处理能力和Pydantic的数据验证特性&#xff0c;构建一个自动化的花店文案生成器。通过这个工具&#xff0c;您可以快速为各种花卉生成吸引人…

剑指Offer题目笔记27(动态规划单序列问题)

面试题89&#xff1a; 问题&#xff1a; ​ 输入一个数组表示某条街道上的一排房屋内财产的数量。相邻两栋房屋不能同时被盗&#xff0c;问小偷能偷取到的最多财物。 解决方案一&#xff08;带缓存的递归&#xff09;&#xff1a; 解决方案&#xff1a; 由于有报警系统&…

训练大模型的显卡参数辨析

以NVIDIA A100&#xff08;80GB&#xff09;为例&#xff1a; A100中的A是Ampere&#xff08;安培体系&#xff09;首字母&#xff0c;100是系列号&#xff0c;除了A100&#xff0c;还有A800 80GB指的是这张显卡的显存为80GB PCIe&#xff1a;PCIe本身是一种总线协议&#xf…