注册 登录
编程论坛 VB.NET论坛

技术求助,模型参数优化

yeziqi 发布于 2017-03-07 10:47, 1933 次点击
目的:在两个模型中,为两个已知取值范围的参数找到最合适取值。

两个模型,需要分别调整模型中的两个参数,植物最大气孔阻力和植物最小气孔阻力,植物最大气孔阻力范围为500-1800,植物最小气孔阻力范围为70-220,均间隔10取值,两两组合输入模型,然后根据相关系数R2,斜率,截距,相对误差RE,一致性指数,均方根误差值来选取合适的取值范围。

发论文需要,希望有人能教一下,北京地区的最好,能够适度地给一些技术支持费用。联系电话13051850277,小妹先谢了
2 回复
#2
yeziqi2017-03-07 10:47
涉及计算公式:

模型一:Shuttleworth-Wallace (S-W):               
(1)raa计算:
hc=10.5, K:0.41, za = hc + 2, d0 = hc * 2 / 3, Zw=15,n = 4.25,U已知输入值。
U* = K * Ua / Log((za - d0) / z0c)
Ua = U * Log((za - d0) / z0c) / Log((Zw - d0) / z0c)
Kh = K * U*  * (hc - d0)
raa = Log((za - d0) / (hc - d0)) / (K * Ustar) + hc / (n * Kh) * (Exp(n * (1 - (z0c + d0) / hc)) - 1)
(2)rac计算:
W= 0.05,
rb = 100 / n * (w / Uh) ^ 0.5 / (1 - Exp(-n / 2))
Uh = U * Log((hc - d0) / z0c) / Log((Zw - d0) / z0c)
rac = rb * σ / LAI (LAI已知输入值)
(3)rsc计算:
1、rstmin最小气孔阻力,rstmax最大气孔阻力/
2、LAI <= 2 时: LAIe = LAI
3、LAI>2时:LAIe = 2 + (LAI - 2) / 3
4、F1 = (rstmin / rstmax + ff) / (1 + ff)
5、ff = 0.55 * Rs / Rscri * 2 / LAI(Rs < 0 则 Rs = 0,Rs为已知输入值)
6、如果:Thet >= Thetf 则 F2 = 1
如果:Thet <= Thetr 则F2 = 0
其他: F2 = (Thet - Thetr) / (Thetf - Thetr)
7、F3 = 1 - 0.061 * VPD
VPD = est – ea
est = 0.6108 * Exp(17.27 * Ta / (Ta + 237.3))(Ta已知输入值)
ea = est * RH / 100(RH已知输入值)
8、F4 = 1 - 0.0016 * (295-Tak)2
 Tak = Ta + 273
9、如果 F1 <= 0 Or F2 <= 0 Or F3 <= 0 Or F4 <= 0 则 rsc = 50000:
其他则: rsc = rstmin /(LAIe * F1 * F2 * F3 * F4)
(4)ras计算:
1、z0g = 0.02,
2、ras = hc * Exp(n) / (n * Kh) * (Exp(-n * z0g / hc) - Exp(-n * (z0c + d0) / hc))
(5)rss计算:
1、b1 = 35: b2 = 2.3: b3 = 100
2、θ_s=0.4296,θ=0.4229
3、rss = b1 * (Thetf / Thets) b2 + b3      
(5)蒸散(ET)计算:
1、Δ= Delta = 4098 * 0.6108 * Exp(17.27 * Ta / (Ta + 237.3)) / (Ta + 237.3) ^ 2
2、γ= Gamma = Cp * P / (epsilon * Lambda)
3、λ=Lambda = 2.501 - 0.002361 * Ta
4、ρ=rho = P / (Tvk * R)
5、ε=epsilon= 0.622
6、Gsc = 0.082
7、Cp = 0.001013
8、rra = (Delta + Gamma) * raa
9、rrc = (Delta + Gamma) * rac + Gamma * rsc
10、rrs = (Delta + Gamma) * ras + Gamma * rss
11、Cc = 1 / (1 + (rrc * rra) / (rrs * (rrc + rra)))
12、Cs = 1 / (1 + (rrs * rra) / (rrc * (rrs + rra)))
13、LEc = (Delta * (Rn - G) + (rho * Cp * (est - ea) * 1000000 - Delta * rac * (Rnss - G)) / (raa + rac)) / (Delta + Gamma * (1 + rsc / (raa + rac)))
Rn、G已知输入值
  Rnss = Rn * Exp(-Cr * LAI)
Cr = 0.5
14、LEs = (Delta * (Rn - G) + (rho * Cp * (est - ea) * 1000000 - Delta * ras * (Rn - Rnss)) / (raa + ras)) / (Delta + Gamma * (1 + rss / (raa + rac)))
15、LE = Cc * LEc + Cs * Les
16、ET = 3.6 * (Cc * LEc + Cs * LEs) / Lambda
17、T = 3.6 * (Cc * LEc) / Lambda
18、E = 3.6 * (Cs * LEs) / Lambda

模型二、Penman-Monteith 模型
LE=(Δ(R_n-G)+ρC_p (e_s  - e_a  )/r_a)/(Δ+γ(1+r_sc)/r_a )               (1)
(1)ra计算:
如果:Ua > 2则:        ra = (Log((za - d0) / z0c)) ^ 2 / (K ^ 2 * Ua)
           其他:       ra = 4.72 * (Log((za - d0) / z0c)) ^ 2 / (1 + 0.54 * Ua)
(2)rsc计算:
  rsc = rstmin / (LAIe * F1 * F2 * F3 * F4)(具体算法同上个模型中)
(3)蒸散计算
1、LE = (Delta * (Rn - G) + rho * Cp * 1000000 * VPD / ra) / (Delta + Gamma * (1 + rsc / ra))
2、ET = 3.6 * LE / Lambda(具体算法同上个模型中)
#3
yeziqi2017-03-07 10:51
QQ:496184519
1