Title: | Temporal Altitudinal Biogeographic Shifts |
Version: | 0.1.1 |
Description: | A standardized workflow to reconstruct spatial configurations of altitude-bounded biogeographic systems over time. For example, 'tabs' can model how island archipelagos expand or contract with changing sea levels or how alpine biomes shift in response to tree line movements. It provides functionality to account for various geophysical processes such as crustal deformation and other tectonic changes, allowing for a more accurate representation of biogeographic system dynamics. For more information see De Groeve et al. (2025) <doi:10.3897/arphapreprints.e151900>. |
License: | GPL (≥ 3) |
URL: | https://uva_ibed_piac.gitlab.io/tabs/ |
BugReports: | https://gitlab.com/uva_ibed_piac/tabs/-/issues |
Depends: | R (≥ 2.10) |
Imports: | ape, dplyr, htmltools, htmlwidgets, httr, jsonlite, geojsonio, leaflet, leaftime, leaflet.extras, mapedit, qs2, rlang, sf, stringi, terra, gpkg, RSQLite |
Encoding: | UTF-8 |
Language: | en-US |
LazyData: | true |
RoxygenNote: | 7.3.2 |
NeedsCompilation: | no |
Packaged: | 2025-04-29 16:55:24 UTC; jedgroev |
Author: | Johannes De Groeve
|
Maintainer: | Johannes De Groeve <j.degroeve@uva.nl> |
Repository: | CRAN |
Date/Publication: | 2025-04-29 17:30:02 UTC |
Dataset: IPCC future predictions (2021-2100)
Description
Mean global sea level rise according to different scenarios (ssp1,ssp2,ssp3,ssp5) for 2021-2040, 2041-2060 and 2081-2100. The global means were calculated from global raster datasets available for download in the interactive IPCC atlas.
Usage
IPCC_global_mean
Format
A list four RSL vectors
- year_before_after_present
years before or after present
- sea_level_m
meters below or above the reference sea level expressed in m.
Source
IPCC, Kirsten B; Edwards, Ross L; Taylor, Frederick W; Cheng, H; Adkins, Jess F; Gallup, Christina D; Cutler, P M; Burr, George S; Bloom, Arthur L (2003): Rapid sea-level fall and deep-ocean temperature change since the last interglacial period. Earth and Planetary Science Letters, 206(3-4), 253-271. doi:10.1016/S0012-821X(02)01107-X https://interactive-atlas.ipcc.ch/regional-information
Examples
curves <- IPCC_global_mean
Dataset: Bintanja's Global sea level curve (0-3000000 BP)
Description
Global sea level curve of Bintanja & van de Wal (2008) from 0 to 3000000 BP.
Usage
bintanja
Format
A vector with:
- year_before_after_present
years before or after present
- sea_level_m
meters below or above the reference sea level expressed in m.
Source
Bintanja, R., van de Wal, R. (2008) North American ice-sheet dynamics and the onset of 100,000-year glacial cycles. Nature 454, 869–872 (2008). doi:10.1038/nature07158
Examples
curve <- bintanja
Create an Object of Class 'tabs'
Description
Constructs an S3 object of class 'tabs' containing reconstruct output.
Usage
create_tabs_class(x)
Arguments
x |
output of reconstruct |
Value
An object of class 'tabs'.
Dataset: Cutler's Global sea level curve (0-140000 BP)
Description
Global sea level curve of Cutler et al. (2003) from 0 to 140000 BP.
Usage
cutler
Format
A vector with:
- year_before_after_present
years before or after present
- sea_level_m
meters below or above the reference sea level expressed in m.
Source
Cutler, Kirsten B; Edwards, Ross L; Taylor, Frederick W; Cheng, H; Adkins, Jess F; Gallup, Christina D; Cutler, P M; Burr, George S; Bloom, Arthur L (2003): Rapid sea-level fall and deep-ocean temperature change since the last interglacial period. Earth and Planetary Science Letters, 206(3-4), 253-271. doi:10.1016/S0012-821X(02)01107-X
Examples
curve <- cutler
Leaflet map of present and paleo configurations for biogeographic systems
Description
generate a timelapse or exploration visualisation for a reconstructed biomes
Usage
explore(x, timelapse = NULL, filename = NULL)
Arguments
x |
tabs. Object of class tabs, after running the reconstruct-function. |
timelapse |
integer, specifies the speed of the html-animation, the higher the number the slower the animation |
filename |
name of the file to save |
Details
explore
Value
html file
Examples
# load data samples
sporades <- sporades()
topo <- sporades$topo
labs <- sporades$labs
correction <- sporades$correction
curve <- sporades$curve
# subset first and last period
curve <- curve[[c(1,dim(curve)[3])]]
# reconstruct
rec <- reconstruct(topo=topo,
region=labs,
curve=curve,
correction=correction,
reclabs='name'
)
# metadata
md <- metadata(rec)
# export
dir <- tempdir() # export to temporary directory
export(rec, paste0(dir,'/sporades.qs2'),overwrite=TRUE) # qs2 (faster and less storage than rds)
export(rec, paste0(dir,'/sporades.rds'), overwrite=TRUE) # rds / rdata
export(rec, paste0(dir,'/sporades'), overwrite=TRUE) # datasets organized in directory
#export(rec, paste0(dir,'/sporades.zip')) # zipped datasets
# import
rec <- import(filename=paste0(dir,'/sporades.qs2'))
rec <- import(filename=paste0(dir,'/sporades.rds'))
rec <- import(filename=paste0(dir,'/sporades'))
# explore
## tabs class object
if (interactive()){
explore(rec) # comparison present reference and topo-based
explore(rec, timelapse=3) # paleo reconstruction
}
## from exported object
if (interactive()){
explore(paste0(dir,'/sporades.qs2'))
explore(paste0(dir,'/sporades.qs2'), timelapse=1)
}
# get area
area <- get_area(rec) # using object class tabs
area <- get_area(rec$recvect) # using recvect
area <- get_area(paste0(dir,'/sporades.qs2')) # using exported object
unlink(dir)
Export a reconstruction of class tabs in various formats
Description
export data
Usage
export(x, filename, overwrite = FALSE)
Arguments
x |
tabs. Object of class tabs, after running the reconstruct-function. |
filename |
character. Path where files will be exported. Default as directory tree. Use .qs2, .rds, .zip to save as qs2, rds or zipped directory tree. |
overwrite |
boolean. Whether to overwrite the output when filename is specified. |
Value
No return value, called for side effects
Author(s)
Johannes De Groeve
Examples
# load data samples
sporades <- sporades()
topo <- sporades$topo
labs <- sporades$labs
correction <- sporades$correction
curve <- sporades$curve
# subset first and last period
curve <- curve[[c(1,dim(curve)[3])]]
# reconstruct
rec <- reconstruct(topo=topo,
region=labs,
curve=curve,
correction=correction,
reclabs='name'
)
# metadata
md <- metadata(rec)
# export
dir <- tempdir() # export to temporary directory
export(rec, paste0(dir,'/sporades.qs2'),overwrite=TRUE) # qs2 (faster and less storage than rds)
export(rec, paste0(dir,'/sporades.rds'), overwrite=TRUE) # rds / rdata
export(rec, paste0(dir,'/sporades'), overwrite=TRUE) # datasets organized in directory
#export(rec, paste0(dir,'/sporades.zip')) # zipped datasets
# import
rec <- import(filename=paste0(dir,'/sporades.qs2'))
rec <- import(filename=paste0(dir,'/sporades.rds'))
rec <- import(filename=paste0(dir,'/sporades'))
# explore
## tabs class object
if (interactive()){
explore(rec) # comparison present reference and topo-based
explore(rec, timelapse=3) # paleo reconstruction
}
## from exported object
if (interactive()){
explore(paste0(dir,'/sporades.qs2'))
explore(paste0(dir,'/sporades.qs2'), timelapse=1)
}
# get area
area <- get_area(rec) # using object class tabs
area <- get_area(rec$recvect) # using recvect
area <- get_area(paste0(dir,'/sporades.qs2')) # using exported object
unlink(dir)
Dataset: features
Description
Features that can be defined as labeling points in the default dataset. point_reference dataset has been retrieved from geoNames.
Usage
features
Format
data frame
- feature_class
feature class
- feature_class_description
description of the feature class
- feature
feature names
Source
GeoNames https://download.geonames.org/export/dump/
Examples
f <- features
Dataset: Funza (29500 up to 1000000 BP)
Description
The ‘páramos’ UFL, i.e. high altitude mountain ecosystem in Venezuela (Northern Andes), during the last 1 million years, regularized to intervals of 1 ky.
Usage
funza
Format
A vector with:
- year_before_after_present
years before or after present
- tree_line_m
tree line expressed in meters above the present day reference sea level.
Source
Flantua et al. (2019) doi:10.3389/fevo.2021.615223
Examples
curve <- funza
Get area in meter
Description
Get the area based on an object of class tabs or recvect object
Usage
get_area(filename, verbose = FALSE)
Arguments
filename |
character. Object of class tabs, recvect (SpatVector) or path where outputs of the reconstruct-function were exported. Data exported in the following formats can be read by get_area: directory tree, .qs2 and .rds. |
verbose |
boolean, print messages |
Value
tabs object
Author(s)
Johannes De Groeve
Examples
# load data samples
sporades <- sporades()
topo <- sporades$topo
labs <- sporades$labs
correction <- sporades$correction
curve <- sporades$curve
# subset first and last period
curve <- curve[[c(1,dim(curve)[3])]]
# reconstruct
rec <- reconstruct(topo=topo,
region=labs,
curve=curve,
correction=correction,
reclabs='name'
)
# metadata
md <- metadata(rec)
# export
dir <- tempdir() # export to temporary directory
export(rec, paste0(dir,'/sporades.qs2'),overwrite=TRUE) # qs2 (faster and less storage than rds)
export(rec, paste0(dir,'/sporades.rds'), overwrite=TRUE) # rds / rdata
export(rec, paste0(dir,'/sporades'), overwrite=TRUE) # datasets organized in directory
#export(rec, paste0(dir,'/sporades.zip')) # zipped datasets
# import
rec <- import(filename=paste0(dir,'/sporades.qs2'))
rec <- import(filename=paste0(dir,'/sporades.rds'))
rec <- import(filename=paste0(dir,'/sporades'))
# explore
## tabs class object
if (interactive()){
explore(rec) # comparison present reference and topo-based
explore(rec, timelapse=3) # paleo reconstruction
}
## from exported object
if (interactive()){
explore(paste0(dir,'/sporades.qs2'))
explore(paste0(dir,'/sporades.qs2'), timelapse=1)
}
# get area
area <- get_area(rec) # using object class tabs
area <- get_area(rec$recvect) # using recvect
area <- get_area(paste0(dir,'/sporades.qs2')) # using exported object
unlink(dir)
Get and prepare correction
Description
Get and prepare a correction dataset
Usage
get_correction(
correction = NULL,
topo = NULL,
curve = NULL,
units = list(topo = "m", curve = c(names = "yr", value = "m"), correction = "mm/yr"),
verbose = FALSE
)
Arguments
correction |
SpatRaster. Correction value, vector, grid, or list of grids to account for spatial-(non-)explicit and temporal (non-)linear changes in the topography (e.g., uplift and subsidence rates, sedimentation and erosion ticknesses) |
topo |
SpatRaster. Topographic/Bathymetric model as SpatRaster or path to dataset. The topo projection is the reference for further outputs. |
curve |
SpatRaster. Curve value, vector, grid or list of grids indicating the relative altitude of a biogeographic system per time period compared to the present. A typical example is a sea level curve indicating the relative sea level position above or below sea level compared to the present. |
units |
numeric. Units of topo, curve and correction provided as a list (default: units=list(topo='m', curve=c(names='yr', value='m'), correction='mm/yr')) |
verbose |
boolean. FALSE: No messages are printed. TRUE: Standard verbose mode 2: Very verbose mode, displaying detailed information. |
Value
A SpatRaster or vector with corrrection values in a suitable format for the reconstruct function, including a value for each time step, defined by the curve.
Author(s)
Johannes De Groeve
See Also
Examples
sporades <- sporades()
topo <- sporades$topo
correction <- sporades$correction
curve <- sporades$curve
cor <- get_correction(correction=correction,
topo=topo,
curve=curve)
Get and prepare curve
Description
load a curve of interest
Usage
get_curve(curve = NULL, verbose = FALSE)
Arguments
curve |
SpatRaster. Curve value, vector, grid or list of grids indicating the relative altitude of a biogeographic system per time period compared to the present. A typical example is a sea level curve indicating the relative sea level position above or below sea level compared to the present. |
verbose |
Boolean. FALSE: No messages are printed. TRUE: Standard verbose mode. 2: Very verbose mode, displaying detailed information. |
Value
A SpatRaster or vector with curve values in a suitable format for the reconstruct function.
Author(s)
Johannes De Groeve
See Also
Examples
curve <- get_curve('lambeck')
curve <- get_curve('cutler')
curve <- get_curve('IPCC')
curve <- get_curve('funza')
curve <- get_curve()
curve <- get_curve(10)
curve <- get_curve(c(0,100,200,300,400,500))
# period definition curve
cur <- c(0,100,200,300,400,500) # altitudes
names(cur) <- c(0,1,2,3,4,5) # periods
curve <- get_curve(cur)
# add source attribute
cur <- c(0,100,200,300,400,500) # altitudes
names(cur) <- c(0,1,2,3,4,5) # periods
attr(cur, 'source') <- 'new curve' # curve source
curve <- get_curve(cur)
# custom-curve from data frame
cur <- data.frame(period=0:10,
altitude=seq(0,-20,-2),
source='custom')
curve <- get_curve(cur)
Get and prepare input datasets (topo, labs, curve, correction)
Description
load and prepare input datasets topo, labs, curve and correction
Usage
get_data(
region = NULL,
topo = NULL,
aggregate = FALSE,
curve = NULL,
correction = NULL,
reclabs = NULL,
units = list(topo = "m", curve = c(names = "yr", value = "m"), correction = "mm/yr"),
buffer = NULL,
fact = 0,
verbose = FALSE
)
Arguments
region |
SpatVector. Region selection object defined by extent coordinates, a polygon object or path to dataset, an island, archipelago, country, mountain or plate name from the regions-list. If region is not defined a selection window will pop-up to define the area of interest. |
topo |
SpatRaster. Topographic/Bathymetric model as SpatRaster or path to dataset. The topo projection is the reference for further outputs. |
aggregate |
boolean. Whether to aggregate biogeographic shapes. |
curve |
SpatRaster. Curve value, vector, grid or list of grids indicating the relative altitude of a biogeographic system per time period compared to the present. A typical example is a sea level curve indicating the relative sea level position above or below sea level compared to the present. |
correction |
SpatRaster. Correction value, vector, grid, or list of grids to account for spatial-(non-)explicit and temporal (non-)linear changes in the topography (e.g., uplift and subsidence rates, sedimentation and erosion ticknesses) |
reclabs |
character. Dataset or column used for labeling biogeographic shapes. By default the island labeling dataset is used, while if reclabs is set to ‘mnts’ the mountain labeling is used. Otherwise another column from the region object could be used, or a feature from the geonames feature list (e.g., ‘peaks’, ‘peak’) could be specified. Note that any overlapping name from the list geonames features cannot be used. If so, it is recommended to rename your labeling column. Note that in case of a user-defined reclabs column, the concerned column will be replicated in the labs-object under the column name ‘name’. |
units |
numeric. Units of topo, curve and correction provided as a list (default: units=list(topo='m', curve=c(names='yr', value='m'), correction='mm/yr')) |
buffer |
numeric. Draws a buffer around the selected region. For extent, the buffer is 0, otherwise 10000 m. |
fact |
numeric. Spatial resolution factor at which the bathymetric model will be resampled |
verbose |
boolean. FALSE: No messages are printed. TRUE: Standard verbose mode, providing progress bar. 2: Very verbose mode, displaying detailed information. |
Value
a list including topo, labs, curve and correction input datasets
Author(s)
Johannes De Groeve
Examples
# load data samples
sporades <- sporades()
topo <- sporades$topo
labs <- sporades$labs
correction <- sporades$correction
curve <- sporades$curve
# subset first and last period
curve <- curve[[c(1,dim(curve)[3])]]
data <- get_data(topo=topo,
region=labs,
curve=curve)
data <- get_data(topo=topo,
region=labs,
curve=curve,
correction=correction)
# run reconstruct using prepared input datasets
rec <- reconstruct(data)
get_reclabs
Description
reconstruct the labels based on labeling dataset. In a second step polygons are labelled per time step based on their most recent appearance
Usage
get_reclabs(labs, recvect, noise, verbose)
Arguments
labs |
labeling dataset |
recvect |
polygon dataset |
noise |
number of cells considered as noise |
verbose |
boolean. FALSE: No messages are printed. TRUE: Standard verbose mode, providing progress bar. 2: Very verbose mode, displaying detailed information. |
Value
SpatVector
Author(s)
Johannes De Groeve
Get and prepare region
Description
Retrieve region of interest
Usage
get_region(
region = NULL,
buffer = NULL,
reclabs = NULL,
aggregate = FALSE,
verbose = FALSE,
overwrite = FALSE
)
Arguments
region |
SpatVector. Region selection object defined by extent coordinates, a polygon object or path to dataset, an island, archipelago, country, mountain or plate name from the regions-list. If region is not defined a selection window will pop-up to define the area of interest. |
buffer |
numeric. Draws a buffer around the selected region. For extent, the buffer is 0, otherwise 10000 m. |
reclabs |
character. Dataset or column used for labeling biogeographic shapes. By default the island labeling dataset is used, while if reclabs is set to ‘mnts’ the mountain labeling is used. Otherwise another column from the region object could be used, or a feature from the geonames feature list (e.g., ‘peaks’, ‘peak’) could be specified. Note that any overlapping name from the list geonames features cannot be used. If so, it is recommended to rename your labeling column. Note that in case of a user-defined reclabs column, the concerned column will be replicated in the labs-object under the column name ‘name’. |
aggregate |
boolean. Whether to aggregate biogeographic shapes. |
verbose |
boolean. FALSE: No messages are printed. TRUE: Standard verbose mode. 2: Very verbose mode, displaying detailed information. |
overwrite |
boolean. TRUE: overwrite region and select a new extent via selection window will pop-up. |
Value
A SpatVector object with the labeling polygons for the specified extent coming from spatial object, extent or region name
See Also
Examples
if(interactive()){
# interactive selection
r <- get_region()
# overwrite interactive selection
r <- get_region(overwrite=TRUE)
}
# sample dataset
labs <- sporades()$labs
# labels based on "name" column
r <- get_region(region=labs)
# labels based on specific column
r <- get_region(region=labs[,'plate'],reclabs='plate')
# automatic labeling
r <- get_region(region=labs, reclabs = FALSE)
# aggregate shapes
r <- get_region(region=labs, aggregate=TRUE)
# define by extent
library(terra)
e <- terra::ext(labs)
r <- get_region(region=e)
e <- as.vector(e)
r <- get_region(region=e)
# add buffer
r <- get_region(region=e,buffer=10000)
r <- get_region(region=e,buffer=100000)
Import a reconstruction as class tabs object
Description
import TABS object
Usage
import(filename)
Arguments
filename |
character. Path where outputs of the reconstruct-function were exported. Data exported in the following formats can be imported: directory tree, .qs2 and .rds. |
Value
object of class tabs including a list of input (topo, labs, curve, correction) and output (recvect, recrast, recarea) datasets
Author(s)
Johannes De Groeve
Examples
# load data samples
sporades <- sporades()
topo <- sporades$topo
labs <- sporades$labs
correction <- sporades$correction
curve <- sporades$curve
# subset first and last period
curve <- curve[[c(1,dim(curve)[3])]]
# reconstruct
rec <- reconstruct(topo=topo,
region=labs,
curve=curve,
correction=correction,
reclabs='name'
)
# metadata
md <- metadata(rec)
# export
dir <- tempdir() # export to temporary directory
export(rec, paste0(dir,'/sporades.qs2'),overwrite=TRUE) # qs2 (faster and less storage than rds)
export(rec, paste0(dir,'/sporades.rds'), overwrite=TRUE) # rds / rdata
export(rec, paste0(dir,'/sporades'), overwrite=TRUE) # datasets organized in directory
#export(rec, paste0(dir,'/sporades.zip')) # zipped datasets
# import
rec <- import(filename=paste0(dir,'/sporades.qs2'))
rec <- import(filename=paste0(dir,'/sporades.rds'))
rec <- import(filename=paste0(dir,'/sporades'))
# explore
## tabs class object
if (interactive()){
explore(rec) # comparison present reference and topo-based
explore(rec, timelapse=3) # paleo reconstruction
}
## from exported object
if (interactive()){
explore(paste0(dir,'/sporades.qs2'))
explore(paste0(dir,'/sporades.qs2'), timelapse=1)
}
# get area
area <- get_area(rec) # using object class tabs
area <- get_area(rec$recvect) # using recvect
area <- get_area(paste0(dir,'/sporades.qs2')) # using exported object
unlink(dir)
Dataset: Lambeck's Global sea level curve (0-35000 BP)
Description
Global sea level curve of Lambeck et al. (2014) from 0 to 35000 BP.
Usage
lambeck
Format
A vector with:
- year_before_after_present
years before or after present
- sea_level_m
meters below or above the reference sea level expressed in m.
Source
Lambeck, Kurt; Rouby, Hélène; Purcell, Anthony; Sun, Y; Sambridge, Malcom (2014): Sea level and global ice volumes from the Last Glacial Maximum to the Holocene. Proceedings of the National Academy of Sciences, 111(43), 15296-15303. doi:10.1073/pnas.1411762111
Examples
curve <- lambeck
Metadata of object of class tabs (reconstruction)
Description
retrieve dataset and column descriptions as well as the sources from reconstruction object
Usage
metadata(x)
Arguments
x |
object of class tabs |
Value
a list of data frames with a description of columns of vector datasets and the sources of the input datasets
Author(s)
Johannes De Groeve
Examples
# load data samples
sporades <- sporades()
topo <- sporades$topo
labs <- sporades$labs
correction <- sporades$correction
curve <- sporades$curve
# subset first and last period
curve <- curve[[c(1,dim(curve)[3])]]
# reconstruct
rec <- reconstruct(topo=topo,
region=labs,
curve=curve,
correction=correction,
reclabs='name'
)
# metadata
md <- metadata(rec)
# export
dir <- tempdir() # export to temporary directory
export(rec, paste0(dir,'/sporades.qs2'),overwrite=TRUE) # qs2 (faster and less storage than rds)
export(rec, paste0(dir,'/sporades.rds'), overwrite=TRUE) # rds / rdata
export(rec, paste0(dir,'/sporades'), overwrite=TRUE) # datasets organized in directory
#export(rec, paste0(dir,'/sporades.zip')) # zipped datasets
# import
rec <- import(filename=paste0(dir,'/sporades.qs2'))
rec <- import(filename=paste0(dir,'/sporades.rds'))
rec <- import(filename=paste0(dir,'/sporades'))
# explore
## tabs class object
if (interactive()){
explore(rec) # comparison present reference and topo-based
explore(rec, timelapse=3) # paleo reconstruction
}
## from exported object
if (interactive()){
explore(paste0(dir,'/sporades.qs2'))
explore(paste0(dir,'/sporades.qs2'), timelapse=1)
}
# get area
area <- get_area(rec) # using object class tabs
area <- get_area(rec$recvect) # using recvect
area <- get_area(paste0(dir,'/sporades.qs2')) # using exported object
unlink(dir)
Reconstruct present- and paleoconfigurations for biogeographic systems
Description
reconstruct paleo or present day landscape using a bathymetric model, island labeling dataset and a seacurve
Usage
reconstruct(
x = NULL,
region = NULL,
topo = NULL,
curve = NULL,
correction = NULL,
iso = 0,
reclabs = NULL,
buffer = NULL,
aggregate = FALSE,
units = list(topo = "m", curve = c(names = "yr", value = "m"), correction = "mm/yr"),
fact = 0,
noise = 5,
noiserm = TRUE,
fillholes = TRUE,
filename = NULL,
overwrite = FALSE,
metrics = c("area"),
verbose = FALSE
)
Arguments
x |
get_data-object. Prepared object including standardized input datasets (region, topo, curve, correction) with get_data() (optional) |
region |
SpatVector. Region selection object defined by extent coordinates, a polygon object or path to dataset, an island, archipelago, country, mountain or plate name from the regions-list. If region is not defined a selection window will pop-up to define the area of interest. |
topo |
SpatRaster. Topographic/Bathymetric model as SpatRaster or path to dataset. The topo projection is the reference for further outputs. |
curve |
SpatRaster. Curve value, vector, grid or list of grids indicating the relative altitude of a biogeographic system per time period compared to the present. A typical example is a sea level curve indicating the relative sea level position above or below sea level compared to the present. |
correction |
SpatRaster. Correction value, vector, grid, or list of grids to account for spatial-(non-)explicit and temporal (non-)linear changes in the topography (e.g., uplift and subsidence rates, sedimentation and erosion ticknesses) |
iso |
numeric. Vector or list indicating the elevation range of the biogeographic system to reconstruct. By default 0 (coastlines). If provided as a list, the boundary definition of the range can be defined (options are '>' and '>='). By default, the elevation range definition includes the indicated lower bound value (i.e., list(0, '>=')). |
reclabs |
character. Dataset or column used for labeling biogeographic shapes. By default the island labeling dataset is used, while if reclabs is set to ‘mnts’ the mountain labeling is used. Otherwise another column from the region object could be used, or a feature from the geonames feature list (e.g., ‘peaks’, ‘peak’) could be specified. Note that any overlapping name from the list geonames features cannot be used. If so, it is recommended to rename your labeling column. Note that in case of a user-defined reclabs column, the concerned column will be replicated in the labs-object under the column name ‘name’. |
buffer |
numeric. Draws a buffer around the selected region. For extent, the buffer is 0, otherwise 10000 m. |
aggregate |
boolean. Whether to aggregate biogeographic shapes. |
units |
numeric. Units of topo, curve and correction provided as a list (default: units=list(topo='m', curve=c(names='yr', value='m'), correction='mm/yr')) |
fact |
numeric. Resolution factor, increasing the factor will half the resolution. |
noise |
numeric. Maximum number of unlabeled clumped topo pixels considered as noise. Note that clumps of pixels are only considered as noise when their highest points do not intersect with a reference polygon. |
noiserm |
boolean. Whether noise should be removed. |
fillholes |
boolean. fill the holes in polygons, independent from noise (e.g. lakes) |
filename |
character. Path where files will be exported. Default as directory tree. Use .qs2, .rds, .zip to save as qs2, rds or zipped directory tree. |
overwrite |
boolean. Whether to overwrite the output when filename is specified. |
metrics |
character. metrics to calculate for each biogeographic shape, currently only area is implemented. |
verbose |
boolean. FALSE: No messages are printed. TRUE: Standard verbose mode, providing progress bar. 2: Very verbose mode, displaying detailed information. |
Details
==================================================================================
INPUT
==================================================================================
input dataset may be topo, curve, correction (optional) and a labs dataset:
- TOPO
-
Topographic and/or bathymetric raster used to identify biogeographic shapes for the extent of the selected region.
- CURVE
-
The relative altitude of a biogeographic system per time period compared to the present expressed as a numeric vector (e.g., Lambeck, Cutler, Funza) or raster (e.g., st_curve). In the case of st_curve, the curve is returned for the extent of the selected region and resampled to the resolution of the topo dataset. If the curve is not defined, 0 is returned and a reconstruction is made for the present-day sea level.
- CORRECTION
-
Correction numeric vector or raster harmonized with the curve and resampled to the resolution of the topo dataset. If the input correction raster or numeric vector is defined as a rate (i.e., a single value, a single raster; thus, assuming temporal linear changes in topography), a correction variable (raster/numeric vector) is returned with the same length as the curve, expressing the cumulative topographic change over time. If the correction parameter is not defined, 0 is returned.
- LABS
-
Labeling dataset that is used for naming biogeographic shapes for the extent of the selected region.
Returned variables:
- unique_id
integer
: Unique identifier of a biogeographic shape in the labeling dataset.- name
character
: Name of the biogeographic shape in the labeling dataset. By default this will be derived from the Global Shoreline Vector (GSV; Sayre et al. 2019), or from the mountain inventory v2 (GMBA; Snethlage et al. 2022), when reclabs is set to ‘mnts’. Otherwise, if a custom polygon reference and labeling dataset is used, the name-column will store the content of a by the user specified column. NOTE: If the labeling column is specified by the user, that one will be stored as a duplicate in the labs output under its original name.- uniquename
character
: Concatenated name and unique identifier.- refx
numeric
: X-coordinate (SRID=4326) of the highest point of a biogeographic shape in the labeling dataset. If the labeling dataset are points, the x-coordinate of the point is given.- refy
numeric
: Y-coordinate (SRID=4326) of the highest point of a biogeographic shape in the labeling dataset. If the labeling dataset are points, the y-coordinate of the point is given.- refz
numeric
: Meter above/below present sea level of the highest point within a biogeographic shape extracted through intersection with topo. If the labeling dataset are points, the z of the point is given.- refn
integer
: Number of cells at the resolution of the topo within a biogeographic shape in the labeling dataset. If the labeling dataset are points, the number of cells will equal 1.
Depending from the used labeling dataset (GSV, GMDA, GeoNames) additional other columns are returned.
==================================================================================
OUTPUT
==================================================================================
- RECAREA
-
Table expressing the area in square meters for each biogeographic shape per time period.
- RECRAST
-
Raster expressing the reconstruction of a biogeographic region per time period within the extent of the selected region.
- RECVECT
-
Spatial vector expressing the reconstruction per time period, identifying each polygon as a different biogeographic shape. The vector layers include a range of default attributes per biogeographic shape.
NOTE: In casereclabs=FALSE
, biogeographic shapes are merged into a single multipolygon, and all attributes in the vector layers are expressed for the whole region.
Returned variables:
- iso
numeric
: Meter above or below the curve value (e.g., sea level position) defining the lower bound of the range of a biogeographic system- period
character
: Lower bound of a time period expressed in years before/after present for a reconstruction at a specific curve value (e.g., sea level position).- curve
numeric
: Curve value (e.g., sea level position) for that period. In case of a raster (e.g., st_curve; spatial-explicit curve) the average curve value is calculated within the region.- unique_id
integer
: Unique identifier of a biogeographic shape for a time period.- area
numeric
: Size of a biogeographic shape in square meters.- n
integer
: Number of cells at the resolution of the topo within a biogeographic shape; will change if the fact parameter is modified.- x
numeric
: X-coordinate in degrees (SRID=4326) of the highest point within a biogeographic shape extracted through intersection with topo. If the highest point could not be extracted, the centroid of the biogeographic shape is used.- y
numeric
: Y-coordinate in degrees (SRID=4326) of the highest point within a biogeographic shape extracted through intersection with topo. If the highest point could not be extracted, the centroid of the biogeographic shape is used.- z
numeric
: Meter above/below present sea level of the highest point within a biogeographic shape extracted through intersection with topo. If the highest point could not be extracted, the centroid of the biogeographic shape is used.- recid
character
: Reconstructed ID, when biogeographic shapes merge over time it is named after the shape with the highest point. The ID is unique across islands with identical names.- recname
character
: Reconstructed name, when biogeographic shapes merge over time it is named after the shape with the highest point. It can have the following formats:S-<PERIOD>-<ID>
-
S
biogeographic shape identified in topo but not in labeling dataset; or drowned biogeographic shapes that were disconnected from a present-day existing biogeographic shape
PERIOD
The most recent period the biogeographic shape emerged.
ID
Identifier.
UNKNOWN
The name of the biogeographic shape is intersecting with the labeling dataset but unknown (only for the Global Shoreline Vector - i.e. island labeling dataset).
UNNAMED
The name of the biogeographic shape is intersecting with the labeling dataset but unnamed (only for the Global Shoreline Vector - i.e. island labeling dataset).
- recnames
json
: JSON object including the name and ID of intersecting reconstructed polygons (from t0 until ti, where t = time period) within a reconstructed polygon of ti.- refnames
json
: JSON object including the name and ID of intersecting labeling points/polygons (from t0 until ti, where t = time period) within a reconstructed polygon of ti.
=========
Value
object of class tabs including a list of input (topo, labs, curve, correction) and output (recvect, recrast, recarea) datasets
Author(s)
Johannes De Groeve
See Also
Examples
# load data samples
sporades <- sporades()
topo <- sporades$topo
labs <- sporades$labs
correction <- sporades$correction
curve <- sporades$curve
# subset first and last period
curve <- curve[[c(1,dim(curve)[3])]]
# reconstruct
rec <- reconstruct(topo=topo,
region=labs,
curve=curve,
correction=correction,
reclabs='name'
)
# metadata
md <- metadata(rec)
# export
dir <- tempdir() # export to temporary directory
export(rec, paste0(dir,'/sporades.qs2'),overwrite=TRUE) # qs2 (faster and less storage than rds)
export(rec, paste0(dir,'/sporades.rds'), overwrite=TRUE) # rds / rdata
export(rec, paste0(dir,'/sporades'), overwrite=TRUE) # datasets organized in directory
#export(rec, paste0(dir,'/sporades.zip')) # zipped datasets
# import
rec <- import(filename=paste0(dir,'/sporades.qs2'))
rec <- import(filename=paste0(dir,'/sporades.rds'))
rec <- import(filename=paste0(dir,'/sporades'))
# explore
## tabs class object
if (interactive()){
explore(rec) # comparison present reference and topo-based
explore(rec, timelapse=3) # paleo reconstruction
}
## from exported object
if (interactive()){
explore(paste0(dir,'/sporades.qs2'))
explore(paste0(dir,'/sporades.qs2'), timelapse=1)
}
# get area
area <- get_area(rec) # using object class tabs
area <- get_area(rec$recvect) # using recvect
area <- get_area(paste0(dir,'/sporades.qs2')) # using exported object
unlink(dir)
Dataset: regions
Description
mountain ranges at different hierarchical levels, islands, archipelagoes, countries and plates that can be used for region selection
Usage
regions
Format
vector
- dataset
the dataset (islands,mountains) for which the region definition can be used
- region
region type
- name
name of the region
- name_ascii
name in ascii format
Source
Islands: Sayre et al. 2019 doi:10.1080/1755876X.2018.1529714
Plates: Bird, P. (2003) doi:10.1029/2001GC000252
Archipelagoes: Weigelt et al. 2013 doi:10.5061/dryad.fv94v
Countries: from rnaturalearth https://docs.ropensci.org/rnaturalearth/
Mountains: Snethlage et al. 2022 doi:10.48601/earthenv-t9k2-1407
Examples
r <- regions
Setup - Download of default datasets
Description
download default datasets (labs, topo, curve) in default or custom directory. The datasets require 15 GB disk space.
Usage
setup()
Value
No return value, called for side effects
Author(s)
Johannes De Groeve
Examples
if(interactive()){
# download labs, topo and curve and store in custom or default directory
setup()
# reset setup
# if you want the install the datasets under a different path
options(tabs.datasetPath=NULL)
setup()
}
Sporades sample dataset including topo, labs, curve and correction
Description
Sample dataset for the Sporades Archipelago in Greece
Usage
sporades()
Value
List of input sample datasets (topo, labs, curve, correction)
Author(s)
Johannes De Groeve