想想自己想过怎样的生活。
文章目录
前言
此系列博文的目的是学习AquaCrop-OSPy作物模型的基本使用。
1. 概述
AquaCrop模型是一款水分驱动模型,可以用于进行灌溉策略优化,此文主要基于Kelly的AquaCrop_OSPy_Notebook_2学习如何开展基于AquaCrop-OSPy模型的不同灌溉策略下的玉米产量模拟。
1.1 目的
-
基于AquaCrop-OSPy来探索不同灌溉管理策略对用水和作物产量的影响;
-
学习如何在AquaCrop-OSPy模型中定义不同的灌溉管理实践
2. 版本
2.1 山东青岛,2022年5月1日
3. 微信公众号GISRSGeography
- 欢迎大家关注公众号 GISRSGeography,谢谢!。
- 示例代码和数据可以在微信后台回复“AOS_Irr”获取。
- 程序在Anaconda的Spyder中运行,默认已经安装相关库,包括aquacrop, pandas,matplotlib和seaborn等。
一、代码及解读
1. 包的导入
- 此部分主要导入包括AquaCrop作物模型库在内的python库,只有如此,才能调用相关库的函数。
# %% 相关包的导入
import aquacrop.classes as apclass # 导入aquacrop.classes
import aquacrop.core as apcore # 导入aquacrop.core
# 导入pandas库,辅助整理模拟结果
import pandas as pd
# 导入制图库,辅助制图
import matplotlib.pyplot as plt
import seaborn as sns
2. 模型的输入设置
- 模型模拟作物生长过程之前,需要对模型的输入进行设置,基本设置包括气象数据输入、土壤数据设置、作物类型设置等。
- 需要注意的是针对不同模拟目的,模型输入设置部分会有所不同,比如当要模拟灌溉策略时,需要依据研究目标设置土壤初始含水条件。
# %% 模型输入设置
'''
说明
(1) 模型输入设置的基础是已经理解了各类模型输入参数的含义,只有如此,才能:
1) 知道哪些参数需要保持默认,哪些参数需要实际测量,哪些参数需要本地化校验
2) 才能依据模拟需要,灵活设置模拟方案
'''
# 气象数据
weather_file = rootdir + '01_WeatherData\\champion_climate.txt'
weather_data = apcore.prepare_weather(weather_file)
# 土壤数据设置
'''
设置说明
(1) 通过class模块设置中的SoilClass类设置土壤属性,设置方法包括:
1) 依据土壤质地类别名称,确定土壤基本属性,此时的属性是对应类别的默认属性
2) 或基于实测数据,对默认属性进行相应的修改
'''
sandy_loam = apclass.SoilClass(soilType='SandyLoam') # 沙壤土