产汇流理论是水文学的重要理论之一。本文给出了汇流计算的经典方法——时段单位线法的python计算程序。需要的基础数据是时段单位线和地面净雨过程。

'''这是一个时段为6h,时段个数为15的单位线推流计算程序'''
import numpy as np
num=15
ur=10#单位地面净雨量,通常取10mm
t=[i for i in range(1,num+1)]#时段序列
h=[24,23,3.2]#地面净雨过程
uh=[0,2,15,35,41,25,15,9,6,4,3,2,1,0]#时段单位线,长度比时段个数少1个
q=[0]*(num+1)#地面径流过程#长度比时段个数多1个
row=num-1+len(h)-1
clo=len(h)
matrix=np.zeros([row,clo])
for j in range(0,clo):
    for i in range(0,num-1):
        matrix[i-1+j,j]=h[j]/ur*uh[i-1]
for i in range(0,row):
    q[i]=round(sum(matrix[i]),1)
print(q)

运行结果如下:

[0.0, 4.8, 40.6, 119.1, 183.7, 165.5, 106.6, 64.1, 39.9, 26.3, 18.3, 13.0, 8.0, 2.9, 0.3, 0.0]

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐