# 新安江模型如何记住前几天的雨？

用蓄水容量分布，看见前期湿润与产流面积。

专题：降雨到洪水。教学合成算例，待独立专业审稿。

## 为什么不能每场雨都从零开始

昨天的雨进入土壤以后，不会在今天的计算开始时自动消失。新安江模型把流域内部的蓄水状态带到下一时段，让过去通过状态影响未来。记忆不是额外加的一条经验修正，而是水量账本的延续。

本期只实现新安江模型的张力水蓄水容量曲线及一次净雨产流更新，设不透水面积比例为0。W为流域平均张力水蓄量，Wm=100mm，净雨P=40mm。净雨指此处已处理蒸散后的正水量输入；不实现完整蒸散模块。

## 同一流域，有不同大小的杯子

把整个流域想成许多深浅不同的小杯子。浅杯很快装满，深杯还能继续接水。即使流域平均还没有完全饱和，也可能已有一部分地区开始产流。容量分布曲线，就是对这种空间差异的统计描述。

面积累计分布α(w)=1−(1−w/Wmm)^b，0≤w≤Wmm，Wmm=Wm(1+b)。平均容量是分布积分Wmm/(1+b)=Wm。b由滑块值除以100得到0.1—1.0；不是实际地图上的单元位置。

## 把平均蓄水，映射到一条水线

模型先把平均蓄水量转换成容量曲线上的一条等效水线。水线以下较浅的杯子已经装满，更深的杯子还留着空位。这个转换，让一个平均状态能够对应一片已经饱和的面积。

A=Wmm[1−(1−W/Wm)^(1/(1+b))]。初始饱和面积比例α(A)。这里的饱和指张力水容量已满，不等同于所有土壤孔隙完全充水。注意A是容量曲线坐标，不能把它当作流域平均蓄水W；二者通过积分关系连接。

## 一场净雨，把水线继续抬高

现在加入四十毫米净雨。已装满的地方产生径流，还未装满的地方继续储水。随着水线升高，参与产流的面积可能扩大。因此产流量既取决于这场雨，也取决于开始时已经有多少水。

若A+P<Wmm，R=P−Wm+W+Wm[1−(A+P)/Wmm]^(1+b)；否则R=P−Wm+W。W新=W+P−R。图中展示从0到40mm逐渐累加净雨的事件曲线，并非时间过程。

## 同样四十毫米，湿土怎样回应

把初始蓄水滑块推向更湿的一端，保持净雨不变。空位减少，更多输入成为径流。当平均蓄水已经达到容量上限，新增净雨全部产流。这是一个必须满足的边界检查。

当W=Wm时R=P、W新=Wm。W=0并不意味着一定零产流，容量分布中浅容量区域仍可先饱和。b改变空间容量异质性，不能简单把它解释为土壤导水率。模型测试验证0≤R≤P与0≤W新≤Wm。

## 核心机理，还不是完整模型

这期只打开了新安江模型的一扇门。完整模型还要处理蒸散发、多层蓄水、水源划分和汇流，才能从气象输入走到出口流量。理解核心公式之后，再逐层加上模块，比只记住模型名称更有用。

本实验不含三层蒸散、自由水蓄量、地表径流/壤中流/地下径流划分或汇流；不能称为完整新安江预报系统。原始文献：Zhao (1992), The Xinanjiang model applied in China, DOI 10.1016/0022-1694(92)90096-E。下一时段应沿用W新并更新其他状态。本例所有参数为合成教学值，需用多事件及连续资料率定验证。

## 练习与解释

1. 本期实现了完整新安江模型吗？

答案：否，只实现张力水蓄满产流核心。水源划分、蒸散和汇流等未实现。

2. 当W=Wm时新增净雨怎样分配？

答案：全部产流。容量已满且本例无其他通量。

3. 前期记忆由什么传递？

答案：上一时段更新后的状态。状态承接历史水量。

## 算例与依据

下载页面上的完整Python算例包，解压后运行 reproduce.py，无需第三方库。模型源为 rainfall_models.py，输出 reference.csv。

[参考资料](https://www.weather.gov/media/owp/oh/hrl/docs/23xinsma.pdf)，查阅日期2026-09-15。公式、参数和实现简化见正文；来源用于机理核对，不代表本算例经过来源机构认可。
