这是 ASAP (Agricultural Systems Analysis and Prediction) 模型的 Julia 实现版本,从原始的 Fortran module_rootdepth.f90
翻译而来。
Julia 版本将原始的单一 Fortran 模块分解为多个独立的、可测试的模块:
-
SoilParameters.jl - 土壤参数模块
- 定义13种土壤类型的参数
- 计算土壤导水率
- 初始化土壤参数
-
Evapotranspiration.jl - 蒸散发计算模块
- Priestley-Taylor 方法
- Penman-Monteith 方法
- Shuttleworth-Wallace 双源法
-
Interception.jl - 截留模块
- 植被截留计算
- 截留蒸发计算
-
WaterExtraction.jl - 水分提取模块
- 植物根系水分提取
- 土壤水分胁迫计算
-
SoilFluxes.jl - 土壤水流模块
- 土壤水分运动方程
- 三对角矩阵求解器
- 氧18同位素追踪
-
WaterTableDynamics.jl - 地下水位动态模块
- 浅层地下水位更新
- 侧向流影响
-
SoilInitialization.jl - 土壤初始化模块
- CLM 方法土壤层设置
- 固定层厚方法
-
RootDepth.jl - 主模块
- 整合所有子模块
- 提供主要计算接口
# 获取土壤参数
soil_params = get_soil_params(5) # 第5种土壤类型
# 计算蒸散发
pet = potevap_penman_monteith(1, 1, 298.15, 200.0, 300.0, 101325.0, 0.01, 2.0, 3.0, 5.0, 15.0)
# 计算截留
ppdrip, et_i, new_store = interception(0.01, 5.0, 3.0, 0.2, 0.5)