R Under development (unstable) (2024-05-04 r86521 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > ## Testing apsim_met suite of functions > ## Some observations: > ## > ## 1. check should never fail. It should always return warnings > ## 2. napad should work for many different tricky situations > ## 3. plotting and different combinations > > require(apsimx) Loading required package: apsimx APSIM(X) not found. If APSIM(X) is installed in an alternative location, set paths manually using 'apsimx_options' or 'apsim_options'. You can still try as the package will look into the registry (under Windows) > > run.apsim.met <- get(".run.local.tests", envir = apsimx.options) > > if(.Platform$OS.type == "unix"){ + internet <- !is.null(utils::nsl("google.com")) + }else{ + internet <- FALSE + } > > if(run.apsim.met && internet){ + + ## Testing napad and impute + ## Buenos Aires 34d 36 12, 58 22 54 W + bsas.lat <- unit_conv("34d 36' 12\" W", from = "degrees", to = "decimal") + bsas.lon <- unit_conv("58d 22' 54\" S", from = "degrees", to = "decimal") + + pwr <- get_power_apsim_met(lonlat = c(bsas.lon, bsas.lat), dates = c("2010-01-01", "2015-12-31")) + check_apsim_met(pwr) + gsd <- get_gsod_apsim_met(lonlat = c(bsas.lon, bsas.lat), dates = c("2010-01-01", "2015-12-31")) + check_apsim_met(gsd) + gsd$radn <- pwr$radn + check_apsim_met(gsd) + gsd.impt <- impute_apsim_met(gsd) + check_apsim_met(gsd.impt) + + ## Test for Brazil (Sao Paulo) + ## 23 33′S 46 38′W + sp.lat <- unit_conv("23d 33' 0\" W", from = "degrees", to = "decimal") + sp.lon <- unit_conv("46d 38' 0\" S", from = "degrees", to = "decimal") + + pwr <- get_power_apsim_met(lonlat = c(sp.lon, sp.lat), dates = c("2010-01-01", "2015-12-31")) + check_apsim_met(pwr) + + plot(pwr, met.var = "rain", years = 2010:2015, cumulative = TRUE, climatology = TRUE) + + gsd <- get_gsod_apsim_met(lonlat = c(sp.lon, sp.lat), dates = c("2010-01-01", "2015-12-31"), fillin.radn = TRUE) + check_apsim_met(gsd) + gsd.np <- napad_apsim_met(gsd) + gsd.imp <- impute_apsim_met(gsd.np) + check_apsim_met(gsd.imp) ## Rain variable is missing + plot(gsd.imp, met.var = "radn", years = 2010:2015, cumulative = TRUE, climatology = TRUE) + + ## Test for Daymet data + dmt <- get_daymet2_apsim_met(lonlat = c(-93, 42), years = c(2000, 2020)) + check_apsim_met(dmt) + dmt.np <- napad_apsim_met(dmt) + dmt.imp <- impute_apsim_met(dmt.np) + check_apsim_met(dmt.imp) + + summary(dmt.imp) + plot(dmt.imp) + plot(dmt.imp, met.var = "rain", years = 2010:2015, cumulative = TRUE, climatology = TRUE) + } > > ## Testing the feature for adding a column to a met file > if(run.apsim.met){ + + ## Testing adding a column + extd.dir <- system.file("extdata", package = "apsimx") + ames <- read_apsim_met("Ames.met", src.dir = extd.dir) + + ## ames$vp <- 5 This does not work and it is not supposed to + + vp <- data.frame(vp = abs(rnorm(nrow(ames), 2))) + attr(vp, "units") <- "(hPa)" + + ames$vp <- vp + + val <- abs(rnorm(nrow(ames), 2)) + nm <- "vp" + ames <- add_column_apsim_met(ames, value = val, name = "vp", units = "(hPa)") + + ## Extra tests + ames <- ames[ames$year < 2018, ] + ames <- apsimx:::pp_apsim_met(ames) + ames <- tt_apsim_met(ames, dates = c("01-05", "30-10"), method = "Classic_TT") + + plot(ames, met.var = "photoperiod") + plot(ames, met.var = "Classic_TT") + + } > > if(run.apsim.met && internet){ + + iem <- get_iem_apsim_met(lonlat = c(-93.77, 42.02), + dates = c("2013-01-01","2013-12-31")) + + pwr <- get_power_apsim_met(lonlat = c(-93.77, 42.02), + dates = c("2013-01-01","2013-12-31")) + + dmt <- get_daymet_apsim_met(lonlat = c(-93.77, 42.02), + years = 2013) + + cmp <- compare_apsim_met(iem, pwr[, 1:6], dmt[, 1:6], + labels = c("IEM", "POWER", "DAYMET")) + + cmp <- compare_apsim_met(iem, pwr[, 1:6], dmt[, 1:6], + met.var = "rain", + labels = c("IEM", "POWER", "DAYMET")) + + plot(cmp) + plot(cmp, plot.type = "ts") + plot(cmp, plot.type = "ts", met.var = "rain", cumulative = TRUE) + + } > > #### Different graph tests ---- > if(run.apsim.met && internet){ + + ## Testing the graph functionality + pwr <- get_power_apsim_met(lonlat = c(-93.77, 42.02), + dates = c("1990-01-01","2020-12-31")) + + ### default plotting options + plot(pwr) + plot(pwr, climatology = TRUE) + plot(pwr, climatology = TRUE, years = 2015:2018) + plot(pwr, climatology = TRUE, cumulative = TRUE) + plot(pwr, climatology = TRUE, years = 2015:2018, cumulative = TRUE) + + plot(pwr, summary = TRUE) + plot(pwr, summary = TRUE, climatology = TRUE) + plot(pwr, summary = TRUE, met.var = "rain", climatology = TRUE) + + + + ## Plotting using the density option ---- + plot(pwr, plot.type = "density") + plot(pwr, plot.type = "density", met.var = "radn") + plot(pwr, plot.type = "density", met.var = "rain") + + ## Plotting using the density option + plot(pwr, plot.type = "density", climatology = TRUE) + plot(pwr, plot.type = "density", met.var = "radn", climatology = TRUE) + plot(pwr, plot.type = "density", met.var = "rain", climatology = TRUE) + + plot(pwr, plot.type = "density", climatology = TRUE, years = c(2012, 2019)) + plot(pwr, plot.type = "density", met.var = "radn", climatology = TRUE, years = c(2012, 2019)) + plot(pwr, plot.type = "density", met.var = "rain", climatology = TRUE, years = c(2012, 2019)) + + plot(pwr, plot.type = "density", summary = TRUE) + plot(pwr, plot.type = "density", met.var = "radn_sum", summary = TRUE) + plot(pwr, plot.type = "density", met.var = "rain", summary = TRUE) + + ## Testing the options with individual years + plot(pwr, plot.type = "density", summary = TRUE, years = c(2012:2015)) + plot(pwr, plot.type = "density", met.var = "radn", summary = TRUE, years = c(2012, 2019)) + plot(pwr, plot.type = "density", met.var = "rain", summary = TRUE, years = c(2015, 2017)) + + ## Testing with climatology and years + plot(pwr, plot.type = "density", met.var = "rain", summary = TRUE, climatology = TRUE, years = c(2012, 2019)) + plot(pwr, plot.type = "density", met.var = "radn_sum", summary = TRUE, climatology = TRUE, years = c(2012, 2019)) + plot(pwr, plot.type = "density", met.var = "avg_maxt", summary = TRUE, climatology = TRUE, years = c(2012, 2019)) + + } > > > #### Testing anomaly features ---- > if(run.apsim.met && internet){ + + ## Testing the graph functionality + pwr <- get_power_apsim_met(lonlat = c(-93.77, 42.02), + dates = c("1990-01-01","2020-12-31")) + + apwr1 <- summary(pwr, anomaly = TRUE) + apwr2 <- summary(pwr, anomaly = "rain_sum") + apwr3 <- summary(pwr, anomaly = "rain") + apwr4 <- summary(pwr, anomaly = "maxt") + apwr5 <- summary(pwr, anomaly = c("maxt", "rain")) + + plot(pwr, plot.type = "anomaly", summary = TRUE, met.var = "rain") + plot(pwr, plot.type = "anomaly", summary = TRUE, years = 2012:2015) + + plot(pwr, plot.type = "anomaly", summary = TRUE, met.var = c("avg_maxt", "rain_sum")) + plot(pwr, plot.type = "anomaly", summary = TRUE, years = 2012:2015, met.var = c("avg_maxt", "rain_sum")) + plot(pwr, plot.type = "anomaly", summary = TRUE, years = 2012:2015, met.var = c("rain_sum", "avg_maxt")) + + } > > proc.time() user system elapsed 0.65 0.07 0.73