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§
- Channel
Delay - 河道延迟:
d= 河道距离(增序),Ad_r= 对应累积面积比例。 - Topidx
Histogram - TWI 直方图:
atb= ln(a/tanβ) 值(降序),Aatb_r= 累积面积比例(到该类下限)。 - Topmodel
Model - Topmodel
Output - 完整运行输出(逐时步序列,mm;供 oracle 逐变量比对)。
- Topmodel
Params - TOPMODEL 11 参数 + 流域几何。
Functions§
- run_
topmodel_ full - 完整运行 TOPMODEL(逐时步循环,对应 R 的 run_topmodel 调用序列)。 输入:参数 + 雨量(mm/时步)+ ETp(mm/时步);输出:全序列(mm)。