我试图构建一个水文模型,根据模型,我需要使用以下公式转换我的QGW变量:
其中:QGW =是一个列表,MAXBIAS =常量(通常为5)。
我真的不知道从哪里开始......使用python 2.7构建它。
答案 0 :(得分:0)
这个答案有几点需要注意。我不是Python或水文模型专家。以下是一个开始,不最终答案。因此,您可以从这个起点解决任何问题。
class HydroModel:
def __init__(self, maxbias, qcw):
self.maxbias = maxbias
self.qcw = qcw
def Fu(u):
# antiderivative
# needs fixing because antiderivatives of absolute values have to be split
maxbias = self.maxbias
return u*2/maxbias - u * math.fabs(u - maxbias/2) * 4 / (maxbias*maxbias)
def c(i):
return Fu(i-1)-Fu(i)
def Qsim(t):
# is this meant to return a value or a list/vector?
sum = 0
for (i = 1; i < self.maxbias; i++):
sum += self.c(i) * self.qcw[ t - i + 1]
return sum