自然子系统
自然子系统主要对作物生长和灌溉用水进行模拟,涉及的要素如下图所示:
AquaCrop 作物模型¶
使用 FAO 世界粮农组织推荐的 AquaCrop-OS (version 3.0.7) 模型 进行,作物的净需水 \(D_{x, y}\) 和作物潜在产量 \(Y_0\) 都可视为该位置 \((x, y)\) 参考蒸散发 \(ET_0\)、降水 \(P\),最低温 \(T_{\min}\)、最高温 \(T_{\max}\)、田间管理措施 \(IrrMgn\)、土壤条件 \(Soil\) 等变量的函数:
而实际产量 \(Y_{x, y}\) 相对于潜在产量 \(Y_0\) 则还受到灌溉水量 \(W_{irr, v}\) 的制约(\(Y_{x, y} \leq Y_0\))。
土壤条件¶
使用遥感数据数据输入模型,主要用来影响作物生长的需水量和产量。
Selecting a soil type for an AquaCrop-OSPy simulation is done via the Soil object. This object contains all the compositional and hydraulic properties needed for the simulation. The simplest way to select a Soil is to use one of the built-in soil types taken from AquaCrop defaults. A visual representation of these defaults is shown below.
灌溉水量¶
由于 AquaCrop 是水分限制模型,能否对作物进行足够的灌溉对模拟结果的影响最大,模型有以下几种选择灌溉策略的方式。当设置 IrrMethod = 4 时,估算所得结果即为作物生长的净需水量。
Irrigation management parameters are selected by creating an IrrigationManagement object. With this class we can specify a range of different irrigation management strategies. The 6 different strategies can be selected using the IrrMethod argument when creating the class. These strategies are as follows:
IrrMethod=0: Rainfed (no irrigation)IrrMethod=1: Irrigation is triggered if soil water content drops below a specified threshold (or four thresholds representing four major crop growth stages (emergence, canopy growth, max canopy, senescence).IrrMethod=2: Irrigation is triggered every N daysIrrMethod=3: Predefined irrigation scheduleIrrMethod=4: Net irrigation (maintain a soil-water level by topping up all compartments daily)IrrMethod=5: Constant depth applied each day
| Variable Name | Type | Description | Default |
|---|---|---|---|
| IrrMethod | int |
Irrigation method: | 0 |
| 0 : rainfed | |||
| 1 : soil moisture targets | |||
| 2 : set time interval | |||
| 3: predefined schedule | |||
| 4: net irrigation | |||
| 5: constant depth | |||
| SMT | list[float] |
Soil moisture targets (%TAW) to maintain in each growth stage | [100,100,100,100] |
| (only used if irrigation method is equal to 1) | |||
| IrrInterval | int |
Irrigation interval in days | 3 |
| (only used if irrigation method is equal to 2) | |||
| Schedule | pandas.DataFrame |
DataFrame containing dates and depths | None |
| (only used if irrigation method is equal to 3) | |||
| NetIrrSMT | float |
Net irrigation threshold moisture level (% of TAW that will be maintained) | 80. |
| (only used if irrigation method is equal to 4) | |||
| depth | float |
constant depth (mm) to apply on each day | 0. |
| (only used if irrigation method is equal to 5) | |||
| WetSurf | int |
Soil surface wetted by irrigation (%) | 100 |
| AppEff | int |
Irrigation application efficiency (%) | 100 |
| MaxIrr | float |
Maximum depth (mm) that can be applied each day | 25 |
| MaxIrrSeason | float |
Maximum total irrigation (mm) that can be applied in one season | 10_000 |
田间管理¶
模型还可以调节一些其它可能影响粮食产量的田间管理参数:
| Variable Name | Type | Description | Default |
|---|---|---|---|
| Mulches | bool |
Soil surface covered by mulches (True or False) | False |
| MulchPct | float |
Area of soil surface covered by mulches (%) | 50 |
| fMulch | float |
Soil evaporation adjustment factor due to effect of mulches | 0.5 |
| Bunds | bool |
Surface bunds present (True or False) | False |
| zBund | float |
Bund height (m) | 0 |
| BundWater | float |
Initial water height in surface bunds (mm) | 0. |
| CNadj | bool |
field conditions affect curve number (True or False) | False |
| CNadjPct | float |
Change in curve number (positive or negative) (%) | 0 |
| SRinhb | bool |
Management practices fully inhibit surface runoff (True or False) | False |
数据资料¶
模型所需的驱动数据包括:
输出变量¶
| 变量名 | 单位 | 所属子系统 |
|---|---|---|
| 粮食产量干重 | \(t/ha\) | 自然子系统 |
| 粮食生产潜力 | \(t/ha\) | 自然子系统 |
| 灌溉用水效率 | 无量纲 [0-1] | 自然子系统 |
| 作物净需水 | \(mm\) | 自然子系统 |
