24小时热门版块排行榜     石溪大学接受考研调剂申请>

【调剂】北京石油化工学院2024年16个专业接受调剂
查看: 6706  |  回复: 9

勾蒙蒙

新虫 (小有名气)

[交流] R语言潜在蒸散发代码已有7人参与

潜在蒸散(potential evapotranspiration,ETo)既是水分循环的重要组成部分, 也是能量平衡的重要部分,它表示在一定气象条件下水分供应不受限制时, 某一固定下垫面可能达到的最大蒸发蒸腾量,也称为参考作物蒸散。
潜在蒸散发在InVEST模型评估流域产流方面发挥重要的作用,是必不可少的参数之一。联合国粮农组织(FAO)开发的彭曼-蒙特斯公式以能量平衡和水汽扩散理论为基础,既考虑了作物的生理特性,又考虑空气动力学参数的变化,理论程度及精度均较高,因此被FAO定为计算潜在蒸散发的首选方法。基于此,多人已开发了Matlab、C++及VB的计算程序,FAO也有其自带软件计算,且R语言已开发了Evapotranspiration程序包,但不易理解其内涵。因此,编写计算的R语言代码一方面自我学习,另一方面供大家参考!(另:后续会持续推出气象数据缺测时潜在蒸散发的计算代码)
代码如下:
CODE:
####设置工作目录
setwd("C://Users//36242//Desktop")
####读取及数据预选择
firstdata<-read.csv("2000年气象数据.csv")
View(firstdata)
seconddata<-firstdata[,c(2:8,12:15,18,23)]
##选取计算的站点
thirddata<-subset(seconddata,Plot=="57445")
##将原数据月、日两列排序
newdata<-thirddata[order(thirddata$month,thirddata$day),]
##修改日列数据为每天
newdata$day<-c(1:sum(!is.na(newdata$Plot)))
####计算实际水汽压及饱和水汽压(参数用到最高温、最低温、以及平均相对湿度,温度数据气象数据共享网单位为0.1摄氏度,湿度单位为%)
#最高温水汽压
emax<-0.611*exp(17.27*(newdata$maxTEM/10)/((newdata$maxTEM/10)+237.3))
emax
##最低温水汽压
emin<-0.611*exp(17.27*(newdata$minTEM/10)/((newdata$minTEM/10)+237.3))
emin
#饱和水汽压
ea<-(emax+emin)/2
ea
#实际水汽压
ed<-(newdata$meanRHU)/((50/emin)+(50/emax))
ed
####饱和水汽压与温度之间关系曲线斜率
Rate<-(4098*ea)/(((newdata$meanTEM/10)+237.2)^2)
Rate
####干湿表常数(参数用到所在站点的高程、温度)
##高程H处气压P
P<-101.3*(((293-(0.0065*newdata$Elevation/10))/293)^5.26)
P
##或者u可以取值为2.501
u<-2.501-(0.002361*newdata$meanTEM/10)
u
##干湿常数
gamma<-0.00163*P/u
gamma
####计算2米高处的风速(平均风速、风速测量的高度,一般为气象观测高度要求大于10m,此处选取10m,ln在R中表达为log)
U<-4.87*newdata$meanWIN/10/(log((67.8*10-5.42)))
U
####土壤热通量(相对净辐射,可取值为0)
####太阳净辐射
#太阳的磁偏角(所用参数为当年的天)
Delta<-0.409*sin((2*pi*newdata$day/365)-1.39)
Delta
#日-地相对距离
dr<-1+(0.0338*cos(2*pi*newdata$day/365))
dr
#lat代表站点所在的纬度(3302即为33度22分;一般的纬度指的是角度,弧度=角度*pi/180)
lat1<-round(newdata$X/100,digits=0)
lat<-((((newdata$X/100)-lat1)*100/60)+lat1)*pi/180
lat
#日落时角度(反余弦函数表达式为acos)
Omega<-((acos(-tan(lat[1])*tan(Delta))))
Omega
#碧空太阳辐射
Ra<-37.6*dr*((Omega*sin(lat[1])*sin(Delta))+(cos(lat[1])*cos(Delta)*sin(Omega)))
Ra
#最大天文日照时数
N<-24*Omega/pi
N
#净长波辐射(Tkx表达为摄氏度+273.6)
Rl<-2.45*(10^-9)*(0.1+(0.9*newdata$SSD/10/N))*(0.34-(0.14*sqrt(ed)))*(((max(newdata$maxTEM/10)+273.6)^4)+((min(newdata$minTEM/10)+273.6)^4))
Rl
#净短波辐射(日照时数单位为0.1h)
Rn<-0.77*(0.25+(0.5*newdata$SSD/10/N))*Ra
Rn
sum(Rn)
sum(Rl)
#净辐射量
R<-Rn-Rl
R
View(R)
##########潜在蒸散发
ET<-((0.408*Rate*R)+(gamma*U*(ea-ed)*900/(273+(newdata$meanTEM/10))))/(Rate+(gamma*(1+(0.34*U))))
ET
sum(ET)

R语言潜在蒸散发代码


发自小木虫IOS客户端

[ Last edited by jjdg on 2018-6-25 at 23:52 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Lllitian

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
真的好棒,可以加微信共同学习吗?我也在研究invest

发自小木虫IOS客户端
2楼2018-06-25 20:12:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

勾蒙蒙

新虫 (小有名气)

引用回帖:
2楼: Originally posted by Lllitian at 2018-06-25 20:12:14
真的好棒,可以加微信共同学习吗?我也在研究invest

可以,你微信多少

发自小木虫IOS客户端
3楼2018-06-26 00:02:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Lllitian

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by 勾蒙蒙 at 2018-06-26 00:02:52
可以,你微信多少
...

1361288339

发自小木虫IOS客户端
4楼2018-06-26 07:07:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lhlstzysj

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
请问大侠有没有可以做蒸散时间尺度扩展的模型,

发自小木虫IOS客户端
5楼2018-10-21 15:34:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小酥酥酥

金虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
楼主楼主 我最近也在算这个蒸散发 可不可以交流一下呀

发自小木虫Android客户端
6楼2019-03-19 21:02:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Prime_2K

铁虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
请问有这个模型的交流群吗

发自小木虫IOS客户端
7楼2019-03-31 00:08:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Lucky丶Girl

铜虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
您好,我在R中找到了一个叫Evapotranspiration的包,可以计算实际、潜在和参考作物蒸散发,有21个公式可以算,请问您了解这个如何计算么?
8楼2019-08-30 12:03:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rxb19871023

金虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
楼主你好!请问相关的气象数据和资料可以发邮箱嘛?谢谢~290592651@qq.com
9楼2020-01-21 11:04:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

斑马的小女孩

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
您好,请问您所写代码中的Newdata$X指的是哪一列数据?
10楼2023-05-15 14:54:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 勾蒙蒙 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 博士招生-211农业院校 +5 NYC917 2024-04-26 7/350 2024-04-27 17:43 by 小梅菌
[考博] 真的好想读博! +16 wangzhe_bs 2024-04-22 23/1150 2024-04-27 17:10 by @tanzelin
[论文投稿] 研二光催化6月底四篇二区什么水平 5+5 wjtab 2024-04-22 16/800 2024-04-27 15:47 by cuan118
[考博] 25年博士申请 +7 Changzixuan 2024-04-25 13/650 2024-04-27 14:11 by 我属驴核动力驴
[基金申请] 两类问题算是白选了~ +8 jurkat.1640 2024-04-23 13/650 2024-04-27 12:03 by 淀粉搬运工
[论文投稿] 投稿RSC旗下杂志突然间看不到投稿状态,里面投稿的文章信息不见了,有遇到过的吗? 50+3 dlying 2024-04-26 3/150 2024-04-27 09:58 by bobvan
[硕博家园] 聊天 +12 暮色恋伊人 2024-04-22 13/650 2024-04-27 08:40 by WASM
[硕博家园] 博士白读了 +47 Da_Meng_Zi 2024-04-21 52/2600 2024-04-27 08:25 by shl2112501
[考研] 学硕专硕 +5 小蜗牛* 2024-04-26 5/250 2024-04-26 16:43 by 鱼翔浅底1
[考研] 0854-0855调剂 +8 shangannum1 2024-04-21 12/600 2024-04-26 16:42 by yz仔
[考博] 申博求助 +4 dskabdh 2024-04-24 11/550 2024-04-26 15:54 by dskabdh
[硕博家园] 考研,求职还是考编? +15 xizj 2024-04-21 24/1200 2024-04-26 11:49 by Kan客
[考研] 381求调剂 +4 小刺猬987654321 2024-04-25 6/300 2024-04-26 10:57 by czl12138
[考博] 求博导 +6 好okjh 2024-04-21 10/500 2024-04-25 14:04 by 好okjh
[考博] 24年 申博 化学/材料 一作6篇sci +9 wangyp123 2024-04-23 11/550 2024-04-24 19:01 by bangbangbiu
[考博] 博士招生 +4 zx179 2024-04-24 7/350 2024-04-24 15:01 by H考研成功
[教师之家] 大家访学都是怎么找的啊? +3 luokereng 2024-04-22 3/150 2024-04-24 11:40 by xuechenli
[论文投稿] 期刊推荐 20+4 木颜尘ip 2024-04-22 7/350 2024-04-24 10:06 by bobvan
[考博] 申博成果界定是根据Jcr分区还是中科院分区 +4 我属驴核动力驴 2024-04-22 5/250 2024-04-24 08:47 by 晓目崇
[论文投稿] 研究光催化的,好中的三四区 20+3 sl.0117 2024-04-20 3/150 2024-04-22 09:53 by bobvan
信息提示
请填处理意见