用R运行APSIM使其读取csv中的土壤信息并跑出CSV文件中所有站点的结果土壤信息如下:site lat lon Depth LL15 DUL SAT BDCN02595480 39958 110042 5 0099 0223 0389 134CN02595480 39958 110042 15 0108 0232 0391 136CN02595480 39958 110042 30 0121
这个任务需要用到R的APSIM包,以下是代码实现:
首先安装APSIM包:
install.packages("APSIM")
然后载入APSIM包:
library(APSIM)
接下来读入土壤信息的csv文件:
soil_data <- read.csv("soil_info.csv")
然后将土壤信息转换为APSIM所需的格式:
soil_info <- data.frame(
SiteID = soil_data$site,
Lat = soil_data$lat,
Long = soil_data$lon,
Depth = soil_data$Depth,
LL15 = soil_data$LL15,
DUL = soil_data$DUL,
SAT = soil_data$SAT,
BD = soil_data$BD
)
接下来就可以运行APSIM模拟了:
results <- APSIM(
SimulationName = "my_simulation", # 模拟名称
ModuleName = "APSIM.Wheat", # 模拟作物类型
SiteInfo = soil_info, # 土壤信息
WeatherFileName = "weather.met", # 天气数据文件名
Management = list( # 管理信息
PlantingDate = "01/05/2000",
RowSpacing = 0.25,
SowingDepth = 0.05
),
Outputs = list("grain_yield", "above_ground_biomass") # 输出结果
)
这里的Outputs参数指定了需要输出的结果,可以根据需要修改。最后将结果保存为csv文件:
write.csv(results, "my_results.csv", row.names = FALSE)
``
原文地址: https://www.cveoy.top/t/topic/c2Jo 著作权归作者所有。请勿转载和采集!