From 7012e0e34b3b3f0a4ecc8737550e4fd910050425 Mon Sep 17 00:00:00 2001
From: Francesco Sabatini <francesco.sabatini@idiv.de>
Date: Mon, 24 Feb 2020 10:18:37 +0100
Subject: [PATCH] Changed A97 to skip malfunctionng tiles

---
 code/04_buildHeader.Rmd     | 14 ++++++++------
 code/A97_ElevationExtract.R |  6 ++++--
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/code/04_buildHeader.Rmd b/code/04_buildHeader.Rmd
index f0405a4..6e2a2a7 100644
--- a/code/04_buildHeader.Rmd
+++ b/code/04_buildHeader.Rmd
@@ -486,10 +486,10 @@ done <- NULL
 done <- as.numeric(unlist(regmatches(myfiles, gregexpr("[[:digit:]]+", myfiles))))
 todo <- 1:nlevels(header.tiles$tilenam)
 todo <- todo[-which(todo %in% done)]
-todo <- sample(todo, replace=F)
+#todo <- sample(todo, replace=F)
 #foreach(i = 1:nlevels(header.sp$tilenam)) %do% {
-foreach(i = todo) %dopar% {  
-#for(i in todo){
+#foreach(i = todo) %dopar% {  
+for(i in todo){
   #create sp and project data
   if(nrow(header.tiles %>% 
           filter(tilenam %in% levels(header.tiles$tilenam)[i])) ==0 ) next()
@@ -508,10 +508,12 @@ foreach(i = todo) %dopar% {
   tryCatch(raster.tile <- get_elev_raster(sp.tile, z=9, expand=max(sp.tile$`Location uncertainty (m)`), clip="bbox"),
         error = function(e){e}
   )
-  if(inherits(raster.tile, "error")) {
+  if(!exists("raster.tile")) {
     raster.tile <- NA
-    save(raster.tile, file = paste("../_derived/elevatr/Failed_tile_", i, ".RData", sep=""))
-    next(paste("tile", i, "doesn't work!, skip to next"))
+    save(raster.tile, file = paste("../_derived/elevatr/elevation_tile_", i, "failed.RData", sep=""))
+    message(paste("tile", i, "doesn't work!, skip to next"))
+    rm(raster.tile)
+    next
   }
   # clip dem tile with continent shape
   raster.tile <- mask(raster.tile, continent.high.merc)
diff --git a/code/A97_ElevationExtract.R b/code/A97_ElevationExtract.R
index 427539e..674effc 100644
--- a/code/A97_ElevationExtract.R
+++ b/code/A97_ElevationExtract.R
@@ -74,10 +74,12 @@ ElevationExtract <- function(header, output, ncores){
     tryCatch(raster.tile <- get_elev_raster(sp.tile, z=9, expand=max(sp.tile$lc_ncrt), clip="bbox"),
              error = function(e){e}
     )
-    if(inherits(raster.tile, "error")) {
+    if(!exists("raster.tile")) {
       raster.tile <- NA
       save(raster.tile, file = paste(output, "elevation_tile_", i, "failed.RData", sep=""))
-      next(paste("tile", i, "doesn't work!, skip to next"))
+      message(paste("tile", i, "doesn't work!, skip to next"))
+      rm(raster.tile)
+      next
     }
     # clip dem tile with continent shape
     raster.tile <- mask(raster.tile, continent.high.merc)
-- 
GitLab