Running ‘testthat.R’ [4s/5s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
  > library(testthat)
  > test_check("RCMIP5")
  Loading required package: RCMIP5
  ── 1. Error: cmip5data print method works (@test_RCMIP5.R#18)  ─────────────────
  replacement has 2 rows, data has 1
  1: cmip5data(2000:2005, loadAs = i) at testthat/test_RCMIP5.R:18
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140149.59675, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140149.59675, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140149.59399, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140149.59399, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 2. Error: cmip5data summary method detects summaries (@test_RCMIP5.R#28)  ───
  replacement has 2 rows, data has 1
  1: cmip5data(2000:2005, Z = T, loadAs = i) at testthat/test_RCMIP5.R:28
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140149.76058, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140149.76058, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140149.75896, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140149.75896, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 3. Error: as.data.frame works (@test_RCMIP5.R#71)  ──────────────────────────
  replacement has 2 rows, data has 1
  1: as.data.frame(cmip5data(2000:2002, Z = T, loadAs = i)) at testthat/test_RCMIP5.R:71
  2: cmip5data(2000:2002, Z = T, loadAs = i)
  3: addProvenance(result, "Dummy data created")
  4: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140149.87325, class = c("POSIXct", 
     "POSIXt")))
  5: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140149.87325, class = c("POSIXct", 
     "POSIXt")))
  6: xpdrows.data.frame(x, rows, new.rows)
  7: `[[<-`(`*tmp*`, i, value = structure(c(1540140149.87175, NA), class = c("POSIXct", 
     "POSIXt")))
  8: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140149.87175, NA), class = c("POSIXct", 
     "POSIXt")))
  9: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 4. Error: as.array works (@test_RCMIP5.R#79)  ───────────────────────────────
  replacement has 2 rows, data has 1
  1: as.array(cmip5data(2000:2002, Z = T)) at testthat/test_RCMIP5.R:79
  2: cmip5data(2000:2002, Z = T)
  3: addProvenance(result, "Dummy data created")
  4: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140149.88911, class = c("POSIXct", 
     "POSIXt")))
  5: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140149.88911, class = c("POSIXct", 
     "POSIXt")))
  6: xpdrows.data.frame(x, rows, new.rows)
  7: `[[<-`(`*tmp*`, i, value = structure(c(1540140149.88749, NA), class = c("POSIXct", 
     "POSIXt")))
  8: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140149.88749, NA), class = c("POSIXct", 
     "POSIXt")))
  9: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 5. Error: addProvenance initializes (@test_addProvenance.R#18)  ─────────────
  replacement has 2 rows, data has 1
  1: RCMIP5:::addProvenance(cmip5data(1, loadAs = i), msg = "test") at testthat/test_addProvenance.R:18
  2: assert_that(class(x) == "cmip5data")
  3: see_if(..., env = env, msg = msg)
  4: tryCatch({
         eval(assertion, env)
     }, assertError = function(e) {
         structure(FALSE, msg = e$message)
     })
  5: tryCatchList(expr, classes, parentenv, handlers)
  6: tryCatchOne(expr, names, parentenv, handlers[[1L]])
  7: doTryCatch(return(expr), name, parentenv, handler)
  8: eval(assertion, env)
  9: eval(assertion, env)
  10: cmip5data(1, loadAs = i)
  11: addProvenance(result, "Dummy data created")
  12: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140149.91894, class = c("POSIXct", 
     "POSIXt")))
  13: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140149.91894, class = c("POSIXct", 
     "POSIXt")))
  14: xpdrows.data.frame(x, rows, new.rows)
  15: `[[<-`(`*tmp*`, i, value = structure(c(1540140149.91744, NA), class = c("POSIXct", 
     "POSIXt")))
  16: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140149.91744, NA), class = c("POSIXct", 
     "POSIXt")))
  17: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 6. Error: addProvenance adds messages (@test_addProvenance.R#26)  ───────────
  replacement has 2 rows, data has 1
  1: cmip5data(1, loadAs = i) at testthat/test_addProvenance.R:26
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140149.93257, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140149.93257, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140149.93104, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140149.93104, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 7. Error: addProvenance merges provenances (@test_addProvenance.R#36)  ──────
  replacement has 2 rows, data has 1
  1: cmip5data(1, loadAs = i) at testthat/test_addProvenance.R:36
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140149.94879, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140149.94879, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140149.94728, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140149.94728, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 8. Error: monthly data (@test_chainedOperations.R#22)  ──────────────────────
  replacement has 2 rows, data has 1
  1: cmip5data(years, monthly = T, lonsize = lsize, latsize = lsize, loadAs = i) at testthat/test_chainedOperations.R:22
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140149.99681, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140149.99681, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140149.99526, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140149.99526, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 9. Error: annual data (@test_chainedOperations.R#77)  ───────────────────────
  replacement has 2 rows, data has 1
  1: cmip5data(years, monthly = F, lonsize = lsize, latsize = lsize) at testthat/test_chainedOperations.R:77
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.00911, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.00911, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.00766, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.00766, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 10. Error: four-D data (@test_chainedOperations.R#112)  ─────────────────────
  replacement has 2 rows, data has 1
  1: cmip5data(years, monthly = T, lonsize = lsize, latsize = lsize, Z = T, Zsize = zsize) at testthat/test_chainedOperations.R:112
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.02384, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.02384, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.02226, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.02226, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 11. Error: cmip5data generates annual and monthly data (@test_cmip5data.R#90)
  replacement has 2 rows, data has 1
  1: cmip5data(1, loadAs = i) at testthat/test_cmip5data.R:90
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.11483, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.11483, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.11336, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.11336, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 12. Error: cmip5data obeys randomize (@test_cmip5data.R#108)  ───────────────
  replacement has 2 rows, data has 1
  1: cmip5data(1, randomize = T, loadAs = i) at testthat/test_cmip5data.R:108
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.12645, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.12645, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.1249, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.1249, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 13. Error: cmip5data creates area-only data (@test_cmip5data.R#119)  ────────
  replacement has 2 rows, data has 1
  1: cmip5data(1, lonsize = lonsize, latsize = latsize, time = F, verbose = F, loadAs = i) at testthat/test_cmip5data.R:119
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.1386, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.1386, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.13707, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.13707, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 14. Error: cmip5data creates area and Z data (@test_cmip5data.R#134)  ───────
  replacement has 2 rows, data has 1
  1: cmip5data(1, lonsize = lonsize, latsize = latsize, Z = T, Zsize = Zsize, time = F, 
         verbose = F, loadAs = i) at testthat/test_cmip5data.R:134
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.15114, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.15114, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.14952, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.14952, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 15. Error: cmip5data creates time-only data (@test_cmip5data.R#145)  ────────
  replacement has 2 rows, data has 1
  1: cmip5data(1, lonlat = F, Z = F, verbose = F, loadAs = i) at testthat/test_cmip5data.R:145
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.16385, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.16385, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.16221, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.16221, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 16. Error: cmip5data creates irregular grids (@test_cmip5data.R#156)  ───────
  replacement has 2 rows, data has 1
  1: cmip5data(1, irregular = FALSE, verbose = F, loadAs = i) at testthat/test_cmip5data.R:156
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.17654, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.17654, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.17494, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.17494, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 17. Error: filterDimensions handles bad input (@test_filterDimensions.R#19)  
  replacement has 2 rows, data has 1
  1: cmip5data(1, Z = TRUE) at testthat/test_filterDimensions.R:19
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.19875, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.19875, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.19721, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.19721, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 18. Error: filterDimensions filters lon (@test_filterDimensions.R#37)  ──────
  replacement has 2 rows, data has 1
  1: cmip5data(1, loadAs = i) at testthat/test_filterDimensions.R:37
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.21079, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.21079, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.20927, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.20927, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 19. Error: filterDimensions handles irregular grids (@test_filterDimensions.R
  replacement has 2 rows, data has 1
  1: cmip5data(1, lonsize = 10, latsize = 10, irregular = TRUE, loadAs = "array") at testthat/test_filterDimensions.R:65
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.22123, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.22123, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.21958, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.21958, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 20. Error: filterDimensions filters lat (@test_filterDimensions.R#91)  ──────
  replacement has 2 rows, data has 1
  1: cmip5data(1, loadAs = i) at testthat/test_filterDimensions.R:91
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.23774, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.23774, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.23619, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.23619, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 21. Error: filterDimensions filters Z (@test_filterDimensions.R#118)  ───────
  replacement has 2 rows, data has 1
  1: expect_warning(filterDimensions(cmip5data(1, loadAs = i), ZRange = c(1, 2))) at testthat/test_filterDimensions.R:118
  2: quasi_capture(enquo(object), capture_warnings, label = label)
  3: capture(act$val <- eval_bare(get_expr(quo), get_env(quo)))
  4: withCallingHandlers(code, warning = function(condition) {
         out$push(condition)
         invokeRestart("muffleWarning")
     })
  5: eval_bare(get_expr(quo), get_env(quo))
  6: filterDimensions(cmip5data(1, loadAs = i), ZRange = c(1, 2))
  7: assert_that(class(x) == "cmip5data")
  8: see_if(..., env = env, msg = msg)
  9: tryCatch({
         eval(assertion, env)
     }, assertError = function(e) {
         structure(FALSE, msg = e$message)
     })
  10: tryCatchList(expr, classes, parentenv, handlers)
  ...
  13: eval(assertion, env)
  14: eval(assertion, env)
  15: cmip5data(1, loadAs = i)
  16: addProvenance(result, "Dummy data created")
  17: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.25157, class = c("POSIXct", 
     "POSIXt")))
  18: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.25157, class = c("POSIXct", 
     "POSIXt")))
  19: xpdrows.data.frame(x, rows, new.rows)
  20: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.24989, NA), class = c("POSIXct", 
     "POSIXt")))
  21: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.24989, NA), class = c("POSIXct", 
     "POSIXt")))
  22: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 22. Error: filterDimensions filters time (yearRange) (@test_filterDimensions.
  replacement has 2 rows, data has 1
  1: cmip5data(1:5, monthly = mon, loadAs = i) at testthat/test_filterDimensions.R:143
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.26635, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.26635, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.26473, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.26473, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 23. Error: filterDimensions filters time (monthRange) (@test_filterDimensions
  replacement has 2 rows, data has 1
  1: cmip5data(1:5, monthly = FALSE, loadAs = i) at testthat/test_filterDimensions.R:169
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.27894, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.27894, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.27728, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.27728, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 24. Error: filterDimensions handles multiple operations (@test_filterDimensio
  replacement has 2 rows, data has 1
  1: cmip5data(1:5, Z = T, loadAs = i) at testthat/test_filterDimensions.R:193
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.29298, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.29298, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.29129, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.29129, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 25. Error: filterDimensions handles nonstandard structures (@test_filterDimen
  replacement has 2 rows, data has 1
  1: cmip5data(0, time = F) at testthat/test_filterDimensions.R:214
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.30539, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.30539, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.3039, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.3039, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 26. Error: loadCMIP5 handles spatial mismatches between ensembles (@test_load
  replacement has 2 rows, data has 1
  1: expect_warning(loadCMIP5("dummyvar", "b", "c", domain = "d", path = path, verbose = F)) at testthat/test_loadCMIP5.R:104
  2: quasi_capture(enquo(object), capture_warnings, label = label)
  3: capture(act$val <- eval_bare(get_expr(quo), get_env(quo)))
  4: withCallingHandlers(code, warning = function(condition) {
         out$push(condition)
         invokeRestart("muffleWarning")
     })
  5: eval_bare(get_expr(quo), get_env(quo))
  6: loadCMIP5("dummyvar", "b", "c", domain = "d", path = path, verbose = F)
  7: loadEnsemble(variable, model, experiment, ensemble, domain, path = path, verbose = verbose, 
         recursive = recursive, force.ncdf = force.ncdf, yearRange = yearRange, ZRange = ZRange)
  8: addProvenance(x, paste("Loaded", basename(f)))
  9: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.46788, class = c("POSIXct", 
     "POSIXt")))
  10: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.46788, class = c("POSIXct", 
     "POSIXt")))
  11: xpdrows.data.frame(x, rows, new.rows)
  12: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.46615, NA), class = c("POSIXct", 
     "POSIXt")))
  13: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.46615, NA), class = c("POSIXct", 
     "POSIXt")))
  14: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 27. Error: loadCMIP5 handles FUN correctly (@test_loadCMIP5.R#193)  ─────────
  replacement has 2 rows, data has 1
  1: loadCMIP5("var", "m", "ex", path = path, verbose = F, loadAs = i) at testthat/test_loadCMIP5.R:193
  2: loadEnsemble(variable, model, experiment, ensemble, domain, path = path, verbose = verbose, 
         recursive = recursive, force.ncdf = force.ncdf, yearRange = yearRange, ZRange = ZRange)
  3: addProvenance(x, paste("Loaded", basename(f)))
  4: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.49583, class = c("POSIXct", 
     "POSIXt")))
  5: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.49583, class = c("POSIXct", 
     "POSIXt")))
  6: xpdrows.data.frame(x, rows, new.rows)
  7: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.49415, NA), class = c("POSIXct", 
     "POSIXt")))
  8: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.49415, NA), class = c("POSIXct", 
     "POSIXt")))
  9: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 28. Error: makeAnnualStat handles monthly data (@test_makeAnnualStat.R#31)  ─
  replacement has 2 rows, data has 1
  1: cmip5data(years, randomize = TRUE, loadAs = i) at testthat/test_makeAnnualStat.R:31
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.58456, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.58456, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.58301, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.58301, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 29. Error: makeAnnualStat handles annual data (@test_makeAnnualStat.R#68)  ──
  replacement has 2 rows, data has 1
  1: cmip5data(years, monthly = F, randomize = TRUE, loadAs = i) at testthat/test_makeAnnualStat.R:68
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.59778, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.59778, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.59608, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.59608, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 30. Error: makeAnnualStat handles 4-dimensional data (@test_makeAnnualStat.R#
  replacement has 2 rows, data has 1
  1: cmip5data(years, Z = T, randomize = TRUE, loadAs = i) at testthat/test_makeAnnualStat.R:99
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.61271, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.61271, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.61105, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.61105, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 31. Error: makeAnnualStat handles custom function and dots (@test_makeAnnualS
  replacement has 2 rows, data has 1
  1: cmip5data(years, lonsize = llsize, latsize = llsize, loadAs = i) at testthat/test_makeAnnualStat.R:124
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.62515, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.62515, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.62357, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.62357, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 32. Error: makeAnnualStat computes numPerYear correctly (@test_makeAnnualStat
  replacement has 2 rows, data has 1
  1: cmip5data(years, loadAs = i) at testthat/test_makeAnnualStat.R:164
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.63791, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.63791, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.63629, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.63629, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 33. Error: makeGlobalStat handles monthly data (@test_makeGlobalStat.R#30)  ─
  replacement has 2 rows, data has 1
  1: cmip5data(years, loadAs = i) at testthat/test_makeGlobalStat.R:30
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.66653, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.66653, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.66498, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.66498, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 34. Error: makeGlobalStat weights correctly (@test_makeGlobalStat.R#59)  ────
  replacement has 2 rows, data has 1
  1: cmip5data(1850, randomize = T, monthly = F, loadAs = i) at testthat/test_makeGlobalStat.R:59
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.67946, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.67946, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.67781, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.67781, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 35. Error: makeGlobalStat handles 4-dimensional data (@test_makeGlobalStat.R#
  replacement has 2 rows, data has 1
  1: cmip5data(years, Z = T, loadAs = i) at testthat/test_makeGlobalStat.R:87
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.69423, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.69423, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.69257, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.69257, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 36. Error: makeGlobalStat handles custom function and dots (@test_makeGlobalS
  replacement has 2 rows, data has 1
  1: cmip5data(years, lonsize = llsize, latsize = llsize, loadAs = i) at testthat/test_makeGlobalStat.R:103
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.7067, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.7067, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.70505, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.70505, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 37. Error: makeGlobalStat sorts before computing (@test_makeGlobalStat.R#163)
  replacement has 2 rows, data has 1
  1: cmip5data(years, lonsize = llsize, latsize = llsize, monthly = F, loadAs = "data.frame") at testthat/test_makeGlobalStat.R:163
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.72828, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.72828, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.72682, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.72682, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 38. Error: makeMonthlyStat handles monthly data (@test_makeMonthlyStat.R#29) 
  replacement has 2 rows, data has 1
  1: cmip5data(years, randomize = TRUE, loadAs = i) at testthat/test_makeMonthlyStat.R:29
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.75565, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.75565, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.75431, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.75431, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 39. Error: makeMonthlyStat handles annual data (@test_makeMonthlyStat.R#64)  
  replacement has 2 rows, data has 1
  1: cmip5data(years, monthly = F, loadAs = i) at testthat/test_makeMonthlyStat.R:64
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.76594, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.76594, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.76462, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.76462, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 40. Error: makeMonthlyStat handles 4-dimensional data (@test_makeMonthlyStat.
  replacement has 2 rows, data has 1
  1: cmip5data(years, Z = T, randomize = TRUE, loadAs = i) at testthat/test_makeMonthlyStat.R:72
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.77775, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.77775, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.77639, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.77639, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 41. Error: makeMonthlyStat handles custom function and dots (@test_makeMonthl
  replacement has 2 rows, data has 1
  1: cmip5data(years, lonsize = llsize, latsize = llsize, loadAs = "data.frame") at testthat/test_makeMonthlyStat.R:94
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.78779, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.78779, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.78648, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.78648, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 42. Error: makeZStat computes Z means (@test_makeZStat.R#32)  ───────────────
  replacement has 2 rows, data has 1
  1: cmip5data(years, Z = T, loadAs = i) at testthat/test_makeZStat.R:32
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.84084, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.84084, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.83951, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.83951, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 43. Error: makeZStat handles custom function and dots (@test_makeZStat.R#63) 
  replacement has 2 rows, data has 1
  1: cmip5data(years, lonsize = llsize, latsize = llsize, Z = T, loadAs = i) at testthat/test_makeZStat.R:63
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.85121, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.85121, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.84989, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.84989, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 44. Error: RCMIP5:::mergeExperiments identifies ancillary problems (@test_mer
  replacement has 2 rows, data has 1
  1: cmip5data(2, loadAs = i) at testthat/test_mergeExperiments.R:31
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.93263, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.93263, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.93131, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.93131, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 45. Error: RCMIP5:::mergeExperiments identifies time problems (@test_mergeExp
  replacement has 2 rows, data has 1
  1: cmip5data(1, loadAs = i) at testthat/test_mergeExperiments.R:68
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.94278, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.94278, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.94144, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.94144, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 46. Error: RCMIP5:::mergeExperiments merges monthly data (@test_mergeExperime
  replacement has 2 rows, data has 1
  1: cmip5data(1:5, randomize = TRUE, loadAs = i) at testthat/test_mergeExperiments.R:85
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.96972, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.96972, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.96839, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.96839, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 47. Error: RCMIP5:::mergeExperiments merges annual data (@test_mergeExperimen
  replacement has 2 rows, data has 1
  1: cmip5data(1:5, monthly = F, randomize = TRUE, loadAs = i) at testthat/test_mergeExperiments.R:105
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140150.99642, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140150.99642, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140150.99495, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140150.99495, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 48. Error: RCMIP5:::mergeExperiments merges 4-dimensional data (@test_mergeEx
  replacement has 2 rows, data has 1
  1: cmip5data(1:5, Z = T, randomize = TRUE, loadAs = i) at testthat/test_mergeExperiments.R:116
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140151.0264, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140151.0264, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140151.00874, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140151.00874, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 49. Error: saveNetCDF handles bad input (@test_saveNetCDF.R#19)  ────────────
  replacement has 2 rows, data has 1
  1: cmip5data(1) at testthat/test_saveNetCDF.R:19
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140151.06254, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140151.06254, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140151.06109, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140151.06109, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 50. Error: saveNetCDF saves X-Y-T data correctly (@test_saveNetCDF.R#32)  ───
  replacement has 2 rows, data has 1
  1: cmip5data(1) at testthat/test_saveNetCDF.R:32
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140151.08981, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140151.08981, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140151.08846, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140151.08846, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 51. Error: saveNetCDF saves X-Y-Z-T data correctly (@test_saveNetCDF.R#58)  ─
  replacement has 2 rows, data has 1
  1: cmip5data(1, Z = T) at testthat/test_saveNetCDF.R:58
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140151.10122, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140151.10122, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140151.09984, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140151.09984, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 52. Error: saveNetCDF saves X-Y (area) data correctly (@test_saveNetCDF.R#84)
  replacement has 2 rows, data has 1
  1: cmip5data(0, time = F) at testthat/test_saveNetCDF.R:84
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140151.11242, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140151.11242, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140151.11099, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140151.11099, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 53. Error: saveNetCDF saves t (time) data correctly (@test_saveNetCDF.R#110) 
  replacement has 2 rows, data has 1
  1: cmip5data(1:10, lonlat = F) at testthat/test_saveNetCDF.R:110
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140151.13938, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140151.13938, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140151.13797, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140151.13797, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ── 54. Error: worldPlot generates ggplot object (@test_worldPlot.R#18)  ────────
  replacement has 2 rows, data has 1
  1: cmip5data(1:3, loadAs = i) at testthat/test_worldPlot.R:18
  2: addProvenance(result, "Dummy data created")
  3: `[<-`(`*tmp*`, nr, "timestamp", value = structure(1540140151.1697, class = c("POSIXct", 
     "POSIXt")))
  4: `[<-.data.frame`(`*tmp*`, nr, "timestamp", value = structure(1540140151.1697, class = c("POSIXct", 
     "POSIXt")))
  5: xpdrows.data.frame(x, rows, new.rows)
  6: `[[<-`(`*tmp*`, i, value = structure(c(1540140151.152, NA), class = c("POSIXct", 
     "POSIXt")))
  7: `[[<-.data.frame`(`*tmp*`, i, value = structure(c(1540140151.152, NA), class = c("POSIXct", 
     "POSIXt")))
  8: stop(sprintf(ngettext(N, "replacement has %d row, data has %d", "replacement has %d rows, data has %d"), 
         N, nrows), domain = NA)
  
  ══ testthat results  ═══════════════════════════════════════════════════════════
  OK: 102 SKIPPED: 29 FAILED: 54
  1. Error: cmip5data print method works (@test_RCMIP5.R#18) 
  2. Error: cmip5data summary method detects summaries (@test_RCMIP5.R#28) 
  3. Error: as.data.frame works (@test_RCMIP5.R#71) 
  4. Error: as.array works (@test_RCMIP5.R#79) 
  5. Error: addProvenance initializes (@test_addProvenance.R#18) 
  6. Error: addProvenance adds messages (@test_addProvenance.R#26) 
  7. Error: addProvenance merges provenances (@test_addProvenance.R#36) 
  8. Error: monthly data (@test_chainedOperations.R#22) 
  9. Error: annual data (@test_chainedOperations.R#77) 
  1. ...
  
  Error: testthat unit tests failed
  Execution halted