knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(dplyr,warn.conflicts=FALSE) library(tidygraph,warn.conflicts=FALSE) library(ggraph,warn.conflicts=FALSE) library(igraph) library(a5udes)
With a generic graph:
g=create_tree(40, children = 3, directed = TRUE,mode='out') %>% mutate(name=as.factor(1:40)) %>% mutate(rank=map_dfs_back_int(node_is_root(),.f=function(node,rank,...) { return(rank) })) ggraph(g) + geom_node_point() + geom_node_label(aes(label = rank)) +# repel=TRUE geom_edge_link0(arrow = arrow(length = unit(4, 'mm')))
With a reservoir graph upstream of Orós:
# id='44755' # oros id='34560' # smaller network # id='34689' # even smaller sub=all_simple_paths(reservoir_graph,from=id,mode='in') %>% unlist %>% unique subgraph = induced_subgraph(reservoir_graph, sub ,impl='auto') g=subgraph %>% graph_reverse_direction(.) %>% as_tbl_graph %>% mutate(rank=map_dfs_back_int(node_is_root(),.f=function(node,rank,...) { return(rank) })) ggraph(g) + geom_node_point() + geom_node_label(aes(label = name)) +# repel=TRUE geom_edge_link0(arrow = arrow(length = unit(4, 'mm')))
Water balance and route overspill:
neigh = g %>% activate(nodes) %>% arrange(desc(rank)) %>% mutate(neighborhood = local_members(order = 1,mode='out',mindist=1)) %>% as_tibble
state = g %>% activate(nodes) %>% arrange(desc(rank)) %>% mutate(max_volume=1,volume=0.8,incoming_runoff=0.3,overspill=0,evap=0.1) %>% as_tibble
water_balance(neigh,state) %>% knitr::kable(.)
reservoir_geometry %>% names
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.