"""
import pandas as pd
import math
# 设定初始值
WUM = 20
WLM = 60
WDM = 40
b = 0.3
C = (1 / 6)
FC = 2.5
WM = WUM + WLM + WDM
WMM = WM * (1 + b)
# 读取原始数据
df = pd.read_csv("10月.csv", index_col='月份')
df = df.fillna(0)
for i in range(1, len(df) + 1):
# 计算WU,WL,WD
if i == 1:
df["WU"][i] = WUM
df["WL"][i] = WLM
df["WD"][i] = WDM
else:
dw = df["PE"][i - 1] - df['R'][i - 1]
df["WU"][i] = df["WU"][i - 1] + dw
df["WL"][i] = df["WL"][i - 1]
df["WD"][i] = df["WD"][i - 1]
if df["WU"][i] < 0:
df["WL"][i] = df["WL"][i - 1] + df["WU"][i]
df["WU"][i] = 0
df["WD"][i] = df["WD"][i - 1]
if df["WL"][i] < 0:
df["WD"][i] = df["WD"][i - 1] + df["WL"][i]
df["WL"][i] = 0
df["WU"][i] = 0
if df["WD"][i] < 0:
df["WL"][i] = 0
df["WU"][i] = 0
df["WD"][i] = 0
if df["WU"][i] > WUM:
df["WL"][i] = df["WU"][i] - WUM + df["WL"][i - 1]
df["WU"][i] = WUM
df["WD"][i] = df["WD"][i - 1]
if df["WL"][i] > WLM:
df["WD"][i] = df["WL"][i] - WLM + df["WD"][i - 1]
df["WL"][i] = WLM
df["WU"][i] = WUM
if df["WD"][i] > WDM:
df["WL"][i] = WLM
df["WU"][i] = WUM
df["WD"][i] = WDM
# 计算蒸发E
if df["WU"][i] + df["P"][i] >= df["EP"][i]:
df["EU"][i] = df["EP"][i]
df["EL"]
水文预报三层蒸发模型与径流划分python程序
最新推荐文章于 2024-03-18 08:30:00 发布
该博客介绍了使用Python进行水文预报的方法,通过三层蒸发模型(WU、WL、WD)和径流划分,结合pandas库处理数据。文章详细展示了如何读取CSV数据,计算各层蒸发、总蒸发、潜在蒸发、产流等,并进行水源分配的步骤。最后,结果经过校核并写回CSV文件。
摘要由CSDN通过智能技术生成