CRAN Package Check Results for Package gstat

Last updated on 2026-08-03 04:49:26 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 2.1-6 20.55 188.07 208.62 OK
r-devel-linux-x86_64-debian-gcc 2.1-6 15.50 139.90 155.40 NOTE
r-devel-linux-x86_64-fedora-clang 2.1-6 28.00 5641.08 5669.08 ERROR
r-devel-linux-x86_64-fedora-gcc 2.1-6 16.00 104.60 120.60 ERROR
r-devel-windows-x86_64 2.1-6 36.00 236.00 272.00 OK
r-patched-linux-x86_64 2.1-6 23.71 179.48 203.19 OK
r-release-linux-x86_64 2.1-6 19.79 179.69 199.48 OK
r-release-macos-arm64 2.1-6 5.00 50.00 55.00 OK
r-release-macos-x86_64 2.1-6 16.00 196.00 212.00 OK
r-release-windows-x86_64 2.1-6 39.00 241.00 280.00 OK
r-oldrel-macos-arm64 2.1-6 5.00 50.00 55.00 NOTE
r-oldrel-macos-x86_64 2.1-6 17.00 180.00 197.00 NOTE
r-oldrel-windows-x86_64 2.1-6 48.00 287.00 335.00 NOTE

Check Details

Version: 2.1-6
Check: for new files in some other directories
Result: NOTE Found the following files/directories: ‘~/tmp/scratch/Rtmp0f7gSf’ ‘~/tmp/scratch/Rtmp0jfr7B’ ‘~/tmp/scratch/Rtmp0wSKFp’ ‘~/tmp/scratch/Rtmp0wZthO’ ‘~/tmp/scratch/Rtmp2b2TPJ’ ‘~/tmp/scratch/Rtmp3GI2XT’ ‘~/tmp/scratch/Rtmp3VAKzm’ ‘~/tmp/scratch/Rtmp3g8TKN’ ‘~/tmp/scratch/Rtmp3oC8mq’ ‘~/tmp/scratch/Rtmp43lw2L’ ‘~/tmp/scratch/Rtmp4BtUIE’ ‘~/tmp/scratch/Rtmp5AsYhe’ ‘~/tmp/scratch/Rtmp5enc3M’ ‘~/tmp/scratch/Rtmp6M6l6O’ ‘~/tmp/scratch/Rtmp6rZeWE’ ‘~/tmp/scratch/Rtmp7JIqiW’ ‘~/tmp/scratch/Rtmp7jktL7’ ‘~/tmp/scratch/Rtmp7tUqqC’ ‘~/tmp/scratch/Rtmp7x9yT5’ ‘~/tmp/scratch/Rtmp7ygMWM’ ‘~/tmp/scratch/Rtmp8MoD30’ ‘~/tmp/scratch/Rtmp8bBDOI’ ‘~/tmp/scratch/Rtmp9w2QZC’ ‘~/tmp/scratch/RtmpBLrUOo’ ‘~/tmp/scratch/RtmpBqkrS1’ ‘~/tmp/scratch/RtmpCdODFM’ ‘~/tmp/scratch/RtmpDUGNDK’ ‘~/tmp/scratch/RtmpDf818F’ ‘~/tmp/scratch/RtmpDnYFxv’ ‘~/tmp/scratch/RtmpFFGyyB’ ‘~/tmp/scratch/RtmpFXGAxg’ ‘~/tmp/scratch/RtmpFkwd6F’ ‘~/tmp/scratch/RtmpFoe9wa’ ‘~/tmp/scratch/RtmpG77Wsa’ ‘~/tmp/scratch/RtmpGEM94H’ ‘~/tmp/scratch/RtmpGTN9mS’ ‘~/tmp/scratch/RtmpGY2sBn’ ‘~/tmp/scratch/RtmpH6voPU’ ‘~/tmp/scratch/RtmpHEyneq’ ‘~/tmp/scratch/RtmpHeBNto’ ‘~/tmp/scratch/RtmpICQYvk’ ‘~/tmp/scratch/RtmpINTEKn’ ‘~/tmp/scratch/RtmpIb53C6’ ‘~/tmp/scratch/RtmpJWJxkX’ ‘~/tmp/scratch/RtmpJywnca’ ‘~/tmp/scratch/RtmpK4H20K’ ‘~/tmp/scratch/RtmpKEf2O6’ ‘~/tmp/scratch/RtmpKFeZfi’ ‘~/tmp/scratch/RtmpKeFqEl’ ‘~/tmp/scratch/RtmpKl0mHk’ ‘~/tmp/scratch/RtmpM4sdoB’ ‘~/tmp/scratch/RtmpMQJkDx’ ‘~/tmp/scratch/RtmpMvPTrS’ ‘~/tmp/scratch/RtmpNkGcah’ ‘~/tmp/scratch/RtmpOnT928’ ‘~/tmp/scratch/RtmpPTmsFN’ ‘~/tmp/scratch/RtmpPnc1Z7’ ‘~/tmp/scratch/RtmpRCh0m6’ ‘~/tmp/scratch/RtmpRCjkYk’ ‘~/tmp/scratch/RtmpRX8Mzf’ ‘~/tmp/scratch/RtmpSICLf0’ ‘~/tmp/scratch/RtmpSavxcD’ ‘~/tmp/scratch/RtmpSfWt2x’ ‘~/tmp/scratch/RtmpTHgd69’ ‘~/tmp/scratch/RtmpTkAa7P’ ‘~/tmp/scratch/RtmpTm73vM’ ‘~/tmp/scratch/RtmpTz8oZn’ ‘~/tmp/scratch/RtmpU6DykQ’ ‘~/tmp/scratch/RtmpUB5Exu’ ‘~/tmp/scratch/RtmpUJ0KLc’ ‘~/tmp/scratch/RtmpUNQpGs’ ‘~/tmp/scratch/RtmpUV7LTp’ ‘~/tmp/scratch/RtmpV4qUjH’ ‘~/tmp/scratch/RtmpViPDgJ’ ‘~/tmp/scratch/RtmpVpPDw0’ ‘~/tmp/scratch/RtmpWZs9WJ’ ‘~/tmp/scratch/RtmpWeeMQd’ ‘~/tmp/scratch/RtmpWy4Awn’ ‘~/tmp/scratch/RtmpXP1Ajr’ ‘~/tmp/scratch/RtmpXf6rZz’ ‘~/tmp/scratch/RtmpYH6Of9’ ‘~/tmp/scratch/RtmpYT8lDS’ ‘~/tmp/scratch/RtmpZ9wwIt’ ‘~/tmp/scratch/RtmpZHbiss’ ‘~/tmp/scratch/RtmpaAhDca’ ‘~/tmp/scratch/RtmpbAo382’ ‘~/tmp/scratch/RtmpbajQa2’ ‘~/tmp/scratch/Rtmpbobk5B’ ‘~/tmp/scratch/RtmpbzwpMf’ ‘~/tmp/scratch/Rtmpc6RGLC’ ‘~/tmp/scratch/Rtmpc7QXmr’ ‘~/tmp/scratch/Rtmpcc73gw’ ‘~/tmp/scratch/RtmpcrMlwX’ ‘~/tmp/scratch/RtmpdHUUsu’ ‘~/tmp/scratch/RtmpdVleGF’ ‘~/tmp/scratch/Rtmpdf6RG9’ ‘~/tmp/scratch/RtmpdpJvoK’ ‘~/tmp/scratch/Rtmpdtzqj2’ ‘~/tmp/scratch/RtmpeMfrDl’ ‘~/tmp/scratch/RtmpeSVKc8’ ‘~/tmp/scratch/RtmpetymSk’ ‘~/tmp/scratch/Rtmpf7xkr4’ ‘~/tmp/scratch/RtmpfbkXIz’ ‘~/tmp/scratch/RtmpfzsQmJ’ ‘~/tmp/scratch/Rtmpg9rPpl’ ‘~/tmp/scratch/RtmphRZEWG’ ‘~/tmp/scratch/RtmpibE772’ ‘~/tmp/scratch/Rtmpin7lQc’ ‘~/tmp/scratch/RtmpirBWJ9’ ‘~/tmp/scratch/RtmpjHvBO9’ ‘~/tmp/scratch/RtmpjQEwoQ’ ‘~/tmp/scratch/RtmpjeJQ6r’ ‘~/tmp/scratch/Rtmpk0ve39’ ‘~/tmp/scratch/RtmpkVg4Bd’ ‘~/tmp/scratch/Rtmpl1VRge’ ‘~/tmp/scratch/Rtmpl6nyNK’ ‘~/tmp/scratch/Rtmpl9angY’ ‘~/tmp/scratch/Rtmpmk1Ef8’ ‘~/tmp/scratch/RtmpneBB2L’ ‘~/tmp/scratch/RtmpnxBZet’ ‘~/tmp/scratch/RtmpoxZAGm’ ‘~/tmp/scratch/Rtmpp7xyOp’ ‘~/tmp/scratch/RtmppO3EcR’ ‘~/tmp/scratch/RtmppiS8op’ ‘~/tmp/scratch/RtmpptpGMX’ ‘~/tmp/scratch/Rtmpq07rgW’ ‘~/tmp/scratch/Rtmpq7VoOx’ ‘~/tmp/scratch/Rtmpqabbr4’ ‘~/tmp/scratch/RtmpqvVFnR’ ‘~/tmp/scratch/RtmpqzKXNa’ ‘~/tmp/scratch/RtmprU1UOx’ ‘~/tmp/scratch/RtmprVDvpR’ ‘~/tmp/scratch/RtmprWcPoH’ ‘~/tmp/scratch/RtmpsLoC7m’ ‘~/tmp/scratch/RtmpskEZfg’ ‘~/tmp/scratch/RtmptDklPB’ ‘~/tmp/scratch/RtmptGZ1GX’ ‘~/tmp/scratch/RtmptnL2iq’ ‘~/tmp/scratch/RtmptxRkh9’ ‘~/tmp/scratch/Rtmpu1uTd8’ ‘~/tmp/scratch/RtmpuiSc3C’ ‘~/tmp/scratch/RtmpvBwnQa’ ‘~/tmp/scratch/RtmpvzqTbw’ ‘~/tmp/scratch/Rtmpw4Qn3R’ ‘~/tmp/scratch/RtmpwXyful’ ‘~/tmp/scratch/Rtmpwe7yEa’ ‘~/tmp/scratch/RtmpwlK6lY’ ‘~/tmp/scratch/Rtmpwo5xuz’ ‘~/tmp/scratch/RtmpxNsQio’ ‘~/tmp/scratch/RtmpxfboWQ’ ‘~/tmp/scratch/RtmpyISqYp’ ‘~/tmp/scratch/RtmpyTOCaG’ ‘~/tmp/scratch/RtmpykxNJo’ ‘~/tmp/scratch/Rtmpyn2CVz’ ‘~/tmp/scratch/RtmpyyLDI1’ ‘~/tmp/scratch/RtmpzHKFEr’ ‘~/tmp/scratch/RtmpzbvlXB’ ‘~/tmp/scratch/xvfb-run.2kGg9e’ ‘~/tmp/scratch/xvfb-run.35N2iJ’ ‘~/tmp/scratch/xvfb-run.3ylX4Q’ ‘~/tmp/scratch/xvfb-run.5Lvcx6’ ‘~/tmp/scratch/xvfb-run.6JCkGm’ ‘~/tmp/scratch/xvfb-run.6kAN68’ ‘~/tmp/scratch/xvfb-run.8IvaMJ’ ‘~/tmp/scratch/xvfb-run.BFnMnx’ ‘~/tmp/scratch/xvfb-run.BhgkqK’ ‘~/tmp/scratch/xvfb-run.CMV8yO’ ‘~/tmp/scratch/xvfb-run.CwS6gK’ ‘~/tmp/scratch/xvfb-run.DBTIze’ ‘~/tmp/scratch/xvfb-run.DFMto1’ ‘~/tmp/scratch/xvfb-run.DUgekf’ ‘~/tmp/scratch/xvfb-run.Etf0bV’ ‘~/tmp/scratch/xvfb-run.F5rQL2’ ‘~/tmp/scratch/xvfb-run.FD2v45’ ‘~/tmp/scratch/xvfb-run.Fu6owQ’ ‘~/tmp/scratch/xvfb-run.GYd8od’ ‘~/tmp/scratch/xvfb-run.GlZ1pu’ ‘~/tmp/scratch/xvfb-run.HIu14f’ ‘~/tmp/scratch/xvfb-run.I4JYRP’ ‘~/tmp/scratch/xvfb-run.JPHelX’ ‘~/tmp/scratch/xvfb-run.LNVn8R’ ‘~/tmp/scratch/xvfb-run.LgOagM’ ‘~/tmp/scratch/xvfb-run.LhJvZD’ ‘~/tmp/scratch/xvfb-run.MFA6g3’ ‘~/tmp/scratch/xvfb-run.MRqCkE’ ‘~/tmp/scratch/xvfb-run.MXJULr’ ‘~/tmp/scratch/xvfb-run.NYCDye’ ‘~/tmp/scratch/xvfb-run.OTnoNW’ ‘~/tmp/scratch/xvfb-run.PKq3Tk’ ‘~/tmp/scratch/xvfb-run.PPkFZ2’ ‘~/tmp/scratch/xvfb-run.QcghMz’ ‘~/tmp/scratch/xvfb-run.RTuWGY’ ‘~/tmp/scratch/xvfb-run.Uqzpoa’ ‘~/tmp/scratch/xvfb-run.VXnhkn’ ‘~/tmp/scratch/xvfb-run.VaW9i1’ ‘~/tmp/scratch/xvfb-run.X2da94’ ‘~/tmp/scratch/xvfb-run.Z1flRv’ ‘~/tmp/scratch/xvfb-run.ZBto7N’ ‘~/tmp/scratch/xvfb-run.a9LF1b’ ‘~/tmp/scratch/xvfb-run.aLghYk’ ‘~/tmp/scratch/xvfb-run.bEL5Ch’ ‘~/tmp/scratch/xvfb-run.cOl4Iy’ ‘~/tmp/scratch/xvfb-run.cxdb0Z’ ‘~/tmp/scratch/xvfb-run.eWD2CN’ ‘~/tmp/scratch/xvfb-run.fTVIOL’ ‘~/tmp/scratch/xvfb-run.gthSld’ ‘~/tmp/scratch/xvfb-run.jFfhIQ’ ‘~/tmp/scratch/xvfb-run.l5tXB1’ ‘~/tmp/scratch/xvfb-run.lV3Ba5’ ‘~/tmp/scratch/xvfb-run.lktNwD’ ‘~/tmp/scratch/xvfb-run.nPuNw8’ ‘~/tmp/scratch/xvfb-run.nRBVC9’ ‘~/tmp/scratch/xvfb-run.olNZVB’ ‘~/tmp/scratch/xvfb-run.omVkPI’ ‘~/tmp/scratch/xvfb-run.oqxa6o’ ‘~/tmp/scratch/xvfb-run.pwBvO2’ ‘~/tmp/scratch/xvfb-run.qF5c3t’ ‘~/tmp/scratch/xvfb-run.qOBuKk’ ‘~/tmp/scratch/xvfb-run.sBqFgc’ ‘~/tmp/scratch/xvfb-run.sMO3bT’ ‘~/tmp/scratch/xvfb-run.tcEsGf’ ‘~/tmp/scratch/xvfb-run.w6G9Hq’ ‘~/tmp/scratch/xvfb-run.xFQd5v’ ‘~/tmp/scratch/xvfb-run.z8qxXC’ ‘~/tmp/scratch/xvfb-run.zpNQgi’ Flavor: r-devel-linux-x86_64-debian-gcc

Version: 2.1-6
Check: tests
Result: ERROR Running ‘allier.R’ Comparing ‘allier.Rout’ to ‘allier.Rout.save’ ... OK Running ‘blockkr.R’ Comparing ‘blockkr.Rout’ to ‘blockkr.Rout.save’ ... OK Running ‘covtable.R’ Comparing ‘covtable.Rout’ to ‘covtable.Rout.save’ ... OK Running ‘cv.R’ Comparing ‘cv.Rout’ to ‘cv.Rout.save’ ... OK Running ‘cv3d.R’ Comparing ‘cv3d.Rout’ to ‘cv3d.Rout.save’ ... OK Running ‘fit.R’ Comparing ‘fit.Rout’ to ‘fit.Rout.save’ ... OK Running ‘krige0.R’ Comparing ‘krige0.Rout’ to ‘krige0.Rout.save’ ... OK Running ‘line.R’ Comparing ‘line.Rout’ to ‘line.Rout.save’ ... OK Running ‘merge.R’ Comparing ‘merge.Rout’ to ‘merge.Rout.save’ ... OK Running ‘na.action.R’ Comparing ‘na.action.Rout’ to ‘na.action.Rout.save’ ... OK Running ‘rings.R’ Comparing ‘rings.Rout’ to ‘rings.Rout.save’ ... OK Running ‘sim.R’ Comparing ‘sim.Rout’ to ‘sim.Rout.save’ ... OK Running ‘stars.R’ [29s/35s] Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ... OK Running ‘variogram.R’ Comparing ‘variogram.Rout’ to ‘variogram.Rout.save’ ... OK Running ‘vdist.R’ Comparing ‘vdist.Rout’ to ‘vdist.Rout.save’ ... OK Running ‘windst.R’ [90m/65m] Running the tests in ‘tests/windst.R’ failed. Complete output: > suppressPackageStartupMessages(library(sp)) > suppressPackageStartupMessages(library(spacetime)) > suppressPackageStartupMessages(library(gstat)) > suppressPackageStartupMessages(library(stars)) > > Sys.unsetenv("KMP_DEVICE_THREAD_LIMIT") > Sys.unsetenv("KMP_ALL_THREADS") > Sys.unsetenv("KMP_TEAMS_THREAD_LIMIT") > Sys.unsetenv("OMP_THREAD_LIMIT") > > data(wind) > wind.loc$y = as.numeric(char2dms(as.character(wind.loc[["Latitude"]]))) > wind.loc$x = as.numeric(char2dms(as.character(wind.loc[["Longitude"]]))) > coordinates(wind.loc) = ~x+y > proj4string(wind.loc) = "+proj=longlat +datum=WGS84 +ellps=WGS84" > > wind$time = ISOdate(wind$year+1900, wind$month, wind$day) > wind$jday = as.numeric(format(wind$time, '%j')) > stations = 4:15 > windsqrt = sqrt(0.5148 * wind[stations]) # knots -> m/s > Jday = 1:366 > daymeans = colMeans( + sapply(split(windsqrt - colMeans(windsqrt), wind$jday), colMeans)) > meanwind = lowess(daymeans ~ Jday, f = 0.1)$y[wind$jday] > velocities = apply(windsqrt, 2, function(x) { x - meanwind }) > # match order of columns in wind to Code in wind.loc; > # convert to utm zone 29, to be able to do interpolation in > # proper Euclidian (projected) space: > pts = coordinates(wind.loc[match(names(wind[4:15]), wind.loc$Code),]) > pts = SpatialPoints(pts) > if (require(sp, quietly = TRUE) && require(maps, quietly = TRUE)) { + proj4string(pts) = "+proj=longlat +datum=WGS84 +ellps=WGS84" + utm29 = "+proj=utm +zone=29 +datum=WGS84 +ellps=WGS84" + pts = as(st_transform(st_as_sfc(pts), utm29), "Spatial") + # note the t() in: + w = STFDF(pts, wind$time, data.frame(values = as.vector(t(velocities)))) + + library(mapdata) + mp = map("worldHires", xlim = c(-11,-5.4), ylim = c(51,55.5), plot=FALSE) + sf = st_transform(st_as_sf(mp, fill = FALSE), utm29) + m = as(sf, "Spatial") + + # setup grid + grd = SpatialPixels(SpatialPoints(makegrid(m, n = 300)), + proj4string = m@proj4string) + # grd$t = rep(1, nrow(grd)) + #coordinates(grd) = ~x1+x2 + #gridded(grd)=TRUE + + # select april 1961: + w = w[, "1961-04"] + + covfn = function(x, y = x) { + du = spDists(coordinates(x), coordinates(y)) + t1 = as.numeric(index(x)) # time in seconds + t2 = as.numeric(index(y)) # time in seconds + dt = abs(outer(t1, t2, "-")) + # separable, product covariance model: + 0.6 * exp(-du/750000) * exp(-dt / (1.5 * 3600 * 24)) + } + + n = 10 + tgrd = seq(min(index(w)), max(index(w)), length=n) + pred = krige0(sqrt(values)~1, w, STF(grd, tgrd), covfn) + layout = list(list("sp.points", pts, first=F, cex=.5), + list("sp.lines", m, col='grey')) + wind.pr0 = STFDF(grd, tgrd, data.frame(var1.pred = pred)) + + v = vgmST("separable", + space = vgm(1, "Exp", 750000), + time = vgm(1, "Exp", 1.5 * 3600 * 24), + sill = 0.6) + wind.ST = krigeST(sqrt(values)~1, w, STF(grd, tgrd), v) + + all.equal(wind.pr0, wind.ST) + + # stars: + df = data.frame(a = rep(NA, 324*10)) + s = STF(grd, tgrd) + newd = addAttrToGeom(s, df) + wind.sta = krigeST(sqrt(values)~1, st_as_stars(w), st_as_stars(newd), v) + # 1 + plot(stars::st_as_stars(wind.ST), breaks = "equal", col = sf.colors()) + # 2 + stplot(wind.ST) + # 3 + plot(wind.sta, breaks = "equal", col = sf.colors()) + st_as_stars(wind.ST)[[1]][1:3,1:3,1] + (wind.sta)[[1]][1:3,1:3,1] + st_bbox(wind.sta) + bbox(wind.ST) + all.equal(wind.sta, stars::st_as_stars(wind.ST), check.attributes = FALSE) + + # 4: roundtrip wind.sta->STFDF->stars + rt = stars::st_as_stars(as(wind.sta, "STFDF")) + plot(rt, breaks = "equal", col = sf.colors()) + # 5: + stplot(as(wind.sta, "STFDF")) + st_bbox(rt) + + # 6: + stplot(as(st_as_stars(wind.ST), "STFDF")) + } OMP: Warning #96: Cannot form a team with 24 threads, using 2 instead. OMP: Hint Consider unsetting KMP_DEVICE_THREAD_LIMIT (KMP_ALL_THREADS), KMP_TEAMS_THREAD_LIMIT, and OMP_THREAD_LIMIT (if any are set). Flavor: r-devel-linux-x86_64-fedora-clang

Version: 2.1-6
Check: tests
Result: ERROR Running ‘allier.R’ Comparing ‘allier.Rout’ to ‘allier.Rout.save’ ... OK Running ‘blockkr.R’ Comparing ‘blockkr.Rout’ to ‘blockkr.Rout.save’ ... OK Running ‘covtable.R’ Comparing ‘covtable.Rout’ to ‘covtable.Rout.save’ ... OK Running ‘cv.R’ Comparing ‘cv.Rout’ to ‘cv.Rout.save’ ... OK Running ‘cv3d.R’ Comparing ‘cv3d.Rout’ to ‘cv3d.Rout.save’ ... OK Running ‘fit.R’ Comparing ‘fit.Rout’ to ‘fit.Rout.save’ ... OK Running ‘krige0.R’ Comparing ‘krige0.Rout’ to ‘krige0.Rout.save’ ... OK Running ‘line.R’ Comparing ‘line.Rout’ to ‘line.Rout.save’ ... OK Running ‘merge.R’ Comparing ‘merge.Rout’ to ‘merge.Rout.save’ ... OK Running ‘na.action.R’ Comparing ‘na.action.Rout’ to ‘na.action.Rout.save’ ... OK Running ‘rings.R’ Comparing ‘rings.Rout’ to ‘rings.Rout.save’ ... OK Running ‘sim.R’ Comparing ‘sim.Rout’ to ‘sim.Rout.save’ ... OK Running ‘stars.R’ [0m/90m] Running ‘variogram.R’ Running the tests in ‘tests/stars.R’ failed. Complete output: > Sys.setenv(TZ = "UTC") > > Sys.unsetenv("KMP_DEVICE_THREAD_LIMIT") > Sys.unsetenv("KMP_ALL_THREADS") > Sys.unsetenv("KMP_TEAMS_THREAD_LIMIT") > Sys.unsetenv("OMP_THREAD_LIMIT") > > # 0. using sp: > > suppressPackageStartupMessages(library(sp)) > demo(meuse, ask = FALSE) demo(meuse) ---- ~~~~~ > require(sp) > crs = CRS("EPSG:28992") > data("meuse") > coordinates(meuse) <- ~x+y > proj4string(meuse) <- crs > data("meuse.grid") > coordinates(meuse.grid) <- ~x+y > gridded(meuse.grid) <- TRUE > proj4string(meuse.grid) <- crs > data("meuse.riv") > meuse.riv <- SpatialPolygons(list(Polygons(list(Polygon(meuse.riv)),"meuse.riv"))) > proj4string(meuse.riv) <- crs > data("meuse.area") > meuse.area = SpatialPolygons(list(Polygons(list(Polygon(meuse.area)), "area"))) > proj4string(meuse.area) <- crs > suppressPackageStartupMessages(library(gstat)) > v = variogram(log(zinc)~1, meuse) > (v.fit = fit.variogram(v, vgm(1, "Sph", 900, 1))) model psill range 1 Nug 0.05066243 0.0000 2 Sph 0.59060780 897.0209 > k_sp = krige(log(zinc)~1, meuse[-(1:5),], meuse[1:5,], v.fit) [using ordinary kriging] > k_sp_grd = krige(log(zinc)~1, meuse, meuse.grid, v.fit) [using ordinary kriging] > > # 1. using sf: > suppressPackageStartupMessages(library(sf)) > demo(meuse_sf, ask = FALSE, echo = FALSE) > # reloads meuse as data.frame, so > demo(meuse, ask = FALSE) demo(meuse) ---- ~~~~~ > require(sp) > crs = CRS("EPSG:28992") > data("meuse") > coordinates(meuse) <- ~x+y > proj4string(meuse) <- crs > data("meuse.grid") > coordinates(meuse.grid) <- ~x+y > gridded(meuse.grid) <- TRUE > proj4string(meuse.grid) <- crs > data("meuse.riv") > meuse.riv <- SpatialPolygons(list(Polygons(list(Polygon(meuse.riv)),"meuse.riv"))) > proj4string(meuse.riv) <- crs > data("meuse.area") > meuse.area = SpatialPolygons(list(Polygons(list(Polygon(meuse.area)), "area"))) > proj4string(meuse.area) <- crs > > v = variogram(log(zinc)~1, meuse_sf) > (v.fit = fit.variogram(v, vgm(1, "Sph", 900, 1))) model psill range 1 Nug 0.05066243 0.0000 2 Sph 0.59060780 897.0209 > k_sf = krige(log(zinc)~1, meuse_sf[-(1:5),], meuse_sf[1:5,], v.fit) [using ordinary kriging] > > all.equal(k_sp, as(k_sf, "Spatial"), check.attributes = FALSE) [1] TRUE > all.equal(k_sp, as(k_sf, "Spatial"), check.attributes = TRUE) [1] "Attributes: < Component \"bbox\": Attributes: < Component \"dimnames\": Component 1: 2 string mismatches > >" [2] "Attributes: < Component \"coords\": Attributes: < Component \"dimnames\": Component 2: 2 string mismatches > >" [3] "Attributes: < Component \"coords.nrs\": Numeric: lengths (2, 0) differ >" > > # 2. using stars for grid: > > suppressPackageStartupMessages(library(stars)) > st = st_as_stars(meuse.grid) > > # compare inputs: > sp = as(st, "Spatial") > fullgrid(meuse.grid) = TRUE > all.equal(sp, meuse.grid["dist"], check.attributes = FALSE) [1] "Names: Lengths (5, 1) differ (string compare on first 1)" [2] "Names: 1 string mismatch" > all.equal(sp, meuse.grid["dist"], check.attributes = TRUE, use.names = FALSE) [1] "Names: Lengths (5, 1) differ (string compare on first 1)" [2] "Names: 1 string mismatch" [3] "Attributes: < Component 3: Names: 1 string mismatch >" [4] "Attributes: < Component 3: Length mismatch: comparison on first 1 components >" [5] "Attributes: < Component 3: Component 1: Mean relative difference: 1.08298 >" [6] "Attributes: < Component 4: Attributes: < Component 2: names for current but not for target > >" [7] "Attributes: < Component 4: Attributes: < Component 3: names for current but not for target > >" > > # kriging: > st_crs(st) = st_crs(meuse_sf) = NA # GDAL roundtrip messes them up! > k_st = if (Sys.getenv("USER") == "travis") { + try(krige(log(zinc)~1, meuse_sf, st, v.fit)) + } else { + krige(log(zinc)~1, meuse_sf, st, v.fit) + } [using ordinary kriging] > k_st stars object with 2 dimensions and 2 attributes attribute(s): Min. 1st Qu. Median Mean 3rd Qu. Max. NAs var1.pred 4.7765547 5.2376293 5.5728839 5.7072287 6.1717619 7.4399911 5009 var1.var 0.0854949 0.1372864 0.1621838 0.1853319 0.2116152 0.5002756 5009 dimension(s): from to offset delta x/y x 1 78 178440 40 [x] y 1 104 333760 -40 [y] > > # handle factors, when going to stars? > k_sp_grd$cls = cut(k_sp_grd$var1.pred, c(0, 5, 6, 7, 8, 9)) > if (require(raster, quietly = TRUE)) { + print(st_as_stars(raster::stack(k_sp_grd))) # check + print(all.equal(st_redimension(st_as_stars(k_sp_grd)), st_as_stars(raster::stack(k_sp_grd)), check.attributes=FALSE)) + } stars object with 3 dimensions and 1 attribute attribute(s): Min. 1st Qu. Median Mean 3rd Qu. Max. NAs var1.pred 0.0854949 0.2116778 2 2.710347 5.237542 7.439991 15027 dimension(s): from to offset delta refsys values x 1 78 178440 40 Amersfoort / RD New NULL y 1 104 333760 -40 Amersfoort / RD New NULL band 1 3 NA NA NA var1.pred, var1.var , cls x/y x [x] y [y] band [1] TRUE > > suppressPackageStartupMessages(library(spacetime)) > > tm = as.POSIXct("2019-02-25 15:37:24 CET") > n = 4 > s = stars:::st_stars(list(foo = array(1:(n^3), rep(n,3))), + stars:::create_dimensions(list( + x = stars:::create_dimension(from = 1, to = n, offset = 10, delta = 0.5), + y = stars:::create_dimension(from = 1, to = n, offset = 0, delta = -0.7), + time = stars:::create_dimension(values = tm + 1:n)), + raster = stars:::get_raster(dimensions = c("x", "y"))) + ) > s stars object with 3 dimensions and 1 attribute attribute(s): Min. 1st Qu. Median Mean 3rd Qu. Max. foo 1 16.75 32.5 32.5 48.25 64 dimension(s): from to offset delta refsys x/y x 1 4 10 0.5 NA [x] y 1 4 0 -0.7 NA [y] time 1 4 2019-02-25 15:37:25 UTC 1 secs POSIXct > > as.data.frame(s) x y time foo 1 10.25 -0.35 2019-02-25 15:37:25 1 2 10.75 -0.35 2019-02-25 15:37:25 2 3 11.25 -0.35 2019-02-25 15:37:25 3 4 11.75 -0.35 2019-02-25 15:37:25 4 5 10.25 -1.05 2019-02-25 15:37:25 5 6 10.75 -1.05 2019-02-25 15:37:25 6 7 11.25 -1.05 2019-02-25 15:37:25 7 8 11.75 -1.05 2019-02-25 15:37:25 8 9 10.25 -1.75 2019-02-25 15:37:25 9 10 10.75 -1.75 2019-02-25 15:37:25 10 11 11.25 -1.75 2019-02-25 15:37:25 11 12 11.75 -1.75 2019-02-25 15:37:25 12 13 10.25 -2.45 2019-02-25 15:37:25 13 14 10.75 -2.45 2019-02-25 15:37:25 14 15 11.25 -2.45 2019-02-25 15:37:25 15 16 11.75 -2.45 2019-02-25 15:37:25 16 17 10.25 -0.35 2019-02-25 15:37:26 17 18 10.75 -0.35 2019-02-25 15:37:26 18 19 11.25 -0.35 2019-02-25 15:37:26 19 20 11.75 -0.35 2019-02-25 15:37:26 20 21 10.25 -1.05 2019-02-25 15:37:26 21 22 10.75 -1.05 2019-02-25 15:37:26 22 23 11.25 -1.05 2019-02-25 15:37:26 23 24 11.75 -1.05 2019-02-25 15:37:26 24 25 10.25 -1.75 2019-02-25 15:37:26 25 26 10.75 -1.75 2019-02-25 15:37:26 26 27 11.25 -1.75 2019-02-25 15:37:26 27 28 11.75 -1.75 2019-02-25 15:37:26 28 29 10.25 -2.45 2019-02-25 15:37:26 29 30 10.75 -2.45 2019-02-25 15:37:26 30 31 11.25 -2.45 2019-02-25 15:37:26 31 32 11.75 -2.45 2019-02-25 15:37:26 32 33 10.25 -0.35 2019-02-25 15:37:27 33 34 10.75 -0.35 2019-02-25 15:37:27 34 35 11.25 -0.35 2019-02-25 15:37:27 35 36 11.75 -0.35 2019-02-25 15:37:27 36 37 10.25 -1.05 2019-02-25 15:37:27 37 38 10.75 -1.05 2019-02-25 15:37:27 38 39 11.25 -1.05 2019-02-25 15:37:27 39 40 11.75 -1.05 2019-02-25 15:37:27 40 41 10.25 -1.75 2019-02-25 15:37:27 41 42 10.75 -1.75 2019-02-25 15:37:27 42 43 11.25 -1.75 2019-02-25 15:37:27 43 44 11.75 -1.75 2019-02-25 15:37:27 44 45 10.25 -2.45 2019-02-25 15:37:27 45 46 10.75 -2.45 2019-02-25 15:37:27 46 47 11.25 -2.45 2019-02-25 15:37:27 47 48 11.75 -2.45 2019-02-25 15:37:27 48 49 10.25 -0.35 2019-02-25 15:37:28 49 50 10.75 -0.35 2019-02-25 15:37:28 50 51 11.25 -0.35 2019-02-25 15:37:28 51 52 11.75 -0.35 2019-02-25 15:37:28 52 53 10.25 -1.05 2019-02-25 15:37:28 53 54 10.75 -1.05 2019-02-25 15:37:28 54 55 11.25 -1.05 2019-02-25 15:37:28 55 56 11.75 -1.05 2019-02-25 15:37:28 56 57 10.25 -1.75 2019-02-25 15:37:28 57 58 10.75 -1.75 2019-02-25 15:37:28 58 59 11.25 -1.75 2019-02-25 15:37:28 59 60 11.75 -1.75 2019-02-25 15:37:28 60 61 10.25 -2.45 2019-02-25 15:37:28 61 62 10.75 -2.45 2019-02-25 15:37:28 62 63 11.25 -2.45 2019-02-25 15:37:28 63 64 11.75 -2.45 2019-02-25 15:37:28 64 > plot(s, col = sf.colors(), axes = TRUE) > (s.stfdf = as(s, "STFDF")) An object of class "STFDF" Slot "data": foo 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 Slot "sp": Object of class SpatialPixels Grid topology: cellcentre.offset cellsize cells.dim x 10.25 0.5 4 y -2.45 0.7 4 SpatialPoints: x y [1,] 10.25 -0.35 [2,] 10.75 -0.35 [3,] 11.25 -0.35 [4,] 11.75 -0.35 [5,] 10.25 -1.05 [6,] 10.75 -1.05 [7,] 11.25 -1.05 [8,] 11.75 -1.05 [9,] 10.25 -1.75 [10,] 10.75 -1.75 [11,] 11.25 -1.75 [12,] 11.75 -1.75 [13,] 10.25 -2.45 [14,] 10.75 -2.45 [15,] 11.25 -2.45 [16,] 11.75 -2.45 Coordinate Reference System (CRS) arguments: NA Slot "time": timeIndex 2019-02-25 15:37:25 1 2019-02-25 15:37:26 2 2019-02-25 15:37:27 3 2019-02-25 15:37:28 4 Slot "endTime": [1] "2019-02-25 15:37:26 UTC" "2019-02-25 15:37:27 UTC" [3] "2019-02-25 15:37:28 UTC" "2019-02-25 15:37:29 UTC" > stplot(s.stfdf, scales = list(draw = TRUE)) > > (s2 = st_as_stars(s.stfdf)) stars object with 3 dimensions and 1 attribute attribute(s): Min. 1st Qu. Median Mean 3rd Qu. Max. foo 1 16.75 32.5 32.5 48.25 64 dimension(s): from to offset delta refsys x/y x 1 4 10 0.5 NA [x] y 1 4 -1.11e-16 -0.7 NA [y] time 1 4 2019-02-25 15:37:25 UTC 1 secs POSIXct > plot(s2, col = sf.colors(), axes = TRUE) > all.equal(s, s2, check.attributes = FALSE) [1] TRUE > > # multiple simulations: > data(meuse, package = "sp") > data(meuse.grid, package = "sp") > coordinates(meuse.grid) <- ~x+y > gridded(meuse.grid) <- TRUE > meuse.grid = st_as_stars(meuse.grid) > meuse_sf = st_as_sf(meuse, coords = c("x", "y")) > g = gstat(NULL, "zinc", zinc~1, meuse_sf, model = vgm(1, "Exp", 300), nmax = 10) > g = gstat(g, "lead", lead~1, meuse_sf, model = vgm(1, "Exp", 300), nmax = 10, fill.cross = TRUE) > set.seed(123) > ## IGNORE_RDIFF_BEGIN > (p = predict(g, meuse.grid, nsim = 5)) drawing 5 multivariate GLS realisations of beta... Flavor: r-devel-linux-x86_64-fedora-gcc

Version: 2.1-6
Check: tests
Result: NOTE Running ‘allier.R’ [0s/0s] Comparing ‘allier.Rout’ to ‘allier.Rout.save’ ... OK Running ‘blockkr.R’ [0s/0s] Comparing ‘blockkr.Rout’ to ‘blockkr.Rout.save’ ... OK Running ‘covtable.R’ [0s/0s] Comparing ‘covtable.Rout’ to ‘covtable.Rout.save’ ... OK Running ‘cv.R’ [0s/0s] Comparing ‘cv.Rout’ to ‘cv.Rout.save’ ... OK Running ‘cv3d.R’ [0s/0s] Comparing ‘cv3d.Rout’ to ‘cv3d.Rout.save’ ... OK Running ‘fit.R’ [0s/0s] Comparing ‘fit.Rout’ to ‘fit.Rout.save’ ... OK Running ‘krige0.R’ [1s/1s] Comparing ‘krige0.Rout’ to ‘krige0.Rout.save’ ... OK Running ‘line.R’ [0s/0s] Comparing ‘line.Rout’ to ‘line.Rout.save’ ... OK Running ‘merge.R’ [0s/0s] Comparing ‘merge.Rout’ to ‘merge.Rout.save’ ... OK Running ‘na.action.R’ [0s/0s] Comparing ‘na.action.Rout’ to ‘na.action.Rout.save’ ... OK Running ‘rings.R’ [0s/0s] Comparing ‘rings.Rout’ to ‘rings.Rout.save’ ... OK Running ‘sim.R’ [0s/0s] Comparing ‘sim.Rout’ to ‘sim.Rout.save’ ... OK Running ‘stars.R’ [3s/3s] Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ...145c145 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs 161c161 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs Running ‘variogram.R’ [0s/0s] Comparing ‘variogram.Rout’ to ‘variogram.Rout.save’ ... OK Running ‘vdist.R’ [0s/0s] Comparing ‘vdist.Rout’ to ‘vdist.Rout.save’ ... OK Running ‘windst.R’ [2s/2s] Comparing ‘windst.Rout’ to ‘windst.Rout.save’ ... OK Flavor: r-oldrel-macos-arm64

Version: 2.1-6
Check: tests
Result: NOTE Running ‘allier.R’ [1s/1s] Comparing ‘allier.Rout’ to ‘allier.Rout.save’ ... OK Running ‘blockkr.R’ [1s/1s] Comparing ‘blockkr.Rout’ to ‘blockkr.Rout.save’ ... OK Running ‘covtable.R’ [1s/1s] Comparing ‘covtable.Rout’ to ‘covtable.Rout.save’ ... OK Running ‘cv.R’ [1s/2s] Comparing ‘cv.Rout’ to ‘cv.Rout.save’ ... OK Running ‘cv3d.R’ [1s/2s] Comparing ‘cv3d.Rout’ to ‘cv3d.Rout.save’ ... OK Running ‘fit.R’ [1s/1s] Comparing ‘fit.Rout’ to ‘fit.Rout.save’ ... OK Running ‘krige0.R’ [2s/3s] Comparing ‘krige0.Rout’ to ‘krige0.Rout.save’ ... OK Running ‘line.R’ [1s/1s] Comparing ‘line.Rout’ to ‘line.Rout.save’ ... OK Running ‘merge.R’ [1s/1s] Comparing ‘merge.Rout’ to ‘merge.Rout.save’ ... OK Running ‘na.action.R’ [1s/1s] Comparing ‘na.action.Rout’ to ‘na.action.Rout.save’ ... OK Running ‘rings.R’ [1s/1s] Comparing ‘rings.Rout’ to ‘rings.Rout.save’ ... OK Running ‘sim.R’ [1s/1s] Comparing ‘sim.Rout’ to ‘sim.Rout.save’ ... OK Running ‘stars.R’ [9s/11s] Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ...145c145 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs 161c161 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs Running ‘variogram.R’ [1s/1s] Comparing ‘variogram.Rout’ to ‘variogram.Rout.save’ ... OK Running ‘vdist.R’ [1s/1s] Comparing ‘vdist.Rout’ to ‘vdist.Rout.save’ ... OK Running ‘windst.R’ [6s/8s] Comparing ‘windst.Rout’ to ‘windst.Rout.save’ ... OK Flavor: r-oldrel-macos-x86_64

Version: 2.1-6
Check: tests
Result: NOTE Running 'allier.R' [2s] Comparing 'allier.Rout' to 'allier.Rout.save' ... OK Running 'blockkr.R' [2s] Comparing 'blockkr.Rout' to 'blockkr.Rout.save' ... OK Running 'covtable.R' [2s] Comparing 'covtable.Rout' to 'covtable.Rout.save' ... OK Running 'cv.R' [2s] Comparing 'cv.Rout' to 'cv.Rout.save' ... OK Running 'cv3d.R' [2s] Comparing 'cv3d.Rout' to 'cv3d.Rout.save' ... OK Running 'fit.R' [2s] Comparing 'fit.Rout' to 'fit.Rout.save' ... OK Running 'krige0.R' [4s] Comparing 'krige0.Rout' to 'krige0.Rout.save' ... OK Running 'line.R' [2s] Comparing 'line.Rout' to 'line.Rout.save' ... OK Running 'merge.R' [1s] Comparing 'merge.Rout' to 'merge.Rout.save' ... OK Running 'na.action.R' [2s] Comparing 'na.action.Rout' to 'na.action.Rout.save' ... OK Running 'rings.R' [2s] Comparing 'rings.Rout' to 'rings.Rout.save' ... OK Running 'sim.R' [2s] Comparing 'sim.Rout' to 'sim.Rout.save' ... OK Running 'stars.R' [18s] Comparing 'stars.Rout' to 'stars.Rout.save' ...145c145 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs 161c161 < Min. 1st Qu. Median Mean 3rd Qu. Max. NA's --- > Min. 1st Qu. Median Mean 3rd Qu. Max. NAs Running 'variogram.R' [2s] Comparing 'variogram.Rout' to 'variogram.Rout.save' ... OK Running 'vdist.R' [2s] Comparing 'vdist.Rout' to 'vdist.Rout.save' ... OK Running 'windst.R' [11s] Comparing 'windst.Rout' to 'windst.Rout.save' ... OK Flavor: r-oldrel-windows-x86_64