APSIM 模型运行脚本:定义文件路径、参数和输出保存
定义文件路径和参数
apsim_exe <- 'D:/APSIM/APSIM710-r4158/Model/APSIM.exe' apsim <- readLines('D:/APSIM/APSIM710-r4158/region1wheat/quyu1xiaomai.apsim', warn = FALSE)
定义土壤参数数据框 (假设已定义为 soil_df)
确保 soil_df 包含必要的列: site, lat, lon, LL15, DUL, SAT, BD
初始化一个空列表来存储输出
output <- list()
循环遍历每个站点和深度
for (i in 1:nrow(soil_df)) { site <- soil_df$site[i] lat <- soil_df$lat[i] lon <- soil_df$lon[i]
for (depth in c(5, 15, 30, 60)) { ## 设置土壤参数 soil_parameters <- list( Site = site, Depth = depth, LL15 = soil_df$LL15[i], DUL = soil_df$DUL[i], SAT = soil_df$SAT[i], BD = soil_df$BD[i] )
## 运行 APSIM 模型
file_apsim <- paste0('D:/APSIM/APSIM710-r4158/region1wheat/SHIYONG.apsim')
writeLines(apsim, file_apsim)
system(paste(apsim_exe, file_apsim), wait = TRUE, ignore.stdout = TRUE, show.output.on.console = FALSE)
## 保存结果为 CSV 文件
file.copy('D:/APSIM/APSIM710-r4158/region1wheat/SHIYONG.out', paste0('D:/APSIM/APSIM710-r4158/region1wheat/SHIYONG/', soil_df$name[i], '.out'))
## 将输出存储在列表中
output[[paste0(site, '_', depth)]] <- read.csv(paste0('D:/APSIM/APSIM710-r4158/region1wheat/SHIYONG/', site, '.out'))
print(i)
output_file <- 'D:/APSIM/APSIM710-r4158/region1wheat/output.csv' # 指定输出文件的路径和文件名
write.csv(output, file = output_file, row.names = FALSE)
} }
每次运行的 out 文件在哪
每次运行的 out 文件会被保存在文件路径为 'D:/APSIM/APSIM710-r4158/region1wheat/SHIYONG.out' 的位置。具体的输出文件名取决于所运行的模拟的名称,例如如果运行的是 'quyu1xiaomai.apsim' 模拟,则输出文件名为 'quyu1xiaomai.out'。
原文地址: https://www.cveoy.top/t/topic/nCO6 著作权归作者所有。请勿转载和采集!