Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(echo = TRUE)
library(apsimx)
library(ggplot2)
## ----apsimx-options, echo = FALSE, eval = FALSE-------------------------------
# apsimx_options(warn.versions = FALSE)
# ava <- apsim_version(verbose = FALSE)
# aiu <- apsim_version(which = "inuse")
# ##if(is.na(ava[2,2])) stop("Need APSIM-X to create this vignette")
## ----create-temp-dir, echo = TRUE, eval = TRUE--------------------------------
## Will only write file to a temporary directory for these Examples
tmp.dir <- tempdir()
## ----apsimx-example, eval = FALSE---------------------------------------------
# maize <- apsimx_example("Maize")
## ----read-in-maize-example, eval = TRUE, echo = FALSE-------------------------
extd.dir <- system.file("extdata", package = "apsimx")
## maize <- read_apsimx("Maize.db", src.dir = extd.dir)
maize <- read.csv(paste0(extd.dir, "/Maize.csv"))
maize$Date <- as.Date(maize$Date)
## ----summary-ggplot-maize-----------------------------------------------------
summary(maize)
## Simple data plotting
ggplot(data = maize , aes(x = Date, y = Maize.AboveGround.Wt)) +
geom_point()
## ----inspect-apsimx-----------------------------------------------------------
extd.dir <- system.file("extdata", package = "apsimx")
inspect_apsimx("Maize.apsimx", src.dir = extd.dir, node = "Weather")
## ----inspect-maize-oc---------------------------------------------------------
inspect_apsimx("Maize.apsimx", src.dir = extd.dir,
node = "Soil", soil.child = "Organic")
## ----edit-maize-oc------------------------------------------------------------
ocs <- c(1.5, 1.4, 1.3, 1.2, 1.1, 1.0, 0.9)
edit_apsimx("Maize.apsimx",
src.dir = extd.dir,
wrt.dir = ".",
node = "Soil",
soil.child = "Organic",
parm = "Carbon", value = ocs)
## ----inspect-maize-oc-check---------------------------------------------------
inspect_apsimx("Maize-edited.apsimx", src.dir = ".",
node = "Soil", soil.child = "Organic")
## ----apsimx-wheat-no-run, eval = FALSE----------------------------------------
# sim <- apsimx("Wheat.apsimx", src.dir = extd.dir, value = "report")
## ----apsimx-wheat-no-run-two, eval = FALSE------------------------------------
# ex.dir <- auto_detect_apsimx_examples()
# ## Copy 'Wheat' file to a temporary directory
# ## (or change as needed)
# tmp.dir2 <- tempdir()
# file.copy(paste0(ex.dir, "/", "Wheat.apsimx"), tmp.dir2)
# sim <- apsimx("Wheat.apsimx", src.dir = tmp.dir2, value = "report")
## ----apsimx-wheat-read, echo = FALSE------------------------------------------
## sim <- read_apsimx("Wheat.db", src.dir = extd.dir)
sim <- read.csv(paste0(extd.dir, "/Wheat.csv"))
sim$Date <- as.Date(sim$Date)
## ----apsimx-wheat-summary-----------------------------------------------------
## Calcualte summary statistics on all variables
summary(sim)
## Plot data
ggplot(data = sim, aes(x = Date, y = Yield)) + geom_point()
## Inspect the Wheat .apsimx file
inspect_apsimx("Wheat.apsimx", src.dir = extd.dir, node = "Crop")
## This only displays the available 'Manager' components
inspect_apsimx("Wheat.apsimx", src.dir = extd.dir, node = "Manager")
## Looking more in-depth into 'SowingRule1'
inspect_apsimx("Wheat.apsimx", src.dir = extd.dir,
node = "Manager", parm = list("SowingRule1", NA))
## ----apsimx-wheat-cultivar-only-----------------------------------------------
inspect_apsimx("Wheat.apsimx", src.dir = extd.dir,
node = "Manager", parm = list("SowingRule1", 6))
## We can print and store the path to this parameter
pp <- inspect_apsimx("Wheat.apsimx", src.dir = extd.dir,
node = "Manager", parm = list("SowingRule1", 6),
print.path = TRUE)
## ----Millet-------------------------------------------------------------------
inspect_apsim("Millet.apsim", src.dir = extd.dir, node = "Manager")
## ----Millet-sow---------------------------------------------------------------
inspect_apsim("Millet.apsim", src.dir = extd.dir, node = "Manager",
parm = list("Sow on a fixed date", NA))
## ----Millet-sow-plt-dens------------------------------------------------------
inspect_apsim("Millet.apsim", src.dir = extd.dir, node = "Manager",
parm = list("Sow on a fixed date",5), print.path = TRUE)
## Or store it in an object for later editing
pp <- inspect_apsim("Millet.apsim", src.dir = extd.dir, node = "Manager",
parm = list("Sow on a fixed date", 5), print.path = TRUE)
## ----Millet-edit--------------------------------------------------------------
edit_apsim("Millet.apsim", src.dir = extd.dir, wrt.dir = tmp.dir,
node = "Other", parm.path = pp, value = 8,
edit.tag = "-pp")
## ----Millet-edit-inspect------------------------------------------------------
inspect_apsim("Millet-pp.apsim", src.dir = tmp.dir,
node = "Manager",
parm = list("Sow on a fixed date", NA))
## ----removing-Millet-pp, echo = FALSE, eval = TRUE----------------------------
## Apparently this is not needed
file.remove(paste0(tmp.dir, "/Millet-pp.apsim"))
## ----inspect-replacement-node-------------------------------------------------
inspect_apsimx_replacement("MaizeSoybean.apsimx", src.dir = extd.dir,
node = "Maize", display.available = TRUE)
## ----inspect-replacement-node-child-------------------------------------------
inspect_apsimx_replacement("MaizeSoybean.apsimx", src.dir = extd.dir,
node = "Maize", node.child = "Phenology",
display.available = TRUE)
## ----inspect-replacement-node-subchild----------------------------------------
inspect_apsimx_replacement("MaizeSoybean.apsimx", src.dir = extd.dir,
node = "Maize", node.child = "Phenology",
node.subchild = "ThermalTime",
display.available = TRUE)
## ----inspect-replacement-node-subchild-subsubchild----------------------------
inspect_apsimx_replacement("MaizeSoybean.apsimx", src.dir = extd.dir,
node = "Maize", node.child = "Phenology",
node.subchild = "ThermalTime",
node.subsubchild = "BaseThermalTime",
display.available = TRUE)
## ----inspect-replacement-node-subchild-subsubchild-temp-response--------------
inspect_apsimx_replacement("MaizeSoybean.apsimx", src.dir = extd.dir,
node = "Maize", node.child = "Phenology",
node.subchild = "ThermalTime",
node.subsubchild = "BaseThermalTime",
node.sub3child = "Response")
## ----inspect-replacement-node-subchild-subsubchild-temp-response-parm---------
inspect_apsimx_replacement("MaizeSoybean.apsimx", src.dir = extd.dir,
node = "Maize", node.child = "Phenology",
node.subchild = "ThermalTime",
node.subsubchild = "BaseThermalTime",
node.sub3child = "Response",
parm = "Y")
## ----inspect-replacement-soybean-cultivar-node--------------------------------
inspect_apsimx_replacement("MaizeSoybean.apsimx", src.dir = extd.dir,
node = "Soybean", display.available = TRUE)
## ----inspect-replacement-soybean-cultivar-node-child--------------------------
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Cultivars",
node.subchild = "USA",
node.subsubchild = "PioneerP22T61_MG22",
display.available = FALSE)
## ----edit-replacement---------------------------------------------------------
edit_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir, wrt.dir = tmp.dir,
node = "Maize", node.child = "Phenology",
node.subchild = "ThermalTime",
node.subsubchild = "BaseThermalTime",
node.sub3child = "Response",
parm = "Y", value = c(0, 12, 20, 28, 0))
## ----inspect-edit-replacement-------------------------------------------------
inspect_apsimx_replacement("MaizeSoybean-edited.apsimx",
src.dir = tmp.dir,
node = "Maize",
node.child = "Phenology",
node.subchild = "ThermalTime",
node.subsubchild = "BaseThermalTime",
node.sub3child = "Response",
parm = "Y")
## ----inspect-factorial-0, eval = FALSE----------------------------------------
# ## There are multiple 'Experiments' so we need to pick one
# inspect_apsimx_replacement("Factorial", src.dir = extd.dir,
# root = list("Experiment", NA))
# ##These positions matched Experiment 1 2 3 4 5
# ##Error in inspect_apsimx_replacement("Factorial", src.dir = ex.dir, root = ##list("Experiment", : Multiple root nodes found. Please provide a position
## ----inspect-factorial--------------------------------------------------------
## There are multiple 'Experiments' so we need to pick one
inspect_apsimx_replacement("Factorial", src.dir = extd.dir,
root = list("Experiment", 1))
## We need to provide a node
inspect_apsimx_replacement("Factorial", src.dir = extd.dir,
root = list("Experiment", 1),
node = "Base", display.available = TRUE)
## We need to provide a node child
inspect_apsimx_replacement("Factorial", src.dir = extd.dir,
root = list("Experiment", 1),
node = "Base", node.child = "Clock",
display.available = TRUE)
## ----inspect-apsimx-factorial-1, eval = FALSE---------------------------------
# inspect_apsimx("Factorial.apsimx", src.dir = extd.dir)
# ## Simulation structure:
# ## list Name: Simulations
# # list length: 8
# # list names: $type ExplorerWidth Version Name Children IncludeInDocumentation Enabled ReadOnly
# # Children: Yes
# # Children length: 6
# # Children Names: Experiment RangeExperiment OperationsExpt Compound ManagerExpt DataStore
# # Error in inspect_apsimx("Factorial", src.dir = ex.dir) :
# # more than one simulation found and no root node label has been specified
# # select one of the children names above
## ----inspect-apsimx-factorial-2-----------------------------------------------
inspect_apsimx("Factorial.apsimx", src.dir = extd.dir,
root = c("RangeExperiment", "Base2"),
node = "Weather")
## ----edit-apsimx-factorial-2--------------------------------------------------
edit_apsimx("Factorial.apsimx",
src.dir = extd.dir, wrt.dir = tmp.dir,
root = c("RangeExperiment", "Base2"),
node = "Weather",
value = "Ames.met")
## ----apsim-verions-tail, eval = FALSE-----------------------------------------
# ava <- apsim_version()
# aiu <- apsim_version(which = "inuse")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.