# 为什么同一场雨产生不同洪水？

区分“来得太快”和“已经装满”两种产流机制。

专题：降雨到洪水。教学合成算例，待独立专业审稿。

## 总雨量相同，雨势可以不同

把六十毫米雨水压缩到一小时，或者均匀摊到六小时，总量一样，强度却不同。再把土壤换成干的或湿的，结果又可能改变。因此，只知道总雨量，不足以判断产流。

固定P=60mm，矩形降雨i=P/T；T从1到6小时。两个对照模型接收相同降雨，分别隔离一种控制因素；它们的径流量不能相加。

## 超渗：门口进水太快

想象土壤的入口每小时最多接收十五毫米。雨来得比它更快，门外就开始积水。即使地下还有许多空位，水也未必能及时进去。这就是超渗机制的直觉。

超渗教学模型使用常数入渗能力f=15mm/h、无限储水空间、无地表滞蓄。实际入渗率=min(i,f)，RH=max(P−fT,0)。不是完整Horton模型，能力衰减留到E09。

## 蓄满：入口能进，内部装不下

另一个极端，是土壤入口很通畅，雨水都能进去，但可用空位有限。只有把空位填满以后，后来的水才溢出。先前越湿，空位越少，达到这个转折点就越早。

蓄满教学模型忽略入渗率约束和排水，初始缺水量D，RS=max(P−D,0)。达到饱和的时间为D/i；若D≥P，本场无蓄满产流。

## 改变历时，观察谁先响应

先保持土壤缺水量不变，只拉长降雨历时。超渗模型的径流逐渐减少，因为土壤多了接收雨水的时间。这个简化的蓄满模型只看总量，所以结果保持不变。这正是隔离机制的用处。

默认T=2h，i=30mm/h，RH=30mm；D=40mm时RS=20mm。若T=4h，RH=0而RS仍为20mm。只有在本例无排水、无蒸发的事件条件下，蓄满结果才与历时无关。

## 改变湿度，观察另一条路径

再保持降雨不变，只减小土壤缺水量。蓄满模型更早溢出，径流增加。超渗对照因为我们固定了入渗能力，所以不随这个滑块变化。现实中的初始湿度也可能影响入渗能力，不能把这个隔离实验当成普遍规律。

默认超渗径流率为15mm/h；蓄满累计曲线在t=4/3h后上升。图中画的是累计径流深，不是出口流量。两种机制在真实流域可以共存，常见空间组合也受土壤、地形和地下水影响。

## 从机制出发选择模型

现在回看一场洪水：究竟是降雨强度超过入口能力，还是前期湿润让储水空间不足？两者都可能重要。要用雨强、土壤状态和观测来判断，再选择和验证模型。名字相似的产流公式，可能讲的是不同的物理故事。

本例是机制对照而非二选一诊断工具；不含再入渗、坡面连通、壤中流和汇流。应对比多场湿润程度与强度不同的事件，不能仅凭一场总径流率识别唯一机制。

## 练习与解释

1. 60mm雨持续2小时，f=15mm/h，超渗径流为？

答案：30mm。入渗30mm，剩余30mm。

2. 蓄满对照中D变小意味着？

答案：更湿，空位更少。D是达到饱和仍需补充的水深。

3. 两条径流曲线能直接相加吗？

答案：不能，它们是两个替代对照。相加会重复分配同一场雨。

## 算例与依据

下载页面上的完整Python算例包，解压后运行 reproduce.py，无需第三方库。模型源为 rainfall_models.py，输出 reference.csv。

[参考资料](https://www.hec.usace.army.mil/confluence/hmsdocs/hmstrm/canopy-surface-infiltration-and-runoff-volume/losses-and-runoff-volume-basic-concepts)，查阅日期2026-09-15。公式、参数和实现简化见正文；来源用于机理核对，不代表本算例经过来源机构认可。
