tests/testthat/test_skills.R

context("Selection of calibration/verification periods for skills")

test_that("skills correctly splits timespan", {
  dc1 <- dcc(muc_spruce, muc_clim, 4:8)
  
  sk1 <- skills(dc1, .mean(6:9, "temp"))
  expect_equal(sk1$cal.years, 1978:2007)
  expect_equal(sk1$ver.years, 1949:1977)
  
  sk2 <- skills(dc1, .mean(6:9, "temp"), calibration = 1960:1990)
  expect_equal(sk2$cal.years, 1960:1990)
  expect_equal(sk2$ver.years, c(1949:1959, 1991:2007))
  
  sk3 <- skills(dc1, .mean(6:9, "temp"), calibration = 30)
  expect_equal(sk3$cal.years, tail(c(1949:2007), 30))
  expect_equal(sk3$ver.years, c(1949:2007)[1:29])
  
  sk4 <- skills(dc1, .mean(6:9, "temp"), calibration = -30)
  expect_equal(sk4$cal.years, head(c(1949:2007), 30))
  expect_equal(sk4$ver.years, c(1949:2007)[31:59])
  
  sk5 <- skills(dc1, .mean(6:9, "temp"), calibration = "30%")
  expect_equal(sk5$cal.years, tail(c(1949:2007), 18))
  expect_equal(sk5$ver.years, c(1949:2007)[1:41])
  
  sk6 <- skills(dc1, .mean(6:9, "temp"), calibration = "-30%")
  expect_equal(sk6$cal.years, head(c(1949:2007), 18))
  expect_equal(sk6$ver.years, c(1949:2007)[19:59])
  
  sk7 <- skills(dc1, .mean(6:9, "temp"), calibration = "-30%", timespan = c(1955, 2004))
  expect_equal(sk7$cal.years, head(c(1955:2004), 15))
  expect_equal(sk7$ver.years, c(1955:2004)[16:50])
})
cszang/treeclim documentation built on Feb. 18, 2022, 4:54 a.m.