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 |
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