Skip to main content

Crate hydro_topmodel

Crate hydro_topmodel 

Source
Expand description

TOPMODEL(Beven & Kirkby 1979;1995 Fortran 版)——忠实分布式实现。

Clean-room 从 R topmodel 包 v0.7.5 的 C 数值核心(core_topmodel.c/get_f.c/ param_init.c/misc.c)移植:算法(Beven 公式)不可版权,C 源仅作行为 oracle。 11 参数 + TWI 直方图 + 河道延迟;单位 mm / hour(与 R 参考一致,便于 bit-exact 校验)。 交叉验证:tests/topmodel_crosscheck.rs(待加)vs R topmodel on huagrahuma 数据集。

关键方程(eq 号同 Beven HESS 2021 / R 源注释):

  • 基流退水 qs = qss·exp(-S_mean/m)(eq 6.33),qss = exp(lnTe + ln(dt) - λ)
  • 局部亏缺 S[j] = S_mean + m·(λ - atb[j])(eq 18.8)
  • 非饱和排水 qv = Suz/(S·td)·dt(eq 6.26)
  • 下渗 Green-Ampt/Morel-Seytoux(Newton-Raphson,get_f)
  • 路由:河道延迟 Qt[k] += qt·Ad[j],k = i + j + ndelay

Structs§

ChannelDelay
河道延迟:d = 河道距离(增序),Ad_r = 对应累积面积比例。
TopidxHistogram
TWI 直方图:atb = ln(a/tanβ) 值(降序),Aatb_r = 累积面积比例(到该类下限)。
TopmodelModel
TopmodelOutput
完整运行输出(逐时步序列,mm;供 oracle 逐变量比对)。
TopmodelParams
TOPMODEL 11 参数 + 流域几何。

Functions§

run_topmodel_full
完整运行 TOPMODEL(逐时步循环,对应 R 的 run_topmodel 调用序列)。 输入:参数 + 雨量(mm/时步)+ ETp(mm/时步);输出:全序列(mm)。