context("nc_coord_var") f <- system.file("extdata", "S2008001.L3m_DAY_CHL_chlor_a_9km.nc", package = "ncmeta") nc <- RNetCDF::open.nc(f) test_that("nc_coord_var brings back expected content for one variable", { expect_equivalent(nc_coord_var(f, "chlor_a"), data.frame(variable = "chlor_a", X = "lon", Y = "lat", Z = NA_character_, T = NA_character_, bounds = NA_character_, stringsAsFactors = FALSE)) expect_equal(nc_coord_var(f, "pallete"), NULL) expect_equal(nc_coord_var(f, "lat")$Y, "lat") }) test_that("nc_coord_vars brings back expected content for sample", { coord_vars <- nc_coord_var(f) expect_equivalent(dplyr::filter(coord_vars, variable == "chlor_a"), data.frame(variable = "chlor_a", X = "lon", Y = "lat", Z = NA_character_, T = NA_character_, bounds = NA_character_, stringsAsFactors = FALSE)) }) f <- system.file("extdata", "guam.nc", package = "ncmeta") nc <- RNetCDF::open.nc(f) test_that("nc_coord_var brings back expected content for one variable", { expect_equivalent(nc_coord_var(f, "RAINNC_present"), data.frame(variable = "RAINNC_present", X = "XLONG", Y = "XLAT", Z = NA_character_, T = "Time", bounds = NA_character_, stringsAsFactors = FALSE)) expect_equal(nc_coord_var(f, "XLAT"), NULL) expect_equal(nc_coord_var(f, "Time")$T, "Time") }) test_that("nc_coord_vars brings back expected content for sample", { coord_vars <- nc_coord_var(f) expect_true(nrow(coord_vars) == 5) coord_vars <- coord_vars[coord_vars$variable != "Time", ] expect_true(nrow(coord_vars) == 4) expect_true(all(coord_vars$X == "XLONG")) expect_true(all(coord_vars$Y == "XLAT")) expect_true(all(is.na(coord_vars$Z))) expect_true(all(coord_vars$T == "Time")) }) test_that("slightly broken projected coordinates work", { f <- system.file("extdata", "daymet_sample.nc", package = "ncmeta") expect_warning(coord_vars <- nc_coord_var(f), "missing coordinate variables names in coordinates attribute trying to find non-auxiliary coordinate variables.") expect_equal(as.character(coord_vars[coord_vars$variable == "prcp", ]), c("prcp", "x", "y", NA, "time", NA)) expect_true(nrow(coord_vars) == 4) expect_equal(as.character(coord_vars[coord_vars$variable == "time", ]), c("time", NA, NA, NA, "time", "time_bnds")) }) test_that("degen z", { f <- system.file("extdata/avhrr-only-v2.19810901_header.nc", package = "ncmeta") coord_vars <- nc_coord_var(f) expect_true(all(is.na(coord_vars$Z))) }) test_that("timeseries", { f <- system.file("extdata/rasterwise-timeseries.nc", package = "ncmeta") coord_vars <- nc_coord_var(f) expect_equal(as.character(coord_vars[coord_vars$variable == "pr",]), c("pr", "lon", "lat", NA, "time", NA)) expect_true(nrow(coord_vars) == 2) }) test_that("high dim", { f <- system.file("extdata/rasterwise-high-dim-test-1.nc", package = "ncmeta") coord_vars <- nc_coord_var(f) expect_true(nrow(coord_vars) == 0) }) test_that("all the things", { f <- system.file("extdata/rasterwise-bad_examples_62-example3.nc", package = "ncmeta") coord_vars <- nc_coord_var(f) expect_true(sum(coord_vars$variable == "pr") == 2) })