Nothing
## Run a few tests for the examples
require(apsimx)
packageVersion("apsimx")
apsimx_options(warn.versions = FALSE)
## Run inspect tests
run.inspect.tests <- get(".run.local.tests", envir = apsimx.options)
if(run.inspect.tests) ex.dir <- auto_detect_apsimx_examples()
if(run.inspect.tests){
## Barley
i <- "Barley.apsimx"
inspect_apsimx(i, src.dir = ex.dir, node = "Clock")
inspect_apsimx(i, src.dir = ex.dir, node = "Weather")
inspect_apsimx(i, src.dir = ex.dir, node = "MicroClimate")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Physical")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "SoilWater")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "SoilWater", parm = "SummerDate")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "SoilWater", parm = "SummerCona")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Organic")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "InitialWater")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Chemical")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Solute")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Solute", parm = "NO3")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Solute", parm = list("NO3", 2))
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Solute", parm = list("NO3", "D0"))
inspect_apsimx(i, src.dir = ex.dir, node = "SurfaceOrganicMatter")
inspect_apsimx(i, src.dir = ex.dir, node = "Crop")
inspect_apsimx(i, src.dir = ex.dir, node = "Manager")
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Fertilise", NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Sow on a fixed date", NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Sow on a fixed date", 1))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Sow on a fixed date", 2))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Sow on a fixed date", 3))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Sow on a fixed date", 4))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Sow on a fixed date", 5))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Sow on a fixed date", 6))
inspect_apsimx(i, src.dir = ex.dir, node = "Report")
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = "VariableNames")
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = "EventNames")
## Maize
i <- "Maize.apsimx"
inspect_apsimx(i, src.dir = ex.dir, node = "Clock")
inspect_apsimx(i, src.dir = ex.dir, node = "Weather")
inspect_apsimx(i, src.dir = ex.dir, node = "MicroClimate")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Physical")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "SoilWater")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Organic")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Chemical")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Solute")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Solute", parm = "NH4")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Solute", parm = list("NH4", "DepthConstant"))
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "InitialWater")
inspect_apsimx(i, src.dir = ex.dir, node = "SurfaceOrganicMatter")
inspect_apsimx(i, src.dir = ex.dir, node = "Crop")
inspect_apsimx(i, src.dir = ex.dir, node = "Manager")
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('Fertilise', NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = "VariableNames")
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = "EventNames")
## Oats
i <- "Oats"
inspect_apsimx(i, src.dir = ex.dir, node = "Clock")
inspect_apsimx(i, src.dir = ex.dir, node = "Weather")
inspect_apsimx(i, src.dir = ex.dir, node = "MicroClimate")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Water")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "SoilWater")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "SoilWater", parm = "SummerDate")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Organic")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Chemical")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Solute")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "NO3")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "NO3", parm = "InitialValues")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "NO3", parm = "D0")
inspect_apsimx(i, src.dir = ex.dir, node = "SurfaceOrganicMatter")
inspect_apsimx(i, src.dir = ex.dir, node = "Crop")
inspect_apsimx(i, src.dir = ex.dir, node = "Manager")
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('Fert', NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 1))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 2))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 3))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 4))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 5))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 6))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 7))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 8))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list('variable', 9))
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = "VariableNames")
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = "EventNames")
## OilPalm is good for testing Report
i <- "OilPalm.apsimx"
inspect_apsimx(i, src.dir = ex.dir, node = "Clock")
inspect_apsimx(i, src.dir = ex.dir, node = "Weather")
inspect_apsimx(i, src.dir = ex.dir, node = "MicroClimate")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Physical")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "SoilWater")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "SoilWater", parm = "SummerDate")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Organic")
inspect_apsimx(i, src.dir = ex.dir, node = "Soil", soil.child = "Chemical")
inspect_apsimx(i, src.dir = ex.dir, node = "SurfaceOrganicMatter")
inspect_apsimx(i, src.dir = ex.dir, node = "Manager")
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Palm Management", NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Manager", parm = list("Palm Management", 3))
inspect_apsimx(i, src.dir = ex.dir, node = "Report")
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = list("Annual", NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = list("Monthly", NA))
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = list("Annual", "Variable"))
inspect_apsimx(i, src.dir = ex.dir, node = "Report", parm = list("Monthly", "Event"))
}
run.inspect.print.path.tests <- get(".run.local.tests", envir = apsimx.options)
if(run.inspect.print.path.tests){
i <- "Barley.apsimx"
#### Clock ####
pp <- inspect_apsimx(i, src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Clock")
stop("Error in inspect_apsimx, Barley, Clock, print.path")
pp <- inspect_apsimx(i, src.dir = ex.dir, parm = "Start", print.path = TRUE)
if(pp != ".Simulations.Simulation.Clock.Start")
stop("Error in inspect_apsimx, Barley, Start, print.path")
#### Weather ####
pp <- inspect_apsimx(i, node = "Weather", src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Weather")
stop("Error in inspect_apsimx, Barley, Weather, print.path")
#### Soil - Metadata ####
pp <- inspect_apsimx(i, node = "Soil", src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil")
stop("Error in inspect_apsimx, Barley, Soil, Metadata, print.path")
pp <- inspect_apsimx(i, node = "Soil", src.dir = ex.dir,
parm = "Latitude", print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Latitude") ## I think this currently works as expected... ??
stop("Error in inspect_apsimx, Barley, Soil, Metadata, Latitude, print.path")
#### Soil - Physical ####
pp <- inspect_apsimx(i, node = "Soil", soil.child = "Physical",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Physical")
stop("Error in inspect_apsimx, Barley, Soil, Physical, print.path")
pp <- inspect_apsimx(i, node = "Soil", soil.child = "Physical",
parm = "DUL", src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Physical.DUL")
stop("Error in inspect_apsimx, Barley, Soil, Physical, DUL, print.path")
pp <- inspect_apsimx(i, node = "Soil", soil.child = "Physical",
parm = "Barley XF", src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Physical.Barley XF")
stop("Error in inspect_apsimx, Barley, Soil, Physical, Barley XF, print.path")
#### Soil - SoilWater ####
pp <- inspect_apsimx(i, node = "Soil", soil.child = "SoilWater",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.SoilWater")
stop("Error in inspect_apsimx, Barley, Soil, SoilWater, print.path")
pp <- inspect_apsimx(i, node = "Soil", soil.child = "SoilWater", parm = "Salb",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.SoilWater.Salb")
stop("Error in inspect_apsimx, Barley, Soil, SoilWater, SWCON, print.path")
pp <- inspect_apsimx(i, node = "Soil", soil.child = "SoilWater", parm = "SWCON",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.SoilWater.SWCON")
stop("Error in inspect_apsimx, Barley, Soil, SoilWater, SWCON, print.path")
#### Soil - Chemical ####
pp <- inspect_apsimx(i, node = "Soil", soil.child = "Chemical",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Chemical")
stop("Error in inspect_apsimx, Barley, Soil, Chemical, print.path")
pp <- inspect_apsimx(i, node = "Soil", soil.child = "Chemical", parm = "PH",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Chemical.PH")
stop("Error in inspect_apsimx, Barley, Soil, Chemical, PH, print.path")
#### Soil - InitialWater ####
pp <- inspect_apsimx(i, node = "Soil", soil.child = "InitialWater",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Water")
stop("Error in inspect_apsimx, Barley, Soil, InitialWater, print.path")
pp <- inspect_apsimx(i, node = "Soil", soil.child = "InitialWater", parm = "RelativeTo",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Water.RelativeTo")
stop("Error in inspect_apsimx, Barley, Soil, InitialWater, FractionFull, print.path")
#### Soil - Organic ####
pp <- inspect_apsimx(i, node = "Soil", soil.child = "Organic",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Organic")
stop("Error in inspect_apsimx, Barley, Soil, Organic, print.path")
pp <- inspect_apsimx(i, node = "Soil", soil.child = "Organic", parm = "Carbon",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Soil.Organic.Carbon")
stop("Error in inspect_apsimx, Barley, Soil, Organic, Carbon, print.path")
#### Soil - InitialN ####
## Note (2023-12-10) Need to change this to NO3, NH3, Urea
# pp <- inspect_apsimx(i, node = "Soil", soil.child = "InitialN",
# src.dir = ex.dir, print.path = TRUE)
# if(pp != ".Simulations.Simulation.Field.Soil.InitialN")
# stop("Error in inspect_apsimx, Barley, Soil, InitialN, print.path")
#### Soil - CERESSoilTemperature and Nutrient ####
## There is not much here to test or implement at the moment
#### Manager ####
pp <- inspect_apsimx(i, node = "Manager", src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field")
stop("Error in inspect_apsimx, Barley, Manager, print.path")
pp <- inspect_apsimx(i, node = "Manager", parm = list("Fertilise", NA),
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Fertilise at sowing")
stop("Error in inspect_apsimx, Barley, Manager, Fertilise at sowing, print.path")
pp <- inspect_apsimx(i, node = "Manager", parm = list("Fertilise", 3),
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.Fertilise at sowing.Amount")
stop("Error in inspect_apsimx, Barley, Manager, Fertilise at sowing, Amount, print.path")
pp <- inspect_apsimx(i, node = "Surface",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.SurfaceOrganicMatter")
stop("Error in inspect_apsimx, Barley, SurfaceOrganicMatter, print.path")
pp <- inspect_apsimx(i, node = "Surface", parm = "InitialResidueMass",
src.dir = ex.dir, print.path = TRUE)
if(pp != ".Simulations.Simulation.Field.SurfaceOrganicMatter.InitialResidueMass")
stop("Error in inspect_apsimx, Barley, SurfaceOrganicMatter, InitialResidueMass print.path")
pp <- inspect_apsimx(i, node = "MicroClimate",
src.dir = ex.dir, print.path = TRUE)
pp <- inspect_apsimx(i, node = "MicroClimate", parm = "SoilHeatFluxFraction",
src.dir = ex.dir, print.path = TRUE)
}
inspect.replacement.test <- get(".run.local.tests", envir = apsimx.options)
if(inspect.replacement.test){
## Define the highest level
inspect_apsimx_replacement("Factorial", src.dir = ex.dir,
root = list("Experiment", 1),
node = "Base", node.child = "Clock")
## inspect_apsimx version
inspect_apsimx("Factorial.apsimx", src.dir = ex.dir,
root = c("Experiment", "Base"),
node = "Clock")
inspect_apsimx_replacement("Factorial", src.dir = ex.dir,
root = list("Experiment", 1),
node = "Base", node.child = "Weather")
## inspect_apsimx version
inspect_apsimx("Factorial.apsimx", src.dir = ex.dir,
root = c("Experiment", "Base"),
node = "Weather")
inspect_apsimx_replacement("Factorial", src.dir = ex.dir,
root = list("Experiment", 1),
node = "Base", node.child = "Field",
node.subchild = "Soil",
display.available = TRUE)
## inspect_apsimx version
inspect_apsimx("Factorial.apsimx", src.dir = ex.dir,
root = c("Experiment", "Base"),
node = "Soil")
## If we want to look at the second Factorial 'Experiment'
inspect_apsimx_replacement("Factorial", src.dir = ex.dir,
root = list("Experiment", 2),
node = "Base", node.child = "Field",
node.subchild = "Soil",
display.available = TRUE)
## Look at Water
inspect_apsimx_replacement("Factorial", src.dir = ex.dir,
root = list("Experiment", 2),
node = "Base", node.child = "Field",
node.subchild = "Soil",
node.subsubchild = "Water",
display.available = TRUE)
## For a specific parameter
inspect_apsimx_replacement("Factorial", src.dir = ex.dir,
root = list("Experiment", 2),
node = "Base", node.child = "Field",
node.subchild = "Soil",
node.subsubchild = "Water",
parm = "Depth")
}
inspect.replacement.test2 <- get(".run.local.tests", envir = apsimx.options)
extd.dir <- system.file("extdata", package = "apsimx")
if(inspect.replacement.test2){
## Testing inspect_apsimx on MaizeSoybean.apsimx
pp <- inspect_apsimx("MaizeSoybean.apsimx", src.dir = extd.dir,
node = "Weather",
root = "SimulationSoybean",
parm = "FileName",
print.path = TRUE)
if(pp != ".Simulations.SimulationSoybean.Weather.FileName")
stop("pp does not match for inspect_apsimx MaizeSoybean.apsimx root = SimulationSoybean", call. = FALSE)
pp <- inspect_apsimx_replacement("MaizeSoybean.apsimx", src.dir = extd.dir,
root = "SimulationSoybean",
node = "Weather", parm = "FileName", print.path = TRUE)
if(pp != ".Simulations.SimulationSoybean.Weather.FileName")
stop("pp does not match for inspect_apsimx_replacement MaizeSoybean.apsimx root = SimulationSoybean", call. = FALSE)
## Looking at values within Leaf
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
display.available = TRUE)
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
display.available = TRUE)
## We can look at parameters at this level
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
parm = "Albedo")
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
parm = "Gsmax350")
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
parm = "R50")
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
node.subchild = "Photosynthesis",
node.subsubchild = "RUE")
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
node.subchild = "Photosynthesis",
node.subsubchild = "RUE",
parm = "FixedValue")
## Soybean Cultivars
pp <- inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Cultivars",
node.subchild = "USA",
node.subsubchild = "PioneerP22T61_MG22",
parm = "Vegetative.Target.FixedValue",
print.path = TRUE)
if(pp != ".Simulations.Replacements.Soybean.Cultivars.USA.PioneerP22T61_MG22.Vegetative.Target.FixedValue")
stop("Error in inspect_apsimx_replacement, MaizeSoybean, PioneerP22T61_MG22, Vegetative.Target.FixedValue, print.path")
pp <- inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Cultivars",
node.subchild = "USA",
node.subsubchild = "PioneerP22T61_MG22",
parm = "EarlyFlowering",
print.path = TRUE)
if(pp != ".Simulations.Replacements.Soybean.Cultivars.USA.PioneerP22T61_MG22.EarlyFlowering")
stop("Error in inspect_apsimx_replacement, MaizeSoybean, PioneerP22T61_MG22, EarlyFlowering, print.path")
## Testing the root
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
root = "SimulationSoybean",
node = "Weather",
parm = "FileName")
inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
root = "SimulationMaize",
node = "Weather",
parm = "FileName")
## WheatRye version
inspect_apsimx_replacement("WheatRye.apsimx", src.dir = extd.dir,
node = "Wheat", node.child = "Cultivars",
node.subchild = "USA", node.subsubchild = "Yecora")
## Now with parameter
inspect_apsimx_replacement("WheatRye.apsimx", src.dir = extd.dir,
node = "Wheat", node.child = "Cultivars",
node.subchild = "USA", node.subsubchild = "Yecora",
parm = "MinimumLeafNumber")
## This only works for the first one
inspect_apsimx_replacement("WheatRye.apsimx", src.dir = extd.dir,
node = "Wheat", node.child = "Cultivars",
node.subchild = "USA", node.subsubchild = "Yecora",
parm = "Vrn")
}
inspect.replacement.test.parm.path <- get(".run.local.tests", envir = apsimx.options)
if(inspect.replacement.test.parm.path){
pp <- inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
print.path = TRUE)
pp <- inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
print.path = TRUE)
pp <- inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
print.path = TRUE)
pp <- inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
parm = "Albedo",
print.path = TRUE)
pp <- inspect_apsimx_replacement("MaizeSoybean.apsimx",
src.dir = extd.dir,
node = "Soybean",
node.child = "Leaf",
parm = "Gsmax350",
print.path = TRUE)
### Testing replacement with new simulations (Dec 2023)
### Not normal testing as these files are not distributed with APSIM
### In the future, I will create some and distribute with the package
if(FALSE){
csm.dir <- "~/Desktop/csm/lab_05"
pp1 <- inspect_apsimx_replacement("MaizeSoybean_replacement.apsimx",
src.dir = csm.dir,
node = "Maize",
node.child = "Leaf",
node.subchild = "Photosynthesis",
node.subsubchild = "RUE",
parm = "FixedValue",
display.available = FALSE,
print.path = TRUE)
### Need to look at whether I can edit this
}
}
#### Test inspect Other ----
inspect.factorial.test.parm.path <- get(".run.local.tests", envir = apsimx.options)
if(inspect.factorial.test.parm.path){
tmp.dir <- tempdir()
dir(tmp.dir)
ex.dir <- auto_detect_apsimx_examples()
### Test with all examples
ex.dir.list <- dir(ex.dir, recursive = FALSE, pattern = "apsimx$")
## Trying node = "Other"
for(i in ex.dir.list){
if(!file.exists(file.path(tmp.dir, i))) file.copy(from = file.path(ex.dir, i), to = tmp.dir)
cat("Simulation:", i, "\n")
inspect_apsimx(i, src.dir = tmp.dir, node = "Other")
cat("\n")
}
for(i in ex.dir.list){
cat("Simulation:", i, "\n")
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = 2)
}
for(i in ex.dir.list){
## file.copy(from = file.path(ex.dir, i), to = tmp.dir)
cat("Simulation:", i, "\n")
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = 3)
}
## Next need to test if inspect_apsimx works well when parm is a string
## pp <- inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(".Simulations.AgPastureExample.Field"))
## Would like to implement list(1, 2, 3)
i <- "AgPasture.apsimx"
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 3), print.path = TRUE)
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 0))
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 1:3))
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, c(3, 5)))
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, c(3, 5)), print.path = TRUE)
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 3, 0))
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 3, 5, 0))
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 3, 7, 7, 0))
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 3, 7, 1, 3), print.path = TRUE)
pp <- inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = ".Simulations.AgPasture.Field", print.path = TRUE)
i <- "WhiteClover.apsimx"
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = 3)
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 2, 5, 6, 0))
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = ".Simulations.Simulation.Field")
## Developing/Testing list/grep
## This should work for SimpleGrazing and it doesn't at the moment
i <- "AgPasture.apsimx"
inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 3, 7, 8, 0))
(pp <- inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 3, 7, 8, 17), print.path = TRUE))
rootp <- inspect_apsimx(i, src.dir = tmp.dir, node = "Other", parm = list(1, 3))
rut <- strsplit(rootp, ".", fixed = TRUE)[[1]][3]
# inspect_apsimx(i, src.dir = tmp.dir, node = "Other", root = rut,
# parm = list("SimpleGrazingFrequencyString"))
inspect_apsimx(i, src.dir = tmp.dir, node = "Other",
parm = list("AgPastureExample.SimpleGrazingFrequencyString"))
## These examples below do not work well (yet)
##inspect_apsimx(i, src.dir = tmp.dir, node = "Other",
## parm = list("AgPastureExample", "SimpleGrazingFrequencyString"))
## inspect_apsimx(i, src.dir = tmp.dir, root = "AgPastureExample", node = "Other")
##inspect_apsimx(i, src.dir = tmp.dir, root = "AgPastureExample",
## node = "Other", parm = list("SimpleGrazingFrequencyString", "SimpleGrazingResidual"))
## This works now, but not for all parameters, not sure why
inspect_apsimx_json(i, src.dir = tmp.dir, parm = "AgPastureExample.SimpleGrazingFrequencyString")
inspect_apsimx_json(i, src.dir = tmp.dir, parm = "AgPastureExample.SimpleMinGrazable")
inspect_apsimx_json(i, src.dir = tmp.dir, parm = "AgPastureExample.GrazingRotationType")
## Inspect Replacement version
inspect_apsimx_replacement(i, src.dir = tmp.dir,
root = list("AgPastureExample", 2),
display.available = TRUE)
pp <- inspect_apsimx_replacement(i, src.dir = tmp.dir,
root = list("AgPastureExample", 2),
node = "Field",
node.child = "SimpleGrazing",
parm = "SimpleGrazingFrequencyString",
display.available = TRUE,
verbose = FALSE)
inspect_apsimx("Factorial.apsimx", src.dir = tmp.dir,
root = list("RangeExperiment", "Base1"),
node = "Soil",
soil.child = "Physical",
print.path = TRUE)
inspect_apsimx_replacement("Factorial.apsimx", src.dir = tmp.dir,
root = list("RangeExperiment"),
display.available = TRUE,
print.path = TRUE)
# inspect_apsimx_json("Factorial.apsimx", src.dir = tmp.dir,
# parm = "Clock",
# print.path = TRUE)
inspect_apsimx_json("Factorial.apsimx", src.dir = tmp.dir,
parm = "Permutation",
print.path = TRUE)
inspect_apsimx_json("AgPasture.apsimx", src.dir = tmp.dir,
parm = "CO2xBaseTemperature",
print.path = TRUE)
inspect_apsimx("AgPasture.apsimx", src.dir = tmp.dir,
root = list("CO2xBaseTemperature", "CO2xTb"),
print.path = TRUE)
inspect_apsimx("AgPasture.apsimx", src.dir = tmp.dir,
root = list("PastureByWaterAndNitrogen", "Base"),
print.path = TRUE)
}
#### Test Solute ----
if(run.inspect.tests){
### It is also possible to inspect 'Solute' or individual components in
### other ways (see the initial 'inspect' tests at the beginning of this script)
ex.dir <- auto_detect_apsimx_examples()
dir(ex.dir)
test.files <- c("Maize.apsimx", "Wheat.apsimx", "Soybean.apsimx", "Oats.apsimx")
for(i in test.files){
cat("Test file:", i, "\n")
inspect_apsimx(i, src.dir = ex.dir,
node = "Soil",
soil.child = "Solute")
inspect_apsimx(i, src.dir = ex.dir,
node = "Soil",
soil.child = "Solute",
print.path = TRUE)
inspect_apsimx(i, src.dir = ex.dir,
node = "Soil",
soil.child = "Solute",
parm = "NO3",
print.path = TRUE)
inspect_apsimx(i, src.dir = ex.dir,
node = "Soil",
soil.child = "Solute",
parm = "NH4",
print.path = TRUE)
inspect_apsimx(i, src.dir = ex.dir,
node = "Soil",
soil.child = "Solute",
parm = "Urea",
print.path = TRUE)
}
}
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.