模型参数
多主体模型的参数配置分为多组:
在 config 文件夹下的 config.yaml 文件中,按如下格式配置:
配置组:
配置名: 配置值
Tip
技术上利用 hydra (1.3 version) 从配置文件组中获取 YAML 语法预设的参数和情景配置。
数据集配置¶
| 配置名 | 配置数据类型 | 对应数据 | 解释说明 |
|---|---|---|---|
mete |
字典 | 气象资料 | 数据路径与读取配置 |
soil |
字典 | 遥感数据 | 数据路径与读取配置 |
cities |
字典 | 水资源管理主体 | 数据路径与读取配置 |
irr_area |
字符串 | 遥感数据 | 数据路径 |
irr_wui |
字符串 | 统计数据 | 数据路径 |
irr_area_ha |
字符串 | 统计数据 | 数据路径 |
agents_num |
字符串 | 统计数据 | 数据路径 |
quotas |
字符串 | 统计数据 | 数据路径 |
water_prices |
字符串 | 数据路径 | |
crop_prices |
字典 | 农作物市场价格数据 |
实验配置¶
| 配置名 | 配置数据类型 | 解释说明 |
|---|---|---|
name |
字符串 | 实验名称 |
repeats |
整数 | 单次实验的模型重复次数 |
num_process |
整数 | 单次实验调用的线程数 |
日志配置¶
| 配置名 | 配置数据类型 | 解释说明 |
|---|---|---|
name |
字符串 | 日志文件名 |
level |
字符串:DEBUG, INFO, WARNING, ERROR, CRITICAL |
日志记录的等级 |
模拟时间配置¶
| 配置名 | 配置数据类型 | 解释说明 | 示例 |
|---|---|---|---|
start |
字符串 | 模型开始模拟的时间 | "1980-01-01" |
end |
字符串 | 模型结束模拟的时间 | "2010-01-01" |
years |
整数 | 单次模拟时间向前推进的年份 | 1 |
| ## 省级配置 | |||
| 配置名 | 配置数据类型 | 解释说明 | 默认值 |
| --------- | --------- | ---------------- | ---- |
n_scale |
浮点数 [0-1] | 村庄数量到主体数量之间的换算系数 | 1 |
l_p |
浮点数 [0-1] | 省内灌溉主体建立联系的概率 | 0.05 |
l_c |
浮点数 [0-1] | 地级市内灌溉主体建立联系的概率 | 0.05 |
配置示例
```yaml
province: n_scale: 0.2 l_p: 0.05 l_c: 0.05
灌溉主体配置¶
| 配置名 | 配置数据类型 | 解释说明 | 默认值 |
|---|---|---|---|
irr_method |
整数 [0-5] | 农业灌溉主体的灌溉策略 | 0 |
mutation_rate |
浮点数 [0-1] | 农业灌溉主体随机改变决策的概率 | 0.05 |
s_enforcement_cost |
浮点数 [0-1] | 计算[[func|社会收益]]时代表beta1的参数 |
0.26 |
s_reputation |
浮点数 [0-1] | 计算[[func|社会收益]]时代表beta2的参数 |
0.55 |
forced_since |
整数 | [[分水制度]]强制实施的年份 | 1998 |
[!example] 配置示例 ```yaml farmer: irr_method: 4 mutation_rate: 0.05 s_enforcement_cost: 0.26 # Grid = 1 - S-enforcement-cost s_reputation: 0.55 # Group = S-reputation forced_since: 1998
AquaCrop 配置¶
In progress
该文档仍在积极开发中。
irr_method: 4
# ----- 灌溉管理策略 -----
IrrigationManagement:
# When IrrMethod = 1, this parameter will be applied:
SMT:
- 100 # emergence stage
- 100 # canopy_growth
- 100 # max_canopy
- 100 # senescence
# When IrrMethod = 2:
IrrInterval: 3 # 每三天灌溉一次
# 灌溉方法3,用特定的 pd.DataFrame 里的日期进行浇灌
Schedule: None
# 灌溉方案4
NetIrrSMT: 80 # 灌溉目标是保持土壤水保持在田间持水量的 80%
# 灌溉方案5
depth: 0 # mm constant depth apply on each day
# ---- 其它灌溉参数参数
WetSurf: 100.0 # 灌溉完全覆盖田地
AppEff: 80 # 灌溉效率 80%
MaxIrr: 25 # 每天最多灌溉 mm
MaxIrrSeason: 10_000 # 每个生长季最多灌溉多少毫米
# ----- 田间管理策略 -----
FieldMngt:
mulches: False
bunds: True
curve_number_adj: False
sr_inhb: False
mulch_pct: 50
f_mulch: 0.5
z_bund: 0
bund_water: 0
curve_number_adj_pct: 0