context("benchmarks")
library(magrittr)
library(tealeaves)
test_that("benchmarks haven't changed", {
cs <- make_constants()
lp <- make_leafpar(replace = list(abs_s = set_units(0.8)))
ep <- make_enviropar()
tl <- tleaf(lp, ep, cs, set_units = TRUE)
expect_equal(round(tl$T_leaf, 4), set_units(305.8332, K))
p <- tidyr::crossing(
abs_s = set_units(0.5),
g_sw = set_units(c(0.1, 1, 10), umol/m^2/s/Pa),
leafsize = set_units(c(0.004, 0.04, 0.4), m),
logit_sr = set_units(c(-10, 0, 10)),
S_sw = set_units(c(100, 500, 1000), W/m^2),
T_air = set_units(seq(273.15, 313.15, 10), K),
wind = set_units(c(0.01, 0.1, 1, 10), m/s)
)
p$T_sky <- p$T_air - set_units(20, K) * p$S_sw / set_units(1000, W / m ^ 2)
p$T_leaf <- numeric(nrow(p))
# Create benchmarks (last updated: 2019-04-06)
# for (i in 1:nrow(p)) {
# lp$g_sw <- set_units(p$g_sw[i], umol/m^2/s/Pa)
# ep$T_air <- set_units(p$T_air[i], K)
# tl <- tleaf(lp, ep, cs, unitless = TRUE)
# p$T_leaf[i] <- tl$T_leaf
# }
# readr::write_csv(p, "tests/testthat/benchmarks.csv")
p <- read.csv("benchmarks.csv")
for (i in sample(nrow(p), 5)) { # 1:nrow(p)) {
lp$g_sw <- set_units(p$g_sw[i], umol/m^2/s/Pa)
ep$T_air <- set_units(p$T_air[i], K)
tl <- tleaf(lp, ep, cs, set_units = TRUE)
expect_equal(round(tl$T_leaf, 3), set_units(round(p$T_leaf[i], 3), K))
}
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.