爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 23298|回复: 45

R中计算SPEI和SPI程序

[复制链接]

新浪微博达人勋

发表于 2018-1-6 15:19:28 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
library(lmomco)
library(SPEI)
file<-read.table("E:\\test.txt",header=TRUE)                   #读取文件
file$PET <- thornthwaite(file$TMED, 44.25)                     #44.25为纬度位置
spei1 <- spei(file$PRCP-file$PET,1)                                   #输出时间尺度为1个月的SPEI
summary(spei1)
spi1 <- spi(file$PRCP,1)                                                           #输出时间尺度为1个月的spi
spi1

test.txt按照以下格式整理: test.txt (6.08 KB, 下载次数: 103)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-6 21:01:14 | 显示全部楼层
test.txt中TMED代表什么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-1-8 14:48:35 | 显示全部楼层
ztf_qy 发表于 2018-1-6 21:01
test.txt中TMED代表什么?

TMED代表温度,PRCP代表降水
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-1-9 08:52:42 | 显示全部楼层
是月平均温度吗? spei计算很复杂,好像不仅仅是与降水和温度有关系。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-1-9 14:31:51 | 显示全部楼层
ztf_qy 发表于 2018-1-9 08:52
是月平均温度吗? spei计算很复杂,好像不仅仅是与降水和温度有关系。

如果输出时间尺度为1个月的spei值就是月平均温度,如果输出时间尺度12个月的spei值就是年平均温度。spei的计算公式是挺复杂的,还与潜在蒸散量,热量等有关,我没有用公式去计算过,但是用R自带的spei程序包计算的话只需要输入降水和温度参数。如果你有实测数据的话,可以用这个程序验证一下,对比一下误差看看?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-16 09:15:07 | 显示全部楼层
lq_nuist 发表于 2018-1-9 14:31
如果输出时间尺度为1个月的spei值就是月平均温度,如果输出时间尺度12个月的spei值就是年平均温度。spei ...

请问楼主,输入的文件的数据需要随着选择尺度的不同而变化吗,SPEI1需要月平均温度,SPEI12需要年平均温度?还是只改程序中的时间尺度就行啊,请不吝赐教
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-18 21:10:05 | 显示全部楼层
悲怆战歌 发表于 2018-4-16 09:15
请问楼主,输入的文件的数据需要随着选择尺度的不同而变化吗,SPEI1需要月平均温度,SPEI12需要年平均温 ...

只要改程序中的时间尺度就行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-19 09:49:37 | 显示全部楼层
lq_nuist 发表于 2018-4-18 21:10
只要改程序中的时间尺度就行

谢谢大佬,请问有没有在计算的结果中遇见输出inf值的情况呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-19 11:19:28 | 显示全部楼层
悲怆战歌 发表于 2018-4-19 09:49
谢谢大佬,请问有没有在计算的结果中遇见输出inf值的情况呢

我是用SPI划分干旱等级的,spi计算结果没有inf值。不过我今天重新算了一下,SPEI确实有inf值,inf表示正无穷大。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-20 09:45:57 | 显示全部楼层
lq_nuist 发表于 2018-4-19 11:19
我是用SPI划分干旱等级的,spi计算结果没有inf值。不过我今天重新算了一下,SPEI确实有inf值,inf表示正 ...

那该如何解决呢,用相邻值的平均值替换,但是有的inf值在首尾或连续出现,无法替换
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表