Last updated on 2026-08-01 23:50:22 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 | 16.49 | 140.37 | 156.86 | 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 | 22.10 | 180.15 | 202.25 | 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/Rtmp0UENkC’ ‘~/tmp/scratch/Rtmp0fwGa0’
‘~/tmp/scratch/Rtmp0uQ5k9’ ‘~/tmp/scratch/Rtmp1L5qZC’
‘~/tmp/scratch/Rtmp1RYyyJ’ ‘~/tmp/scratch/Rtmp1Sc50O’
‘~/tmp/scratch/Rtmp2EGbID’ ‘~/tmp/scratch/Rtmp2Na7ze’
‘~/tmp/scratch/Rtmp2mtsLR’ ‘~/tmp/scratch/Rtmp3Nym4N’
‘~/tmp/scratch/Rtmp3UzmRd’ ‘~/tmp/scratch/Rtmp5Kx0g7’
‘~/tmp/scratch/Rtmp5u1b2t’ ‘~/tmp/scratch/Rtmp61ahry’
‘~/tmp/scratch/Rtmp63z8Dj’ ‘~/tmp/scratch/Rtmp6Ot3xD’
‘~/tmp/scratch/Rtmp6U69vu’ ‘~/tmp/scratch/Rtmp7ViUxA’
‘~/tmp/scratch/Rtmp7hv1KN’ ‘~/tmp/scratch/Rtmp8CSu7O’
‘~/tmp/scratch/Rtmp8LYgHm’ ‘~/tmp/scratch/Rtmp8htSx0’
‘~/tmp/scratch/Rtmp90DuEw’ ‘~/tmp/scratch/Rtmp9kGjvU’
‘~/tmp/scratch/RtmpA2IEmn’ ‘~/tmp/scratch/RtmpAY979r’
‘~/tmp/scratch/RtmpAmhYZg’ ‘~/tmp/scratch/RtmpAv5aMT’
‘~/tmp/scratch/RtmpBL5bmB’ ‘~/tmp/scratch/RtmpBLMVf9’
‘~/tmp/scratch/RtmpBNUmK9’ ‘~/tmp/scratch/RtmpBRLytB’
‘~/tmp/scratch/RtmpBaYLDA’ ‘~/tmp/scratch/RtmpCy9QMk’
‘~/tmp/scratch/RtmpDjSs9J’ ‘~/tmp/scratch/RtmpDkqIaG’
‘~/tmp/scratch/RtmpDwLFsM’ ‘~/tmp/scratch/RtmpF2W4N9’
‘~/tmp/scratch/RtmpF8hXqp’ ‘~/tmp/scratch/RtmpFCCNiu’
‘~/tmp/scratch/RtmpH3Meyh’ ‘~/tmp/scratch/RtmpHVjMU5’
‘~/tmp/scratch/RtmpHbMK0D’ ‘~/tmp/scratch/RtmpHzoCXW’
‘~/tmp/scratch/RtmpI3l0KD’ ‘~/tmp/scratch/RtmpIMQa88’
‘~/tmp/scratch/RtmpIVRMO6’ ‘~/tmp/scratch/RtmpIY4jo7’
‘~/tmp/scratch/RtmpItT8oS’ ‘~/tmp/scratch/RtmpJ8oUji’
‘~/tmp/scratch/RtmpJRSlNX’ ‘~/tmp/scratch/RtmpKKAG04’
‘~/tmp/scratch/RtmpKQL6ko’ ‘~/tmp/scratch/RtmpLDfPAW’
‘~/tmp/scratch/RtmpM9zoZx’ ‘~/tmp/scratch/RtmpMDcDWB’
‘~/tmp/scratch/RtmpMyOey8’ ‘~/tmp/scratch/RtmpNWUAS5’
‘~/tmp/scratch/RtmpOI8Z77’ ‘~/tmp/scratch/RtmpOgOTBw’
‘~/tmp/scratch/RtmpOqNKX1’ ‘~/tmp/scratch/RtmpOs3UXn’
‘~/tmp/scratch/RtmpOxdBJo’ ‘~/tmp/scratch/RtmpPCVv7B’
‘~/tmp/scratch/RtmpPU2c8y’ ‘~/tmp/scratch/RtmpPrppjd’
‘~/tmp/scratch/RtmpQeenrT’ ‘~/tmp/scratch/RtmpR3MOxh’
‘~/tmp/scratch/RtmpSJGbUF’ ‘~/tmp/scratch/RtmpSWBBLT’
‘~/tmp/scratch/RtmpSk2k7y’ ‘~/tmp/scratch/RtmpT9EQcI’
‘~/tmp/scratch/RtmpTajMMY’ ‘~/tmp/scratch/RtmpTcEqm5’
‘~/tmp/scratch/RtmpTfmKFh’ ‘~/tmp/scratch/RtmpTigf5n’
‘~/tmp/scratch/RtmpUbYTHr’ ‘~/tmp/scratch/RtmpUi8LVF’
‘~/tmp/scratch/RtmpV500Wy’ ‘~/tmp/scratch/RtmpVpJncH’
‘~/tmp/scratch/RtmpW09QS9’ ‘~/tmp/scratch/RtmpWOJepw’
‘~/tmp/scratch/RtmpX6qYPO’ ‘~/tmp/scratch/RtmpXE01MR’
‘~/tmp/scratch/RtmpYxEw4d’ ‘~/tmp/scratch/RtmpZAQ7fy’
‘~/tmp/scratch/RtmpZFHb3Q’ ‘~/tmp/scratch/RtmpZbyCew’
‘~/tmp/scratch/RtmpZx2PpX’ ‘~/tmp/scratch/Rtmpa4J7qV’
‘~/tmp/scratch/RtmpaA4qC9’ ‘~/tmp/scratch/RtmpaAlUlp’
‘~/tmp/scratch/RtmpaHljfm’ ‘~/tmp/scratch/Rtmpaj11Mz’
‘~/tmp/scratch/RtmpapZmcx’ ‘~/tmp/scratch/RtmpcsCcKL’
‘~/tmp/scratch/Rtmpd82SEA’ ‘~/tmp/scratch/RtmpdPs49L’
‘~/tmp/scratch/RtmpdWb9Xq’ ‘~/tmp/scratch/RtmpdZ1wsv’
‘~/tmp/scratch/Rtmpdj8Ijk’ ‘~/tmp/scratch/RtmpdtoKc4’
‘~/tmp/scratch/RtmpduiiJf’ ‘~/tmp/scratch/Rtmpdx6dwF’
‘~/tmp/scratch/RtmpeH5wwn’ ‘~/tmp/scratch/RtmpeKWTYr’
‘~/tmp/scratch/RtmpeQH8fm’ ‘~/tmp/scratch/RtmpfWit5s’
‘~/tmp/scratch/RtmpfXHZmv’ ‘~/tmp/scratch/RtmpfdGsFZ’
‘~/tmp/scratch/RtmpgRyCg5’ ‘~/tmp/scratch/Rtmpge0qdx’
‘~/tmp/scratch/RtmpgiXnUq’ ‘~/tmp/scratch/RtmpgoUuvC’
‘~/tmp/scratch/Rtmph4YfEf’ ‘~/tmp/scratch/RtmphPbsHv’
‘~/tmp/scratch/RtmphWirhw’ ‘~/tmp/scratch/RtmpheBR02’
‘~/tmp/scratch/Rtmphukrgy’ ‘~/tmp/scratch/Rtmpiec6kO’
‘~/tmp/scratch/RtmpijVUAT’ ‘~/tmp/scratch/Rtmpj9QdfK’
‘~/tmp/scratch/Rtmpjsucz7’ ‘~/tmp/scratch/Rtmpjze5OC’
‘~/tmp/scratch/RtmpkTwDoI’ ‘~/tmp/scratch/RtmpkdXP8N’
‘~/tmp/scratch/RtmpkgJjQk’ ‘~/tmp/scratch/Rtmpl7skDb’
‘~/tmp/scratch/RtmplJd55v’ ‘~/tmp/scratch/Rtmpm4afxu’
‘~/tmp/scratch/RtmpmsoLTc’ ‘~/tmp/scratch/RtmpoTadOM’
‘~/tmp/scratch/Rtmpp8HjUV’ ‘~/tmp/scratch/RtmppXVkzv’
‘~/tmp/scratch/RtmppleAMh’ ‘~/tmp/scratch/RtmppwJ0uY’
‘~/tmp/scratch/RtmpqC5l5Q’ ‘~/tmp/scratch/RtmprzmiQp’
‘~/tmp/scratch/Rtmps2215t’ ‘~/tmp/scratch/RtmpsFrqym’
‘~/tmp/scratch/Rtmpsamdjy’ ‘~/tmp/scratch/RtmpseRfCR’
‘~/tmp/scratch/RtmpshRLaI’ ‘~/tmp/scratch/Rtmpt2hrB1’
‘~/tmp/scratch/RtmptV2hsq’ ‘~/tmp/scratch/RtmpuVwGDo’
‘~/tmp/scratch/RtmpuserR7’ ‘~/tmp/scratch/RtmpvNuq2z’
‘~/tmp/scratch/RtmpvQnlBx’ ‘~/tmp/scratch/Rtmpvffb4m’
‘~/tmp/scratch/RtmpwZHlR5’ ‘~/tmp/scratch/RtmpwvLYqm’
‘~/tmp/scratch/RtmpxWV4z0’ ‘~/tmp/scratch/RtmpxcSevA’
‘~/tmp/scratch/RtmpxkkJ8q’ ‘~/tmp/scratch/RtmpxoMlB3’
‘~/tmp/scratch/Rtmpxr6NqJ’ ‘~/tmp/scratch/Rtmpys30Fi’
‘~/tmp/scratch/RtmpzM58TJ’ ‘~/tmp/scratch/xvfb-run.0BZwGz’
‘~/tmp/scratch/xvfb-run.0T9V3l’ ‘~/tmp/scratch/xvfb-run.23dLYm’
‘~/tmp/scratch/xvfb-run.4hmQZx’ ‘~/tmp/scratch/xvfb-run.5RRPsQ’
‘~/tmp/scratch/xvfb-run.5h8klo’ ‘~/tmp/scratch/xvfb-run.7fJG30’
‘~/tmp/scratch/xvfb-run.8eIi0F’ ‘~/tmp/scratch/xvfb-run.AEvF6B’
‘~/tmp/scratch/xvfb-run.AJWr8x’ ‘~/tmp/scratch/xvfb-run.ANvtqB’
‘~/tmp/scratch/xvfb-run.BkeddD’ ‘~/tmp/scratch/xvfb-run.EkQFuN’
‘~/tmp/scratch/xvfb-run.GM0XZa’ ‘~/tmp/scratch/xvfb-run.GWFZJe’
‘~/tmp/scratch/xvfb-run.HRhl8p’ ‘~/tmp/scratch/xvfb-run.Hn9ouj’
‘~/tmp/scratch/xvfb-run.IL0fEE’ ‘~/tmp/scratch/xvfb-run.Jf0dPf’
‘~/tmp/scratch/xvfb-run.KwCQSn’ ‘~/tmp/scratch/xvfb-run.L0gb6t’
‘~/tmp/scratch/xvfb-run.LMD6Ae’ ‘~/tmp/scratch/xvfb-run.LNAJOI’
‘~/tmp/scratch/xvfb-run.LPfBAu’ ‘~/tmp/scratch/xvfb-run.MUtxwx’
‘~/tmp/scratch/xvfb-run.N2gcwG’ ‘~/tmp/scratch/xvfb-run.NGwabx’
‘~/tmp/scratch/xvfb-run.OcrkK5’ ‘~/tmp/scratch/xvfb-run.PCt0w0’
‘~/tmp/scratch/xvfb-run.PPhcDD’ ‘~/tmp/scratch/xvfb-run.PRFRkp’
‘~/tmp/scratch/xvfb-run.Plinfj’ ‘~/tmp/scratch/xvfb-run.RBBALM’
‘~/tmp/scratch/xvfb-run.RchW8s’ ‘~/tmp/scratch/xvfb-run.Sfzj5t’
‘~/tmp/scratch/xvfb-run.W5MrId’ ‘~/tmp/scratch/xvfb-run.WYdvbt’
‘~/tmp/scratch/xvfb-run.WdFsmX’ ‘~/tmp/scratch/xvfb-run.WfWMlr’
‘~/tmp/scratch/xvfb-run.XF3zsI’ ‘~/tmp/scratch/xvfb-run.XnzyEt’
‘~/tmp/scratch/xvfb-run.Yj8bti’ ‘~/tmp/scratch/xvfb-run.ZQHO8k’
‘~/tmp/scratch/xvfb-run.ZlGS5g’ ‘~/tmp/scratch/xvfb-run.ZwGd89’
‘~/tmp/scratch/xvfb-run.ajRTAj’ ‘~/tmp/scratch/xvfb-run.cR41mi’
‘~/tmp/scratch/xvfb-run.eIEf96’ ‘~/tmp/scratch/xvfb-run.ffzFdy’
‘~/tmp/scratch/xvfb-run.gkjaE4’ ‘~/tmp/scratch/xvfb-run.hBHagW’
‘~/tmp/scratch/xvfb-run.icaNMY’ ‘~/tmp/scratch/xvfb-run.j2yarZ’
‘~/tmp/scratch/xvfb-run.mQ0sDZ’ ‘~/tmp/scratch/xvfb-run.n92LYd’
‘~/tmp/scratch/xvfb-run.nBtFvL’ ‘~/tmp/scratch/xvfb-run.ngLZGf’
‘~/tmp/scratch/xvfb-run.nmEJJk’ ‘~/tmp/scratch/xvfb-run.qkKyJz’
‘~/tmp/scratch/xvfb-run.sX3O3I’ ‘~/tmp/scratch/xvfb-run.t4cn07’
‘~/tmp/scratch/xvfb-run.tndMpP’ ‘~/tmp/scratch/xvfb-run.uZF0aE’
‘~/tmp/scratch/xvfb-run.w9IEPX’ ‘~/tmp/scratch/xvfb-run.wNiqsZ’
‘~/tmp/scratch/xvfb-run.wVhH10’ ‘~/tmp/scratch/xvfb-run.whKgT4’
‘~/tmp/scratch/xvfb-run.wvNmnt’ ‘~/tmp/scratch/xvfb-run.zMLuIR’
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