Nothing
#
# Helper functions and setup
#
# load Lemna model by Schmitt et al. (2013)
source("mmc2.r", local=TRUE)
source("mmc3.r", local=TRUE)
simulate_focus <- function(scale_f, model, scenario, ...) {
if(model == "schmitt") {
param$k_phot_fix <- FALSE
param$mass_per_frond <- 0.0004
param$Conc <- scenario$envir$conc
param$Conc$Conc <- param$Conc$Conc * scale_f
param$Temp <- scenario$envir$tmp
param$Rad <- scenario$envir$irr
res <- calcgrowth(scenario$times, c(BM=scenario$init[["BM"]], E=1, M_int=0), param, hmax=0.01)
} else if(model == "klein") {
envir <- scenario$envir
envir$conc$Conc <- envir$conc$Conc * scale_f
res <- lemna(scenario, envir=envir, hmax=0.01, ...)
}
res$factor <- as.character(scale_f)
res
}
#
# Tests for conditions with environmental variability
#
test_that("FOCUS D1 Ditch", {
skip_on_ci()
skip_on_covr()
skip_on_cran()
skip_if_not_installed("furrr")
# enable parallel processing for this and the following tests
future::plan(future::multisession())
factors <- c(0, round(10^seq(0,2,0.2), 1))
df_s <- furrr::future_map_dfr(factors, simulate_focus, model="schmitt", scenario=focusd1)
df_kr <- furrr::future_map_dfr(factors, simulate_focus, model="klein", scenario=focusd1, ode_mode="r")
df_kc <- furrr::future_map_dfr(factors, simulate_focus, model="klein", scenario=focusd1, ode_mode="c")
# large tolerance because models equations differ
expect_equal(df_kr, df_s, tolerance=0.1, ignore_attr=TRUE)
# C & R model cores should yield identical results
expect_equal(df_kr, df_kc, tolerance=1e-4, ignore_attr=TRUE)
})
test_that("FOCUS D2 Ditch", {
skip_on_ci()
skip_on_covr()
skip_on_cran()
skip_if_not_installed("furrr")
factors <- c(0, round(10^seq(0,2,0.2), 1))
df_kr <- furrr::future_map_dfr(factors, simulate_focus, model="klein", scenario=focusd2, ode_mode="r")
df_kc <- furrr::future_map_dfr(factors, simulate_focus, model="klein", scenario=focusd2, ode_mode="c")
expect_equal(df_kr, df_kc, tolerance=1e-4, ignore_attr=TRUE)
})
test_that("FOCUS R3 Stream", {
skip_on_ci()
skip_on_covr()
skip_on_cran()
skip_if_not_installed("furrr")
factors <- c(0, round(10^seq(0,3,0.3), 1))
df_kr <- furrr::future_map_dfr(factors, simulate_focus, model="klein", scenario=focusr3, ode_mode="r")
df_kc <- furrr::future_map_dfr(factors, simulate_focus, model="klein", scenario=focusr3, ode_mode="c")
expect_equal(df_kr, df_kc, tolerance=1e-4, ignore_attr=TRUE)
# disable parallel processing
future::plan(future::sequential())
})
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.