IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 土壤水分特征参数估计(soil water characteristic) -> 正文阅读

[Python知识库]土壤水分特征参数估计(soil water characteristic)

作者:recommend-item-box type_blog clearfix

引言

土壤水分特征是水文学研究的重点,在作物模型中也是计算土壤水平衡不可或缺的参数。研究中一般用水分特征曲线来反映土壤的持水特征,渗透特征曲线可以反映土壤渗透特征。
这里面有几个主要的参数

  • 永久萎蔫点(土壤水势约为-1500kp)
  • 最大田间持水量(土壤水势约为-33kp)
  • 饱和含水量(土壤水势为0kp)
  • 饱和渗透率(mm/h)

美国农业局研发的软件 soil water characteristic可以根据土壤的质地(砂粒、粘粒、有机质、土壤容重、碎石子含量、盐浓度)来估算土壤水分特征参数。
在这里插入图片描述
本文基于说明文档里的参数计算基于python实现了土壤特征参数的估算以便于程序化的应用,由于盐含量的没看太多,本程序没有考虑盐含量的影响

代码

import numpy as np
def soil_data(s, c, om, b=1.37, Rw=0):
    """
    输入参数包括砂粒s、粘粒c、有机质含量om,土壤容重b和碎石子含量Rw(可选)
    输出为永久萎蔫点pwp、田间持水量fc_v、饱和含水量sat_v、饱和最大渗透率Kb(mm/h)
    """
    s = s  # sand % (0-100)
    c = c  # clay % (0-100)
    om = om # organic matter % (0-100)
    b = b  # bulk g/cm3 (0-100)
    Rw = Rw  # gravel weight rate (0-1)
    # 永久萎蔫点 PWP文中θ1500
    pwp = 1.14*(-0.00024*s+0.00487*c+0.006*om+0.00005*s*om-0.00013*c*om+0.0000068*s*c+0.031)-0.02
    # 田间持水量 FC 文中θ33
    o33 = -0.00251*s+0.00195*c+0.011*om+0.00006*s*om-0.00027*c*om+0.0000452*s*c+0.299
    fc = o33+1.283*o33*o33-0.374*o33-0.015
    # 饱和含水量-FC  θ(S-33)
    s_33 = 1.636*(0.00278*s+0.00034*c+0.022*om-0.00018*s*om-0.00027*c*om-0.0000584*s*c+0.078)-0.107
    # 饱和含水量
    sat = fc+s_33-0.00097*s+0.043
    # 校正后田间持水量与饱和含水量
    pn = 2.65*(1-sat)
    df = b/pn
    if df<0.9:
        df=0.9
    elif df>1.3:
        df=1.3
    pdf = pn*df
    # 校正过的田间持水量
    fc_v = fc-0.2*(fc+s_33-0.00097*s+0.043-(1-pdf/2.65))
    # 校正后饱和含水量
    sat_v = 1-(pdf/2.65)

    # 饱和导水率mm/h
    y = (np.log(fc_v) - np.log(pwp))/(np.log(1500) - np.log(33))
    Ks = 1930*(sat_v - fc_v)**(3 - y)
    # gravel校正导水率
    a = b/2.65
    kb_ks = (1-Rw)/(1-Rw*(1-3*a/2))
    Kb = kb_ks*Ks
    return [pwp, fc_v, sat_v, Kb]

soil_data(20,20,2.5,1.37,0.0)
结果
[0.1365448, 0.3210563234370656, 0.4830188679245282, 12.32810667755292]

软件的option里可以换单位,结果与软件有微小差异,可能是计算时保留小数位数不同所致。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:14:01  更:2022-04-06 16:15:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:37:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码