scenarios

library(tidyverse)
library(glue)
library(here)
library(raster)
library(knitr)
library(bbnj)
#devtools::load_all() # devtools::install_local(force=T)
select = dplyr::select

dir_scenarios <- here("inst/app/www/scenarios")
dir_diffs     <- here("inst/app/www/scenarios/diffs")
scenarios <- list(
  s1  = "s01a.bio.now.mol50km",
  s2a = "s02a.bio.alltime.mol50km",
  s2b = "s02b.bio.future.mol50km",
  s3  = "s03a.biofish.now.mol50km",
  s4  = "s04a.biofish.alltime.mol50km")

diff_tbl <- function(x,...){
  x %>% 
    mutate(
      pct = sprintf("%.01f%%", pct*100)) %>% 
    kable(
      format.args = list(big.mark=','), 
      align = c("r","l","r","r","r"), ...)
}

tibble(
  s        = names(scenarios),
  scenario = unlist(scenarios)) %>% 
  kable()
s scenario
s1 s01a.bio.now.mol50km
s2a s02a.bio.alltime.mol50km
s2b s02b.bio.future.mol50km
s3 s03a.biofish.now.mol50km
s4 s04a.biofish.alltime.mol50km

s2a - s1

d <- scenarios_diff(scenarios[c("s1", "s2a")], dir_scenarios, dir_diffs)
diff_tbl(d$tbl)
value label ncells area_km2 pct
-1 loss 421 1,057,039 2.1%
0 same 19,582 49,166,123 95.9%
1 gain 426 1,069,593 2.1%

s2b - s1

d <- scenarios_diff(scenarios[c("s1", "s2b")], dir_scenarios, dir_diffs)
diff_tbl(d$tbl)
value label ncells area_km2 pct
-1 loss 6,698 16,817,214 26.0%
0 same 13,305 33,405,947 51.6%
1 gain 5,781 14,514,828 22.4%

s3 - s1

d <- scenarios_diff(scenarios[c("s1", "s3")], dir_scenarios, dir_diffs)
diff_tbl(d$tbl)
value label ncells area_km2 pct
-1 loss 2,855 7,168,281 12.3%
0 same 17,148 43,054,880 73.8%
1 gain 3,236 8,124,889 13.9%

s4 - s1

d <- scenarios_diff(scenarios[c("s1", "s4")], dir_scenarios, dir_diffs)
diff_tbl(d$tbl)
value label ncells area_km2 pct
-1 loss 2,938 7,376,676 12.6%
0 same 17,065 42,846,486 73.1%
1 gain 3,327 8,353,370 14.3%