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’ [33s/33s]
  Comparing ‘stars.Rout’ to ‘stars.Rout.save’ ...
187c187
<                 Min.   1st Qu.    Median      Mean   3rd Qu.      Max.  NAs
---
>                 Min.   1st Qu.    Median      Mean   3rd Qu.      Max. NA's
201,207c201,207
<  Min.   :4.777   Min.   :0.08549   (0,5]: 316  
<  1st Qu.:5.238   1st Qu.:0.13729   (5,6]:1778  
<  Median :5.573   Median :0.16218   (6,7]: 962  
<  Mean   :5.707   Mean   :0.18533   (7,8]:  47  
<  3rd Qu.:6.172   3rd Qu.:0.21162   (8,9]:   0  
<  Max.   :7.440   Max.   :0.50028   NAs  :5009  
<  NAs    :5009    NAs    :5009                  
---
>  Min.   :4.777   Min.   :0.0855   (0,5]: 316  
>  1st Qu.:5.238   1st Qu.:0.1373   (5,6]:1778  
>  Median :5.573   Median :0.1622   (6,7]: 962  
>  Mean   :5.707   Mean   :0.1853   (7,8]:  47  
>  3rd Qu.:6.172   3rd Qu.:0.2116   (8,9]:   0  
>  Max.   :7.440   Max.   :0.5003   NA's :5009  
>  NA's   :5009    NA's   :5009                 
218c218
<                 Min.   1st Qu. Median     Mean  3rd Qu.     Max.   NAs
---
>                 Min.   1st Qu. Median     Mean  3rd Qu.     Max.  NA's
  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’ [0m/89m]
Running the tests in ‘tests/windst.R’ failed.
Complete output:
  > suppressPackageStartupMessages(library(sp))
  > suppressPackageStartupMessages(library(spacetime))
  > suppressPackageStartupMessages(library(gstat))
  > suppressPackageStartupMessages(library(stars))
  > 
  > 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).