本文主要是介绍作物模型狂奔:Dssat-python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这里没图,去B站看看
0、准备工作
0.0 电脑环境
一如既往的win10
0.1 安装Dssat
从官网下载安装包,然后安装Dssat48
1、核心依赖包
1.1 DSSATTools
用的源码,包的话版本到2.1.3了
2、编码思路
2.1 准备输入数据
气象数据需要用dataframe组装;
wth = Weather(weather_df,
{‘mint’: ‘TMIN’, ‘maxt’: ‘TMAX’, ‘rain’: ‘RAIN’, ‘radn’: ‘SRAD’, ‘rh’: ‘RHUM’, ‘windspeed’: ‘WIND’},
4.3434237, -74.3606715, 1800)
土壤数据读取土壤文件;
土壤文件对象
soil = SoilProfile(file=str(soil_dir/“SOIL.SOL”), profile=‘10YNMS0001’)
管理数据手动设置manage实例;
创建管理实例
man = Management(planting_date=datetime(2023, 1, 15), sim_start=datetime(2023, 1, 15))
设置灌溉时间表
man.irrigation[‘table’] = TabularSubsection(schedule)
作物品种数据用 Crop 对象构建,找不到的品种会返回默认值;
作物对象
crop = Crop(‘Maize’, ‘BI1521’)
2.2 模型狂奔
dssat = DSSAT()
dssat.setup()
dssat.run(soil=soil, weather=wth, crop=crop, management=man,)
2.3 调参
直接操作crop对象,然后狂奔就行了
crop.cultivar[‘P1’] = 240
crop.ecotype[‘P20’] = 13
3、模拟结果
默认只有前4个结果,修改代码将Summary加上
dssat 运行结果
明细在PlantGro里基本都全了
PlantGro
欢迎各位道友关注、留言、私聊、交流病情。
如果可以的话,请到B站交流,CSDN不常登录
顺便挂个小广告咯~
需要指导的话,那就得让我挣点零花咯,嘿嘿。PS:不说虚的,程序狂奔才是最重要的。
【闲鱼】https://m.tb.cn/h.5ueGdHD?tk=NkS0WknFncG MF3543 「我在闲鱼发布了【Dssat 模型运行】」
这篇关于作物模型狂奔:Dssat-python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!