作物模型狂奔: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 模型运行】」

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值