Nothing
## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
folder <- 'resources'
## ----cran_install, eval=FALSE-------------------------------------------------
# install.packages('sapfluxnetr')
## ----github_inst, eval=FALSE--------------------------------------------------
# # if (!require(remotes)) {install.packages('remotes')}
# remotes::install_github(
# 'sapfluxnet/sapfluxnetr', ref = 'devel',
# build_opts = c("--no-resave-data", "--no-manual", "--build-vignettes")
# )
## ----pkg_load-----------------------------------------------------------------
library(sapfluxnetr)
# tidyverse
library(dplyr)
library(ggplot2)
## ----downzip, eval = FALSE----------------------------------------------------
# # download the data
# download.file(
# url = "https://zenodo.org/record/3971689/files/0.1.5.zip?download=1",
# destfile = '0.1.5.zip'
# )
# # unzip the data
# # BE SURE YOU HAVE AT LEAST 24GB OF DISK SPACE
# unzip("0.1.5.zip")
# # check if files are present
# list.files(file.path('0.1.5', 'RData', 'plant'))
# list.files(file.path('0.1.5', 'csv', 'plant'))
## ----read_and_inspect, eval=FALSE---------------------------------------------
# # read the data
# arg_maz <- read_sfn_data('ARG_MAZ', folder = 'RData/plant')
#
# # see a brief summary of the site:
# arg_maz
## ----read_internals, echo=FALSE-----------------------------------------------
# read the data
arg_maz <- read_sfn_data('ARG_MAZ', folder = folder)
# see a brief summary of the site:
arg_maz
## ----accesors_data------------------------------------------------------------
# sapf data with original site timestamp
arg_maz_sapf <- get_sapf_data(arg_maz, solar = FALSE)
arg_maz_sapf
# env_data with calculated aparent solar time
arg_maz_env <- get_env_data(arg_maz, solar = TRUE)
arg_maz_env
## ----accesors_md--------------------------------------------------------------
arg_maz_site_md <- get_site_md(arg_maz)
arg_maz_site_md
arg_maz_stand_md <- get_stand_md(arg_maz)
arg_maz_stand_md
arg_maz_species_md <- get_species_md(arg_maz)
arg_maz_species_md
arg_maz_plant_md <- get_plant_md(arg_maz)
arg_maz_plant_md
arg_maz_env_md <- get_env_md(arg_maz)
arg_maz_env_md
## ----describe-----------------------------------------------------------------
# what is env_ta?
describe_md_variable('env_ta')
# or pl_species?
describe_md_variable('pl_species')
## ----get_flags----------------------------------------------------------------
arg_maz_sapf_flags <- get_sapf_flags(arg_maz, solar = TRUE)
arg_maz_sapf_flags
arg_maz_env_flags <- get_env_flags(arg_maz, solar = TRUE)
arg_maz_env_flags
## ----out_range----------------------------------------------------------------
arg_maz_env_flags %>%
filter_all(any_vars(stringr::str_detect(., 'RANGE_WARN')))
## ----crossing_flags-----------------------------------------------------------
arg_maz_env_flags %>%
filter_all(any_vars(stringr::str_detect(., 'RANGE_WARN'))) %>%
semi_join(arg_maz_env, ., by = 'TIMESTAMP') %>%
select(TIMESTAMP, ws)
## ----sapf_plot, fig.width=6---------------------------------------------------
sfn_plot(arg_maz, type = 'sapf', solar = TRUE) +
facet_wrap(~ Tree) +
theme(legend.position = 'none')
## ----env_plot, fig.width=6, fig.height=4--------------------------------------
sfn_plot(arg_maz, type = 'env', solar = TRUE) +
facet_wrap(~ Variable, scales = 'free_y') +
theme(legend.position = 'none')
## ----vpd_and_vs, fig.show='hold'----------------------------------------------
# vpd individually
sfn_plot(arg_maz, type = 'vpd', solar = TRUE)
# vpd vs sapf
sfn_plot(arg_maz, formula_env = ~vpd, solar = TRUE) +
theme(legend.position = 'none')
## ----daily--------------------------------------------------------------------
arg_maz_daily <- daily_metrics(arg_maz, solar = TRUE)
names(arg_maz_daily)
names(arg_maz_daily[['sapf']])
names(arg_maz_daily[['env']])
## ----daily_sapf_gen_q99-------------------------------------------------------
arg_maz_daily[['sapf']] %>%
select(TIMESTAMP, ends_with('q_95'))
## ----daily_sapf_md_mean-------------------------------------------------------
arg_maz_daily[['env']] %>%
select(TIMESTAMP, ends_with('mean'))
## ----metadata_database, eval = FALSE------------------------------------------
# sfn_metadata <- read_sfn_metadata(folder = 'RData/plant', .write_cache = TRUE)
## ----metadata_database_real, echo=FALSE, warning=FALSE------------------------
# sfn_metadata <- read_sfn_metadata(folder = folder, .write_cache = TRUE)
sfn_metadata <- sapfluxnetr:::.write_metadata_cache(folder = folder, .dry = TRUE)
## ----md_db_str----------------------------------------------------------------
# access plant metadata
sfn_metadata[['plant_md']]
## ----sfn_sites_in_folder, eval=FALSE------------------------------------------
# folder <- 'RData/plant/'
# sites <- sfn_sites_in_folder(folder)
# sites
## ----sfn_sites_in_folder_real, echo=FALSE-------------------------------------
sites <- sfn_sites_in_folder(folder)
sites
## ----filtering_by_md, eval=FALSE----------------------------------------------
# temperate <- sfn_sites_in_folder(folder) %>%
# filter_sites_by_md(
# si_biome %in% c('Woodland/Shrubland', 'Temperate forest'),
# metadata = sfn_metadata
# )
#
# temperate
## ----filtering_by_md_real, echo=FALSE, warning=FALSE--------------------------
temperate <- sfn_sites_in_folder(folder) %>%
filter_sites_by_md(
si_biome %in% c('Woodland/Shrubland', 'Temperate forest'),
metadata = sfn_metadata
)
temperate
## ----filters_combined, eval=FALSE---------------------------------------------
# temperate_hr <- sfn_sites_in_folder(folder) %>%
# filter_sites_by_md(
# si_biome %in% c('Woodland/Shrubland', 'Temperate forest'),
# pl_sens_meth == 'HR',
# metadata = sfn_metadata
# )
#
# temperate_hr
## ----filters_combined_real, echo=FALSE, warning=FALSE-------------------------
temperate_hr <- sfn_sites_in_folder(folder) %>%
filter_sites_by_md(
si_biome %in% c('Woodland/Shrubland', 'Temperate forest'),
pl_sens_meth == 'HR',
metadata = sfn_metadata
)
temperate_hr
## ----vars_to_filter-----------------------------------------------------------
sfn_vars_to_filter()
# and see what values we must use for filtering by pl_sens_meth
describe_md_variable('pl_sens_meth')
## ----multi, eval=FALSE--------------------------------------------------------
# temperate_sites <- temperate %>%
# read_sfn_data(folder = 'RData/plant')
# temperate_sites
## ----multi_real, echo=FALSE---------------------------------------------------
temperate_sites <- temperate %>%
read_sfn_data(folder = folder)
temperate_sites
## ----mutil_site---------------------------------------------------------------
# the following is the same as temperate_sites[[3]] or
# temperate_sites$AUS_CAN_ST2_MIX
temperate_sites[['AUS_CAN_ST2_MIX']]
## ----multi_aggregation--------------------------------------------------------
temperate_aggregated <- temperate_sites %>%
daily_metrics()
names(temperate_aggregated)
## ----tidyfing-----------------------------------------------------------------
temperate_tidy <- temperate_sites %>%
daily_metrics(tidy = TRUE, metadata = sfn_metadata)
temperate_tidy
## ----ex_1_plot, fig.width=7, fig.height=4.3-----------------------------------
ggplot(
temperate_tidy,
aes(x = vpd_mean, y = sapflow_q_95, colour = si_code, size = pl_sapw_area)
) +
geom_point(alpha = 0.2)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.