From 1fa014507bd717402667c0c9194aa0c126a480a9 Mon Sep 17 00:00:00 2001
From: David Blodgett <dblodgett@usgs.gov>
Date: Mon, 16 May 2022 20:58:34 -0500
Subject: [PATCH] fixes #72

---
 workspace/07-1_merge.Rmd                |  2 +-
 workspace/07-2_NonDend.Rmd              |  8 +++++++-
 workspace/R/config.R                    |  4 ++++
 workspace/R/utils.R                     |  3 ++-
 workspace/runners/make_docker_calls.Rmd | 17 +++++++++++++++++
 5 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/workspace/07-1_merge.Rmd b/workspace/07-1_merge.Rmd
index 2c99d93..52dabef 100644
--- a/workspace/07-1_merge.Rmd
+++ b/workspace/07-1_merge.Rmd
@@ -21,8 +21,8 @@ knitr::opts_chunk$set(
 
 ```{r setup}
 # Load custom functions
-source("R/config.R")
 source("R/utils.R")
+source("R/config.R")
 
 ```
 
diff --git a/workspace/07-2_NonDend.Rmd b/workspace/07-2_NonDend.Rmd
index fe535cc..a07d633 100644
--- a/workspace/07-2_NonDend.Rmd
+++ b/workspace/07-2_NonDend.Rmd
@@ -26,6 +26,7 @@ knitr::opts_chunk$set(
 debug <- FALSE
 
 # Load custom functions
+source("R/utils.R")
 source("R/config.R")
 source("R/non_dend.R")
 
@@ -98,7 +99,7 @@ if(needs_layer(ND_gpkg, xwalk_layer)){
   
   # Bring over divides/HUC12 intersection information into divides layer
   xwalk_nhd_wbd <- st_drop_geometry(nhd_wbd_int$cats_HUC12) %>%
-    select(-c(ACRES, SOURCEFC, Shape_Length, Shape_Area, HU_12_MOD))
+    select(-c(ACRES, HU_12_MOD))
 
   rm(nhd_wbd_int)
   
@@ -191,6 +192,11 @@ if(!"HUC_12" %in% unique(divides_lu$aggStep)){
 
   # This will crate aggregated IDs for NHD catchments that match HUC12 footprint if aggregated together
   # The Coefficient of Areal correpsondence - is the last argument
+  if("AREASQKM" %in% names(xwalk_nhd_wbd)) {
+    xwalk_nhd_wbd <- rename(xwalk_nhd_wbd,
+                                AreaSqKM = AREASQKM)
+  }
+  
   divides_lu <- assign_HUC12(divides_lu, xwalk_nhd_wbd, 
                              filter(full_nhd, FTYPE != "Coastline"), 0.66)
   
diff --git a/workspace/R/config.R b/workspace/R/config.R
index f45e4ac..9ef5f4a 100644
--- a/workspace/R/config.R
+++ b/workspace/R/config.R
@@ -12,6 +12,10 @@ rpu_vpu <- readr::read_csv(system.file("extdata/rpu_vpu.csv", package = "hyfabri
 rpu_vpu_out <- readr::read_csv("cache/rpu_vpu_out.csv", 
                                col_types = c("c", "c", "i" , "i"), show_col_types = FALSE)
 
+if(nchar(Sys.getenv("HYDREG")) > 1) {
+  VPU <- Sys.getenv("HYDREG")
+}
+
 if(!exists("rpu_code")) {
   if(exists("VPU")) {
     vpu <- VPU
diff --git a/workspace/R/utils.R b/workspace/R/utils.R
index 2b15616..9e318a8 100644
--- a/workspace/R/utils.R
+++ b/workspace/R/utils.R
@@ -27,7 +27,8 @@ fix_headwaters <- function(nhd_rds, out_gpkg, new_atts = NULL,
   ble <- sf::st_zm(sf::st_as_sf(ble))
   nhd <- sf::st_zm(nhd)
   
-  sf::st_geometry(nhd)[nhd$StartFlag == 1] <- sf::st_geometry(ble)[nhd$StartFlag == 1]
+  sf::st_geometry(nhd)[nhd$StartFlag == 1 | nhd$Divergence == 2] <- 
+    sf::st_geometry(ble)[nhd$StartFlag == 1 | nhd$Divergence == 2]
   
   if(!is.null(new_atts)) {
     new_atts <- data.table::fread(new_atts, 
diff --git a/workspace/runners/make_docker_calls.Rmd b/workspace/runners/make_docker_calls.Rmd
index eabbc30..d616705 100644
--- a/workspace/runners/make_docker_calls.Rmd
+++ b/workspace/runners/make_docker_calls.Rmd
@@ -161,5 +161,22 @@ dplyr::arrange(tibble::tibble(file = names(has_agg)), file)
 ```
 
 ```{r}
+out_script <- "finalize_calls.txt"
 
+e1 <- "--env HYDREG=z!z"
+
+command <- paste("R -e \"rmarkdown::render('/jupyter/07-1_merge.Rmd', output_file='/jupyter/reports/07-1_merge_z!z.html')\"",
+                 "-e \"rmarkdown::render('/jupyter/07-2_NonDend.Rmd', output_file='/jupyter/reports/07-2_NonDend_z!z.html')\" \n")
+
+hus <- c(paste0("0", c(1:2, 4:9)), 
+         "03S", "03W", "03N",
+         "10U", "10L",
+         paste0("1", c(1:8)))
+
+calls <- sapply(hus, function(hu) gsub("z!z", hu, paste(call, mount, e1, docker_image, command)))
+
+cat("", file = out_script, append = FALSE)
+for(i in 1:length(calls)) {
+  cat(calls[i], file = out_script, append = TRUE)
+}
 ```
-- 
GitLab