简化的Penman-Monteith公式变体
vic水文模型 VIC水文模型径流模拟 全程视频教学指导讲解详细 从基础内容处理讲解到模型参数率定全程教学。 零基础可学。 自用模型从零到实践历时两周左右 全套教程最近在折腾VIC水文模型的径流模拟发现这玩意儿就像搭乐高——得把土壤层、植被参数、气象数据这些模块精准拼接才能跑起来。今天咱们不聊那些官方文档里的复杂公式直接上手拆解几个核心环节的代码实现带你看懂水文模型怎么把降雨变成河道流量。先看土壤分层模块。VIC默认采用三层土壤结构玩过千层蛋糕没这里用Python字典模拟单网格点的土壤属性配置soil_layers { layer1: {depth: 0.1, porosity: 0.45, Ksat: 5e-6}, # 表层土 layer2: {depth: 0.3, porosity: 0.42, Ksat: 3e-6}, # 中间层 layer3: {depth: 0.6, porosity: 0.38, Ksat: 1e-6} # 深层 }这个配置决定了水分在不同土层的渗透速度。注意Ksat饱和导水率单位是m/s实操中发现参数差个数量级可能让模拟结果从洪水变成荒漠——所以参数率定绝对是门玄学。能量平衡计算是VIC的CPU杀手咱们简化个蒸散发计算的片段def calc_ET(temp, wind, humidity, LAI): Rn 150 * (1 - 0.23) # 净辐射估算 G 0.1 * Rn # 土壤热通量 delta 0.2 # 饱和水汽压斜率示例值 gamma 0.67 # 干湿常数 ET (delta * (Rn - G) 6.43 * gamma * wind * (1 - humidity)) / (delta gamma) return ET * min(LAI/3.0, 1) # 叶面积指数修正这个函数把气象要素和植被特征结合输出每小时蒸散发量。调试时发现当LAI3时计算结果会失真所以加了min函数做限制——模型开发中的这些trick文档里可不会告诉你。vic水文模型 VIC水文模型径流模拟 全程视频教学指导讲解详细 从基础内容处理讲解到模型参数率定全程教学。 零基础可学。 自用模型从零到实践历时两周左右 全套教程产流计算最能体现水文模型的灵魂看个基流生成的核心逻辑class BaseflowGenerator: def __init__(self, Ds, Ws, c0.5): self.Ds Ds # 最大排水速度 self.Ws Ws # 非线性参数 self.c c # 衰减系数 self.storage 0.0 def generate(self, moisture): # 基于Arno模型概念修改 saturation moisture / self.Ws surface_flow self.Ds * saturation**3 baseflow self.c * self.storage self.storage self.storage * (1 - self.c) surface_flow return surface_flow baseflow这个类实现了地表径流与地下水的耦合计算。调试时发现当c值超过0.7会导致基流震荡需要配合土壤含水量做动态调整——这就是为什么参数率定要两周起步。最后给个模型执行流程的骨架for timestamp in meteo_data.index: # 气象强迫 precip meteo_data.loc[timestamp, precip] temp meteo_data.loc[timestamp, temp] # 产流计算 infiltration min(precip, soil_layers[layer1][Ksat]*3600) surface_runoff precip - infiltration # 更新土壤含水量 soil_moisture infiltration - calc_ET(temp, ...) # 调用基流生成器 total_runoff surface_runoff baseflow_gen.generate(soil_moisture) # 结果存储 results.append(total_runoff)这个简化版流程跑完一个月的模拟大概需要0.5秒但真实VIC模型要考虑网格交互和冰川模块时...准备好咖啡吧。想要真正掌握模型调参的暗黑艺术建议从单网格单参数调试开始比如先固定Ds调整Ws等径流峰现时间对了再动其他参数。遇到过某案例把Ds从0.3改成0.28NSE系数直接从0.65飙到0.82——模型就是这么魔幻。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2489941.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!