|
有效降水量是指能够提供给作物蒸发蒸腾,从而减少作物对灌溉水需求的雨量,可美国农业部土壤保持局推荐的方法进行逐日计算,本文将介绍其在Python环境中的实现方式。其公式如下:
\[P_e=\sum_{i=1}^NP_{ei}=\begin{cases}\sum_{i=1}^N\frac{P_i(4.17-0.2P_i)}{4.17}&\quad\text{($P_i < 8.3)$,}\\\\\sum_{i=1}^NP_i(4.17+0.2P_i)&\quad\text{($P_i \geqslant 8.3)$,}\end{cases}\]
式中,Pe 为某生育阶段有效降水量 (mm);Pei 为日有效降水量 (mm/d);Pi 为日降水量 (mm/d)。
1 主要代码
(1)核心算法函数:根据日降水量数据列表,计算总有效降水量- def calculate_pe(data_list):
- Pe = 0
- for Pi in data_list:
- if Pi < 8.3:
- Pe += Pi * (4.17 - 0.2 * Pi) / 4.17
- else:
- Pe += Pi * (4.17 + 0.2 * Pi)
- return Pe
复制代码 (2)示例代码:从 Excel 表中读取日降水量数据,将其转换为 Python 列表,计算其有效降水量- import openpyxl # 用于读写Excel文件的Python第三方模块
- workbook = openpyxl.load_workbook("Data.xlsx") # 读取Excel文件:Data.xlsx
- worksheet = workbook["Data"] # 读取该Excel文件中名为"Data"的sheet表
- column = worksheet["J"][1:] # 获取数据表中J列的所有值(不包含首行)
- data_list = [cell.value for cell in column] # 通过列表生成式将所有数据值合并为Python列表
- # 计算总有效降水量
- Pe = calculate_pe(data_list)
- print("总有效降水量:", Pe)
复制代码 (3)示例数据及运算结果- 示例数据列表:
- [2.3, 2.8, 3.4, 2.6, 15.5, 4.1, 14.8, 1.9, 5.4, 1.5, 2.8, 1.1, 25.4, 1.9, 2.7, 4.3, 11.1, 2.2, 10.2, 2.1, 4.7, 1.6, 41.8, 7.1, 7.4, 6.5, 10.3, 15.1, 6.4, 1.4, 7.4, 4.1, 3.0, 8.9, 3.1, 9.8, 27.5, 2.4, 6.2, 1.2]
- 运算结果:1743.3690455635485
复制代码 2 参考文献
[1] 邹海平, 张京红, 李伟光, 等. 海南岛水稻需水量与缺水量的时空变化特征[J]. 热带生物学报, 2023, 14(5): 569-576.
来源:https://www.cnblogs.com/qsgeo/p/17982648
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|