R 标准化降水指数 .nc 文件

2023-12-22

我正在尝试根据 CHIRPS 月平均降水量数据计算 SPI,因为它太大,我将其缩小到我感兴趣的区域,如下所示:https://www.dropbox.com/s/jpwcg8j5bdc5gq6/chirps_mensual_v1.nc?dl=0 https://www.dropbox.com/s/jpwcg8j5bdc5gq6/chirps_mensual_v1.nc?dl=0我这样做是为了打开它:

require(utils)
require(colorRamps)
require(RNetCDF)
require(rasterVis)
require(rgdal)
library(ncdf4)
library(raster)


datos2 <- nc_open("Datos/chirps_mensual_v1.nc")
ppt_array <- ncvar_get(datos2, "precip")

#I'm only taking complete years so I took out two months from 2018

ppt_mes <- ppt_array[ , ,1:444]

我知道有一个 SPI 库,但我不知道应该如何格式化数据才能使用它。因此,我尝试通过拟合伽马分布来在没有该函数的情况下完成此操作,但我不知道如何针对该数据库执行此操作。

有谁知道如何使用函数或拟合分布来计算 SPI?


我不认为 SPI 包正在做你(或任何人)认为它正在做的事情。如果你使用debug(spi)并逐步执行代码,您将看到一步中它符合经验累积分布函数(ecdf())到前两行和最后一行数据。为什么是前两行和最后一行?我不知道,但是编写这个包的人也使用了 for 循环来执行t()到一个矩阵。更不用说我认为它应该使用 Gamma 分布或 Pearson III 分布而不是ecdf()(根据 Guttman, N.B. (1999) 接受标准化降水指数:计算算法。JAWRA 美国水资源协会杂志,35, 311–322。)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 标准化降水指数 .nc 文件 的相关文章

随机推荐