knitr::opts_chunk$set(echo = FALSE)
knitr::opts_chunk$set(error = TRUE)
knitr::opts_chunk$set(message = FALSE)
knitr::opts_chunk$set(warning = FALSE)

library(medfate)
library(medfatereports)
library(dplyr)
library(ggplot2)
control <- medfate::defaultControl()
control_mod <- yaml::yaml.load_file(system.file("yaml_configurations", paste0(params$conf, ".yaml"),
                                          package = "medfatereports"))
for(i in 1:length(control_mod)) {
  control[[names(control_mod)[i]]] <- control_mod[[i]]
}

out_path <- file.path(params$wd, 'Output', packageVersion('medfate')[[1]], params$model, params$conf, params$code)

site_data <- load_list(params$code)

General Info

data.frame(
    Pkg_version  = as.character(packageVersion('medfate')),
    Site = params$code,
    Model = params$model,
    Configuration = params$conf,
    Date = format(Sys.Date())
  )

Custom control

as.data.frame(control_mod)

Custom species parameters

as.data.frame(site_data$customParams)

Remarks

site_data$remarks

Run Model

soil_object <- soil(site_data$soilData, VG_PTF = "Toth")

if(params$model=="spwb") {
  input_object <- medfate::forest2spwbInput(site_data$forest_object1, 
                                            soil_object, 
                                            site_data$sp_params, 
                                            control)
  # input_object <- modifyCohortParams(input_object, site_data$customParams)
  res <- spwb(input_object,
              site_data$meteoData, 
              latitude = site_data$terrainData$latitude, 
              elevation = site_data$terrainData$elevation, 
              slope = site_data$terrainData$slope, 
              aspect = site_data$terrainData$aspect)
} else if(params$model=="growth") {
  input_object <- medfate::forest2growthInput(site_data$forest_object1, 
                                            soil_object, 
                                            site_data$sp_params, 
                                            control)
  # input_object <- modifyCohortParams(input_object, site_data$customParams)
  res <- growth(input_object,
              site_data$meteoData, 
              latitude = site_data$terrainData$latitude, 
              elevation = site_data$terrainData$elevation, 
              slope = site_data$terrainData$slope, 
              aspect = site_data$terrainData$aspect)
}
file_name_input <- file.path(out_path,
                       paste0('simulation_input.rds'))
file_name_output <- file.path(out_path,
                       paste0('simulation_result.rds'))

saveRDS(input_object, file = file_name_input)
paste0("Model input file '", file_name_input, "' written.")
saveRDS(res, file = file_name_output)
paste0("Model output file '", file_name_output, "' written.")

Output plots


Evaluation


Input object

  print(input_object)

Session Info

# printing session info
devtools::session_info()


emf-creaf/medfatereports documentation built on Feb. 20, 2024, 6:45 a.m.