From 45a9ccece60a25e64599227255597cf44ebe71c8 Mon Sep 17 00:00:00 2001 From: malchowa Date: Mon, 18 Oct 2021 17:08:39 +0200 Subject: [PATCH 01/35] all maps (habitat, patch, SMS costs, species dist) are given as numeric matrices from R --- .gitignore | 1 + RangeShiftR/R/RunRS.R | 25 +- RangeShiftR/R/addition.R | 4 +- RangeShiftR/R/class_LandParams.R | 230 ++++++++------- RangeShiftR/R/class_RSparams.R | 26 +- RangeShiftR/R/output_handling.R | 36 ++- RangeShiftR/src/Landscape.cpp | 483 +++++++++++++++++++++++++++++++ RangeShiftR/src/Landscape.h | 38 ++- RangeShiftR/src/Rinterface.cpp | 290 ++++++++++++++++++- RangeShiftR/src/Version.h | 10 + 10 files changed, 980 insertions(+), 163 deletions(-) diff --git a/.gitignore b/.gitignore index 3452126..1468060 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ build-Release/ *.workspace *.mk *.txt +*.tags # Hidden source /RangeShiftR/src/.* diff --git a/RangeShiftR/R/RunRS.R b/RangeShiftR/R/RunRS.R index 4c60f25..3e1b95d 100644 --- a/RangeShiftR/R/RunRS.R +++ b/RangeShiftR/R/RunRS.R @@ -1,25 +1,25 @@ #--------------------------------------------------------------------------- -# +# # Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# +# # This file is part of RangeShiftR. -# +# # RangeShiftR is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. -# +# # RangeShiftR is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with RangeShiftR. If not, see . -# +# #---------------------------------------------------------------------------- - - + + # ----- # # Run a RangeShiftR simulation @@ -55,7 +55,14 @@ RunRS <- function(RSparams, dirpath = getwd()){ if (class(out)=="list" && is.null(out$Errors)) { if ( length(out)>0 ) { resol = RSparams@control@resolution - return(raster::stack(lapply(X = out, FUN = raster::raster, xmn=0, xmx=ncol(out[[1]])*resol, ymn=0, ymx=nrow(out[[1]])*resol))) + if(class(RSparams@land)=="ImportedLandscape") llcorner = RSparams@land@OriginCoords + else llcorner = c(0,0) + return(raster::stack(lapply(X = out, + FUN = raster::raster, + xmn=llcorner[1], + ymn=llcorner[2], + xmx=ncol(out[[1]])*resol+llcorner[1], + ymx=nrow(out[[1]])*resol+llcorner[2]))) } else return(NULL) } diff --git a/RangeShiftR/R/addition.R b/RangeShiftR/R/addition.R index 3025d91..b8a5039 100644 --- a/RangeShiftR/R/addition.R +++ b/RangeShiftR/R/addition.R @@ -40,7 +40,7 @@ setMethod("+", signature(e1 = "RSparams", e2 = "SimulationParams"), function(e1, setMethod("+", signature(e1 = "RSparams", e2 = "LandParams"), function(e1, e2) { validObject(e2) if (class(e2)[1] == "ImportedLandscape") { - if (any(e2@PatchFile=="NULL")) { + if (length(e2@PatchFile)==0) { e1@control@patchmodel = FALSE } else { @@ -55,7 +55,7 @@ setMethod("+", signature(e1 = "RSparams", e2 = "LandParams"), function(e1, e2) { e1@control@landtype = 0L e1@control@maxNhab = e2@Nhabitats } - if (e2@SpDistFile=="NULL") { + if (length(e2@SpDistFile)==0) { e1@control@speciesdist = FALSE e1@control@distresolution = -9L } diff --git a/RangeShiftR/R/class_LandParams.R b/RangeShiftR/R/class_LandParams.R index fda14ab..4ec2b2b 100644 --- a/RangeShiftR/R/class_LandParams.R +++ b/RangeShiftR/R/class_LandParams.R @@ -291,8 +291,8 @@ setMethod("show", "ArtificialLandscape", function(object){ #' Import a Landscape from file #' -#' @description Provide the filename(s) (\code{LandscapeFile}) of the map(s) to be imported, their -#' resolution and, if applicable, the number of habitat codes (\code{Nhabitats}) +#' @description Provide the matrices of the map(s) to be imported, their resolution, +#' origin coordinates and, if applicable, the number of habitat codes (\code{Nhabitats}) #' as well as their respective demographic density dependence (\code{K_or_DensDep}). #' #' For a dynamic landscape, the year in which each landscape is loaded has to be provided. @@ -302,14 +302,17 @@ setMethod("show", "ArtificialLandscape", function(object){ #' - SMS cost map(s) to define landscape resistance to,\cr #' - a distribution map to define an initial species distribution. #' -#' @usage ImportedLandscape(LandscapeFile, Resolution = 100, HabPercent = FALSE, -#' Nhabitats, K_or_DensDep = 10, -#' PatchFile = "NULL", -#' CostsFile = "NULL", +#' @usage ImportedLandscape(LandscapeFile, +#' Resolution = 100, OriginCoords = c(0,0), +#' HabPercent = FALSE, Nhabitats, +#' K_or_DensDep = 10, +#' PatchFile = list(), +#' CostsFile = list(), #' DynamicLandYears = 0, -#' SpDistFile = "NULL", SpDistResolution) -#' @param LandscapeFile Filename(s) of the landscape habitat map(s) which shall be imported from the Inputs-folder. See the Details for information on the required format. +#' SpDistFile = list(), SpDistResolution) +#' @param LandscapeFile List of matrices of the landscape habitat raster(s); contains each cells' habitat suitability or land cover index. #' @param Resolution Cell size in meters, defaults to \eqn{100}. (integer) +#' @param OriginCoords X- and Y-coordinates of the map origin given in meters as a vector of length 2. #' @param HabPercent If \code{FALSE} (default), unique integer habitat codes are expected in the imported map to characterise the habitat of each cell. This requires to set \code{Nhabitats}. \cr #' If \code{TRUE}, continuous values are expected, ranging from \eqn{0.0} to \eqn{100.0}, that represent percentages of habitat cover or quality.\cr #' Make sure your imported landscape file uses the specified standard (see Details below). @@ -321,22 +324,15 @@ setMethod("show", "ArtificialLandscape", function(object){ #' The expected format:\cr #' If \code{HabPercent=FALSE}: a vector of length \code{Nhabitats}, specifying the respective \code{K_or_DensDep} for every habitat code.\cr #' If \code{HabPercent=TRUE}: \code{K_or_DensDep} is interpreted as the maximum \code{K_or_DensDep} reached in cells with \eqn{100}\% habitat. All other cells hold the respective fraction of \eqn{K_or_DensDep}. -#' @param PatchFile Filename(s) of the patch map(s) which shall be imported, default is \code{NULL}. -#' @param CostsFile Filename(s) of the SMS cost map(s) which shall be imported, default is \code{NULL}. +#' @param PatchFile List of matrices of the patch raster(s); contains each cells' patch index. +#' @param CostsFile List of matrices of the SMS cost raster(s); contains each cells' SMS cost. #' @param DynamicLandYears Integer vector indicating the years of landscape changes. For a non-dynamic landscape its only entry is \eqn{0} (default). #' For a dynamic landscape, \code{DynamicLandYears} lists the years in which the corresponding habitat maps in \code{LandscapeFile} and - if applicable - their respective patch and/or costs -#' maps (in \code{PatchFile},\code{CostsFile}) are loaded and used in the simulation. More details below. -#' @param SpDistFile Filename of the species initial distribution map which shall be imported (*.txt). Default is \code{NULL}. +#' maps (in \code{PatchFile},\code{CostsFile}) are used in the simulation. More details below. +#' @param SpDistFile List of one matrix containing the species' initial distribution raster. #' @param SpDistResolution Required if \code{SpDistFile} is given: Cell size of the distribution map in meters. (integer) Must be an integer multiple of the landscape resolution. -#' @details \emph{RangeShiftR} requires every input map to be a text file in ESRI ASCII raster format, which has the following six header lines: -#' \tabular{ll}{\code{ncols} \tab Number of columns \cr -#' \code{nrows} \tab Number of rows \cr -#' \code{xllcorner} \tab x-coordinate (longitude) of the lower-left corner \cr -#' \code{yllcorner} \tab y-coordinate (latitude) of the lower-left corner \cr -#' \code{cellsize} \tab Resolution (in meters) \cr -#' \code{NODATA_value} \tab Value for cells having missing data (usually -9999) } -#' -#' The rest of the file is a grid containing a value for each cell, one line per row. \code{RangeShiftR} can read-in two different types of habitat maps:\cr +#' @details +#' The \code{LandscapeFile} can be of one of two different types:\cr #' \itemize{ #' \item \emph{Raster with habitat codes} (\code{HabPercent=FALSE})\cr In this option each habitat or land-cover type has a unique integer code. Each cell in the file contains a single habitat code and \eqn{100} percent coverage is assumed for the cell. The landscape is therefore composed of discrete habitat cells. The codes are required to be sequential integers starting from \eqn{1} and ranging to \code{Nhabitats}.\cr #' \item \emph{Raster with habitat quality} (\code{HabPercent=TRUE})\cr Each cell in the landscape is assigned a continuous percentage value between \eqn{0.0} and \eqn{100.0} of the maximum \code{K_or_DensDep}. There are no explicit habitat or land-cover types. This allows integrating different methods for calculating the habitat suitability for a given species. For example, qualities can result from @@ -344,20 +340,24 @@ setMethod("show", "ArtificialLandscape", function(object){ #' Therefore, the quality should be scaled accordingly in case of a curvilinear relationship. #' } #' +#' \code{OriginCoords} is the map origin given as a vector of length 2 where the first entry is the x-coordinate (longitude) of the lower-left corner and +#' the second entry is the y-coordinate (latitude) of the lower-left corner.\cr +#' #' \emph{Patch map} \cr -#' The simulation can be run as a \emph{patch-based model} on the same habitat map described above. An additional file must be provided through \code{PatchFile}: a raster map of the same landscape, where +#' The simulation can be run as a \emph{patch-based model} on the same habitat map described above. An additional matrix must be provided through \code{PatchFile}: a raster map of the same landscape, where #' each cell contains the ID number of the patch to which it belongs. Each patch must have a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. #' Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they #' are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. #' #' \emph{Costs layer} \cr #' Only used if the simulation is run with \code{\link[RangeShiftR]{SMS}} as its transfer module and the landscapes resistance to movement is given via a costs raster map (see argument \code{Costs} in \code{SMS()}). -#' In this case, the specified map has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being \eqn{1}. -#' Importing a cost layer is the only option when the landscape comprises habitat coverage or quality. +#' In this case, the specified raster has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being \eqn{1}. +#' Using a cost layer is the only option when the landscape comprises habitat coverage or quality. #' #' \emph{Initial distribution} \cr -#' A \emph{species distribution map} can be overlaid on top of the habitat map and can be used to define an initial distribution. The map is provided through \code{SpDistFile} must be in raster format and be aligned with the landscape map, i.e. the coordinates of the lower-left corner must be the same. The extent of the map does not have to be necessarily -#' the same as the landscape. The resolution can be the same or coarser, provided that it is a multiple of the landscape resolution. For example, if the landscape cell size is \eqn{250m}, the species distribution can be at the resolution of \eqn{250m}, \eqn{500m}, \eqn{750m}, \eqn{1000m} etc. +#' A \emph{species distribution map} can be overlaid on top of the habitat map and can be used to define an initial distribution. The raster matrix is provided through \code{SpDistFile} must be aligned with the landscape +#' map, i.e. the coordinates of the lower-left corner must be the same. The resolution can be the same or coarser, provided that it is a multiple of the landscape resolution. For example, if the landscape cell size is +#' \eqn{250m}, the species distribution can be at the resolution of \eqn{250m}, \eqn{500m}, \eqn{750m}, \eqn{1000m} etc. #' Each cell of the species distribution map must contain either \eqn{0} (species absent or not recorded) or \eqn{1} (species present). #' #' \emph{Dynamic landscapes} \cr @@ -378,39 +378,55 @@ setMethod("show", "ArtificialLandscape", function(object){ #' \item Instead of a single original patch, define two (or more) distinct but adjacent patches in the original landscape, so that they each retain their own populations when they become separated by the landscape change. #' } #' -#' A dynamic landscape can be specified using the slots \code{LandscapeFile} (, \code{PatchFile}, \code{CostsFile}) and \code{DynamicLandYears}. \code{LandscapeFile} (and \code{PatchFile}, \code{CostsFile}) take a character vector with the filenames of the maps -#' to be loaded. All provided maps must agree in resolution, extent and origin. \code{DynamicLandYears} is a number vector that contains the years, in which these landscapes shall be loaded; it must have the same ordering so +#' A dynamic landscape can be specified using the slots \code{LandscapeFile} (, \code{PatchFile}, \code{CostsFile}) and \code{DynamicLandYears}. \code{LandscapeFile} (and \code{PatchFile}, \code{CostsFile}) take a list with the matrices representing the raster maps +#' to be used. All provided maps must agree in resolution, extent and origin. \code{DynamicLandYears} is a number vector that contains the years, in which these landscapes shall be loaded; it must have the same ordering so #' that years and maps can be matched. If a specific map is used multiple times, it must be listed each time nevertheless. #' @return A parameter object of class ImportedLandscape #' @author Anne-Kathleen Malchow #' @name ImportedLandscape #' @export ImportedLandscape -ImportedLandscape <- setClass("ImportedLandscape", slots = c(LandscapeFile = "character", +ImportedLandscape <- setClass("ImportedLandscape", slots = c(LandscapeFile = "list", Resolution = "integer_OR_numeric", + OriginCoords = "numeric", HabPercent = "logical", Nhabitats = "integer_OR_numeric", # not used in RS anymore. In R is used to define maxNhab in ControlParams K_or_DensDep = "integer_OR_numeric", - PatchFile = "character", # sets the patchmodel -switch in class ControlParams when added - CostsFile = "character", - SpDistFile = "character", # sets the speciesdist -switch in class ControlParams when added + PatchFile = "list", # sets the patchmodel -switch in class ControlParams when added + CostsFile = "list", + SpDistFile = "list", # sets the speciesdist -switch in class ControlParams when added SpDistResolution = "integer_OR_numeric", DynamicLandYears = "integer_OR_numeric") #= "data.frame") , prototype = list(#LandscapeFile, Resolution = 100L, + OriginCoords = c(0,0), HabPercent = FALSE, #Nhabitats, K_or_DensDep = 10L, - PatchFile = "NULL", - CostsFile = "NULL", - SpDistFile = "NULL", + PatchFile = list(), # "NULL", + CostsFile = list(), # "NULL", + SpDistFile = list(), # "NULL", #SpDistResolution, DynamicLandYears = 0L) #= data.frame()) , contains = "LandParams") setValidity("ImportedLandscape", function(object) { msg <- NULL - if (anyNA(object@LandscapeFile) || length(object@LandscapeFile)==0) { - msg <- c(msg, "No filename to import Landscape from was given.") + land_ncol <- 0 + land_nrow <- 0 + if (length(object@LandscapeFile)==0 ) { + msg <- c(msg, "Empty Landscape maps list from was given.") + } + else { + if(any(sapply(object@LandscapeFile, class)[1,] != "matrix")){ + msg <- c(msg, "All elements of Landscape maps list must be of class matrix.") + } + else{ + land_ncol <- ncol(object@LandscapeFile[[1]]) + land_nrow <- nrow(object@LandscapeFile[[1]]) + if( (any(sapply(object@LandscapeFile, ncol) != land_ncol)) || (any(sapply(object@LandscapeFile, nrow) != land_nrow)) ){ + msg <- c(msg, "All elements of Landscape maps list must have the same ncol and nrow.") + } + } } if (is.na(object@Resolution) || length(object@Resolution)!=1) { msg <- c(msg, "Resolution of landscape must be given!") @@ -420,6 +436,14 @@ setValidity("ImportedLandscape", function(object) { msg <- c(msg, "Resolution of landscape must be positive.") } } + if (is.na(object@OriginCoords) || length(object@OriginCoords)!=2) { + msg <- c(msg, "OriginCoords of landscape must be given and of length 2!") + } + else { + if ( any(object@OriginCoords < 0) ) { + msg <- c(msg, "OriginCoords of landscape must be positive.") + } + } if (is.na(object@HabPercent) || length(object@HabPercent)!=1) { msg <- c(msg, "HabPercent must be set!") } @@ -453,37 +477,37 @@ setValidity("ImportedLandscape", function(object) { } } } - if (anyNA(object@PatchFile) || length(object@PatchFile)==0) { - msg <- c(msg, "No filename to import Patches from was given.") - } - else { - if (any(object@PatchFile == "NULL")) { - if(length(object@PatchFile) != 1){ - msg <- c(msg, "In a cell-based model PatchFile should have exactly one entry \'NULL\'!") - } + if (length(object@PatchFile) > 0){ # patch model + if (length(object@PatchFile) != length(object@LandscapeFile) ) { + msg <- c(msg, "LandscapeFile and PatchFile must contain the same number of maps.") } else { - if(length(object@PatchFile) != length(object@LandscapeFile)){ - msg <- c(msg, "LandscapeFile and PatchFile must have the same number of entries!") + if(any(sapply(object@PatchFile, class)[1,] != "matrix")){ + msg <- c(msg, "All elements of PatchFile list must be of class matrix.") + } + else{ + if( (any(sapply(object@PatchFile, ncol) != land_ncol)) || (any(sapply(object@PatchFile, nrow) != land_nrow)) ){ + msg <- c(msg, "All elements of PatchFile list must have the same ncol and nrow as the LandscapeFile list") + } } } } - if (anyNA(object@CostsFile) || length(object@CostsFile)==0) { - msg <- c(msg, "No filename to import SMS costs from was given.") - } - else { - if (any(object@CostsFile == "NULL")) { - if(length(object@CostsFile) != 1){ - msg <- c(msg, "If SMS cost maps are not used, CostsFile should have exactly one entry \'NULL\'!") - } + if (length(object@CostsFile) > 0){ # cost maps given + if (length(object@CostsFile) != length(object@LandscapeFile) ) { + msg <- c(msg, "LandscapeFile and CostsFile must contain the same number of maps.") } else { - if(length(object@CostsFile) != length(object@LandscapeFile)){ - msg <- c(msg, "LandscapeFile and CostsFile must have the same number of entries!") + if(any(sapply(object@CostsFile, class)[1,] != "matrix")){ + msg <- c(msg, "All elements of CostsFile list must be of class matrix.") + } + else{ + if( (any(sapply(object@PatchFile, ncol) != land_ncol)) || (any(sapply(object@PatchFile, nrow) != land_nrow)) ){ + msg <- c(msg, "All elements of CostsFile list must have the same ncol and nrow as the LandscapeFile list") + } } } } - if (object@SpDistFile!="NULL") { + if (length(object@SpDistFile) > 0) { # species distribution map given if (is.na(object@SpDistResolution) || length(object@SpDistResolution)!=1) { msg <- c(msg, "Resolution of Species distribution must be set and of length 1!") } @@ -493,12 +517,28 @@ setValidity("ImportedLandscape", function(object) { } else { if (object@SpDistResolution < object@Resolution) { - msg <- c(msg, "Resolution of Species distribution may not be less than Landscape Resolution.") + msg <- c(msg, "Resolution of Species distribution may not be less than Landscape resolution.") } else { if (object@SpDistResolution %% object@Resolution) { msg <- c(msg, "SpDistResolution must be an integer multiple of Resolution.") } + else { + if (length(object@SpDistFile) != 1) { + msg <- c(msg, "Species distribution list can only contain exactly one map.") + } + else { + if( class(object@SpDistFile[[1]])[1] != "matrix") { + msg <- c(msg, "Species distribution must be of class matrix.") + } + else{ + coarse <- object@SpDistResolution / object@Resolution + if( (ncol(object@SpDistFile[[1]]) != ceiling(land_ncol/coarse)) || (nrow(object@SpDistFile[[1]]) != ceiling(land_nrow/coarse)) ){ + msg <- c(msg, "Extent of CostsFile must match thaat of the LandscapeFile map.") + } + } + } + } } } } @@ -536,7 +576,7 @@ setMethod("initialize", "ImportedLandscape", function(.Object, ...) { warning(this_func, "Nhabitats", warn_msg_ignored, "for continuous habitat percentage landscape.", call. = FALSE) } } - if (.Object@SpDistFile=="NULL") { + if (length(.Object@SpDistFile)==0) { .Object@SpDistResolution = -9 if (!is.null(args$SpDistResolution)) { warning(this_func, "Resolution of Species distribution", warn_msg_ignored, "since no map file is given.", call. = FALSE) @@ -545,11 +585,9 @@ setMethod("initialize", "ImportedLandscape", function(.Object, ...) { .Object} ) setMethod("show", "ImportedLandscape", function(object){ - cat(" Landscape imported from file") - if(length(object@DynamicLandYears)==1) { - cat(":\n ", paste(object@LandscapeFile)) - } - cat("\n") + cat(" Imported landscape from matrix\n") + if ( length(object@PatchFile) == 0 ) cat(" Cell-based \n") + else cat(" Patch-based \n") if(object@HabPercent) { cat(" with continuous habitat percentages,\n") cat(" at 100%: K or 1/b =", paste(object@K_or_DensDep), "[inds per ha].\n") @@ -558,62 +596,20 @@ setMethod("show", "ImportedLandscape", function(object){ cat(" with", paste(object@Nhabitats), "unique integer habitat code(s)\n") cat(" K or 1/b : ", paste(object@K_or_DensDep), "[inds per ha].\n") } - if (object@PatchFile[1] !="NULL") { - cat(" Patches imported from file \n") - if(length(object@DynamicLandYears)==1) { - cat(paste(object@PatchFile),"\n") - } - } - if (object@CostsFile[1] !="NULL") { - cat(" SMS costs imported from file \n") - if(length(object@DynamicLandYears)==1) { - cat(paste(object@CostsFile),"\n") - } + if ( length(object@CostsFile) > 0 ) { + cat(" SMS costs map(s) given \n") } cat (" Resolution :", paste(object@Resolution),"\n") - if(length(object@DynamicLandYears)>1) { - if (object@PatchFile[1] =="NULL") { - if (object@CostsFile[1] =="NULL") { - cat(" Land changes in\n Year to Habitat file:\n") - } - else { - cat(" Land changes in\n Year to Habitat file Costs file:\n") - } - } - else { - if (object@CostsFile[1] =="NULL") { - cat(" Land changes in\n Year to Habitat file Patch file:\n") - } - else { - cat(" Land changes in\n Year to Habitat file Patch file Costs file:\n") - } - } - for (a in 1:length(object@DynamicLandYears)) { - if (object@PatchFile[1] =="NULL") { - if (object@CostsFile[1] =="NULL") { - cat(" ",paste(object@DynamicLandYears[a])," ",paste(object@LandscapeFile[a]),"\n") - } - else { - cat(" ",paste(object@DynamicLandYears[a])," ",paste(object@LandscapeFile[a])," ",paste(object@CostsFile[a]),"\n") - } - } - else { - if (object@CostsFile[1] =="NULL") { - cat(" ",paste(object@DynamicLandYears[a])," ",paste(object@LandscapeFile[a])," ",paste(object@PatchFile[a]),"\n") - } - else { - cat(" ",paste(object@DynamicLandYears[a])," ",paste(object@LandscapeFile[a])," ",paste(object@PatchFile[a])," ",paste(object@CostsFile[a]),"\n") - } - } - } + if(length(object@DynamicLandYears) > 1) { + cat(" Land changes in years:\n ") + for (a in 1:(length(object@DynamicLandYears-1))) cat(paste(object@DynamicLandYears[a]),", ") + cat(paste(object@DynamicLandYears[length(object@DynamicLandYears)]),"\n") } - if(object@SpDistFile!="NULL") { - cat(" Initial Species Distribution imported from file:\n ", paste(object@SpDistFile), "\n") - cat (" Resolution :", paste(object@SpDistResolution),"\n") + if ( length(object@SpDistFile) > 0 ) { + cat(" Initial Species Distribution map given \n") + cat(" Resolution :", paste(object@SpDistResolution),"\n") } - #cat ("\n") - } -) +}) ### Helper functions diff --git a/RangeShiftR/R/class_RSparams.R b/RangeShiftR/R/class_RSparams.R index 0dc62b3..8a7145b 100644 --- a/RangeShiftR/R/class_RSparams.R +++ b/RangeShiftR/R/class_RSparams.R @@ -1,25 +1,25 @@ #--------------------------------------------------------------------------- -# +# # Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# +# # This file is part of RangeShiftR. -# +# # RangeShiftR is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. -# +# # RangeShiftR is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with RangeShiftR. If not, see . -# +# #---------------------------------------------------------------------------- - - + + #### PARAMETER MASTER CLASS #### @@ -87,7 +87,7 @@ setValidity("RSparams", function(object) { if (any(object@land@DynamicLandYears>object@simul@Years)) { warning("ImportedLandscape(): Dynamic landscape contains years that exceed the simulated years, so that some land changes will not apply.", call. = FALSE) } - if (object@land@CostsFile[1] !="NULL") { + if (length(object@land@CostsFile)>0) { if (class(object@dispersal@Transfer)[1] == "StochMove") { if (object@dispersal@Transfer@Costs[1] != "file") { warning("ImportedLandscape(): Landscape module contains SMS cost layers, but SMS module does not use them.", call. = FALSE) @@ -431,8 +431,8 @@ setValidity("RSparams", function(object) { } if (class(object@dispersal@Transfer@Costs)=="character") { if (object@dispersal@Transfer@Costs == "file") { - if (object@land@CostsFile[1] == "NULL") { - msg <- c(msg, "SMS(): No cost map filenames found in the landscape module!") + if (length(object@land@CostsFile)==0) { + msg <- c(msg, "SMS(): Empty cost map list found in the landscape module!") } } else{ @@ -447,8 +447,8 @@ setValidity("RSparams", function(object) { } if (class(object@dispersal@Transfer@Costs)=="character") { if (object@dispersal@Transfer@Costs == "file") { - if (object@land@CostsFile[1] == "NULL") { - msg <- c(msg, "SMS(): No cost map filenames found in the landscape module!") + if (length(object@land@CostsFile)==0) { + msg <- c(msg, "SMS(): Empty cost map list found in the landscape module!") } } else{ diff --git a/RangeShiftR/R/output_handling.R b/RangeShiftR/R/output_handling.R index af29fb3..590e95a 100644 --- a/RangeShiftR/R/output_handling.R +++ b/RangeShiftR/R/output_handling.R @@ -322,8 +322,12 @@ setMethod("ColonisationStats", "RSparams", function(x, y = getwd(), years = nume # non-dynamic landscape if(length(x@land@LandscapeFile)==1){ - patch_r <- try(raster::raster(paste0(dirpath, "Inputs/", x@land@PatchFile))) - if( class(patch_r) == "try-error" ) warning("ColonisationStats(): Couldn't read patch raster file ", x@land@PatchFile , call. = FALSE) + patch_r <- raster(x@land@PatchFile[[1]], + xmn = x@land@OriginCoords[1], + xmx = x@land@OriginCoords[1] + x@land@Resolution * ncol(x@land@PatchFile[[1]]), + ymn = x@land@OriginCoords[2], + ymx = x@land@OriginCoords[2] + x@land@Resolution * nrow(x@land@PatchFile[[1]]) + ) if( class(pop_df) == "data.frame" & class(patch_r) == "RasterLayer" ) res <- ColonisationStats(pop_df,patch_r,years) @@ -334,23 +338,35 @@ setMethod("ColonisationStats", "RSparams", function(x, y = getwd(), years = nume # rasters for occ_prob output for(year in years){ current <- which(x@land@DynamicLandYears == max(x@land@DynamicLandYears[x@land@DynamicLandYears<=year]) ) - patch_curr <- try(raster::raster(paste0(dirpath, "Inputs/", x@land@PatchFile[current]))) - if ( class(patch_curr) == "try-error" ) warning("ColonisationStats(): Couldn't read patch raster file nr ", current , " for this simulation.", call. = FALSE) - else patch_r <- raster::addLayer(patch_r , patch_curr) + patch_curr <- raster(x@land@PatchFile[[current]], + xmn = x@land@OriginCoords[1], + xmx = x@land@OriginCoords[1] + x@land@Resolution * ncol(x@land@PatchFile[[1]]), + ymn = x@land@OriginCoords[2], + ymx = x@land@OriginCoords[2] + x@land@Resolution * nrow(x@land@PatchFile[[1]]) + ) + patch_r <- raster::addLayer(patch_r , patch_curr) } # rasters for col_time output year <- max(pop_df$Year) current <- which(x@land@DynamicLandYears == max(x@land@DynamicLandYears[x@land@DynamicLandYears<=year]) ) - patch_curr <- try(raster::raster(paste0(dirpath, "Inputs/", x@land@PatchFile[current]))) - if ( class(patch_curr) == "try-error" ) warning("ColonisationStats(): Couldn't read patch raster file nr ", current , " for this simulation.", call. = FALSE) - else patch_r <- raster::addLayer(patch_r , patch_curr) + patch_curr <- raster(x@land@PatchFile[[current]], + xmn = x@land@OriginCoords[1], + xmx = x@land@OriginCoords[1] + x@land@Resolution * ncol(x@land@PatchFile[[1]]), + ymn = x@land@OriginCoords[2], + ymx = x@land@OriginCoords[2] + x@land@Resolution * nrow(x@land@PatchFile[[1]]) + ) + patch_r <- raster::addLayer(patch_r , patch_curr) if(class(pop_df) == "data.frame" & length(patch_r@layers)==(length(years)+1) ) res <- ColonisationStats(pop_df,patch_r,years) } }else{ # for cell-based model, read only main habitat maps to use as raster template - patch_r <- try(raster::raster(paste0(dirpath, "Inputs/", x@land@LandscapeFile[1]))) - if ( class(patch_r) == "try-error" ) warning("ColonisationStats(): Couldn't read patch raster file nr ", current , " for this simulation.", call. = FALSE) + patch_r <- raster(x@land@LandscapeFile[[1]], + xmn = x@land@OriginCoords[1], + xmx = x@land@OriginCoords[1] + x@land@Resolution * ncol(x@land@LandscapeFile[[1]]), + ymn = x@land@OriginCoords[2], + ymx = x@land@OriginCoords[2] + x@land@Resolution * nrow(x@land@LandscapeFile[[1]]) + ) if(class(pop_df) == "data.frame" & class(patch_r) == "RasterLayer" ) res <- ColonisationStats(pop_df,patch_r,years) } }else { # no maps requested diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index e892229..4d16c25 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -166,6 +166,48 @@ for (int i = 0; i < ncells; i++) { // Read species initial distribution file +#if RS_THREADSAFE +int InitDist::readDistribution(Rcpp::NumericMatrix distfile, landOrigin habfile_origin, int spResol) { + + int d=0; + double dfloat=0; + int ncols,nrows; + + ncols = distfile.ncol(); + nrows = distfile.nrow(); + + minEast = habfile_origin.minEast; + minNorth = habfile_origin.minNorth; + resol = spResol; + maxX = ncols-1; + maxY = nrows-1; + + for (int y = nrows-1; y >= 0; y--) { + for (int x = 0; x < ncols; x++) { + + dfloat = distfile(nrows-1-y,x); + + if ( !R_IsNA(dfloat) ){ // check for NA + d = (int)dfloat; + if ( d == 0 || d == 1) { // only valid values + if (d == 1) { // species present + cells.push_back(new DistCell(x,y)); + } + } + else { // error in file + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found invalid value in species distribution raster." << std::endl; + #endif + return 22; + } + } + } + } + return 0; +} + +#else // RS_THREADSAFE + int InitDist::readDistribution(string distfile) { #if RS_RCPP wstring header; @@ -255,6 +297,7 @@ dfile.close(); dfile.clear(); return 0; } +#endif // RS_THREADSAFE //--------------------------------------------------------------------------- @@ -1740,6 +1783,164 @@ while (landchanges.size() > 0) landchanges.pop_back(); landchanges.clear(); } + +#if RS_THREADSAFE +int Landscape::readLandChange(int filenum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile){ + + if (filenum < 0) return 19; + + int h = 0,p = 0,c = 0, pchseq = 0; + double hfloat = 0,pfloat = 0,cfloat = 0; + bool costs = false; + if(costfile.nrow()>0 && costfile.ncol()>0) costs = true; + + simParams sim = paramsSim->getSim(); + + if (patchModel) pchseq = patchCount(); + + switch (rasterType) { + + case 0: // raster with habitat codes - 100% habitat each cell + + for (int y = dimY-1; y >= 0; y--) { + for (int x = 0; x < dimX; x++) { + + // get numerics from each raster for this cell + hfloat = habfile(dimY-1-y,x); + if (patchModel) pfloat = pchfile(dimY-1-y,x); + if (costs) cfloat = costfile(dimY-1-y,x); + + if (cells[y][x] != 0) { // not a no data cell (in initial landscape) + if ( R_IsNA(hfloat) ){ // invalid no data cell in change map + return 36; + } + else { + h = (int)hfloat; + if (h < 0 || (sim.batchMode && (h < 1 || h > nHabMax))) { // invalid habitat code + return 33; + } + else { + addHabCode(h); + cells[y][x]->setHabIndex(h); + } + } + if (patchModel) { + if ( R_IsNA(pfloat) ){ + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found patch NA in valid habitat cell." << std::endl; + #endif + return 34; + } + else { + p = (int)pfloat; + if (p < 0 ) { // invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found negative patch ID in valid habitat cell." << std::endl; + #endif + return 34; + } + else { + patchChgMatrix[y][x][2] = p; + if (p > 0 && !existsPatch(p)) { + addPatchNum(p); + newPatch(pchseq++,p); + } + } + } + } + if (costs) { + if ( R_IsNA(cfloat) ){ // invalid cost + return 38; + } + else{ + c = (int)cfloat; + if (c < 1) { // invalid cost + return 38; + } + else { + costsChgMatrix[y][x][2] = c; + } + } + } + } + } + } + break; + + case 2: // habitat quality + + for (int y = dimY-1; y >= 0; y--) { + for (int x = 0; x < dimX; x++) { + + // get numerics from each raster for this cell + hfloat = habfile(dimY-1-y,x); + if (patchModel) pfloat = pchfile(dimY-1-y,x); + if (costs) cfloat = costfile(dimY-1-y,x); + + if (cells[y][x] != 0) { // not a no data cell (in initial landscape) + if ( R_IsNA(hfloat) ){ // invalid no data cell in change map + return 36; + } + else { + if (hfloat < 0.0 || hfloat > 100.0) { // invalid quality score + return 37; + } + else { + cells[y][x]->setHabitat((float)hfloat); + } + } + if (patchModel) { + if ( R_IsNA(pfloat) ){ + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found patch NA in valid habitat cell." << std::endl; + #endif + return 34; + } + else { + p = (int)pfloat; + if (p < 0 ) { // invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found negative patch ID in valid habitat cell." << std::endl; + #endif + return 34; + } + else { + patchChgMatrix[y][x][2] = p; + if (p > 0 && !existsPatch(p)) { + addPatchNum(p); + newPatch(pchseq++,p); + } + } + } + } + if (costs) { + if ( R_IsNA(cfloat) ){ // invalid cost + return 38; + } + else{ + c = (int)cfloat; + if (c < 1) { // invalid cost + return 38; + } + else { + costsChgMatrix[y][x][2] = c; + } + } + } + } + } + } + break; + + default: + break; + } + + return 0; +} + +#else // RS_THREADSAFE + #if RS_RCPP && !R_CMD int Landscape::readLandChange(int filenum, bool costs, wifstream& hfile, wifstream& pfile, wifstream& cfile, int habnodata, int pchnodata, int costnodata) #else @@ -2119,6 +2320,7 @@ if (cfile.is_open()) { cfile.close(); cfile.clear(); } return 0; } +#endif // RS_THREADSAFE // Create & initialise patch change matrix void Landscape::createPatchChgMatrix(void) @@ -2347,11 +2549,20 @@ costsChgMatrix = 0; // Species distribution functions +#if RS_THREADSAFE +int Landscape::newDistribution(Species *pSpecies, Rcpp::NumericMatrix distname, int spResol) { +#else int Landscape::newDistribution(Species *pSpecies, string distname) { +#endif int readcode; int ndistns = (int)distns.size(); distns.push_back(new InitDist(pSpecies)); +#if RS_THREADSAFE +landOrigin habfile_origin = this->getOrigin(); +readcode = distns[ndistns]->readDistribution(distname,habfile_origin,spResol); +#else readcode = distns[ndistns]->readDistribution(distname); +#endif if (readcode != 0) { // error encountered // delete the distribution created above delete distns[ndistns]; @@ -2453,6 +2664,277 @@ initcells.clear(); // Read landscape file(s) // Returns error code or zero if read correctly +#if RS_THREADSAFE +int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile) { + + if (fileNum < 0) return 19; + + int h,seq,p,ncols,nrows,hc,maxcost = 0; + double hfloat,pfloat,cfloat; + Patch *pPatch; + Cell *pCell; + simParams sim = paramsSim->getSim(); + initParams init = paramsInit->getInit(); + + // initialise landscape size + ncols = habfile.ncol(); + nrows = habfile.nrow(); + dimX = ncols; dimY = nrows; + minX = maxY = 0; + maxX = dimX-1; maxY = dimY-1; + if (fileNum == 0) { + // set initialisation limits to landscape limits + init.minSeedX = init.minSeedY = 0; + init.maxSeedX = maxX; init.maxSeedY = maxY; + paramsInit->setInit(init); + setCellArray(); + } + + seq = 0; // initial sequential patch landscape + p = 0; // initial patch number for cell-based landscape + // create patch 0 - the matrix patch (even if there is no matrix) + if (fileNum == 0) newPatch(seq++,p++); + + switch (rasterType) { + + case 0: // raster with habitat codes - 100% habitat each cell + if (fileNum > 0) return 19; // error condition - should not occur + + for (int y = dimY-1; y >= 0; y--) { + for (int x = 0; x < dimX; x++) { + + // read value from raster cell + hfloat = habfile(dimY-1-y,x); + // check for NA + if ( R_IsNA(hfloat) ) + addNewCellToLand(x,y,-1); // add cell only to landscape + else { + h = (int)hfloat; + // THERE IS AN ANOMALY HERE - CURRENTLY HABITAT 0 IS OK FOR GUI VERSION BUT + // NOT ALLOWED FOR BATCH VERSION (HABITATS MUST BE 1...n) + // SHOULD WE MAKE THE TWO VERSIONS AGREE? ... + if (h < 0 || (sim.batchMode && (h < 1 || h > nHabMax))) { + // invalid habitat code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found invalid habitat code." << std::endl; + #endif + return 13; + } + else { + addHabCode(h); + if (patchModel) { + pfloat = pchfile(dimY-1-y,x); + if ( R_IsNA(pfloat) ) { // invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found patch NA in valid habitat cell." << std::endl; + #endif + return 14; + } + p = (int)pfloat; + if (p < 0 ) { // invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found negative patch ID in valid habitat cell." << std::endl; + #endif + return 14; + } + if (p == 0) { // cell is in the matrix + addNewCellToPatch(0,x,y,h); + } + else { + if (existsPatch(p)) { + pPatch = findPatch(p); + addNewCellToPatch(pPatch,x,y,h); + // addNewCellToPatch(findPatch(p),x,y,h); + } + else { + pPatch = newPatch(seq++,p); + addNewCellToPatch(pPatch,x,y,h); + } + } + } + else { // cell-based model + // add cell to landscape (patches created later) + addNewCellToLand(x,y,h); + } + } + } + } + } + break; + + case 1: // multiple % cover + + for (int y = dimY-1; y >= 0; y--) { + for (int x = 0; x < dimX; x++) { + + hfloat = habfile(dimY-1-y,x); + if (fileNum == 0) { // first habitat cover layer + if ( R_IsNA(hfloat) ) { // check for NA + addNewCellToLand(x,y,-1); // add cell only to landscape + } + else { + if (hfloat < 0.0 || hfloat > 100.0) { // invalid cover score + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found invalid habitat cover score." << std::endl; + #endif + return 17; + } + else { + if (patchModel) { + pfloat = pchfile(dimY-1-y,x); + if ( R_IsNA(pfloat) ) { // invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found patch NA in valid habitat cell." << std::endl; + #endif + return 14; + } + p = (int)pfloat; + if (p < 0 ) { // invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found negative patch ID in valid habitat cell." << std::endl; + #endif + return 14; + } + if (p == 0) { // cell is in the matrix + addNewCellToPatch(0,x,y,(float)hfloat); + } + else { + if (existsPatch(p)) { + pPatch = findPatch(p); + addNewCellToPatch(pPatch,x,y,(float)hfloat); + // addNewCellToPatch(findPatch(p),x,y,(float)hfloat); + } + else { + pPatch = newPatch(seq++,p); + addNewCellToPatch(pPatch,x,y,(float)hfloat); + } + } + } + else { // cell-based model + // add cell to landscape (patches created later) + addNewCellToLand(x,y,(float)hfloat); + } + } + } + } + else { // additional habitat cover layers + if ( !R_IsNA(hfloat) ) { + if (hfloat < 0.0 || hfloat > 100.0) { // invalid cover score + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found invalid habitat cover score." << std::endl; + #endif + return 17; + } + else { + cells[dimY-1-y][x]->setHabitat((float)hfloat); + } + } // end of h != habnodata + } + } + } + habIndexed = true; // habitats are already numbered 1...n in correct order + + break; + + case 2: // habitat quality + if (fileNum > 0) return 19; // error condition - should not occur + + for (int y = dimY-1; y >= 0; y--) { + for (int x = 0; x < dimX; x++) { + + hfloat = habfile(dimY-1-y,x); + if ( R_IsNA(hfloat) ) { // check for NA + addNewCellToLand(x,y,-1); // add cell only to landscape + } + else { + if (hfloat < 0.0 || hfloat > 100.0) { // invalid quality score + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found invalid habitat quality score." << std::endl; + #endif + return 17; + } + else { + if (patchModel) { + pfloat = pchfile(dimY-1-y,x); + if ( R_IsNA(pfloat) ) { // invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found patch NA in valid habitat cell." << std::endl; + #endif + return 14; + } + p = (int)pfloat; + if (p < 0 ) { // invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Found negative patch ID in valid habitat cell." << std::endl; + #endif + return 14; + } + if (p == 0) { // cell is in the matrix + addNewCellToPatch(0,x,y,(float)hfloat); + } + else { + if (existsPatch(p)) { + pPatch = findPatch(p); + addNewCellToPatch(pPatch,x,y,(float)hfloat); + // addNewCellToPatch(findPatch(p),x,y,(float)hfloat); + } + else { + addPatchNum(p); + pPatch = newPatch(seq++,p); + addNewCellToPatch(pPatch,x,y,(float)hfloat); + } + } + } + else { // cell-based model + // add cell to landscape (patches created later) + addNewCellToLand(x,y,(float)hfloat); + } + } + } + } + } + break; + + default: + break; + } // end switch(rasterType) + + + if (sim.batchMode) { + int maxYcost = costfile.nrow(); + int maxXcost = costfile.ncol(); + + if (maxXcost > 0 && maxYcost > 0) { + + for (int y = maxYcost-1; y >= 0; y--){ + for (int x = 0; x < maxXcost; x++){ + + cfloat = pchfile(maxYcost-1-y,x); + if ( !R_IsNA(cfloat) ) { + hc = (int)cfloat; + if ( hc < 1 ) { + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Cost map my only contain values of 1 or higher, but found " << hc << "." << endl; + #endif + return 54; + } + pCell = findCell(x,y); + if (pCell != 0) { // not no-data cell + pCell->setCost(hc); + if (hc > maxcost) maxcost = hc; + } + } + } + } + } + } + + return 0; + +} + +#else // RS_THREADSAFE + #if RS_CONTAIN #if SEASONAL int Landscape::readLandscape(int nseasons,int fileNum,string habfile,string pchfile,string costfile,string dmgfile) @@ -3068,6 +3550,7 @@ if (sim.batchMode) { return 0; } +#endif // RS_THREADSAFE //--------------------------------------------------------------------------- diff --git a/RangeShiftR/src/Landscape.h b/RangeShiftR/src/Landscape.h index faa59da..624d34f 100644 --- a/RangeShiftR/src/Landscape.h +++ b/RangeShiftR/src/Landscape.h @@ -97,6 +97,12 @@ using namespace std; //--------------------------------------------------------------------------- + +struct landOrigin { + double minEast; double minNorth; +}; + + // Initial species distribution class InitDist{ @@ -104,7 +110,13 @@ class InitDist{ InitDist(Species*); ~InitDist(); int readDistribution( +#if RS_THREADSAFE + Rcpp::NumericMatrix, + landOrigin, + int +#else string // name of species distribution file +#endif ); void setDistribution( int // no. of distribution cells to be initialised (0 for all cells) @@ -168,9 +180,6 @@ struct genLandParams { struct landPix { int pix; float gpix; }; -struct landOrigin { - double minEast; double minNorth; -}; struct rasterHdr { bool ok; int errors,ncols,nrows,cellsize; @@ -408,6 +417,14 @@ class Landscape{ short // change number ); void deleteLandChanges(void); +#if RS_THREADSAFE + int readLandChange( + int, // change number + Rcpp::NumericMatrix,// habitat raster + Rcpp::NumericMatrix,// patch raster + Rcpp::NumericMatrix // cost raster + ); +#else #if RS_RCPP && !R_CMD int readLandChange( int, // change file number @@ -425,6 +442,7 @@ class Landscape{ bool // change SMS costs? ); #endif +#endif // RS_THREADSAFE void createPatchChgMatrix(void); void recordPatchChanges(int); void deletePatchChgMatrix(void); @@ -453,7 +471,12 @@ class Landscape{ int newDistribution( Species*, // pointer to Species +#if RS_THREADSAFE + Rcpp::NumericMatrix, + int +#else string // name of initial distribution file +#endif ); void setDistribution( Species*, // pointer to Species @@ -538,6 +561,14 @@ class Landscape{ // functions to handle input and output +#if RS_THREADSAFE + int readLandscape( + int, // no. of seasonss + Rcpp::NumericMatrix,// habitat raster + Rcpp::NumericMatrix,// patch raster + Rcpp::NumericMatrix // cost raster + ); +#else //RS_THREADSAFE #if RS_CONTAIN #if SEASONAL int readLandscape( @@ -596,6 +627,7 @@ class Landscape{ ); #endif // SEASONAL #endif // RS_CONTAIN +#endif // RS_THREADSAFE void listPatches(void); int readCosts( string // costs file name diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index dda71f2..e5aa721 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -715,15 +715,46 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) ppGenLand.minPct = 1; ppGenLand.maxPct = 100; } + } else { // imported raster map + ppLand.landNum = Rcpp::as(LandParamsR.slot("LandNum")); ppLand.nHab = Rcpp::as(LandParamsR.slot("Nhabitats")); // no longer necessary to read no. of habitats from landFile + if(landtype == 2) ppLand.nHab = 1; // habitat quality landscape has one habitat class Rcpp::IntegerVector dynland_years; - Rcpp::StringVector habitatmaps, patchmaps, costmaps; dynland_years = Rcpp::as(LandParamsR.slot("DynamicLandYears")); if(dynland_years.size() == 1 && dynland_years[0] == 0 ) ppLand.dynamic = false; else ppLand.dynamic = true; + +#if RS_THREADSAFE +// Rcpp::S4 habitatmaps("RasterStack"); +// Rcpp::S4 patchmaps("RasterStack"); +// Rcpp::S4 costmaps("RasterStack"); +// Rcpp::S4 spdistmap("RasterStack"); + Rcpp::List habitatmaps; + Rcpp::List patchmaps; + Rcpp::List costmaps; + Rcpp::List spdistmap; + habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); + patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); + costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); + spdistmap = Rcpp::as(LandParamsR.slot("SpDistFile")); +// name_landscape = Rcpp::as(habitatmaps.slot("filename")); +// name_patch = Rcpp::as(patchmaps.slot("filename")); +// name_costfile = Rcpp::as(costmaps.slot("filename")); +// name_sp_dist = Rcpp::as(spdistmap.slot("filename")); + if(!patchmodel && patchmaps.size() != 0) Rcpp::Rcout << "PatchFile must be empty in a cell-based model!" << endl; + + // new slot for coordinates of lower left corner + Rcpp::NumericVector origin_coords; + origin_coords = Rcpp::as(LandParamsR.slot("OriginCoords")); + landOrigin origin; + origin.minEast = origin_coords[0]; + origin.minNorth = origin_coords[1]; + pLandscape->setOrigin(origin); +#else + Rcpp::StringVector habitatmaps, patchmaps, costmaps; if(ppLand.dynamic) { habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); @@ -736,9 +767,11 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) name_patch = Rcpp::as(LandParamsR.slot("PatchFile")); name_costfile = Rcpp::as(LandParamsR.slot("CostsFile")); } + name_sp_dist = Rcpp::as(LandParamsR.slot("SpDistFile")); + if(!patchmodel && name_patch != "NULL") Rcpp::Rcout << "PatchFile must be NULL in a cell-based model!" << endl; +#endif // RS_THREADSAFE - name_sp_dist = Rcpp::as(LandParamsR.slot("SpDistFile")); #if RS_CONTAIN name_damage = Rcpp::as(LandParamsR.slot("DamageFile")); #endif // RS_CONTAIN @@ -747,8 +780,85 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) name_mort2 = Rcpp::as(LandParamsR.slot("MortFile2")); #endif // SPATIALMORT - if(landtype == 2) - ppLand.nHab = 1; // habitat quality landscape has one habitat class +#if RS_THREADSAFE + if(patchmaps.size() == 0) { + if(patchmodel) { + BatchErrorR("LandFile", -999, 0, " "); + errors++; + Rcpp::Rcout << "PatchFile" << msgpatch << endl; + } + } + if (costmaps.size() == 0) { + if (transfer == 1) { // SMS + if (landtype == 2) { // habitat quality + BatchErrorR("LandFile", -999, 0, " "); + errors++; + Rcpp::Rcout << "CostsFile is required for a habitat quality landscape" << endl; + } + } + }else{ + if (transfer != 1) { // not SMS + BatchErrorR("LandFile", -999, 0, " "); + errors++; + Rcpp::Rcout << "CostsFile must be NULL if transfer model is not SMS" << endl; + } + } + if(ppLand.dynamic) { + int nlayers_hab; + nlayers_hab = habitatmaps.size(); + // check valid years + if(dynland_years[0]!=0) { + errors++; + Rcpp::Rcout << "First year in dynamic landscape must be 0." << endl; + } else { + for(int i=1; i= dynland_years[i]) { + errors++; + Rcpp::Rcout << "Years in dynamic landscape must strictly increase." << endl; + } + } + } + if(dynland_years.size() != nlayers_hab) { + errors++; + Rcpp::Rcout << "Dynamic landscape: Years must have as many elements as habitat maps." << endl; + } + if(patchmodel) { + if( dynland_years.size() != patchmaps.size() || nlayers_hab != patchmaps.size() ) { + errors++; + Rcpp::Rcout << "Dynamic landscape: Patchmaps must have as many elements as Years and habitat maps." << endl; + } + } + if (costmaps.size() != 0) { + if( dynland_years.size() != costmaps.size() || nlayers_hab != costmaps.size() ) { + errors++; + Rcpp::Rcout << "Dynamic landscape: Costmaps must have as many elements as Years and habitat maps." << endl; + } + } + if(errors==0) { + // store land changes + landChange chg; + for(int i=1; iaddLandChange(chg); + } + } + } // end dynamic landscapes + + if(spdistmap.size() == 0) { + if(speciesdist) { + BatchErrorR("LandFile", -999, 0, " "); + errors++; + Rcpp::Rcout << "Species Distribution map file is required as SpeciesDist is 1 in Control" << endl; + } + } + +#else //RS_THREADSAFE // CHECK IMPORTED RASTER FILES string indir = paramsSim->getDir(1); @@ -895,7 +1005,7 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) for(int i=1; i= dynland_years[i]) { errors++; - Rcpp::Rcout << "Year in dynamic landscape must strictly increase." << endl; + Rcpp::Rcout << "Years in dynamic landscape must strictly increase." << endl; } } } @@ -932,7 +1042,7 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) pLandscape->addLandChange(chg); } } - } + } // end dynamic landscapes // check initial distribution map filename ftype = "Species Distribution map"; @@ -994,7 +1104,7 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) FormatErrorR(fname, spdistraster.errors); } } - } + } // end species dist map #if RS_CONTAIN // check economic / environmental damage map filename /* *** not implemented in R-version @@ -1086,7 +1196,9 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) }*/ #endif // SPATIALMORT - } +#endif // RS_THREADSAFE + + } // end else (imported raster map) pLandscape->setLandParams(ppLand, true); pLandscape->setGenLandParams(ppGenLand); @@ -1102,6 +1214,71 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) //--------------------------------------------------------------------------- +#if RS_THREADSAFE +int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) +{ + Rcpp::List habitatmaps; + Rcpp::List patchmaps; + Rcpp::List costmaps; + Rcpp::NumericMatrix hraster( 0 ); + Rcpp::NumericMatrix praster( 0 ); + Rcpp::NumericMatrix craster( 0 ); + + habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); + if (patchmodel) { + patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); + } + bool costs = false; + costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); + if (costmaps.size() > 0) costs = true; + + //------------ int ParseDynamicFile(string indir) { + + int errors = 0; + + if (patchmodel) { + pLandscape->createPatchChgMatrix(); + } + if (costs) { + pLandscape->createCostsChgMatrix(); + } + + for(int i=1; i < habitatmaps.size(); i++ ) { + // Now read raster data of Habitat and, if applicable, Patch and/or Cost maps: + int imported = 0; + + hraster = Rcpp::as(habitatmaps[i]); + if (patchmodel) praster = Rcpp::as(patchmaps[i]); + if (costs) praster = Rcpp::as(costmaps[i]); + + if (errors == 0) { + imported = pLandscape->readLandChange(i-1, hraster, praster, craster); + if (imported != 0) { + return imported; + } + if (patchmodel) { + pLandscape->recordPatchChanges(i); + } + if (costs) { + pLandscape->recordCostChanges(i); + } + } + } // end of loop over landscape changes i + + if(patchmodel) { + // record changes back to original landscape for multiple replicates + pLandscape->recordPatchChanges(0); + pLandscape->deletePatchChgMatrix(); + } + if (costs) { + pLandscape->recordCostChanges(0); + pLandscape->deleteCostsChgMatrix(); + } + return 0; +} + +#else // RS_THREADSAFE + int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) { @@ -1118,7 +1295,6 @@ int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); if (costmaps(0) != "NULL") costs = true; - //------------ int ParseDynamicFile(string indir) { string indir = paramsSim->getDir(1); @@ -1487,6 +1663,7 @@ int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) return 0; } +#endif // RS_THREADSAFE //--------------------------------------------------------------------------- @@ -3908,6 +4085,7 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) // int batch_line = 0; string name = paramsSim->getDir(2) + "Batch" + Int2Str(sim.batchNum) + "_RS_log.csv"; +#if !RS_THREADSAFE if(rsLog.is_open()) { rsLog.close(); rsLog.clear(); @@ -3926,6 +4104,7 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) #if GROUPDISP || RS_ABC || RS_RCPP rsLog << "RNG SEED,,,," << RS_random_seed << endl; #endif +#endif //!RS_THREADSAFE // loop over landscpaes @@ -3947,7 +4126,9 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) land_nr = j; // TODO: ReadLandParamsR() is supposed to return land_nr; this is a temporary replacement if(!landOK) { +#if !RS_THREADSAFE rsLog << "Error reading landscape ASCII haeders - aborting" << endl; +#endif Rcpp::Rcout << "Error reading landscape ASCII haeders - aborting" << endl; } else { @@ -3982,6 +4163,65 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) pLandscape->setLandParams(paramsLand, sim.batchMode); if(landtype != 9) { // imported landscape + +#if RS_THREADSAFE + Rcpp::S4 LandParamsR("LandParams"); + LandParamsR = Rcpp::as(ParMaster.slot("land")); + + Rcpp::List habitatmaps; + Rcpp::List patchmaps; + Rcpp::List costmaps; + Rcpp::List spdistmap; + Rcpp::NumericMatrix hraster( 0 ); + Rcpp::NumericMatrix praster( 0 ); + Rcpp::NumericMatrix craster( 0 ); + + habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); + hraster = Rcpp::as(habitatmaps[0]); + if (patchmodel) { + patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); + praster = Rcpp::as(patchmaps[0]); + } + costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); + if (costmaps.size() > 0) craster = Rcpp::as(costmaps[0]); + + int landcode; + landcode = pLandscape->readLandscape(0, hraster, praster, craster); + + if(landcode != 0) { + Rcpp::Rcout << endl << "Error reading landscape " << land_nr << " - aborting" << endl; + landOK = false; + } + if(paramsLand.dynamic) { + landcode = ReadDynLandR(pLandscape, LandParamsR); + if(landcode != 0) { + Rcpp::Rcout << endl << "Error reading landscape " << land_nr << " - aborting" << endl; + landOK = false; + } + } + if(landtype == 0) { + pLandscape->updateHabitatIndices(); + } + // species distribution + if(paramsLand.spDist) { // read initial species distribution + // WILL NEED TO BE CHANGED FOR MULTIPLE SPECIES ... + + spdistmap = Rcpp::as(LandParamsR.slot("SpDistFile")); + landcode = pLandscape->newDistribution(pSpecies, Rcpp::as(spdistmap[0]), distresolution); + if(landcode == 0) { + } else { + Rcpp::Rcout << endl + << "Error reading initial distribution for landscape " << land_nr << " - aborting" + << endl; + landOK = false; + } + } + paramsSim->setSim(sim); + + if(landOK) t01 = time(0); + +#else // RS_THREADSAFE + string hname = paramsSim->getDir(1) + name_landscape; int landcode; string cname; @@ -4058,6 +4298,8 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) } // end of landOK condition +#endif // RS_THREADSAFE + } // end of imported landscape } if(landOK) { @@ -4080,7 +4322,9 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) read_error = ReadParametersR(pLandscape, ParMaster); simParams sim = paramsSim->getSim(); if(read_error) { + #if !RS_THREADSAFE rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; + #endif params_ok = false; } if(stagestruct) { @@ -4088,17 +4332,23 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) } read_error = ReadEmigrationR(ParMaster); if(read_error) { + #if !RS_THREADSAFE rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; + #endif params_ok = false; } read_error = ReadTransferR(pLandscape, ParMaster); if(read_error) { + #if !RS_THREADSAFE rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; + #endif params_ok = false; } read_error = ReadSettlementR(ParMaster); if(read_error) { + #if !RS_THREADSAFE rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; + #endif params_ok = false; } if(params_ok) { @@ -4113,7 +4363,9 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) if (anyIndVar || Rcpp::as(GeneParamsR.slot("Architecture")) == 1) { read_error = ReadGeneticsR(GeneParamsR); if(read_error) { + #if !RS_THREADSAFE rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; + #endif params_ok = false; } } else { @@ -4132,7 +4384,9 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) } read_error = ReadInitialisationR(pLandscape, ParMaster); if(read_error) { + #if !RS_THREADSAFE rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; + #endif params_ok = false; } #if VIRTUALECOLOGIST @@ -4143,7 +4397,9 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) paramsSim->setVirtEcol(true); read_error = ReadVirtEcol(1); if(read_error) { + #if !RS_THREADSAFE rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; + #endif params_ok = false; } } @@ -4171,7 +4427,9 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) MemoLine(("Starting simulation " + Int2Str(sim.simulation) + "...").c_str()); // for batch processing, include landscape number in parameter file name +#if !RS_THREADSAFE OutParameters(pLandscape); +#endif // run the model list_outPop = RunModel(pLandscape, i); @@ -4184,8 +4442,10 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) #endif // RS_ABC t01 = time(0); +#if !RS_THREADSAFE rsLog << msgsim << sim.simulation << "," << sim.reps << "," << sim.years << "," << t01 - t00 << endl; +#endif } // end of if (params_ok) else { Rcpp::Rcout << endl << "Error in reading parameter file(s)... see RS log." << endl; @@ -4218,12 +4478,14 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) // Write performance data to log file t1 = time(0); +#if !RS_THREADSAFE rsLog << endl << "Batch,,,," << t1 - t0 << endl; if(rsLog.is_open()) { rsLog.close(); rsLog.clear(); } +#endif return list_outPop; } @@ -4405,6 +4667,15 @@ rasterdata ParseRasterHead(string file) //---------------------------------------------------------------------------------------------- +#if !RS_THREADSAFE + +int ReadInitIndsFileR(int option, Landscape* pLandscape) +{ + +} + +#else + int ReadInitIndsFileR(int option, Landscape* pLandscape) { landParams paramsLand = pLandscape->getLandParams(); @@ -4619,6 +4890,7 @@ int ReadInitIndsFileR(int option, Landscape* pLandscape) } return -1; } +#endif // RS_THREADSAFE //--------------------------------------------------------------------------- diff --git a/RangeShiftR/src/Version.h b/RangeShiftR/src/Version.h index dc3efb6..bbbd1da 100644 --- a/RangeShiftR/src/Version.h +++ b/RangeShiftR/src/Version.h @@ -42,4 +42,14 @@ #define RS_EMBARCADERO 0 //--------------------------------------------------------------------------- + +#define RS_THREADSAFE 0 + #if RS_THREADSAFE + #define RS_RCPP 1 + #define RSDEBUG 0 + #endif // RS_THREADSAFE + +//--------------------------------------------------------------------------- + + #endif From 4aba706083ce04cc3a23d685cd2c4f44dc78e080 Mon Sep 17 00:00:00 2001 From: malchowa Date: Mon, 18 Oct 2021 20:17:36 +0200 Subject: [PATCH 02/35] fix some small errors --- RangeShiftR/R/class_LandParams.R | 24 ++++++++++++------------ RangeShiftR/src/Landscape.cpp | 4 ++-- RangeShiftR/src/Version.h | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/RangeShiftR/R/class_LandParams.R b/RangeShiftR/R/class_LandParams.R index ce75872..f0c3a0c 100644 --- a/RangeShiftR/R/class_LandParams.R +++ b/RangeShiftR/R/class_LandParams.R @@ -517,25 +517,25 @@ setValidity("ImportedLandscape", function(object) { } else { if (object@SpDistResolution < object@Resolution) { - msg <- c(msg, "Resolution of Species distribution may not be less than Landscape Resolution.") + msg <- c(msg, "Resolution of species distribution may not be less than landscape resolution.") } else { if (object@SpDistResolution %% object@Resolution) { msg <- c(msg, "SpDistResolution must be an integer multiple of Resolution.") } - } - else { - if (length(object@SpDistFile) != 1) { - msg <- c(msg, "Species distribution list can only contain exactly one map.") - } else { - if( class(object@SpDistFile[[1]])[1] != "matrix") { - msg <- c(msg, "Species distribution must be of class matrix.") + if (length(object@SpDistFile) != 1) { + msg <- c(msg, "Species distribution list can only contain exactly one map.") } - else{ - coarse <- object@SpDistResolution / object@Resolution - if( (ncol(object@SpDistFile[[1]]) != ceiling(land_ncol/coarse)) || (nrow(object@SpDistFile[[1]]) != ceiling(land_nrow/coarse)) ){ - msg <- c(msg, "Extent of CostsFile must match thaat of the LandscapeFile map.") + else { + if( class(object@SpDistFile[[1]])[1] != "matrix") { + msg <- c(msg, "Species distribution must be of class matrix.") + } + else{ + coarse <- object@SpDistResolution / object@Resolution + if( (ncol(object@SpDistFile[[1]]) != ceiling(land_ncol/coarse)) || (nrow(object@SpDistFile[[1]]) != ceiling(land_nrow/coarse)) ){ + msg <- c(msg, "Extent of CostsFile must match thaat of the LandscapeFile map.") + } } } } diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index 4d16c25..6178f97 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -2909,12 +2909,12 @@ int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::Num for (int y = maxYcost-1; y >= 0; y--){ for (int x = 0; x < maxXcost; x++){ - cfloat = pchfile(maxYcost-1-y,x); + cfloat = costfile(maxYcost-1-y,x); if ( !R_IsNA(cfloat) ) { hc = (int)cfloat; if ( hc < 1 ) { #if RS_RCPP && !R_CMD - Rcpp::Rcout << "Cost map my only contain values of 1 or higher, but found " << hc << "." << endl; + Rcpp::Rcout << "Cost map may only contain values of 1 or higher, but found " << hc << "." << endl; #endif return 54; } diff --git a/RangeShiftR/src/Version.h b/RangeShiftR/src/Version.h index bbbd1da..425243d 100644 --- a/RangeShiftR/src/Version.h +++ b/RangeShiftR/src/Version.h @@ -43,7 +43,7 @@ //--------------------------------------------------------------------------- -#define RS_THREADSAFE 0 +#define RS_THREADSAFE 1 #if RS_THREADSAFE #define RS_RCPP 1 #define RSDEBUG 0 From 0c54d458ac77586b41256b6205ad0d3d04538340 Mon Sep 17 00:00:00 2001 From: malchowa Date: Tue, 19 Oct 2021 11:21:18 +0200 Subject: [PATCH 03/35] get dynamic landscapes as raster matrices from R --- RangeShiftR/src/Landscape.cpp | 2 +- RangeShiftR/src/Rinterface.cpp | 29 +++++++++++++++++------------ 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index 6178f97..4d355c5 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -1789,7 +1789,7 @@ int Landscape::readLandChange(int filenum, Rcpp::NumericMatrix habfile, Rcpp::Nu if (filenum < 0) return 19; - int h = 0,p = 0,c = 0, pchseq = 0; + int h = 0, p = 0, c = 0, pchseq = 0; double hfloat = 0,pfloat = 0,cfloat = 0; bool costs = false; if(costfile.nrow()>0 && costfile.ncol()>0) costs = true; diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index e5aa721..e276d5c 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -1220,17 +1220,17 @@ int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) Rcpp::List habitatmaps; Rcpp::List patchmaps; Rcpp::List costmaps; - Rcpp::NumericMatrix hraster( 0 ); - Rcpp::NumericMatrix praster( 0 ); - Rcpp::NumericMatrix craster( 0 ); + Rcpp::NumericMatrix hraster; + Rcpp::NumericMatrix praster; + Rcpp::NumericMatrix craster; habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); - if (patchmodel) { - patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); - } + if (patchmodel) patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); + else praster = Rcpp::NumericMatrix(0); bool costs = false; costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); if (costmaps.size() > 0) costs = true; + else craster = Rcpp::NumericMatrix(0); //------------ int ParseDynamicFile(string indir) { @@ -1249,7 +1249,7 @@ int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) hraster = Rcpp::as(habitatmaps[i]); if (patchmodel) praster = Rcpp::as(patchmaps[i]); - if (costs) praster = Rcpp::as(costmaps[i]); + if (costs) craster = Rcpp::as(costmaps[i]); if (errors == 0) { imported = pLandscape->readLandChange(i-1, hraster, praster, craster); @@ -4172,18 +4172,23 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) Rcpp::List patchmaps; Rcpp::List costmaps; Rcpp::List spdistmap; - Rcpp::NumericMatrix hraster( 0 ); - Rcpp::NumericMatrix praster( 0 ); - Rcpp::NumericMatrix craster( 0 ); habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); - hraster = Rcpp::as(habitatmaps[0]); + Rcpp::NumericMatrix hraster = Rcpp::as(habitatmaps[0]); + + Rcpp::NumericMatrix praster; if (patchmodel) { patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); praster = Rcpp::as(patchmaps[0]); } + else{ + praster = Rcpp::NumericMatrix(0); + } + + Rcpp::NumericMatrix craster; costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); - if (costmaps.size() > 0) craster = Rcpp::as(costmaps[0]); + if (costmaps.size() > 0) Rcpp::NumericMatrix craster = Rcpp::as(costmaps[0]); + else craster = Rcpp::NumericMatrix(0); int landcode; landcode = pLandscape->readLandscape(0, hraster, praster, craster); From 77d2c4b5d276b1a622403a6e5d69c320fb2e98cb Mon Sep 17 00:00:00 2001 From: malchowa Date: Tue, 19 Oct 2021 15:22:16 +0200 Subject: [PATCH 04/35] give initial inds list as data.frame from R --- RangeShiftR/R/class_InitialisationParams.R | 37 +++-- RangeShiftR/man/ImportedLandscape.Rd | 56 +++---- RangeShiftR/man/Initialise.Rd | 17 +- RangeShiftR/man/SMS.Rd | 2 +- RangeShiftR/man/createODD.Rd | 19 +++ RangeShiftR/src/Rinterface.cpp | 171 ++++++++++++++++++++- RangeShiftR/src/Rinterface.h | 4 + 7 files changed, 258 insertions(+), 48 deletions(-) create mode 100644 RangeShiftR/man/createODD.Rd diff --git a/RangeShiftR/R/class_InitialisationParams.R b/RangeShiftR/R/class_InitialisationParams.R index d2147a2..2fe5935 100644 --- a/RangeShiftR/R/class_InitialisationParams.R +++ b/RangeShiftR/R/class_InitialisationParams.R @@ -37,13 +37,15 @@ #' #' @include plotProbs.R #' @include Rfunctions.R -#' @usage Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, InitIndsFile = "NULL", -#' InitDens = 1, IndsHaCell, PropStages = 0, InitAge = 2, minX, minY, maxX, maxY, -#' InitFreezeYear = 0, RestrictRows = 0, RestrictFreq = 0, FinalFreezeYear = 0) +#' @usage Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, +#' InitIndsFile = "NULL", InitIndsList = data.frame(), +#' InitDens = 1, IndsHaCell, PropStages = 0, InitAge = 2, +#' minX, minY, maxX, maxY, InitFreezeYear = 0, +#' RestrictRows = 0, RestrictFreq = 0, FinalFreezeYear = 0) #' @param InitType Type of initialisation:\cr #' \code{InitType} = \eqn{0}: Free initialisation according to habitat map (default) (set \code{FreeType}), \cr #' \code{InitType} = \eqn{1}: From loaded species distribution map (set \code{SpType}),\cr -#' \code{InitType} = \eqn{2}: From initial individuals list file (set \code{InitIndsFile}). +#' \code{InitType} = \eqn{2}: From initial individuals list file (set \code{InitIndsFile} or \code{InitIndsList}, respectively). #' \cr Must to be \eqn{0} for an \code{\link[RangeShiftR]{ArtificialLandscape}}. #' @param FreeType,NrCells Option for \emph{free initialisation}, i.e. required only if \code{InitType}\eqn{ = 0}:\cr #' \code{FreeType} = \eqn{0}: Random; provide number of cells/patches to initialise in \code{NrCells}. \cr @@ -53,6 +55,7 @@ #' \code{SpType} = \eqn{1}: All suitable cells within some randomly chosen presence cells; set number of cells to initialise in \code{NrCells}. #' @param InitIndsFile Name of \emph{initial individuals list file}, required only if \code{InitType}\eqn{ = 2}.\cr #' For informaton on the required file format see the Details below. +#' @param InitIndsList The list of initial individuals given as data.frame (instead of as file name in \code{InitIndsFile}), using the same format (see Details). #' @param InitDens,IndsHaCell Number of individuals to be seeded in each cell/patch:\cr #' \code{InitDens} = \eqn{0}: At \code{K_or_DensDep},\cr #' \code{InitDens} = \eqn{1}: At half \code{K_or_DensDep} (default),\cr @@ -85,7 +88,8 @@ #' (\code{SpType}\eqn{=1}) presence cells (which can have a lower resolution) specified by this distribution map will seeded. #' \item \emph{From initial individuals list file.} (\code{InitType}\eqn{ = 2})\cr The population is initialised according to a list of specific #' individuals (of given sex, age and stage, if appropriate) in specified cells/patches. This option allows simulation of a reintroduction -#' scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile}. It must be a tab-separated list with +#' scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile} or given as dataframe in \code{InitIndsList}. +#' It must be a tab-separated list with #' explicit column headers and one row for each individual to be initialized. The expected column headers depend on the model settings and #' must match the following order exactly: 'Year', 'Species' (must \eqn{= 0}), for cell-/patch-based: 'X', 'Y' / 'PatchID', 'Ninds', for sexual model: 'Sex', #' for stage-structured population: 'Age', 'Stage'. The sex is specified with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. @@ -103,7 +107,7 @@ #' (These settings have no effect for \code{InitType}\eqn{ = 2}.) #' #' In the case of \code{\link[RangeShiftR]{StageStructure}}d models, the initial stage and age distributions must be specified. -#' If \code{InitType}\eqn{ = 2}, this is done via the \code{InitIndsFile}, whereas for \code{InitType}\eqn{ = {0,1}}, +#' If \code{InitType}\eqn{ = 2}, this is done via the \code{InitIndsFile} or \code{InitIndsList}, whereas for \code{InitType}\eqn{ = {0,1}}, #' the proportion of individuals that should be initialised at each stage class is set via the numeric vector \code{PropStages}. It needs #' to have as many entries as number of stages, starting from the juvenile stage (\eqn{0}). Note that these proportions must sum up to \eqn{1.0}, #' however the proportion of juveniles must be \eqn{0.0}. @@ -162,6 +166,7 @@ Initialise <- setClass("InitialisationParams", slots = c(InitType = "integer_OR_ SpType = "integer_OR_numeric", NrCells = "integer_OR_numeric", InitIndsFile = "character", + InitIndsList = "data.frame", InitDens = "integer_OR_numeric", IndsHaCell = "integer_OR_numeric", PropStages = "numeric", @@ -179,6 +184,7 @@ Initialise <- setClass("InitialisationParams", slots = c(InitType = "integer_OR_ SpType = 0L, #all #NrCells, InitIndsFile = "NULL", + InitIndsList = data.frame(), InitDens = 1L, #K/2 #IndsHaCell, PropStages = 0.0, @@ -195,6 +201,9 @@ Initialise <- setClass("InitialisationParams", slots = c(InitType = "integer_OR_ setValidity('InitialisationParams', function(object){ msg <- NULL + if (length(object@InitIndsFile) != 1){ + msg <- c(msg, 'InitIndsFile must contain exactly one element.') + } if (is.na(object@InitType) || length(object@InitType)!=1){ msg <- c(msg, 'Type of initialisation (InitType) must be set and of length 1!') } @@ -297,8 +306,13 @@ setValidity('InitialisationParams', function(object){ } } if (object@InitType == 2){ # Init IndsList - if (object@InitIndsFile == "NULL"){ - msg <- c(msg, 'InitIndsFile is required if InitType = 2 (from loaded initial individuals list).') + if (object@InitIndsFile == "NULL" & length(object@InitIndsList)==0){ + msg <- c(msg, 'InitIndsFile or InitIndsList is required if InitType = 2 (from loaded initial individuals list).') + } + else { + if (object@InitIndsFile != "NULL" & length(object@InitIndsList)!=0){ # both are given + msg <- c(msg, 'Both InitIndsFile and InitIndsList are given, but only one can be used.') + } } } } @@ -417,9 +431,13 @@ setMethod('initialize', 'InitialisationParams', function(.Object, ...) { } else{ .Object@InitIndsFile = "NULL" + .Object@InitIndsList = data.frame() if (!is.null(args$InitIndsFile)) { warning(this_func, "InitIndsFile", warn_msg_ignored, "since InitType != 2.", call. = FALSE) } + if (!is.null(args$InitIndsList)) { + warning(this_func, "InitIndsList", warn_msg_ignored, "since InitType != 2.", call. = FALSE) + } } if (!((.Object@InitType == 0 && .Object@FreeType == 0) || (.Object@InitType == 1 && .Object@SpType == 1))) { .Object@NrCells = -9L @@ -505,7 +523,8 @@ setMethod("show", "InitialisationParams", function(object){ else{cat(" all presence cells/patches.")} } if (object@InitType == 2) { - cat("Initialisation from initial individuals list\n from file:",object@InitIndsFile) + if (object@InitIndsFile != "NULL") cat("Initialisation from initial individuals list\n from file:",object@InitIndsFile) + if (length(object@InitIndsList) != 0) cat("Initialisation from initial individuals list given as data.frame") } cat("\n") diff --git a/RangeShiftR/man/ImportedLandscape.Rd b/RangeShiftR/man/ImportedLandscape.Rd index 2e2cc81..26d349f 100644 --- a/RangeShiftR/man/ImportedLandscape.Rd +++ b/RangeShiftR/man/ImportedLandscape.Rd @@ -5,18 +5,22 @@ \alias{ImportedLandscape} \title{Import a Landscape from file} \usage{ -ImportedLandscape(LandscapeFile, Resolution = 100, HabPercent = FALSE, - Nhabitats, K_or_DensDep = 10, - PatchFile = "NULL", - CostsFile = "NULL", +ImportedLandscape(LandscapeFile, + Resolution = 100, OriginCoords = c(0,0), + HabPercent = FALSE, Nhabitats, + K_or_DensDep = 10, + PatchFile = list(), + CostsFile = list(), DynamicLandYears = 0, - SpDistFile = "NULL", SpDistResolution) + SpDistFile = list(), SpDistResolution) } \arguments{ -\item{LandscapeFile}{Filename(s) of the landscape habitat map(s) which shall be imported from the Inputs-folder. See the Details for information on the required format.} +\item{LandscapeFile}{List of matrices of the landscape habitat raster(s); contains each cells' habitat suitability or land cover index.} \item{Resolution}{Cell size in meters, defaults to \eqn{100}. (integer)} +\item{OriginCoords}{X- and Y-coordinates of the map origin given in meters as a vector of length 2.} + \item{HabPercent}{If \code{FALSE} (default), unique integer habitat codes are expected in the imported map to characterise the habitat of each cell. This requires to set \code{Nhabitats}. \cr If \code{TRUE}, continuous values are expected, ranging from \eqn{0.0} to \eqn{100.0}, that represent percentages of habitat cover or quality.\cr Make sure your imported landscape file uses the specified standard (see Details below).} @@ -31,15 +35,15 @@ The expected format:\cr If \code{HabPercent=FALSE}: a vector of length \code{Nhabitats}, specifying the respective \code{K_or_DensDep} for every habitat code.\cr If \code{HabPercent=TRUE}: \code{K_or_DensDep} is interpreted as the maximum \code{K_or_DensDep} reached in cells with \eqn{100}\% habitat. All other cells hold the respective fraction of \eqn{K_or_DensDep}.} -\item{PatchFile}{Filename(s) of the patch map(s) which shall be imported, default is \code{NULL}.} +\item{PatchFile}{List of matrices of the patch raster(s); contains each cells' patch index.} -\item{CostsFile}{Filename(s) of the SMS cost map(s) which shall be imported, default is \code{NULL}.} +\item{CostsFile}{List of matrices of the SMS cost raster(s); contains each cells' SMS cost.} \item{DynamicLandYears}{Integer vector indicating the years of landscape changes. For a non-dynamic landscape its only entry is \eqn{0} (default). For a dynamic landscape, \code{DynamicLandYears} lists the years in which the corresponding habitat maps in \code{LandscapeFile} and - if applicable - their respective patch and/or costs -maps (in \code{PatchFile},\code{CostsFile}) are loaded and used in the simulation. More details below.} +maps (in \code{PatchFile},\code{CostsFile}) are used in the simulation. More details below.} -\item{SpDistFile}{Filename of the species initial distribution map which shall be imported (*.txt). Default is \code{NULL}.} +\item{SpDistFile}{List of one matrix containing the species' initial distribution raster.} \item{SpDistResolution}{Required if \code{SpDistFile} is given: Cell size of the distribution map in meters. (integer) Must be an integer multiple of the landscape resolution.} } @@ -47,8 +51,8 @@ maps (in \code{PatchFile},\code{CostsFile}) are loaded and used in the simulatio A parameter object of class ImportedLandscape } \description{ -Provide the filename(s) (\code{LandscapeFile}) of the map(s) to be imported, their -resolution and, if applicable, the number of habitat codes (\code{Nhabitats}) +Provide the matrices of the map(s) to be imported, their resolution, +origin coordinates and, if applicable, the number of habitat codes (\code{Nhabitats}) as well as their respective demographic density dependence (\code{K_or_DensDep}). For a dynamic landscape, the year in which each landscape is loaded has to be provided. @@ -59,15 +63,7 @@ Other, optional input maps are:\cr - a distribution map to define an initial species distribution. } \details{ -\emph{RangeShiftR} requires every input map to be a text file in ESRI ASCII raster format, which has the following six header lines: -\tabular{ll}{\code{ncols} \tab Number of columns \cr -\code{nrows} \tab Number of rows \cr -\code{xllcorner} \tab x-coordinate (longitude) of the lower-left corner \cr -\code{yllcorner} \tab y-coordinate (latitude) of the lower-left corner \cr -\code{cellsize} \tab Resolution (in meters) \cr -\code{NODATA_value} \tab Value for cells having missing data (usually -9999) } - -The rest of the file is a grid containing a value for each cell, one line per row. \code{RangeShiftR} can read-in two different types of habitat maps:\cr +The \code{LandscapeFile} can be of one of two different types:\cr \itemize{ \item \emph{Raster with habitat codes} (\code{HabPercent=FALSE})\cr In this option each habitat or land-cover type has a unique integer code. Each cell in the file contains a single habitat code and \eqn{100} percent coverage is assumed for the cell. The landscape is therefore composed of discrete habitat cells. The codes are required to be sequential integers starting from \eqn{1} and ranging to \code{Nhabitats}.\cr \item \emph{Raster with habitat quality} (\code{HabPercent=TRUE})\cr Each cell in the landscape is assigned a continuous percentage value between \eqn{0.0} and \eqn{100.0} of the maximum \code{K_or_DensDep}. There are no explicit habitat or land-cover types. This allows integrating different methods for calculating the habitat suitability for a given species. For example, qualities can result from @@ -75,20 +71,24 @@ The rest of the file is a grid containing a value for each cell, one line per ro Therefore, the quality should be scaled accordingly in case of a curvilinear relationship. } +\code{OriginCoords} is the map origin given as a vector of length 2 where the first entry is the x-coordinate (longitude) of the lower-left corner and +the second entry is the y-coordinate (latitude) of the lower-left corner.\cr + \emph{Patch map} \cr -The simulation can be run as a \emph{patch-based model} on the same habitat map described above. An additional file must be provided through \code{PatchFile}: a raster map of the same landscape, where +The simulation can be run as a \emph{patch-based model} on the same habitat map described above. An additional matrix must be provided through \code{PatchFile}: a raster map of the same landscape, where each cell contains the ID number of the patch to which it belongs. Each patch must have a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. \emph{Costs layer} \cr Only used if the simulation is run with \code{\link[RangeShiftR]{SMS}} as its transfer module and the landscapes resistance to movement is given via a costs raster map (see argument \code{Costs} in \code{SMS()}). -In this case, the specified map has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being \eqn{1}. -Importing a cost layer is the only option when the landscape comprises habitat coverage or quality. +In this case, the specified raster has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being \eqn{1}. +Using a cost layer is the only option when the landscape comprises habitat coverage or quality. \emph{Initial distribution} \cr -A \emph{species distribution map} can be overlaid on top of the habitat map and can be used to define an initial distribution. The map is provided through \code{SpDistFile} must be in raster format and be aligned with the landscape map, i.e. the coordinates of the lower-left corner must be the same. The extent of the map does not have to be necessarily -the same as the landscape. The resolution can be the same or coarser, provided that it is a multiple of the landscape resolution. For example, if the landscape cell size is \eqn{250m}, the species distribution can be at the resolution of \eqn{250m}, \eqn{500m}, \eqn{750m}, \eqn{1000m} etc. +A \emph{species distribution map} can be overlaid on top of the habitat map and can be used to define an initial distribution. The raster matrix is provided through \code{SpDistFile} must be aligned with the landscape +map, i.e. the coordinates of the lower-left corner must be the same. The resolution can be the same or coarser, provided that it is a multiple of the landscape resolution. For example, if the landscape cell size is +\eqn{250m}, the species distribution can be at the resolution of \eqn{250m}, \eqn{500m}, \eqn{750m}, \eqn{1000m} etc. Each cell of the species distribution map must contain either \eqn{0} (species absent or not recorded) or \eqn{1} (species present). \emph{Dynamic landscapes} \cr @@ -109,8 +109,8 @@ is the new patch number). \item Instead of a single original patch, define two (or more) distinct but adjacent patches in the original landscape, so that they each retain their own populations when they become separated by the landscape change. } -A dynamic landscape can be specified using the slots \code{LandscapeFile} (, \code{PatchFile}, \code{CostsFile}) and \code{DynamicLandYears}. \code{LandscapeFile} (and \code{PatchFile}, \code{CostsFile}) take a character vector with the filenames of the maps -to be loaded. All provided maps must agree in resolution, extent and origin. \code{DynamicLandYears} is a number vector that contains the years, in which these landscapes shall be loaded; it must have the same ordering so +A dynamic landscape can be specified using the slots \code{LandscapeFile} (, \code{PatchFile}, \code{CostsFile}) and \code{DynamicLandYears}. \code{LandscapeFile} (and \code{PatchFile}, \code{CostsFile}) take a list with the matrices representing the raster maps +to be used. All provided maps must agree in resolution, extent and origin. \code{DynamicLandYears} is a number vector that contains the years, in which these landscapes shall be loaded; it must have the same ordering so that years and maps can be matched. If a specific map is used multiple times, it must be listed each time nevertheless. } \author{ diff --git a/RangeShiftR/man/Initialise.Rd b/RangeShiftR/man/Initialise.Rd index a350a1e..735b36b 100644 --- a/RangeShiftR/man/Initialise.Rd +++ b/RangeShiftR/man/Initialise.Rd @@ -5,15 +5,17 @@ \alias{Initialise} \title{Set Initialisation Parameters} \usage{ -Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, InitIndsFile = "NULL", - InitDens = 1, IndsHaCell, PropStages = 0, InitAge = 2, minX, minY, maxX, maxY, - InitFreezeYear = 0, RestrictRows = 0, RestrictFreq = 0, FinalFreezeYear = 0) +Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, + InitIndsFile = "NULL", InitIndsList = data.frame(), + InitDens = 1, IndsHaCell, PropStages = 0, InitAge = 2, + minX, minY, maxX, maxY, InitFreezeYear = 0, + RestrictRows = 0, RestrictFreq = 0, FinalFreezeYear = 0) } \arguments{ \item{InitType}{Type of initialisation:\cr \code{InitType} = \eqn{0}: Free initialisation according to habitat map (default) (set \code{FreeType}), \cr \code{InitType} = \eqn{1}: From loaded species distribution map (set \code{SpType}),\cr -\code{InitType} = \eqn{2}: From initial individuals list file (set \code{InitIndsFile}). +\code{InitType} = \eqn{2}: From initial individuals list file (set \code{InitIndsFile} or \code{InitIndsList}, respectively). \cr Must to be \eqn{0} for an \code{\link[RangeShiftR]{ArtificialLandscape}}.} \item{FreeType, NrCells}{Option for \emph{free initialisation}, i.e. required only if \code{InitType}\eqn{ = 0}:\cr @@ -27,6 +29,8 @@ Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, InitIndsFile = "NULL \item{InitIndsFile}{Name of \emph{initial individuals list file}, required only if \code{InitType}\eqn{ = 2}.\cr For informaton on the required file format see the Details below.} +\item{InitIndsList}{The list of initial individuals given as data.frame (instead of as file name in \code{InitIndsFile}), using the same format (see Details).} + \item{InitDens, IndsHaCell}{Number of individuals to be seeded in each cell/patch:\cr \code{InitDens} = \eqn{0}: At \code{K_or_DensDep},\cr \code{InitDens} = \eqn{1}: At half \code{K_or_DensDep} (default),\cr @@ -79,7 +83,8 @@ All habitat cells/patches within either all (\code{SpType}\eqn{=0}), or a specif (\code{SpType}\eqn{=1}) presence cells (which can have a lower resolution) specified by this distribution map will seeded. \item \emph{From initial individuals list file.} (\code{InitType}\eqn{ = 2})\cr The population is initialised according to a list of specific individuals (of given sex, age and stage, if appropriate) in specified cells/patches. This option allows simulation of a reintroduction -scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile}. It must be a tab-separated list with +scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile} or given as dataframe in \code{InitIndsList}. +It must be a tab-separated list with explicit column headers and one row for each individual to be initialized. The expected column headers depend on the model settings and must match the following order exactly: 'Year', 'Species' (must \eqn{= 0}), for cell-/patch-based: 'X', 'Y' / 'PatchID', 'Ninds', for sexual model: 'Sex', for stage-structured population: 'Age', 'Stage'. The sex is specified with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. @@ -97,7 +102,7 @@ in each patch (in units of individuals per hectare). (These settings have no effect for \code{InitType}\eqn{ = 2}.) In the case of \code{\link[RangeShiftR]{StageStructure}}d models, the initial stage and age distributions must be specified. -If \code{InitType}\eqn{ = 2}, this is done via the \code{InitIndsFile}, whereas for \code{InitType}\eqn{ = {0,1}}, +If \code{InitType}\eqn{ = 2}, this is done via the \code{InitIndsFile} or \code{InitIndsList}, whereas for \code{InitType}\eqn{ = {0,1}}, the proportion of individuals that should be initialised at each stage class is set via the numeric vector \code{PropStages}. It needs to have as many entries as number of stages, starting from the juvenile stage (\eqn{0}). Note that these proportions must sum up to \eqn{1.0}, however the proportion of juveniles must be \eqn{0.0}. diff --git a/RangeShiftR/man/SMS.Rd b/RangeShiftR/man/SMS.Rd index 2a5de66..87274d3 100644 --- a/RangeShiftR/man/SMS.Rd +++ b/RangeShiftR/man/SMS.Rd @@ -63,7 +63,7 @@ SMS is a stochastic individual-based movement model where organisms move through cost surfaces as the least cost path (LCP) method, but it relaxes two of its main assumptions: Firstly, individuals are not assumed to be omniscient, but move according to what they can perceive of the landscape within their perceptual range (\code{PR}). Secondly, individuals do not know a priori their final destination, which is a reasonable assumption for dispersing individuals. For a complete description of the -method, see the Datails below or refer to \insertCite{palmer2011introducing;textual}{RangeShiftR}. +method, see the Details below or refer to \insertCite{palmer2011introducing;textual}{RangeShiftR}. } \details{ SMS is a stochastic individual-based model where organisms move through grid-based, heterogeneous landscapes. The model uses similar cost diff --git a/RangeShiftR/man/createODD.Rd b/RangeShiftR/man/createODD.Rd new file mode 100644 index 0000000..ef720a0 --- /dev/null +++ b/RangeShiftR/man/createODD.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/output_handling.R +\name{createODD} +\alias{createODD} +\title{Creating ODD template file for a specific RangeShiftR parameter master object} +\usage{ +createODD(filename, s, type) +} +\arguments{ +\item{filename}{Name of the R markdown file and document to be created} + +\item{s}{RangeShiftR parameter object} + +\item{type}{file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document"} +} +\description{ +This function creates an ODD template file for a specific RangeShiftR parameter master object \code{s}. It only creates a new file, if the \code{filename} doesn't exist in the folder. +If the \code{filename} already exists, it only renders the document to either pdf, word or md. +} diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index e276d5c..8837053 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -3784,6 +3784,11 @@ int ReadInitialisationR(Landscape* pLandscape, Rcpp::S4 ParMaster) case 2: { // from initial individuals file // if (init.indsFile != prevInitialIndsFile) { // read and store the list of individuals to be initialised +#if RS_THREADSAFE + if(init.indsFile=="NULL") + error = ReadInitIndsFileR(0, pLandscape, Rcpp::as(InitParamsR.slot("InitIndsList"))); // parse dataframe header and read lines, store in vector "initinds" + else +#endif error = ReadInitIndsFileR(0, pLandscape); //open, parse, read header and lines, store in vector "initinds" // prevInitialIndsFile = init.indsFile; //} @@ -4672,14 +4677,173 @@ rasterdata ParseRasterHead(string file) //---------------------------------------------------------------------------------------------- -#if !RS_THREADSAFE +#if RS_THREADSAFE -int ReadInitIndsFileR(int option, Landscape* pLandscape) +int ReadInitIndsFileR(int option, Landscape* pLandscape, Rcpp::DataFrame initindslist ) { + landParams paramsLand = pLandscape->getLandParams(); + demogrParams dem = pSpecies->getDemogr(); + //stageParams sstruct = pSpecies->getStage(); + initParams init = paramsInit->getInit(); + string filetype = "InitIndsList"; + Rcpp::CharacterVector colnames = initindslist.names(); + int lines = initindslist.nrows(); + int errors = 0, col_ix = 0; + + Rcpp::IntegerVector df_year; + Rcpp::IntegerVector df_species; + Rcpp::IntegerVector df_patch; + Rcpp::IntegerVector df_X; + Rcpp::IntegerVector df_Y; + Rcpp::IntegerVector df_Ninds; + Rcpp::IntegerVector df_Sex; + Rcpp::IntegerVector df_Age; + Rcpp::IntegerVector df_Stage; + + if(option == 0) { // parse and read header and lines + + // Check right headers format + if(colnames[col_ix++] == "Year") df_year = initindslist["Year"]; + else errors++; + if(colnames[col_ix++] == "Species") df_species = initindslist["Species"]; + else errors++; + if(patchmodel) { + if(colnames[col_ix++] == "PatchID") df_patch = initindslist["PatchID"]; + else errors++; + } else { + if(colnames[col_ix++] == "X") df_X = initindslist["X"]; + else errors++; + if(colnames[col_ix++] == "Y") df_Y = initindslist["Y"]; + else errors++; + } + if(colnames[col_ix++] == "Ninds") df_Ninds = initindslist["Ninds"]; + else errors++; + if(reproductn > 0) { + if(colnames[col_ix++] == "Sex") df_Sex = initindslist["Sex"]; + else errors++; + } + if(stagestruct) { + if(colnames[col_ix++] == "Age") df_Age = initindslist["Age"]; + else errors++; + if(colnames[col_ix++] == "Stage") df_Stage = initindslist["Stage"]; + else errors++; + } + // Report any errors in headers, and if so, terminate validation + if(errors > 0) { + FormatErrorR(filetype, errors); + return -111; + } + + paramsInit->resetInitInds(); + + // Read dataframe lines + initInd iind; + iind.year = -98765; + int ninds; + int totinds = 0; + int prevyear = -98765; + + for(int l = 0; l < lines; l++) { // loop over dataframe rows + + // Year + iind.year = df_year[l]; + if(iind.year < 0) { + BatchErrorR(filetype, l, 19, "Year"); + errors++; + } else { + if(iind.year < prevyear) { + BatchErrorR(filetype, l, 2, "Year", "previous Year"); + errors++; + } + } + prevyear = iind.year; + + // Species + iind.species = df_species[l]; + if(iind.species != 0) { + BatchErrorR(filetype, l, 0, " "); + errors++; + Rcpp::Rcout << "Species must be 0" << endl; + } + + // Patch | Coordinates + if(paramsLand.patchModel) { + iind.patchID = df_patch[l]; + if(iind.patchID < 1) { + BatchErrorR(filetype, l, 11, "PatchID"); + errors++; + iind.x = iind.y = 0; + } + } else { + iind.x = df_X[l]; + iind.y = df_Y[l]; + if(iind.x < 0 || iind.y < 0) { + BatchErrorR(filetype, l, 19, "X and Y"); + errors++; + iind.patchID = 0; + } + } + // No of individuals + ninds = df_Ninds[l]; + if(ninds < 1) { + BatchErrorR(filetype, l, 11, "Ninds"); + errors++; + } + + // Sex + if(dem.repType > 0){ + iind.sex = df_Sex[l]; + if(iind.sex < 0 || iind.sex > 1) { + BatchErrorR(filetype, l, 1, "Sex"); + errors++; + } + } + else iind.sex = 0; + + // Stage + if(dem.stageStruct) { + iind.age = df_Age[l]; + iind.stage = df_Stage[l]; + if(iind.age < 1) { + BatchErrorR(filetype, l, 11, "Age"); + errors++; + } + if(iind.stage < 1) { + BatchErrorR(filetype, l, 11, "Stage"); + errors++; + } + if(iind.stage >= stages) { + BatchErrorR(filetype, l, 4, "Stage", "no. of stages"); + errors++; + } + } else { + iind.age = iind.stage = 0; + } + + for(int i = 0; i < ninds; i++) { + totinds++; + paramsInit->addInitInd(iind); + } + + iind.year = -98765; // finished current line + if(errors){ // check for format errors + return errors; + } + } // end of loop over rows + + Rcpp::Rcout << "Initial individuals list OK" << std::endl; + return 0; //totinds; + + } // end of option 0 + + if(option == 9) { // close file + return 0; + } + return -1; } -#else +#endif // RS_THREADSAFE int ReadInitIndsFileR(int option, Landscape* pLandscape) { @@ -4895,7 +5059,6 @@ int ReadInitIndsFileR(int option, Landscape* pLandscape) } return -1; } -#endif // RS_THREADSAFE //--------------------------------------------------------------------------- diff --git a/RangeShiftR/src/Rinterface.h b/RangeShiftR/src/Rinterface.h index 01f2430..b62f563 100644 --- a/RangeShiftR/src/Rinterface.h +++ b/RangeShiftR/src/Rinterface.h @@ -84,7 +84,11 @@ int ReadInitialisationR(Landscape*, Rcpp::S4); int ReadGeneticsR(Rcpp::S4); int ParseInitIndsFileR(wifstream&); +#if RS_THREADSAFE +int ReadInitIndsFileR(int,Landscape*,Rcpp::DataFrame); +#endif int ReadInitIndsFileR(int,Landscape*); + int ReadArchFileR(wifstream&); Rcpp::List RunBatchR(int, int, Rcpp::S4); From aaef916d7bc09e9de57e6e45ad2ee7a5a89bbf72 Mon Sep 17 00:00:00 2001 From: malchowa Date: Mon, 1 Nov 2021 18:18:36 +0100 Subject: [PATCH 05/35] create switch 'CreatePopFile' to suppress population file output --- RangeShiftR/src/Community.cpp | 2 +- RangeShiftR/src/Model.cpp | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/RangeShiftR/src/Community.cpp b/RangeShiftR/src/Community.cpp index 69d2df4..083cb1e 100644 --- a/RangeShiftR/src/Community.cpp +++ b/RangeShiftR/src/Community.cpp @@ -2644,7 +2644,7 @@ return fileOK; #endif #if RS_RCPP && !R_CMD -Rcpp::IntegerMatrix Community::addYearToPopList(int rep, int yr) { // TODO: define new simparams to control start and interval of output +Rcpp::IntegerMatrix Community::addYearToPopList(int rep, int yr) { // TODO: define new simparams to control type as well as start and interval of output landParams ppLand = pLandscape->getLandParams(); Rcpp::IntegerMatrix pop_map_year(ppLand.dimY,ppLand.dimX); diff --git a/RangeShiftR/src/Model.cpp b/RangeShiftR/src/Model.cpp index 09a83eb..815f842 100644 --- a/RangeShiftR/src/Model.cpp +++ b/RangeShiftR/src/Model.cpp @@ -285,7 +285,11 @@ DEBUGLOG << endl << "RunModel(): finished generating populations" << endl; MemoLine("UNABLE TO OPEN OCCUPANCY FILE(S)"); filesOK = false; } +#if RS_RCPP + if (sim.outPop && sim.CreatePopFile) { +#else if (sim.outPop) { +#endif // open Population file if (!pComm->outPopHeaders(pSpecies,ppLand.landNum)) { MemoLine("UNABLE TO OPEN POPULATION FILE"); @@ -462,6 +466,9 @@ DEBUGLOG << "RunModel(): completed updating carrying capacity" << endl; #if PEDIGREE pComm->initialise(pSpecies,pPed,-1); #else +#if RS_THREADSAFE + // read new initial condition +#endif pComm->initialise(pSpecies,-1); #endif // } @@ -1671,7 +1678,11 @@ if (sim.outRange) { if (ppLand.dmgLoaded) pLandscape->outSummDmgHeaders(-999); #endif // RS_CONTAIN } -if (sim.outPop) { +#if RS_RCPP + if (sim.outPop && sim.CreatePopFile) { +#else + if (sim.outPop) { +#endif pComm->outPopHeaders(pSpecies,-999); // close Population file #if RS_CONTAIN if (pCull->isCullApplied()) { @@ -1848,7 +1859,11 @@ if (sim.outPop && yr >= sim.outStartPop && yr%sim.outIntPop == 0) if (popOutputYear || abcYear) pComm->outPop(pSpecies,rep,yr,gen,pABCmaster,abcYear,popOutputYear); #else +#if RS_RCPP +if (sim.outPop && sim.CreatePopFile && yr >= sim.outStartPop && yr%sim.outIntPop == 0) +#else if (sim.outPop && yr >= sim.outStartPop && yr%sim.outIntPop == 0) +#endif pComm->outPop(rep,yr,gen); #endif From 548938590be840d0547a49815302a92d0bd747ba Mon Sep 17 00:00:00 2001 From: malchowa Date: Mon, 1 Nov 2021 22:11:01 +0100 Subject: [PATCH 06/35] set varying initial conditions for each replicate, given as list of dataframes to initialisation model --- RangeShiftR/R/class_InitialisationParams.R | 14 +++++++------- RangeShiftR/man/Initialise.Rd | 6 +++--- RangeShiftR/src/Model.cpp | 21 ++++++++++++++++----- RangeShiftR/src/Model.h | 16 +++++++++++++++- RangeShiftR/src/Rinterface.cpp | 14 +++++++++++--- 5 files changed, 52 insertions(+), 19 deletions(-) diff --git a/RangeShiftR/R/class_InitialisationParams.R b/RangeShiftR/R/class_InitialisationParams.R index 2fe5935..6f8121e 100644 --- a/RangeShiftR/R/class_InitialisationParams.R +++ b/RangeShiftR/R/class_InitialisationParams.R @@ -38,7 +38,7 @@ #' @include plotProbs.R #' @include Rfunctions.R #' @usage Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, -#' InitIndsFile = "NULL", InitIndsList = data.frame(), +#' InitIndsFile = "NULL", InitIndsList = list(), #' InitDens = 1, IndsHaCell, PropStages = 0, InitAge = 2, #' minX, minY, maxX, maxY, InitFreezeYear = 0, #' RestrictRows = 0, RestrictFreq = 0, FinalFreezeYear = 0) @@ -55,7 +55,7 @@ #' \code{SpType} = \eqn{1}: All suitable cells within some randomly chosen presence cells; set number of cells to initialise in \code{NrCells}. #' @param InitIndsFile Name of \emph{initial individuals list file}, required only if \code{InitType}\eqn{ = 2}.\cr #' For informaton on the required file format see the Details below. -#' @param InitIndsList The list of initial individuals given as data.frame (instead of as file name in \code{InitIndsFile}), using the same format (see Details). +#' @param InitIndsList The list of initial individuals given as a list of data.frames - one for each replicate simulation (instead of as file name in \code{InitIndsFile}), using the same format (see Details). #' @param InitDens,IndsHaCell Number of individuals to be seeded in each cell/patch:\cr #' \code{InitDens} = \eqn{0}: At \code{K_or_DensDep},\cr #' \code{InitDens} = \eqn{1}: At half \code{K_or_DensDep} (default),\cr @@ -88,7 +88,7 @@ #' (\code{SpType}\eqn{=1}) presence cells (which can have a lower resolution) specified by this distribution map will seeded. #' \item \emph{From initial individuals list file.} (\code{InitType}\eqn{ = 2})\cr The population is initialised according to a list of specific #' individuals (of given sex, age and stage, if appropriate) in specified cells/patches. This option allows simulation of a reintroduction -#' scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile} or given as dataframe in \code{InitIndsList}. +#' scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile} or given as a list of dataframes in \code{InitIndsList}. #' It must be a tab-separated list with #' explicit column headers and one row for each individual to be initialized. The expected column headers depend on the model settings and #' must match the following order exactly: 'Year', 'Species' (must \eqn{= 0}), for cell-/patch-based: 'X', 'Y' / 'PatchID', 'Ninds', for sexual model: 'Sex', @@ -166,7 +166,7 @@ Initialise <- setClass("InitialisationParams", slots = c(InitType = "integer_OR_ SpType = "integer_OR_numeric", NrCells = "integer_OR_numeric", InitIndsFile = "character", - InitIndsList = "data.frame", + InitIndsList = "list", # "data.frame", InitDens = "integer_OR_numeric", IndsHaCell = "integer_OR_numeric", PropStages = "numeric", @@ -184,7 +184,7 @@ Initialise <- setClass("InitialisationParams", slots = c(InitType = "integer_OR_ SpType = 0L, #all #NrCells, InitIndsFile = "NULL", - InitIndsList = data.frame(), + InitIndsList = list(), # data.frame(), InitDens = 1L, #K/2 #IndsHaCell, PropStages = 0.0, @@ -431,7 +431,7 @@ setMethod('initialize', 'InitialisationParams', function(.Object, ...) { } else{ .Object@InitIndsFile = "NULL" - .Object@InitIndsList = data.frame() + .Object@InitIndsList = list() # data.frame() if (!is.null(args$InitIndsFile)) { warning(this_func, "InitIndsFile", warn_msg_ignored, "since InitType != 2.", call. = FALSE) } @@ -524,7 +524,7 @@ setMethod("show", "InitialisationParams", function(object){ } if (object@InitType == 2) { if (object@InitIndsFile != "NULL") cat("Initialisation from initial individuals list\n from file:",object@InitIndsFile) - if (length(object@InitIndsList) != 0) cat("Initialisation from initial individuals list given as data.frame") + if (length(object@InitIndsList) != 0) cat("Initialisation from initial individuals list given as list of data.frames") } cat("\n") diff --git a/RangeShiftR/man/Initialise.Rd b/RangeShiftR/man/Initialise.Rd index 735b36b..4575cff 100644 --- a/RangeShiftR/man/Initialise.Rd +++ b/RangeShiftR/man/Initialise.Rd @@ -6,7 +6,7 @@ \title{Set Initialisation Parameters} \usage{ Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, - InitIndsFile = "NULL", InitIndsList = data.frame(), + InitIndsFile = "NULL", InitIndsList = list(), InitDens = 1, IndsHaCell, PropStages = 0, InitAge = 2, minX, minY, maxX, maxY, InitFreezeYear = 0, RestrictRows = 0, RestrictFreq = 0, FinalFreezeYear = 0) @@ -29,7 +29,7 @@ Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, \item{InitIndsFile}{Name of \emph{initial individuals list file}, required only if \code{InitType}\eqn{ = 2}.\cr For informaton on the required file format see the Details below.} -\item{InitIndsList}{The list of initial individuals given as data.frame (instead of as file name in \code{InitIndsFile}), using the same format (see Details).} +\item{InitIndsList}{The list of initial individuals given as a list of data.frames - one for each replicate simulation (instead of as file name in \code{InitIndsFile}), using the same format (see Details).} \item{InitDens, IndsHaCell}{Number of individuals to be seeded in each cell/patch:\cr \code{InitDens} = \eqn{0}: At \code{K_or_DensDep},\cr @@ -83,7 +83,7 @@ All habitat cells/patches within either all (\code{SpType}\eqn{=0}), or a specif (\code{SpType}\eqn{=1}) presence cells (which can have a lower resolution) specified by this distribution map will seeded. \item \emph{From initial individuals list file.} (\code{InitType}\eqn{ = 2})\cr The population is initialised according to a list of specific individuals (of given sex, age and stage, if appropriate) in specified cells/patches. This option allows simulation of a reintroduction -scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile} or given as dataframe in \code{InitIndsList}. +scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile} or given as a list of dataframes in \code{InitIndsList}. It must be a tab-separated list with explicit column headers and one row for each individual to be initialized. The expected column headers depend on the model settings and must match the following order exactly: 'Year', 'Species' (must \eqn{= 0}), for cell-/patch-based: 'X', 'Y' / 'PatchID', 'Ninds', for sexual model: 'Sex', diff --git a/RangeShiftR/src/Model.cpp b/RangeShiftR/src/Model.cpp index 815f842..b4bf5b1 100644 --- a/RangeShiftR/src/Model.cpp +++ b/RangeShiftR/src/Model.cpp @@ -38,11 +38,15 @@ ofstream outPar; int RunModel(Landscape *pLandscape,int seqsim,ABCmaster* pABCmaster) #else #if RS_RCPP && !R_CMD +#if RS_THREADSAFE +Rcpp::List RunModel(Landscape *pLandscape,int seqsim,Rcpp::S4 ParMaster) +#else Rcpp::List RunModel(Landscape *pLandscape,int seqsim) +#endif // RS_THREADSAFE #else int RunModel(Landscape *pLandscape,int seqsim) -#endif -#endif +#endif // RS_RCPP && !R_CMD +#endif // RS_ABC { //int Nsuit,yr,totalInds; int yr,totalInds; @@ -264,6 +268,16 @@ DEBUGLOG << endl << "RunModel(): finished generating populations" << endl; } filesOK = true; +#if RS_THREADSAFE + if(rep > 0){ + int error_init = 0; + Rcpp::S4 InitParamsR("InitialisationParams"); + InitParamsR = Rcpp::as(ParMaster.slot("init")); + Rcpp::List InitIndsList = Rcpp::as(InitParamsR.slot("InitIndsList")); + error_init = ReadInitIndsFileR(0, pLandscape, Rcpp::as(InitIndsList[rep])); + if(error_init>0) filesOK = false; + } +#endif if (rep == 0) { // open output files if (sim.outRange) { // open Range file @@ -466,9 +480,6 @@ DEBUGLOG << "RunModel(): completed updating carrying capacity" << endl; #if PEDIGREE pComm->initialise(pSpecies,pPed,-1); #else -#if RS_THREADSAFE - // read new initial condition -#endif pComm->initialise(pSpecies,-1); #endif // } diff --git a/RangeShiftR/src/Model.h b/RangeShiftR/src/Model.h index 4437ad4..2fd1b48 100644 --- a/RangeShiftR/src/Model.h +++ b/RangeShiftR/src/Model.h @@ -48,6 +48,9 @@ Last updated: 28 July 2021 by Greta Bocedi #include #include +#if RS_RCPP +#include +#endif // RS_RCPP #include "Version.h" #include "Parameters.h" @@ -72,7 +75,10 @@ using namespace std::filesystem; #endif #if RS_CONTAIN #include "Control.h" -#endif // RS_CONTAIN +#endif // RS_CONTAIN +#if RS_THREADSAFE +#include "Rinterface.h" +#endif // RS_THREADSAFE #if RSDEBUG extern ofstream DEBUGLOG; @@ -86,10 +92,18 @@ int RunModel( ); #else #if RS_RCPP && !R_CMD +#if RS_THREADSAFE +Rcpp::List RunModel( + Landscape*, // pointer to Landscape + int, // sequential simulation number (always 0 for VCL version) + Rcpp::S4 // parameter master to read initial conditions in each replicate simulation +); +#else Rcpp::List RunModel( Landscape*, // pointer to Landscape int // sequential simulation number (always 0 for VCL version) ); +#endif // RS_THREADSAFE #else int RunModel( Landscape*, // pointer to Landscape diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index 8837053..6d610dc 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -3785,9 +3785,12 @@ int ReadInitialisationR(Landscape* pLandscape, Rcpp::S4 ParMaster) // if (init.indsFile != prevInitialIndsFile) { // read and store the list of individuals to be initialised #if RS_THREADSAFE - if(init.indsFile=="NULL") - error = ReadInitIndsFileR(0, pLandscape, Rcpp::as(InitParamsR.slot("InitIndsList"))); // parse dataframe header and read lines, store in vector "initinds" - else + if(init.indsFile=="NULL"){ + simParams sim = paramsSim->getSim(); + Rcpp::List InitIndsList = Rcpp::as(InitParamsR.slot("InitIndsList")); + if(InitIndsList.size() != sim.reps) error = 603; + else error = ReadInitIndsFileR(0, pLandscape, Rcpp::as(InitIndsList[0])); // parse dataframe header and read lines, store in vector "initinds" + }else #endif error = ReadInitIndsFileR(0, pLandscape); //open, parse, read header and lines, store in vector "initinds" // prevInitialIndsFile = init.indsFile; @@ -4442,7 +4445,12 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) #endif // run the model +#if RS_THREADSAFE + list_outPop = RunModel(pLandscape, i, ParMaster); +#else list_outPop = RunModel(pLandscape, i); +#endif + #if RSDEBUG // DEBUGLOG << endl << "RunBatchR(): real landscape, i = " << i // << " simulation = " << sim.simulation << " landFile = " << landFile From f74357df55ea83b719e45bea04937da8f0196826 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Tue, 23 Nov 2021 16:29:02 +0100 Subject: [PATCH 07/35] Added new macro for spatial varying demographic rates SPATIALDEMOG Started implementing it in patch.cpp/h and species.cpp/h --- RangeShiftR/src/Patch.cpp | 13 +++++++++++- RangeShiftR/src/Patch.h | 10 ++++++++- RangeShiftR/src/Species.cpp | 5 ++++- RangeShiftR/src/Species.h | 41 +++++++++++++++++++++++++++++++++++++ RangeShiftR/src/Version.h | 2 ++ 5 files changed, 68 insertions(+), 3 deletions(-) diff --git a/RangeShiftR/src/Patch.cpp b/RangeShiftR/src/Patch.cpp index caa1d5d..5f6a992 100644 --- a/RangeShiftR/src/Patch.cpp +++ b/RangeShiftR/src/Patch.cpp @@ -35,9 +35,11 @@ #if SEASONAL Patch::Patch(int seqnum,int num,short nseasons) +// #elif SPATIALDEMOG +// Patch::Patch(int seqnum,int num, short nlayer) #else Patch::Patch(int seqnum,int num) -#endif // SEASONAL +#endif // SEASONAL and SPATIALDEMOG { patchSeqNum = seqnum; patchNum = num; nCells = 0; xMin = yMin = 999999999; xMax = yMax = 0; x = y = 0; @@ -55,6 +57,11 @@ localK = 0.0; for (int sex = 0; sex < NSEXES; sex++) { nTemp[sex] = 0; } +#if SPATIALDEMOG +short nlayer=4; +for (int i = 0; i < nlayer; i++) localDemoScaling.push_back(0.0); +#endif + changed = false; } @@ -64,6 +71,10 @@ popns.clear(); #if SEASONAL localK.clear(); #endif // SEASONAL +#if SPATIALDEMOG +localDemoScaling.clear(); +#endif // SPATIALDEMOG + } int Patch::getSeqNum(void) { return patchSeqNum; } diff --git a/RangeShiftR/src/Patch.h b/RangeShiftR/src/Patch.h index 2ee3d2e..949b917 100644 --- a/RangeShiftR/src/Patch.h +++ b/RangeShiftR/src/Patch.h @@ -97,12 +97,18 @@ class Patch{ int, // patch id number short // no. of seasons ); +/*#elif SPATIALDEMOG + Patch( + int, // internal sequential number + int, // patch id number + short // no. layers + );*/ #else Patch( int, // internal sequential number int // patch id number ); -#endif // SEASONAL +#endif // SPATIALDEMOG and SEASON ~Patch(); int getSeqNum(void); int getPatchNum(void); @@ -217,6 +223,8 @@ class Patch{ // NOTE: THE FOLLOWING ARRAY WILL NEED TO BE MADE SPECIES-SPECIFIC... short nTemp[NSEXES]; // no. of potential settlers in each sex + std::vector localDemoScaling; + std::vector cells; std::vector popns; diff --git a/RangeShiftR/src/Species.cpp b/RangeShiftR/src/Species.cpp index 88269cb..562b421 100644 --- a/RangeShiftR/src/Species.cpp +++ b/RangeShiftR/src/Species.cpp @@ -85,9 +85,12 @@ for (int i = 0; i < NSTAGES; i++) { fec[s][i][j] = 0.0; dev[s][i][j] = 0.0; surv[s][i][j] = 0.0; } #else - fec[i][j] = 0.0; dev[i][j] = 0.0; surv[i][j] = 0.0; + fec[i][j] = 0.0; dev[i][j] = 0.0; surv[i][j] = 0.0; #endif // SEASONAL #endif // RS_CONTAIN +#if SPATIALDEMOG + fecLayer[i][j] =-9; devLayer[i][j] = -9; survLayer[i][j] = -9; +#endif //SPATIALDEMOG minAge[i][j] = 0; } } diff --git a/RangeShiftR/src/Species.h b/RangeShiftR/src/Species.h index 34c705e..1443d8e 100644 --- a/RangeShiftR/src/Species.h +++ b/RangeShiftR/src/Species.h @@ -484,6 +484,42 @@ class Species { #endif // SEASONAL +#if SPATIALDEMOG + void setFecLayer( // set the layer of the spatial demographic scaling used for fecundity + short, // stage + short, // sex + short // layer + ); + + short getFecLayer( // get the layer of the spatial demographic scaling used for fecundity + short, // stage + short // sex + ); + + void setDevLayer( // set the layer of the spatial demographic scaling used for development + short, // stage + short, // sex + short // layer + ); + + short getDevLayer( // get the layer of the spatial demographic scaling used for development + short, // stage + short // sex + ); + + void setSurvLayer( // set the layer of the spatial demographic scaling used for survival + short, // stage + short, // sex + short // layer + ); + + short getSurvLayer( // get the layer of the spatial demographic scaling used for survival + short, // stage + short // sex + ); + +#endif //SPATIALDEMOG + #endif // RS_CONTAIN float getMaxFec(void); // Get highest fecundity of any stage @@ -902,6 +938,11 @@ class Species { float dev[NSTAGES][NSEXES]; // development probabilities float surv[NSTAGES][NSEXES]; // survival probabilities #endif // SEASONAL +#if SPATIALDEMOG + int fecLayer[NSTAGES][NSEXES]; // layer for spatial varying fecundity + int devLayer[NSTAGES][NSEXES]; // layer for spatial varying development + int survLayer[NSTAGES][NSEXES]; // layer for spatial varying survival +#endif // SPATIALDEMOG #endif // RS_CONTAIN short minAge[NSTAGES][NSEXES]; // minimum age to enter stage // NOTE - IN THEORY, NEXT 3 VARIABLES COULD BE COMMON, BUT WE WOULD NEED TO ENSURE THAT diff --git a/RangeShiftR/src/Version.h b/RangeShiftR/src/Version.h index dc3efb6..e1f9e47 100644 --- a/RangeShiftR/src/Version.h +++ b/RangeShiftR/src/Version.h @@ -39,6 +39,8 @@ #define RS_RCPP 1 //#define R_CMD 0 +#define SPATIALDEMOG 1 + #define RS_EMBARCADERO 0 //--------------------------------------------------------------------------- From c70bf87450d71380d113d4e540a5227a6e812099 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Tue, 23 Nov 2021 16:29:57 +0100 Subject: [PATCH 08/35] tested things in landscape.cpp but disregarded them again --- RangeShiftR/src/Landscape.cpp | 10 +++++----- RangeShiftR/src/Landscape.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index e892229..ba3c3bc 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -1028,10 +1028,10 @@ case 2: // habitat quality } #if SEASONAL -Patch* Landscape::newPatch(int num,short nseasons) +Patch* Landscape::newPatch(int num,short nseasons) #else Patch* Landscape::newPatch(int num) -#endif // SEASONAL +#endif // SEASONAL { int npatches = (int)patches.size(); #if SEASONAL @@ -1042,15 +1042,15 @@ DEBUGLOG << "Landscape::newPatch(): nseasons= " << nseasons << " num=" << num #endif #else patches.push_back(new Patch(num,num)); -#endif // SEASONAL +#endif // SEASONAL return patches[npatches]; } #if SEASONAL -Patch* Landscape::newPatch(int seqnum,int num,short nseasons) +Patch* Landscape::newPatch(int seqnum,int num,short nseasons) #else Patch* Landscape::newPatch(int seqnum,int num) -#endif // SEASONAL +#endif // SEASONAL { int npatches = (int)patches.size(); #if SEASONAL diff --git a/RangeShiftR/src/Landscape.h b/RangeShiftR/src/Landscape.h index faa59da..7b49571 100644 --- a/RangeShiftR/src/Landscape.h +++ b/RangeShiftR/src/Landscape.h @@ -275,7 +275,7 @@ class Landscape{ int, // patch sequential no. int // patch id no. ); -#endif // SEASONAL +#endif // SEASONAL void resetPatches(void); void addNewCellToLand( int, // x co-ordinate From 1951ccca40200dcfceeada3d4a0395e37bbfebcd Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Wed, 15 Dec 2021 16:27:41 +0100 Subject: [PATCH 09/35] Added a global parameter NLAYERS for the number of allowed layers in parameters.h Used NLAYERS for setting the localDemoScaling parameter in Patch.cpp Added setFecLayer() and getFecLayer() functions in Species.cpp (same for surv+dev) Started to work at the reproduction function in Population.cpp/h, still buggy --- RangeShiftR/src/Parameters.h | 3 +++ RangeShiftR/src/Patch.cpp | 2 +- RangeShiftR/src/Patch.h | 3 ++- RangeShiftR/src/Population.cpp | 4 ++++ RangeShiftR/src/Population.h | 9 +++++++++ RangeShiftR/src/Species.cpp | 35 ++++++++++++++++++++++++++++++++++ 6 files changed, 54 insertions(+), 2 deletions(-) diff --git a/RangeShiftR/src/Parameters.h b/RangeShiftR/src/Parameters.h index 92349d4..f26ffee 100644 --- a/RangeShiftR/src/Parameters.h +++ b/RangeShiftR/src/Parameters.h @@ -76,6 +76,9 @@ using namespace std; #if RS_CONTAIN #define NHABITATS 10 // maximum number of SUITABLE habitats permitted #endif // RS_CONTAIN +#if SPATIALDEMOG +#define NLAYERS 3*NSEXES*NSTAGES +#endif // SPATIALDEMOG #if RS_RCPP typedef intptr_t intptr; diff --git a/RangeShiftR/src/Patch.cpp b/RangeShiftR/src/Patch.cpp index 5f6a992..c12da92 100644 --- a/RangeShiftR/src/Patch.cpp +++ b/RangeShiftR/src/Patch.cpp @@ -58,7 +58,7 @@ for (int sex = 0; sex < NSEXES; sex++) { nTemp[sex] = 0; } #if SPATIALDEMOG -short nlayer=4; +short nlayer=NLAYERS; for (int i = 0; i < nlayer; i++) localDemoScaling.push_back(0.0); #endif diff --git a/RangeShiftR/src/Patch.h b/RangeShiftR/src/Patch.h index 949b917..8651773 100644 --- a/RangeShiftR/src/Patch.h +++ b/RangeShiftR/src/Patch.h @@ -223,8 +223,9 @@ class Patch{ // NOTE: THE FOLLOWING ARRAY WILL NEED TO BE MADE SPECIES-SPECIFIC... short nTemp[NSEXES]; // no. of potential settlers in each sex +#if SPATIALDEMOG std::vector localDemoScaling; - +#endif std::vector cells; std::vector popns; diff --git a/RangeShiftR/src/Population.cpp b/RangeShiftR/src/Population.cpp index 61ab029..44914c1 100644 --- a/RangeShiftR/src/Population.cpp +++ b/RangeShiftR/src/Population.cpp @@ -758,7 +758,11 @@ void Population::reproduction(const std::vector *pfglobal,const in void Population::reproduction(const float localK,const float envval,const int resol, const short option) #else +#if SPATIALDEMOG +void Population::reproduction(const float localK,const float envval,const int resol, const float localDemoScaling) +#else void Population::reproduction(const float localK,const float envval,const int resol) +#endif // SPATIALDEMOG #endif // BUTTERFLYDISP #endif // GROUPDISP #endif // SEASONAL diff --git a/RangeShiftR/src/Population.h b/RangeShiftR/src/Population.h index c0d4358..662ca00 100644 --- a/RangeShiftR/src/Population.h +++ b/RangeShiftR/src/Population.h @@ -234,12 +234,21 @@ class Population { // 1 = mating only (before dispersal), // 2 = parturition only (after dispersal) ); +#else +#if SPATIALDEMOG + void reproduction( + const float, // local carrying capacity + const float, // effect of environmental gradient and/or stochasticty + const int, // Landscape resolution + const float // local demographic scaling + ); #else void reproduction( const float, // local carrying capacity const float, // effect of environmental gradient and/or stochasticty const int // Landscape resolution ); +#endif // SPATIALDEMOG #endif // BUTTERFLYDISP #endif // GROUPDISP #endif // SEASONAL diff --git a/RangeShiftR/src/Species.cpp b/RangeShiftR/src/Species.cpp index 562b421..5af79d3 100644 --- a/RangeShiftR/src/Species.cpp +++ b/RangeShiftR/src/Species.cpp @@ -731,6 +731,41 @@ else return 0.0; #endif // RS_CONTAIN +#if SPATIALDEMOG +void Species::setFecLayer(short stg,short sex,short l) { +if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES && l >= 0) + fecLayer[stg][sex] = l; +} + +short Species::getFecLayer(short stg,short sex) { +if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) + return fecLayer[stg][sex]; +else return -9; +} + +void Species::setDevLayer(short stg,short sex,short l) { +if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES && l >= 0) + devLayer[stg][sex] = l; +} + +short Species::getDevLayer(short stg,short sex) { +if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) + return devLayer[stg][sex]; +else return -9; +} + +void Species::setSurvLayer(short stg,short sex,short l) { +if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES && l >= 0) + survLayer[stg][sex] = l; +} + +short Species::getSurvLayer(short stg,short sex) { +if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) + return survLayer[stg][sex]; +else return -9; +} +#endif + void Species::setMinAge(short stg,short sex,int age) { // NB min age for stages 0 & 1 must always be zero if (stg > 1 && stg < NSTAGES && sex >= 0 && sex < NSEXES && age >= 0) From b86ea7b651c9e84a3d14edaf68e2589ded0446a3 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Thu, 16 Dec 2021 16:24:29 +0100 Subject: [PATCH 10/35] Implemented new reproduction and survival (in survival0) for spatially varying parameters: In patch.cpp/h: added function to get the local demographic scaling vector In Population.cpp: added new code for getting the scaled fecundity, survival and development in reproduction and survival functions In population.h: added the adapted reproduction and survival functions In subcommunity.cpp: added the adapted rreproduction and survival functions, added localDemoScaling variable --- RangeShiftR/src/Patch.cpp | 10 +++-- RangeShiftR/src/Patch.h | 20 ++++----- RangeShiftR/src/Population.cpp | 15 ++++++- RangeShiftR/src/Population.h | 71 +++++++++++++++++++------------- RangeShiftR/src/Species.cpp | 7 ++-- RangeShiftR/src/Species.h | 11 ++--- RangeShiftR/src/SubCommunity.cpp | 20 +++++++++ 7 files changed, 99 insertions(+), 55 deletions(-) diff --git a/RangeShiftR/src/Patch.cpp b/RangeShiftR/src/Patch.cpp index c12da92..45cd53e 100644 --- a/RangeShiftR/src/Patch.cpp +++ b/RangeShiftR/src/Patch.cpp @@ -35,11 +35,9 @@ #if SEASONAL Patch::Patch(int seqnum,int num,short nseasons) -// #elif SPATIALDEMOG -// Patch::Patch(int seqnum,int num, short nlayer) #else Patch::Patch(int seqnum,int num) -#endif // SEASONAL and SPATIALDEMOG +#endif // SEASONAL { patchSeqNum = seqnum; patchNum = num; nCells = 0; xMin = yMin = 999999999; xMax = yMax = 0; x = y = 0; @@ -428,7 +426,11 @@ return ok; } #else float Patch::getK(void) { return localK; } -#endif // SEASONAL +#endif // SEASONAL + +#if SPATIALDEMOG +std::vector Patch::getDemoScaling(void) { return localDemoScaling; } +#endif //SPATIALDEMOG // Return co-ordinates of a specified cell locn Patch::getCellLocn(int ix) { diff --git a/RangeShiftR/src/Patch.h b/RangeShiftR/src/Patch.h index 8651773..24d21ed 100644 --- a/RangeShiftR/src/Patch.h +++ b/RangeShiftR/src/Patch.h @@ -97,18 +97,12 @@ class Patch{ int, // patch id number short // no. of seasons ); -/*#elif SPATIALDEMOG - Patch( - int, // internal sequential number - int, // patch id number - short // no. layers - );*/ #else Patch( int, // internal sequential number int // patch id number ); -#endif // SPATIALDEMOG and SEASON +#endif // SEASON ~Patch(); int getSeqNum(void); int getPatchNum(void); @@ -191,13 +185,16 @@ class Patch{ #else float getK(void); #endif // SEASONAL +#if SPATIALDEMOG + std::vector getDemoScaling(void); +#endif // SPATIALDEMOG #if VCL // for GUI version, draw the Patch on the screen void drawCells(TCanvas*,float,int,rgb); #else // dummy function for batch version void drawCells(float,int,rgb); -#endif +#endif // VCL private: int patchSeqNum;// sequential patch number - patch 0 is reserved for the inter-patch matrix @@ -216,6 +213,9 @@ class Patch{ #else float localK; // patch carrying capacity (individuals) #endif // SEASONAL +#if SPATIALDEMOG + std::vector localDemoScaling; +#endif // SPATIALDEMOG bool changed; #if RS_CONTAIN bool damageLocns; // are there any locations of damage within the patch @@ -223,9 +223,7 @@ class Patch{ // NOTE: THE FOLLOWING ARRAY WILL NEED TO BE MADE SPECIES-SPECIFIC... short nTemp[NSEXES]; // no. of potential settlers in each sex -#if SPATIALDEMOG - std::vector localDemoScaling; -#endif + std::vector cells; std::vector popns; diff --git a/RangeShiftR/src/Population.cpp b/RangeShiftR/src/Population.cpp index 44914c1..11c0774 100644 --- a/RangeShiftR/src/Population.cpp +++ b/RangeShiftR/src/Population.cpp @@ -759,7 +759,7 @@ void Population::reproduction(const float localK,const float envval,const int re const short option) #else #if SPATIALDEMOG -void Population::reproduction(const float localK,const float envval,const int resol, const float localDemoScaling) +void Population::reproduction(const float localK,const float envval,const int resol, std::vector localDemoScaling) #else void Population::reproduction(const float localK,const float envval,const int resol) #endif // SPATIALDEMOG @@ -933,8 +933,12 @@ for (int stg = 0; stg < sstruct.nStages; stg++) { #else #if SEASONAL fec[stg][sex] = pSpecies->getFec(season,stg,sex); +#else +#if SPATIALDEMOG + fec[stg][sex] = pSpecies->getFec(stg,sex)*localDemoScaling[pSpecies->getFecLayer(stg,sex)]; #else fec[stg][sex] = pSpecies->getFec(stg,sex); +#endif // SPATIALDEMOG #endif // SEASONAL #endif // RS_CONTAIN // if (sex == 0 && fec[stg][sex] > dem.lambda) dem.lambda = fec[stg][sex]; @@ -2882,7 +2886,11 @@ void Population::survival0(float localK,float mort,short option0,short option1) #if PEDIGREE void Population::survival0(Pedigree *pPed,float localK,short option0,short option1) #else +#if SPATIALDEMOG +void Population::survival0(float localK,short option0,short option1, std::vector localDemoScaling) +#else void Population::survival0(float localK,short option0,short option1) +#endif // SPATIALDEMOG #endif // PEDIGREE #endif // SPATIALMORT #endif // SEASONAL @@ -2936,9 +2944,14 @@ for (int stg = 0; stg < sstruct.nStages; stg++) { #if SEASONAL dev[stg][sex] = pSpecies->getDev(season,stg,0); surv[stg][sex] = pSpecies->getSurv(season,stg,0); +#else +#if SPATIALDEMOG + dev[stg][sex] = pSpecies->getDev(stg,sex)*localDemoScaling[pSpecies->getDevLayer(stg,sex)]; + surv[stg][sex] = pSpecies->getSurv(stg,sex)*localDemoScaling[pSpecies->getSurvLayer(stg,sex)]; #else dev[stg][sex] = pSpecies->getDev(stg,0); surv[stg][sex] = pSpecies->getSurv(stg,0); +#endif //SPATIALDEMOG #endif // SEASONAL #endif // RS_CONTAIN minAge[stg][sex] = pSpecies->getMinAge(stg,0); diff --git a/RangeShiftR/src/Population.h b/RangeShiftR/src/Population.h index 662ca00..b4cee6b 100644 --- a/RangeShiftR/src/Population.h +++ b/RangeShiftR/src/Population.h @@ -1,25 +1,25 @@ /*---------------------------------------------------------------------------- - * - * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell - * + * + * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell + * * This file is part of RangeShifter. - * + * * RangeShifter is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * RangeShifter is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with RangeShifter. If not, see . - * + * --------------------------------------------------------------------------*/ - - + + /*------------------------------------------------------------------------------ RangeShifter v2.0 Population @@ -34,9 +34,9 @@ The matrix Population(s) hold(s) Individuals which are currently in the process of transfer through the matrix. For full details of RangeShifter, please see: -Bocedi G., Palmer S.C.F., Pe’er G., Heikkinen R.K., Matsinos Y.G., Watts K. +Bocedi G., Palmer S.C.F., Pe?er G., Heikkinen R.K., Matsinos Y.G., Watts K. and Travis J.M.J. (2014). RangeShifter: a platform for modelling spatial -eco-evolutionary dynamics and species’ responses to environmental changes. +eco-evolutionary dynamics and species? responses to environmental changes. Methods in Ecology and Evolution, 5, 388-396. doi: 10.1111/2041-210X.12162 Authors: Greta Bocedi & Steve Palmer, University of Aberdeen @@ -72,7 +72,7 @@ using namespace std; #endif #if RS_CONTAIN #include "Control.h" -#endif // RS_CONTAIN +#endif // RS_CONTAIN //--------------------------------------------------------------------------- @@ -160,7 +160,7 @@ class Population { ); #else popStats getStats(void); -#endif // RS_CONTAIN +#endif // RS_CONTAIN Species* getSpecies(void); #if GROUPDISP int getNGroups(void); @@ -185,12 +185,12 @@ class Population { void extirpate(void); // Remove all individuals #if RS_CONTAIN void cull(Cull*,double); // Remove individuals according to cull rate - void resetCull(void); -#endif // RS_CONTAIN + void resetCull(void); +#endif // RS_CONTAIN #if RS_CONTAIN #if SEASONAL void reproduction( - const int, // habitat index + const int, // habitat index const int, // season const float, // local carrying capacity const float, // effect of environmental gradient and/or stochasticty @@ -198,7 +198,7 @@ class Population { ); #else void reproduction( - const int, // habitat index + const int, // habitat index const float, // local carrying capacity const float, // effect of environmental gradient and/or stochasticty const int // Landscape resolution @@ -240,7 +240,7 @@ class Population { const float, // local carrying capacity const float, // effect of environmental gradient and/or stochasticty const int, // Landscape resolution - const float // local demographic scaling + std::vector // local demographic scaling ); #else void reproduction( @@ -252,7 +252,7 @@ class Population { #endif // BUTTERFLYDISP #endif // GROUPDISP #endif // SEASONAL -#endif // RS_CONTAIN +#endif // RS_CONTAIN // Following reproduction of ALL species, add juveniles to the population void fledge(void); #if SEASONAL @@ -307,7 +307,7 @@ class Population { #if PEDIGREE void outGroups(Pedigree*,int,int,int,bool); #endif -#endif // GROUPDISP +#endif // GROUPDISP #if SEASONAL int transfer( // Executed for the Population(s) in the matrix only Landscape*, // pointer to Landscape @@ -346,14 +346,14 @@ class Population { short // sex of the required mate (0 = female, 1 = male) ); #endif // RS_RCPP -#endif // SEASONAL +#endif // SEASONAL // Determine survival and development and record in individual's status code // Changes are NOT applied to the Population at this stage #if RS_CONTAIN #if SEASONAL void survival0( float, // local carrying capacity - short, // habitat index + short, // habitat index short, // season short, // option0: 0 - stage 0 (juveniles) only // 1 - all stages @@ -365,7 +365,7 @@ class Population { #else void survival0( float, // local carrying capacity - short, // habitat index + short, // habitat index short, // option0: 0 - stage 0 (juveniles) only // 1 - all stages // 2 - stage 1 and above (all non-juveniles) @@ -410,6 +410,18 @@ class Population { // 1 - development and survival // 2 - survival only (when survival is annual) ); +#else +#if SPATIALDEMOG + void survival0( + float, // local carrying capacity + short, // option0: 0 - stage 0 (juveniles) only + // 1 - all stages + // 2 - stage 1 and above (all non-juveniles) + short, // option1: 0 - development only (when survival is annual) + // 1 - development and survival + // 2 - survival only (when survival is annual) + std::vector // local demographic scaling + ); #else void survival0( float, // local carrying capacity @@ -420,10 +432,11 @@ class Population { // 1 - development and survival // 2 - survival only (when survival is annual) ); +#endif // SPATIALDEMOG #endif // PEDIGREE #endif // SPATIALMORT #endif // SEASONAL -#endif // RS_CONTAIN +#endif // RS_CONTAIN #if PEDIGREE void survival1( // Apply survival changes to the population Pedigree* @@ -433,7 +446,7 @@ class Population { #endif #if SEASONAL && PARTMIGRN void extremeEvent(float); -#endif // SEASONAL && PARTMIGRN +#endif // SEASONAL && PARTMIGRN void ageIncrement(void); bool outPopHeaders( // Open population file and write header record int, // Landscape number (-999 to close the file) @@ -461,7 +474,7 @@ class Population { bool, // TRUE to write environmental data bool // TRUE if there is a gradient in carrying capacity ); -#endif // RS_ABC +#endif // RS_ABC #if RS_CONTAIN @@ -478,7 +491,7 @@ class Population { bool // TRUE for a patch-based model, FALSE for a cell-based model ); -#endif // RS_CONTAIN +#endif // RS_CONTAIN void outIndsHeaders( // Open individuals file and write header record int, // replicate @@ -529,8 +542,8 @@ dispstats getDispStats(float); #if RS_CONTAIN int nCulled; // no. of individuals culled - bool selectedForCull; -#endif // RS_CONTAIN + bool selectedForCull; +#endif // RS_CONTAIN }; diff --git a/RangeShiftR/src/Species.cpp b/RangeShiftR/src/Species.cpp index 5af79d3..2ed097e 100644 --- a/RangeShiftR/src/Species.cpp +++ b/RangeShiftR/src/Species.cpp @@ -84,13 +84,14 @@ for (int i = 0; i < NSTAGES; i++) { for (int s = 0; s < NSEASONS; s++) { fec[s][i][j] = 0.0; dev[s][i][j] = 0.0; surv[s][i][j] = 0.0; } +#else +#if SPATIALDEMOG + fecLayer[i][j] =-9; devLayer[i][j] = -9; survLayer[i][j] = -9; #else fec[i][j] = 0.0; dev[i][j] = 0.0; surv[i][j] = 0.0; +#endif // SPATIALDEMOG #endif // SEASONAL #endif // RS_CONTAIN -#if SPATIALDEMOG - fecLayer[i][j] =-9; devLayer[i][j] = -9; survLayer[i][j] = -9; -#endif //SPATIALDEMOG minAge[i][j] = 0; } } diff --git a/RangeShiftR/src/Species.h b/RangeShiftR/src/Species.h index 1443d8e..09a7bfa 100644 --- a/RangeShiftR/src/Species.h +++ b/RangeShiftR/src/Species.h @@ -481,9 +481,9 @@ class Species { short, // stage short // sex ); +#endif // SEASONAL +#endif // RS_CONTAIN -#endif // SEASONAL - #if SPATIALDEMOG void setFecLayer( // set the layer of the spatial demographic scaling used for fecundity short, // stage @@ -517,10 +517,7 @@ class Species { short, // stage short // sex ); - -#endif //SPATIALDEMOG - -#endif // RS_CONTAIN +#endif // SPATIALDEMOG float getMaxFec(void); // Get highest fecundity of any stage void setMinAge( // Set minimum age @@ -938,12 +935,12 @@ class Species { float dev[NSTAGES][NSEXES]; // development probabilities float surv[NSTAGES][NSEXES]; // survival probabilities #endif // SEASONAL +#endif // RS_CONTAIN #if SPATIALDEMOG int fecLayer[NSTAGES][NSEXES]; // layer for spatial varying fecundity int devLayer[NSTAGES][NSEXES]; // layer for spatial varying development int survLayer[NSTAGES][NSEXES]; // layer for spatial varying survival #endif // SPATIALDEMOG -#endif // RS_CONTAIN short minAge[NSTAGES][NSEXES]; // minimum age to enter stage // NOTE - IN THEORY, NEXT 3 VARIABLES COULD BE COMMON, BUT WE WOULD NEED TO ENSURE THAT // ALL MATRICES ARE DELETED IF THERE IS A CHANGE IN NO. OF STAGES OR REPRODUCTION TYPE diff --git a/RangeShiftR/src/SubCommunity.cpp b/RangeShiftR/src/SubCommunity.cpp index d651203..55f8f65 100644 --- a/RangeShiftR/src/SubCommunity.cpp +++ b/RangeShiftR/src/SubCommunity.cpp @@ -410,6 +410,9 @@ void SubCommunity::reproduction(int resol,float epsGlobal,short rasterType,bool { if (subCommNum == 0) return; // no reproduction in the matrix float localK,envval; +#if SPATIALDEMOG +std::vector localDemoScaling; +#endif //SPATIALDEMOG //Species *pSpecies; Cell *pCell; envGradParams grad = paramsGrad->getGradient(); @@ -494,6 +497,9 @@ localK = pPatch->getK(season); #else localK = pPatch->getK(); #endif // SEASONAL +#if SPATIALDEMOG +localDemoScaling = pPatch->getDemoScaling(); +#endif //SPATIALDEMOG if (localK > 0.0) { if (patchModel) { envval = 1.0; // environmental gradient is currently not applied for patch-based model @@ -533,8 +539,12 @@ if (localK > 0.0) { #else #if BUTTERFLYDISP popns[i]->reproduction(localK,envval,resol,option); +#else +#if SPATIALDEMOG + popns[i]->reproduction(localK,envval,resol,localDemoScaling); #else popns[i]->reproduction(localK,envval,resol); +#endif // SPATIALDEMOG #endif // BUTTERFLYDISP #endif // GROUPDISP #endif // SEASONAL @@ -1092,10 +1102,16 @@ if (sim.mortMapLoaded) { } } #endif +#if SPATIALDEMOG +std::vector localDemoScaling; +#endif //SPATIALDEMOG if (part == 0) { #if SEASONAL float localK = pPatch->getK(season); #else +#if SPATIALDEMOG + localDemoScaling = pPatch->getDemoScaling(); +#endif //SPATIALDEMOG float localK = pPatch->getK(); #endif // SEASONAL for (int i = 0; i < npops; i++) { // all populations @@ -1114,8 +1130,12 @@ if (part == 0) { #else #if PEDIGREE popns[i]->survival0(pPed,localK,option0,option1); +#else +#if SPATIALDEMOG + popns[i]->survival0(localK,option0,option1,localDemoScaling); #else popns[i]->survival0(localK,option0,option1); +#endif // SPATIALDEMOG #endif // PEDIGREE #endif // SPATIALMORT #endif // SEASONAL From 2815916dd8af6f51d26ece395737267991f8ed61 Mon Sep 17 00:00:00 2001 From: malchowa Date: Fri, 7 Jan 2022 17:29:18 +0100 Subject: [PATCH 11/35] add R-level parameters for Fec,Dev,Surv-Layer --- RangeShiftR/R/class_DemogParams.R | 85 +++++++++++++++++++++++++++++++ RangeShiftR/R/class_RSparams.R | 2 + RangeShiftR/man/StageStructure.Rd | 4 ++ RangeShiftR/src/Rinterface.cpp | 34 +++++++++++++ 4 files changed, 125 insertions(+) diff --git a/RangeShiftR/R/class_DemogParams.R b/RangeShiftR/R/class_DemogParams.R index 4a8551c..b651f18 100644 --- a/RangeShiftR/R/class_DemogParams.R +++ b/RangeShiftR/R/class_DemogParams.R @@ -38,6 +38,7 @@ #' RepSeasons = 1, PRep = 1.0, RepInterval = 0, SurvSched = 0, #' FecDensDep = FALSE, DevDensDep = FALSE, SurvDensDep = FALSE, #' FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix, +#' FecLayer, DevLayer, SurvLayer, #' PostDestructn = FALSE) #' @param Stages Number of life-stages (integer). Requires a minimum of \eqn{2}, for "juvenile" (stage 0) and "adult". Maximum is 10. #' @param TransMatrix Transition matrix. Defines the development probabilities from each stage into the next, as well as the respective survival probabilities and fecundities. See Details for matrix structure and notation. @@ -52,6 +53,8 @@ # @param FecStageWts,DevStageWts,SurvStageWts Stage-dependent density dependence in fecundity / development / survival? Defaults to \code{FALSE}. # @param FecStageWtsMatrix,DevStageWtsMatrix,SurvStageWtsMatrix Required if stage-dependent density dependence, i.e. if respective \code{FecStageWts}/\code{DevStageWts}/\code{SurfStageWts=TRUE}. Takes a quadratic matrix with (#stages * #sexes) rows/columns indicating the weight of the abundance of each sex/stage on the fecundity/development/survival of each other sex/stage. #' @param FecStageWtsMatrix,DevStageWtsMatrix,SurvStageWtsMatrix Stage-dependent weights in density dependence of fecundity / development / survival. Takes a quadratic matrix with (#sexes * #stages) rows/columns indicating the weight of the abundance of each stage/sex on the fecundity/development/survival of each other stage/sex. If not set, all stages are weighted equally. +#' @param FecLayer,DevLayer,SurvLayer A matrix of layer indices for the three demographic rates (fecundity/development/survival) if they are spatially varying. The indices match the scaling layers given in the \code{\link[RangeShiftR]{ImportedLandscape}} module to each demographic rate. +#' The row number corresponds to the stage; the first/second column contains the layer index for females/males. In case of a female-only or simple sexual model (\code{ReproductionType={0,1}}) only the first column is needed and a vector is accepted to represent it. In any case, values will be coerced to integer. #' @param PostDestructn In a dynamic landscape, determine if all individuals of a population should die (\code{FALSE}, default) or disperse (\code{TRUE}) if its patch gets destroyed. #' @details In stage-structured populations, generations can overlap and individuals can be classified in different stages (e.g. immature vs. breeding individuals) differing in their #' demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity, survival probability and probability of developing to the next stage. @@ -179,6 +182,9 @@ StageStructure <- setClass("StagesParams", slots = c(Stages = "integer_OR_numeri SurvDensCoeff = "integer_OR_numeric", SurvStageWts = "logical", SurvStageWtsMatrix = "matrix", + FecLayer = "matrix_OR_numeric", + DevLayer = "matrix_OR_numeric", + SurvLayer = "matrix_OR_numeric", PostDestructn = "logical") , prototype = list(#Stages = 2L, #TransMatrix = matrix(data = NA, nrow = 1, ncol = 1), @@ -199,6 +205,7 @@ StageStructure <- setClass("StagesParams", slots = c(Stages = "integer_OR_numeri SurvDensCoeff = 1.0, SurvStageWts = FALSE, #SurvStageWtsMatrix = matrix(data = NA, nrow = 1, ncol = 1), + #FecLayer,DevLayer,SurvLayer, PostDestructn = FALSE) ) # check forbidden transitions in TransMatrix (e.g. between non-successive stages or between sexes) @@ -356,6 +363,36 @@ setValidity("StagesParams", function(object) { } } } + if (length(object@FecLayer)>0) { + if (any(is.na(object@FecLayer))) { + msg <- c(msg, "Elements of FecLayer can not be NA!") + } + else{ + if (any(object@FecLayer<=0)) { + msg <- c(msg, "Elements of FecLayer must be strictly postive integers!") + } + } + } + if (length(object@DevLayer)>0) { + if (any(is.na(object@DevLayer))) { + msg <- c(msg, "Elements of DevLayer can not be NA!") + } + else{ + if (any(object@DevLayer<0)) { + msg <- c(msg, "Elements of DevLayer must be postive integers!") + } + } + } + if (length(object@SurvLayer)>0) { + if (any(is.na(object@SurvLayer))) { + msg <- c(msg, "Elements of SurvLayer can not be NA!") + } + else{ + if (any(object@SurvLayer<0)) { + msg <- c(msg, "Elements of SurvLayer must be postive integers!") + } + } + } if (is.na(object@PostDestructn) || length(object@PostDestructn)!=1) { msg <- c(msg, "PostDestructn must be set and of length 1!") } @@ -399,6 +436,12 @@ setMethod("initialize", "StagesParams", function(.Object,...) { warning(this_func, "SurvStageWts stage weigths", warn_msg_ignored, "since SurvDensDep = FALSE.", call. = FALSE) } } + if (!is.null(args$FecLayer)) if(class(.Object@FecLayer)[1]!="matrix") .Object@FecLayer <- matrix(.Object@FecLayer) + if (!is.null(args$DevLayer)) if(class(.Object@DevLayer)[1]!="matrix") .Object@DevLayer <- matrix(.Object@DevLayer) + if (!is.null(args$SurvLayer)) if(class(.Object@SurvLayer)[1]!="matrix") .Object@SurvLayer <- matrix(.Object@SurvLayer) + if(length(.Object@FecLayer)>0) mode(.Object@FecLayer) <- "integer" + if(length(.Object@DevLayer)>0) mode(.Object@DevLayer) <- "integer" + if(length(.Object@SurvLayer)>0) mode(.Object@SurvLayer) <- "integer" .Object} ) setMethod("show", "StagesParams", function(object){ @@ -435,6 +478,18 @@ setMethod("show", "StagesParams", function(object){ print(object@SurvStageWtsMatrix) } } + if(length(object@FecLayer)>0) { + cat(" Spatially varying fecundity layer indices:\n") + print(object@FecLayer) + } + if(length(object@DevLayer)>0) { + cat(" Spatially varying development layer indices:\n") + print(object@DevLayer) + } + if(length(object@SurvLayer)>0) { + cat(" Spatially varying survival layer indices:\n") + print(object@SurvLayer) + } cat(" PostDestructn :", paste(object@PostDestructn) ) if (object@PostDestructn) { cat(" (all disperse)\n") @@ -728,6 +783,21 @@ setValidity("DemogParams", function(object) { } } } + if (length(object@StageStruct@FecLayer)>0) { + if ( any(dim(object@StageStruct@FecLayer)!=c(stgs,2) )) { + msg <- c(msg, "FecLayer must have dimensions \'Stages\' x 2 !") + } + } + if (length(object@StageStruct@DevLayer)>0) { + if ( any(dim(object@StageStruct@DevLayer)!=c(stgs,2) )) { + msg <- c(msg, "DevLayer must have dimensions \'Stages\' x 2 !") + } + } + if (length(object@StageStruct@SurvLayer)>0) { + if ( any(dim(object@StageStruct@SurvLayer)!=c(stgs,2) )) { + msg <- c(msg, "SurvLayer must have dimensions \'Stages\' x 2 !") + } + } } else{ # asexual model or simple sexual model if ( any(dim(object@StageStruct@TransMatrix)!=c(stgs,stgs) )) { @@ -794,6 +864,21 @@ setValidity("DemogParams", function(object) { } } } + if (length(object@StageStruct@FecLayer)>0) { + if ( any(dim(object@StageStruct@FecLayer)!=c(stgs,1) )) { + msg <- c(msg, "FecLayer must have dimensions \'Stages\' x 1 !") + } + } + if (length(object@StageStruct@DevLayer)>0) { + if ( any(dim(object@StageStruct@DevLayer)!=c(stgs,1) )) { + msg <- c(msg, "DevLayer must have dimensions \'Stages\' x 1 !") + } + } + if (length(object@StageStruct@SurvLayer)>0) { + if ( any(dim(object@StageStruct@SurvLayer)!=c(stgs,1) )) { + msg <- c(msg, "SurvLayer must have dimensions \'Stages\' x 1 !") + } + } } } else{ diff --git a/RangeShiftR/R/class_RSparams.R b/RangeShiftR/R/class_RSparams.R index 8a7145b..4602fe6 100644 --- a/RangeShiftR/R/class_RSparams.R +++ b/RangeShiftR/R/class_RSparams.R @@ -100,6 +100,8 @@ setValidity("RSparams", function(object) { } #DEMOGRAPHY validObject(object@demog) + # TODO: FecLayer,DevLayer,SurvLayer - test: + # * that maximum value doesn't exceed number of layers in ImportedLandscape #DISPERSAL validObject(object@dispersal) ## Emigration: check dimensions and values of EmigProb and EmigStage: diff --git a/RangeShiftR/man/StageStructure.Rd b/RangeShiftR/man/StageStructure.Rd index 914e20e..7b4b01f 100644 --- a/RangeShiftR/man/StageStructure.Rd +++ b/RangeShiftR/man/StageStructure.Rd @@ -9,6 +9,7 @@ StageStructure(Stages, TransMatrix, MaxAge = 100, MinAge = 0, RepSeasons = 1, PRep = 1.0, RepInterval = 0, SurvSched = 0, FecDensDep = FALSE, DevDensDep = FALSE, SurvDensDep = FALSE, FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix, + FecLayer, DevLayer, SurvLayer, PostDestructn = FALSE) } \arguments{ @@ -34,6 +35,9 @@ StageStructure(Stages, TransMatrix, MaxAge = 100, MinAge = 0, \item{FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix}{Stage-dependent weights in density dependence of fecundity / development / survival. Takes a quadratic matrix with (#sexes * #stages) rows/columns indicating the weight of the abundance of each stage/sex on the fecundity/development/survival of each other stage/sex. If not set, all stages are weighted equally.} +\item{FecLayer, DevLayer, SurvLayer}{A matrix of layer indices for the three demographic rates (fecundity/development/survival) if they are spatially varying. The indices match the scaling layers given in the \code{\link[RangeShiftR]{ImportedLandscape}} module to each demographic rate. +The row number corresponds to the stage; the first/second column contains the layer index for females/males. In case of a female-only or simple sexual model (\code{ReproductionType={0,1}}) only the first column is needed and a vector is accepted to represent it. In any case, values will be coerced to integer.} + \item{PostDestructn}{In a dynamic landscape, determine if all individuals of a population should die (\code{FALSE}, default) or disperse (\code{TRUE}) if its patch gets destroyed.} } \value{ diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index 6d610dc..2ea8ed6 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -2176,6 +2176,40 @@ int ReadStageStructureR(Rcpp::S4 ParMaster) #endif } +#if SPATIALDEMOG + // index of input layer corresponding to each spatially varying demographic rate + short layercols,layerrows; + Rcpp::IntegerMatrix feclayerMatrix, devlayerMatrix, survlayerMatrix; + + feclayerMatrix = Rcpp::as(StagesParamsR.slot("FecLayer")); + devlayerMatrix = Rcpp::as(StagesParamsR.slot("DevLayer")); + survlayerMatrix = Rcpp::as(StagesParamsR.slot("SurvLayer")); + + if(dem.repType == 2) {layercols = NSEXES;} else {layercols = 1;} + layerrows = sstruct.nStages; + + if(layercols == feclayerMatrix.ncol() && layerrows == feclayerMatrix.nrow() ) { + if(layercols == devlayerMatrix.ncol() && layerrows == devlayerMatrix.nrow() ) { + if(layercols == survlayerMatrix.ncol() && layerrows == survlayerMatrix.nrow() ) { + for(i = 0; i < layerrows; i++) { // stages in rows + for(j = 0; j < layercols; j++) { // sexes in columns + pSpecies->setFecLayer(i, j, feclayerMatrix(i,j)); + pSpecies->setDevLayer(i, j, devlayerMatrix(i,j)); + pSpecies->setSurvLayer(i, j, survlayerMatrix(i,j)); + } + } + } else { + Rcpp::Rcout << "Dimensions of SurvLayer matrix do not match; default values are used instead." << endl; + } + } else { + Rcpp::Rcout << "Dimensions of DevLayer matrix do not match; default values are used instead." << endl; + } + } else { + Rcpp::Rcout << "Dimensions of FecLayer matrix do not match; default values are used instead." << endl; + } + +#endif // SPATIALDEMOG + #if PARTMIGRN bStageStructFile >> header; if (header != "PropPhilRes" ) errors++; From bdcaf053d570e662b6026da5bdac0c7a94baa5c5 Mon Sep 17 00:00:00 2001 From: malchowa Date: Fri, 7 Jan 2022 18:39:09 +0100 Subject: [PATCH 12/35] fix bug by checking for initialisation type before loading dataframe for next replicate; also mend some warnings about unused variables --- RangeShiftR/R/class_RSparams.R | 5 +++++ RangeShiftR/src/Model.cpp | 19 ++++++++++++------- RangeShiftR/src/Rinterface.cpp | 16 ++++++++++++---- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/RangeShiftR/R/class_RSparams.R b/RangeShiftR/R/class_RSparams.R index 8a7145b..4567af2 100644 --- a/RangeShiftR/R/class_RSparams.R +++ b/RangeShiftR/R/class_RSparams.R @@ -704,6 +704,11 @@ setValidity("RSparams", function(object) { if (object@init@InitType == 1 && !object@control@speciesdist) { msg <- c(msg, 'Initialise(): A species distribution map has to be loaded via the \'land\' module if InitType = 1 (initialisation from loaded species distribution map) !') } + if (object@init@InitType == 2 && object@init@InitIndsFile != "NULL") { # from initial individuals list from list of data.frames in 'InitIndsList' + if(length(object@init@InitIndsList)!=object@simul@Replicates) { + msg <- c(msg, 'Initialise(): Number of elements in InitIndsList must equal the number of Replicates!') + } + } } if (object@control@stagestruct) { if (is.na(object@init@InitAge) || length(object@init@InitAge) == 0){ diff --git a/RangeShiftR/src/Model.cpp b/RangeShiftR/src/Model.cpp index b4bf5b1..5580f3e 100644 --- a/RangeShiftR/src/Model.cpp +++ b/RangeShiftR/src/Model.cpp @@ -269,13 +269,18 @@ DEBUGLOG << endl << "RunModel(): finished generating populations" << endl; filesOK = true; #if RS_THREADSAFE - if(rep > 0){ - int error_init = 0; - Rcpp::S4 InitParamsR("InitialisationParams"); - InitParamsR = Rcpp::as(ParMaster.slot("init")); - Rcpp::List InitIndsList = Rcpp::as(InitParamsR.slot("InitIndsList")); - error_init = ReadInitIndsFileR(0, pLandscape, Rcpp::as(InitIndsList[rep])); - if(error_init>0) filesOK = false; + if(init.seedType==2 && init.indsFile=="NULL"){ // initialisation from InitInds list of dataframes + if(rep > 0){ + int error_init = 0; + Rcpp::S4 InitParamsR("InitialisationParams"); + InitParamsR = Rcpp::as(ParMaster.slot("init")); + Rcpp::List InitIndsList = Rcpp::as(InitParamsR.slot("InitIndsList")); + error_init = ReadInitIndsFileR(0, pLandscape, Rcpp::as(InitIndsList[rep])); + if(error_init>0) { + MemoLine("UNABLE TO GET NEXT INITIALISATION DATAFRAME"); + filesOK = false; + } + } } #endif if (rep == 0) { diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index 6d610dc..9888e88 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -4071,7 +4071,9 @@ int ReadArchFileR(wifstream& archFile) Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) { int land_nr; +#if !RS_THREADSAFE int t0, t1, t00, t01; +#endif int read_error; bool params_ok; simParams sim = paramsSim->getSim(); @@ -4088,7 +4090,9 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) DEBUGLOG << "RunBatchR(): landtype=" << landtype << " maxNhab=" << maxNhab << endl; #endif +#if !RS_THREADSAFE t0 = time(0); +#endif // int batch_line = 0; @@ -4127,7 +4131,9 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) pLandscape = new Landscape; bool landOK = true; +#if !RS_THREADSAFE t00 = time(0); +#endif landOK = ReadLandParamsR(pLandscape, ParMaster); //land_nr = ReadLandParamsR(pLandscape, ParMaster); @@ -4231,7 +4237,7 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) } paramsSim->setSim(sim); - if(landOK) t01 = time(0); + //if(landOK) t01 = time(0); #else // RS_THREADSAFE @@ -4329,11 +4335,13 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) string msgerr = ",ERROR CODE,"; string msgabt = ",simulation aborted"; for(int i = 0; i < nSimuls; i++) { // this loop is useless at the moment since nSimuls is set to one in R entry function BatchMainR() +#if !RS_THREADSAFE t00 = time(0); + simParams sim = paramsSim->getSim(); +#endif params_ok = true; anyIndVar = false; read_error = ReadParametersR(pLandscape, ParMaster); - simParams sim = paramsSim->getSim(); if(read_error) { #if !RS_THREADSAFE rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; @@ -4459,8 +4467,8 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) #endif // RS_ABC - t01 = time(0); #if !RS_THREADSAFE + t01 = time(0); rsLog << msgsim << sim.simulation << "," << sim.reps << "," << sim.years << "," << t01 - t00 << endl; #endif @@ -4495,8 +4503,8 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) } // end of nLandscapes loop // Write performance data to log file - t1 = time(0); #if !RS_THREADSAFE + t1 = time(0); rsLog << endl << "Batch,,,," << t1 - t0 << endl; if(rsLog.is_open()) { From e817f62b6021095707b872cfa4c9de5a473a8c46 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Mon, 10 Jan 2022 15:43:39 +0100 Subject: [PATCH 13/35] in Patch.cpp: - changed initial value of localDemoScaling to 1.0 instead of 0.0 in SubCommunity.cpp: - added spatialdemog makro in getStats() function in Population.cpp: - added spatialdemog makro in getStats() function (wherever fec was set) - include ifelse condition in reproduction function to test whether fecundity is spatially varying and whether the assigned layer is valid - include ifelse condition in survival function to test whether development/survival is spatially varying and whether the assigned layer is valid - added spatial varying rate for all reproduction types in population.h: - added getStats function for SPATIALDEMOG macro in Species.cpp: - added boolean for spatial varying fec, surv and dev - initialised as false - moved fec[i][j] to inside of the #else //RS_Contain+//SEASON in Species.h: - added boolean for spatial varying fec, surv and dev - added function to return the value --- RangeShiftR/src/Patch.cpp | 2 +- RangeShiftR/src/Population.cpp | 57 ++++++++++++++++++++++++++++++-- RangeShiftR/src/Population.h | 6 ++++ RangeShiftR/src/Species.cpp | 10 ++++-- RangeShiftR/src/Species.h | 6 ++++ RangeShiftR/src/SubCommunity.cpp | 16 +++++++++ 6 files changed, 91 insertions(+), 6 deletions(-) diff --git a/RangeShiftR/src/Patch.cpp b/RangeShiftR/src/Patch.cpp index 45cd53e..590a655 100644 --- a/RangeShiftR/src/Patch.cpp +++ b/RangeShiftR/src/Patch.cpp @@ -57,7 +57,7 @@ for (int sex = 0; sex < NSEXES; sex++) { } #if SPATIALDEMOG short nlayer=NLAYERS; -for (int i = 0; i < nlayer; i++) localDemoScaling.push_back(0.0); +for (int i = 0; i < nlayer; i++) localDemoScaling.push_back(1.0); #endif changed = false; diff --git a/RangeShiftR/src/Population.cpp b/RangeShiftR/src/Population.cpp index 11c0774..d880dcb 100644 --- a/RangeShiftR/src/Population.cpp +++ b/RangeShiftR/src/Population.cpp @@ -436,7 +436,11 @@ else return 0; #if RS_CONTAIN popStats Population::getStats(short hab) #else +#if SPATIALDEMOG +popStats Population::getStats(std::vector localDemoScaling) +#else popStats Population::getStats(void) +#endif // SPATIALDEMOG #endif // RS_CONTAIN { popStats p; @@ -492,8 +496,24 @@ for (int stg = 1; stg < nStages; stg++) { if (seasonfec > fec) fec = seasonfec; } #else +#if SPATIALDEMOG + if (dem.repType == 2) { + if (pSpecies->getFecSpatial() && pSpecies->getFecLayer(stg,sex)>=0){ + fec = pSpecies->getFec(stg,sex)*localDemoScaling[pSpecies->getFecLayer(stg,sex)]; + } + else fec = pSpecies->getFec(stg,sex); + } + else { + if (pSpecies->getFecSpatial() && pSpecies->getFecLayer(stg,0)>=0){ + fec = pSpecies->getFec(stg,0)*localDemoScaling[pSpecies->getFecLayer(stg,0)]; + } + else fec = pSpecies->getFec(stg,0); + } +#else + if (dem.repType == 2) fec = pSpecies->getFec(stg,sex); else fec = pSpecies->getFec(stg,0); +#endif //SPATIALDEMOG #endif // SEASONAL #endif // RS_CONTAIN #if GROUPDISP @@ -918,8 +938,15 @@ for (int stg = 0; stg < sstruct.nStages; stg++) { #else #if SEASONAL fec[stg][sex] = pSpecies->getFec(season,stg,0); +#else +#if SPATIALDEMOG + if (pSpecies->getFecSpatial() && pSpecies->getFecLayer(stg,0)>=0){ + fec[stg][sex] = pSpecies->getFec(stg,0)*localDemoScaling[pSpecies->getFecLayer(stg,0)]; + } + else fec[stg][sex] = pSpecies->getFec(stg,0); #else fec[stg][sex] = pSpecies->getFec(stg,0); +#endif //SPATIALDEMOG #endif // SEASONAL #endif // RS_CONTAIN } @@ -935,7 +962,10 @@ for (int stg = 0; stg < sstruct.nStages; stg++) { fec[stg][sex] = pSpecies->getFec(season,stg,sex); #else #if SPATIALDEMOG - fec[stg][sex] = pSpecies->getFec(stg,sex)*localDemoScaling[pSpecies->getFecLayer(stg,sex)]; + if (pSpecies->getFecSpatial() && pSpecies->getFecLayer(stg,sex)>=0){ + fec[stg][sex] = pSpecies->getFec(stg,sex)*localDemoScaling[pSpecies->getFecLayer(stg,sex)]; + } + else fec[stg][sex] = pSpecies->getFec(stg,sex); #else fec[stg][sex] = pSpecies->getFec(stg,sex); #endif // SPATIALDEMOG @@ -2946,8 +2976,14 @@ for (int stg = 0; stg < sstruct.nStages; stg++) { surv[stg][sex] = pSpecies->getSurv(season,stg,0); #else #if SPATIALDEMOG - dev[stg][sex] = pSpecies->getDev(stg,sex)*localDemoScaling[pSpecies->getDevLayer(stg,sex)]; - surv[stg][sex] = pSpecies->getSurv(stg,sex)*localDemoScaling[pSpecies->getSurvLayer(stg,sex)]; + if (pSpecies->getDevSpatial() && pSpecies->getDevLayer(stg,0)>=0){ + dev[stg][sex] = pSpecies->getDev(stg,0)*localDemoScaling[pSpecies->getDevLayer(stg,0)]; + } + else dev[stg][sex] = pSpecies->getDev(stg,0); + if (pSpecies->getSurvSpatial() && pSpecies->getSurvLayer(stg,0)>=0){ + surv[stg][sex] = pSpecies->getSurv(stg,0)*localDemoScaling[pSpecies->getSurvLayer(stg,0)]; + } + else surv[stg][sex] = pSpecies->getSurv(stg,0); #else dev[stg][sex] = pSpecies->getDev(stg,0); surv[stg][sex] = pSpecies->getSurv(stg,0); @@ -2969,9 +3005,20 @@ for (int stg = 0; stg < sstruct.nStages; stg++) { #if SEASONAL dev[stg][sex] = pSpecies->getDev(season,stg,sex); surv[stg][sex] = pSpecies->getSurv(season,stg,sex); +#else +#if SPATIALDEMOG + if (pSpecies->getDevSpatial() && pSpecies->getDevLayer(stg,sex)>=0){ + dev[stg][sex] = pSpecies->getDev(stg,sex)*localDemoScaling[pSpecies->getDevLayer(stg,sex)]; + } + else dev[stg][sex] = pSpecies->getDev(stg,sex); + if (pSpecies->getSurvSpatial() && pSpecies->getSurvLayer(stg,sex)>=0){ + surv[stg][sex] = pSpecies->getSurv(stg,sex)*localDemoScaling[pSpecies->getSurvLayer(stg,sex)]; + } + else surv[stg][sex] = pSpecies->getSurv(stg,sex); #else dev[stg][sex] = pSpecies->getDev(stg,sex); surv[stg][sex] = pSpecies->getSurv(stg,sex); +#endif // SPATIALDEMOG #endif // SEASONAL #endif // RS_CONTAIN minAge[stg][sex] = pSpecies->getMinAge(stg,sex); @@ -3536,8 +3583,12 @@ if (dem.stageStruct) { // here we can set the habitat index parameter to 0 as we are not concerned // whether or not the poplation includes breeders p = getStats(0); +#else +#if SPATIALDEMOG + p = getStats(pPatch->getDemoScaling()); #else p = getStats(); +#endif // SPATIALDEMOG #endif // RS_CONTAIN outPop << "\t" << p.nNonJuvs; // non-juvenile stage totals from permanent array diff --git a/RangeShiftR/src/Population.h b/RangeShiftR/src/Population.h index b4cee6b..5086deb 100644 --- a/RangeShiftR/src/Population.h +++ b/RangeShiftR/src/Population.h @@ -158,8 +158,14 @@ class Population { popStats getStats( short // habitat index ); +#else +#if SPATIALDEMOG + popStats getStats( + std::vector + ); #else popStats getStats(void); +#endif // SPATIALDEMOG #endif // RS_CONTAIN Species* getSpecies(void); #if GROUPDISP diff --git a/RangeShiftR/src/Species.cpp b/RangeShiftR/src/Species.cpp index 2ed097e..77d347c 100644 --- a/RangeShiftR/src/Species.cpp +++ b/RangeShiftR/src/Species.cpp @@ -64,6 +64,13 @@ repInterval = 0; maxAge = 1000; survival = 1; fecDens = false; fecStageDens = false; devDens = false; devStageDens = false; survDens = false; survStageDens = false; + +#if SPATIALDEMOG +fecSpatial = false; +survSpatial = false; +devSpatial = false; +#endif //SPATIALDEMOG + disperseOnLoss = false; for (int i = 0; i < NSTAGES; i++) { for (int j = 0; j < NSEXES; j++) { @@ -85,10 +92,9 @@ for (int i = 0; i < NSTAGES; i++) { fec[s][i][j] = 0.0; dev[s][i][j] = 0.0; surv[s][i][j] = 0.0; } #else + fec[i][j] = 0.0; dev[i][j] = 0.0; surv[i][j] = 0.0; #if SPATIALDEMOG fecLayer[i][j] =-9; devLayer[i][j] = -9; survLayer[i][j] = -9; -#else - fec[i][j] = 0.0; dev[i][j] = 0.0; surv[i][j] = 0.0; #endif // SPATIALDEMOG #endif // SEASONAL #endif // RS_CONTAIN diff --git a/RangeShiftR/src/Species.h b/RangeShiftR/src/Species.h index 09a7bfa..2a31d6e 100644 --- a/RangeShiftR/src/Species.h +++ b/RangeShiftR/src/Species.h @@ -485,6 +485,9 @@ class Species { #endif // RS_CONTAIN #if SPATIALDEMOG + bool getFecSpatial(void){return fecSpatial;}; + bool getDevSpatial(void){return devSpatial;}; + bool getSurvSpatial(void){return survSpatial;}; void setFecLayer( // set the layer of the spatial demographic scaling used for fecundity short, // stage short, // sex @@ -895,6 +898,9 @@ class Species { bool survStageDens; bool disperseOnLoss; // individuals disperse on complete loss of patch // (otherwise they die) +#if SPATIALDEMOG + bool fecSpatial, devSpatial, survSpatial; +#endif //SPATIALDEMOG #if GROUPDISP bool selfing; // self-fertilisation possible short paternity; // 0 = fixed (one father per breeding attempt), 1 = assigned at random diff --git a/RangeShiftR/src/SubCommunity.cpp b/RangeShiftR/src/SubCommunity.cpp index 55f8f65..221697b 100644 --- a/RangeShiftR/src/SubCommunity.cpp +++ b/RangeShiftR/src/SubCommunity.cpp @@ -281,8 +281,12 @@ for (int i = 0; i < npops; i++) { // all populations #endif #if RS_CONTAIN pop = popns[i]->getStats(habIndex); +#else +#if SPATIALDEMOG + pop = popns[i]->getStats(pPatch->getDemoScaling()); #else pop = popns[i]->getStats(); +#endif // SPATIALDEMOG #endif // RS_CONTAIN p.pSpecies = pop.pSpecies; p.spNum = pop.spNum; @@ -661,8 +665,12 @@ int npops = (int)popns.size(); for (int i = 0; i < npops; i++) { // all populations #if RS_CONTAIN pop = popns[i]->getStats(habIndex); +#else +#if SPATIALDEMOG + pop = popns[i]->getStats(pPatch->getDemoScaling()); #else pop = popns[i]->getStats(); +#endif // SPATIALDEMOG #endif // RS_CONTAIN #if GROUPDISP bool newgroup = true; @@ -1351,8 +1359,12 @@ int npops = (int)popns.size(); for (int i = 0; i < npops; i++) { // all populations #if RS_CONTAIN pop = popns[i]->getStats(habIndex); +#else +#if SPATIALDEMOG + pop = popns[i]->getStats(pPatch->getDemoScaling()); #else pop = popns[i]->getStats(); +#endif // SPATIALDEMOG #endif // RS_CONTAIN if (pop.pSpecies == pSp && pop.pPatch == pPch) { // population located pPop = popns[i]; @@ -1383,8 +1395,12 @@ int npops = (int)popns.size(); for (int i = 0; i < npops; i++) { #if RS_CONTAIN pop = popns[i]->getStats(habIndex); +#else +#if SPATIALDEMOG + pop = popns[i]->getStats(pPatch->getDemoScaling()); #else pop = popns[i]->getStats(); +#endif // SPATIALDEMOG #endif // RS_CONTAIN if (pop.nInds > 0 && pop.breeding) { occupancy[row]++; From 3da1dcd3818c675b95bc38634d40664e1dd3369a Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Tue, 25 Jan 2022 09:22:49 +0100 Subject: [PATCH 14/35] Added creating ODD protocol and parameter table functionality --- RangeShiftR/NAMESPACE | 1 + RangeShiftR/R/output_handling.R | 20 +- .../odd_protocoll/skeleton/RS_ODD.bib | 5146 +++++++++++++++++ .../odd_protocoll/skeleton/RS_ODD.json | 322 ++ .../odd_protocoll/skeleton/RS_flowchart.png | Bin 0 -> 56781 bytes .../odd_protocoll/skeleton/RS_flowchart_2.png | Bin 0 -> 73808 bytes .../odd_protocoll/skeleton/ecography.csl | 17 + .../odd_protocoll/skeleton/skeleton.Rmd | 1434 +++++ .../skeleton/style-template.docx | Bin 0 -> 162097 bytes .../templates/odd_protocoll/template.yaml | 4 + .../parameter_table/skeleton/skeleton.Rmd | 765 +++ .../templates/parameter_table/template.yaml | 4 + RangeShiftR/man/createParameterTables.Rd | 19 + 13 files changed, 7731 insertions(+), 1 deletion(-) create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.bib create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.json create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_flowchart.png create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_flowchart_2.png create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/ecography.csl create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/skeleton.Rmd create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/style-template.docx create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/template.yaml create mode 100644 RangeShiftR/inst/rmarkdown/templates/parameter_table/skeleton/skeleton.Rmd create mode 100644 RangeShiftR/inst/rmarkdown/templates/parameter_table/template.yaml create mode 100644 RangeShiftR/man/createParameterTables.Rd diff --git a/RangeShiftR/NAMESPACE b/RangeShiftR/NAMESPACE index da1d129..b85a3be 100644 --- a/RangeShiftR/NAMESPACE +++ b/RangeShiftR/NAMESPACE @@ -20,6 +20,7 @@ export(Settlement) export(Simulation) export(StageStructure) export(createODD) +export(createParameterTables) export(getLocalisedEquilPop) export(plotAbundance) export(plotOccupancy) diff --git a/RangeShiftR/R/output_handling.R b/RangeShiftR/R/output_handling.R index 590e95a..dc9877d 100644 --- a/RangeShiftR/R/output_handling.R +++ b/RangeShiftR/R/output_handling.R @@ -906,7 +906,7 @@ setGeneric("createODD", function(filename, s, type,...) standardGeneric("createO setMethod("createODD", c(filename = "character", s="RSparams", type="character"), function(filename="ODD_protocol_template.Rmd", s, type="pdf_document"){ if(!file.exists(filename)) { - unlink(c("RS_flowchart.png", "RS_flowchart_2.png", "style-template.docx", "RS_ODD.json", "ecography.csl")) + unlink(c("RS_flowchart.png", "RS_flowchart_2.png", "style-template.docx", "RS_ODD.json", "ecography.csl", "RS_ODD.bib")) rmarkdown::draft(filename, template = "ODD_protocoll", package = "RangeShiftR", edit = FALSE) } if (type=="pdf_document") format <- "pdf" @@ -916,3 +916,21 @@ setMethod("createODD", c(filename = "character", s="RSparams", type="character") rmarkdown::render(input = filename, output_format = type, params=list(format = format)) }) +#' Creating parameter table file for a specific RangeShiftR parameter master object +#' +#' This function creates template file including tables of the parameter set for a specific RangeShiftR parameter master object \code{s}. It only creates a new file, if the \code{filename} doesn't exist in the folder. +#' If the \code{filename} already exists, it only renders the document to either pdf, word or md. +#' @usage createParameterTables(filename, s, type) +#' +#' @param filename Name of the R markdown file and document to be created +#' @param s RangeShiftR parameter object +#' @param type file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document" +#' @export +setGeneric("createParameterTables", function(filename, s, type,...) standardGeneric("createParameterTables") ) + +setMethod("createParameterTables", c(filename = "character", s="RSparams", type="character"), function(filename="ParameterTable_template.Rmd", s, type="pdf_document"){ + if(!file.exists(filename)) { + rmarkdown::draft(filename, template = "parameter_table", package = "RangeShiftR", edit = FALSE) + } + rmarkdown::render(input = filename, output_format = type) +}) diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.bib b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.bib new file mode 100644 index 0000000..c95e86b --- /dev/null +++ b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.bib @@ -0,0 +1,5146 @@ + +@article{abenSimpleIndividualbasedModels2014, + title = {Simple Individual-Based Models Effectively Represent {{Afrotropical}} Forest Bird Movement in Complex Landscapes}, + author = {Aben, Job and Strubbe, Diederik and Adriaensen, Frank and Palmer, Stephen C. F. and Travis, Justin M. J. and Lens, Luc and Matthysen, Erik}, + year = {2014}, + journal = {Journal of Applied Ecology}, + volume = {51}, + number = {3}, + pages = {693--702}, + issn = {1365-2664}, + doi = {10.1111/1365-2664.12224}, + abstract = {Reliable estimates of dispersal rates between habitat patches (i.e. functional connectivity) are critical for predicting long-term effects of habitat fragmentation on population persistence. Connectivity measures are frequently derived from least cost path or graph-based approaches, despite the fact that these methods make biologically unrealistic assumptions. Individual-based models (IBMs) have been proposed as an alternative as they allow modelling movement behaviour in response to landscape resistance. However, IBMs typically require excessive data to be useful for management. Here, we test the extent to which an IBM requiring only an uncomplicated set of movement rules [the `stochastic movement simulator' (SMS)] can predict animal movement behaviour in real-world landscapes. Movement behaviour of two forest birds, the Cabanis's greenbul Phyllastrephus cabanisi (a forest specialist) and the white-starred robin Pogonocichla stellata (a habitat generalist), across an Afrotropical matrix was simulated using SMS. Predictions from SMS were evaluated against a set of detailed movement paths collected by radiotracking homing individuals. SMS was capable of generating credible predictions of bird movement, although simulations were sensitive to the cost values and the movement rules specified. Model performance was generally highest when movement was simulated across low-contrasting cost surfaces and when virtual individuals were assigned low directional persistence and limited perceptual range. SMS better predicted movements of the habitat specialist than the habitat generalist, which highlights its potential to model functional connectivity when species movements are affected by the matrix. Synthesis and applications. Modelling the dispersal process with greater biological realism is likely to be critical for improving our predictive capability regarding functional connectivity and population persistence. For more realistic models to be widely applied, it is vital that their application is not overly complicated or data demanding. Here, we show that given relatively basic understanding of a species' dispersal ecology, the stochastic movement simulator represents a promising tool for estimating connectivity, which can help improve the design of functional ecological networks aimed at successful species conservation.}, + langid = {english}, + keywords = {dispersal,functional connectivity,habitat fragmentation,homing experiment,perceptual range,true skill statistic}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/1365-2664.12224}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\BK8SA76N\\Aben et al. - 2014 - Simple individual-based models effectively represe.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\AMNGG6P5\\1365-2664.html} +} + +@article{adriaensenApplicationLeastcostModelling2003, + title = {The Application of `Least-Cost' Modelling as a Functional Landscape Model}, + author = {Adriaensen, F. and Chardon, J. P. and De Blust, G. and Swinnen, E. and Villalba, S. and Gulinck, H. and Matthysen, E.}, + year = {2003}, + month = aug, + journal = {Landscape and Urban Planning}, + volume = {64}, + number = {4}, + pages = {233--247}, + issn = {0169-2046}, + doi = {10.1016/S0169-2046(02)00242-6}, + abstract = {The growing awareness of the adverse effects of habitat fragmentation on natural systems has resulted in a rapidly increasing number of actions to reduce current fragmentation of natural systems as well as a growing demand for tools to predict and evaluate the effect of changes in the landscape on connectivity in the natural world. Recent studies used `least-cost' modelling (available as a toolbox in GIS-systems) to calculate `effective distance', a measure for distance modified with the cost to move between habitat patches based on detailed geographical information on the landscape as well as behavioural aspects of the organisms studied. We applied the method to a virtual landscape and a small scaled agricultural system subject to different scenarios in a land re-allotment project. We discuss the importance of technical aspects and ecological assumption underlying this modelling method. The model is shown to be a flexible tool to model functional connectivity in the study of the relation between landscape and mobility of organisms as well as in scenario building and evaluation in wild life protection projects and applied land management projects. Since `effective distance' has the same units as Euclidean distance (m), this effective distance may be a straightforward way to include landscape and behavioural aspects in other models which include distance as a measure for isolation. We show the importance of the `ecological' quality of the input maps and the choice of relevant landscape features and resistance values.}, + langid = {english}, + keywords = {Connectivity,Cost-distance,Effective distance,Environmental planning,Isolation,Landscape model}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\9X9J957L\\S0169204602002426.html} +} + +@article{altweggDensitydependentDispersalSpeed2013, + title = {Density-Dependent Dispersal and the Speed of Range Expansions}, + author = {Altwegg, Res and Collingham, Yvonne C. and Erni, Birgit and Huntley, Brian}, + year = {2013}, + journal = {Diversity and Distributions}, + volume = {19}, + number = {1}, + pages = {60--68}, + issn = {1472-4642}, + doi = {10.1111/j.1472-4642.2012.00943.x}, + abstract = {Aim The speed of range expansions, be it invasive species colonizing a new area or species tracking a moving climatic niche, critically depends on dispersal. Models for species' range expansions generally assume dispersal to be independent of local population densities. However, animals often disperse in response to high population size or alternatively may avoid or leave areas of very low population sizes. We explore whether such density dependence in dispersal can safely be ignored when predicting the speed of range expansions. Location Simulation study. Methods We use simulations to examine the effect of different forms of density dependence in emigration and immigration on the speed of range expansions. For emigration, we consider linear and nonlinear forms of positive density dependence, negative density dependence at low population densities and constant emigration rates. For immigration, we consider options where individuals avoid crowded patches, are attracted to the presence of conspecifics or settle independent of local density. Results The speed of range expansion was slowest when emigration was strongly positively related to density (higher emigration at higher densities) and when individuals avoided settling in low-density patches. It tended to be fastest under negatively density-dependent emigration (higher emigration at lower densities). These results were consistent across two different life histories and different levels of carrying capacity. Main conclusions Our results suggest that considering density-dependent dispersal and the mechanisms leading to it are important for correctly predicting species' rates of spread. Organisms with a tendency to aggregate, for example, by relying on conspecific attraction in settlement and emigrating mainly in response to high local densities, are predicted to be least likely to expand their ranges and most at risk from spatial shifts in their climatic niches.}, + langid = {english}, + keywords = {Allee effect,climate change,density-dependent emigration,density-dependent immigration,global change,invasion,range expansion,settlement,simulation model}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2012.00943.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\6HS9GCCF\\Altwegg et al. - 2013 - Density-dependent dispersal and the speed of range.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\QXVH4PMB\\j.1472-4642.2012.00943.html} +} + +@article{andersonDynamicsRangeMargins2009, + title = {Dynamics of Range Margins for Metapopulations under Climate Change}, + author = {Anderson, B.j and Ak{\c c}akaya, H.r and Ara{\'u}jo, M.b and Fordham, D.a and {Martinez-Meyer}, E and Thuiller, W and Brook, B.w}, + year = {2009}, + month = apr, + journal = {Proceedings of the Royal Society B: Biological Sciences}, + volume = {276}, + number = {1661}, + pages = {1415--1420}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.2008.1681}, + abstract = {We link spatially explicit climate change predictions to a dynamic metapopulation model. Predictions of species' responses to climate change, incorporating metapopulation dynamics and elements of dispersal, allow us to explore the range margin dynamics for two lagomorphs of conservation concern. Although the lagomorphs have very different distribution patterns, shifts at the edge of the range were more pronounced than shifts in the overall metapopulation. For Romerolagus diazi (volcano rabbit), the lower elevation range limit shifted upslope by approximately 700{$\mkern1mu$}m. This reduced the area occupied by the metapopulation, as the mountain peak currently lacks suitable vegetation. For Lepus timidus (European mountain hare), we modelled the British metapopulation. Increasing the dispersive estimate caused the metapopulation to shift faster on the northern range margin (leading edge). By contrast, it caused the metapopulation to respond to climate change slower, rather than faster, on the southern range margin (trailing edge). The differential responses of the leading and trailing range margins and the relative sensitivity of range limits to climate change compared with that of the metapopulation centroid have important implications for where conservation monitoring should be targeted. Our study demonstrates the importance and possibility of moving from simple bioclimatic envelope models to second-generation models that incorporate both dynamic climate change and metapopulation dynamics.}, + keywords = {elevation,extinction risk,global warming,latitude,population dynamics,range limits}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\SW9KLN7A\\Anderson et al. - 2009 - Dynamics of range margins for metapopulations unde.pdf} +} + +@article{araujoClimateChangeThreatens2011, + title = {Climate Change Threatens {{European}} Conservation Areas}, + author = {Ara{\'u}jo, Miguel B. and Alagador, Diogo and Cabeza, Mar and {Nogu{\'e}s-Bravo}, David and Thuiller, Wilfried}, + year = {2011}, + journal = {Ecology Letters}, + volume = {14}, + number = {5}, + pages = {484--492}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2011.01610.x}, + abstract = {Ecology Letters (2011) 14: 484\textendash 492 Abstract Europe has the world's most extensive network of conservation areas. Conservation areas are selected without taking into account the effects of climate change. How effectively would such areas conserve biodiversity under climate change? We assess the effectiveness of protected areas and the Natura 2000 network in conserving a large proportion of European plant and terrestrial vertebrate species under climate change. We found that by 2080, 58 {$\pm$} 2.6\% of the species would lose suitable climate in protected areas, whereas losses affected 63 {$\pm$} 2.1\% of the species of European concern occurring in Natura 2000 areas. Protected areas are expected to retain climatic suitability for species better than unprotected areas (P {$<$} 0.001), but Natura 2000 areas retain climate suitability for species no better and sometimes less effectively than unprotected areas. The risk is high that ongoing efforts to conserve Europe's biodiversity are jeopardized by climate change. New policies are required to avert this risk.}, + langid = {english}, + keywords = {Bioclimatic envelope models,climate change,conservation planning,gap analysis,Natura 2000 networks,protected areas}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2011.01610.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\U2354LV7\\AraĂşjo et al. - 2011 - Climate change threatens European conservation are.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\C2EKNDRI\\j.1461-0248.2011.01610.html} +} + +@article{araujoReducingUncertaintyProjections2005, + title = {Reducing Uncertainty in Projections of Extinction Risk from Climate Change}, + author = {Ara{\'u}jo, Miguel B. and Whittaker, Robert J. and Ladle, Richard J. and Erhard, Markus}, + year = {2005}, + journal = {Global Ecology and Biogeography}, + volume = {14}, + number = {6}, + pages = {529--538}, + issn = {1466-8238}, + doi = {10.1111/j.1466-822X.2005.00182.x}, + abstract = {Aim Concern over the implications of climate change for biodiversity has led to the use of species\textendash climate `envelope' models to forecast risks of species extinctions under climate change scenarios. Recent studies have demonstrated significant variability in model projections and there remains a need to test the accuracy of models and to reduce uncertainties. Testing of models has been limited by a lack of data against which projections of future ranges can be tested. Here we provide a first test of the predictive accuracy of such models using observed species' range shifts and climate change in two periods of the recent past. Location Britain. Methods Observed range shifts for 116 breeding bird species in Britain between 1967 and 1972 (t1) and 1987\textendash 91 (t2) are used. We project range shifts between t1 and t2 for each species based on observed climate using 16 alternative models (4 methods \texttimes{} 2 data parameterizations \texttimes{} 2 rules to transform probabilities of occurrence into presence and absence records). Results Modelling results were extremely variable, with projected range shifts varying both in magnitude and in direction from observed changes and from each other. However, using approaches that explore the central tendency (consensus) of model projections, we were able to improve agreement between projected and observed shifts significantly. Conclusions Our results provide the first empirical evidence of the value of species\textendash climate `envelope' models under climate change and demonstrate reduction in uncertainty and improvement in accuracy through selection of the most consensual projections.}, + langid = {english}, + keywords = {Bioclimatic envelope modelling,British birds,climate change,consensus forecasting,model variability,probabilistic modelling,species distributions,uncertainty}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-822X.2005.00182.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\QL2L633L\\AraĂşjo et al. - 2005 - Reducing uncertainty in projections of extinction .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PXZS6NGK\\j.1466-822X.2005.00182.html} +} + +@article{armsworthConditionalDispersalClines2008, + title = {Conditional Dispersal, Clines, and the Evolution of Dispersiveness}, + author = {Armsworth, Paul R.}, + year = {2008}, + journal = {Theoretical Ecology}, + volume = {2}, + number = {2}, + pages = {105--117}, + issn = {1874-1746}, + doi = {10.1007/s12080-008-0032-2}, + abstract = {Conditional dispersal, in which an individual's decision over whether to disperse is a response to environmental conditions, features prominently in studies of dispersal evolution. Using models of clines, I examine how one widely discussed cost of dispersal, namely, that dispersal impedes local adaptation, changes with conditional dispersal and what this implies for dispersal evolution. I examine the consequences for dispersal evolution of the responsiveness of dispersal to the environment, the accuracy of any proximal cues that individuals rely upon to assess habitat quality, and whether dispersal responds to fitness itself or only to some fitness components (juvenile survivorship). All of the conditional dispersal behaviors that I consider weaken the indirect cost of dispersal inhibiting local adaptation. However, if individuals rely on imprecise cues to assess habitat quality and base dispersal decisions on juvenile survivorship, then conditional dispersal can incur additional costs by exacerbating overcrowding. Conditional dispersal initially leads to steeper clines in traits under direct selection, but when dispersiveness can itself evolve, conditional dispersal allows sigmoidal clines to persist long after those obtained with unconditional movement would become stepped.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\4XFB9WFK\\Armsworth - 2009 - Conditional dispersal, clines, and the evolution o.pdf} +} + +@article{armsworthStructureClinesFitness2008, + title = {The {{Structure}} of {{Clines}} with {{Fitness}}-{{Dependent Dispersal}}.}, + author = {Armsworth, Paul R. and Roughgarden, Joan E.}, + year = {2008}, + month = nov, + journal = {The American Naturalist}, + volume = {172}, + number = {5}, + pages = {648--657}, + publisher = {{The University of Chicago Press}}, + issn = {0003-0147}, + doi = {10.1086/591685}, + abstract = {Spatial models commonly assume that dispersal does not depend on environmental conditions or phenotype. For example, these assumptions underpin explanations for clines on the basis of a trade-off between dispersal and local adaptation. We reexamine clines when an individual's decisions over whether and where to disperse depend on its fitness. We compare fitness-dependent dispersal with cases where dispersal responds to juvenile survivorship only. Clines are steeper the more responsive dispersal is to environmental conditions for all dispersal behaviors that we consider. Clines eventually become stepped as the responsiveness of dispersal to environmental conditions is increased for half of the dispersal behaviors we consider, but smooth clines are maintained for the remaining cases. Smooth clines are maintained by the biased movement of individuals out of the hybrid zone when individuals move directionally in response to gradients in juvenile survivorship, which is a different mechanism to that maintaining smooth clines in classic cline theory.}, + keywords = {cline,conditional dispersal,directed movement,fitnessâ€dependent dispersal,habitat selection,hybrid zone}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\CJSL35EC\\Armsworth und Roughgarden - 2008 - The Structure of Clines with Fitnessâ€Dependent Dis.pdf} +} + +@article{atkinsLocalAdaptationEvolution2010, + title = {Local Adaptation and the Evolution of Species' Ranges under Climate Change}, + author = {Atkins, K. E. and Travis, J. M. J.}, + year = {2010}, + month = oct, + journal = {Journal of Theoretical Biology}, + volume = {266}, + number = {3}, + pages = {449--457}, + issn = {0022-5193}, + doi = {10.1016/j.jtbi.2010.07.014}, + abstract = {The potential impact of climate change on biodiversity is well documented. A well developed range of statistical methods currently exists that projects the possible future habitat of a species directly from the current climate and a species distribution. However, studies incorporating ecological and evolutionary processes remain limited. Here, we focus on the potential role that local adaptation to climate may play in driving the range dynamics of sessile organisms. Incorporating environmental adaptation into a stochastic simulation yields several new insights. Counter-intuitively, our simulation results suggest that species with broader ranges are not necessarily more robust to climate change. Instead, species with broader ranges can be more susceptible to extinction as locally adapted genotypes are often blocked from range shifting by the presence of cooler adapted genotypes that persist even when their optimum climate has left them behind. Interestingly, our results also suggest that it will not always be the cold-adapted phenotypes that drive polewards range expansion. Instead, range shifts may be driven by phenotypes conferring adaptation to conditions prevalent towards the centre of a species' equilibrium distribution. This may have important consequences for the conservation method termed predictive provenancing. These initial results highlight the potential importance of local adaptation in determining how species will respond to climate change and we argue that this is an area requiring urgent theoretical and empirical attention.}, + langid = {english}, + keywords = {Environmental gradient,Environmental niche,Extinction,Local density dependence,Species’ range}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\Y5SR9B3N\\Atkins und Travis - 2010 - Local adaptation and the evolution of species’ ran.pdf} +} + +@article{bachEvolutionConditionalDispersal2007, + title = {On the Evolution of Conditional Dispersal under Environmental and Demographic Stochasticity}, + author = {Bach, Lars and Ripa, J{\"o}rgen and Lundberg, Per}, + year = {2007}, + journal = {Evolutionary Ecology}, + volume = {9}, + number = {4}, + pages = {663--673}, + publisher = {{Springer}}, + issn = {1573-8477}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\22L7H7FA\\on-the-evolution-of-conditional-dispersal-under-environmental-and-demographic-stochasticity(f23.html} +} + +@article{baguetteIndividualDispersalLandscape2013, + title = {Individual Dispersal, Landscape Connectivity and Ecological Networks}, + author = {Baguette, Michel and Blanchet, Simon and Legrand, Delphine and Stevens, Virginie M. and Turlure, Camille}, + year = {2013}, + journal = {Biological Reviews}, + volume = {88}, + number = {2}, + pages = {310--326}, + issn = {1469-185X}, + doi = {10.1111/brv.12000}, + abstract = {Connectivity is classically considered an emergent property of landscapes encapsulating individuals' flows across space. However, its operational use requires a precise understanding of why and how organisms disperse. Such movements, and hence landscape connectivity, will obviously vary according to both organism properties and landscape features. We review whether landscape connectivity estimates could gain in both precision and generality by incorporating three fundamental outcomes of dispersal theory. Firstly, dispersal is a multi-causal process; its restriction to an `escape reaction' to environmental unsuitability is an oversimplification, as dispersing individuals can leave excellent quality habitat patches or stay in poor-quality habitats according to the relative costs and benefits of dispersal and philopatry. Secondly, species, populations and individuals do not always react similarly to those cues that trigger dispersal, which sometimes results in contrasting dispersal strategies. Finally, dispersal is a major component of fitness and is thus under strong selective pressures, which could generate rapid adaptations of dispersal strategies. Such evolutionary responses will entail spatiotemporal variation in landscape connectivity. We thus strongly recommend the use of genetic tools to: (i) assess gene flow intensity and direction among populations in a given landscape; and (ii) accurately estimate landscape features impacting gene flow, and hence landscape connectivity. Such approaches will provide the basic data for planning corridors or stepping stones aiming at (re)connecting local populations of a given species in a given landscape. This strategy is clearly species- and landscape-specific. But we suggest that the ecological network in a given landscape could be designed by stacking up such linkages designed for several species living in different ecosystems. This procedure relies on the use of umbrella species that are representative of other species living in the same ecosystem.}, + langid = {english}, + keywords = {biodiversity,biological conservation,extinction,functional connectivity,gene flow,habitat selection,ideal free distribution,individual fitness,landscape,landscape fragmentation,landscape genetics,linkage strategy,population isolation,seascape,structural connectivity,umbrella species,water basin}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/brv.12000}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\BITCE59D\\Baguette et al. - 2013 - Individual dispersal, landscape connectivity and e.pdf} +} + +@article{baguetteLandscapeConnectivityAnimal2007, + title = {Landscape Connectivity and Animal Behavior: Functional Grain as a Key Determinant for Dispersal}, + shorttitle = {Landscape Connectivity and Animal Behavior}, + author = {Baguette, Michel and Van Dyck, Hans}, + year = {2007}, + month = oct, + journal = {Landscape Ecology}, + volume = {22}, + number = {8}, + pages = {1117--1129}, + issn = {1572-9761}, + doi = {10.1007/s10980-007-9108-4}, + abstract = {Landscape connectivity can be viewed from two perspectives that could be considered as extremes of a gradient: functional connectivity (refers to how the behavior of a dispersing organism is affected by landscape structure and elements) and structural connectivity (depends on the spatial configuration of habitat patches in the landscape like vicinity or presence of barriers). Here we argue that dispersal behavior changes with landscape configuration stressing the evolutionary dimension that has often been ignored in landscape ecology. Our working hypothesis is that the functional grain of resource patches in the landscape is a crucial factor shaping individual movements, and therefore influencing landscape connectivity. Such changes are likely to occur on the short-term (some generations). We review empirical studies comparing dispersal behavior in landscapes differing in their fragmentation level, i.e., with variable resource grain. We show that behavioral variation affecting each of the three stages of the dispersal process (emigration, displacement or transfer in the matrix, and immigration) is indeed likely to occur according to selective pressures resulting from changes in the grain of the landscape (mortality or deferred costs). Accordingly, landscape connectivity results from the interaction between the dispersal behavior of individuals and the grain of each particular landscape. The existence of this interaction requires that connectivity estimates (being based on individual-based models, least cost distance algorithms, and structural connectivity metrics or even Euclidian distance) should be carefully evaluated for their applicability with respect to the required level of precision in species-specific and landscape information.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\MDCFMANN\\Baguette und Van Dyck - 2007 - Landscape connectivity and animal behavior functi.pdf} +} + +@article{baguetteLongDistanceDispersal2003, + title = {Long {{Distance Dispersal}} and {{Landscape Occupancy}} in a {{Metapopulation}} of the {{Cranberry Fritillary Butterfly}}}, + author = {Baguette, Michel}, + year = {2003}, + journal = {Ecography}, + volume = {26}, + number = {2}, + pages = {153--160}, + publisher = {{[Nordic Society Oikos, Wiley]}}, + issn = {0906-7590}, + abstract = {Movements between habitat patches in a patchy population of the butterfly Boloria aquilonaris were monitored using capture-mark-recapture methods during three successive generations. For each data set, the inverse cumulative proportion of individuals moving 100 m distance classes was fitted to the negative exponential function and the inverse power function. In each case, the negative exponential function provided a better fit than the inverse power function. Two dispersal kernels were generated using both negative exponential and inverse power functions. These dispersal kernels were used to predict movements between 14 suitable sites in a landscape of \$220\textbackslash{} \{\textbackslash rm km\}\^\{2\}\$. The negative exponential function generated a dispersal kernel predicting extremely low probabilities for movements exceeding 1 km. The inverse power function generated probabilities predicting that between site movements were possible, according to metapopulation size. CMR studies in the landscape revealed that long distance movements occurred at each generation, corresponding to predictions of the inverse power function dispersal kernel. A total of 26 movements between sites (up to 13 km) were detected, together with recolonisation of empty sites. The spatial scale of the metapopulation dynamics is larger than ever reported on butterflies and long distance movements clearly matter to the persistence of this species in a highly fragmented landscape.} +} + +@article{bakerIncrementalCostsBenefits2004, + title = {Incremental {{Costs}} and {{Benefits Shape Natal Dispersal}}: {{Theory}} and {{Example}} with {{Hemilepistus}} Reaumuri}, + shorttitle = {Incremental {{Costs}} and {{Benefits Shape Natal Dispersal}}}, + author = {Baker, Mitchell B. and Rao, Steven}, + year = {2004}, + journal = {Ecology}, + volume = {85}, + number = {4}, + pages = {1039--1051}, + publisher = {{Ecological Society of America}}, + issn = {0012-9658}, + abstract = {Incremental (distance-dependent) costs and benefits of dispersal have received less attention than those that are qualitative. We present a dynamic programming model of settling behavior using parameters estimated from a field study of dispersal in desert isopods, Hemilepistus reaumuri, which walk up to thousands of meters before settling in new or already-established burrows each spring. The model shows that incremental costs of dispersal lead to right-skewed population dispersal patterns, in contrast to cost-free systems or those with unitary costs (i.e., a one time cost of leaving a group or patch). In the model, continuous variation in habitat quality, as opposed to discrete suitable vs. unsuitable sites, allows for trade-offs with dispersal costs that lead to shifts in the likelihood of settling in a patch of a given quality. Thus, measurement of quantitative costs and benefits of movement are needed to understand population dispersal distributions. These costs or benefits may be observable during or after movement, and we examined both pre- and postsettling incremental consequences of dispersal. The daily mortality rate of traveling isopods was 4.2\% during the dispersal season, higher than that of settled individuals. Successful settlers traveled more slowly, but burrows started in midseason were most likely to succeed. More distant burrows failed more often, suggesting either an additional cost of movement or a difference in the quality of individuals traveling different distances. The predicted mean dispersal duration from the simulations matched observed values closely, but was based on an unrealistic assumption of perfect knowledge of habitat quality, suggesting some other factor favors longer times before settling. Reproductive success was much higher in re-used burrows than in new burrows, making them a possible incentive for long-distance movements.} +} + +@article{balciauskasEstimationCarryingCapacity2009, + title = {Estimation of {{Carrying Capacity}} and {{Growth Rate}} of {{Wolf}} in {{Lithuania}}}, + author = {Bal{\v c}iauskas, Linas and Kawata, Yukichika}, + year = {2009}, + month = jan, + journal = {Acta Zoologica Lituanica}, + volume = {19}, + number = {2}, + pages = {79--84}, + publisher = {{Taylor \& Francis}}, + issn = {1392-1657}, + doi = {10.2478/v10043-009-0018-3}, + abstract = {The purpose of this paper is to estimate ecological carrying capacity (K) and growth rate (r) of Lithuanian wolf based on the estimated population sizes and number of harvests from 1966 to 2007. We used the modified Schaefer model where population dynamics is described by the logistic-equation-type growth function with time lag operator ({$\tau$}) and harvest. We statistically selected the best model whose {$\tau$} value was 4 and estimated value of K and r were 626 heads for the total Lithuanian territory and 0.776/ year, respectively. Then we examined the appropriateness of the values from the ecological point of view and concluded that ecological carrying capacity is supported by the prey base of wild animals, mainly cervids, and also by depredation on domestic animals. In 1994\textendash 1998, the population was near ecological carrying capacity or exceeding it, what we explain by high ecological plasticity of the species and increased use of domestic animals.}, + keywords = {Canis lupus,ecological carrying capacity,growth rate,Schaefer model}, + annotation = {\_eprint: https://doi.org/10.2478/v10043-009-0018-3}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\HUEETBTZ\\BalÄŤiauskas und Kawata - 2009 - Estimation of Carrying Capacity and Growth Rate of.pdf} +} + +@article{bartonEvolutionIntelligentDispersal2009, + title = {The Evolution of an `Intelligent' Dispersal Strategy: Biased, Correlated Random Walks in Patchy Landscapes}, + shorttitle = {The Evolution of an `Intelligent' Dispersal Strategy}, + author = {Barto{\'n}, Kamil A. and Phillips, Ben L. and Morales, Juan M. and Travis, Justin M. J.}, + year = {2009}, + journal = {Oikos}, + volume = {118}, + number = {2}, + pages = {309--319}, + issn = {1600-0706}, + doi = {10.1111/j.1600-0706.2008.16936.x}, + abstract = {Theoretical work exploring dispersal evolution focuses on the emigration rate of individuals and typically assumes that movement occurs either at random to any other patch or to one of the nearest-neighbour patches. There is a lack of work exploring the process by which individuals move between patches, and how this process evolves. This is of concern because any organism that can exert control over dispersal direction can potentially evolve efficiencies in locating patches, and the process by which individuals find new patches will potentially have major effects on metapopulation dynamics and gene flow. Here, we take an initial step towards filling this knowledge gap. To do this we constructed a continuous space population model, in which individuals each carry heritable trait values that specify the characteristics of the biased correlated random walk they use to disperse from their natal patch. We explore how the evolution of the random walk depends upon the cost of dispersal, the density of patches in the landscape, and the emigration rate. The clearest result is that highly correlated walks always evolved (individuals tended to disperse in relatively straight lines from their natal patch), reflecting the efficiency of straight-line movement. In our models, more costly dispersal resulted in walks with higher correlation between successive steps. However, the exact walk that evolved also depended upon the density of suitable habitat patches, with low density habitat evolving more biased walks (individuals which orient towards suitable habitat at quite large distances from that habitat). Thus, low density habitat will tend to develop individuals which disperse efficiently between adjacent habitat patches but which only rarely disperse to more distant patches; a result that has clear implications for metapopulation theory. Hence, an understanding of the movement behaviour of dispersing individuals is critical for robust long-term predictions of population dynamics in fragmented landscapes.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2008.16936.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\JNCMDJPJ\\Barton et al. - 2009 - The evolution of an â€intelligent’ dispersal strate.pdf} +} + +@article{bartonRiskyMovementIncreases2012, + title = {Risky Movement Increases the Rate of Range Expansion}, + author = {Barto{\'n}, K. A. and Hovestadt, T. and Phillips, B. L. and Travis, J. M. J.}, + year = {2012}, + month = mar, + journal = {Proceedings of the Royal Society B: Biological Sciences}, + volume = {279}, + number = {1731}, + pages = {1194--1202}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.2011.1254}, + abstract = {The movement rules used by an individual determine both its survival and dispersal success. Here, we develop a simple model that links inter-patch movement behaviour with population dynamics in order to explore how individual dispersal behaviour influences not only its dispersal and survival, but also the population's rate of range expansion. Whereas dispersers are most likely to survive when they follow nearly straight lines and rapidly orient movement towards a non-natal patch, the most rapid rates of range expansion are obtained for trajectories in which individuals delay biasing their movement towards a non-natal patch. This result is robust to the spatial structure of the landscape. Importantly, in a set of evolutionary simulations, we also demonstrate that the movement strategy that evolves at an expanding front is much closer to that maximizing the rate of range expansion than that which maximizes the survival of dispersers. Our results suggest that if one of our conservation goals is the facilitation of range-shifting, then current indices of connectivity need to be complemented by the development and utilization of new indices providing a measure of the ease with which a species spreads across a landscape.}, + keywords = {biased correlated random walk,evolution,individual-based model,movement,range margin}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\M8C2KNS4\\BartoĹ„ et al. - 2012 - Risky movement increases the rate of range expansi.pdf} +} + +@article{beaumontApproximateBayesianComputation2010, + title = {Approximate {{Bayesian Computation}} in {{Evolution}} and {{Ecology}}}, + author = {Beaumont, Mark A.}, + year = {2010}, + journal = {Annual Review of Ecology, Evolution, and Systematics}, + volume = {41}, + number = {1}, + pages = {379--406}, + doi = {10.1146/annurev-ecolsys-102209-144621}, + abstract = {In the past 10years a statistical technique, approximate Bayesian computation (ABC), has been developed that can be used to infer parameters and choose between models in the complicated scenarios that are often considered in the environmental sciences. For example, based on gene sequence and microsatellite data, the method has been used to choose between competing models of human demographic history as well as to infer growth rates, times of divergence, and other parameters. The method fits naturally in the Bayesian inferential framework, and a brief overview is given of the key concepts. Three main approaches to ABC have been developed, and these are described and compared. Although the method arose in population genetics, ABC is increasingly used in other fields, including epidemiology, systems biology, ecology, and agent-based modeling, and many of these applications are briefly described.}, + annotation = {\_eprint: https://doi.org/10.1146/annurev-ecolsys-102209-144621}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\GYAR69T9\\Beaumont - 2010 - Approximate Bayesian Computation in Evolution and .pdf} +} + +@article{bellardImpactsClimateChange2012, + title = {Impacts of Climate Change on the Future of Biodiversity}, + author = {Bellard, C{\'e}line and Bertelsmeier, Cleo and Leadley, Paul and Thuiller, Wilfried and Courchamp, Franck}, + year = {2012}, + month = apr, + journal = {Ecology Letters}, + volume = {15}, + number = {4}, + pages = {365--377}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2011.01736.x}, + abstract = {Many studies in recent years have investigated the effects of climate change on the future of biodiversity. In this review, we first examine the different possible effects of climate change that can operate at individual, population, species, community, ecosystem and biome scales, notably showing that species can respond to climate change challenges by shifting their climatic niche along three non-exclusive axes: time (e.g. phenology), space (e.g. range) and self (e.g. physiology). Then, we present the principal specificities and caveats of the most common approaches used to estimate future biodiversity at global and sub-continental scales and we synthesise their results. Finally, we highlight several challenges for future research both in theoretical and applied realms. Overall, our review shows that current estimates are very variable, depending on the method, taxonomic group, biodiversity loss metrics, spatial scales and time periods considered. Yet, the majority of models indicate alarming consequences for biodiversity, with the worst-case scenarios leading to extinction rates that would qualify as the sixth mass extinction in the history of the earth.}, + langid = {english}, + pmcid = {PMC3880584}, + pmid = {22257223}, + keywords = {Biodiversity,climate change,Climate Change,Conservation of Natural Resources,Ecosystem,Models; Theoretical,Population Dynamics,species extinctions}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\HLSEUUDE\\Bellard et al. - 2012 - Impacts of climate change on the future of biodive.pdf} +} + +@incollection{bentonDispersalInvertebratesInfluences2012, + title = {Dispersal in Invertebrates: Influences on Individual Decisions}, + shorttitle = {Dispersal in Invertebrates}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Benton, Tim G. and Bowler, Diana E.}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0004}, + abstract = {This chapter briefly lists some of the generic factors that differentiate dispersal in invertebrates from vertebrates. Invertebrates can have considerable flexibility in their life histories and can often develop specific machinery or life-history stages for movement or a combination of life-history stage and behaviour. This makes the overall context of the life history crucial in determining the scope for dispersal, which is often constrained developmentally into a short period. There has been an increasing recognition that variability between individuals is both ubiquitous and important in ecology. The purpose of this chapter is to focus on the proximal factors that influence an individual's decisions, using examples from invertebrates. Environmental factors are first addressed, followed by the role of an individual's age, stage, sex, and condition on dispersal decisions.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {ecology,invertebrates,life histories,life-history stages,variability,vertebrates} +} + +@article{bentonMicrocosmExperimentsCan2007, + title = {Microcosm Experiments Can Inform Global Ecological Problems}, + author = {Benton, Tim G. and Solan, Martin and Travis, Justin M. J. and Sait, Steven M.}, + year = {2007}, + month = oct, + journal = {Trends in Ecology \& Evolution}, + volume = {22}, + number = {10}, + pages = {516--521}, + issn = {0169-5347}, + doi = {10.1016/j.tree.2007.08.003}, + abstract = {Global-scale environmental problems are rarely regarded as amenable to traditional scientific experiment. We argue here that small-scale experiments using `model organisms' in microcosms or mesocosms can be a useful approach for apparently intractable global problems, such as ecosystem responses to climate change or managing biodiversity through the design of nature reserves. An experimental, small-scale research programme can easily be coupled with the development of theory and act as a stimulus to further research, thereby hastening both understanding of the issues and development of practical solutions. This process \textendash{} from microcosm experiment to the development of practical application \textendash{} has previously been influential but also has a long time lag. We suggest short-cuts in an attempt to stimulate the use of small-scale experiments to address globally urgent issues with meaningful policy implications.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\L32VQKBL\\S0169534707002315.html} +} + +@article{bessa-gomesDiscreteTwosexModels2010, + title = {Discrete Two-Sex Models of Population Dynamics: {{On}} Modelling the Mating Function}, + shorttitle = {Discrete Two-Sex Models of Population Dynamics}, + author = {{Bessa-Gomes}, Carmen and Legendre, St{\'e}phane and Clobert, Jean}, + year = {2010}, + month = sep, + journal = {Acta Oecologica}, + volume = {36}, + pages = {439--445}, + issn = {1146-609X}, + doi = {10.1016/j.actao.2010.02.010}, + abstract = {Although sexual reproduction has long been a central subject of theoretical ecology, until recently its consequences for population dynamics were largely overlooked. This is now changing, and many studies have addressed this issue, showing that when the mating system is taken into account, the population dynamics depends on the relative abundance of males and females, and is non-linear. Moreover, sexual reproduction increases the extinction risk, namely due to the Allee effect. Nevertheless, different studies have identified diverse potential consequences, depending on the choice of mating function. In this study, we investigate the consequences of three alternative mating functions that are frequently used in discrete population models: the minimum; the harmonic mean; and the modified harmonic mean. We consider their consequences at three levels: on the probability that females will breed; on the presence and intensity of the Allee effect; and on the extinction risk. When we consider the harmonic mean, the number of times the individuals of the least abundant sex mate exceeds their mating potential, which implies that with variable sex-ratios the potential reproductive rate is no longer under the modeller's control. Consequently, the female breeding probability exceeds 1 whenever the sex-ratio is male-biased, which constitutes an obvious problem. The use of the harmonic mean is thus only justified if we think that this parameter should be re-defined in order to represent the females' breeding rate and the fact that females may reproduce more than once per breeding season. This phenomenon buffers the Allee effect, and reduces the extinction risk. However, when we consider birth-pulse populations, such a phenomenon is implausible because the number of times females can reproduce per birth season is limited. In general, the minimum or modified harmonic mean mating functions seem to be more suitable for assessing the impact of mating systems on population dynamics.} +} + +@article{bestWhichSpeciesWill2007, + title = {Which Species Will Succesfully Track Climate Change? {{The}} Influence of Intraspecific Competition and Density Dependent Dispersal on Range Shifting Dynamics}, + shorttitle = {Which Species Will Succesfully Track Climate Change?}, + author = {Best, A. S. and Johst, K. and M{\"u}nkem{\"u}ller, T. and Travis, J. M. J.}, + year = {2007}, + journal = {Oikos}, + volume = {116}, + number = {9}, + pages = {1531--1539}, + issn = {1600-0706}, + doi = {10.1111/j.0030-1299.2007.16047.x}, + abstract = {Understanding the ability of species to shift their geographic range is of considerable importance given the current period of rapid climate change. Furthermore, a greater understanding of the spatial population dynamics underlying range shifting is required to complement the advances made in climate niche modelling. A simulation model is developed which incorporates three key features that have been largely overlooked in studies of range shifting dynamics: the form of intraspecific competition, density dependent dispersal and the transient dynamics of habitat patches. The results show that the exact shape of the response depends critically on both local and patch dynamics. Species whose intraspecific competition is contest based are more vulnerable than those whose competition is scramble based. Contesters are especially sensitive when combined with density dependent dispersal. Species living in patches whose carrying capacity grows slowly are also susceptible to rapid shifts of environmental conditions. A complementary analytic approach further highlights the importance of intraspecific competition.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0030-1299.2007.16047.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\IJZ8ET6D\\Best et al. - 2007 - Which species will succesfully track climate chang.pdf} +} + +@article{bianRepresentationEnvironmentContext2003, + title = {The Representation of the Environment in the Context of Individual-Based Modeling}, + author = {Bian, Ling}, + year = {2003}, + month = jan, + journal = {Ecological Modelling}, + volume = {159}, + number = {2}, + pages = {279--296}, + issn = {0304-3800}, + doi = {10.1016/S0304-3800(02)00298-3}, + abstract = {Individual-based modeling includes the explicit representation of the environment, to which individual organisms interact. From the perspective of spatial representation, spatially extended environment is different from discrete individual organisms, thus the success of object-orientation in the representation of individual organisms may not be applicable to the representation of the environment. Over the past few years, the attempt to adopt object-orientation in the representation of the environment has stimulated interesting discussions over what space is and how it may be represented in ecological modeling. The objective of this paper is to evaluate the merit of two traditional approaches used to represent the environment, i.e., the grid model and the patch model, and, in particular, the object-oriented versions of the two approaches in the representation of the environment. Two case studies are provided in support of the discussions of how the environment may be represented. One case study concerns individual fish growth and movement in an aquatic environment and the other concerns the movement of calving elk in a short-grass prairie. The discussion stresses the importance of two issues in the context of individual-based modeling: (1) the distinction between object-orientation used as a programming technique and as a representation means, and (2) the conceptual compatibility between a perceived phenomenon and the approach used to represent the phenomenon. It is suggested that caution be exercised in the practice of treating cells as objects. The paper concludes that two approaches may be appropriate for individual-based modeling. One is a hybrid approach that incorporates the traditional grid model of the environment and an object-oriented model of individual organisms. The other is the all-object approach that combines the object-oriented patches of the environment and the object-oriented individual organisms.}, + langid = {english}, + keywords = {Individual-based modeling,Object-orientation,Spatial representation}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RLNSJF35\\S0304380002002983.html} +} + +@article{bitumeDensityGeneticRelatedness2013, + title = {Density and Genetic Relatedness Increase Dispersal Distance in a Subsocial Organism}, + author = {Bitume, E. V. and Bonte, D. and Ronce, O. and Bach, F. and Flaven, E. and Olivieri, I. and Nieberding, C. M.}, + year = {2013}, + journal = {Ecology Letters}, + volume = {16}, + number = {4}, + pages = {430--437}, + issn = {1461-0248}, + doi = {10.1111/ele.12057}, + abstract = {Although dispersal distance plays a major role in determining whether organisms will reach new habitats, empirical data on the environmental factors that affect dispersal distance are lacking. Population density and kin competition are two factors theorised to increase dispersal distance. Using the two-spotted spider mite as a model species, we altered these two environmental conditions and measured the mean dispersal distance of individuals, as well as other attributes of the dispersal kernel. We find that both density and relatedness in the release patch increase dispersal distance. Relatedness, but not density, changes the shape of the dispersal kernel towards a more skewed and leptokurtic shape including a longer `fat-tail'. This is the first experimental demonstration that kin competition can shape the whole distribution of dispersal distances in a population, and thus affect the geographical spread of dispersal phenotypes.}, + langid = {english}, + keywords = {Conditional dispersal,density,distance,invasion,kernel,plasticity,relatedness}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ele.12057}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\8XQNKD3E\\Bitume et al. - 2013 - Density and genetic relatedness increase dispersal.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\7RE73I53\\ele.html} +} + +@article{bocediEffectsLocalAdaptation2013, + title = {Effects of Local Adaptation and Interspecific Competition on Species' Responses to Climate Change}, + author = {Bocedi, Greta and Atkins, Katherine E. and Liao, Jishan and Henry, Roslyn C. and Travis, Justin M. J. and Hellmann, Jessica J.}, + year = {2013}, + month = sep, + journal = {Annals of the New York Academy of Sciences}, + volume = {1297}, + pages = {83--97}, + issn = {1749-6632}, + doi = {10.1111/nyas.12211}, + abstract = {Local adaptation and species interactions have been shown to affect geographic ranges; therefore, we need models of climate impact that include both factors. To identify possible dynamics of species when including these factors, we ran simulations of two competing species using an individual-based, coupled map-lattice model using a linear climatic gradient that varies across latitude and is warmed over time. Reproductive success is governed by an individual's adaptation to local climate as well as its location relative to global constraints. In exploratory experiments varying the strength of adaptation and competition, competition reduces genetic diversity and slows range change, although the two species can coexist in the absence of climate change and shift in the absence of competitors. We also found that one species can drive the other to extinction, sometimes long after climate change ends. Weak selection on local adaptation and poor dispersal ability also caused surfing of cooler-adapted phenotypes from the expanding margin backwards, causing loss of warmer-adapted phenotypes. Finally, geographic ranges can become disjointed, losing centrally-adapted genotypes. These initial results suggest that the interplay between local adaptation and interspecific competition can significantly influence species' responses to climate change, in a way that demands future research.}, + langid = {english}, + pmid = {23905876}, + keywords = {Adaptation; Physiological,Animals,Biodiversity,Climate,climate change,Climate Change,competition,Computer Simulation,Ecology,Genetic Variation,geographic range shift,Geography,lattice map model,local adaptation,Phenotype,Plants,species interactions,Species Specificity,Temperature} +} + +@article{bocediProjectingSpeciesRange2012a, + title = {Projecting Species' Range Expansion Dynamics: {{Sources}} of Systematic Biases When Scaling up Patterns and Processes}, + shorttitle = {Projecting Species' Range Expansion Dynamics}, + author = {Bocedi, Greta and Pe'er, Guy and Heikkinen, Risto and Matsinos, Yiannis and Travis, Justin}, + year = {2012}, + month = dec, + journal = {Methods in Ecology and Evolution}, + volume = {3}, + pages = {1008--1018}, + doi = {10.1111/j.2041-210X.2012.00235.x}, + abstract = {1. Dynamic simulation models are a promising tool for assessing how species respond to habitat fragmentation and climate change. However, sensitivity of their outputs to impacts of spatial resolution is insufficiently known. 2. Using an individual-based dynamic model for species' range expansion, we demonstrate an inherent risk of substantial biases resulting from choices relating to the resolution at which key patterns and processes are modelled. 3. Increasing cell size leads to overestimating dispersal distances, the extent of the range shift and population size. Overestimation accelerates with cell size for species with short dispersal capacity and is particularly severe in highly fragmented landscapes. 4. The overestimation results from three main interacting sources: homogenisation of spatial information, alteration of dispersal kernels and stabilisation/aggregation of population dynamics. 5. We urge for caution in selecting the spatial resolution used in dynamic simulations and other predictive models and highlight the urgent need to develop upscaling methods that maintain important patterns and processes at fine scales.}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RUMGZ673\\Bocedi et al. - 2012 - Projecting species' range expansion dynamics Sour.pdf} +} + +@article{bocediRangeShifterPlatformModelling2014, + title = {{{RangeShifter}}: A Platform for Modelling Spatial Eco-Evolutionary Dynamics and Species' Responses to Environmental Changes}, + shorttitle = {{{RangeShifter}}}, + author = {Bocedi, Greta and Palmer, Stephen C. F. and Pe'er, Guy and Heikkinen, Risto K. and Matsinos, Yiannis G. and Watts, Kevin and Travis, Justin M. J.}, + year = {2014}, + journal = {Methods in Ecology and Evolution}, + volume = {5}, + number = {4}, + pages = {388--396}, + issn = {2041-210X}, + doi = {10.1111/2041-210X.12162}, + abstract = {Rapid environmental changes are threatening biodiversity and exposing species to novel ecological and evolutionary pressures. The scientific community increasingly recognizes the need for dynamic models integrating sufficient complexity both to improve our understanding of species' responses to environmental changes and to inform effective management strategies. Using three illustrative examples, we introduce a novel modelling platform, RangeShifter, which integrates complex population dynamics and dispersal behaviour, includes plastic and evolutionary processes and simulates scenarios on spatially explicit landscapes. The software provides functionality for a wide variety of modelling applications ranging from applied questions, where it can be parameterized for real landscapes and species to compare alternative potential management interventions, to purely theoretical studies of species' eco-evolutionary dynamics and responses to different environmental pressures. RangeShifter provides an important tool for facilitating the advancement of ecological theory on species' spatial dynamics in response to environmental changes, and linking it directly to application in biodiversity conservation.}, + langid = {english}, + keywords = {connectivity,dispersal,dynamic modelling,environmental change,individual-based modelling,population dynamics,population viability}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.12162}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\QHNGAGMT\\Bocedi et al. - 2014 - RangeShifter a platform for modelling spatial eco.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\7ZLZZ8X7\\2041-210X.html} +} + +@article{bocediUncertaintyRoleInformation2012, + title = {Uncertainty and the {{Role}} of {{Information Acquisition}} in the {{Evolution}} of {{Context-Dependent Emigration}}.}, + author = {Bocedi, Greta and Heinonen, Johannes and Travis, Justin M. J.}, + year = {2012}, + month = may, + journal = {The American Naturalist}, + volume = {179}, + number = {5}, + pages = {606--620}, + publisher = {{The University of Chicago Press}}, + issn = {0003-0147}, + doi = {10.1086/665004}, + abstract = {There is increasing empirical evidence that individuals utilize social and environmental cues in making decisions as to whether or not to disperse. However, we lack theory exploring the influence of information acquisition and use on the evolution of dispersal strategies and metapopulation dynamics. We used an individual-based, spatially explicit simulation model to explore the evolution of emigration strategies under varying precision of information about the natal patch, cost of information acquisition, and environmental predictability. Our findings show an interesting interplay between information use and the evolved emigration propensity. Lack of information led to higher emigration probabilities in more unpredictable environments but to lower emigration probabilities in constant or highly predictable scenarios. Somewhat-informed dispersal strategies were selected for in most cases, even when the acquisition of information was associated with a moderate reproductive cost. Notably, selection rarely favored investment in acquisition of high-precision information, and the tendency to invest in information acquisition was greatest in predictable environments when the associated cost was low. Our results highlight that information use can affect dispersal in a complex manner and also emphasize that information-acquisition behaviors can themselves come under strong selection, resulting in evolutionary dynamics that are tightly coupled to those of context-dependent behaviors.}, + keywords = {context-dependent dispersal,cost of information,emigration,environmental stochasticity,information,uncertainty}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VIVSA5K9\\Bocedi et al. - 2012 - Uncertainty and the Role of Information Acquisitio.pdf} +} + +@article{boeyeMoreRapidClimate2013, + title = {More Rapid Climate Change Promotes Evolutionary Rescue through Selection for Increased Dispersal Distance}, + author = {Boeye, Jeroen and Travis, Justin M J and Stoks, Robby and Bonte, Dries}, + year = {2013}, + month = feb, + journal = {Evolutionary Applications}, + volume = {6}, + number = {2}, + pages = {353--364}, + issn = {1752-4571}, + doi = {10.1111/eva.12004}, + abstract = {Species can either adapt to new conditions induced by climate change or shift their range in an attempt to track optimal environmental conditions. During current range shifts, species are simultaneously confronted with a second major anthropogenic disturbance, landscape fragmentation. Using individual-based models with a shifting climate window, we examine the effect of different rates of climate change on the evolution of dispersal distances through changes in the genetically determined dispersal kernel. Our results demonstrate that the rate of climate change is positively correlated to the evolved dispersal distances although too fast climate change causes the population to crash. When faced with realistic rates of climate change, greater dispersal distances evolve than those required for the population to keep track of the climate, thereby maximizing population size. Importantly, the greater dispersal distances that evolve when climate change is more rapid, induce evolutionary rescue by facilitating the population in crossing large gaps in the landscape. This could ensure population persistence in case of range shifting in fragmented landscapes. Furthermore, we highlight problems in using invasion speed as a proxy for potential range shifting abilities under climate change.}, + pmcid = {PMC3586623}, + pmid = {23467649}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\YF5C6PZH\\Boeye et al. - 2013 - More rapid climate change promotes evolutionary re.pdf} +} + +@incollection{bonenfantChapterEmpiricalEvidence2009, + title = {Chapter 5 {{Empirical Evidence}} of {{Density}}-{{Dependence}} in {{Populations}} of {{Large Herbivores}}}, + booktitle = {Advances in {{Ecological Research}}}, + author = {Bonenfant, Christophe and Gaillard, Jean-Michel and Coulson, Tim and Festa-Bianchet, Marco and Loison, Anne and Garel, Mathieu and Loe, Leif Egil and Blanchard, Pierrick and Pettorelli, Nathalie and Owen-Smith, Norman and Du Toit, Johan and Duncan, Patrick}, + year = {2009}, + month = jan, + volume = {41}, + pages = {313--357}, + publisher = {{Academic Press}}, + doi = {10.1016/S0065-2504(09)00405-X}, + abstract = {Density-dependence is a key concept in population dynamics. Here, we review how body mass and demographic parameters vary with population density in large herbivores. The demographic parameters we consider are age- and sex-specific reproduction, survival and dispersal. As population density increases, the body mass of large herbivores typically declines, affecting individual performance traits such as age of first reproduction and juvenile survival. We documented density-dependent variations in reproductive rates for many species from the Arctic to subtropical zones, both with and without predation. At high density, a trade-off between growth and reproduction delays the age of primiparity and often increases the costs of reproduction, decreasing both survival and future reproductive success of adult females. Density-dependent preweaning juvenile survival occurs more often in polytocous than monotocous species, while the effects of density on post-weaning juvenile survival are independent of litter size. Responses of adult survival to density are much less marked than for juvenile survival, and may be exaggerated by density-dependent changes in age structure. The role of density-dependent dispersal in population dynamics remains uncertain, because very few studies have examined it. For sexually dimorphic species, we found little support for higher sensitivity to increasing density in the life history traits of males compared to females, except for young age classes. It remains unclear whether males of dimorphic species are sensitive to male density, female density or a combination of both. Eberhardt's model predicting a sequential effect of density on demographic parameters (from juvenile survival to adult survival) was supported by 9 of 10 case studies. In addition, population density at birth can also lead to cohort effects, including a direct effect on juvenile survival and long-term effects on average cohort performance as adults. Density effects typically interact with weather, increasing in strength in years of harsh weather. For some species, the synchronization between plant phenology and reproductive cycle is a key process in population dynamics. The timing of late gestation as a function of plant phenology determines whether density-dependence influences juvenile survival or adult female reproduction. The detection of density-dependence can be made difficult by nonlinear relationships with density, high sampling variability, lagged responses to density changes, changes in population age structure, and temporal variation in the main factors limiting population growth. The negative feedbacks of population size on individual performance, and hence on life history traits, are thus only expected in particular ecological contexts and are most often restricted to certain age-specific demographic traits.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\GW6JUAKL\\S006525040900405X.html} +} + +@article{bonteCostsDispersal2012a, + title = {Costs of Dispersal}, + author = {Bonte, D. and Bullock, James M. and Coulon, Aur{\'e}lie and Delgado, Maria and Gibbs, Melanie and Lehouck, Valerie and Matthysen, Erik and Mustin, Karin and Saastamoinen, Marjo and Schtickzelle, Nicolas and Stevens, Virginie M. and Vandewoestijne, Sofie and Baguette, Michel and Barton, Kamil and Benton, Tim G. and {Chaput-Bardy}, Audrey and Clobert, Jean and Dytham, Calvin and Hovestadt, Thomas and Meier, Christoph M. and Palmer, Steve C. F. and Turlure, Camille and Travis, Justin M. J.}, + year = {2012}, + month = may, + journal = {Biological Reviews of the Cambridge Philosophical Society}, + volume = {87}, + number = {2}, + pages = {290--312}, + issn = {1469-185X}, + doi = {10.1111/j.1469-185X.2011.00201.x}, + abstract = {Dispersal costs can be classified into energetic, time, risk and opportunity costs and may be levied directly or deferred during departure, transfer and settlement. They may equally be incurred during life stages before the actual dispersal event through investments in special morphologies. Because costs will eventually determine the performance of dispersing individuals and the evolution of dispersal, we here provide an extensive review on the different cost types that occur during dispersal in a wide array of organisms, ranging from micro-organisms to plants, invertebrates and vertebrates. In general, costs of transfer have been more widely documented in actively dispersing organisms, in contrast to a greater focus on costs during departure and settlement in plants and animals with a passive transfer phase. Costs related to the development of specific dispersal attributes appear to be much more prominent than previously accepted. Because costs induce trade-offs, they give rise to covariation between dispersal and other life-history traits at different scales of organismal organisation. The consequences of (i) the presence and magnitude of different costs during different phases of the dispersal process, and (ii) their internal organisation through covariation with other life-history traits, are synthesised with respect to potential consequences for species conservation and the need for development of a new generation of spatial simulation models.}, + langid = {english}, + pmid = {21929715}, + keywords = {Animals,Biological Evolution,Demography,Ecosystem,Models; Biological,Plants} +} + +@article{bonteEvolutionDispersalPolymorphism2010, + title = {Evolution of Dispersal Polymorphism and Local Adaptation of Dispersal Distance in Spatially Structured Landscapes}, + author = {Bonte, Dries and Hovestadt, Thomas and Poethke, Hans-Joachim}, + year = {2010}, + journal = {Oikos}, + volume = {119}, + number = {3}, + pages = {560--566}, + issn = {1600-0706}, + doi = {10.1111/j.1600-0706.2009.17943.x}, + abstract = {Many organisms show polymorphism in dispersal distance strategies. This variation is particularly ecological relevant if it encompasses a functional separation of short- (SDD) and long-distance dispersal (LDD). It remains, however, an open question whether both parts of the dispersal kernel are similarly affected by landscape related selection pressures. We implemented an individual-based model to analyze the evolution of dispersal traits in fractal landscapes that vary in the proportion of habitat and its spatial configuration. Individuals are parthenogenetic with dispersal distance determined by two alleles on each individual's genome: one allele coding for the probability of global dispersal and one allele coding for the variance {$\sigma$} of a Gaussian local dispersal with mean value zero. Simulations show that mean distances of local dispersal and the probability of global dispersal, increase with increasing habitat availability, but that changes in the habitat's spatial autocorrelation impose opposing selective pressure: local dispersal distances decrease and global dispersal probabilities increase with decreasing spatial autocorrelation of the available habitat. Local adaptation of local dispersal distance emerges in landscapes with less than 70\% of clumped habitat. These results demonstrate that long and short distance dispersal evolve separately according to different properties of the landscape. The landscape structure may consequently largely affect the evolution of dispersal distance strategies and the level of dispersal polymorphism.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2009.17943.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\26JI7GPW\\Bonte et al. - 2010 - Evolution of dispersal polymorphism and local adap.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\TWEVRDE9\\j.1600-0706.2009.17943.html} +} + +@article{bonteGeographicalVariationWolf2006, + title = {Geographical Variation in Wolf Spider Dispersal Behaviour Is Related to Landscape Structure}, + author = {Bonte, D. and Borre, J. V. and Lens, L. and Maelfait, J.}, + year = {2006}, + journal = {Animal Behaviour}, + doi = {10.1016/j.anbehav.2005.11.026}, + abstract = {Theoretical studies suggest that mechanisms underlying habitat and population structure are important for shaping inter- and intraspecific variation in dispersal behaviour. Empirical evidence, especially in organisms living in spatially structured populations, however, is scarce. We investigated the relation between habitat configuration (patch size, connectivity) and dispersal by studying variation in tiptoe behaviour in the dune wolf spider, Pardosa monticola, under standardized laboratory conditions. Tiptoe behaviour prepares spiderlings for ballooning and can hence be considered as a precursor of aerial dispersal. The proportion of individuals that displayed tiptoe behaviour was highest in offspring from grasslands in a large dune landscape where habitat was continuously available, intermediate in offspring originating from a fragmented landscape, and lowest in offspring originating from a small and extremely isolated grassland patch. At the level of the fragmented landscape, variation was related to size and connectivity of four subpopulations. Both between and within landscapes, maternal condition had no effect on offspring dispersal. These results indicate that changes in habitat configuration from a large, connected landscape towards a small, fragmented one may lead to a decrease in dispersal rates, even at small spatial scales. Hence, behavioural traits narrowly linked to dispersal evolve towards less mobile phenotypes in small, isolated habitats, indicating high dispersal costs and low efficacy for gene flow in a spider species restricted to fragmented habitats.}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VZYMCIZB\\Bonte et al. - 2006 - Geographical variation in wolf spider dispersal be.pdf} +} + +@article{bonteSexspecificDispersalEvolutionary2009, + title = {Sex-Specific Dispersal and Evolutionary Rescue in Metapopulations Infected by Male Killing Endosymbionts}, + author = {Bonte, Dries and Hovestadt, Thomas and Poethke, Hans Joachim}, + year = {2009}, + abstract = {Background: Male killing endosymbionts manipulate their arthropod host reproduction by only allowing female embryos to develop into infected females and killing all male offspring. Because the resulting change in sex ratio is expected to affect the evolution of sex-specific dispersal, we investigated under which environmental conditions strong sex-biased dispersal would emerge, and how this would affect host and endosymbiont metapopulation persistence. Results: We simulated host-endosymbiont metapopulation dynamics in an individual-based model, in which dispersal rates are allowed to evolve independently for the two sexes. Prominent male-biased dispersal emerges under conditions of low environmental stochasticity and high dispersal mortality. By applying a reshuffling algorithm, we show that kin-competition is a major driver of this evolutionary pattern because of the high within-population relatedness of males compared to those of females. Moreover, the evolution of sex-specific dispersal rescues metapopulations from extinction by (i) reducing endosymbiont fixation rates and (ii) by enhancing the extinction of endosymbionts within metapopulations that are characterized by low environmental stochasticity. Conclusion: Male killing endosymbionts induce the evolution of sex-specific dispersal, with prominent male-biased dispersal under conditions of low environmental stochasticity and high dispersal mortality. This male-biased dispersal emerges from stronger kin-competition in males compared to females and induces an evolutionary rescue mechanism.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\247LIPEI\\Bonte et al. - 2009 - Sex-specific dispersal and evolutionary rescue in .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\HUQ9MEX5\\3999.html} +} + +@article{boulangeatAccountingDispersalBiotic2012, + title = {Accounting for Dispersal and Biotic Interactions to Disentangle the Drivers of Species Distributions and Their Abundances}, + author = {Boulangeat, Isabelle and Gravel, Dominique and Thuiller, Wilfried}, + year = {2012}, + journal = {Ecology Letters}, + volume = {15}, + number = {6}, + pages = {584--593}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2012.01772.x}, + abstract = {Ecology Letters (2012) Abstract Although abiotic factors, together with dispersal and biotic interactions, are often suggested to explain the distribution of species and their abundances, species distribution models usually focus on abiotic factors only. We propose an integrative framework linking ecological theory, empirical data and statistical models to understand the distribution of species and their abundances together with the underlying community assembly dynamics. We illustrate our approach with 21 plant species in the French Alps. We show that a spatially nested modelling framework significantly improves the model's performance and that the spatial variations of species presence\textendash absence and abundances are predominantly explained by different factors. We also show that incorporating abiotic, dispersal and biotic factors into the same model bring new insights to our understanding of community assembly. This approach, at the crossroads between community ecology and biogeography, is a promising avenue for a better understanding of species co-existence and biodiversity distribution.}, + langid = {english}, + keywords = {Abiotic niche,co-occurrence index,community assembly rules,dispersal mechanisms,fundamental niche,niche overlap,species distribution model,species pool}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2012.01772.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\Z73IB6IG\\Boulangeat et al. - 2012 - Accounting for dispersal and biotic interactions t.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\3EFKHHTR\\j.1461-0248.2012.01772.html} +} + +@article{bowlerCausesConsequencesAnimal2005a, + title = {Causes and Consequences of Animal Dispersal Strategies: Relating Individual Behaviour to Spatial Dynamics}, + shorttitle = {Causes and Consequences of Animal Dispersal Strategies}, + author = {Bowler, Diana E. and Benton, Tim G.}, + year = {2005}, + month = may, + journal = {Biological Reviews of the Cambridge Philosophical Society}, + volume = {80}, + number = {2}, + pages = {205--225}, + issn = {1464-7931}, + doi = {10.1017/s1464793104006645}, + abstract = {Knowledge of the ecological and evolutionary causes of dispersal can be crucial in understanding the behaviour of spatially structured populations, and predicting how species respond to environmental change. Despite the focus of much theoretical research, simplistic assumptions regarding the dispersal process are still made. Dispersal is usually regarded as an unconditional process although in many cases fitness gains of dispersal are dependent on environmental factors and individual state. Condition-dependent dispersal strategies will often be superior to unconditional, fixed strategies. In addition, dispersal is often collapsed into a single parameter, despite it being a process composed of three interdependent stages: emigration, inter-patch movement and immigration, each of which may display different condition dependencies. Empirical studies have investigated correlates of these stages, emigration in particular, providing evidence for the prevalence of conditional dispersal strategies. Ill-defined use of the term 'dispersal', for movement across many different spatial scales, further hinders making general conclusions and relating movement correlates to consequences at the population level. Logistical difficulties preclude a detailed study of dispersal for many species, however incorporating unrealistic dispersal assumptions in spatial population models may yield inaccurate and costly predictions. Further studies are necessary to explore the importance of incorporating specific condition-dependent dispersal strategies for evolutionary and population dynamic predictions.}, + langid = {english}, + pmid = {15921049}, + keywords = {Animals,Animals; Wild,Behavior; Animal,Breeding,Ecosystem,Female,Food Chain,Inbreeding,Male,Population Density,Population Dynamics,Sex Ratio} +} + +@article{bridleLimitsEvolutionRange2007, + title = {Limits to Evolution at Range Margins: When and Why Does Adaptation Fail?}, + shorttitle = {Limits to Evolution at Range Margins}, + author = {Bridle, Jon R and Vines, Timothy H}, + year = {2007}, + month = mar, + journal = {Trends in Ecology \& Evolution}, + volume = {22}, + number = {3}, + pages = {140--147}, + issn = {0169-5347}, + doi = {10.1016/j.tree.2006.11.002}, + abstract = {What stops populations expanding into new territory beyond the edge of a range margin? Recent models addressing this problem have brought together population genetics and population ecology, and some have included interactions among species at range edges. Here, we review these models of adaptation at environmental or parapatric margins, and discuss the contrasting effects of migration in either swamping local adaptation, or supplying the genetic variation that is necessary for adaptation to continue. We illustrate how studying adaptation at range margins (both with and without hybridization) can provide insight into the genetic and ecological factors that limit evolution more generally, especially in response to current rates of environmental change.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\G3XSAUPQ\\S0169534706003636.html} +} + +@article{brookerModellingSpeciesRange2007, + title = {Modelling Species' Range Shifts in a Changing Climate: The Impacts of Biotic Interactions, Dispersal Distance and the Rate of Climate Change}, + shorttitle = {Modelling Species' Range Shifts in a Changing Climate}, + author = {Brooker, Rob W. and Travis, Justin M. J. and Clark, Ewen J. and Dytham, Calvin}, + year = {2007}, + month = mar, + journal = {Journal of Theoretical Biology}, + volume = {245}, + number = {1}, + pages = {59--65}, + issn = {0022-5193}, + doi = {10.1016/j.jtbi.2006.09.033}, + abstract = {There is an urgent need for accurate prediction of climate change impacts on species ranges. Current reliance on bioclimatic envelope approaches ignores important biological processes such as interactions and dispersal. Although much debated, it is unclear how such processes might influence range shifting. Using individual-based modelling we show that interspecific interactions and dispersal ability interact with the rate of climate change to determine range-shifting dynamics in a simulated community with two growth forms--mutualists and competitors. Interactions determine spatial arrangements of species prior to the onset of rapid climate change. These lead to space-occupancy effects that limit the rate of expansion of the fast-growing competitors but which can be overcome by increased long-distance dispersal. As the rate of climate change increases, lower levels of long-distance dispersal can drive the mutualists to extinction, demonstrating the potential for subtle process balances, non-linear dynamics and abrupt changes from species coexistence to species loss during climate change.}, + langid = {english}, + pmid = {17087974}, + keywords = {Animals,Behavior; Animal,Biodiversity,Climate,Competitive Behavior,Ecosystem,Environment,Models; Biological,Population Dynamics} +} + +@article{broquetMolecularEstimationDispersal2009, + title = {Molecular {{Estimation}} of {{Dispersal}} for {{Ecology}} and {{Population Genetics}}}, + author = {Broquet, Thomas and Petit, Eric J.}, + year = {2009}, + journal = {Annual Review of Ecology, Evolution, and Systematics}, + volume = {40}, + number = {1}, + pages = {193--216}, + doi = {10.1146/annurev.ecolsys.110308.120324}, + abstract = {The dispersal process, by which individuals or other dispersing agents such as gametes or seeds move from birthplace to a new settlement locality, has important consequences for the dynamics of genes, individuals, and species. Many of the questions addressed by ecology and evolutionary biology require a good understanding of species' dispersal patterns. Much effort has thus been devoted to overcoming the difficulties associated with dispersal measurement. In this context, genetic tools have long been the focus of intensive research, providing a great variety of potential solutions to measuring dispersal. This methodological diversity is reviewed here to help (molecular) ecologists find their way toward dispersal inference and interpretation and to stimulate further developments.}, + annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.110308.120324}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\FEHEGY8P\\Broquet und Petit - 2009 - Molecular Estimation of Dispersal for Ecology and .pdf} +} + +@article{bullockLongDistanceSeed2000, + title = {Long Distance Seed Dispersal by Wind: Measuring and Modelling the Tail of the Curve}, + shorttitle = {Long Distance Seed Dispersal by Wind}, + author = {Bullock, J. M. and Clarke, R. T.}, + year = {2000}, + month = sep, + journal = {Oecologia}, + volume = {124}, + number = {4}, + pages = {506--521}, + issn = {1432-1939}, + doi = {10.1007/PL00008876}, + abstract = {The size and shape of the tail of the seed dispersal curve is important in determining the spatial dynamics of plants, but is difficult to quantify. We devised an experimental protocol to measure long-distance dispersal which involved measuring dispersal by wind from isolated individuals at a range of distances from the source, but maintaining a large and constant sampling intensity at each distance. Seeds were trapped up to 80 m from the plants, the furthest a dispersal curve for an individual plant has been measured for a non-tree species. Standard empirical negative exponential and inverse power models were fitted using likelihood methods. The latter always had a better fit than the former, but in most cases neither described the data well, and strongly under-estimated the tail of the dispersal curve. An alternative model formulation with two kernel components had a much better fit in most cases and described the tail data more accurately. Mechanistic models provide an alternative to direct measurement of dispersal. However, while a previous mechanistic model accurately predicted the modal dispersal distance, it always under-predicted the measured tail. Long-distance dispersal may be caused by rare extremes in horizontal wind speed or turbulence. Therefore, under-estimation of the tail by standard empirical models and mechanistic models may indicate a lack of flexibility to take account of such extremes. Future studies should examine carefully whether the widely used exponential and power models are, in fact, valid, and investigate alternative models.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RYBFU2QH\\Bullock und Clarke - 2000 - Long distance seed dispersal by wind measuring an.pdf} +} + +@article{cagnacciAnimalEcologyMeets2010, + title = {Animal Ecology Meets {{GPS-based}} Radiotelemetry: A Perfect Storm of Opportunities and Challenges}, + shorttitle = {Animal Ecology Meets {{GPS-based}} Radiotelemetry}, + author = {Cagnacci, Francesca and Boitani, Luigi and Powell, Roger A. and Boyce, Mark S.}, + year = {2010}, + month = jul, + journal = {Philosophical Transactions of the Royal Society B: Biological Sciences}, + volume = {365}, + number = {1550}, + pages = {2157--2162}, + publisher = {{Royal Society}}, + doi = {10.1098/rstb.2010.0107}, + abstract = {Global positioning system (GPS) telemetry technology allows us to monitor and to map the details of animal movement, securing vast quantities of such data even for highly cryptic organisms. We envision an exciting synergy between animal ecology and GPS-based radiotelemetry, as for other examples of new technologies stimulating rapid conceptual advances, where research opportunities have been paralleled by technical and analytical challenges. Animal positions provide the elemental unit of movement paths and show where individuals interact with the ecosystems around them. We discuss how knowing where animals go can help scientists in their search for a mechanistic understanding of key concepts of animal ecology, including resource use, home range and dispersal, and population dynamics. It is probable that in the not-so-distant future, intense sampling of movements coupled with detailed information on habitat features at a variety of scales will allow us to represent an animal's cognitive map of its environment, and the intimate relationship between behaviour and fitness. An extended use of these data over long periods of time and over large spatial scales can provide robust inferences for complex, multi-factorial phenomena, such as meta-analyses of the effects of climate change on animal behaviour and distribution.}, + keywords = {animal movement,autocorrelation,biotelemetry,fitness,global positioning system technology,mechanistic models}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\373TI4KL\\Cagnacci et al. - 2010 - Animal ecology meets GPS-based radiotelemetry a p.pdf} +} + +@book{caswellMatrixPopulationModels2001a, + title = {Matrix {{Population Models}}: {{Construction}}, {{Analysis}}, and {{Interpretation}}}, + shorttitle = {Matrix {{Population Models}}}, + author = {Caswell, Hal}, + year = {2001}, + edition = {Second Edition, Matrix Population Models, Second Edition, is a comprehensive treatment of matrix population models and their applications in ecology and ...}, + publisher = {{Oxford University Press}}, + address = {{Oxford, New York}}, + abstract = {Published by Sinauer Associates, an imprint of Oxford University Press. Matrix Population Models, Second Edition, is a comprehensive treatment of matrix population models and their applications in ecology and demography. It begins with simple cases, presented in detail so that beginning students can learn how to use these powerful models. It goes on to cover advanced topics in stochastic and nonlinear models. Analytical methods and theoretical issues are illustrated with empirical examples throughout. The decade since the publication of the First Edition of this book has seen enormous progress in the theory and application of matrix population models. The new edition includes greatly expanded treatment of stochastic and density-dependent models, sensitivity analysis, and statistical inference, and new chapters on parameter estimation, structured population models, demographic stochasticity, and applications of matrix models in conservation biology. Matrix Population Models, Second Edition, is an indispensable reference for graduate students and researchers in ecology, population biology, conservation biology, and human demography}, + isbn = {978-0-87893-121-7}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\WGS8CE2Q\\matrix-population-models-9780878931217.html} +} + +@article{caswellSensitivityAnalysisEquilibrium2004, + title = {Sensitivity Analysis of Equilibrium in Density-Dependent Matrix Population Models}, + author = {Caswell, Hal and Takada, Takenori and Hunter, Christine M.}, + year = {2004}, + journal = {Ecology Letters}, + volume = {7}, + number = {5}, + pages = {380--387}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2004.00595.x}, + abstract = {We consider the effects of parameter perturbations on a density-dependent population at equilibrium. Such perturbations change the dominant eigenvalue {$\lambda$} of the projection matrix evaluated at the equilibrium as well as the equilibrium itself. We show that, regardless of the functional form of density dependence, the sensitivity of {$\lambda$} is equal to the sensitivity of an effective equilibrium density , which is a weighted combination of the equilibrium stage densities. The weights measure the contributions of each stage to density dependence and their effects on demography. Thus, is in general more relevant than total density, which simply adds all stages regardless of their ecological properties. As log {$\lambda$} is the invasion exponent, our results show that successful invasion will increase , and that an evolutionary stable strategy will maximize . Our results imply that eigenvalue sensitivity analysis of a population projection matrix that is evaluated near equilibrium can give useful information about the sensitivity of the equilibrium population, even if no data on density dependence are available.}, + langid = {english}, + keywords = {Density dependence,elasticity analysis,equilibrium,evolutionary stable strategy,invasion exponent,matrix population models,nonlinear,sensitivity analysis,territory limitation,Tribolium}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00595.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\3CZR3IWE\\Caswell et al. - 2004 - Sensitivity analysis of equilibrium in density-dep.pdf} +} + +@article{caswellTwoSexModelsChaos1986, + title = {Two-{{Sex Models}}: {{Chaos}}, {{Extinction}}, and {{Other Dynamic Consequences}} of {{Sex}}}, + shorttitle = {Two-{{Sex Models}}}, + author = {Caswell, Hal and Weeks, Daniel E.}, + year = {1986}, + journal = {The American Naturalist}, + volume = {128}, + number = {5}, + pages = {707--735}, + publisher = {{[University of Chicago Press, American Society of Naturalists]}}, + issn = {0003-0147}, + abstract = {Most demographic models consider only one sex, usually the female. The widespread occurrence of sexual dimorphism in life history traits and the occurrence of skewed and fluctuating sex ratios suggest that one-sex models or those dominated by one sex may often be less appropriate than two-sex models. Reproduction in two-sex models is a frequency-dependent nonlinear function (the birth or marriage function) of the relative abundance of males and females. In this paper, we examine the population dynamics resulting from three different two-sex, discrete-time, population-projection models. For a large class of birth functions, models without inter-stage mate competition are shown to converge to a locally stable adult sex ratio. Formulas for the stable population structure, stable sex ratio, and reproductive value at equilibrium are derived. When individuals of different stages compete for mates, the equilibrium population structure may become unstable. A sequence of bifurcations then occurs, leading to periodic oscillations, quasi-periodic fluctuations, and chaos as the intensity of competition increases. Finally, when per capita fecundity is a sigmoid function of the relative abundance of the other sex, perturbations of the sex ratio may lead to extinction.} +} + +@article{chaineCoevolutionMultiplyinformedDispersal2013, + title = {The Co-Evolution of Multiply-Informed Dispersal: Information Transfer across Landscapes from Neighbors and Immigrants}, + shorttitle = {The Co-Evolution of Multiply-Informed Dispersal}, + author = {Chaine, Alexis S. and Legendre, St{\'e}phane and Clobert, Jean}, + year = {2013}, + month = feb, + journal = {PeerJ}, + volume = {1}, + pages = {e44}, + publisher = {{PeerJ Inc.}}, + issn = {2167-8359}, + doi = {10.7717/peerj.44}, + abstract = {Dispersal plays a key role in natural systems by shaping spatial population and evolutionary dynamics. Dispersal has been largely treated as a population process with little attention to individual decisions and the influence of information use on the fitness benefits of dispersal despite clear empirical evidence that dispersal behavior varies among individuals. While information on local density is common, more controversial is the notion that indirect information use can easily evolve. We used an individual-based model to ask under what conditions indirect information use in dispersal will evolve. We modeled indirect information provided by immigrant arrival into a population which should be linked to overall metapopulation density. We also modeled direct information use of density which directly impacts fitness. We show that immigrant-dependent dispersal evolves and does so even when density dependent information is available. Use of two sources of information also provides benefits at the metapopulation level by reducing extinction risk and prolonging the persistence of populations. Our results suggest that use of indirect information in dispersal can evolve under conservative conditions and thus could be widespread.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RW45GZGV\\Chaine et al. - 2013 - The co-evolution of multiply-informed dispersal i.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\MMN68IIM\\44.html} +} + +@article{chaput-bardyConditionPhenotypeDependentDispersal2010, + title = {Condition and {{Phenotype-Dependent Dispersal}} in a {{Damselfly}}, {{Calopteryx}} Splendens}, + author = {{Chaput-Bardy}, Audrey and Gr{\'e}goire, Arnaud and Baguette, Michel and Pagano, Alain and Secondi, Jean}, + year = {2010}, + month = may, + journal = {PLOS ONE}, + volume = {5}, + number = {5}, + pages = {e10694}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0010694}, + abstract = {Individual dispersal decisions may be affected by the internal state of the individual and the external information of its current environment. Here we estimated the influence of dispersal on survival and investigated if individual phenotype (sex and wing length) and environmental condition (conspecific density and sex-ratio) affected dispersal decisions in the banded damselfly, Calopteryx splendens. As suspected from the literature, we showed that the proportion of dispersing individuals was higher in females than in males. We also found negative-density dependent dispersal in both sexes and influence of sex-ratio on dispersal. Individuals moved less when sex-ratio was male biased. These results are consistent with a lek mating system where males aggregate in a place and hold mating territories. Contrary to our expectations, neither dispersal nor survival was affected by wing length. Nevertheless, mean adult survival was about 8\% lower in dispersing individuals than in residents. This might reflect a mortality cost due to dispersal.}, + langid = {english}, + keywords = {Animal flight,Animal wings,Habitats,Insect flight,Insects,Mating behavior,Physiological parameters,Thorax}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\X6NDS2LP\\Chaput-Bardy et al. - 2010 - Condition and Phenotype-Dependent Dispersal in a D.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\ENLD9MSR\\article.html} +} + +@article{chardonIncorporatingLandscapeElements2003, + title = {Incorporating Landscape Elements into a Connectivity Measure: A Case Study for the {{Speckled}} Wood Butterfly ({{Pararge}} Aegeria {{L}}.)}, + shorttitle = {Incorporating Landscape Elements into a Connectivity Measure}, + author = {Chardon, J. Paul and Adriaensen, Frank and Matthysen, Erik}, + year = {2003}, + month = sep, + journal = {Landscape Ecology}, + volume = {18}, + number = {6}, + pages = {561--573}, + issn = {1572-9761}, + doi = {10.1023/A:1026062530600}, + abstract = {In spatial studies of populations, Euclidean distance is commonly used to measure the structural connectivity between habitat patches. The role of the matrix on patch connectivity is thereby ignored. However, the importance of the matrix for (dispersal) movement is increasingly being acknowledged. Our study compared the cost-distance measure with the Euclidean distance. The cost-distance is a simple GIS-calculated connectivity measure that incorporates the resistance of the landscape matrix to movement behaviour. We used presence-absence data from a field study on the Speckled wood butterfly in two Belgian landscapes. Logistic regression revealed that the cost-distance measure had a significantly better predictive power than the Euclidean distance. This result was consistent for all the six sets of different matrix resistance values. In our study the cost-distance proves to be a better connectivity measure than the Euclidean distance.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\5MAK4WU6\\Chardon et al. - 2003 - Incorporating landscape elements into a connectivi.pdf} +} + +@article{chenRapidRangeShifts2011, + title = {Rapid {{Range Shifts}} of {{Species Associated}} with {{High Levels}} of {{Climate Warming}}}, + author = {Chen, I.-Ching and Hill, Jane K. and Ohlem{\"u}ller, Ralf and Roy, David B. and Thomas, Chris D.}, + year = {2011}, + month = aug, + journal = {Science}, + volume = {333}, + number = {6045}, + pages = {1024--1026}, + publisher = {{American Association for the Advancement of Science}}, + issn = {0036-8075, 1095-9203}, + doi = {10.1126/science.1206432}, + abstract = {The distributions of many terrestrial organisms are currently shifting in latitude or elevation in response to changing climate. Using a meta-analysis, we estimated that the distributions of species have recently shifted to higher elevations at a median rate of 11.0 meters per decade, and to higher latitudes at a median rate of 16.9 kilometers per decade. These rates are approximately two and three times faster than previously reported. The distances moved by species are greatest in studies showing the highest levels of warming, with average latitudinal shifts being generally sufficient to track temperature changes. However, individual species vary greatly in their rates of change, suggesting that the range shift of each species depends on multiple internal species traits and external drivers of change. Rapid average shifts derive from a wide diversity of responses by individual species. A meta-analysis shows that species are shifting their distributions in response to climate change at an accelerating rate. A meta-analysis shows that species are shifting their distributions in response to climate change at an accelerating rate.}, + chapter = {Report}, + copyright = {Copyright \textcopyright{} 2011, American Association for the Advancement of Science}, + langid = {english}, + pmid = {21852500}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\5EB2EIIC\\Chen et al. - 2011 - Rapid Range Shifts of Species Associated with High.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\X6WJLETL\\1024.html} +} + +@article{chipperfieldUpdatedAlgorithmGeneration2011, + title = {An {{Updated Algorithm}} for the {{Generation}} of {{Neutral Landscapes}} by {{Spectral Synthesis}}}, + author = {Chipperfield, Joseph D. and Dytham, Calvin and Hovestadt, Thomas}, + year = {2011}, + month = feb, + journal = {PLOS ONE}, + volume = {6}, + number = {2}, + pages = {e17040}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0017040}, + abstract = {Background Patterns that arise from an ecological process can be driven as much from the landscape over which the process is run as it is by some intrinsic properties of the process itself. The disentanglement of these effects is aided if it possible to run models of the process over artificial landscapes with controllable spatial properties. A number of different methods for the generation of so-called `neutral landscapes' have been developed to provide just such a tool. Of these methods, a particular class that simulate fractional Brownian motion have shown particular promise. The existing methods of simulating fractional Brownian motion suffer from a number of problems however: they are often not easily generalisable to an arbitrary number of dimensions and produce outputs that can exhibit some undesirable artefacts. Methodology We describe here an updated algorithm for the generation of neutral landscapes by fractional Brownian motion that do not display such undesirable properties. Using Monte Carlo simulation we assess the anisotropic properties of landscapes generated using the new algorithm described in this paper and compare it against a popular benchmark algorithm. Conclusion/Significance The results show that the existing algorithm creates landscapes with values strongly correlated in the diagonal direction and that the new algorithm presented here corrects this artefact. A number of extensions of the algorithm described here are also highlighted: we describe how the algorithm can be employed to generate landscapes that display different properties in different dimensions and how they can be combined with an environmental gradient to produce landscapes that combine environmental variation at the local and macro scales.}, + langid = {english}, + keywords = {Algorithms,Anisotropy,Autocorrelation,Brownian motion,Fourier analysis,Fractals,Habitats,Monte Carlo method}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\2XFWN3MP\\Chipperfield et al. - 2011 - An Updated Algorithm for the Generation of Neutral.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\QMA3HRR3\\article.html} +} + +@article{clarkInvasionExtremesPopulation2001, + title = {Invasion by Extremes: Population Spread with Variation in Dispersal and Reproduction}, + shorttitle = {Invasion by Extremes}, + author = {Clark, J. S. and Lewis, M. and Horvath, L.}, + year = {2001}, + month = may, + journal = {The American Naturalist}, + volume = {157}, + number = {5}, + pages = {537--554}, + issn = {1537-5323}, + doi = {10.1086/319934}, + abstract = {For populations having dispersal described by fat-tailed kernels (kernels with tails that are not exponentially bounded), asymptotic population spread rates cannot be estimated by traditional models because these models predict continually accelerating (asymptotically infinite) invasion. The impossible predictions come from the fact that the fat-tailed kernels fitted to dispersal data have a quality (nondiscrete individuals and, thus, no moment-generating function) that never applies to data. Real organisms produce finite (and random) numbers of offspring; thus, an empirical moment-generating function can always be determined. Using an alternative method to estimate spread rates in terms of extreme dispersal events, we show that finite estimates can be derived for fat-tailed kernels, and we demonstrate how variable reproduction modifies these rates. Whereas the traditional models define spread rate as the speed of an advancing front describing the expected density of individuals, our alternative definition for spread rate is the expected velocity for the location of the furthest-forward individual in the population. The asymptotic wave speed for a constant net reproductive rate R0 is approximated as (1/T)(piuR)/2)(1/2) m yr(-1), where T is generation time, and u is a distance parameter (m2) of Clark et al.'s 2Dt model having shape parameter p = 1. From fitted dispersal kernels with fat tails and infinite variance, we derive finite rates of spread and a simple method for numerical estimation. Fitted kernels, with infinite variance, yield distributions of rates of spread that are asymptotically normal and, thus, have finite moments. Variable reproduction can profoundly affect rates of spread. By incorporating the variance in reproduction that results from variable life span, we estimate much lower rates than predicted by the standard approach, which assumes a constant net reproductive rate. Using basic life-history data for trees, we show these estimated rates to be lower than expected from previous analytical models and as interpreted from paleorecords of forest spread at the end of the Pleistocene. Our results suggest reexamination of past rates of spread and the potential for future response to climate change.}, + langid = {english}, + pmid = {18707261} +} + +@article{clarkReidParadoxRapid1998, + title = {Reid's {{Paradox}} of {{Rapid Plant Migration}}: {{Dispersal}} Theory and Interpretation of Paleoecological Records}, + shorttitle = {Reid's {{Paradox}} of {{Rapid Plant Migration}}}, + author = {Clark, James S. and Fastie, Chris and Hurtt, George and Jackson, Stephen T. and Johnson, Carter and King, George A. and Lewis, Mark and Lynch, Jason and Pacala, Stephen and Prentice, Colin and Schupp, Eugene W. and Webb, III, Thompson and Wyckoff, Peter}, + year = {1998}, + month = jan, + journal = {BioScience}, + volume = {48}, + number = {1}, + pages = {13--24}, + issn = {0006-3568}, + doi = {10.2307/1313224}, + abstract = {The oak, to gain its present most northerly position in North Britain after being driven out by the cold probably had to travel fully six hundred miles, and this without external aid would take something like a million years. (Reid 1899)}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\WD97WG6G\\Clark et al. - 1998 - Reid's Paradox of Rapid Plant Migration Dispersal.pdf} +} + +@book{clobertDispersal2001, + title = {Dispersal}, + editor = {Clobert, Jean and Danchin, Etienne and Dhondt, Andre A. and Nichols, James D.}, + year = {2001}, + month = feb, + publisher = {{Oxford University Press}}, + address = {{Oxford, New York}}, + abstract = {The ability of species to migrate that has interested ecologists for many years. Now that so many species and ecosystems face major environmental change, the ability of species to adapt to these changes by dispersing, migrating, or moving between different patches of habitat can be crucial to ensuring their survivial. This book provides a timely and wide-ranging overview of the study of dispersal and incorporates much of the latest research. The causes, mechanisms, and consequences of dispersal at the individual, population, species and community levels are considered. The potential of new techniques and models for studying dispersal, drawn from molecular biology and demography, is also explored. Perspectives and insights are offered from the fields of evolution, conservation biology and genetics. Throughout the book, theoretical approaches are combined with empirical data, and care has been taken to include examples from as wide a range of species as possible.}, + isbn = {978-0-19-850659-1}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\F9QZQAE9\\dispersal-9780198506591.html} +} + +@book{clobertDispersalEcologyEvolution2012a, + title = {Dispersal {{Ecology}} and {{Evolution}}}, + editor = {Clobert, Jean and Baguette, Michel and Benton, Tim G. and Bullock, James M.}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.001.0001}, + abstract = {Now that so many ecosystems face rapid and major environmental change, the ability of species to respond to these changes by dispersing or moving between different patches of habitat can be crucial to ensuring their survival. Understanding dispersal has become key to understanding how populations may persist. This book provides an overview of the fast expanding field of dispersal ecology, incorporating the very latest research. The causes, mechanisms, and consequences of dispersal at the individual, population, species, and community levels are considered. Perspectives and insights are offered from the fields of evolution, behavioural ecology, conservation biology, and genetics. Throughout the book theoretical approaches are combined with empirical data, and care has been taken to include examples from as wide a range of species as possible \textemdash{} both plant and animal.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {behavioural ecology,conservation biology,dispersal ecology,ecosystems,environmental change,evolution,genetics,habitat,species,survival} +} + +@article{clobertInformedDispersalHeterogeneity2009, + title = {Informed Dispersal, Heterogeneity in Animal Dispersal Syndromes and the Dynamics of Spatially Structured Populations}, + author = {Clobert, Jean and Le Galliard, Jean-Fran{\c c}ois and Cote, Julien and Meylan, Sandrine and Massot, Manuel}, + year = {2009}, + month = mar, + journal = {Ecology Letters}, + volume = {12}, + number = {3}, + pages = {197--209}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2008.01267.x}, + abstract = {There is accumulating evidence that individuals leave their natal area and select a breeding habitat non-randomly by relying upon information about their natal and future breeding environments. This variation in dispersal is not only based on external information (condition dependence) but also depends upon the internal state of individuals (phenotype dependence). As a consequence, not all dispersers are of the same quality or search for the same habitats. In addition, the individual's state is characterized by morphological, physiological or behavioural attributes that might themselves serve as a cue altering the habitat choice of conspecifics. These combined effects of internal and external information have the potential to generate complex movement patterns and could influence population dynamics and colonization processes. Here, we highlight three particular processes that link condition-dependent dispersal, phenotype-dependent dispersal and habitat choice strategies: (1) the relationship between the cause of departure and the dispersers' phenotype; (2) the relationship between the cause of departure and the settlement behaviour and (3) the concept of informed dispersal, where individuals gather and transfer information before and during their movements through the landscape. We review the empirical evidence for these processes with a special emphasis on vertebrate and arthropod model systems, and present case studies that have quantified the impacts of these processes on spatially structured population dynamics. We also discuss recent literature providing strong evidence that individual variation in dispersal has an important impact on both reinforcement and colonization success and therefore must be taken into account when predicting ecological responses to global warming and habitat fragmentation.}, + langid = {english}, + pmid = {19170731}, + keywords = {Animal Migration,Animals,Competitive Behavior,Ecosystem,Female,Male,Population Dynamics} +} + +@article{clotucheSettlementDecisionsTwospotted2013, + title = {Settlement Decisions by the Two-Spotted Spider Mite {{Tetranychus}} Urticae}, + author = {Clotuche, Gwendoline and Mailleux, Anne-Catherine and Yano, Shuichi and Detrain, Claire and Deneubourg, Jean-Louis and Hance, Thierry}, + year = {2013}, + month = feb, + journal = {Comptes Rendus Biologies}, + volume = {336}, + number = {2}, + pages = {93--101}, + issn = {1631-0691}, + doi = {10.1016/j.crvi.2013.02.006}, + abstract = {In silk-spinning arthropods, silk can be used for web building, protection, and communication. Silk is an informative material about the presence of conspecifics. It can therefore inform on habitat suitability and hence assist in habitat choice. In this context, we investigated the influence of silk on microhabitat choice by the two-spotted spider mite, Tetranychus urticae. Three factors that could potentially influence habitat choice were manipulated: the strain, number, and the stage of mites. Our study showed that these factors all influence the choice of microhabitat. The tendency of whether to settle on a silk-covered area was influenced by the origin of mites (strain effect). Adult females showed a higher tendency to settle on an area covered with the silk laid by numerous congeners (number effect). Moreover, larvae seemed to be more responsive to the presence of silk than adults (stage effect). This suggests that individuals use silk as a social cue in selecting their microhabitat and that the spatial organization and group behaviour seem to be shaped by the individuals' response to social cues, such as the amount of silk already present. R\'esum\'e Chez les arthropodes tisseurs, la soie peut \^etre utilis\'ee pour la construction, la protection et la communication. La soie peut \'egalement informer de la pr\'esence de cong\'en\`eres. Elle peut renseigner sur la qualit\'e d'un habitat et donc aider les individus lors du choix d'\'etablissement. Dans ce contexte, nous avons \'etudi\'e l'influence de la soie lors de la s\'election d'un micro-habitat chez l'acarien tisserand, Tetranychus urticae. Trois facteurs ont \'et\'e manipul\'es~: la souche, le nombre et le stade des acariens. Notre \'etude montre que ces facteurs influencent le choix du micro-habitat. La tendance \`a s'installer sur une zone couverte de soie diff\`ere en fonction de l'origine des acariens. Les femelles adultes montrent une plus forte tendance \`a s'installer sur une zone couverte de soie tiss\'ee par de nombreux cong\'en\`eres. Les larves semblent plus sensibles que les adultes \`a la pr\'esence de soie. La soie est utilis\'ee comme indice social pour choisir le micro-habitat et, d\`es lors, l'organisation spatiale et l'agr\'egation de cet acarien semblent \^etre fa\c{c}onn\'ees par la r\'eponse des individus \`a des signaux sociaux tels que la quantit\'e de soie.}, + langid = {english}, + keywords = {Comportement de groupe,Group behaviour,Habitat settlement,Indice social,Localisation spatiale,SĂ©lection d’un micro-habitat,Silk,Social cue,Soie,Souche,Spatial location,Strain}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\I5KZK44U\\Clotuche et al. - 2013 - Settlement decisions by the two-spotted spider mit.pdf} +} + +@article{codlingRandomWalkModels2008, + title = {Random Walk Models in Biology}, + author = {Codling, Edward A. and Plank, Michael J. and Benhamou, Simon}, + year = {2008}, + month = aug, + journal = {Journal of the Royal Society, Interface}, + volume = {5}, + number = {25}, + pages = {813--834}, + issn = {1742-5689}, + doi = {10.1098/rsif.2008.0014}, + abstract = {Mathematical modelling of the movement of animals, micro-organisms and cells is of great relevance in the fields of biology, ecology and medicine. Movement models can take many different forms, but the most widely used are based on the extensions of simple random walk processes. In this review paper, our aim is twofold: to introduce the mathematics behind random walks in a straightforward manner and to explain how such models can be used to aid our understanding of biological processes. We introduce the mathematical theory behind the simple random walk and explain how this relates to Brownian motion and diffusive processes in general. We demonstrate how these simple models can be extended to include drift and waiting times or be used to calculate first passage times. We discuss biased random walks and show how hyperbolic models can be used to generate correlated random walks. We cover two main applications of the random walk model. Firstly, we review models and results relating to the movement, dispersal and population redistribution of animals and micro-organisms. This includes direct calculation of mean squared displacement, mean dispersal distance, tortuosity measures, as well as possible limitations of these model approaches. Secondly, oriented movement and chemotaxis models are reviewed. General hyperbolic models based on the linear transport equation are introduced and we show how a reinforced random walk can be used to model movement where the individual changes its environment. We discuss the applications of these models in the context of cell migration leading to blood vessel growth (angiogenesis). Finally, we discuss how the various random walk models and approaches are related and the connections that underpin many of the key processes involved.}, + langid = {english}, + pmcid = {PMC2504494}, + pmid = {18426776}, + keywords = {Cell Movement,Diffusion,Models; Biological,Movement,Stochastic Processes}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\KHCXT9UB\\Codling et al. - 2008 - Random walk models in biology.pdf} +} + +@article{cominsEvolutionarilyStableDispersal1980, + title = {Evolutionarily Stable Dispersal Strategies}, + author = {Comins, Hugh N. and Hamilton, William D. and May, Robert M.}, + year = {1980}, + month = jan, + journal = {Journal of Theoretical Biology}, + volume = {82}, + number = {2}, + pages = {205--230}, + issn = {0022-5193}, + doi = {10.1016/0022-5193(80)90099-5}, + abstract = {Using the idea that life-history parameters are subject to natural selection and should approach values that are stable optima, with the population immune to invasion by mutant individuals, we derive an analytic expression for the evolutionarily stable dispersal rate in a stochastic island model with random site extinction. The results provide interesting contrasts between three different optimization criteria: species survival, individual fitness and gene fitness. We also consider the effects of sexual reproduction, and of localized migration (stepping-stone structure).}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RZJSV49C\\Comins et al. - 1980 - Evolutionarily stable dispersal strategies.pdf} +} + +@article{conliskUncertaintyAssessingImpacts2013, + title = {Uncertainty in Assessing the Impacts of Global Change with Coupled Dynamic Species Distribution and Population Models}, + author = {Conlisk, Erin and Syphard, Alexandra D. and Franklin, Janet and Flint, Lorraine and Flint, Alan and Regan, Helen}, + year = {2013}, + month = mar, + journal = {Global Change Biology}, + volume = {19}, + number = {3}, + pages = {858--869}, + issn = {1354-1013}, + doi = {10.1111/gcb.12090}, + abstract = {Concern over rapid global changes and the potential for interactions among multiple threats are prompting scientists to combine multiple modelling approaches to understand impacts on biodiversity. A relatively recent development is the combination of species distribution models, land-use change predictions, and dynamic population models to predict the relative and combined impacts of climate change, land-use change, and altered disturbance regimes on species' extinction risk. Each modelling component introduces its own source of uncertainty through different parameters and assumptions, which, when combined, can result in compounded uncertainty that can have major implications for management. Although some uncertainty analyses have been conducted separately on various model components - such as climate predictions, species distribution models, land-use change predictions, and population models - a unified sensitivity analysis comparing various sources of uncertainty in combined modelling approaches is needed to identify the most influential and problematic assumptions. We estimated the sensitivities of long-run population predictions to different ecological assumptions and parameter settings for a rare and endangered annual plant species (Acanthomintha ilicifolia, or San Diego thornmint). Uncertainty about habitat suitability predictions, due to the choice of species distribution model, contributed most to variation in predictions about long-run populations.}, + langid = {english}, + pmid = {23504842}, + keywords = {Biodiversity,Climate Change,Models; Theoretical,Population Dynamics,Uncertainty} +} + +@article{coteSocialInformationEmigration2007, + title = {Social Information and Emigration: Lessons from Immigrants}, + shorttitle = {Social Information and Emigration}, + author = {Cote, J. and Clobert, J.}, + year = {2007}, + month = may, + journal = {Ecology Letters}, + volume = {10}, + number = {5}, + pages = {411--417}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2007.01032.x}, + abstract = {'Should I stay or should I go?' is a fundamental question facing any candidate for emigration, as emigrating without outside information has major costs. Most studies on this topic have concentrated on risk-reducing strategies (e.g. exploration) developed after leaving the natal habitat. The idea that information might be acquired before leaving has not been investigated. Immigrants carrying information about their origins could provide such information to potential emigrants in their initial habitat. We manipulated the density of common lizard (Lacerta vivipara) populations, to investigate whether immigrants originating from these populations transmitted such information to the population they joined. Emigration of the residents of this new population clearly depended on the origin of the immigrant. Immigrants are therefore a source of information, in this case about surrounding population densities, and may have a major effect on dispersal and species persistence in a fragmented habitat.}, + langid = {english}, + pmid = {17498140}, + keywords = {Animals,Behavior; Animal,Lizards,Population Dynamics} +} + +@article{cottoNemoageSpatiallyExplicit2020, + title = {Nemo-Age: {{Spatially}} Explicit Simulations of Eco-Evolutionary Dynamics in Stage-Structured Populations under Changing Environments}, + shorttitle = {Nemo-Age}, + author = {Cotto, Olivier and Schmid, Max and Guillaume, Fr{\'e}d{\'e}ric}, + year = {2020}, + journal = {Methods in Ecology and Evolution}, + volume = {11}, + number = {10}, + pages = {1227--1236}, + issn = {2041-210X}, + doi = {10.1111/2041-210X.13460}, + abstract = {Anticipating and preparing for the effect of environmental changes on biodiversity requires to understand and predict both the ecological and evolutionary responses of populations. Tools and methods to efficiently integrate these complex processes are lacking. We present the genetically and spatially explicit individual-based simulation software Nemo-age combining ecological and evolutionary processes. Nemo-age has a strong emphasis on modelling complex life histories. We here provide a methodology to predict changes in species distribution for given climate projections using Nemo-age. Modelling complex life histories, spatial distribution and evolutionary processes unravel possible eco-evolutionary mechanisms that have been previously overlooked when populations endure rapid environmental changes. The interface of Nemo-age is designed to integrate species' data from different fields, from demography to genetic architecture and spatial distributions, thus representing a versatile tool to model a variety of applied and theoretical scenarios.}, + langid = {english}, + keywords = {adaptation,forward-time simulations,life history,population dynamics,spatially explicit}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.13460}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\62TTZ4SR\\Cotto et al. - 2020 - Nemo-age Spatially explicit simulations of eco-ev.pdf} +} + +@article{coulsonEstimatingFunctionalForm2008, + title = {Estimating the {{Functional Form}} for the {{Density Dependence}} from {{Life History Data}}}, + author = {Coulson, T. and Ezard, T. H. G. and Pelletier, F. and Tavecchia, G. and Stenseth, N. C. and Childs, D. Z. and Pilkington, J. G. and Pemberton, J. M. and Kruuk, L. E. B. and {Clutton-Brock}, T. H. and Crawley, M. J.}, + year = {2008}, + journal = {Ecology}, + volume = {89}, + number = {6}, + pages = {1661--1674}, + publisher = {{Ecological Society of America}}, + issn = {0012-9658}, + abstract = {Two contrasting approaches to the analysis of population dynamics are currently popular: demographic approaches where the associations between demographic rates and statistics summarizing the population dynamics are identified; and time series approaches where the associations between population dynamics, population density, and environmental covariates are investigated. In this paper, we develop an approach to combine these methods and apply it to detailed data from Soay sheep (Ovis aries). We examine how density dependence and climate contribute to fluctuations in population size via age- and sex-specific demographic rates, and how fluctuations in demographic structure influence population dynamics. Density dependence contributes most, followed by climatic variation, age structure fluctuations and interactions between density and climate. We then simplify the density-dependent, stochastic, age-structured demographic model and derive a new phenomenological time series which captures the dynamics better than previously selected functions. The simple method we develop has potential to provide substantial insight into the relative contributions of population and individual-level processes to the dynamics of populations in stochastic environments.} +} + +@article{coumouDecadeWeatherExtremes2012, + title = {A Decade of Weather Extremes}, + author = {Coumou, Dim and Rahmstorf, Stefan}, + year = {2012}, + month = jul, + journal = {Nature Climate Change}, + volume = {2}, + number = {7}, + pages = {491--496}, + publisher = {{Nature Publishing Group}}, + issn = {1758-6798}, + doi = {10.1038/nclimate1452}, + abstract = {The ostensibly large number of recent extreme weather events has triggered intensive discussions, both in- and outside the scientific community, on whether they are related to global warming. Here, we review the evidence and argue that for some types of extreme \textemdash{} notably heatwaves, but also precipitation extremes \textemdash{} there is now strong evidence linking specific events or an increase in their numbers to the human influence on climate. For other types of extreme, such as storms, the available evidence is less conclusive, but based on observed trends and basic physical concepts it is nevertheless plausible to expect an increase.}, + copyright = {2012 Nature Publishing Group, a division of Macmillan Publishers Limited. All Rights Reserved.}, + langid = {english}, + annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Reviews Subject\_term: Climate change;Climate-change impacts Subject\_term\_id: climate-change;climate-change-impacts}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\2MBSWQEE\\nclimate1452.html} +} + +@article{davisRangeShiftsAdaptive2001, + title = {Range {{Shifts}} and {{Adaptive Responses}} to {{Quaternary Climate Change}}}, + author = {Davis, Margaret B. and Shaw, Ruth G.}, + year = {2001}, + month = apr, + journal = {Science}, + volume = {292}, + number = {5517}, + pages = {673--679}, + publisher = {{American Association for the Advancement of Science}}, + issn = {0036-8075, 1095-9203}, + doi = {10.1126/science.292.5517.673}, + abstract = {Tree taxa shifted latitude or elevation range in response to changes in Quaternary climate. Because many modern trees display adaptive differentiation in relation to latitude or elevation, it is likely that ancient trees were also so differentiated, with environmental sensitivities of populations throughout the range evolving in conjunction with migrations. Rapid climate changes challenge this process by imposing stronger selection and by distancing populations from environments to which they are adapted. The unprecedented rates of climate changes anticipated to occur in the future, coupled with land use changes that impede gene flow, can be expected to disrupt the interplay of adaptation and migration, likely affecting productivity and threatening the persistence of many species.}, + chapter = {Special Reviews}, + langid = {english}, + pmid = {11326089}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\WE6DSYX8\\Davis und Shaw - 2001 - Range Shifts and Adaptive Responses to Quaternary .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\5Z9K4ENH\\673.html} +} + +@article{dawsonPredictionsBiodiversityConservation2011, + title = {Beyond {{Predictions}}: {{Biodiversity Conservation}} in a {{Changing Climate}}}, + shorttitle = {Beyond {{Predictions}}}, + author = {Dawson, Terence P. and Jackson, Stephen T. and House, Joanna I. and Prentice, Iain Colin and Mace, Georgina M.}, + year = {2011}, + month = apr, + journal = {Science}, + volume = {332}, + number = {6025}, + pages = {53--58}, + publisher = {{American Association for the Advancement of Science}}, + issn = {0036-8075, 1095-9203}, + doi = {10.1126/science.1200303}, + abstract = {Climate change is predicted to become a major threat to biodiversity in the 21st century, but accurate predictions and effective solutions have proved difficult to formulate. Alarming predictions have come from a rather narrow methodological base, but a new, integrated science of climate-change biodiversity assessment is emerging, based on multiple sources and approaches. Drawing on evidence from paleoecological observations, recent phenological and microevolutionary responses, experiments, and computational models, we review the insights that different approaches bring to anticipating and managing the biodiversity consequences of climate change, including the extent of species' natural resilience. We introduce a framework that uses information from different sources to identify vulnerability and to support the design of conservation responses. Although much of the information reviewed is on species, our framework and conclusions are also applicable to ecosystems, habitats, ecological communities, and genetic diversity, whether terrestrial, marine, or fresh water.}, + chapter = {Review}, + copyright = {Copyright \textcopyright{} 2011, American Association for the Advancement of Science}, + langid = {english}, + pmid = {21454781}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\EWLKGXFQ\\Dawson et al. - 2011 - Beyond Predictions Biodiversity Conservation in a.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\CEML54NW\\53.html} +} + +@article{deblockLocalGeneticAdaptation2013, + title = {Local Genetic Adaptation Generates Latitude-Specific Effects of Warming on Predator-Prey Interactions}, + author = {De Block, Marjan and Pauwels, Kevin and Van Den Broeck, Maarten and De Meester, Luc and Stoks, Robby}, + year = {2013}, + month = mar, + journal = {Global Change Biology}, + volume = {19}, + number = {3}, + pages = {689--696}, + issn = {1354-1013}, + doi = {10.1111/gcb.12089}, + abstract = {Temperature effects on predator-prey interactions are fundamental to better understand the effects of global warming. Previous studies never considered local adaptation of both predators and prey at different latitudes, and ignored the novel population combinations of the same predator-prey species system that may arise because of northward dispersal. We set up a common garden warming experiment to study predator-prey interactions between Ischnura elegans damselfly predators and Daphnia magna zooplankton prey from three source latitudes spanning {$>$}1500~km. Damselfly foraging rates showed thermal plasticity and strong latitudinal differences consistent with adaptation to local time constraints. Relative survival was higher at 24~\textdegree C than at 20~\textdegree C in southern Daphnia and higher at 20~\textdegree C than at 24~\textdegree C, in northern Daphnia indicating local thermal adaptation of the Daphnia prey. Yet, this thermal advantage disappeared when they were confronted with the damselfly predators of the same latitude, reflecting also a signal of local thermal adaptation in the damselfly predators. Our results further suggest the invasion success of northward moving predators as well as prey to be latitude-specific. We advocate the novel common garden experimental approach using predators and prey obtained from natural temperature gradients spanning the predicted temperature increase in the northern populations as a powerful approach to gain mechanistic insights into how community modules will be affected by global warming. It can be used as a space-for-time substitution to inform how predator-prey interaction may gradually evolve to long-term warming.}, + langid = {english}, + pmid = {23504827}, + keywords = {Adaptation; Physiological,Animals,Daphnia,Global Warming,Odonata,Predatory Behavior} +} + +@article{delattreDispersalMoodRevealed2010, + title = {Dispersal Mood Revealed by Shifts from Routine to Direct Flights in the Meadow Brown Butterfly {{Maniola}} Jurtina.}, + author = {Delattre, Thomas and Burel, Francoise and Humeau, Antoine and Stevens, Virginie Marie and Vernon, Philippe and Baguette, Michel}, + year = {2010}, + journal = {Oikos}, + volume = {119}, + number = {12}, + pages = {1900--1908}, + publisher = {{Nordic Ecological Society}}, + doi = {10.1111/j.1600-0706.2010.18615.x}, + abstract = {A comprehensive mechanistic approach to dispersal requires the translation of the whole mobility register of the target organism into movement rules that could subsequently be used to model its displacements. According to the optimality paradigm, this procedure implies a cost \textendash{} benefi t analysis of mobility patterns taking into account not only movements, but also their external context and the internal state of the moving individuals. Using this framework, we detected a `dispersal mood' in some individuals of the meadow brown butterfly Maniola jurtina. These adopted a direct flight strategy, which was topologically different from the previously documented foray search strategy. Those individuals that used the direct flight strategy moved straighter as soon as they left the habitat and avoided heading back to their patch of origin, which is the best inter-patch search strategy when dispersal risks and costs are high. The direct flight strategy was conditional to sex: females used it twice as much as males. We suggest that this sex bias was due to female investment in off spring, which is maximized by male avoidance and spatial bet hedging. Inter-patch dispersal of gravid females is crucial for the persistence of M. jurtina populations in spatially and temporally unpredictable environments.}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\8ECDD6JJ\\hal-00557623.html} +} + +@article{delgadoEffectPhenotypicTraits2010, + title = {The Effect of Phenotypic Traits and External Cues on Natal Dispersal Movements}, + author = {Delgado, Mar{\'i}a del Mar and Penteriani, Vincenzo and Revilla, Eloy and Nams, Vilis O.}, + year = {2010}, + journal = {Journal of Animal Ecology}, + volume = {79}, + number = {3}, + pages = {620--632}, + issn = {1365-2656}, + doi = {10.1111/j.1365-2656.2009.01655.x}, + abstract = {1. Natal dispersal has the potential to affect most ecological and evolutionary processes. However, despite its importance, this complex ecological process still represents a significant gap in our understanding of animal ecology due to both the lack of empirical data and the intrinsic complexity of dispersal dynamics. 2. By studying natal dispersal of 74 radiotagged juvenile eagle owls Bubo bubo (Linnaeus), in both the wandering and the settlement phases, we empirically addressed the complex interactions by which individual phenotypic traits and external cues jointly shape individual heterogeneity through the different phases of dispersal, both at nightly and weekly temporal scales. 3. Owls in poorer physical conditions travelled shorter total distances during the wandering phase, describing straighter paths and moving slower, especially when crossing heterogeneous habitats. In general, the owls in worse condition started dispersal later and took longer times to find further settlement areas. Net distances were also sex biased, with females settling at further distances. Dispersing individuals did not seem to explore wandering and settlement areas by using a search image of their natal surroundings. Eagle owls showed a heterogeneous pattern of patch occupancy, where few patches were highly visited by different owls whereas the majority were visited by just one individual. During dispersal, the routes followed by owls were an intermediate solution between optimized and randomized ones. Finally, dispersal direction had a marked directionality, largely influenced by dominant winds. These results suggest an asymmetric and anisotropic dispersal pattern, where not only the number of patches but also their functions can affect population viability. 4. The combination of the information coming from the relationships among a large set of factors acting and integrating at different spatial and temporal scales, under the perspective of heterogeneous life histories, are a fruitful ground for future understanding of natal dispersal.}, + langid = {english}, + keywords = {animal movements,dispersal behaviour,dispersal condition dependent,eagle owl,spatial networks}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2009.01655.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\EUQHADWP\\Delgado et al. - 2010 - The effect of phenotypic traits and external cues .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\KJMLTTZT\\j.1365-2656.2009.01655.html} +} + +@article{demeesterInformationUseDensitydependent2010, + title = {Information Use and Density-Dependent Emigration in an Agrobiont Spider}, + author = {De Meester, Nele and Bonte, Dries}, + year = {2010}, + month = sep, + journal = {Behavioral Ecology}, + volume = {21}, + number = {5}, + pages = {992--998}, + issn = {1045-2249}, + doi = {10.1093/beheco/arq088}, + abstract = {Density of conspecifics is considered as one of the main conditions affecting dispersal behavior and leading to a stabilization of population dynamics. Density-dependent dispersal can be induced by local competition at different phases during development and/or by density-related sources of social information. Here, we assessed the importance of population density on emigration rates and the degree to which the presence of silk threads at dispersal takeoff locations affects immediate dispersal decision making in the spider Erigone atra. By quantifying behaviors in wind tunnels under standardized laboratory conditions, silk-assisted long- and short-distance dispersal is quantified before the actual onset of the dispersal event.Increased densities during juvenile development only affected short-distance dispersal behavior. In females, short-distance dispersal increased with the female density experienced during development, whereas responses in males increased under combined high male/low female-experienced densities. Elevated densities at the onset of dispersal led to a general increase of predispersal behaviors. The presence of silk threads at takeoff platforms similarly induced an increase of dispersal displays, with specifically an increase in long-distance dispersal in both sexes.Our results demonstrate that the spider E. atra uses information related to density during development, most probably to avoid competition by performing short-distance dispersal. In contrast, density-related cues at the time of dispersal (i.e., increased densities and the presence of silk threads) increase general dispersal activities and long-distance ballooning events. Short- and long-distance dispersal strategies are consequently guided by differential density-related information use.}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\9WEVP9KQ\\De Meester und Bonte - 2010 - Information use and density-dependent emigration i.pdf} +} + +@article{dennoHabitatPersistenceUnderlies1996, + title = {Habitat {{Persistence Underlies Intraspecific Variation}} in the {{Dispersal Strategies}} of {{Planthoppers}}}, + author = {Denno, Robert F. and Roderick, George K. and Peterson, Merrill A. and Huberty, Andrea F. and Dobel, Hartmut G. and Eubanks, Micky D. and Losey, John E. and Langellotto, Gail A.}, + year = {1996}, + journal = {Ecological Monographs}, + volume = {66}, + number = {4}, + pages = {389--408}, + publisher = {{Ecological Society of America}}, + issn = {0012-9615}, + doi = {10.2307/2963487}, + abstract = {Dispersal is considered a vital life history characteristic for insects exploiting temporary habitats, and life history theorists have often hypothesized an inverse relationship between dispersal capability and habitat persistence. Most often, this hypothesis has been tested using interspecific comparisons of dispersal capability and qualitative estimates of habitat persistence. Consequently, most assessments have failed to control for possible phylogenetic nonindependence and they also lack quantitative rigor. We capitalized on existing intraspecific variation in the dispersal capability of Prokelisia planthoppers to examine the relationship between habitat persistence and dispersal, thereby minimizing possible phylogenetic effects. Two congeneric species (Prokelisia marginata and P. dolus) occur in the intertidal marshes of North America, where they feed exclusively on cordgrasses (Spartina). Because these planthoppers exhibit wing dimorphism, flight-capable adults (macropters with fully developed wings) are easily differentiated from flightless adults (brachypters with reduced wings). Thus, dispersal capability can be readily estimated by the percentage of macropters in a population. At a regional spatial scale, we found a highly significant negative relationship between dispersal capability (percent macroptery) and habitat persistence. In this system, habitat persistence is influenced by a combination of marsh elevation, winter severity, and tidal range, which interact to determine the ability of planthoppers to endure through winter in their primary habitat for development. P. marginata develops primarily in low-marsh habitats during summer, habitats that can be subjected to pronounced winter disturbance due to ice scouring and/or extensive tidal inundation. Levels of winter disturbance of the low marsh are extreme along the Atlantic coast, intermediate along the Pacific, and low along the Gulf. Both the failure of P. marginata populations to remain through winter in this habitat, and the dispersal ability of these populations (92\%, 29\%, and 17\% macroptery, respectively), are correlated with levels of disturbance. Thus, in regions where winter disturbance is high, levels of dispersal are correspondingly high to allow for recolonization of extirpated habitats from overwintering sites on the high marsh. Unlike P. marginata, P. dolus develops primarily in high-marsh habitats, which are much less disturbed on all coasts during winter. Consequently, this species remains year-round in its primary habitat for development, and most populations exhibit relatively low levels of macroptery ({$<$}10\%). When raised under common garden conditions, many more macropters of both species were produced from Atlantic compared to Gulf populations. Thus the proportion of macropters produced from the populations used in this experiment paralleled the incidence of macroptery measured in the field, providing evidence that the geographic variation in dispersal capability in both species has in part a genetic basis. The results of this study provide strong intraspecific evidence for an inverse relationship between the dispersal capability of insects and the persistence of their habitats.}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZHTGPG3S\\Denno et al. - 1996 - Habitat Persistence Underlies Intraspecific Variat.pdf} +} + +@article{doerrConnectivityDispersalBehaviour2011a, + title = {Connectivity, Dispersal Behaviour and Conservation under Climate Change: A Response to {{Hodgson}} et Al.}, + shorttitle = {Connectivity, Dispersal Behaviour and Conservation under Climate Change}, + author = {Doerr, Veronica A. J. and Barrett, Tom and Doerr, Erik D.}, + year = {2011}, + journal = {Journal of Applied Ecology}, + volume = {48}, + number = {1}, + pages = {143--147}, + issn = {1365-2664}, + doi = {10.1111/j.1365-2664.2010.01899.x}, + abstract = {1. Hodgson et al. [Journal of Applied Ecology46 (2009) 964] argue that connectivity is complex and uncertain, that it can be improved incidentally by increasing habitat extent, and that connectivity conservation is unlikely to be effective under climate change. 2. We believe that they have overlooked recent research on dispersal behaviour and structural connectivity, which has improved our understanding of functional connectivity and revealed that it will not necessarily increase with habitat extent. 3. New modelling techniques including least-cost path models incorporate this more detailed understanding of connectivity into conservation planning, facilitating the true aim of connectivity conservation \textendash{} to ensure appropriate interactions between habitat extent, quality and connectivity. 4. Synthesis and applications. Advances in behavioural research and modelling techniques allow us to manage structural connectivity with as much certainty as we manage extent and quality of habitat. Successful landscape conservation to address both current threats and future climate change must manage these three elements in concert.}, + langid = {english}, + keywords = {aggregation,behavioural ecology,connectivity conservation,corridor,fragmentation,gap-crossing,metapopulation,population viability,range shift,stepping stone}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2010.01899.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\EZMNQQG4\\Doerr et al. - 2011 - Connectivity, dispersal behaviour and conservation.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\KRMKE8WD\\j.1365-2664.2010.01899.html} +} + +@article{doligezAvailabilityUsePublic2004, + title = {Availability and {{Use}} of {{Public Information}} and {{Conspecific Density}} for {{Settlement Decisions}} in the {{Collared Flycatcher}}}, + author = {Doligez, Blandine and P{\"a}rt, Tomas and Danchin, Etienne and Clobert, Jean and Gustafsson, Lars}, + year = {2004}, + journal = {Journal of Animal Ecology}, + volume = {73}, + number = {1}, + pages = {75--87}, + publisher = {{[Wiley, British Ecological Society]}}, + issn = {0021-8790}, + abstract = {1. Public information, i.e. local reproductive performance of conspecifics, is expected to be a highly valuable cue for breeding habitat selection. However, the access to this cue may be spatially and temporally constrained. When public information is unavailable, individuals may use other integrative cues, such as the local density of breeders. 2. Departure decisions of collared flycatchers (Ficedula albicollis) were shown previously to be related to both public information and breeding density, in a long-term correlative study of a fragmented population. Here, we tested whether flycatchers also use public information (number and condition of fledglings produced locally) and breeding density to make individual settlement decisions in the following year. 3. Immigration rates were computed to measure the degree of attractiveness of patches to new breeders. We investigated the relative influence of public information and breeding density on immigration rates of yearlings and older adults separately. The access to public information for settlement decisions may indeed be more limited for yearlings. 4. Immigration rate in a patch increased with mean fledgling number in the previous year for older adults but not for yearlings. Yearling immigration rate was correlated positively to mean fledgling condition when patch breeding density in the previous year was low, but negatively when density was high. 5. Immigration rates of both yearlings and older adults increased with breeding density in the previous year. Breeding density explained a larger part of the variance in immigration rate than patch reproductive success. 6. The proportion of yearlings among breeders decreased with increasing patch reproductive success and breeding density in the previous year, suggesting that local competition was high in attractive patches. 7. Our results thus suggest that public information is also used for immigration decisions. However, decisions of yearlings are more complex than those of older adults, due to their more limited access to public information and the higher impact of intraspecific competition. Conversely, all individuals seemed to cue on breeding density in a similar way. Density is correlated to patch reproductive success, and may be a more easily accessible cue. We discuss the potential advantages of using conspecific density over conspecific reproductive performance for future immigration decisions.} +} + +@article{dormannCorrelationProcessSpecies2012, + title = {Correlation and Process in Species Distribution Models: Bridging a Dichotomy}, + shorttitle = {Correlation and Process in Species Distribution Models}, + author = {Dormann, Carsten F. and Schymanski, Stanislaus J. and Cabral, Juliano and Chuine, Isabelle and Graham, Catherine and Hartig, Florian and Kearney, Michael and Morin, Xavier and R{\"o}mermann, Christine and Schr{\"o}der, Boris and Singer, Alexander}, + year = {2012}, + journal = {Journal of Biogeography}, + volume = {39}, + number = {12}, + pages = {2119--2131}, + issn = {1365-2699}, + doi = {10.1111/j.1365-2699.2011.02659.x}, + abstract = {Within the field of species distribution modelling an apparent dichotomy exists between process-based and correlative approaches, where the processes are explicit in the former and implicit in the latter. However, these intuitive distinctions can become blurred when comparing species distribution modelling approaches in more detail. In this review article, we contrast the extremes of the correlative\textendash process spectrum of species distribution models with respect to core assumptions, model building and selection strategies, validation, uncertainties, common errors and the questions they are most suited to answer. The extremes of such approaches differ clearly in many aspects, such as model building approaches, parameter estimation strategies and transferability. However, they also share strengths and weaknesses. We show that claims of one approach being intrinsically superior to the other are misguided and that they ignore the process\textendash correlation continuum as well as the domains of questions that each approach is addressing. Nonetheless, the application of process-based approaches to species distribution modelling lags far behind more correlative (process-implicit) methods and more research is required to explore their potential benefits. Critical issues for the employment of species distribution modelling approaches are given, together with a guideline for appropriate usage. We close with challenges for future development of process-explicit species distribution models and how they may complement current approaches to study species distributions.}, + langid = {english}, + keywords = {Hypothesis generation,mechanistic model,parameterization,process-based model,SDM,species distribution model,uncertainty,validation}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2011.02659.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\GPTLTKUH\\Dormann et al. - 2012 - Correlation and process in species distribution mo.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\SEGWRBYA\\j.1365-2699.2011.02659.html} +} + +@article{dormannEffectsIncorporatingSpatial2007, + title = {Effects of Incorporating Spatial Autocorrelation into the Analysis of Species Distribution Data}, + author = {Dormann, Carsten F.}, + year = {2007}, + journal = {Global Ecology and Biogeography}, + volume = {16}, + number = {2}, + pages = {129--138}, + issn = {1466-8238}, + doi = {10.1111/j.1466-8238.2006.00279.x}, + abstract = {Aim Spatial autocorrelation (SAC) in data, i.e. the higher similarity of closer samples, is a common phenomenon in ecology. SAC is starting to be considered in the analysis of species distribution data, and over the last 10 years several studies have incorporated SAC into statistical models (here termed `spatial models'). Here, I address the question of whether incorporating SAC affects estimates of model coefficients and inference from statistical models. Methods I review ecological studies that compare spatial and non-spatial models. Results In all cases coefficient estimates for environmental correlates of species distributions were affected by SAC, leading to a mis-estimation of on average c. 25\%. Model fit was also improved by incorporating SAC. Main conclusions These biased estimates and incorrect model specifications have implications for predicting species occurrences under changing environmental conditions. Spatial models are therefore required to estimate correctly the effects of environmental drivers on species present distributions, for a statistically unbiased identification of the drivers of distribution, and hence for more accurate forecasts of future distributions.}, + langid = {english}, + keywords = {Autologistic regression,autoregressive model,spatial autocorrelation,spatial statistics,species distribution analysis,statistical biogeography}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2006.00279.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\TLWDUIYD\\Dormann - 2007 - Effects of incorporating spatial autocorrelation i.pdf} +} + +@article{doverInfluencesLandscapeStructure2009, + title = {The Influences of Landscape Structure on Butterfly Distribution and Movement: A Review}, + shorttitle = {The Influences of Landscape Structure on Butterfly Distribution and Movement}, + author = {Dover, John and Settele, Josef}, + year = {2009}, + month = feb, + journal = {Journal of Insect Conservation}, + volume = {13}, + number = {1}, + pages = {3--27}, + issn = {1572-9753}, + doi = {10.1007/s10841-008-9135-8}, + abstract = {We review the literature on the influence of landscape structure on butterfly distribution and movement. We start by examining the definition of landscape commonly used in spatial ecology. Landscape-level processes are reviewed before focusing on the impact of the geometry and spatial arrangement of habitat patches on butterflies e.g. the nature of the matrix, patch size and shape, minimum area requirements, immigration and emigration, and temporal habitat dynamics. The role of landscape elements is reviewed in terms of corridors (and stepping-stones), barriers, nodes, environmental buffers, and prominent landmark features.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\LJVY2JZQ\\Dover und Settele - 2009 - The influences of landscape structure on butterfly.pdf} +} + +@article{driezenEvaluatingLeastcostModel2007, + title = {Evaluating Least-Cost Model Predictions with Empirical Dispersal Data: {{A}} Case-Study Using Radiotracking Data of Hedgehogs ({{Erinaceus}} Europaeus)}, + shorttitle = {Evaluating Least-Cost Model Predictions with Empirical Dispersal Data}, + author = {Driezen, Kassandra and Adriaensen, Frank and Rondinini, Carlo and Doncaster, C. Patrick and Matthysen, Erik}, + year = {2007}, + journal = {Ecological Modelling}, + volume = {209}, + number = {2}, + pages = {314--322}, + publisher = {{Elsevier}}, + abstract = {Habitat fragmentation and habitat loss are widely recognized as major threats to biodiversity on a regional as well as on a global scale. To restrict its effects, ecological networks such as the trans-European network NATURA2000 are being developed based on the assumption that structural connections between habitat fragments lead to increased exchange through dispersal and a higher viability of (meta)populations. However, there is a great need for techniques that translate these networks and/or structural characteristics of landscapes into functional connectivity for specific organisms. Least-cost analysis has the capacities to fulfill these needs, but has never been validated against actual observations of dispersal paths. Here we present a method to validate the results of a least-cost analysis by comparing realized movement paths of hedgehogs in unfamiliar areas, obtained by radiotracking, with statistics on landscape-wide distribution of cost values. The degree of correspondence between empirical dispersal paths and the output of a least-cost analysis can be visualized and quantified, and least-cost scenarios can be statistically compared. We show that hedgehogs moved along paths with significantly lower cost values than the average landscape, implying that they took better than random routes, but performance was relatively poor. We attribute this to the relatively generalistic habitat use of the model species and the rather homogeneous landscapes. We conclude that this approach can be useful for further validation of the least-cost model and allows a direct comparison of model performance among different taxa and/or landscapes.}, + langid = {english}, + keywords = {Connectivity,Cost-distance,Dispersal path,Erinaceus europaeus,Least-cost model}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\8A74C4QW\\v209y2007i2p314-322.html} +} + +@article{duckworthAdaptiveDispersalStrategies2008, + title = {Adaptive Dispersal Strategies and the Dynamics of a Range Expansion}, + author = {Duckworth, Ren{\'e}e A.}, + year = {2008}, + month = jul, + journal = {The American Naturalist}, + volume = {172 Suppl 1}, + pages = {S4-17}, + issn = {1537-5323}, + doi = {10.1086/588289}, + abstract = {In species undergoing range expansion, newly established populations are often more dispersive than older populations. Because dispersal phenotypes are complex and often costly, it is unclear how highly dispersive phenotypes are maintained in a species to enable their rapid expression during periods of range expansion. Here I test the idea that metapopulation dynamics of local extinction and recolonization maintain distinct dispersal strategies outside the context of range expansion. Western bluebirds display distinct dispersal phenotypes where aggressive males are more dispersive than nonaggressive males, resulting in highly aggressive populations at the edge of their expanding range. I experimentally created new habitat interior to the range edge to show that, as on the range front, it was colonized solely by aggressive males. Moreover, fitness consequences of aggression depended on population age: aggressive males had high fitness when colonizing new populations, while nonaggressive males performed best in an older population. These results suggest that distinct dispersal strategies were maintained before range expansion as an adaptation for the continual recolonization of new habitat. These results emphasize similarities between range expansion and metapopulation dynamics and suggest that preexisting adaptive dispersal strategies may explain rapid changes in dispersal phenotypes during range expansion.}, + langid = {english}, + pmid = {18554143}, + keywords = {Adaptation; Biological,Aggression,Animals,Ecosystem,Female,Geography,Male,Montana,Population Dynamics,Selection; Genetic,Songbirds} +} + +@article{dyckHabitatFragmentationInsect1999, + title = {Habitat Fragmentation and Insect Flight: A Changing `Design' in a Changing Landscape?}, + shorttitle = {Habitat Fragmentation and Insect Flight}, + author = {Dyck, Hans Van and Matthysen, Erik}, + year = {1999}, + month = may, + journal = {Trends in Ecology \& Evolution}, + volume = {14}, + number = {5}, + pages = {172--174}, + publisher = {{Elsevier}}, + issn = {0169-5347}, + doi = {10.1016/S0169-5347(99)01610-9}, + langid = {english}, + pmid = {10322528}, + keywords = {butterflies,dispersal,Ecology,evolution,Evolution,habitat fragmentation,insect flight,morphological design}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\3A89AYW2\\Dyck et al. - 1999 - Habitat fragmentation and insect flight a changin.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\LL532EVX\\S0169-5347(99)01610-9.html} +} + +@article{dythamEvolvedDispersalStrategies2009, + title = {Evolved Dispersal Strategies at Range Margins}, + author = {Dytham, Calvin}, + year = {2009}, + month = apr, + journal = {Proceedings of the Royal Society B: Biological Sciences}, + volume = {276}, + number = {1661}, + pages = {1407--1413}, + issn = {0962-8452}, + doi = {10.1098/rspb.2008.1535}, + abstract = {Dispersal is a key component of a species's ecology and will be under different selection pressures in different parts of the range. For example, a long-distance dispersal strategy suitable for continuous habitat at the range core might not be favoured at the margin, where the habitat is sparse. Using a spatially explicit, individual-based, evolutionary simulation model, the dispersal strategies of an organism that has only one dispersal event in its lifetime, such as a plant or sessile animal, are considered. Within the model, removing habitat, increasing habitat turnover, increasing the cost of dispersal, reducing habitat quality or altering vital rates imposes range limits. In most cases, there is a clear change in the dispersal strategies across the range, although increasing death rate towards the margin has little impact on evolved dispersal strategy across the range. Habitat turnover, reduced birth rate and reduced habitat quality all increase evolved dispersal distances at the margin, while increased cost of dispersal and reduced habitat density lead to lower evolved dispersal distances at the margins. As climate change shifts suitable habitat poleward, species ranges will also start to shift, and it will be the dispersal capabilities of marginal populations, rather than core populations, that will influence the rate of range shifting.}, + pmcid = {PMC2677228}, + pmid = {19324810}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\625B7SCP\\Dytham - 2009 - Evolved dispersal strategies at range margins.pdf} +} + +@article{dythamEvolvingDispersalAge2006, + title = {Evolving {{Dispersal}} and {{Age}} at {{Death}}}, + author = {Dytham, Calvin and Travis, Justin M. J.}, + year = {2006}, + journal = {Oikos}, + volume = {113}, + number = {3}, + pages = {530--538}, + publisher = {{[Nordic Society Oikos, Wiley]}}, + issn = {0030-1299}, + abstract = {Traditional, and often competing, theories on ageing agree that a programmed age at death must have arisen as a side effect of natural selection, and that it can have no adaptive value of its own. However, theoretical models suggest that ageing and programmed death can be adaptive. Travis J. M. J. suggested that if fecundity declines with age, a programmed age of death evolves through kin selection and that the nature of dispersal is crucial as it determines the degree of spatial structure and hence the strength of kin selection. Here, using a similar model, we consider the interplay between dispersal and age of death. We incorporate more realistic dispersal kernels and allow both dispersal and age of death to evolve. Our results show each trait can evolve in response to the other: earlier age of death evolves when individuals disperse less and greater dispersal distances evolve when individuals are programmed to die later. When we allow dispersal and age of death to evolve at the same time we typically find that dispersal evolves more rapidly, and that ageing then evolves in response to the new dispersal regime. The cost of dispersal is crucial in determining the evolution of both traits. We argue both that ageing is an overlooked ecological process, and that the field of gerontology could learn a lot from evolutionary ecology. We suggest that it is time to develop the field of ecological gerontology and we highlight a few areas where future work might be particularly rewarding.} +} + +@article{easterlingClimateExtremesObservations2000, + title = {Climate {{Extremes}}: {{Observations}}, {{Modeling}}, and {{Impacts}}}, + shorttitle = {Climate {{Extremes}}}, + author = {Easterling, David R. and Meehl, Gerald A. and Parmesan, Camille and Changnon, Stanley A. and Karl, Thomas R. and Mearns, Linda O.}, + year = {2000}, + month = sep, + journal = {Science}, + volume = {289}, + number = {5487}, + pages = {2068--2074}, + publisher = {{American Association for the Advancement of Science}}, + issn = {0036-8075, 1095-9203}, + doi = {10.1126/science.289.5487.2068}, + abstract = {One of the major concerns with a potential change in climate is that an increase in extreme events will occur. Results of observational studies suggest that in many areas that have been analyzed, changes in total precipitation are amplified at the tails, and changes in some temperature extremes have been observed. Model output has been analyzed that shows changes in extreme events for future climates, such as increases in extreme high temperatures, decreases in extreme low temperatures, and increases in intense precipitation events. In addition, the societal infrastructure is becoming more sensitive to weather and climate extremes, which would be exacerbated by climate change. In wild plants and animals, climate-induced extinctions, distributional and phenological changes, and species' range shifts are being documented at an increasing rate. Several apparently gradual biological changes are linked to responses to extreme weather and climate events.}, + chapter = {Review}, + langid = {english}, + pmid = {11000103}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\F5G4BRUV\\Easterling et al. - 2000 - Climate Extremes Observations, Modeling, and Impa.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\4GK3BV9N\\2068.html} +} + +@article{edelaarMatchingHabitatChoice2008, + title = {Matching {{Habitat Choice Causes Directed Gene Flow}}: {{A Neglected Dimension}} in {{Evolution}} and {{Ecology}}}, + shorttitle = {Matching {{Habitat Choice Causes Directed Gene Flow}}}, + author = {Edelaar, Pim and Siepielski, Adam M. and Clobert, Jean}, + year = {2008}, + journal = {Evolution}, + volume = {62}, + number = {10}, + pages = {2462--2472}, + issn = {1558-5646}, + doi = {10.1111/j.1558-5646.2008.00459.x}, + abstract = {Gene flow among populations is typically thought to be antagonistic to population differentiation and local adaptation. However, this assumes that dispersing individuals disperse randomly with respect to their ability to use the environment. Yet dispersing individuals often sample and compare environments and settle in those environments that best match their phenotype, causing directed gene flow, which can in fact promote population differentiation and adaptation. We refer to this process as ``matching habitat choice.'' Although this process has been acknowledged by several researchers, no synthesis or perspective on its potentially widespread importance exists. Here we synthesize empirical and theoretical studies, and offer a new perspective that matching habitat choice can have significant effects on important and controversial topics. We discuss the potential implications of matching habitat choice for the degree and rate of local adaptation, the evolution of niche width, adaptive peak shifts, speciation in the presence of gene flow, and on our view and interpretation of measures of natural selection. Because of its potential importance for such a wide range of topics, we call for heightened empirical and theoretical attention for this neglected dimension in evolutionary and ecological studies.}, + langid = {english}, + keywords = {Dispersal,gene flow,habitat choice,local adaptation,migration–selection balance,natural selection,population differentiation}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1558-5646.2008.00459.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\DBFI93ZP\\Edelaar et al. - 2008 - Matching Habitat Choice Causes Directed Gene Flow.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\756WY33F\\j.1558-5646.2008.00459.html} +} + +@article{elithSpeciesDistributionModels, + title = {Species {{Distribution Models}}: {{Ecological Explanation}} and {{Prediction Across Space}} and {{Time}}}, + author = {Elith, J and Leathwick, J. R.}, + journal = {Annual Review of Ecology, Evolution, and Systematics}, + number = {40}, + pages = {677--697} +} + +@article{enfjallEvolutionDispersalImportance2009, + title = {The Evolution of Dispersal \textendash{} the Importance of Information about Population Density and Habitat Characteristics}, + author = {Enfj{\"a}ll, Karin and Leimar, Olof}, + year = {2009}, + journal = {Oikos}, + volume = {118}, + number = {2}, + pages = {291--299}, + issn = {1600-0706}, + doi = {10.1111/j.1600-0706.2008.16863.x}, + abstract = {The evolution of mobility patterns and dispersal strategies depend on different population, habitat and life history characteristics. The ability to perceive and make use of information about the surrounding environment for dispersal decisions will also differ between organisms. To investigate the evolutionary consequences of such differences, we have used a simulation model with nearest-neighbour dispersal in a metapopulation to study how variation in the ability to obtain and make use of information about habitat quality and conspecific density affects the evolution of dispersal strategies. We found a rather strong influence of variation in information on the overall rate of dispersal in a metapopulation. The highest emigration rate evolved in organisms with no information about either density or habitat quality and the lowest rate was found in organisms with information about both the natal and the neighbouring patches. For organisms that can make use of information about conspecific density, positively density-dependent dispersal evolved in the majority of cases, with the strongest density dependence occurring when an individual only has information about density in the natal patch. However, we also identified situations, involving strong local population fluctuations and frequent local extinctions, where negatively density-dependent dispersal evolved.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2008.16863.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\LT3FZ62H\\Enfjäll und Leimar - 2009 - The evolution of dispersal – the importance of inf.pdf} +} + +@article{englerMigClimPredictingPlant2009, + title = {{{MigClim}}: {{Predicting}} Plant Distribution and Dispersal in a Changing Climate}, + shorttitle = {{{MigClim}}}, + author = {Engler, Robin and Guisan, Antoine}, + year = {2009}, + journal = {Diversity and Distributions}, + volume = {15}, + number = {4}, + pages = {590--601}, + issn = {1472-4642}, + doi = {10.1111/j.1472-4642.2009.00566.x}, + abstract = {Aim Many studies have forecasted the possible impact of climate change on plant distributions using models based on ecological niche theory, but most of them have ignored dispersal-limitations, assuming dispersal to be either unlimited or null. Depending on the rate of climatic change, the landscape fragmentation and the dispersal capabilities of individual species, these assumptions are likely to prove inaccurate, leading to under- or overestimation of future species distributions and yielding large uncertainty between these two extremes. As a result, the concepts of `potentially suitable' and `potentially colonizable' habitat are expected to differ significantly. To quantify to what extent these two concepts can differ, we developed MigClim, a model simulating plant dispersal under climate change and landscape fragmentation scenarios. MigClim implements various parameters, such as dispersal distance, increase in reproductive potential over time, landscape fragmentation or long-distance dispersal. Location Western Swiss Alps. Methods Using our MigClim model, several simulations were run for two virtual species by varying dispersal distance and other parameters. Each simulation covered the 100-year period 2001\textendash 2100 and three different IPCC-based temperature warming scenarios were considered. Results of dispersal-limited projections were compared with unlimited and no-dispersal projections. Results Our simulations indicate that: (1) using realistic parameter values, the future potential distributions generated using MigClim can differ significantly (up to more than 95\% difference in colonized surface) from those that ignore dispersal; (2) this divergence increases under more extreme climate warming scenarios and over longer time periods; and (3) the uncertainty associated with the warming scenario can be as large as the one related to dispersal parameters. Main conclusions Accounting for dispersal, even roughly, can importantly reduce uncertainty in projections of species distribution under climate change scenarios.}, + langid = {english}, + keywords = {Cellular automaton,climate change,dispersal modelling,dynamic niche-based models,GLM,plant species distribution}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2009.00566.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\23WHR4RV\\Engler und Guisan - 2009 - MigClim Predicting plant distribution and dispers.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\SCAJT7CB\\j.1472-4642.2009.00566.html} +} + +@article{eppersonUtilityComputerSimulations2010, + title = {Utility of Computer Simulations in Landscape Genetics}, + author = {Epperson, Bryan K. and Mcrae, Brad H. and Scribner, Kim and Cushman, Samuel A. and Rosenberg, Michael S. and Fortin, Marie-Jos{\'e}e and James, Patrick M. A. and Murphy, Melanie and Manel, St{\'e}phanie and Legendre, Pierre and Dale, Mark R. T.}, + year = {2010}, + journal = {Molecular Ecology}, + volume = {19}, + number = {17}, + pages = {3549--3564}, + issn = {1365-294X}, + doi = {10.1111/j.1365-294X.2010.04678.x}, + abstract = {Population genetics theory is primarily based on mathematical models in which spatial complexity and temporal variability are largely ignored. In contrast, the field of landscape genetics expressly focuses on how population genetic processes are affected by complex spatial and temporal environmental heterogeneity. It is spatially explicit and relates patterns to processes by combining complex and realistic life histories, behaviours, landscape features and genetic data. Central to landscape genetics is the connection of spatial patterns of genetic variation to the usually highly stochastic space\textendash time processes that create them over both historical and contemporary time periods. The field should benefit from a shift to computer simulation approaches, which enable incorporation of demographic and environmental stochasticity. A key role of simulations is to show how demographic processes such as dispersal or reproduction interact with landscape features to affect probability of site occupancy, population size, and gene flow, which in turn determine spatial genetic structure. Simulations could also be used to compare various statistical methods and determine which have correct type I error or the highest statistical power to correctly identify spatio-temporal and environmental effects. Simulations may also help in evaluating how specific spatial metrics may be used to project future genetic trends. This article summarizes some of the fundamental aspects of spatial\textendash temporal population genetic processes. It discusses the potential use of simulations to determine how various spatial metrics can be rigorously employed to identify features of interest, including contrasting locus-specific spatial patterns due to micro-scale environmental selection.}, + langid = {english}, + keywords = {individual-based models,landscape ecology,population genetics,simulations,spatial statistics}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-294X.2010.04678.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\V96KB67J\\Epperson et al. - 2010 - Utility of computer simulations in landscape genet.pdf} +} + +@article{excoffierGeneticConsequencesRange2009, + title = {Genetic {{Consequences}} of {{Range Expansions}}}, + author = {Excoffier, Laurent and Foll, Matthieu and Petit, R{\'e}my J.}, + year = {2009}, + journal = {Annual Review of Ecology, Evolution, and Systematics}, + volume = {40}, + number = {1}, + pages = {481--501}, + doi = {10.1146/annurev.ecolsys.39.110707.173414}, + abstract = {Although range expansions have occurred recurrently in the history of most species, their genetic consequences have been little investigated. Theoretical studies show that range expansions are quite different from pure demographic expansions and that the extent of recent gene flow conditions expected patterns of molecular diversity within and between populations. Spatially explicit simulation studies have led to unexpected and fascinating results about genetic patterns emerging after a range expansion. For instance, spatial expansions can generate allele frequency gradients, promote the surfing of rare variants into newly occupied territories, induce the structuring of newly colonized areas into distinct sectors of low genetic diversity, or lead to massive introgression of local genes into the genome of an invading species. Interestingly, most of these patterns had been previously attributed to distinct selective processes, showing that taking into account the dynamic nature of a species range can lead to a paradigm shift in our perception of evolutionary processes.}, + annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.39.110707.173414}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ME9I5RQA\\Excoffier et al. - 2009 - Genetic Consequences of Range Expansions.pdf} +} + +@article{fahrigEffectsHabitatFragmentation2003a, + title = {Effects of {{Habitat Fragmentation}} on {{Biodiversity}}}, + author = {Fahrig, Lenore}, + year = {2003}, + journal = {Annual Review of Ecology, Evolution, and Systematics}, + volume = {34}, + number = {1}, + pages = {487--515}, + doi = {10.1146/annurev.ecolsys.34.011802.132419}, + abstract = {The literature on effects of habitat fragmentation on biodiversity is huge. It is also very diverse, with different authors measuring fragmentation in different ways and, as a consequence, drawing different conclusions regarding both the magnitude and direction of its effects. Habitat fragmentation is usually defined as a landscape-scale process involving both habitat loss and the breaking apart of habitat. Results of empirical studies of habitat fragmentation are often difficult to interpret because (a) many researchers measure fragmentation at the patch scale, not the landscape scale and (b) most researchers measure fragmentation in ways that do not distinguish between habitat loss and habitat fragmentation per se, i.e., the breaking apart of habitat after controlling for habitat loss. Empirical studies to date suggest that habitat loss has large, consistently negative effects on biodiversity. Habitat fragmentation per se has much weaker effects on biodiversity that are at least as likely to be positive as negative. Therefore, to correctly interpret the influence of habitat fragmentation on biodiversity, the effects of these two components of fragmentation must be measured independently. More studies of the independent effects of habitat loss and fragmentation per se are needed to determine the factors that lead to positive versus negative effects of fragmentation per se. I suggest that the term ``fragmentation'' should be reserved for the breaking apart of habitat, independent of habitat loss.}, + annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.34.011802.132419}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\JW2M3HGH\\Fahrig - 2003 - Effects of Habitat Fragmentation on Biodiversity.pdf} +} + +@article{fahrigNonoptimalAnimalMovement2007a, + title = {Non-Optimal Animal Movement in Human-Altered Landscapes}, + author = {Fahrig, Lenore}, + year = {2007}, + journal = {Functional Ecology}, + volume = {21}, + number = {6}, + pages = {1003--1015}, + issn = {1365-2435}, + doi = {10.1111/j.1365-2435.2007.01326.x}, + abstract = {1 I synthesize the understanding of the relationship between landscape structure and animal movement in human-modified landscapes. 2 The variety of landscape structures is first classified into four categories: continuous habitat, patchy habitat with high-quality matrix, patchy habitat with low-quality matrix, and patchy, ephemeral habitat. Using this simplification I group the range of evolved movement parameters into four categories or movement types. I then discuss how these movement types interact with current human-caused landscape changes, and how this often results in non-optimal movement. 3 From this synthesis I develop a hypothesis that predicts the relative importance of the different population-level consequences of these non-optimal movements, for the four movement types. 4 Populations of species that have inhabited landscapes with high habitat cover or patchy landscapes with low-risk matrix should have evolved low boundary responses and moderate to high movement probabilities. These species are predicted to be highly susceptible to increased movement mortality resulting from habitat loss and reduced matrix quality. 5 In contrast, populations of species that evolved in patchy landscapes with high-risk matrix or dynamic patchy landscapes are predicted to be highly susceptible to decreased immigration and colonization success, due to the increasing patch isolation that results from habitat loss. 6 Finally, I discuss three implications of this synthesis: (i) `least cost path' analysis should not be used for land management decisions without data on actual movement paths and movement risks in the landscape; (ii) `dispersal ability' is not simply an attribute of a species, but varies strongly with landscape structure such that the relative rankings of species' dispersal abilities can change following landscape alteration; and (iii) the assumption that more mobile species are more resilient to human-caused landscape change is not generally true, but depends on the structure of the landscape where the species evolved.}, + langid = {english}, + keywords = {colonization,dispersal ability,dispersal mortality,landscape structure,least cost path}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2435.2007.01326.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\SAETXSAN\\Fahrig - 2007 - Non-optimal animal movement in human-altered lands.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\9NAZ9VUH\\j.1365-2435.2007.01326.html} +} + +@article{fellousQuorumSensingDensityDependent2012, + title = {Quorum {{Sensing}} and {{Density-Dependent Dispersal}} in an {{Aquatic Model System}}}, + author = {Fellous, Simon and Duncan, Alison and Coulon, Aur{\'e}lie and Kaltz, Oliver}, + year = {2012}, + month = nov, + journal = {PLOS ONE}, + volume = {7}, + number = {11}, + pages = {e48436}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0048436}, + abstract = {Many organisms use cues to decide whether to disperse or not, especially those related to the composition of their environment. Dispersal hence sometimes depends on population density, which can be important for the dynamics and evolution of sub-divided populations. But very little is known about the factors that organisms use to inform their dispersal decision. We investigated the cues underlying density-dependent dispersal in inter-connected microcosms of the freshwater protozoan Paramecium caudatum. In two experiments, we manipulated (i) the number of cells per microcosm and (ii) the origin of their culture medium (supernatant from high- or low-density populations). We found a negative relationship between population density and rates of dispersal, suggesting the use of physical cues. There was no significant effect of culture medium origin on dispersal and thus no support for chemical cues usage. These results suggest that the perception of density \textendash{} and as a result, the decision to disperse \textendash{} in this organism can be based on physical factors. This type of quorum sensing may be an adaptation optimizing small scale monitoring of the environment and swarm formation in open water.}, + langid = {english}, + keywords = {Allee effect,Behavior,Cloning,Paramecium,Population density,Quorum sensing,Statistical dispersion,Swimming}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\KNTDRHDG\\Fellous et al. - 2012 - Quorum Sensing and Density-Dependent Dispersal in .pdf} +} + +@article{fischerLandscapeModificationHabitat2007, + title = {Landscape Modification and Habitat Fragmentation: A Synthesis}, + shorttitle = {Landscape Modification and Habitat Fragmentation}, + author = {Fischer, Joern and Lindenmayer, David B.}, + year = {2007}, + journal = {Global Ecology and Biogeography}, + volume = {16}, + number = {3}, + pages = {265--280}, + issn = {1466-8238}, + doi = {10.1111/j.1466-8238.2007.00287.x}, + abstract = {Landscape modification and habitat fragmentation are key drivers of global species loss. Their effects may be understood by focusing on: (1) individual species and the processes threatening them, and (2) human-perceived landscape patterns and their correlation with species and assemblages. Individual species may decline as a result of interacting exogenous and endogenous threats, including habitat loss, habitat degradation, habitat isolation, changes in the biology, behaviour, and interactions of species, as well as additional, stochastic threats. Human-perceived landscape patterns that are frequently correlated with species assemblages include the amount and structure of native vegetation, the prevalence of anthropogenic edges, the degree of landscape connectivity, and the structure and heterogeneity of modified areas. Extinction cascades are particularly likely to occur in landscapes with low native vegetation cover, low landscape connectivity, degraded native vegetation and intensive land use in modified areas, especially if keystone species or entire functional groups of species are lost. This review (1) demonstrates that species-oriented and pattern-oriented approaches to understanding the ecology of modified landscapes are highly complementary, (2) clarifies the links between a wide range of interconnected themes, and (3) provides clear and consistent terminology. Tangible research and management priorities are outlined that are likely to benefit the conservation of native species in modified landscapes around the world.}, + langid = {english}, + keywords = {Connectivity,countryside biogeography,edge effects,extinction proneness,habitat fragmentat,habitat loss,keystone,landscape heterogeneity,matrix,species,threatening processes}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2007.00287.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\FH4QSVBH\\Fischer und Lindenmayer - 2007 - Landscape modification and habitat fragmentation .pdf} +} + +@article{fletcherjr.EmergentPropertiesConspecific2006, + title = {Emergent {{Properties}} of {{Conspecific Attraction}} in {{Fragmented Landscapes}}}, + author = {Fletcher Jr., Robert J. and Grimm, Associate Editor: Volker and DeAngelis, Editor: Donald L.}, + year = {2006}, + journal = {The American Naturalist}, + volume = {168}, + number = {2}, + pages = {207--219}, + publisher = {{[The University of Chicago Press, The American Society of Naturalists]}}, + issn = {0003-0147}, + doi = {10.1086/505764}, + abstract = {Abstract: Attraction to conspecifics may have wide-ranging implications for habitat selection and metapopulation theory, yet little is known about the process of attraction and its effects relative to other habitat selection strategies. Using individual-based simulations, I investigated the emergent properties of conspecific attraction during habitat selection on survival, fecundity, short-term fitness (sur \textbackslash documentclass\{aastex\} \textbackslash usepackage\{amsbsy\} \textbackslash usepackage\{amsfonts\} \textbackslash usepackage\{amssymb\} \textbackslash usepackage\{bm\} \textbackslash usepackage\{mathrsfs\} \textbackslash usepackage\{pifont\} \textbackslash usepackage\{stmaryrd\} \textbackslash usepackage\{textcomp\} \textbackslash usepackage\{portland,xspace\} \textbackslash usepackage\{amsmath,amsxtra\} \textbackslash usepackage[OT2,OT1]\{fontenc\} \textbackslash newcommand\textbackslash cyr\{ \textbackslash renewcommand\textbackslash rmdefault\{wncyr\} \textbackslash renewcommand\textbackslash sfdefault\{wncyss\} \textbackslash renewcommand\textbackslash encodingdefault\{OT2\} \textbackslash normalfont \textbackslash selectfont\} \textbackslash DeclareTextFontCommand\{\textbackslash textcyr\}\{\textbackslash cyr\} \textbackslash pagestyle\{empty\} \textbackslash DeclareMathSizes\{10\}\{9\}\{7\}\{6\} \textbackslash begin\{document\} \textbackslash landscape \$\textbackslash mathrm\{vival\}\textbackslash,\textbackslash times \textbackslash mathrm\{fecundity\}\textbackslash,\$ \textbackslash end\{document\} ), and distributions in fragmented landscapes. I simulated conspecific attraction during searching and settlement decisions and compared attraction with random, habitat-based (searching for the presence of habitat), and habitat quality sampling strategies (searching for and settling in high-quality habitat). Conspecific attraction during searching or settlement decisions had different consequences for animals: attraction while searching increased survival by decreasing time spent in nonsuitable habitat, whereas attraction during settlement increased fecundity by aggregating animals in high-quality habitats. Habitat-based sampling did not improve fitness over attraction, but directly sampling habitat quality resulted in the highest short-term fitness among strategies. These results suggest that attraction can improve fitness when animals cannot directly assess habitat quality. Interestingly, conspecific attraction influenced distributions by generating patch size effects and weak edge effects, highlighting that attraction is one potential, yet previously unappreciated, mechanism to explain the widespread patterns of animal sensitivity to habitat fragmentation.} +} + +@article{fletcherSpeciesInteractionsPopulation2007, + title = {Species Interactions and Population Density Mediate the Use of Social Cues for Habitat Selection}, + author = {Fletcher, Robert J.}, + year = {2007}, + month = may, + journal = {The Journal of Animal Ecology}, + volume = {76}, + number = {3}, + pages = {598--606}, + issn = {0021-8790}, + doi = {10.1111/j.1365-2656.2007.01230.x}, + abstract = {1. The perspective that populations and communities are structured by antagonistic interactions among individuals has dominated much of ecology. Yet how animals use social information to guide decisions, such as habitat selection, may be influenced by both positive and negative interactions among individuals. Recent theory also suggests that the way animals use social information may be substantially influenced by population density, which alters the potential costs and benefits of such behaviours. 2. I manipulated cues of two competitors, the dominant least flycatcher Empidonax minimus (Baird \& Baird) and the subordinate American redstart Setophaga ruticilla (Linnaeus), to assess the use of conspecific and heterospecific cues during habitat selection, and if population density influences these strategies. The experiment consisted of surveying birds during a pre-treatment year, which allows for the control and testing the effect of baseline densities, and a treatment year, in which treatments were applied just prior to settlement. Treatments included broadcasting songs of flycatchers and redstarts, and were compared with controls. 3. When controlling for pre-treatment densities, bird densities, and to a lesser extent arrival dates, during the treatment year suggested that flycatchers were attracted to both conspecific and heterospecific cues during settlement. Furthermore, attraction was strongest for flycatchers in plots with moderate pre-treatment densities. American redstarts were rare in the study area but showed apparent attraction to conspecifics and avoidance of heterospecifics. 4. These results provide experimental evidence for the use of multiple social cues in habitat selection and suggest that heterospecific attraction may operate under broader contexts than originally envisioned. In such instances, nontarget effects can potentially occur when manipulating social cues to elicit settlement in conservation strategies. The impact of population density on the use of social cues shown here can also influence our understanding of metapopulation dynamics by causing complex threshold effects on the likelihood of rescue, which may influence metapopulation stability and the likelihood of local extinction.}, + langid = {english}, + pmid = {17439476}, + keywords = {Animals,Behavior; Animal,Competitive Behavior,Conservation of Natural Resources,Ecosystem,Female,Male,Population Density,Population Dynamics,Social Behavior,Songbirds,Species Specificity}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\AMEKHZ9S\\Fletcher - 2007 - Species interactions and population density mediat.pdf} +} + +@article{fowlerConfoundingEnvironmentalColour2013, + title = {Confounding {{Environmental Colour}} and {{Distribution Shape Leads}} to {{Underestimation}} of {{Population Extinction Risk}}}, + author = {Fowler, Mike S. and Ruokolainen, Lasse}, + year = {2013}, + month = feb, + journal = {PLOS ONE}, + volume = {8}, + number = {2}, + pages = {e55855}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0055855}, + abstract = {The colour of environmental variability influences the size of population fluctuations when filtered through density dependent dynamics, driving extinction risk through dynamical resonance. Slow fluctuations (low frequencies) dominate in red environments, rapid fluctuations (high frequencies) in blue environments and white environments are purely random (no frequencies dominate). Two methods are commonly employed to generate the coloured spatial and/or temporal stochastic (environmental) series used in combination with population (dynamical feedback) models: autoregressive [AR(1)] and sinusoidal (1/f) models. We show that changing environmental colour from white to red with 1/f models, and from white to red or blue with AR(1) models, generates coloured environmental series that are not normally distributed at finite time-scales, potentially confounding comparison with normally distributed white noise models. Increasing variability of sample Skewness and Kurtosis and decreasing mean Kurtosis of these series alter the frequency distribution shape of the realised values of the coloured stochastic processes. These changes in distribution shape alter patterns in the probability of single and series of extreme conditions. We show that the reduced extinction risk for undercompensating (slow growing) populations in red environments previously predicted with traditional 1/f methods is an artefact of changes in the distribution shapes of the environmental series. This is demonstrated by comparison with coloured series controlled to be normally distributed using spectral mimicry. Changes in the distribution shape that arise using traditional methods lead to underestimation of extinction risk in normally distributed, red 1/f environments. AR(1) methods also underestimate extinction risks in traditionally generated red environments. This work synthesises previous results and provides further insight into the processes driving extinction risk in model populations. We must let the characteristics of known natural environmental covariates (e.g., colour and distribution shape) guide us in our choice of how to best model the impact of coloured environmental variation on population dynamics.}, + langid = {english}, + keywords = {Autocorrelation,Extinction risk,Normal distribution,Population density,Population dynamics,Probability distribution,Skewness,Stochastic processes}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\4YG8CQTQ\\Fowler und Ruokolainen - 2013 - Confounding Environmental Colour and Distribution .pdf} +} + +@article{frankhamWhereAreWe2010, + title = {Where Are We in Conservation Genetics and Where Do We Need to Go?}, + author = {Frankham, Richard}, + year = {2010}, + month = apr, + journal = {Conservation Genetics}, + volume = {11}, + number = {2}, + pages = {661--663}, + issn = {1572-9737}, + doi = {10.1007/s10592-009-0010-2}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\R8F8LQK2\\Frankham - 2010 - Where are we in conservation genetics and where do.pdf} +} + +@article{franklinMovingStaticSpecies2010, + title = {Moving beyond Static Species Distribution Models in Support of Conservation Biogeography}, + author = {Franklin, Janet}, + year = {2010}, + journal = {Diversity and Distributions}, + volume = {16}, + number = {3}, + pages = {321--330}, + issn = {1472-4642}, + doi = {10.1111/j.1472-4642.2010.00641.x}, + abstract = {Aim To demonstrate that multi-modelling methods have effectively been used to combine static species distribution models (SDM), predicting the geographical pattern of suitable habitat, with dynamic landscape and population models to forecast the impacts of environmental change on species' status, an important goal of conservation biogeography. Methods Three approaches were considered: (1) incorporating models of species migration to understand the ability of a species to occupy suitable habitat in new locations; (2) linking models of landscape disturbance and succession to models of habitat suitability; and (3) fully linking models of habitat suitability, habitat dynamics and spatially explicit population dynamics. Results Linking species\textendash environment relationships, landscape dynamics and population dynamics in a multi-modelling framework allows the combined impacts of climate change (affecting species distribution and vital rates) and land cover dynamics (land use change, altered disturbance regimes) on species to be predicted. This approach is only feasible if the life history parameters and habitat requirements of the species are well understood. Main conclusions Forecasts of the impacts of global change on species may be improved by considering multiple causes. A range of methods are available to address the interactions of changing habitat suitability, habitat dynamics and population response that vary in their complexity, realism and data requirements.}, + langid = {english}, + keywords = {Climate change,disturbance,landscape dynamics,metapopulation model,species distribution model,species migration}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00641.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\M47NGK2Z\\Franklin - 2010 - Moving beyond static species distribution models i.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\QTJPQC4Y\\j.1472-4642.2010.00641.html} +} + +@article{franksGeneticsClimateChange2012, + title = {Genetics of {{Climate Change Adaptation}}}, + author = {Franks, Steven J. and Hoffmann, Ary A.}, + year = {2012}, + month = dec, + journal = {Annual Review of Genetics}, + volume = {46}, + number = {1}, + pages = {185--208}, + publisher = {{Annual Reviews}}, + issn = {0066-4197}, + doi = {10.1146/annurev-genet-110711-155511}, + abstract = {The rapid rate of current global climate change is having strong effects on many species and, at least in some cases, is driving evolution, particularly when changes in conditions alter patterns of selection. Climate change thus provides an opportunity for the study of the genetic basis of adaptation. Such studies include a variety of observational and experimental approaches, such as sampling across clines, artificial evolution experiments, and resurrection studies. These approaches can be combined with a number of techniques in genetics and genomics, including association and mapping analyses, genome scans, and transcription profiling. Recent research has revealed a number of candidate genes potentially involved in climate change adaptation and has also illustrated that genetic regulatory networks and epigenetic effects may be particularly relevant for evolution driven by climate change. Although genetic and genomic data are rapidly accumulating, we still have much to learn about the genetic architecture of climate change adaptation.}, + keywords = {epigenetics,evolutionary constraints,genetic response networks,global change,natural selection}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\L6ZEU4D8\\Franks und Hoffmann - 2012 - Genetics of Climate Change Adaptation.pdf} +} + +@article{fraserRangeExpansionInvasive2015, + title = {Range Expansion of an Invasive Species through a Heterogeneous Landscape \textendash{} the Case of {{American}} Mink in {{Scotland}}}, + author = {Fraser, Elaine J. and Lambin, Xavier and Travis, Justin M. J. and Harrington, Lauren A. and Palmer, Stephen C. F. and Bocedi, Greta and Macdonald, David W.}, + year = {2015}, + journal = {Diversity and Distributions}, + volume = {21}, + number = {8}, + pages = {888--900}, + issn = {1472-4642}, + doi = {10.1111/ddi.12303}, + abstract = {Aim The impact of invasive species is one of the main causes of biodiversity loss world-wide, and as a result, there is much interest in understanding the pattern and rate of expansion of species outside their native range. We aimed to characterize the range expansion of the American mink (Neovison vison) invading from multiple introduction points through a varied landscape bounded by coastline to better understand and manage its spread. Location Scotland, UK. Method We collated and used records of mink presence to calculate the historical range and rate of range expansion at successive time intervals. We used a presence-only model to predict habitat suitability and a newly developed individual-based modelling platform, RangeShifter, to simulate range expansion. Results Records showed that mink were distributed throughout Scotland, except in the far north. We found that the rate of spread varied both spatially and temporally and was related to landscape heterogeneity. Habitat suitable for mink in west Scotland is restricted to the coast. Main conclusions We concluded that temporal and spatial variation in range expansion is attributable to heterogeneity within the landscape and also demonstrated that the potential for long-distance dispersal does not necessarily facilitate range expansion when availability of suitable habitat occurs in narrow strips and/or is fragmented. We have highlighted methodological gaps in calculating rates of expansion in invasive species but have demonstrated alternative methods that successfully utilize presence-only data. Our study reaffirms that invasive species will colonize less favourable habitats and highlights the need to remain vigilant of their potential for expansion even when distribution appears to be static for a time.}, + langid = {english}, + keywords = {American mink,biological invasions,habitat availability,heterogeneous landscape,invasive species,multiple introduction points,range expansion}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ddi.12303}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\3GUP8LM2\\Fraser et al. - 2015 - Range expansion of an invasive species through a h.pdf} +} + +@article{friedenbergExperimentalEvolutionDispersal2003, + title = {Experimental Evolution of Dispersal in Spatiotemporally Variable Microcosms}, + author = {Friedenberg, Nicholas A.}, + year = {2003}, + journal = {Ecology Letters}, + volume = {6}, + number = {10}, + pages = {953--959}, + issn = {1461-0248}, + doi = {10.1046/j.1461-0248.2003.00524.x}, + abstract = {The world is an uncertain place. Individuals' fates vary from place to place and from time to time. Natural selection in unpredictable environments should favour individuals that hedge their bets by dispersing offspring. I confirm this basic prediction using Caenorhabditis elegans in experimental microcosms. My results agree with evolutionary models and correlations found previously between habitat stability and individual dispersal propensity in nature. However, I also find that environmental variation that triggers conditional dispersal behaviour may not impose selection on baseline dispersal rates. These findings imply that an increased rate of disturbance in natural systems has the potential to cause an evolutionary response in the life history of impacted organisms.}, + langid = {english}, + keywords = {bet hedging,Caenorhabditis elegans,fluctuating environments,geometric mean fitness,life-history evolution}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1461-0248.2003.00524.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\B6TKT5B8\\Friedenberg - 2003 - Experimental evolution of dispersal in spatiotempo.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\K3GENDHD\\j.1461-0248.2003.00524.html} +} + +@article{fronhoferPickyHitchhikersVector2013a, + title = {Picky Hitch-Hikers: Vector Choice Leads to Directed Dispersal and Fat-Tailed Kernels in a Passively Dispersing Mite}, + shorttitle = {Picky Hitch-Hikers}, + author = {Fronhofer, Emanuel A. and Sperr, Ellen B. and Kreis, Anna and Ayasse, Manfred and Poethke, Hans Joachim and Tschapka, Marco}, + year = {2013}, + journal = {Oikos}, + volume = {122}, + number = {8}, + pages = {1254--1264}, + issn = {1600-0706}, + doi = {10.1111/j.1600-0706.2013.00503.x}, + abstract = {Dispersal is a central life-history trait for most animals and plants: it allows to colonize new habitats, escape from competition or avoid inbreeding. Yet, not all species are mobile enough to perform sufficient dispersal. Such passive dispersers may use more mobile animals as dispersal vectors. If multiple potential vectors are available, an active choice can allow to optimize the dispersal process and to determine the distribution of dispersal distances, i.e. an optimal dispersal kernel. We explore dispersal and vector choice in the neotropical flower mite Spadiseius calyptrogynae using a dual approach which combines experiments with an individual-based simulation model. Spadiseius calyptrogynae is found in lowland rainforests in Costa Rica. It inhabits inflorescences of the understorey palm Calyptrogyne ghiesbreghtiana and is phoretic on a number of flower visitors including bats, beetles and stingless bees. We hypothesised that the mites should optimise their dispersal kernel by actively choosing a specific mix of potential phoretic vectors. In a simple olfactometer setup we showed that the flower mites do indeed discriminate between potential vectors. Subsequently we used an individual-based model to analyse the evolutionary forces responsible for the observed patterns of vector choice. The mites combine vectors exhibiting long-distance dispersal with those allowing for more localized dispersal. This results in a fat-tailed dispersal kernel that guarantees the occasional colonization of new host plant patches (long distance) while optimizing the exploitation of clumped resources (local dispersal). Additionally, kin competition results in a preference for small vectors that transport only few individuals at a time. At the same time, these vectors lead to directed dispersal towards suitable habitat, which increases the stability of this very specialized interaction. Our findings can be applied to other phoretic systems but also to vector-based seed dispersal, for example.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2013.00503.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\FW6TQ7UN\\Fronhofer et al. - 2013 - Picky hitch-hikers vector choice leads to directe.pdf} +} + +@article{fryxellMultipleMovementModes2008, + title = {Multiple Movement Modes by Large Herbivores at Multiple Spatiotemporal Scales}, + author = {Fryxell, John M. and Hazell, Megan and B{\"o}rger, Luca and Dalziel, Ben D. and Haydon, Daniel T. and Morales, Juan M. and McIntosh, Therese and Rosatte, Rick C.}, + year = {2008}, + month = dec, + journal = {Proceedings of the National Academy of Sciences}, + volume = {105}, + number = {49}, + pages = {19114--19119}, + publisher = {{National Academy of Sciences}}, + issn = {0027-8424, 1091-6490}, + doi = {10.1073/pnas.0801737105}, + abstract = {Recent theory suggests that animals should switch facultatively among canonical movement modes as a complex function of internal state, landscape characteristics, motion capacity, and navigational capacity. We tested the generality of this paradigm for free-ranging elk (Cervus elaphus) over 5 orders of magnitude in time (minutes to years) and space (meters to 100 km). At the coarsest spatiotemporal scale, elk shifted from a dispersive to a home-ranging phase over the course of 1\textendash 3 years after introduction into a novel environment. At intermediate spatiotemporal scales, elk continued to alternate between movement modes. During the dispersive phase, elk alternated between encamped and exploratory modes, possibly linked to changes in motivational goals from foraging to social bonding. During the home-ranging phase, elk movements were characterized by a complex interplay between attraction to preferred habitat types and memory of previous movements across the home-range. At the finest temporal and spatial scale, elk used area-restricted search while browsing, interspersed with less sinuous paths when not browsing. Encountering a patch of high-quality food plants triggered the switch from one mode to the next, creating biphasic movement dynamics that were reinforced by local resource heterogeneity. These patterns suggest that multiphasic structure is fundamental to the movement patterns of elk at all temporal and spatial scales tested.}, + chapter = {Research Article}, + copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, + langid = {english}, + pmid = {19060190}, + keywords = {elk,foraging,group formation,motivation}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\NY2W7UKL\\Fryxell et al. - 2008 - Multiple movement modes by large herbivores at mul.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XMU2FA36\\19114.html} +} + +@article{gallienPredictingPotentialDistributions2010, + title = {Predicting Potential Distributions of Invasive Species: Where to Go from Here?}, + shorttitle = {Predicting Potential Distributions of Invasive Species}, + author = {Gallien, Laure and M{\"u}nkem{\"u}ller, Tamara and Albert, C{\'e}cile H. and Boulangeat, Isabelle and Thuiller, Wilfried}, + year = {2010}, + journal = {Diversity and Distributions}, + volume = {16}, + number = {3}, + pages = {331--342}, + issn = {1472-4642}, + doi = {10.1111/j.1472-4642.2010.00652.x}, + abstract = {Aim There has been considerable recent interest in modelling the potential distributions of invasive species. However, research has developed in two opposite directions: the first, focusing on screening, utilizes phenomenological models; the second, focusing on predictions of invasion dynamics, utilizes mechanistic models. Here, we present hybrid modelling as an approach to bridge the gap and to integrate the advantages of both research directions. Location Global. Methods First, we briefly summarize the characteristics and limitations of both approaches (screening vs. understanding). Then, we review the recent developments of hybrid models, discuss their current problems and offer suggestions to improve them. Results Generally, hybrid models are able to combine the advantages of currently used phenomenological and mechanistic approaches. Main challenges in building hybrid models are the choices of the appropriate degree of detail and efficiency and the decision on how to connect the different sub-models. Given these challenges, we discuss the links between the phenomenological and the mechanistic model parameters, the underlying concepts of fundamental and realized niches and the problem of feedback loops between population dynamics and environmental factors. Main conclusions Once the above challenges have been addressed and the necessary framework has been developed, hybrid models will provide outstanding tools for overcoming past limitations and will provide the means to make reliable and robust predictions of the potential distribution of invasive species, their population dynamics and the potential outcomes of the overall invasion process.}, + langid = {english}, + keywords = {Biological invasions,habitat suitability model,hybrid model,invasion dynamics,mechanistic model,species distribution model}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00652.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\JRSESJ9E\\Gallien et al. - 2010 - Predicting potential distributions of invasive spe.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UAA8SRQH\\j.1472-4642.2010.00652.html} +} + +@article{gardnerSimulatingDispersalReintroduced2004b, + title = {Simulating Dispersal of Reintroduced Species within Heterogeneous Landscapes}, + author = {Gardner, Robert H. and Gustafson, Eric J.}, + year = {2004}, + month = feb, + journal = {Ecological Modelling}, + volume = {171}, + number = {4}, + pages = {339--358}, + issn = {0304-3800}, + doi = {10.1016/j.ecolmodel.2003.08.008}, + abstract = {This paper describes the development and application of a spatially explicit, individual based model of animal dispersal (J-walk) to determine the relative effects of landscape heterogeneity, prey availability, predation risk, and the energy requirements and behavior of dispersing organisms on dispersal success. Significant unknowns exist for the simulation of complex movement behavior within heterogeneous landscapes. Therefore, initial simulations with J-walk examined the relative effect of landscape patterns and species-specific characteristics on dispersal success. Differences in landscape pattern were simulated by random generation of fractal maps with average available energy (i.e. prey) and predation risk expressed as a function of habitat type. Variation in species-specific patterns were then simulated by a series of scenarios that varied the response of dispersing individuals to habitat heterogeneity, including: habitat selection to maximize energy intake, habitat selection to minimize predation risk, or habitat selection contingent on energy reserves. Results showed that significant shifts in dispersal could be related to (1) the unique spatial arrangement of habitat within each map, (2) changes in relative prey abundance, and (3) variation in the relationship between energy availability and predation risk. Hypothetical management scenarios were used to identify critical data needed to assure the persistence of reintroduced populations of American martens (Martes americana).}, + langid = {english}, + keywords = {American marten,Dispersal model,Landscape heterogeneity,Movement behavior,Predation risk,Prediction uncertainty,Prey availability}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\D6I3HGZ2\\Gardner und Gustafson - 2004 - Simulating dispersal of reintroduced species withi.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XSYTAJKC\\S0304380003003387.html} +} + +@article{gastonGeographicRangeLimits2009, + title = {Geographic Range Limits: Achieving Synthesis}, + shorttitle = {Geographic Range Limits}, + author = {Gaston, Kevin J}, + year = {2009}, + month = apr, + journal = {Proceedings of the Royal Society B: Biological Sciences}, + volume = {276}, + number = {1661}, + pages = {1395--1406}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.2008.1480}, + abstract = {Understanding of the determinants of species' geographic range limits remains poorly integrated. In part, this is because of the diversity of perspectives on the issue, and because empirical studies have lagged substantially behind developments in theory. Here, I provide a broad overview, drawing together many of the disparate threads, considering, in turn, how influences on the terms of a simple single-population equation can determine range limits. There is theoretical and empirical evidence for systematic changes towards range limits under some circumstances in each of the demographic parameters. However, under other circumstances, no such changes may take place in particular parameters, or they may occur in a different direction, with limitation still occurring. This suggests that (i) little about range limitation can categorically be inferred from many empirical studies, which document change in only one demographic parameter, (ii) there is a need for studies that document variation in all of the parameters, and (iii) in agreement with theoretical evidence that range limits can be formed in the presence or absence of hard boundaries, environmental gradients or biotic interactions, there may be few general patterns as to the determinants of these limits, with most claimed generalities at least having many exceptions.}, + keywords = {births,deaths,emigration,immigration,population size,range limits}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\2WA2DK9B\\Gaston - 2009 - Geographic range limits achieving synthesis.pdf} +} + +@article{gilmanFrameworkCommunityInteractions2010a, + title = {A Framework for Community Interactions under Climate Change}, + author = {Gilman, Sarah E. and Urban, Mark C. and Tewksbury, Joshua and Gilchrist, George W. and Holt, Robert D.}, + year = {2010}, + month = jun, + journal = {Trends in Ecology \& Evolution}, + volume = {25}, + number = {6}, + pages = {325--331}, + issn = {0169-5347}, + doi = {10.1016/j.tree.2010.03.002}, + abstract = {Predicting the impacts of climate change on species is one of the biggest challenges that ecologists face. Predictions routinely focus on the direct effects of climate change on individual species, yet interactions between species can strongly influence how climate change affects organisms at every scale by altering their individual fitness, geographic ranges and the structure and dynamics of their community. Failure to incorporate these interactions limits the ability to predict responses of species to climate change. We propose a framework based on ideas from global-change biology, community ecology, and invasion biology that uses community modules to assess how species interactions shape responses to climate change.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\M5WL4NHK\\Gilman et al. - 2010 - A framework for community interactions under clima.pdf} +} + +@article{gilroyMateFindingOverlookedCritical2012, + title = {Mate-{{Finding}} as an {{Overlooked Critical Determinant}} of {{Dispersal Variation}} in {{Sexually-Reproducing Animals}}}, + author = {Gilroy, James J. and Lockwood, Julie L.}, + year = {2012}, + month = may, + journal = {PLOS ONE}, + volume = {7}, + number = {5}, + pages = {e38091}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0038091}, + abstract = {Dispersal is a critically important process in ecology, but robust predictive models of animal dispersal remain elusive. We identify a potentially ubiquitous component of variation in animal dispersal that has been largely overlooked until now: the influence of mate encounters on settlement probability. We use an individual-based model to simulate dispersal in sexually-reproducing organisms that follow a simple set of movement rules based on conspecific encounters, within an environment lacking spatial habitat heterogeneity. We show that dispersal distances vary dramatically with fluctuations in population density in such a model, even in the absence of variation in dispersive traits between individuals. In a simple random-walk model with promiscuous mating, dispersal distributions become increasingly `fat-tailed' at low population densities due to the increasing scarcity of mates. Similar variation arises in models incorporating territoriality. In a model with polygynous mating, we show that patterns of sex-biased dispersal can even be reversed across a gradient of population density, despite underlying dispersal mechanisms remaining unchanged. We show that some widespread dispersal patterns found in nature (e.g. fat tailed distributions) can arise as a result of demographic variability in the absence of heterogeneity in dispersive traits across the population. This implies that models in which individual dispersal distances are considered to be fixed traits might be unrealistic, as dispersal distances vary widely under a single dispersal mechanism when settlement is influenced by mate encounters. Mechanistic models offer a promising means of advancing our understanding of dispersal in sexually-reproducing organisms.}, + langid = {english}, + keywords = {Behavior,Habitats,Population density,Population size,Probability density,Probability distribution,Random walk,Sex ratio}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\NQGCKTGQ\\Gilroy und Lockwood - 2012 - Mate-Finding as an Overlooked Critical Determinant.pdf} +} + +@article{greenmanImpactEnvironmentalFluctuations2005, + title = {The Impact of Environmental Fluctuations on Structured Discrete Time Population Models: {{Resonance}}, Synchrony and Threshold Behaviour}, + shorttitle = {The Impact of Environmental Fluctuations on Structured Discrete Time Population Models}, + author = {Greenman, J. V. and Benton, T. G.}, + year = {2005}, + month = dec, + journal = {Theoretical Population Biology}, + volume = {68}, + number = {4}, + pages = {217--235}, + issn = {0040-5809}, + doi = {10.1016/j.tpb.2005.06.007}, + abstract = {External forcing of a discrete time ecological system does not just add variation to existing dynamics but can change the dynamics. We study the mechanisms that can bring this about, focusing on the key concepts of excitation and suppression which emerge when analysing the power spectra of the system in linear approximation. Excitation, through resonance between the system dynamics and the external forcing, is the greater the closer the system is to the boundary of the stability region. This amplification means that the extinction of populations becomes possible sooner than expected and, conversely, invasion can be significantly delayed. Suppression and the consequent redistribution of power within the spectrum proves to be a function both of the connectivity of the network graph of the system and the way that external forcing is applied to the system. It is also established that colour in stochastic forcing can have a major impact, by enhancing resonance and by greater redistribution of power. This can mean a higher risk of extinction through larger fluctuations in population numbers and a higher degree of synchrony between populations. The implications of external forcing for stage-structured species, for populations in competition and for trophic web systems are studied using the tools and concepts developed in the paper.}, + langid = {english}, + keywords = {Coloured noise,Environmental noise,Population covariance,Power spectra,Resonance,Synchrony,Threshold behaviour}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\Q9AAGDGF\\S0040580905000936.html} +} + +@article{greenwoodMatingSystemsPhilopatry1980, + title = {Mating Systems, Philopatry and Dispersal in Birds and Mammals}, + author = {Greenwood, Paul J.}, + year = {1980}, + month = nov, + journal = {Animal Behaviour}, + volume = {28}, + number = {4}, + pages = {1140--1162}, + issn = {0003-3472}, + doi = {10.1016/S0003-3472(80)80103-5}, + abstract = {Many species of birds and mammals are faithful to their natal and breeding site or group. In most of them one sex is more philopatric than the other. In birds it is usually females which disperse more than males; in mammals it is usually males which disperse more than females. Reproductive enhancement through increased access to mates or resources and the avoidance of inbreeding are important in promoting sex differences in dispersal. It is argued that the direction of the sex bias is a consequence of the type of mating system. Philopatry will favour the evolution of cooperative traits between members of the sedentary sex. Disruptive acts will be a feature of dispersers.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\59TUWI7L\\Greenwood - 1980 - Mating systems, philopatry and dispersal in birds .pdf} +} + +@book{grimmIndividualbasedModelingEcology2005, + title = {Individual-Based {{Modeling}} and {{Ecology}}}, + author = {Grimm, Volker and Railsback, Steven F.}, + year = {2005}, + publisher = {{Princeton University Press}}, + isbn = {978-0-691-09666-7}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZPBZJJKE\\individual-based-modeling-and-ecology.html} +} + +@article{grosEvolutionSexbiasedDispersal2008, + title = {Evolution of Sex-Biased Dispersal : The Role of Sex-Specific Dispersal Costs, Demographic Stochasticity, and Inbreeding}, + shorttitle = {Evolution of Sex-Biased Dispersal}, + author = {Gros, Andreas and Hovestadt, Thomas and Poethke, Hans Joachim}, + year = {2008}, + abstract = {Abstract: Inbreeding avoidance and asymmetric competition over resources have both been identified as factors favoring the evolution of sex-biased dispersal. It has also been recognized that sex-specific costs of dispersal would select for sex-biased dispersal, but there is little quantitative information on this aspect. In this paper we explore (i) the quantitative relationship between cost-asymmetry and a bias in dispersal, (ii) the influence of demographic stochasticity on this effect, and (iii) how inbreeding and cost-asymmetry interact in their effect on sex-specific dispersal. We adjust an existing analytical model to account for sex-specific costs of dispersal. Based on numerical calculations we predict a severe bias in dispersal already for small differences in dispersal costs. We corroborate these predictions in individual-based simulations, but show that demographic stochasticity generally leads to more balanced dispersal. In combination with inbreeding, cost asymmetries will usually determine which of the two sexes becomes the more dispersive.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\QJ4634CE\\Gros et al. - 2008 - Evolution of sex-biased dispersal the role of se.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\GNJFZXMY\\4031.html} +} + +@article{grosSexspecificSpatiotemporalVariability2009, + title = {Sex-Specific Spatio-Temporal Variability in Reproductive Success Promotes the Evolution of Sex-Biased Dispersal}, + author = {Gros, Andreas and Poethke, Hans Joachim and Hovestadt, Thomas}, + year = {2009}, + month = aug, + journal = {Theoretical Population Biology}, + volume = {76}, + number = {1}, + pages = {13--18}, + issn = {1096-0325}, + doi = {10.1016/j.tpb.2009.03.002}, + abstract = {Inbreeding depression, asymmetries in costs or benefits of dispersal, and the mating system have been identified as potential factors underlying the evolution of sex-biased dispersal. We use individual-based simulations to explore how the mating system and demographic stochasticity influence the evolution of sex-specific dispersal in a metapopulation with females competing over breeding sites, and males over mating opportunities. Comparison of simulation results for random mating with those for a harem system (locally, a single male sires all offspring) reveal that even extreme variance in local male reproductive success (extreme male competition) does not induce male-biased dispersal. The latter evolves if the between-patch variance in reproductive success is larger for males than females. This can emerge due to demographic stochasticity if the habitat patches are small. More generally, members of a group of individuals experiencing higher spatio-temporal variance in fitness expectations may evolve to disperse with greater probability than others.}, + langid = {english}, + pmid = {19303892}, + keywords = {Animals,Biological Evolution,Competitive Behavior,Computer Simulation,Demography,Female,Inbreeding,Male,Mammals,Models; Theoretical,Population Dynamics,Probability,Reproduction,Sex Characteristics,Sexual Behavior; Animal,Stochastic Processes}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\KIRQPU2J\\Gros et al. - 2009 - Sex-specific spatio-temporal variability in reprod.pdf} +} + +@article{guillaumeInbreedingLoadBet2009, + title = {Inbreeding {{Load}}, {{Bet Hedging}}, and the {{Evolution}} of {{Sex}}-{{Biased Dispersal}}.}, + author = {Guillaume, Fr{\'e}d{\'e}ric and Perrin, Nicolas}, + year = {2009}, + month = apr, + journal = {The American Naturalist}, + volume = {173}, + number = {4}, + pages = {536--541}, + publisher = {{The University of Chicago Press}}, + issn = {0003-0147}, + doi = {10.1086/597218}, + abstract = {Inbreeding load affects not only the average fecundity of philopatric individuals but also its variance. From bet-hedging theory, this should add further dispersal pressures to those stemming from the mere avoidance of inbreeding. Pressures on both sexes are identical under monogamy or promiscuity. Under polygyny, by contrast, the variance in reproductive output decreases with dispersal rate in females but increases in males, which should induce a female-biased dispersal. To test this prediction, we performed individual-based simulations. From our results, a female-biased dispersal indeed emerges as both polygyny and inbreeding load increase. We conclude that sex-biased dispersal may be selected for as a bet-hedging strategy.}, + keywords = {fecundity variance,inbreeding avoidance,kin competition,mating system,selection,simulation}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\XCCVHWDS\\Guillaume und Perrin - 2009 - Inbreeding Load, Bet Hedging, and the Evolution of.pdf} +} + +@article{guillaumeNEMOEvolutionaryPopulation2006, + title = {{{NEMO}}: An Evolutionary and Population Genetics Programming Framework}, + shorttitle = {{{NEMO}}}, + author = {Guillaume, Fr{\'e}d{\'e}ric and Rougemont, Jacques}, + year = {2006}, + month = nov, + journal = {Bioinformatics (Oxford, England)}, + volume = {22}, + pages = {2556--7}, + doi = {10.1093/bioinformatics/btl415}, + abstract = {Unlabelled: Nemo is an individual-based, genetically explicit and stochastic population computer program for the simulation of population genetics and life-history trait evolution in a metapopulation context. It comes as both a C++ programming framework and an executable program file. Its object-oriented programming design gives it the flexibility and extensibility needed to implement a large variety of forward-time evolutionary models. It provides developers with abstract models allowing them to implement their own life-history traits and life-cycle events. Nemo offers a large panel of population models, from the Island model to lattice models with demographic or environmental stochasticity and a variety of already implemented traits (deleterious mutations, neutral markers and more), life-cycle events (mating, dispersal, aging, selection, etc.) and output operators for saving data and statistics. It runs on all major computer platforms including parallel computing environments. Availability: The source code, binaries and documentation are available under the GNU General Public License at http://nemo2.sourceforge.net.}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\DFMHPVAE\\Guillaume und Rougemont - 2006 - NEMO an evolutionary and population genetics prog.pdf} +} + +@article{guisanPredictingSpeciesDistribution2005a, + title = {Predicting Species Distribution: Offering More than Simple Habitat Models}, + shorttitle = {Predicting Species Distribution}, + author = {Guisan, Antoine and Thuiller, Wilfried}, + year = {2005}, + journal = {Ecology Letters}, + volume = {8}, + number = {9}, + pages = {993--1009}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2005.00792.x}, + abstract = {In the last two decades, interest in species distribution models (SDMs) of plants and animals has grown dramatically. Recent advances in SDMs allow us to potentially forecast anthropogenic effects on patterns of biodiversity at different spatial scales. However, some limitations still preclude the use of SDMs in many theoretical and practical applications. Here, we provide an overview of recent advances in this field, discuss the ecological principles and assumptions underpinning SDMs, and highlight critical limitations and decisions inherent in the construction and evaluation of SDMs. Particular emphasis is given to the use of SDMs for the assessment of climate change impacts and conservation management issues. We suggest new avenues for incorporating species migration, population dynamics, biotic interactions and community ecology into SDMs at multiple spatial scales. Addressing all these issues requires a better integration of SDMs with ecological theory.}, + langid = {english}, + keywords = {Dispersal,ecological niche theory,future projections,habitat suitability maps,population dynamics,prediction errors,predictive biogeography,spatial scales,species distribution models}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2005.00792.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\TMINZAMA\\Guisan und Thuiller - 2005 - Predicting species distribution offering more tha.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\WHKHQ5FR\\j.1461-0248.2005.00792.html} +} + +@article{hallerSLiMForwardGenetic, + title = {{{SLiM}} 3: {{Forward Genetic Simulations Beyond}} the {{Wright}}\textendash{{Fisher Model}} | {{Molecular Biology}} and {{Evolution}} | {{Oxford Academic}}}, + author = {Haller, Benjamin C. and Messer, Phillip W.}, + journal = {Molecular Biology and Evolution}, + number = {36}, + pages = {632--637}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\8CDTMTUW\\5229931.html} +} + +@article{hansenPerceptionClimateChange2012, + title = {Perception of Climate Change}, + author = {Hansen, James and Sato, Makiko and Ruedy, Reto}, + year = {2012}, + month = sep, + journal = {Proceedings of the National Academy of Sciences}, + volume = {109}, + number = {37}, + pages = {E2415-E2423}, + publisher = {{National Academy of Sciences}}, + issn = {0027-8424, 1091-6490}, + doi = {10.1073/pnas.1205276109}, + abstract = {``Climate dice,'' describing the chance of unusually warm or cool seasons, have become more and more ``loaded'' in the past 30 y, coincident with rapid global warming. The distribution of seasonal mean temperature anomalies has shifted toward higher temperatures and the range of anomalies has increased. An important change is the emergence of a category of summertime extremely hot outliers, more than three standard deviations (3{$\sigma$}) warmer than the climatology of the 1951\textendash 1980 base period. This hot extreme, which covered much less than 1\% of Earth's surface during the base period, now typically covers about 10\% of the land area. It follows that we can state, with a high degree of confidence, that extreme anomalies such as those in Texas and Oklahoma in 2011 and Moscow in 2010 were a consequence of global warming because their likelihood in the absence of global warming was exceedingly small. We discuss practical implications of this substantial, growing, climate change.}, + chapter = {PNAS Plus}, + copyright = {\textcopyright{} . Freely available online through the PNAS open access option.}, + langid = {english}, + pmid = {22869707}, + keywords = {climate anomalies,climate impacts,heat waves}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\6LR5JE3W\\Hansen et al. - 2012 - Perception of climate change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\F6ZFUZWL\\E2415.html} +} + +@article{hanskiEcoevolutionaryDynamicsDispersal2011a, + title = {Eco-Evolutionary Dynamics of Dispersal in Spatially Heterogeneous Environments}, + author = {Hanski, Ilkka and Mononen, Tommi}, + year = {2011}, + month = oct, + journal = {Ecology Letters}, + volume = {14}, + number = {10}, + pages = {1025--1034}, + issn = {1461-023X}, + doi = {10.1111/j.1461-0248.2011.01671.x}, + abstract = {Evolutionary changes in natural populations are often so fast that the evolutionary dynamics may influence ecological population dynamics and vice versa. Here we construct an eco-evolutionary model for dispersal by combining a stochastic patch occupancy metapopulation model with a model for changes in the frequency of fast-dispersing individuals in local populations. We test the model using data on allelic variation in the gene phosphoglucose isomerase (Pgi), which is strongly associated with dispersal rate in the Glanville fritillary butterfly. Population-specific measures of immigration and extinction rates and the frequency of fast-dispersing individuals among the immigrants explained 40\% of spatial variation in Pgi allele frequency among 97 local populations. The model clarifies the roles of founder events and gene flow in dispersal evolution and resolves a controversy in the literature about the consequences of habitat loss and fragmentation on the evolution of dispersal.}, + pmcid = {PMC3187866}, + pmid = {21794053}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\HTJE2888\\Hanski und Mononen - 2011 - Eco-evolutionary dynamics of dispersal in spatiall.pdf} +} + +@article{hanskiVariationMigrationPropensity2004, + title = {Variation in Migration Propensity among Individuals Maintained by Landscape Structure}, + author = {Hanski, Ilkka and Er{\"a}lahti, Claudia and Kankare, Maaria and Ovaskainen, Otso and Sir{\'e}n, Heli}, + year = {2004}, + journal = {Ecology Letters}, + volume = {7}, + number = {10}, + pages = {958--966}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2004.00654.x}, + abstract = {Metapopulation dynamics lead to predictable patterns of habitat occupancy, population density and trophic structure in relation to landscape features such as habitat patch size and isolation. Comparable patterns may occur in behavioural, physiological and life-history traits but remain little studied. In the Glanville fritillary butterfly, females in newly established populations were more mobile than females in old populations. Among females from new populations, mobility decreased with increasing connectivity (decreasing isolation), but in females from old populations mobility increased with connectivity. The [ATP]/[ADP] ratio of flight muscles following controlled activity showed the same pattern as mobility in relation to population age and connectivity, suggesting that physiological differences in flight metabolic performance contribute to the observed variation in mobility. We demonstrate with an evolutionary metapopulation model parameterised for the Glanville fritillary that increasing spatial variation in landscape structure increases variance in mobility among individuals in a metapopulation, supporting the general notion that complex landscape structure maintains life-history variation.}, + langid = {english}, + keywords = {Connectivity,flight metabolism,Glanville fritillary,landscape structure,life-history evolution,metapopulation dynamics,migration,population age}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00654.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\57ITLBI4\\Hanski et al. - 2004 - Variation in migration propensity among individual.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\9DM6SNTT\\j.1461-0248.2004.00654.html} +} + +@article{hartigConnectingDynamicVegetation2012, + title = {Connecting Dynamic Vegetation Models to Data \textendash{} an Inverse Perspective}, + author = {Hartig, Florian and Dyke, James and Hickler, Thomas and Higgins, Steven I. and O'Hara, Robert B. and Scheiter, Simon and Huth, Andreas}, + year = {2012}, + journal = {Journal of Biogeography}, + volume = {39}, + number = {12}, + pages = {2240--2252}, + issn = {1365-2699}, + doi = {10.1111/j.1365-2699.2012.02745.x}, + abstract = {Dynamic vegetation models provide process-based explanations of the dynamics and the distribution of plant ecosystems. They offer significant advantages over static, correlative modelling approaches, particularly for ecosystems that are outside their equilibrium due to global change or climate change. A persistent problem, however, is their parameterization. Parameters and processes of dynamic vegetation models (DVMs) are traditionally determined independently of the model, while model outputs are compared to empirical data for validation and informal model comparison only. But field data for such independent estimates of parameters and processes are often difficult to obtain, and the desire to include better descriptions of processes such as biotic interactions, dispersal, phenotypic plasticity and evolution in future vegetation models aggravates limitations related to the current parameterization paradigm. In this paper, we discuss the use of Bayesian methods to bridge this gap. We explain how Bayesian methods allow direct estimates of parameters and processes, encoded in prior distributions, to be combined with inverse estimates, encoded in likelihood functions. The combination of direct and inverse estimation of parameters and processes allows a much wider range of vegetation data to be used simultaneously, including vegetation inventories, species traits, species distributions, remote sensing, eddy flux measurements and palaeorecords. The possible reduction of uncertainty regarding structure, parameters and predictions of DVMs may not only foster scientific progress, but will also increase the relevance of these models for policy advice.}, + langid = {english}, + keywords = {Bayesian statistics,calibration,data assimilation,forest models,inverse modelling,model selection,parameterization,plant functional types,predictive uncertainty,process-based models}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2012.02745.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\86DDHZRK\\Hartig et al. - 2012 - Connecting dynamic vegetation models to data – an .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XJDT75SX\\j.1365-2699.2012.02745.html} +} + +@article{hartigStatisticalInferenceStochastic2011, + title = {Statistical Inference for Stochastic Simulation Models \textendash{} Theory and Application}, + author = {Hartig, Florian and Calabrese, Justin M. and Reineking, Bj{\"o}rn and Wiegand, Thorsten and Huth, Andreas}, + year = {2011}, + journal = {Ecology Letters}, + volume = {14}, + number = {8}, + pages = {816--827}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2011.01640.x}, + abstract = {Ecology Letters (2011) 14: 816\textendash 827 Abstract Statistical models are the traditional choice to test scientific theories when observations, processes or boundary conditions are subject to stochasticity. Many important systems in ecology and biology, however, are difficult to capture with statistical models. Stochastic simulation models offer an alternative, but they were hitherto associated with a major disadvantage: their likelihood functions can usually not be calculated explicitly, and thus it is difficult to couple them to well-established statistical theory such as maximum likelihood and Bayesian statistics. A number of new methods, among them Approximate Bayesian Computing and Pattern-Oriented Modelling, bypass this limitation. These methods share three main principles: aggregation of simulated and observed data via summary statistics, likelihood approximation based on the summary statistics, and efficient sampling. We discuss principles as well as advantages and caveats of these methods, and demonstrate their potential for integrating stochastic simulation models into a unified framework for statistical modelling.}, + langid = {english}, + keywords = {Bayesian statistics,indirect inference,intractable likelihood,inverse modelling,likelihood approximation,likelihood-free inference,maximum likelihood,model selection,parameter estimation,stochastic simulation}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2011.01640.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\W3D7U7DD\\Hartig et al. - 2011 - Statistical inference for stochastic simulation mo.pdf} +} + +@article{hastingsSpatialSpreadInvasions2005, + title = {The Spatial Spread of Invasions: New Developments in Theory and Evidence}, + shorttitle = {The Spatial Spread of Invasions}, + author = {Hastings, Alan and Cuddington, Kim and Davies, Kendi F. and Dugaw, Christopher J. and Elmendorf, Sarah and Freestone, Amy and Harrison, Susan and Holland, Matthew and Lambrinos, John and Malvadkar, Urmila and Melbourne, Brett A. and Moore, Kara and Taylor, Caz and Thomson, Diane}, + year = {2005}, + journal = {Ecology Letters}, + volume = {8}, + number = {1}, + pages = {91--101}, + issn = {1461-0248}, + doi = {10.1111/j.1461-0248.2004.00687.x}, + abstract = {We review and synthesize recent developments in the study of the spread of invasive species, emphasizing both empirical and theoretical approaches. Recent theoretical work has shown that invasive species spread is a much more complex process than the classical models suggested, as long range dispersal events can have a large influence on the rate of range expansion through time. Empirical work goes even further, emphasizing the role of spatial heterogeneity, temporal variability, other species, and evolution. As in some of the classic work on spread, the study of range expansion of invasive species provides unique opportunities to use differences between theory and data to determine the important underlying processes that control spread rates.}, + langid = {english}, + keywords = {Diffusion,dispersal,integro-difference equations,invasions,reaction-diffusion,spatial spread}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00687.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\Z59DZSQD\\Hastings et al. - 2005 - The spatial spread of invasions new developments .pdf} +} + +@article{haughlandExplorationCorrelatesSettlement2004, + title = {Exploration Correlates with Settlement: Red Squirrel Dispersal in Contrasting Habitats}, + shorttitle = {Exploration Correlates with Settlement}, + author = {Haughland, Diane L. and Larsen, Karl W.}, + year = {2004}, + journal = {Journal of Animal Ecology}, + volume = {73}, + number = {6}, + pages = {1024--1034}, + issn = {1365-2656}, + doi = {10.1111/j.0021-8790.2004.00884.x}, + abstract = {1 Dispersers in heterogeneous habitat theoretically should target the habitat(s) where reproduction and survival (i.e. fitness) will be highest. However, the cues that dispersing animals respond to are not well understood: differences in habitat quality ultimately may be important, but whether animals respond to these differences may be influenced by their own familiarity with different habitats. 2 To determine if dispersers reacted to differences in habitat, we documented the exploratory movements, dispersal, and settlement patterns of juvenile North American red squirrels (Tamiasciurus hudsonicus) originating in adjacent patches of different habitats. 3 Dispersers originating in mature, closed-canopy forest (linked to higher female reproductive success and smaller territories) did not explore contrasting open forest with lower tree densities, and the magnitude of the dispersers' explorations was relatively similar. In contrast, dispersers from the open forest habitat made explorations that carried them into contrasting, mature forest habitat, and their explorations were more variable across individuals. 4 When settlement occurred, it was strongly philopatric in all groups of dispersers, although the distances and directions favoured during the exploratory phase of dispersal remained strong predictors of where settlement occurred. Overall, processes favouring philopatry (i.e. maternal influences, competitive advantages, etc.) appeared to dominate the dispersal of our study animals, even those that were exposed to higher quality habitat during their explorations. 5 Secondarily, annual stochasticity (or some correlate) affected the scale of exploration and timing of settlement more than the relative quality of habitat in which dispersers were born. 6 Studies such as this that seek to understand the relative importance of individual experience, habitat familiarity, and habitat quality are important to ultimately understanding how individual animals and populations react to habitat heterogeneity.}, + langid = {english}, + keywords = {habitat quality,habitat selection,juvenile experience,movement,natal dispersal,North American red squirrel,seasonal stochasticity.,Tamiasciurus hudsonicus}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8790.2004.00884.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RWPMJBW5\\Haughland und Larsen - 2004 - Exploration correlates with settlement red squirr.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\3R8H9TSQ\\j.0021-8790.2004.00884.html} +} + +@article{hauserDispersalClobertDanchin2001, + title = {Dispersal. {{J}}. {{Clobert}}, {{E}}. {{Danchin}}, {{A}}. {{A}}. {{Dhondt}} and {{J}}. {{D}}. {{Nichols}} (Eds). {{Oxford University Press}}, {{New York}}. 2001. Pp. 452. {{Price}} \textsterling 24.95, Paperback. {{ISBN}}: 0-19-850659-7.}, + shorttitle = {Dispersal. {{J}}. {{Clobert}}, {{E}}. {{Danchin}}, {{A}}. {{A}}. {{Dhondt}} and {{J}}. {{D}}. {{Nichols}} (Eds). {{Oxford University Press}}, {{New York}}. 2001. Pp. 452. {{Price}} \textsterling 24.95, Paperback. {{ISBN}}}, + author = {Hauser, Lorenz}, + year = {2001}, + journal = {Heredity}, + volume = {87}, + number = {4}, + pages = {508--508}, + issn = {1365-2540}, + doi = {10.1046/j.1365-2540.2001.0963a.x}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2540.2001.0963a.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VT58TDAZ\\Hauser - 2001 - Dispersal. J. Clobert, E. Danchin, A. A. Dhondt an.pdf} +} + +@article{hawkesLinkingMovementBehaviour2009, + title = {Linking Movement Behaviour, Dispersal and Population Processes: Is Individual Variation a Key?}, + shorttitle = {Linking Movement Behaviour, Dispersal and Population Processes}, + author = {Hawkes, Colin}, + year = {2009}, + journal = {Journal of Animal Ecology}, + volume = {78}, + number = {5}, + pages = {894--906}, + issn = {1365-2656}, + doi = {10.1111/j.1365-2656.2009.01534.x}, + abstract = {1 Movement behaviour has become increasingly important in dispersal ecology and dispersal is central to the development of spatially explicit population ecology. The ways in which the elements have been brought together are reviewed with particular emphasis on dispersal distance distributions and the value of mechanistic models. 2 There is a continuous range of movement behaviours and in some species, dispersal is a clearly delineated event but not in others. The biological complexities restrict conclusions to high-level generalizations but there may be principles that are common to dispersal and other movements. 3 Random walk and diffusion models when appropriately elaborated can provide an understanding of dispersal distance relationships on spatial and temporal scales relevant to dispersal. Leptokurtosis in the relationships may be the result of a combination of factors including population heterogeneity, correlation, landscape features, time integration and density dependence. The inclusion in diffusion models of individual variation appears to be a useful elaboration. The limitations of the negative exponential and other phenomenological models are discussed. 4 The dynamics of metapopulation models are sensitive to what appears to be small differences in the assumptions about dispersal. In order to represent dispersal realistically in population models, it is suggested that phenomenological models should be replaced by those based on movement behaviour incorporating individual variation. 5 The conclusions are presented as a set of candidate principles for evaluation. The main features of the principles are that uncorrelated or correlated random walk, not linear movement, is expected where the directions of habitat patches are unpredictable and more complex behaviour when organisms have the ability to orientate or navigate. Individuals within populations vary in their movement behaviour and dispersal; part of this variation is a product of random elements in movement behaviour and some of it is heritable. Local and metapopulation dynamics are influenced by population heterogeneity in dispersal characteristics and heritable changes in dispersal propensity occur on time-scales short enough to impact population dynamics.}, + langid = {english}, + keywords = {diffusion equations,dispersal distance distributions,metapopulations,negative exponential,population heterogeneity}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2009.01534.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\Y9F3RVCJ\\Hawkes - 2009 - Linking movement behaviour, dispersal and populati.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\A2375F9G\\j.1365-2656.2009.01534.html} +} + +@article{heikkinenMethodsUncertaintiesBioclimatic2006, + title = {Methods and Uncertainties in Bioclimatic Envelope Modelling under Climate Change}, + author = {Heikkinen, Risto K. and Luoto, Miska and Ara{\'u}jo, Miguel B. and Virkkala, Raimo and Thuiller, Wilfried and Sykes, Martin T.}, + year = {2006}, + month = dec, + journal = {Progress in Physical Geography: Earth and Environment}, + volume = {30}, + number = {6}, + pages = {751--777}, + publisher = {{SAGE Publications Ltd}}, + issn = {0309-1333}, + doi = {10.1177/0309133306071957}, + abstract = {Potential impacts of projected climate change on biodiversity are often assessed using single-species bioclimatic `envelope'models. Such models are a special case of species distribution models in which the current geographical distribution of species is related to climatic variables so to enable projections of distributions under future climate change scenarios. This work reviews a number of critical methodological issues that may lead to uncertainty in predictions from bioclimatic modelling. Particular attention is paid to recent developments of bioclimatic modelling that address some of these issues as well as to the topics where more progress needs to be made. Developing and applying bioclimatic models in a informative way requires good understanding of a wide range of methodologies, including the choice of modelling technique, model validation, collinearity, autocorrelation, biased sampling of explanatory variables, scaling and impacts of non-climatic factors. A key challenge for future research is integrating factors such as land cover, direct CO2 effects, biotic interactions and dispersal mechanisms into species-climate models. We conclude that, although bioclimatic envelope models have a number of important advantages, they need to be applied only when users of models have a thorough understanding of their limitations and uncertainties.}, + langid = {english}, + keywords = {bioclimatic model,climate change,land cover,model performance,modelling methods,niche properties,scale,species distribution model,species geography,uncertainty,validation}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\5IV85WML\\Heikkinen et al. - 2006 - Methods and uncertainties in bioclimatic envelope .pdf} +} + +@article{heinoEvolutionMigrationRate2001, + title = {Evolution of Migration Rate in a Spatially Realistic Metapopulation Model}, + author = {Heino, M. and Hanski, I.}, + year = {2001}, + month = may, + journal = {The American Naturalist}, + volume = {157}, + number = {5}, + pages = {495--511}, + issn = {1537-5323}, + doi = {10.1086/319927}, + abstract = {We use an individual-based, spatially realistic metapopulation model to study the evolution of migration rate. We first explore the consequences of habitat change in hypothetical patch networks on a regular lattice. If the primary consequence of habitat change is an increase in local extinction risk as a result of decreased local population sizes, migration rate increases. A nonmonotonic response, with migration rate decreasing at high extinction rate, was obtained only by assuming very frequent catastrophes. If the quality of the matrix habitat deteriorates, leading to increased mortality during migration, the evolutionary response is more complex. As long as habitat patch occupancy does not decrease markedly with increased migration mortality, reduced migration rate evolves. However, once mortality becomes so high that empty patches remain uncolonized for a long time, evolution tends to increase migration rate, which may lead to an "evolutionary rescue" in a fragmented landscape. Kin competition has a quantitative effect on the evolution of migration rate in our model, but these patterns in the evolution of migration rate appear to be primarily caused by spatiotemporal variation in fitness and mortality during migration. We apply the model to real habitat patch networks occupied by two checkerspot butterfly (Melitaea) species, for which sufficient data are available to estimate rigorously most of the model parameters. The model-predicted migration rate is not significantly different from the empirically observed one. Regional variation in patch areas and connectivities leads to regional variation in the optimal migration rate, predictions that can be tested empirically.}, + langid = {english}, + pmid = {18707258}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\MMH6N8F5\\Heino und Hanski - 2001 - Evolution of migration rate in a spatially realist.pdf} +} + +@article{heinoExtinctionRiskColoured2000, + title = {Extinction Risk under Coloured Environmental Noise}, + author = {Heino, Mikko and Ripa, J{\"o}rgen and Kaitala, Veijo}, + year = {2000}, + journal = {Ecography}, + volume = {23}, + number = {2}, + pages = {177--184}, + issn = {1600-0587}, + doi = {10.1111/j.1600-0587.2000.tb00273.x}, + abstract = {Positively autocorrelated red environmental noise is characterized by a strong dependence of expected sample variance on sample length. This dependence has to be taken into account when assessing extinction risk under red and white uncorrelated environmental noise. To facilitate a comparison between red and white noise, their expected variances can be scaled to be equal, but only at a chosen time scale. We show with a simple one-dimensional population dynamics model that the different but equally reasonable choices of the time scale yield qualitatively different results on the dependence of extinction risk on the colour of environmental noise: extinction risk might increase as well as decrease when the temporal correlation of noise increases.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2000.tb00273.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\4E9UG5N7\\Heino et al. - 2000 - Extinction risk under coloured environmental noise.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\6YEG4YTK\\j.1600-0587.2000.tb00273.html} +} + +@article{heinoExtinctionRiskColoured2000a, + title = {Extinction Risk under Coloured Environmental Noise}, + author = {Heino, Mikko and Ripa, J{\"o}rgen and Kaitala, Veijo}, + year = {2000}, + journal = {Ecography}, + volume = {23}, + number = {2}, + pages = {177--184}, + issn = {1600-0587}, + doi = {10.1111/j.1600-0587.2000.tb00273.x}, + abstract = {Positively autocorrelated red environmental noise is characterized by a strong dependence of expected sample variance on sample length. This dependence has to be taken into account when assessing extinction risk under red and white uncorrelated environmental noise. To facilitate a comparison between red and white noise, their expected variances can be scaled to be equal, but only at a chosen time scale. We show with a simple one-dimensional population dynamics model that the different but equally reasonable choices of the time scale yield qualitatively different results on the dependence of extinction risk on the colour of environmental noise: extinction risk might increase as well as decrease when the temporal correlation of noise increases.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2000.tb00273.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RXXNNDM2\\Heino et al. - 2000 - Extinction risk under coloured environmental noise.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\SLQHME3R\\j.1600-0587.2000.tb00273.html} +} + +@article{heinzAdaptivePatchSearching2006, + title = {Adaptive {{Patch Searching Strategies}} in {{Fragmented Landscapes}}}, + author = {Heinz, S. K. and Strand, E.}, + year = {2006}, + journal = {Evolutionary Ecology}, + number = {20}, + pages = {113--130} +} + +@article{hellmannInfluenceSpeciesInteractions2012, + title = {The Influence of Species Interactions on Geographic Range Change under Climate Change}, + author = {Hellmann, Jessica J. and Prior, Kirsten M. and Pelini, Shannon L.}, + year = {2012}, + month = feb, + journal = {Annals of the New York Academy of Sciences}, + volume = {1249}, + pages = {18--28}, + issn = {1749-6632}, + doi = {10.1111/j.1749-6632.2011.06410.x}, + abstract = {The fossil record tells us that many species shifted their geographic distributions during historic climate changes, but this record does not portray the complete picture of future range change in response to climate change. In particular, it does not provide information on how species interactions will affect range shifts. Therefore, we also need modern research to generate understanding of range change. This paper focuses on the role that species interactions play in promoting or preventing geographic ranges shifts under current and future climate change, and we illustrate key points using empirical case studies from an integrated study system. Case studies can have limited generalizability, but they are critical to defining possible outcomes under climate change. Our case studies emphasize host limitation that could reduce range shifts and enemy release that could facilitate range expansion. We also need improvements in modeling that explicitly consider species interactions, and this modeling can be informed by empirical research. Finally, we discuss how species interactions have implications for range management by people.}, + langid = {english}, + pmid = {22329888}, + keywords = {Animals,Climate Change,Conservation of Natural Resources,Ecosystem,Fossils,Geography,Population Dynamics,Species Specificity} +} + +@article{henryEcoevolutionaryDynamicsRange2012, + title = {Eco-Evolutionary Dynamics of Range Shifts: {{Elastic}} Margins and Critical Thresholds}, + shorttitle = {Eco-Evolutionary Dynamics of Range Shifts}, + author = {Henry, Roslyn and Bocedi, Greta and Travis, Justin}, + year = {2012}, + month = dec, + journal = {Journal of theoretical biology}, + volume = {321}, + doi = {10.1016/j.jtbi.2012.12.004} +} + +@article{herefordQuantitativeSurveyLocal2009, + title = {A Quantitative Survey of Local Adaptation and Fitness Trade-Offs}, + author = {Hereford, Joe}, + year = {2009}, + month = may, + journal = {The American Naturalist}, + volume = {173}, + number = {5}, + pages = {579--588}, + issn = {1537-5323}, + doi = {10.1086/597611}, + abstract = {The long history of reciprocal transplant studies testing the hypothesis of local adaptation has shown that populations are often adapted to their local environments. Yet many studies have not demonstrated local adaptation, suggesting that sometimes native populations are no better adapted than are genotypes from foreign environments. Local adaptation may also lead to trade-offs, in which adaptation to one environment comes at a cost of adaptation to another environment. I conducted a survey of published studies of local adaptation to quantify its frequency and magnitude and the costs associated with local adaptation. I also quantified the relationship between local adaptation and environmental differences and the relationship between local adaptation and phenotypic divergence. The overall frequency of local adaptation was 0.71, and the magnitude of the native population advantage in relative fitness was 45\%. Divergence between home site environments was positively associated with the magnitude of local adaptation, but phenotypic divergence was not. I found a small negative correlation between a population's relative fitness in its native environment and its fitness in a foreign environment, indicating weak trade-offs associated with local adaptation. These results suggest that populations are often locally adapted but stochastic processes such as genetic drift may limit the efficacy of divergent selection.}, + langid = {english}, + pmid = {19272016}, + keywords = {Adaptation; Biological,Environment,Phenotype} +} + +@article{higginsNicheBiologySpecies2012, + title = {A Niche for Biology in Species Distribution Models}, + author = {Higgins, Steven I. and O'Hara, Robert B. and R{\"o}mermann, Christine}, + year = {2012}, + journal = {Journal of Biogeography}, + volume = {39}, + number = {12}, + pages = {2091--2095}, + issn = {1365-2699}, + doi = {10.1111/jbi.12029}, + abstract = {Why species are found where they are is a central question in biogeography. The most widely used tool for understanding the controls on distribution is species distribution modelling. Species distribution modelling is now a well-established method in both the theoretical and applied ecological literature. In this special issue we examine the current state of the art in species distribution modelling and explore avenues for including more biological processes in such models. In particular we focus on physiological, demographic, dispersal, competitive and ecological-modulation processes. This overview highlights opportunities for new species distribution model concepts and developments, as well as a statistical agenda for implementing such models.}, + langid = {english}, + keywords = {Biodiversity,correlative models,model fitting,niche,process-based models,species distributions}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/jbi.12029}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\3Q5L563J\\Higgins et al. - 2012 - A niche for biology in species distribution models.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\K3SJU7UM\\jbi.html} +} + +@article{hobanComputerSimulationsTools2012, + title = {Computer Simulations: Tools for Population and Evolutionary Genetics}, + shorttitle = {Computer Simulations}, + author = {Hoban, Sean and Bertorelle, Giorgio and Gaggiotti, Oscar E.}, + year = {2012}, + month = jan, + journal = {Nature Reviews. Genetics}, + volume = {13}, + number = {2}, + pages = {110--122}, + issn = {1471-0064}, + doi = {10.1038/nrg3130}, + abstract = {Computer simulations are excellent tools for understanding the evolutionary and genetic consequences of complex processes whose interactions cannot be analytically predicted. Simulations have traditionally been used in population genetics by a fairly small community with programming expertise, but the recent availability of dozens of sophisticated, customizable software packages for simulation now makes simulation an accessible option for researchers in many fields. The in silico genetic data produced by simulations, along with greater availability of population-genomics data, are transforming genetic epidemiology, anthropology, evolutionary and population genetics and conservation. In this Review of the state-of-the-art of simulation software, we identify applications of simulations, evaluate simulator capabilities, provide a guide for their use and summarize future directions.}, + langid = {english}, + pmid = {22230817}, + keywords = {Animals,Computer Simulation,Evolution; Molecular,Genetics; Population,Humans,Models; Genetic,Plants,Research Design,Software}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\8WYHR6UG\\Hoban et al. - 2012 - Computer simulations tools for population and evo.pdf} +} + +@article{hobbsEstimatesHabitatCarrying1985, + title = {Estimates of Habitat Carrying Capacity Incorporating Explicit Nutritional Constraints}, + author = {Hobbs, N.}, + year = {1985}, + doi = {10.2307/3801716}, + abstract = {Presentation d'un algorithme pour estimer la densite supportable d'herbivores consommant des ressources alimentaires a des degres divers de qualite nutritive. Influence des brulis. On prend pour exemple Odocoileus hemionus et Ovis canadensis} +} + +@article{hodgsonClimateChangeConnectivity2009a, + title = {Climate Change, Connectivity and Conservation Decision Making: Back to Basics}, + shorttitle = {Climate Change, Connectivity and Conservation Decision Making}, + author = {Hodgson, Jenny A. and Thomas, Chris D. and Wintle, Brendan A. and Moilanen, Atte}, + year = {2009}, + journal = {Journal of Applied Ecology}, + volume = {46}, + number = {5}, + pages = {964--969}, + issn = {1365-2664}, + doi = {10.1111/j.1365-2664.2009.01695.x}, + abstract = {1. The challenge of climate change forces us to re-examine the assumptions underlying conservation planning. 2. Increasing `connectivity' has emerged as the most favoured option for conservation in the face of climate change. 3. We argue that the importance of connectivity is being overemphasized: quantifying the benefits of connectivity per se is plagued with uncertainty, and connectivity can be co-incidentally improved by targeting more concrete metrics: habitat area and habitat quality. 4. Synthesis and applications. Before investing in connectivity projects, conservation practitioners should analyse the benefits expected to arise from increasing connectivity and compare them with alternative investments, to ensure as much biodiversity conservation and resilience to climate change as possible within their budget. Strategies that we expect to remain robust in the face of climate change include maintaining and increasing the area of high quality habitats, prioritizing areas that have high environmental heterogeneity and controlling other anthropogenic threatening processes.}, + langid = {english}, + keywords = {adaptation,biodiversity,conservation prioritization,habitat quality,landscape planning,spatial ecology,species–area relationship,uncertainty}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2009.01695.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\6E8TD9JR\\Hodgson et al. - 2009 - Climate change, connectivity and conservation deci.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\4PV2BC2M\\j.1365-2664.2009.01695.html} +} + +@article{hodgsonHabitatAreaQuality2011a, + title = {Habitat Area, Quality and Connectivity: Striking the Balance for Efficient Conservation}, + shorttitle = {Habitat Area, Quality and Connectivity}, + author = {Hodgson, Jenny A. and Moilanen, Atte and Wintle, Brendan A. and Thomas, Chris D.}, + year = {2011}, + journal = {Journal of Applied Ecology}, + volume = {48}, + number = {1}, + pages = {148--152}, + issn = {1365-2664}, + doi = {10.1111/j.1365-2664.2010.01919.x}, + abstract = {1. Population viability can depend on habitat area, habitat quality, the spatial arrangement of habitats (aggregations and connections) and the properties of the intervening non-breeding (matrix) land. Hodgson et al. [Journal of Applied Ecology46 (2009) 964] and Doerr, Barrett \& Doerr (Journal of Applied Ecology, 2011) disagree on the relative importance of these landscape attributes in enabling species to persist and change their distributions in response to climate change. 2. A brief review of published evidence suggests that variations in habitat area and quality have bigger effects than variations in spatial arrangement of habitats or properties of the intervening land. Even if structural features in the matrix have a measurable effect on dispersal rates, this does not necessarily lead to significant increases in population viability. 3. Large and high-quality habitats provide source populations and locations for colonisation, so they are the main determinants of the capacity of species to shift their distributions in response to climate change because populations must be established successively in each new region. 4. Synthesis and applications. Retaining as much high quality natural and semi-natural habitat as possible should remain the key focus for conservation, especially during a period of climate change.}, + langid = {english}, + keywords = {aggregation,climate change,conservation planning,corridor,landscape,matrix,uncertainty}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2010.01919.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\2HKI9D57\\Hodgson et al. - 2011 - Habitat area, quality and connectivity striking t.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\RH6SCBLK\\j.1365-2664.2010.01919.html} +} + +@article{hodgsonSpeedRangeShifts2012, + title = {The {{Speed}} of {{Range Shifts}} in {{Fragmented Landscapes}}}, + author = {Hodgson, Jenny A. and Thomas, Chris D. and Dytham, Calvin and Travis, Justin M. J. and Cornell, Stephen J.}, + year = {2012}, + month = oct, + journal = {PLOS ONE}, + volume = {7}, + number = {10}, + pages = {e47141}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0047141}, + abstract = {Species may be driven extinct by climate change, unless their populations are able to shift fast enough to track regions of suitable climate. Shifting will be faster as the proportion of suitable habitat in the landscape increases. However, it is not known how the spatial arrangement of habitat will affect the speed of range advance, especially when habitat is scarce, as is the case for many specialist species. We develop methods for calculating the speed of advance that are appropriate for highly fragmented, stochastic systems. We reveal that spatial aggregation of habitat tends to reduce the speed of advance throughout a wide range of species parameters: different dispersal distances and dispersal kernel shapes, and high and low extinction probabilities. In contrast, aggregation increases the steady-state proportion of habitat that is occupied (without climate change). Nonetheless, we find that it is possible to achieve both rapid advance and relatively high patch occupancy when the habitat has a ``channeled'' pattern, resembling corridors or chains of stepping stones. We adapt techniques from electrical circuit theory to predict the rate of advance efficiently for complex, realistic landscape patterns, whereas the rate cannot be predicted by any simple statistic of aggregation or fragmentation. Conservationists are already advocating corridors and stepping stones as important conservation tools under climate change, but they are vaguely defined and have so far lacked a convincing basis in fundamental population biology. Our work shows how to discriminate properties of a landscape's spatial pattern that affect the speed of colonization (including, but not limited to, patterns like corridors and chains of stepping stones), and properties that affect a species' probability of persistence once established. We can therefore point the way to better land use planning approaches, which will provide functional habitat linkages and also maintain local population viability.}, + langid = {english}, + keywords = {Climate change,Conservation science,Electric conductivity,Extinction risk,Fractals,Habitats,Species colonization,Species extinction}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\L758T9YL\\Hodgson et al. - 2012 - The Speed of Range Shifts in Fragmented Landscapes.pdf} +} + +@article{hodgsonSpeedRangeShifts2012a, + title = {The {{Speed}} of {{Range Shifts}} in {{Fragmented Landscapes}}}, + author = {Hodgson, Jenny A. and Thomas, Chris D. and Dytham, Calvin and Travis, Justin M. J. and Cornell, Stephen J.}, + year = {2012}, + month = oct, + journal = {PLOS ONE}, + volume = {7}, + number = {10}, + pages = {e47141}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0047141}, + abstract = {Species may be driven extinct by climate change, unless their populations are able to shift fast enough to track regions of suitable climate. Shifting will be faster as the proportion of suitable habitat in the landscape increases. However, it is not known how the spatial arrangement of habitat will affect the speed of range advance, especially when habitat is scarce, as is the case for many specialist species. We develop methods for calculating the speed of advance that are appropriate for highly fragmented, stochastic systems. We reveal that spatial aggregation of habitat tends to reduce the speed of advance throughout a wide range of species parameters: different dispersal distances and dispersal kernel shapes, and high and low extinction probabilities. In contrast, aggregation increases the steady-state proportion of habitat that is occupied (without climate change). Nonetheless, we find that it is possible to achieve both rapid advance and relatively high patch occupancy when the habitat has a ``channeled'' pattern, resembling corridors or chains of stepping stones. We adapt techniques from electrical circuit theory to predict the rate of advance efficiently for complex, realistic landscape patterns, whereas the rate cannot be predicted by any simple statistic of aggregation or fragmentation. Conservationists are already advocating corridors and stepping stones as important conservation tools under climate change, but they are vaguely defined and have so far lacked a convincing basis in fundamental population biology. Our work shows how to discriminate properties of a landscape's spatial pattern that affect the speed of colonization (including, but not limited to, patterns like corridors and chains of stepping stones), and properties that affect a species' probability of persistence once established. We can therefore point the way to better land use planning approaches, which will provide functional habitat linkages and also maintain local population viability.}, + langid = {english}, + keywords = {Climate change,Conservation science,Electric conductivity,Extinction risk,Fractals,Habitats,Species colonization,Species extinction}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\I88PSM6F\\Hodgson et al. - 2012 - The Speed of Range Shifts in Fragmented Landscapes.pdf} +} + +@article{hoegh-guldbergAssistedColonizationRapid2008, + title = {Assisted {{Colonization}} and {{Rapid Climate Change}}}, + author = {{Hoegh-Guldberg}, O. and Hughes, L. and McIntyre, S. and Lindenmayer, D. B. and Parmesan, C. and Possingham, H. P. and Thomas, C. D.}, + year = {2008}, + month = jul, + journal = {Science}, + volume = {321}, + number = {5887}, + pages = {345--346}, + publisher = {{American Association for the Advancement of Science}}, + issn = {0036-8075, 1095-9203}, + doi = {10.1126/science.1157897}, + abstract = {Moving species outside their historic ranges may mitigate loss of biodiversity in the face of global climate change. Moving species outside their historic ranges may mitigate loss of biodiversity in the face of global climate change.}, + chapter = {Policy Forum}, + copyright = {\textcopyright{} 2008 American Association for the Advancement of Science}, + langid = {english}, + pmid = {18635780}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\Q9T3HJJW\\Hoegh-Guldberg et al. - 2008 - Assisted Colonization and Rapid Climate Change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\N4MI9DZH\\345.html} +} + +@article{hoffmannClimateChangeEvolutionary2011, + title = {Climate Change and Evolutionary Adaptation}, + author = {Hoffmann, Ary A. and Sgr{\`o}, Carla M.}, + year = {2011}, + month = feb, + journal = {Nature}, + volume = {470}, + number = {7335}, + pages = {479--485}, + publisher = {{Nature Publishing Group}}, + issn = {1476-4687}, + doi = {10.1038/nature09670}, + abstract = {Natural populations are responding to global climate change by shifting their geographical distribution and the timing of their growth and reproduction, but for many species, such responses are likely to be inadequate to counter the speed and magnitude of climate change. Can evolutionary change help their cause? Ary Hoffmann and Carla Sgr\`o review the evidence for evolutionary adaptation in response to recent climate change and consider the implications for population and ecosystem management.}, + copyright = {2011 Nature Publishing Group, a division of Macmillan Publishers Limited. All Rights Reserved.}, + langid = {english}, + annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Reviews Subject\_term: Climate-change adaptation;Genetic variation Subject\_term\_id: climate-change-adaptation;genetic-variation}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\EE3BF8KJ\\Hoffmann und Sgrò - 2011 - Climate change and evolutionary adaptation.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\EVQ3W24A\\nature09670.html} +} + +@article{holtEvolutionaryEcologySpecies2003, + title = {On the Evolutionary Ecology of Species' Ranges}, + author = {Holt, R.}, + year = {2003}, + month = feb, + journal = {Evolutionary Ecology Research}, + volume = {5}, + pages = {159--178}, + abstract = {A species' range limits may shift in space either because of changes in ecological factors (e.g. climate, the abundances of interacting species) or because the traits which influence range limits (e.g. dispersal, niche characteristics) evolve by natural selection. In Geographical Ecology, Robert MacArthur (1972) provided a synthesis of the evolutionary factors that may drive range dynamics. In this paper, I revisit this theme in the light of recent theoretical studies of evolution in heterogeneous environments. These studies suggest that a rich range of evolutionary patterns in species' ranges may occur, including expansions or contractions, leading to dynamism in ranges even in epochs without strong directional environmental change.} +} + +@article{holtTheoreticalModelsSpecies2005, + title = {Theoretical Models of Species' Borders: Single Species Approaches}, + shorttitle = {Theoretical Models of Species' Borders}, + author = {Holt, Robert D. and Keitt, Timothy H. and Lewis, Mark A. and Maurer, Brian A. and Taper, Mark L.}, + year = {2005}, + journal = {Oikos}, + volume = {108}, + number = {1}, + pages = {18--27}, + issn = {1600-0706}, + doi = {10.1111/j.0030-1299.2005.13147.x}, + abstract = {The range of potential mechanisms limiting species' distributions in space is nearly as varied and complex as the diversity of life itself. Yet viewed abstractly, a species' border is a geographic manifestation of a species' demographic responses to a spatially and temporally varying world. Population dynamic models provide insight into the different routes by which range limits can arise owing to gradients in demographic rates. In a metapopulation context, for example, range limits may be caused by gradients in extinction rates, colonization rates or habitat availability. We have consider invasion models in uniform and heterogeneous environments as a framework for understanding non-equilibrium range limits, and explore conditions under which invasions may cease to spread leaving behind a stationary range limit. We conclude that non-equilibrial range dynamics need further theoretical and empirical attention.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0030-1299.2005.13147.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\N9YWIB4T\\Holt et al. - 2005 - Theoretical models of species’ borders single spe.pdf} +} + +@article{holyoakTrendsMissingParts2008, + title = {Trends and Missing Parts in the Study of Movement Ecology}, + author = {Holyoak, Marcel and Casagrandi, Renato and Nathan, Ran and Revilla, Eloy and Spiegel, Orr}, + year = {2008}, + month = dec, + journal = {Proceedings of the National Academy of Sciences}, + volume = {105}, + number = {49}, + pages = {19060--19065}, + publisher = {{National Academy of Sciences}}, + issn = {0027-8424, 1091-6490}, + doi = {10.1073/pnas.0800483105}, + abstract = {Movement is important to all organisms, and accordingly it is addressed in a huge number of papers in the literature. Of nearly 26,000 papers referring to movement, an estimated 34\% focused on movement by measuring it or testing hypotheses about it. This enormous amount of information is difficult to review and highlights the need to assess the collective completeness of movement studies and identify gaps. We surveyed 1,000 randomly selected papers from 496 journals and compared the facets of movement studied with a suggested framework for movement ecology, consisting of internal state (motivation, physiology), motion and navigation capacities, and external factors (both the physical environment and living organisms), and links among these components. Most studies simply measured and described the movement of organisms without reference to ecological or internal factors, and the most frequently studied part of the framework was the link between external factors and motion capacity. Few studies looked at the effects on movement of navigation capacity, or internal state, and those were mainly from vertebrates. For invertebrates and plants most studies were at the population level, whereas more vertebrate studies were conducted at the individual level. Consideration of only population-level averages promulgates neglect of between-individual variation in movement, potentially hindering the study of factors controlling movement. Terminology was found to be inconsistent among taxa and subdisciplines. The gaps identified in coverage of movement studies highlight research areas that should be addressed to fully understand the ecology of movement.}, + chapter = {Review}, + copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, + langid = {english}, + pmid = {19060194}, + keywords = {dispersal,foraging,migration,navigation,physiology}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VH2J4QFJ\\Holyoak et al. - 2008 - Trends and missing parts in the study of movement .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\7CKNWVRG\\19060.html} +} + +@article{hovestadtAllInterpatchMovements2011, + title = {Do All Inter-Patch Movements Represent Dispersal? {{A}} Mixed Kernel Study of Butterfly Mobility in Fragmented Landscapes}, + shorttitle = {Do All Inter-Patch Movements Represent Dispersal?}, + author = {Hovestadt, Thomas and Binzenh{\"o}fer, Birgit and Nowicki, Piotr and Settele, Josef}, + year = {2011}, + month = sep, + journal = {The Journal of Animal Ecology}, + volume = {80}, + number = {5}, + pages = {1070--1077}, + issn = {1365-2656}, + doi = {10.1111/j.1365-2656.2011.01848.x}, + abstract = {1. In times of ongoing habitat fragmentation, the persistence of many species is determined by their dispersal abilities. Consequently, understanding the rules underlying movement between habitat patches is a key issue in conservation ecology. 2. We have analysed mark-release-recapture (MRR) data on inter-patches movements of the Dusky Large Blue butterfly Maculinea nausithous in a fragmented landscape in northern Bavaria, Germany. The aim of the analysis was to quantify distance dependence of dispersal as well as to evaluate the effect of target patch area on immigration probability. For statistical evaluation, we apply a 'reduced version' of the virtual migration model (VM), only fitting parameters for dispersal distance and immigration. In contrast to other analyses, we fit a mixed dispersal kernel to the MRR data. 3. A large fraction of recaptures happened in other habitat patches than those where individuals were initially caught. Further, we found significant evidence for the presence of a mixed dispersal kernel. The results indicate that individuals follow different strategies in their movements. Most movements are performed over small distances, nonetheless involving travelling between nearby habitat patches (median distance c. 480 m). A small fraction (c. 0{$\cdot$}025) of the population has a tendency to move over larger distances (median distance c. 3800 m). Further, immigration was positively affected by patch area (I{$\sim$}A({$\zeta$}) ), with the scaling parameter {$\zeta$} = 0{$\cdot$}5. 4. Our findings should help to resolve the long-lasting dispute over the suitability of the negative exponential function vs. inverse-power one for modelling dispersal. Previous studies on various organisms found that the former typically gives better overall fit to empirical distance distributions, but that the latter better represents long-distance movement probabilities. As long-distance movements are more important for landscape-level effects and thus, e.g. for conservation-oriented analyses like PVAs, fitting inverse-power kernels has often been preferred. 5. We conclude that the above discrepancy may simply stem from the fact that recorded inter-patch movements are an outcome of two different processes: daily routine movements and genuine dispersal. Consequently, applying mixed dispersal kernels to disentangle the two processes is recommended.}, + langid = {english}, + pmid = {21585369}, + keywords = {Animal Migration,Animals,Butterflies,Ecosystem,Germany,Models; Biological} +} + +@incollection{hovestadtEvolutionEmergenceDispersal2012, + title = {Evolution and Emergence of Dispersal Kernels\textemdash a Brief Theoretical Evaluation}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Hovestadt, Thomas and Bonte, Dries and Dytham, Calvin and Poethke, Hans Joachim}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0016}, + abstract = {This chapter discusses hypothetical kernels for single individuals since this kernel defines the long-term average success of a dispersal strategy, and is the ultimate target of selection; consequently, it is the appropriate definition in the context of models of dispersal. It is vital to have a detailed knowledge of dispersal kernels when predicting the expansion of invasive species, for example, or the recolonisation of sites in fragmented landscapes. The chapter starts with a definition of the term `dispersal kernel', as its definition is not consistent throughout the literature. There is ambiguity in certain respects. Firstly, it has been used to describe the density probability density function. Secondly, it has been used as the summary description of dispersal events for a whole population or of a single individual. Finally, it has also been used as the statistical description of real dispersal data or of a `hypothetical' kernel from which a single dispersal event is drawn as a random realization.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {dispersal kernels,dispersal strategy,hypothetical kernels,models of dispersal,random realization} +} + +@article{hovestadtEvolutionReducedDispersal2001, + title = {Evolution of Reduced Dispersal Mortality and 'fat-Tailed' Dispersal Kernels in Autocorrelated Landscapes.}, + author = {Hovestadt, T. and Messner, S. and Poethke, H. J.}, + year = {2001}, + month = feb, + journal = {Proceedings of the Royal Society B: Biological Sciences}, + volume = {268}, + number = {1465}, + pages = {385--391}, + issn = {0962-8452}, + doi = {10.1098/rspb.2000.1379}, + abstract = {Models describing the evolution of dispersal strategies have mostly focused on the evolution of dispersal rates. Taking trees as a model for organisms with undirected, passive dispersal, we have developed an individual-based, spatially explicit simulation tool to investigate the evolution of the dispersal kernel, P(r), and its resulting cumulative seed-density distribution, D(r). Simulations were run on a variety of fractal landscapes differing in the fraction of suitable habitat and the spatial autocorrelation. Starting from a uniform D(r), evolution led to an increase in the fraction of seeds staying in the home cell, a reduction of the dispersal mortality (arrival in unsuitable habitat), and the evolution of 'fat-tailed' D(r) in autocorrelated landscapes and approximately uniform D(r) in random landscapes. The evolutionary process was characterized by long periods of stasis with a few bouts of rapid change in the dispersal rate.}, + pmcid = {PMC1088618}, + pmid = {11270435}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\TB9UDVEL\\Hovestadt et al. - 2001 - Evolution of reduced dispersal mortality and 'fat-.pdf} +} + +@article{hovestadtInformationProcessingModels2010, + title = {Information Processing in Models for Density-Dependent Emigration: {{A}} Comparison}, + shorttitle = {Information Processing in Models for Density-Dependent Emigration}, + author = {Hovestadt, Thomas and Kubisch, Alexander and Poethke, Hans-Joachim}, + year = {2010}, + month = feb, + journal = {Ecological Modelling}, + volume = {221}, + number = {3}, + pages = {405--410}, + issn = {0304-3800}, + doi = {10.1016/j.ecolmodel.2009.11.005}, + abstract = {Density-dependent emigration has been recognized as a fitness enhancing strategy. Yet, especially in the modelling literature there is no consensus about how density-dependent emigration should quantitatively be incorporated into metapopulation models. In this paper we compare the performance of five different dispersal strategies (defined by the functional link between density and emigration probability). Four of these strategies are based on published functional relationships between local population density and emigration probability, one assumes density-independent dispersal. We use individual-based simulations of time-discrete metapopulation dynamics and conduct evolution experiments for a broad range of values for dispersal mortality and environmental stochasticity. For each set of these conditions we analyze the evolution of emigration rates in `monoculture experiments' (with only one type of dispersal strategy used by all individuals in the metapopulation) as well as in selection experiments that allow a pair-wise comparison of the performance of each functional type. We find that a single-parameter `asymptotic threshold' strategy \textendash{} derived from the marginal value theorem \textendash{} with a decelerating increase of emigration rate with increasing population density, out-competes any other strategy, i.e. density-independent emigration, a `linear threshold' strategy and a flexible three-parameter strategy. Only when environmental conditions select for extremely high emigration probabilities (close to one), strategies may perform approximately equally. A simple threshold strategy derived for the case of continuous population growth performs even worse than the density-independent strategy. As the functional type of the dispersal function implemented in metapopulation models may severely affect predictions concerning the survival of populations, range expansion, or community changes we clearly recommend to carefully select adequate functions to model density-dependent dispersal.}, + langid = {english}, + keywords = {Density-dependent dispersal,Evolutionary contest,Individual-based simulation,Information processing}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\7F2FMY3M\\Hovestadt et al. - 2010 - Information processing in models for density-depen.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XZ8PTT8W\\S0304380009007510.html} +} + +@article{hughesEvolutionaryTradeoffsReproduction2003, + title = {Evolutionary Trade-Offs between Reproduction and Dispersal in Populations at Expanding Range Boundaries}, + author = {Hughes, Clare L. and Hill, Jane K. and Dytham, Calvin}, + year = {2003}, + month = nov, + journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, + volume = {270}, + number = {suppl\_2}, + pages = {S147-S150}, + publisher = {{Royal Society}}, + doi = {10.1098/rsbl.2003.0049}, + abstract = {During recent climate warming, some species have expanded their ranges northwards to keep track of climate changes. Evolutionary changes in dispersal have been demonstrated in these expanding populations and here we show that increased dispersal is associated with reduced investment in reproduction in populations of the speckled wood butterfly, Pararge aegeria. Evolutionary changes in flight versus reproduction will affect the pattern and rate of expansion at range boundaries in the future, and understanding these responses will be crucial for predicting the distribution of species in the future as climates continue to warm.}, + keywords = {Climate Change,Flight Morphology,Parargeaegeria,Range Expansion,Trade-Off}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\SESHT37A\\Hughes et al. - 2003 - Evolutionary trade-offs between reproduction and d.pdf} +} + +@article{hughesModellingAnalysingEvolution2007, + title = {Modelling and Analysing Evolution of Dispersal in Populations at Expanding Range Boundaries}, + author = {Hughes, Clare L. and Dytham, Calvin and Hill, Jane K.}, + year = {2007}, + journal = {Ecological Entomology}, + volume = {32}, + number = {5}, + pages = {437--445}, + issn = {1365-2311}, + doi = {10.1111/j.1365-2311.2007.00890.x}, + abstract = {1. Species would be expected to shift northwards in response to current climate warming, but many are failing to do so because of fragmentation of breeding habitats. Dispersal is important for colonisation and an individual-based spatially explicit model was developed to investigate impacts of habitat availability on the evolution of dispersal in expanding populations. Model output was compared with field data from the speckled wood butterfly Pararge aegeria, which currently is expanding its range in Britain. 2. During range expansion, models simulated positive linear relationships between dispersal and distance from the seed location. This pattern was observed regardless of quantity (100\% to 10\% habitat availability) or distribution (random vs. gradient distribution) of habitat, although higher dispersal evolved at expanding range margins in landscapes with greater quantity of habitat and in gradient landscapes. Increased dispersal was no longer evident in any landscape once populations had reached equilibrium; dispersal values returned to those of seed populations. However, in landscapes with the least quantity of habitat, reduced dispersal (below that of seed populations) was observed at equilibrium. 3. Evolutionary changes in adult flight morphology were examined in six populations of P. aegeria along a transect from the distribution core to an expanding range margin in England (spanning a latitudinal distance of {$>$}200 km). Empirical data were in agreement with model output and showed increased dispersal ability (larger and broader thoraxes, smaller abdomens, higher wing aspect ratios) with increasing distance from the distribution core. Increased dispersal ability was evident in populations from areas colonised {$>$}30 years previously, although dispersal changes were generally evident only in females. 4. Evolutionary increases in dispersal ability in expanding populations may help species track future climate changes and counteract impacts of habitat fragmentation by promoting colonisation. However, at the highest levels of habitat loss, increased dispersal was less evident during expansion and reduced dispersal was observed at equilibrium indicating that, for many species, continued habitat fragmentation is likely to outweigh any benefits from dispersal.}, + langid = {english}, + keywords = {Climate change,flight morphology,invasion,Lepidoptera,metapopulation}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2311.2007.00890.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\24C8RLRB\\Hughes et al. - 2007 - Modelling and analysing evolution of dispersal in .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\G3CQC3PD\\j.1365-2311.2007.00890.html} +} + +@article{huntleyBioclimaticEnvelopesDynamic2010, + title = {Beyond Bioclimatic Envelopes: Dynamic Species' Range and Abundance Modelling in the Context of Climatic Change}, + shorttitle = {Beyond Bioclimatic Envelopes}, + author = {Huntley, Brian and Barnard, Phoebe and Altwegg, Res and Chambers, Lynda and Coetzee, Bernard W. T. and Gibson, Lesley and Hockey, Philip A. R. and Hole, David G. and Midgley, Guy F. and Underhill, Les G. and Willis, Stephen G.}, + year = {2010}, + journal = {Ecography}, + volume = {33}, + number = {3}, + pages = {621--626}, + issn = {1600-0587}, + doi = {10.1111/j.1600-0587.2009.06023.x}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.06023.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\3HQTNQ3N\\Huntley et al. - 2010 - Beyond bioclimatic envelopes dynamic species' ran.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UDN8BWLC\\j.1600-0587.2009.06023.html} +} + +@article{jeltschIntegratingMovementEcology2013a, + title = {Integrating Movement Ecology with Biodiversity Research - Exploring New Avenues to Address Spatiotemporal Biodiversity Dynamics}, + author = {Jeltsch, Florian and Bonte, Dries and Pe'er, Guy and Reineking, Bj{\"o}rn and Leimgruber, Peter and Balkenhol, Niko and Schr{\"o}der, Boris and Buchmann, Carsten M. and Mueller, Thomas and Blaum, Niels and Zurell, Damaris and {B{\"o}hning-Gaese}, Katrin and Wiegand, Thorsten and Eccard, Jana A. and Hofer, Heribert and Reeg, Jette and Eggers, Ute and Bauer, Silke}, + year = {2013}, + month = aug, + journal = {Movement Ecology}, + volume = {1}, + number = {1}, + pages = {6}, + issn = {2051-3933}, + doi = {10.1186/2051-3933-1-6}, + abstract = {Movement of organisms is one of the key mechanisms shaping biodiversity, e.g. the distribution of genes, individuals and species in space and time. Recent technological and conceptual advances have improved our ability to assess the causes and consequences of individual movement, and led to the emergence of the new field of `movement ecology'. Here, we outline how movement ecology can contribute to the broad field of biodiversity research, i.e. the study of processes and patterns of life among and across different scales, from genes to ecosystems, and we propose a conceptual framework linking these hitherto largely separated fields of research. Our framework builds on the concept of movement ecology for individuals, and demonstrates its importance for linking individual organismal movement with biodiversity. First, organismal movements can provide `mobile links' between habitats or ecosystems, thereby connecting resources, genes, and processes among otherwise separate locations. Understanding these mobile links and their impact on biodiversity will be facilitated by movement ecology, because mobile links can be created by different modes of movement (i.e., foraging, dispersal, migration) that relate to different spatiotemporal scales and have differential effects on biodiversity. Second, organismal movements can also mediate coexistence in communities, through `equalizing' and `stabilizing' mechanisms. This novel integrated framework provides a conceptual starting point for a better understanding of biodiversity dynamics in light of individual movement and space-use behavior across spatiotemporal scales. By illustrating this framework with examples, we argue that the integration of movement ecology and biodiversity research will also enhance our ability to conserve diversity at the genetic, species, and ecosystem levels.}, + keywords = {Biodiversity conservation,Community dynamics,Individual based modeling,Landscape genetics,Long distance movement,Mobile links,Species coexistence}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\4YXDG6ZL\\Jeltsch et al. - 2013 - Integrating movement ecology with biodiversity res.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\88THE2A8\\2051-3933-1-6.html} +} + +@article{johstExtinctionRiskTemporally1997, + title = {Extinction Risk in a Temporally Correlated Fluctuating Environment}, + author = {Johst, K. and Wissel, C.}, + year = {1997}, + month = oct, + journal = {Theoretical Population Biology}, + volume = {52}, + number = {2}, + pages = {91--100}, + issn = {0040-5809}, + doi = {10.1006/tpbi.1997.1322}, + abstract = {Usually extinction risk due to environmental stochasticity is estimated under the assumption of white environmental noise. This holds for a sufficiently short correlation time tauc of the fluctuations compared to the internal time scale of population growth r-1 (tauc/r-1{$<<$}1). Using a time-discrete simulation model we investigate when the white noise approximation is misleading. Environmental fluctuations are related to fluctuations of the birth and death rates of the species and the temporal correlation of these fluctuations (coloured noise) is described by a first-order autoregressive process. We found that extinction risk increases rapidly with correlation time tauc if the strength of noise is large. In this case the white noise approximation underestimates extinction risk essentially unless temporal correlation is very small (tauc/r-1{$<<$}0.1). Extinction risk increases only slowly with correlation time if the strength of noise is small. Then the white noise approximation may be used even for stronger temporal correlations (tauc/r-1{$>$}/=0.1). Thus, the estimation of extinction risk on the basis of white or coloured noise must be justified by time scale and strength of the fluctuations. Especially for species that are sensitive to environmental fluctuations the applicability of the white noise approximation should be carefully checked.}, + langid = {english}, + pmid = {9356326}, + keywords = {Animals,Artifacts,Bias,Birth Rate,Demography,Environment,Humans,Logistic Models,Models; Statistical,Mortality,Population Growth,Regression Analysis,Reproducibility of Results,Risk Factors,Species Specificity,Stochastic Processes,Time} +} + +@article{johstMetapopulationPersistenceDynamic2002, + title = {Metapopulation Persistence in Dynamic Landscapes: The Role of Dispersal Distance}, + shorttitle = {Metapopulation Persistence in Dynamic Landscapes}, + author = {Johst, Karin and Brandl, Roland and Eber, Sabine}, + year = {2002}, + journal = {Oikos}, + volume = {98}, + number = {2}, + pages = {263--270}, + issn = {1600-0706}, + doi = {10.1034/j.1600-0706.2002.980208.x}, + abstract = {Species associated with transient habitats need efficient dispersal strategies to ensure their regional survival. Using a spatially explicit metapopulation model, we studied the effect of the dispersal range on the persistence of a metapopulation as a function of the local population and landscape dynamics (including habitat patch destruction and subsequent regeneration). Our results show that the impact of the dispersal range depends on both the local population and patch growth. This is due to interactions between dispersal and the dynamics of patches and populations via the number of potential dispersers. In general, long-range dispersal had a positive effect on persistence in a dynamic landscape compared to short-range dispersal. Long-range dispersal increases the number of couplings between the patches and thus the colonisation of regenerated patches. However, long-range dispersal lost its advantage for long-term persistence when the number of potential dispersers was low due to small population growth rates and/or small patch growth rates. Its advantage also disappeared with complex local population dynamics and in a landscape with clumped patch distribution.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1034/j.1600-0706.2002.980208.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\F9GL83GZ\\Johst et al. - 2002 - Metapopulation persistence in dynamic landscapes .pdf} +} + +@article{jongejansDispersalDemographySpatial2008, + title = {Dispersal, Demography and Spatial Population Models for Conservation and Control Management}, + author = {Jongejans, Eelke and Skarpaas, Olav and Shea, Katriona}, + year = {2008}, + month = mar, + journal = {Perspectives in Plant Ecology, Evolution and Systematics}, + series = {Space Matters - {{Novel}} Developments in Plant Ecology through Spatial Modelling}, + volume = {9}, + number = {3}, + pages = {153--170}, + issn = {1433-8319}, + doi = {10.1016/j.ppees.2007.09.005}, + abstract = {Spatial population dynamics can seldom be ignored in management aimed at conserving or controlling plant species in a spatial context. Therefore, spatial population models, that bring together knowledge about a species' local demography and dispersal behavior, are of growing applied importance. Here, we survey increasingly complex analytical and simulation models that are being developed to describe both demography and dispersal in applied studies. Local population dynamics can be modeled in an unstructured way, by specifying age- or stage-structure or by modeling each individual. Dispersal is often summarized in population-spread models with descriptive and simple statistical models. Mechanistic models that incorporate the physical or behavioral dynamics of dispersal vectors, however, provide more insight and can more readily be applied to novel situations. Importantly, mechanistic models provide a tool for linking variation in species traits and environments to dispersal and population spread. Spatial population models span a wide range: from diffusion models, metapopulation models, integrodifference equation models, and Neubert\textendash Caswell models, to spatially explicit individual-based models. The complexity (and biological realism) of such models often trades off with tractability: for instance, individual-based simulation models allow for unlimited incorporation of biological detail, but rarely for analytical exploration of the model dynamics. We discuss the advantages and disadvantages of these various spatial population models; the choice of the most appropriate model will depend on the management objective, the biological complexity, available data and the principle of parsimony. We present five case studies of endangered and invasive species for which spatial population models have been developed to inform management, for instance to decrease the spread rate of invasive species or to improve the regional persistence of endangered species. We also anticipate exciting new developments in both spatial analytical and spatial simulation models with increasing demographic, dispersal and spatial sophistication.}, + langid = {english}, + keywords = {Demography,Seed dispersal,Spatial population models,Species management}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\2V5QTP82\\S1433831907000467.html} +} + +@article{keithPredictingExtinctionRisks2008, + title = {Predicting Extinction Risks under Climate Change: Coupling Stochastic Population Models with Dynamic Bioclimatic Habitat Models}, + shorttitle = {Predicting Extinction Risks under Climate Change}, + author = {Keith, David A and Ak{\c c}akaya, H. Resit and Thuiller, Wilfried and Midgley, Guy F and Pearson, Richard G and Phillips, Steven J and Regan, Helen M and Ara{\'u}jo, Miguel B and Rebelo, Tony G}, + year = {2008}, + month = oct, + journal = {Biology Letters}, + volume = {4}, + number = {5}, + pages = {560--563}, + publisher = {{Royal Society}}, + doi = {10.1098/rsbl.2008.0049}, + abstract = {Species responses to climate change may be influenced by changes in available habitat, as well as population processes, species interactions and interactions between demographic and landscape dynamics. Current methods for assessing these responses fail to provide an integrated view of these influences because they deal with habitat change or population dynamics, but rarely both. In this study, we linked a time series of habitat suitability models with spatially explicit stochastic population models to explore factors that influence the viability of plant species populations under stable and changing climate scenarios in South African fynbos, a global biodiversity hot spot. Results indicate that complex interactions between life history, disturbance regime and distribution pattern mediate species extinction risks under climate change. Our novel mechanistic approach allows more complete and direct appraisal of future biotic responses than do static bioclimatic habitat modelling approaches, and will ultimately support development of more effective conservation strategies to mitigate biodiversity losses due to climate change.}, + keywords = {bioclimatic envelope,fire,fynbos,niche model,population viability analysis,uncertainty}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\28GGBZYF\\Keith et al. - 2008 - Predicting extinction risks under climate change .pdf} +} + +@article{kendallUnstructuredIndividualVariation2003, + title = {Unstructured {{Individual Variation}} and {{Demographic Stochasticity}}}, + author = {Kendall, Bruce E. and Fox, Gordon A.}, + year = {2003}, + journal = {Conservation Biology}, + volume = {17}, + number = {4}, + pages = {1170--1172}, + publisher = {{[Wiley, Society for Conservation Biology]}}, + issn = {0888-8892} +} + +@article{knowltonUsingBehavioralLandscape2010, + title = {Using Behavioral Landscape Ecology to Predict Species' Responses to Land-Use and Climate Change}, + author = {Knowlton, Jessie L. and Graham, Catherine H.}, + year = {2010}, + month = jun, + journal = {Biological Conservation}, + volume = {143}, + number = {6}, + pages = {1342--1354}, + issn = {0006-3207}, + doi = {10.1016/j.biocon.2010.03.011}, + abstract = {Climate change and habitat destruction are widely recognized as major threats to species' survival. As a result of these anthropogenic impacts, species are often forced into novel landscapes where their persistence is difficult to predict. Knowledge of how individuals move or disperse through the landscape, choose habitat in which to settle, and produce offspring which survive to repeat the process can greatly improve our ability to predict species' persistence. The field of behavioral landscape ecology uses a strong theoretical base to explore, often experimentally, how the behavior of a particular species is affected by heterogeneous and rapidly changing landscapes and can offer valuable insight for managing species in the face of human-induced environmental changes. When interpreted by modelers, results of landscape-level behavioral experiments can be quantified for use in predictive models. To this end, we summarize the methods and results of research using direct experimental manipulation techniques broken into the following categories: translocations, playback experiments, food resource manipulations, manipulations of reproductive success, direct manipulations of the landscape, and manipulations of predation risk. We review and place in a theoretical framework the results from this emerging body of research regarding how organisms move in and respond to different types of landscapes, both natural and human-altered. We go onto highlight the potential of each experimental method to quantify different processes, which may be useful when interpreted by modelers attempting to parameterize predictive models. Finally, we suggest future directions for experimental research that will allow for greater integration of behavioral landscape ecology and predictive modeling.}, + langid = {english}, + keywords = {Experiments,Fragmentation,Individual-based,Metapopulation,Movement,Predictive models,Spatially explicit}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ST67FW3K\\Knowlton und Graham - 2010 - Using behavioral landscape ecology to predict spec.pdf} +} + +@article{kokkoIndividualDispersalSpecies2006, + title = {From {{Individual Dispersal}} to {{Species Ranges}}: {{Perspectives}} for a {{Changing World}}}, + shorttitle = {From {{Individual Dispersal}} to {{Species Ranges}}}, + author = {Kokko, Hanna and {L{\'o}pez-Sepulcre}, Andr{\'e}s}, + year = {2006}, + month = aug, + journal = {Science}, + volume = {313}, + number = {5788}, + pages = {789--791}, + publisher = {{American Association for the Advancement of Science}}, + issn = {0036-8075, 1095-9203}, + doi = {10.1126/science.1128566}, + abstract = {Dispersal is often risky to the individual, yet the long-term survival of populations depends on having a sufficient number of individuals that move, find each other, and locate suitable breeding habitats. This tension has consequences that rarely meet our conservation or management goals. This is particularly true in changing environments, which makes the study of dispersal urgently topical in a world plagued with habitat loss, climate change, and species introductions. Despite the difficulty of tracking mobile individuals over potentially vast ranges, recent research has revealed a multitude of ways in which dispersal evolution can either constrain, or accelerate, species' responses to environmental changes.}, + chapter = {Special Perspectives}, + copyright = {American Association for the Advancement of Science}, + langid = {english}, + pmid = {16902127}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\HDS46C8H\\Kokko und LĂłpez-Sepulcre - 2006 - From Individual Dispersal to Species Ranges Persp.pdf} +} + +@article{kramer-schadtFragmentedLandscapesRoad2004, + title = {Fragmented Landscapes, Road Mortality and Patch Connectivity: Modelling Influences on the Dispersal of {{Eurasian}} Lynx}, + shorttitle = {Fragmented Landscapes, Road Mortality and Patch Connectivity}, + author = {{Kramer-Schadt}, Stephanie and Revilla, Eloy and Wiegand, Thorsten and Breitenmoser, Urs}, + year = {2004}, + journal = {Journal of Applied Ecology}, + volume = {41}, + number = {4}, + pages = {711--723}, + issn = {1365-2664}, + doi = {10.1111/j.0021-8901.2004.00933.x}, + abstract = {1 Although many reintroduction schemes for the Eurasian lynx Lynx lynx in Germany have been discussed, the implications of connectivity between suitable patches have not been assessed. 2 We introduce an individual-based, spatially explicit dispersal model to assess the probability of a dispersing animal reaching another suitable patch in the complex heterogeneous German landscape, with its dense transport system. The dispersal model was calibrated using telemetric data from the Swiss Jura and based on a map of potential lynx dispersal habitat. 3 Most suitable patches could be interconnected by movements of dispersing lynx within 10 years of reintroduction. However, when realistic levels of mortality risks on roads were applied, most patches become isolated except along the German\textendash Czech border. Consequently, patch connectivity is limited not so much by the distribution of dispersal habitat but by the high mortality of dispersing lynx. Accordingly, rather than solely investing in habitat restoration, management efforts should try to reduce road mortality. 4 Synthesis and applications. Our approach illustrates how spatially explicit dispersal models can guide conservation efforts and reintroduction programmes even where data are scarce. Clear limits imposed by substantial road mortality will affect dispersing lynx as well as other large carnivores, unless offset by careful road-crossing management or by the careful selection of release points in reintroduction programmes.}, + langid = {english}, + keywords = {conservation,large carnivores,large-scale approach,Lynx lynx,movement,spatially explicit individual-based model,species reintroduction}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8901.2004.00933.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\7QQGM4EP\\Kramer-Schadt et al. - 2004 - Fragmented landscapes, road mortality and patch co.pdf} +} + +@article{krosbyEcologicalConnectivityChanging2010a, + title = {Ecological {{Connectivity}} for a {{Changing Climate}}}, + author = {KROSBY, MEADE and TEWKSBURY, JOSHUA and HADDAD, NICK M. and HOEKSTRA, JONATHAN}, + year = {2010}, + journal = {Conservation Biology}, + volume = {24}, + number = {6}, + pages = {1686--1689}, + publisher = {{[Wiley, Society for Conservation Biology]}}, + issn = {0888-8892} +} + +@article{kubischDensitydependentDispersalFormation2011, + title = {Density-Dependent Dispersal and the Formation of Range Borders}, + author = {Kubisch, Alexander and Poethke, Hans-Joachim and Hovestadt, Thomas}, + year = {2011}, + journal = {Ecography}, + volume = {34}, + number = {6}, + pages = {1002--1008}, + publisher = {{Wiley}}, + issn = {0906-7590}, + abstract = {Knowledge about the mechanisms of range formation is crucial for scientifically based species conservation strategies in the face of ongoing global climate change. In recent years an increasing amount of studies have focused on the influences of density-dependent dispersal on demographic and biogeographical patterns. However, it still remains unclear, to what extent and in what ways this strategy would affect the range formation of species. In order to fill this gap, we present a study using individual-based simulations of a species with discrete generations living along a dispersal mortality gradient. We compare the evolution of range sizes for species following density-dependent and density-independent emigration. Furthermore we assess the influence of environmental stochasticity and Allee effects on range formation, as both processes are known to play an important role for dispersal evolution. We find that density-dependent dispersal always results in much wider ranges than unconditional dispersal. Increasing environmental stochasticity, a predicted consequence of climate change, can remarkably expand the ranges of species living in such connectivity gradients if dispersal decisions are based on local population density. A strong Allee effect causes range contraction for both strategies, but the effect is considerably less dramatic under density-dependent compared to density-independent emigration. We strongly recommend accounting for these findings in future attempts to model species' range shifts due to climate change.} +} + +@article{kubischElasticityRangeLimits2010, + title = {On the Elasticity of Range Limits during Periods of Expansion}, + author = {Kubisch, Alexander and Hovestadt, Thomas and Poethke, Hans-Joachim}, + year = {2010}, + month = oct, + journal = {Ecology}, + volume = {91}, + number = {10}, + pages = {3094--3099}, + issn = {0012-9658}, + doi = {10.1890/09-2022.1}, + abstract = {Dispersal is known to play a crucial role in the formation of species' ranges. Recent studies demonstrate that dispersiveness increases rapidly during the range expansion of species due to a fitness increase for dispersers at the expanding front. R. D. Holt concluded, however, that emigration should decline after the period of invasion and hence predicted some range contraction following the initial expansion phase. In this study, we evaluate this hypothesis using a spatially explicit individual-based model of populations distributed along environmental gradients. In our experiments we allow the species to spread along a gradient of declining conditions. Results show that range contraction did emerge in a gradient of dispersal mortality, caused by the rapid increase in emigration probability during invasion and selection disfavoring dispersal, once a stable range is formed. However, gradients in growth rate, local extinction rate, and patch capacity did not lead to a noticeable contraction of the range. We conclude, that the phenomenon of range contraction may emerge, but only under conditions that select for a reduction in dispersal at the range edge in comparison to the core region once the expansion period is over.}, + langid = {english}, + pmid = {21058568}, + keywords = {Computer Simulation,Demography,Ecosystem,Models; Biological} +} + +@article{kubischPredictingRangeShifts2013, + title = {Predicting Range Shifts under Global Change: The Balance between Local Adaptation and Dispersal}, + shorttitle = {Predicting Range Shifts under Global Change}, + author = {Kubisch, Alexander and Degen, Tobias and Hovestadt, Thomas and Poethke, Hans Joachim}, + year = {2013}, + journal = {Ecography}, + volume = {36}, + number = {8}, + pages = {873--882}, + issn = {1600-0587}, + doi = {10.1111/j.1600-0587.2012.00062.x}, + abstract = {Bioclimate envelope models (BEMs) have often been criticized as being too simplistic due to e.g. not incorporating effects of biotic interactions or evolutionary adaptation. However, BEMs are widely applied and have proven to be often useful. Here we investigate, under which conditions evolution of dispersal, local adaptation or interspecific competition may be of minor importance for forecasting future range shifts. Therefore we use individual-based simulations of metapopulations under climate change living in spatial temperature gradients. Scenarios incorporate single-species systems or systems with competing species, respectively. Dispersal rate is evolving and adaptation to local conditions may also evolve in some scenarios. Results show that in single-species scenarios excluding evolutionary adaptation, species either follow optimal habitat conditions or go extinct if habitat connectivity is too low. These simulations are in close accordance to predictions from BEMs. Including evolutionary adaptation qualitatively changes these results. In the absence of competing species the species either completely invades the world or goes extinct. With competitors, results strongly depend on habitat fragmentation. For highly connected habitats the range border may shift as predicted by BEMs, for intermediate connectivity it will lag behind, while species will go extinct if fragmentation is too high. Our results indicate that (simple) BEMs may work well if habitats are well connected and species will not encounter many difficulties in dispersing to new sites. Selection in this case may promote evolution of even higher dispersal activities. We thus show that the presence of biotic interactions may be ignored for predictions of range shifts when high dispersal can be expected.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2012.00062.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZGXWGBLN\\Kubisch et al. - 2013 - Predicting range shifts under global change the b.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XHBH8TMS\\j.1600-0587.2012.00062.html} +} + +@article{kubischRangeBorderFormation2011, + title = {Range Border Formation in a World with Increasing Climatic Variance}, + author = {Kubisch, Alexander and Poethke, Hans}, + year = {2011}, + month = feb, + journal = {Evolutionary Ecology Research}, + volume = {13}, + pages = {159--169}, + abstract = {Questions: How will a change in climatic conditions characterized by an increase in the variance of environmental conditions affect the distribution of species along spatial environmental gradients? How does the specific type of gradient influence their response? Features of the model: Spatially explicit individual-based simulation of a metapopulation. Logistic population growth and density-dependent emigration. Spatial gradients in habitat isolation, quality, and size. Ranges of the key variables: Environmental stochasticity was modelled as a variation of net reproductive rate (lambda). For a mean reproductive rate of lambda = 2, the standard deviation (sigma) was varied in the range of 0 to 3. Conclusions: When the range margin was predominantly determined by a lack of colonizers, ranges initially expanded with increasing environmental fluctuations, but contracted again when these fluctuations became too strong (sigma textgreater 1). When extinction risk was more important for range formation, the initial expansion was damped or completely absent. When the climate changed too fast to allow for local adaptation of dispersal behaviour, the described patterns were less pronounced.} +} + +@article{kunEvolutionDensityDependentDispersal2006, + title = {The {{Evolution}} of {{Density-Dependent Dispersal}} in a {{Noisy Spatial Population Model}}}, + author = {Kun, {\'A}d{\'a}m and Scheuring, Istv{\'a}n}, + year = {2006}, + journal = {Oikos}, + volume = {115}, + number = {2}, + pages = {308--320}, + publisher = {{[Nordic Society Oikos, Wiley]}}, + issn = {0030-1299}, + abstract = {It is well-known that dispersal is advantageous in many different ecological situations, e.g. to survive local catastrophes where populations live in spatially and temporally heterogeneous habitats. However, the key question, what kind of dispersal strategy is optimal in a particular situation, has remained unanswered. We studied the evolution of density-dependent dispersal in a coupled map lattice model, where the population dynamics are perturbed by external environmental noise. We used a very flexible dispersal function to enable evolution to select from practically all possible types of monotonous density-dependent dispersal functions. We treated the parameters of the dispersal function as continuously changing phenotypic traits. The evolutionary stable dispersal strategies were investigated by numerical simulations. We pointed out that irrespective of the cost of dispersal and the strength of environmental noise, this strategy leads to a very weak dispersal below a threshold density, and dispersal rate increases in an accelerating manner above this threshold. Decreasing the cost of dispersal increases the skewness of the population density distribution, while increasing the environmental noise causes more pronounced bimodality in this distribution. In case of positive temporal autocorrelation of the environmental noise, there is no dispersal below the threshold, and only low dispersal below it, on the other hand with negative autocorrelation practically all individual disperses above the threshold. We found our results to be in good concordance with empirical observations.} +} + +@incollection{lambinHighConnectivityHigh2012, + title = {High Connectivity despite High Fragmentation: Iterated Dispersal in a Vertebrate Metapopulation}, + shorttitle = {High Connectivity despite High Fragmentation}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Lambin, Xavier and Bouille, Diane Le and Oliver, Matthew K and Sutherland, Chris and Tedesco, Edoardo and Douglas, Alex}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0032}, + abstract = {This chapter reviews published and unpublished studies on dispersal by water voles inhabiting fragmented habitats and organized as metapopulations. Studies of dispersal that have checked the consistency of pattern emerging at behavioural, individual, and population scale are rare or altogether lacking. This chapter describes how inferences have been drawn from exceptionally large-scale, but largely descriptive, studies of dispersal through the use of molecular markers, combined with small-scale individual-level experiments. These studies reveal a high degree of connectivity through dispersal between geographically isolated water vole colonies. Experiments with `enforced dispersers' show how water vole behaviour during the transience phase of dispersal might bring this about, if dispersal takes place over a long time through multiple stepping-stone movements.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {enforced dispersers,fragmented habitats,molecular markers,stepping-stone movements,transience phase,water voles} +} + +@article{landeEstimatingDensityDependence2006, + title = {Estimating {{Density Dependence}} from {{Time Series}} of {{Population Age Structure}}}, + author = {Lande, Russell and Engen, Steinar and S{\ae}ther, Bernt-Erik and Coulson, Tim and Solow, Associate Editor: Andrew R. and DeAngelis, Editor: Donald L.}, + year = {2006}, + journal = {The American Naturalist}, + volume = {168}, + number = {1}, + pages = {76--87}, + publisher = {{[The University of Chicago Press, The American Society of Naturalists]}}, + issn = {0003-0147}, + doi = {10.1086/504851}, + abstract = {Abstract: Population fluctuations are caused by demographic and environmental stochasticity, time lags due to life history, and density dependence. We model a general life history allowing density dependence within and among age or stage classes in a population undergoing small or moderate fluctuations around a stable equilibrium. We develop a method for estimating the overall strength of density dependence measured by the rate of return toward equilibrium, and we also consider a simplified population description and forecasting using the density-dependent reproductive value. This generality comes at the cost of requiring a time series of the population age or stage structure instead of a univariate time series of adult or total population size. The method is illustrated by analyzing the dynamics of a fully censused population of red deer (Cervus elaphus) based on annual fluctuations of age structure through 21 years.} +} + +@article{lawsonhandleyAdvancesOurUnderstanding2007, + title = {Advances in Our Understanding of Mammalian Sex-Biased Dispersal}, + author = {Lawson Handley, L. J. and Perrin, N.}, + year = {2007}, + month = apr, + journal = {Molecular Ecology}, + volume = {16}, + number = {8}, + pages = {1559--1578}, + issn = {0962-1083}, + doi = {10.1111/j.1365-294X.2006.03152.x}, + abstract = {Sex-biased dispersal is an almost ubiquitous feature of mammalian life history, but the evolutionary causes behind these patterns still require much clarification. A quarter of a century since the publication of seminal papers describing general patterns of sex-biased dispersal in both mammals and birds, we review the advances in our theoretical understanding of the evolutionary causes of sex-biased dispersal, and those in statistical genetics that enable us to test hypotheses and measure dispersal in natural populations. We use mammalian examples to illustrate patterns and proximate causes of sex-biased dispersal, because by far the most data are available and because they exhibit an enormous diversity in terms of dispersal strategy, mating and social systems. Recent studies using molecular markers have helped to confirm that sex-biased dispersal is widespread among mammals and varies widely in direction and intensity, but there is a great need to bridge the gap between genetic information, observational data and theory. A review of mammalian data indicates that the relationship between direction of sex-bias and mating system is not a simple one. The role of social systems emerges as a key factor in determining intensity and direction of dispersal bias, but there is still need for a theoretical framework that can account for the complex interactions between inbreeding avoidance, kin competition and cooperation to explain the impressive diversity of patterns.}, + langid = {english}, + pmid = {17402974}, + keywords = {Animal Migration,Animals,Biological Evolution,Female,Gene Flow,Genetic Markers,Humans,Male,Mammals,Models; Biological,Sex Factors,Sexual Behavior; Animal,Social Behavior}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\JMH9UKXM\\Lawson Handley und Perrin - 2007 - Advances in our understanding of mammalian sex-bia.pdf} +} + +@incollection{legalliardDispersalRangeDynamics2012, + title = {Dispersal and Range Dynamics in Changing Climates: A Review}, + shorttitle = {Dispersal and Range Dynamics in Changing Climates}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Le Galliard, Jean Fran{\c c}ois Le and Massot, Manuel and Clobert, Jean}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0025}, + abstract = {This chapter presents an attempt to summarize existing results and methods in the development of predictive models of ecological responses to climate change, with the aim of highlighting existing patterns and trends in the current data, the most important knowledge gaps, and some fruitful avenues for future research. It highlights the urgent need for a good understanding of the effects of climate change on dispersal. Global climate changes, in fact, have been responsible for the growing awareness and recent surge of interest in studies of dispersal aimed at understanding and predicting the ecological effects of climate change. One of the most common ecological responses to climate change involves range or habitat shifts due to spatial expansions at the cool range margins and spatial retractions at the warm range margins.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {climate change,ecological effects,ecological responses,habitat shifts,spatial expansions,spatial retractions} +} + +@article{legalliardPatternsProcessesDispersal2012, + title = {Patterns and Processes of Dispersal Behaviour in Arvicoline Rodents}, + author = {Le Galliard, Jean-Fran{\c c}ois and R{\'e}my, Alice and Ims, Rolf A. and Lambin, Xavier}, + year = {2012}, + month = feb, + journal = {Molecular Ecology}, + volume = {21}, + number = {3}, + pages = {505--523}, + issn = {1365-294X}, + doi = {10.1111/j.1365-294X.2011.05410.x}, + abstract = {A good understanding of mammalian societies requires measuring patterns and comprehending processes of dispersal in each sex. We investigated dispersal behaviour in arvicoline rodents, a subfamily of mammals widespread in northern temperate environments and characterized by a multivoltine life cycle. In arvicoline rodents, variation in life history strategies occurs along a continuum from precocial to delayed maturation that reflects seasonal and ecological fluctuations. We compared dispersal across and within species focusing on the effects of external (condition-dependent) and internal (phenotype-dependent) factors. Our data revealed substantial, unexplained variation between species for dispersal distances and a strong variation within species for both dispersal distance and fraction. Some methodological aspects explained variation across studies, which cautions against comparisons that do not control for them. Overall, the species under consideration display frequent short-distance dispersal events and extremely flexible dispersal strategies, but they also have hitherto unexpected capacity to disperse long distances. Female arvicolines are predominantly philopatric relative to males, but we found no clear association between the mating system and the degree of sex bias in dispersal across species. Dispersal is a response to both various proximate and ultimate factors, including competition, inbreeding avoidance, mate searching and habitat quality. In particular, our review suggests that costs and benefits experienced during transience and settlement are prime determinants of condition dependence. Patterns of phenotype-dependent dispersal are idiosyncratic, except for a widespread association between an exploration/activity syndrome and natal dispersal. Consequences for population dynamics and genetic structures are discussed.}, + langid = {english}, + pmid = {22211403}, + keywords = {Animal Migration,Animals,Arvicolinae,Ecosystem,Female,Homing Behavior,Inbreeding,Male,Population Dynamics,Sex Characteristics,Sexual Behavior; Animal,Species Specificity}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\K2MXWVEX\\Le Galliard et al. - 2012 - Patterns and processes of dispersal behaviour in a.pdf} +} + +@incollection{legendreAgeStructureMating2004, + title = {Age {{Structure}}, {{Mating System}}, and {{Population Viability}}}, + booktitle = {Evolutionary {{Conservation Biology}}}, + author = {Legendre, St{\'e}phane}, + editor = {Couvet, Denis and Ferri{\`e}re, R{\'e}gis and Dieckmann, Ulf}, + year = {2004}, + series = {Cambridge {{Studies}} in {{Adaptive Dynamics}}}, + pages = {41--58}, + publisher = {{Cambridge University Press}}, + address = {{Cambridge}}, + doi = {10.1017/CBO9780511542022.005}, + abstract = {IntroductionThe fate of populations depends on the life-history traits of the species and possible adaptive changes in these traits in response to selective pressure. In unstructured population models, life-history traits are compounded into few parameters, like the intrinsic growth rate r and the carrying capacity K (see Chapter 2). Structured population models, based on life-cycle graphs, allow the effects of specific life-history traits (survival rates, fecundities, generation time, age at maturity) on population dynamics to be investigated. For example, sensitivities of the growth rate to changes in life-cycle transitions can be computed. Individual life-history traits are important determinants of a population's extinction risk, and are also both factors in and targets of a population's adaptive response to environmental change.When population size is small \textendash{} always a concern in conservation biology \textendash{} both individual life-history traits and the structure of interactions between individuals and the genetic system are expected to influence viability. The mating system, for example, may be conducive to an Allee effect (see Chapter 2), and inbreeding depression is a potentially important factor of the extinction process of small populations. In this chapter, we study the interplay between population structure, in terms of age and sex, and population persistence. Two-sex structured models that incorporate specific features of the social mating system and possible differences in male and female life cycles are analyzed. Also, attempts to merge genetic factors and demography into integrated models are presented.}, + isbn = {978-0-521-82700-3}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\2JPB2JW7\\Legendre - 2004 - Age Structure, Mating System, and Population Viabi.pdf} +} + +@article{lenoirSignificantUpwardShift2008, + title = {A {{Significant Upward Shift}} in {{Plant Species Optimum Elevation During}} the 20th {{Century}}}, + author = {Lenoir, J. and G{\'e}gout, J. C. and Marquet, P. A. and de Ruffray, P. and Brisse, H.}, + year = {2008}, + month = jun, + journal = {Science}, + volume = {320}, + number = {5884}, + pages = {1768--1771}, + publisher = {{American Association for the Advancement of Science}}, + issn = {0036-8075, 1095-9203}, + doi = {10.1126/science.1156831}, + abstract = {Spatial fingerprints of climate change on biotic communities are usually associated with changes in the distribution of species at their latitudinal or altitudinal extremes. By comparing the altitudinal distribution of 171 forest plant species between 1905 and 1985 and 1986 and 2005 along the entire elevation range (0 to 2600 meters above sea level) in west Europe, we show that climate warming has resulted in a significant upward shift in species optimum elevation averaging 29 meters per decade. The shift is larger for species restricted to mountain habitats and for grassy species, which are characterized by faster population turnover. Our study shows that climate change affects the spatial core of the distributional range of plant species, in addition to their distributional margins, as previously reported. A 100-year survey shows that the optimal elevations for growth of plant species in European temperate forests have shifted upward by about 30 meters per decade. A 100-year survey shows that the optimal elevations for growth of plant species in European temperate forests have shifted upward by about 30 meters per decade.}, + chapter = {Report}, + copyright = {American Association for the Advancement of Science}, + langid = {english}, + pmid = {18583610}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\JEYP24ZQ\\Lenoir et al. - 2008 - A Significant Upward Shift in Plant Species Optimu.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\YTEYEHUC\\1768.html} +} + +@article{lesserContributionsLongdistanceDispersal2013, + title = {Contributions of Long-Distance Dispersal to Population Growth in Colonising {{Pinus}} Ponderosa Populations}, + author = {Lesser, Mark R. and Jackson, Stephen T.}, + year = {2013}, + month = mar, + journal = {Ecology Letters}, + volume = {16}, + number = {3}, + pages = {380--389}, + issn = {1461-0248}, + doi = {10.1111/ele.12053}, + abstract = {Long-distance dispersal is an integral part of plant species migration and population development. We aged and genotyped 1125 individuals in four disjunct populations of Pinus ponderosa that were initially established by long-distance dispersal in the 16th and 17th centuries. Parentage analysis was used to determine if individuals were the product of local reproductive events (two parents present), long-distance pollen dispersal (one parent present) or long-distance seed dispersal (no parents present). All individuals established in the first century at each site were the result of long-distance dispersal. Individuals reproduced at younger ages with increasing age of the overall population. These results suggest Allee effects, where populations were initially unable to expand on their own, and were dependent on long-distance dispersal to overcome a minimum-size threshold. Our results demonstrate that long-distance dispersal was not only necessary for initial colonisation but also to sustain subsequent population growth during early phases of expansion.}, + langid = {english}, + pmid = {23279647}, + keywords = {Age Factors,Genotype,Pinus ponderosa,Pollen,Population Growth,Seed Dispersal,Wyoming} +} + +@article{limaBehavioralEcologyEcological1996, + title = {Towards a Behavioral Ecology of Ecological Landscapes}, + author = {Lima, Steven L. and Zollner, Patrick A.}, + year = {1996}, + month = mar, + journal = {Trends in Ecology \& Evolution}, + volume = {11}, + number = {3}, + pages = {131--135}, + issn = {0169-5347}, + doi = {10.1016/0169-5347(96)81094-9}, + abstract = {Recent developments in landscape-level ecological modeling rest upon poorly understood behavioral phenomena. Surprisingly, these phenomena include animal movement and habitat selection, two areas with a long history of study in behavioral ecology. A major problem in applying traditional behavioral ecology to landscape-level ecological problems is that ecologists and behaviorists work at very different spatial scales. Thus a behavioral ecology of ecological landscapes would strive to overcome this inopportune differential in spatial scales. Such a landscape-conscious behavioral undertaking would not only establish more firmly the link between behavior and ecological systems, but also catalyze the study of basic biological phenomena of Interest to behaviorists and ecologists alike.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RSMHXEG9\\Lima und Zollner - 1996 - Towards a behavioral ecology of ecological landsca.pdf} +} + +@article{lindstromSexualReproductionPopulation1998, + title = {Sexual Reproduction and Population Dynamics: The Role of Polygyny and Demographic Sex Differences}, + shorttitle = {Sexual Reproduction and Population Dynamics}, + author = {Lindstr{\"o}m, Jan and Kokko, Hanna}, + year = {1998}, + month = mar, + journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, + volume = {265}, + number = {1395}, + pages = {483--488}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.1998.0320}, + abstract = {Most models of population dynamics do not take sexual reproduction into account (i.e. they do not consider the role of males). However, assumptions behind this practice\textemdash that no demographic sex differences exist and males are always abundant enough to fertilize all the females\textemdash are usually not justified in natural populations. On the contrary, demographic sex differences are common, especially in polygynous species. Previous models that consider sexual reproduction report a stabilizing effect through mixing of different genotypes, thus suggesting a decrease in the propensity for complex dynamics in sexually reproducing populations. Here we show that considering the direct role of males in reproduction and density dependence leads to the conclusion that a two\textendash sex model is not necessarily more stable compared with the corresponding one\textendash sex model. Although solutions exist where sexual reproduction has a stabilizing effect even when no genotypic variability is included (primarily when associated with monogamy), factors like polygyny, sex differences in survival or density dependence, and possible alterations of the primary sex ratio (the Trivers\textendash Willard mechanism), may enlarge the parametric region of complex dynamics. Sexual reproduction therefore does not necessarily increase the stability of population dynamics and can have destabilizing effects, at least in species with complicated mating systems and sexual dimorphism.}, + keywords = {chaos,polygyny,population dynamics,sexual reproduction,Trivers–Willard,two–sex model}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\LPZI96MA\\Lindström und Kokko - 1998 - Sexual reproduction and population dynamics the r.pdf} +} + +@article{loarieVelocityClimateChange2009, + title = {The Velocity of Climate Change}, + author = {Loarie, Scott R. and Duffy, Philip B. and Hamilton, Healy and Asner, Gregory P. and Field, Christopher B. and Ackerly, David D.}, + year = {2009}, + month = dec, + journal = {Nature}, + volume = {462}, + number = {7276}, + pages = {1052--1055}, + publisher = {{Nature Publishing Group}}, + issn = {1476-4687}, + doi = {10.1038/nature08649}, + abstract = {In the event of climate change, species have to move if they are to remain in an area with the same average temperature: their chances of survival therefore depend on the ability to keep pace with a moving climate as well as on the extent of change in temperature and other climate factors. To put this pressure on species into context, a novel index designed to quantify climate change in the coming century has been developed. Its value gives the local velocity along the Earth's surface needed to maintain constant temperatures, and is derived from temperature gradients scaled by distance (\textdegree C per km) and time (\textdegree C per year). The index provides a quantitative view of the role of topography in buffering climate change as it would affect plants and animals: on the IPCC's A1B emission scenario the index has a global mean of 0.42 km per year, compared to extremes of 0.08 and 1.26 km per year for mountains forest biomes and flooded grasslands, respectively. Climate change velocity, it turns out, is large relative to species migration speeds and the sizes of protected habitats. The data suggest that, in some ecosystems, helping species to relocate more rapidly via habitat corridors or new reserves could be an important contribution to conservation.}, + copyright = {2009 Macmillan Publishers Limited. All rights reserved}, + langid = {english}, + annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\8H63BYT5\\Loarie et al. - 2009 - The velocity of climate change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\QLK855B9\\nature08649.html} +} + +@article{lossAssistedColonizationIntegrating2011, + title = {Assisted Colonization: {{Integrating}} Conservation Strategies in the Face of Climate Change}, + shorttitle = {Assisted Colonization}, + author = {Loss, Scott R. and Terwilliger, Lauren A. and Peterson, Anna C.}, + year = {2011}, + month = jan, + journal = {Biological Conservation}, + volume = {144}, + number = {1}, + pages = {92--100}, + issn = {0006-3207}, + doi = {10.1016/j.biocon.2010.11.016}, + abstract = {Global climate change poses an immense challenge for conservation biologists seeking to mitigate impacts to species and ecosystems. Species persistence will depend on geographic range shifts or adaptation in response to warming patterns as novel climates and community assemblages arise. Assisted colonization has been proposed as a method for addressing these challenges. This technique, which consists of transporting species to a new range that is predicted to be favorable for persistence under future climate scenarios, has become the subject of controversy and discussion in the conservation community due to its highly manipulative nature, questions about widespread feasibility, and uncertainty associated with the likelihood of translocated species becoming invasive. We reviewed the discussion and criticism associated with assisted colonization and sought to identify other conservation techniques that also display potential to promote the colonization and adaptation of species in response to climate change. We propose an integrated conservation strategy that includes management for habitat connectivity, conservation genetics, and when necessary, assisted colonization of species that are still unable to shift their ranges even given implementation of the above standard conservation approaches. We argue that this integrated approach will facilitate persistence for a larger proportion of species than is possible by solely using assisted colonization. Furthermore, a multi-faceted approach will likely reduce the uncertainty of conservation outcomes and will become increasingly necessary for conservation of biodiversity in a changing climate.}, + langid = {english}, + keywords = {Assisted colonization,Assisted migration,Climate change,Conservation genetics,Landscape connectivity,Managed relocation}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\98DAYUGC\\Loss et al. - 2011 - Assisted colonization Integrating conservation st.pdf} +} + +@article{manelLandscapeGeneticsCombining2003a, + title = {Landscape Genetics: Combining Landscape Ecology and Population Genetics}, + shorttitle = {Landscape Genetics}, + author = {Manel, St{\'e}phanie and Schwartz, Michael K. and Luikart, Gordon and Taberlet, Pierre}, + year = {2003}, + month = apr, + journal = {Trends in Ecology \& Evolution}, + volume = {18}, + number = {4}, + pages = {189--197}, + issn = {0169-5347}, + doi = {10.1016/S0169-5347(03)00008-9}, + abstract = {Understanding the processes and patterns of gene flow and local adaptation requires a detailed knowledge of how landscape characteristics structure populations. This understanding is crucial, not only for improving ecological knowledge, but also for managing properly the genetic diversity of threatened and endangered populations. For nearly 80 years, population geneticists have investigated how physiognomy and other landscape features have influenced genetic variation within and between populations. They have relied on sampling populations that have been identified beforehand because most population genetics methods have required discrete populations. However, a new approach has emerged for analyzing spatial genetic data without requiring that discrete populations be identified in advance. This approach, landscape genetics, promises to facilitate our understanding of how geographical and environmental features structure genetic variation at both the population and individual levels, and has implications for ecology, evolution and conservation biology. It differs from other genetic approaches, such as phylogeography, in that it tends to focus on processes at finer spatial and temporal scales. Here, we discuss, from a population genetic perspective, the current tools available for conducting studies of landscape genetics.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VHXZ67SP\\S0169534703000089.html} +} + +@article{mathiasDivergentEvolutionDispersal2001, + title = {Divergent {{Evolution}} of {{Dispersal}} in a {{Heterogeneous Landscape}}}, + author = {Mathias, Andrea and Kisdi, Eva and Olivieri, Isabelle}, + year = {2001}, + journal = {Evolution}, + volume = {55}, + number = {2}, + pages = {246--259}, + publisher = {{[Society for the Study of Evolution, Wiley]}}, + issn = {0014-3820}, + abstract = {The evolution of dispersal is investigated in a landscape of many patches with fluctuating carrying capacities and spatial heterogeneity in temporal fluctuations. Although asynchronous temporal fluctuations select for dispersal, spatial heterogeneity in the distribution of fluctuating environmental variables selects against it. We find evolutionary branching in dispersal rate leading to the evolutionarily stable coexistence of a high- and a low-dispersal phenotype. We study how the opposing forces of selection for and against dispersal change with the relative size and the environmental qualities of the source and sink habitats. Our results suggest that the evolution of dispersal dimorphism could be a first step towards speciation and local adaptation.} +} + +@article{matthysenDensitydependentDispersalBirds2005, + title = {Density-Dependent Dispersal in Birds and Mammals}, + author = {Matthysen, Erik}, + year = {2005}, + journal = {Ecography}, + volume = {28}, + number = {3}, + pages = {403--416}, + issn = {1600-0587}, + doi = {10.1111/j.0906-7590.2005.04073.x}, + abstract = {Density-dependent dispersal can be caused by various mechanisms, from competition inducing individuals to emigrate (positive density-dependence) to social crowding effects impeding free movement (negative density-dependence). Various spatial population models have incorporated positively density-dependent dispersal algorithms, and recent theoretical models have explored the conditions for density-dependent dispersal (DD) to evolve. However, while the existence of DD is well documented in some taxa such as insects, there is no clear picture on its generality in vertebrates. Here I review the available empirical data on DD in birds and mammals, focusing mainly on variation in dispersal between years and on experimental density manipulations. Surprisingly few studies have explicitly focused on DD, and interpretation of the available data is often hampered by differences in approach, small sample sizes and/or statistical shortcomings. Positive DD was reported in 50 and 33\% of the selected mammal and bird studies, respectively, while two studies on mammals (out of eight) reported negative DD. Among bird studies, DD was more often reported for emigration rates or long-distance recoveries than for average distances within finite study areas. Experimental studies manipulating densities (mainly on mammals) have consistently generated positive DD, typically showing reduced emigration in response to partial population removal. Studies that examined dispersal in relation to seasonal changes in density (small mammals only) have more often reported negative DD. Studies that compared dispersal between sites differing in density, also show a mixture of positive and negative DD. This suggests that dispersal changes in a more complex way with seasonal and spatial density variation than with annual densities, and/or that these results are confounded by other factors differing between seasons and sites, such as habitat quality. I conclude that both correlational and experimental studies support the existence of positive, rather than negative, density-dependent dispersal in birds and mammals.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0906-7590.2005.04073.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\LV8BYIUJ\\Matthysen - 2005 - Density-dependent dispersal in birds and mammals.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\FT5PD7Y5\\j.0906-7590.2005.04073.html} +} + +@incollection{matthysenMulticausalityDispersalReview2012, + title = {Multicausality of Dispersal: A Review}, + shorttitle = {Multicausality of Dispersal}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Matthysen, Erik}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0001}, + abstract = {This chapter reviews the main causes leading to dispersal, and emphasises its proximate factors. Dispersal is the main mechanism leading to gene flow within and between populations, and is defined as the movement of an individual from site of birth to site of reproduction or its movement between successive sites of reproduction. Causality in dispersal here is considered as any factor that explains variation among individuals in any component of dispersal. Following a general introduction, the different types of causal factors that may explain dispersal patterns are reviewed. The chapter begins with a discussion of the concept of dispersal. This is followed by a brief discussion of its ultimate explications. Lastly, an overview of its different possible mechanisms.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {causality in dispersal,dispersal,gene flow,site of birth,site of reproduction} +} + +@article{mclaughlinClimateChangeHastens2002, + title = {{Climate change hastens population extinctions}}, + author = {McLaughlin, John F. and Hellmann, Jessica J. and Boggs, Carol L. and Ehrlich, Paul R.}, + year = {2002}, + month = apr, + journal = {Proceedings of the National Academy of Sciences of the United States of America}, + volume = {99}, + number = {9}, + pages = {6070--6074}, + publisher = {{National Academy of Sciences}}, + issn = {0027-8424}, + doi = {10.1073/pnas.052131199}, + langid = {English (US)}, + pmid = {11972020}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZBIGGYI2\\McLaughlin et al. - 2002 - Climate change hastens population extinctions.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\FNQ8GFK8\\climate-change-hastens-population-extinctions.html} +} + +@article{mcpeekEvolutionDispersalSpatially1992, + title = {The {{Evolution}} of {{Dispersal}} in {{Spatially}} and {{Temporally Varying Environments}}}, + author = {McPeek, Mark A. and Holt, Robert D.}, + year = {1992}, + journal = {The American Naturalist}, + volume = {140}, + number = {6}, + pages = {1010--1027}, + publisher = {{[University of Chicago Press, American Society of Naturalists]}}, + issn = {0003-0147}, + abstract = {Using a simple two-patch model, we examine how patterns of spatial and temporal variation in carrying capacities affect natural selection on dispersal. The size of the population in each patch is regulated separately, according to a discrete-generation logistic equation, and individuals disperse from each patch at propensities determined by their genotype. We consider genotypes that express the same dispersal propensities in both patches and genotypes that express patch-specific disperal propensities. Contrary to previous analyses, our results show that some level of dispersal is favored by selection under almost all regimes of habitat variability, including a spatially varying and temporally constant environment. Furthermore, two very different polymorphisms are favored under different conditions. When carrying capacities vary spatially but not temporally, any number of genotypes with patch-specific dispersal propensities in ratios inversely proportional to the ratio of the carrying capacities can coexist. This result extends previous analyses to show that dispersal is favored in such an environment if individuals can alter dispersal propensities in response to environmental cues. In contrast, when carrying capacities vary both spatially and temporally but differ in mean or variance, a polymorphism of only two genotypes (a high-dispersal and a no-dispersal genotype) is favored when the only genotypes possible are ones expressing the same dispersal propensity in both patches. However, this dimorphism can be invaded and replaced by one genotype with a particular combination of patch-specific dispersal propensities in a ratio also inversely proportional to the ratio of the average population sizes. We discuss a number of testable predictions this model suggests about the amounts of phenotypic and genetic variation in dispersal characters that are expected both within and between populations, and the degree to which the expression of phenotypic characters affecting dispersal propensity should be sensitive to environmental conditions. The model also suggests novel mechanisms for coexistence between competing species in varying environments.} +} + +@article{merckxEvolutionMovementsBehaviour2003, + title = {The Evolution of Movements and Behaviour at Boundaries in Different Landscapes: A Common Arena Experiment with Butterflies}, + shorttitle = {The Evolution of Movements and Behaviour at Boundaries in Different Landscapes}, + author = {Merckx, Thomas and Dyck, Hans Van and Karlsson, Bengt and Leimar, Olof}, + year = {2003}, + month = sep, + journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, + volume = {270}, + number = {1526}, + pages = {1815--1821}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.2003.2459}, + abstract = {As landscapes change, mobility patterns of species may alter. Different mechanistic scenarios may, however, lead to particular patterns. Here, we tested conflicting predictions from two hypotheses on butterfly movements in relation to habitat fragmentation. According to the resource distribution hypothesis, butterflies in more fragmented landscapes would have higher levels of mobility as resources are more scattered. However, these butterflies could have lower levels of mobility as they experience `hard' habitat boundaries more frequently (i.e. higher crossing costs) compared with butterflies in landscapes with continuous habitat; i.e. the behaviour\textendash at\textendash boundaries hypothesis. We studied movements, habitat boundary crossing and habitat preference of laboratory\textendash reared individuals of Pararge aegeria that originated from woodland and agricultural landscapes, by using an experimental landscape as a common environment (outdoor cages) to test the predictions, taking into account sexual differences and weather. Woodland butterflies covered longer distances, were more prone to cross open\textendash shade boundaries, travelled more frequently between woodland parts of the cages and were more at flight than agricultural butterflies. Our results support the behaviour\textendash at\textendash boundaries hypothesis, with `softer' boundaries for woodland landscapes. Because the butterflies were reared in a common environment, the observed behavioural differences rely on heritable variation between populations from woodland and agricultural landscapes.}, + keywords = {butterflies,dispersal,fragmentation,habitat exploration,movements}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\HA5VVEYF\\Merckx et al. - 2003 - The evolution of movements and behaviour at bounda.pdf} +} + +@article{merckxLandscapeStructurePhenotypic2006, + title = {Landscape Structure and Phenotypic Plasticity in Flight Morphology in the Butterfly {{Pararge}} Aegeria}, + author = {Merckx, Thomas and Dyck, Hans Van}, + year = {2006}, + journal = {Oikos}, + volume = {113}, + number = {2}, + pages = {226--232}, + issn = {1600-0706}, + doi = {10.1111/j.2006.0030-1299.14501.x}, + abstract = {In evolutionary time, varying environments may lead to different morphs as a result of genetic adaptation and divergence or phenotypic plasticity. Landscapes that differ in the extent of habitat fragmentation may provide different selection regimes for dispersal, but also for other ecological functions. Several studies on flying insects have shown differences in flight morphology between landscapes, but whether such differences result from plastic responses have rarely been tested. We did a reciprocal transplant experiment with offspring of speckled wood butterfly females (Parargeaegeria) from three types of landscape differing in fragmentation: woodland landscape, landscape with woodland fragments and agricultural landscape with only hedgerows. Young caterpillars were allowed to grow individually on potted host grasses in small enclosures under the three landscape conditions (split-brood design). Mortality in caterpillars was much higher in agricultural landscape compared to the other landscapes. Additive to the effect of landscape of development, landscape of origin also affected mortality rate in a similar way. Flight morphology of the adults resulting from the experiment differed significantly with landscape. Independent of the landscape of origin, males and females that developed in agricultural landscape were the heaviest and had the greatest wing loadings. Females that developed in agricultural landscape had higher relative thorax mass (i.e. greater flight muscle allocation) in line with adaptive predictions on altered dispersal behaviour with type of landscape. In males, relative thorax mass did not respond significantly relative to landscape of development, but males originating from landscape with woodland fragments allocated more into their thorax compared to males from the other types. We found significant G\texttimes E interactions for total dry mass and wing loading. Our results suggest the existence of phenotypic plasticity in butterfly flight morphology associated with landscape structure.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.2006.0030-1299.14501.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\D9SH6LTA\\Merckx und Dyck - 2006 - Landscape structure and phenotypic plasticity in f.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\ACGPY298\\j.2006.0030-1299.14501.html} +} + +@article{metzHowShouldWe2001, + title = {How Should We Define Fitness in Structured Metapopulation Models? {{Including}} an Application to the Calculation of Evolutionarily Stable Dispersal Strategies}, + shorttitle = {How Should We Define Fitness in Structured Metapopulation Models?}, + author = {Metz, J. a. J. and Gyllenberg, M.}, + year = {2001}, + month = mar, + journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, + volume = {268}, + number = {1466}, + pages = {499--508}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.2000.1373}, + abstract = {We define a fitness concept applicable to structured metapopulations consisting of infinitely many equally coupled patches. In addition, we introduce a more easily calculated quantity Rm that relates to fitness in the same manner as R0 relates to fitness in ordinary population dynamics: the Rm of a mutant is only defined when the resident population dynamics converges to a point equilibrium and Rm is larger (smaller) than 1 if and only if mutant fitness is positive (negative). Rm corresponds to the average number of newborn dispersers resulting from the (on average less than one) local colony founded by a newborn disperser. Efficient algorithms for calculating its numerical value are provided. As an example of the usefulness of these concepts we calculate the evolutionarily stable conditional dispersal strategy for individuals that can account for the local population density in their dispersal decisions. Below a threshold density \~a, at which staying and leaving are equality profitable, everybody should stay and above \~a everybody should leave, where profitability is measured as the mean number of dispersers produced through lines of descent consisting of only non\textendash dispersers.}, + keywords = {dispersal,evolutionary ecology,fitness,metapopulation}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\GHK3HBZM\\Metz und Gyllenberg - 2001 - How should we define fitness in structured metapop.pdf} +} + +@article{midgleyBioMoveIntegratedPlatform2010, + title = {{{BioMove}} \textendash{} an Integrated Platform Simulating the Dynamic Response of Species to Environmental Change}, + author = {Midgley, Guy F. and Davies, Ian D. and Albert, C{\'e}cile H. and Altwegg, Res and Hannah, Lee and Hughes, Gregory O. and O'Halloran, Lydia R. and Seo, Changwan and Thorne, James H. and Thuiller, Wilfried}, + year = {2010}, + journal = {Ecography}, + volume = {33}, + number = {3}, + pages = {612--616}, + issn = {1600-0587}, + doi = {10.1111/j.1600-0587.2009.06000.x}, + abstract = {BioMove simulates plant species' geographic range shifts in response to climate, habitat structure and disturbance, at annual time steps. This spatially explicit approach integrates species' bioclimatic suitability and population-level demographic rates with simulation of landscape-level processes (dispersal, disturbance, species' response to dynamic dominant vegetation structure). Species population dynamics are simulated through matrix modelling that includes scaling demographic rates by climatic suitability. Dispersal functions simulate population spread. User-specified plant functional types (PFTs) provide vegetation structure that determines resource competition and disturbance. PFTs respond annually through dispersal, inter-PFT competition and demographic shifts. BioMove provides a rich framework for dynamic range simulations.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.06000.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\GEVPZ5KT\\Midgley et al. - 2010 - BioMove – an integrated platform simulating the dy.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\SAGTYKRD\\j.1600-0587.2009.06000.html} +} + +@article{millerSexbiasedDispersalSpeed2011, + title = {Sex-Biased Dispersal and the Speed of Two-Sex Invasions}, + author = {Miller, Tom E. X. and Shaw, Allison K. and Inouye, Brian D. and Neubert, Michael G.}, + year = {2011}, + month = may, + journal = {The American Naturalist}, + volume = {177}, + number = {5}, + pages = {549--561}, + issn = {1537-5323}, + doi = {10.1086/659628}, + abstract = {Population models that combine demography and dispersal are important tools for forecasting the spatial spread of biological invasions. Current models describe the dynamics of only one sex (typically females). Such models cannot account for the sex-related biases in dispersal and mating behavior that are typical of many animal species. In this article, we construct a two-sex integrodifference equation model that overcomes these limitations. We derive an explicit formula for the invasion speed from the model and use it to show that sex-biased dispersal may significantly increase or decrease the invasion speed by skewing the operational sex ratio at the invasion's low-density leading edge. Which of these possible outcomes occurs depends sensitively on complex interactions among the direction of dispersal bias, the magnitude of bias, and the relative contributions of females and males to local population growth.}, + langid = {english}, + pmid = {21508603}, + keywords = {Animals,Female,Introduced Species,Male,Models; Biological,Population Dynamics,Sex Characteristics}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VSWI5WN7\\Miller et al. - 2011 - Sex-biased dispersal and the speed of two-sex inva.pdf} +} + +@article{millerSexStochasticityAffect2013, + title = {Sex and Stochasticity Affect Range Expansion of Experimental Invasions}, + author = {Miller, Tom E. X. and Inouye, Brian D.}, + year = {2013}, + month = mar, + journal = {Ecology Letters}, + volume = {16}, + number = {3}, + pages = {354--361}, + issn = {1461-0248}, + doi = {10.1111/ele.12049}, + abstract = {Understanding and predicting range expansion are key objectives in many basic and applied contexts. Among dioecious organisms, there is strong evidence for sex differences in dispersal, which could alter the sex ratio at the expansion's leading edge. However, demographic stochasticity could also affect leading-edge sex ratios, perhaps overwhelming sex-biased dispersal. We used insects in laboratory mesocosms to test the effects of sex-biased dispersal on range expansion, and a simulation model to explore interactive effects of sex-biased dispersal and demographic stochasticity. Sex-biased dispersal created spatial clines in the sex ratio, which influenced offspring production at the front and altered invasion velocity. Increasing female dispersal relative to males accelerated spread, despite the prediction that demographic stochasticity would weaken a signal of sex-biased dispersal. Our results provide the first experimental evidence for an influence of sex-biased dispersal on invasion velocity, highlighting the value of accounting for sex structure in studies of range expansion.}, + langid = {english}, + pmid = {23237200}, + keywords = {Animal Distribution,Animals,Coleoptera,Computer Simulation,Female,Male,Models; Biological,Population Growth,Sex Factors}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\FILVYCMY\\Miller und Inouye - 2013 - Sex and stochasticity affect range expansion of ex.pdf} +} + +@article{mitikkaRangeExpansionEuropean2010, + title = {The Range Expansion of the {{European}} Map Butterfly in {{Finland}}}, + author = {Mitikka, Varpu}, + year = {2010}, + month = mar, + publisher = {{Helsingin yliopisto}}, + abstract = {Climate change will influence the living conditions of all life on Earth. For some species the change in the environmental conditions that has occurred so far has already increased the risk of extinction, and the extinction risk is predicted to increase for large numbers of species in the future. Some species may have time to adapt to the changing environmental conditions, but the rate and magnitude of the change are too great to allow many species to survive via evolutionary changes. Species responses to climate change have been documented for some decades. Some groups of species, like many insects, respond readily to changes in temperature conditions and have shifted their distributions northwards to new climatically suitable regions. Such range shifts have been well documented especially in temperate zones. In this context, butterflies have been studied more than any other group of species, partly for the reason that their past geographical ranges are well documented, which facilitates species-climate modelling and other analyses. The aim of the modelling studies is to examine to what extent shifts in species distributions can be explained by climatic and other factors. Models can also be used to predict the future distributions of species. In this thesis, I have studied the response to climate change of one species of butterfly within one geographically restricted area. The study species, the European map butterfly (Araschnia levana), has expanded rapidly northwards in Finland during the last two decades. I used statistical and dynamic modelling approaches in combination with field studies to analyse the effects of climate warming and landscape structure on the expansion. I studied possible role of molecular variation in phosphoglucose isomerase (PGI), a glycolytic enzyme affecting flight metabolism and thereby flight performance, in the observed expansion of the map butterfly at two separate expansion fronts in Finland. The expansion rate of the map butterfly was shown to be correlated with the frequency of warmer than average summers during the study period. The result is in line with the greater probability of occurrence of the second generation during warm summers and previous results on this species showing greater mobility of the second than first generation individuals. The results of a field study in this thesis indicated low mobility of the first generation butterflies. Climatic variables alone were not sufficient to explain the observed expansion in Finland. There are also problems in transferring the climate model to new regions from the ones from which data were available to construct the model. The climate model predicted a wider distribution in the south-western part of Finland than what has been observed. Dynamic modelling of the expansion in response to landscape structure suggested that habitat and landscape structure influence the rate of expansion. In southern Finland the landscape structure may have slowed down the expansion rate. The results on PGI suggested that allelic variation in this enzyme may influence flight performance and thereby the rate of expansion. Genetic differences of the populations at the two expansion fronts may explain at least partly the observed differences in the rate of expansion. Individuals with the genotype associated with high flight metabolic rate were most frequent in eastern Finland, where the rate of range expansion has been highest.}, + copyright = {Julkaisu on tekij\"anoikeuss\"a\"ann\"osten alainen. Teosta voi lukea ja tulostaa henkil\"okohtaista k\"aytt\"o\"a varten. K\"aytt\"o kaupallisiin tarkoituksiin on kielletty.}, + isbn = {9789521061462}, + langid = {english}, + annotation = {Accepted: 2010-11-25T13:18:36Z}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ECPF4G3G\\Mitikka - 2010 - The range expansion of the European map butterfly .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\B65UEQXI\\22114.html} +} + +@article{moralesBehaviorHabitatBoundaries2002, + title = {Behavior at {{Habitat Boundaries Can Produce Leptokurtic Movement Distributions}}.}, + author = {Morales, Juan Manuel}, + year = {2002}, + month = oct, + journal = {The American Naturalist}, + volume = {160}, + number = {4}, + pages = {531--538}, + publisher = {{The University of Chicago Press}}, + issn = {0003-0147}, + doi = {10.1086/342076}, + keywords = {correlated random walk,diffusion,edge effects,kurtosis,landscape heterogeneity,movement}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\H7T3TLJK\\Morales - 2002 - Behavior at Habitat Boundaries Can Produce Leptoku.pdf} +} + +@article{moralesBuildingBridgeAnimal2010a, + title = {Building the Bridge between Animal Movement and Population Dynamics}, + author = {Morales, Juan M. and Moorcroft, Paul R. and Matthiopoulos, Jason and Frair, Jacqueline L. and Kie, John G. and Powell, Roger A. and Merrill, Evelyn H. and Haydon, Daniel T.}, + year = {2010}, + month = jul, + journal = {Philosophical Transactions of the Royal Society B: Biological Sciences}, + volume = {365}, + number = {1550}, + pages = {2289--2301}, + publisher = {{Royal Society}}, + doi = {10.1098/rstb.2010.0082}, + abstract = {While the mechanistic links between animal movement and population dynamics are ecologically obvious, it is much less clear when knowledge of animal movement is a prerequisite for understanding and predicting population dynamics. GPS and other technologies enable detailed tracking of animal location concurrently with acquisition of landscape data and information on individual physiology. These tools can be used to refine our understanding of the mechanistic links between behaviour and individual condition through `spatially informed' movement models where time allocation to different behaviours affects individual survival and reproduction. For some species, socially informed models that address the movements and average fitness of differently sized groups and how they are affected by fission\textendash fusion processes at relevant temporal scales are required. Furthermore, as most animals revisit some places and avoid others based on their previous experiences, we foresee the incorporation of long-term memory and intention in movement models. The way animals move has important consequences for the degree of mixing that we expect to find both within a population and between individuals of different species. The mixing rate dictates the level of detail required by models to capture the influence of heterogeneity and the dynamics of intra- and interspecific interaction.}, + keywords = {demography,dispersal,perfect mixing,redistribution kernels,spatial ecology,time budgets}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\49RJGBRA\\Morales et al. - 2010 - Building the bridge between animal movement and po.pdf} +} + +@article{moralesScalingAnimalMovements2002, + title = {Scaling up {{Animal Movements}} in {{Heterogeneous Landscapes}}: {{The Importance}} of {{Behavior}}}, + shorttitle = {Scaling up {{Animal Movements}} in {{Heterogeneous Landscapes}}}, + author = {Morales, Juan Manuel and Ellner, Stephen P.}, + year = {2002}, + journal = {Ecology}, + volume = {83}, + number = {8}, + pages = {2240--2247}, + publisher = {{Ecological Society of America}}, + issn = {0012-9658}, + doi = {10.2307/3072055}, + abstract = {Two major challenges of spatial ecology are understanding the effects of landscape heterogeneity on movement, and translating observations taken at small spatial and temporal scales into expected patterns at greater scales. Using a combination of computer simulations and micro-landscape experiments with Tribolium confusum beetles we found that conventional correlated random walk models with constant parameters severely underestimated spatial spread because organisms changed movement behaviors over time. However, a model incorporating behavioral heterogeneity between individuals, and within individuals over time, was able to account for observed patterns of spread. Our results suggest that the main challenge for scaling up movement patterns resides in the complexities of individual behavior rather than in the spatial structure of the landscape.} +} + +@article{munozWindLongDistanceDispersal2004, + title = {Wind as a {{Long-Distance Dispersal Vehicle}} in the {{Southern Hemisphere}}}, + author = {Mu{\~n}oz, Jes{\'u}s and Felic{\'i}simo, {\'A}ngel M. and Cabezas, Francisco and Burgaz, Ana R. and Mart{\'i}nez, Isabel}, + year = {2004}, + month = may, + journal = {Science}, + volume = {304}, + number = {5674}, + pages = {1144--1147}, + publisher = {{American Association for the Advancement of Science}}, + issn = {0036-8075, 1095-9203}, + doi = {10.1126/science.1095210}, + abstract = {Anisotropic (direction-dependent) long-distance dispersal (LDD) by wind has been invoked to explain the strong floristic affinities shared among landmasses in the Southern Hemisphere. Its contribution has not yet been systematically tested because of the previous lack of global data on winds. We used global winds coverage from the National Aeronautics and Space Administration SeaWinds scatterometer to test whether floristic similarities of Southern Hemisphere moss, liverwort, lichen, and pteridophyte floras conform better with (i) the anisotropic LDD hypothesis, which predicts that connection by ``wind highways'' increases floristic similarities, or (ii) a direction-independent LDD hypothesis, which predicts that floristic similarities among sites increase with geographic proximity. We found a stronger correlation of floristic similarities with wind connectivity than with geographic proximities, which supports the idea that wind is a dispersal vehicle for many organisms in the Southern Hemisphere. Wind patterns, not geographical proximity, best explain the distribution of lower plants in the Southern Hemisphere. Wind patterns, not geographical proximity, best explain the distribution of lower plants in the Southern Hemisphere.}, + chapter = {Report}, + copyright = {American Association for the Advancement of Science}, + langid = {english}, + pmid = {15155945}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\7BWCQBSH\\Muñoz et al. - 2004 - Wind as a Long-Distance Dispersal Vehicle in the S.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\V7BXQ37E\\1144.html} +} + +@article{murrellEvolutionDispersalDistance2002, + title = {The Evolution of Dispersal Distance in Spatially Structured Populations}, + author = {Murrell, David and Travis, Justin and Dytham, Calvin}, + year = {2002}, + month = may, + journal = {Oikos}, + volume = {97}, + doi = {10.1034/j.1600-0706.2002.970209.x}, + abstract = {Most evolutionary models of dispersal have concentrated on dispersal rate, with emigration being either global or restricted to nearest neighbours. Yet most organisms fall into an intermediate region where most dispersal is local but there is a wide range of dispersal distances. We use an individual-based model with 2500 patches each with identical local dynamics and show that the dispersal distance is under selection pressure. The dispersal distance that evolves is critically dependent on the ecological dynamics. When the cost of dispersal increases linearly with distance, selection is for short-distance dispersal under stable and damped local dynamics but longer distance dispersal is favoured as local dynamics become more complex. For the cases of stable, damped and periodic patch dynamics global patch synchrony occurs even with very short-distance dispersal. Increasing the scale of dispersal for chaotic local dynamics increases the scale of synchrony but global synchrony does not neccesarily occur. We discuss these results in the light of other possible causes of dispersal and argue for the importance of incorporating non-equilibrium population dynamics into evolutionary models of dispersal distance.}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ENLB2BRA\\Murrell et al. - 2002 - The evolution of dispersal distance in spatially s.pdf} +} + +@article{mustinDynamicsClimateInducedRange2009, + title = {The {{Dynamics}} of {{Climate-Induced Range Shifting}}; {{Perspectives}} from {{Simulation Modelling}}}, + author = {Mustin, Karen and Benton, Tim G. and Dytham, Calvin and Travis, Justin M. J.}, + year = {2009}, + journal = {Oikos}, + volume = {118}, + number = {1}, + pages = {131--137}, + publisher = {{[Nordic Society Oikos, Wiley]}}, + issn = {0030-1299}, + abstract = {Predicted future climate change will alter species' distributions as they attempt to track the most suitable ' climate window'. Climate envelope models indicate the direction of likely range changes but do not incorporate population dynamics, therefore observed responses may differ greatly from these projections. We use simulation modelling to explore the consequences of a period of environmental change for a species structured across an environmental gradient. Results indicate that a species' range may lag behind its climate envelope and demonstrate that the rate of movement of a range can accelerate during a period of climate change. We conclude that the inclusion of both population dynamics and spatial environmental variability is vital to develop models that can both predict, and be used to manage, the impact of changing climate on species' biogeography.} +} + +@article{mustinRedNoiseIncreases2013, + title = {Red Noise Increases Extinction Risk during Rapid Climate Change}, + author = {Mustin, Karen and Dytham, Calvin and Benton, Tim G. and Travis, Justin M. J.}, + year = {2013}, + journal = {Diversity and Distributions}, + volume = {19}, + number = {7}, + pages = {815--824}, + issn = {1472-4642}, + doi = {10.1111/ddi.12038}, + abstract = {Aim As the global climate is changing rapidly, there is a need to make conservation decisions to facilitate species' persistence under climate change. Models employed to make predictions regarding the impacts of climate change on species' distributions, and ultimately persistence, typically assume that interannual variability in environmental conditions is independent between years. However, the colour of environmental noise has been shown to affect extinction risk in populations occupying spatially static environments, and should therefore affect persistence during climate change. This study aims to investigate the importance of noise colour for extinction risk during climate-induced range shifts. Methods We use a spatially explicit coupled map lattice with a latitudinal gradient in climatic suitability, together with time series of environmental noise, to simulate periods of directional climate change and investigate the effects of noise colour on extinction risk and range size. Results Extinction risk increases with reddening of the environmental noise, and this effect is particularly pronounced over short time frames when climate change is rapid. Main conclusions Given that management decisions are typically made over such short time frames, and the rapid rates of climate change currently being experienced, we highlight the importance of incorporating realistic time series of environmental noise into models used for conservation planning under climate change.}, + langid = {english}, + keywords = {Climate change,colour,environmental noise,extinction risk,range shifting,spatial population dynamics}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ddi.12038}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\CSU2RWSB\\Mustin et al. - 2013 - Red noise increases extinction risk during rapid c.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\W7EQWYA9\\ddi.html} +} + +@article{nathanDispersalKernelsReview2012, + title = {Dispersal Kernels: Review. {{Chapter}} 15}, + shorttitle = {Dispersal Kernels}, + author = {Nathan, Ran and Klein, Etienne and {Robledo-Anuncio}, J.J. and Revilla, Eloy}, + year = {2012}, + month = jan, + journal = {Dispersal Ecology and Evolution}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\9NC3YWW6\\Nathan et al. - 2012 - Dispersal kernels review. Chapter 15.pdf} +} + +@article{nathanMovementEcologyParadigm2008a, + title = {A Movement Ecology Paradigm for Unifying Organismal Movement Research}, + author = {Nathan, Ran and Getz, Wayne M. and Revilla, Eloy and Holyoak, Marcel and Kadmon, Ronen and Saltz, David and Smouse, Peter E.}, + year = {2008}, + month = dec, + journal = {Proceedings of the National Academy of Sciences}, + volume = {105}, + number = {49}, + pages = {19052--19059}, + publisher = {{National Academy of Sciences}}, + issn = {0027-8424, 1091-6490}, + doi = {10.1073/pnas.0800375105}, + abstract = {Movement of individual organisms is fundamental to life, quilting our planet in a rich tapestry of phenomena with diverse implications for ecosystems and humans. Movement research is both plentiful and insightful, and recent methodological advances facilitate obtaining a detailed view of individual movement. Yet, we lack a general unifying paradigm, derived from first principles, which can place movement studies within a common context and advance the development of a mature scientific discipline. This introductory article to the Movement Ecology Special Feature proposes a paradigm that integrates conceptual, theoretical, methodological, and empirical frameworks for studying movement of all organisms, from microbes to trees to elephants. We introduce a conceptual framework depicting the interplay among four basic mechanistic components of organismal movement: the internal state (why move?), motion (how to move?), and navigation (when and where to move?) capacities of the individual and the external factors affecting movement. We demonstrate how the proposed framework aids the study of various taxa and movement types; promotes the formulation of hypotheses about movement; and complements existing biomechanical, cognitive, random, and optimality paradigms of movement. The proposed framework integrates eclectic research on movement into a structured paradigm and aims at providing a basis for hypothesis generation and a vehicle facilitating the understanding of the causes, mechanisms, and spatiotemporal patterns of movement and their role in various ecological and evolutionary processes. ''Now we must consider in general the common reason for moving with any movement whatever.`` (Aristotle, De Motu Animalium, 4th century B.C.)}, + chapter = {Perspective}, + copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, + langid = {english}, + pmid = {19060196}, + keywords = {dispersal,foraging,migration,motion capacity,navigation capacity}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\A9QGRRWW\\Nathan et al. - 2008 - A movement ecology paradigm for unifying organisma.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\63VHJ7ZD\\19052.html} +} + +@article{nathanSpreadNorthAmerican2011, + title = {Spread of {{North American}} Wind-dispersed Trees in Future Environments}, + author = {Nathan, R. and Horvitz, N and He, Y and Kuparinen, A and Schurr, F. M. and Katul, G. G.}, + year = {2011}, + journal = {Ecology Letters}, + number = {14}, + pages = {211--219}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\TLLVVDB3\\j.1461-0248.2010.01573.html} +} + +@article{neubertDensitydependentVitalRates2000, + title = {Density-Dependent Vital Rates and Their Population Dynamic Consequences}, + author = {Neubert, M. G. and Caswell, H. C.}, + year = {2000}, + month = aug, + journal = {Journal of Mathematical Biology}, + volume = {41}, + number = {2}, + pages = {103--121}, + issn = {0303-6812}, + doi = {10.1007/s002850070001}, + abstract = {We explore a set of simple, nonlinear, two-stage models that allow us to compare the effects of density dependence on population dynamics among different kinds of life cycles. We characterize the behavior of these models in terms of their equilibria, bifurcations. and nonlinear dynamics, for a wide range of parameters. Our analyses lead to several generalizations about the effects of life history and density dependence on population dynamics. Among these are: (1) iteroparous life histories are more likely to be stable than semelparous life histories; (2) an increase in juvenile survivorship tends to be stabilizing; (3) density-dependent adult survival cannot control population growth when reproductive output is high: (4) density-dependent reproduction is more likely to cause chaotic dynamics than density dependence in other vital rates; and (5) changes in development rate have only small effects on bifurcation patterns.}, + langid = {english}, + pmid = {11039693}, + keywords = {Animals,Birds,Fishes,Humans,Insecta,Mammals,Models; Biological,Numerical Analysis; Computer-Assisted,Plant Development,Population Density,Population Dynamics} +} + +@article{norbergEcoevolutionaryResponsesBiodiversity2012, + title = {Eco-Evolutionary Responses of Biodiversity to Climate Change}, + author = {Norberg, Jon and Urban, Mark C. and Vellend, Mark and Klausmeier, Christopher A. and Loeuille, Nicolas}, + year = {2012}, + month = oct, + journal = {Nature Climate Change}, + volume = {2}, + number = {10}, + pages = {747--751}, + publisher = {{Nature Publishing Group}}, + issn = {1758-6798}, + doi = {10.1038/nclimate1588}, + abstract = {This study describes the development of a multi-species model used to explore the integrated eco-evolutionary responses to climate change. The results should help to understand and predict the responses of biological diversity, ecosystems, and ecological services to changing climate.}, + copyright = {2012 Nature Publishing Group}, + langid = {english}, + annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research Subject\_term: Biodiversity;Climate change;Evolutionary ecology Subject\_term\_id: biodiversity;climate-change;evolutionary-ecology}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\YGNYRLK5\\nclimate1588.html} +} + +@article{northEvolutionaryResponsesDispersal2011, + title = {Evolutionary Responses of Dispersal Distance to Landscape Structure and Habitat Loss}, + author = {North, Ace and Cornell, Stephen and Ovaskainen, Otso}, + year = {2011}, + month = jun, + journal = {Evolution; International Journal of Organic Evolution}, + volume = {65}, + number = {6}, + pages = {1739--1751}, + issn = {1558-5646}, + doi = {10.1111/j.1558-5646.2011.01254.x}, + abstract = {It is generally well understood that some ecological factors select for increased and others for decreased dispersal. However, it has remained difficult to assess how the evolutionary dynamics are influenced by the spatio-temporal structure of the environment. We address this question with an individual-based model that enables habitat structure to be controlled through variables such as patch size, patch turnover rate, and patch quality. Increasing patch size at the expense of patch density can select for more or less dispersal, depending on the initial configuration. In landscapes consisting of high-quality and long-lived habitat patches, patch degradation selects for increased dispersal, yet patch loss may select for reduced dispersal. These trends do not depend on the component of life-history that is affected by habitat quality or the component of life-history through which density-dependence operates. Our results are based on a mathematical method that enables derivation of both the evolutionary stable strategy and the stationary genotype distribution that evolves in a polymorphic population. The two approaches generally lead to similar predictions. However, the evolutionary stable strategy assumes that the ecological and evolutionary time scales can be separated, and we find that violation of this assumption can critically alter the evolutionary outcome.}, + langid = {english}, + pmid = {21644960}, + keywords = {Biological Evolution,Ecosystem,Logistic Models,Models; Biological,Mutation,Polymorphism; Genetic,Population Dynamics,Selection; Genetic}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\AWCPHKBY\\North et al. - 2011 - Evolutionary responses of dispersal distance to la.pdf} +} + +@article{okamotoFrameworkHighthroughputEcoevolutionary2018, + title = {A Framework for High-Throughput Eco-Evolutionary Simulations Integrating Multilocus Forward-Time Population Genetics and Community Ecology}, + author = {Okamoto, Kenichi W. and Amarasekare, Priyanga}, + year = {2018}, + journal = {Methods in Ecology and Evolution}, + volume = {9}, + number = {3}, + pages = {525--534}, + issn = {2041-210X}, + doi = {10.1111/2041-210X.12889}, + abstract = {The evolutionary dynamics of quantitative traits in a species depends on demographic structure (e.g. age- and size-dependent vital rates, migration across subpopulations, mate preferences, and the presence or absence of overlapping generations), which in turn can depend on interspecific interactions with other evolving species. Furthermore, biologists increasingly appreciate that evolutionary change in a single species can substantively affect broader ecological processes, such as community assembly and ecosystem functioning. Models integrating insights from classical population and quantitative genetics, on the one hand, and community ecology theory, on the other, are therefore critical to elucidating the interplay between ecological and evolutionary processes. However, few modelling approaches integrate ecological and genetic details into a comprehensive framework. Such models are needed to account for the reciprocal feedback between evolutionary change and ecological dynamics, and develop effective responses to anthropogenic disturbances on natural communities, improve agricultural practices and manage global health risks such as emerging pathogens. Here we introduce an open-source, multi-species forward-time population genetics simulator and framework for rapidly simulating eco-evolutionary dynamics. Our approach permits building models that can account for alternative genetic architectures, non-standard population dynamics and demographic structures, including those driven by interspecific interactions with other evolving species and the spatial dynamics of metacommunities. By integrating these processes into a common framework, we aim to facilitate the development of models that can further elucidate eco-evolutionary dynamics. While multi-species, forward-time population genetic models can be computationally expensive, we show how our framework leverages relatively economical graphics cards installed in modern desktops. We illustrate the versatility and general applicability of our approach for two very different case studies: antagonistic coevolution in space, and the evolution of life-history traits in response to resource dynamics in physiologically structured populations. We find that our analyses can run up to c. 200 times faster on a single commodity graphics card than on a single CPU core, comparable to the performance gains on small-to-medium sized computer clusters. Our approach therefore substantively reduces implementation difficulties to integrating ecological and evolutionary theory.}, + langid = {english}, + keywords = {community ecology,cuda,eco-evolutionary dynamics,forward-time population genetics models,individual-based models,parallel computing}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.12889}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\TMSBSGVN\\Okamoto und Amarasekare - 2018 - A framework for high-throughput eco-evolutionary s.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\3BIUZ9BL\\2041-210X.html} +} + +@article{oldenContextdependentPerceptualRanges2004, + title = {Context-Dependent Perceptual Ranges and Their Relevance to Animal Movements in Landscapes}, + author = {Olden, Julian D. and Schooley, Robert L. and Monroe, Jeremy B. and Poff, N. Leroy}, + year = {2004}, + journal = {Journal of Animal Ecology}, + volume = {73}, + number = {6}, + pages = {1190--1194}, + issn = {1365-2656}, + doi = {10.1111/j.0021-8790.2004.00889.x}, + abstract = {1 An animal's perceptual range defines the spatial extent of the landscape for which information is available to make movement decisions. Ecologists studying and modelling animal dispersal have commonly assumed that individual movements arise from a predefined set of local decision rules operating within a static isotropic (i.e. circular) perceptual range. 2 We discuss how this assumption fails to recognize the potential for plasticity in perceptual ranges and present a conceptual model that illustrates how anisotropic perceptual ranges can arise from animal orientation to environmental stimuli. 3 Using model simulations we show how perceptual distance (i.e. greatest Euclidean distance at which habitat patches can be perceived), horizon (i.e. panoramic view or angular degrees of the landscape perceived) and breadth (i.e. areal extent of the landscape perceived), change as a function of increased strength of a hypothetical stimuli. 4 Our results show that anisotropic perceptual ranges can differ substantially from traditional, isotropic perceptual ranges in all three aspects depending on the strength of the stimuli and nature in which it interacts with other elements of the landscape. 5 We highlight the implications of these findings for modelling animal movements in ecological landscapes with the hope that context-dependent perceptual ranges are considered in future studies.}, + langid = {english}, + keywords = {anisotropic,behaviour,connectivity,isotropic,orientation,patch context}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8790.2004.00889.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\QFFEYIVB\\Olden et al. - 2004 - Context-dependent perceptual ranges and their rele.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\ADLCYEJ2\\j.0021-8790.2004.00889.html} +} + +@article{opdamClimateChangeMeets2004, + title = {Climate Change Meets Habitat Fragmentation: Linking Landscape and Biogeographical Scale Levels in Research and Conservation}, + shorttitle = {Climate Change Meets Habitat Fragmentation}, + author = {Opdam, Paul and Wascher, Dirk}, + year = {2004}, + month = may, + journal = {Biological Conservation}, + volume = {117}, + number = {3}, + pages = {285--297}, + issn = {0006-3207}, + doi = {10.1016/j.biocon.2003.12.008}, + abstract = {Climate change and habitat fragmentation are considered key pressures on biodiversity. In this paper we explore the potential synergetic effects between these factors. We argue that processes at two levels of spatial scale interact: the metapopulation level and the species range level. Current concepts of spatially dynamic metapopulations and species ranges are consistent, and integration improves our understanding of the interaction of landscape level and geographical range level processes. In landscape zones in which the degree of habitat fragmentation allows persistence, the shifting of ranges is inhibited, but not blocked. In areas where the spatial cohesion of the habitat is below the critical level of metapopulation persistence, the expansion of ranges will be blocked. An increased frequency of large-scale disturbances caused by extreme weather events will cause increasing gaps and an overall contraction of the distribution range, particularly in areas with relatively low levels of spatial cohesion. Taking into account the effects of climate change on metapopulations, habitat distribution and land use changes, future biodiversity research and conservation strategies are facing the challenge to re-orient their focus and scope by integrating spatially and conceptually more dynamic aspects at the landscape level.}, + langid = {english}, + keywords = {Climate change,Geographical range,Habitat fragmentation,Habitat network,Metapopulation dynamics}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\QRBYM366\\Opdam und Wascher - 2004 - Climate change meets habitat fragmentation linkin.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PPS5IQ8F\\S0006320703004890.html} +} + +@article{ovaskainenBiasedMovementBoundary2003, + title = {Biased {{Movement}} at a {{Boundary}} and {{Conditional Occupancy Times}} for {{Diffusion Processes}}}, + author = {Ovaskainen, Otso and Cornell, Stephen J.}, + year = {2003}, + journal = {Journal of Applied Probability}, + volume = {40}, + number = {3}, + pages = {557--580}, + publisher = {{Applied Probability Trust}}, + issn = {0021-9002}, + abstract = {Motivated by edge behaviour reported for biological organisms, we show that random walks with a bias at a boundary lead to a discontinuous probability density across the boundary. We continue by studying more general diffusion processes with such a discontinuity across an interior boundary. We show how hitting probabilities, occupancy times and conditional occupancy times may be solved from problems that are adjoint to the original diffusion problem. We highlight our results with a biologically motivated example, where we analyze the movement behaviour of an individual in a network of habitat patches surrounded by dispersal habitat.} +} + +@article{ovaskainenEmpiricalTestDiffusion2008, + title = {An Empirical Test of a Diffusion Model: Predicting Clouded Apollo Movements in a Novel Environment}, + shorttitle = {An Empirical Test of a Diffusion Model}, + author = {Ovaskainen, Otso and Luoto, Miska and Ikonen, Iiro and Rekola, Hanna and Meyke, Evgeniy and Kuussaari, Mikko}, + year = {2008}, + month = may, + journal = {The American Naturalist}, + volume = {171}, + number = {5}, + pages = {610--619}, + issn = {1537-5323}, + doi = {10.1086/587070}, + abstract = {Functional connectivity is a fundamental concept in conservation biology because it sets the level of migration and gene flow among local populations. However, functional connectivity is difficult to measure, largely because it is hard to acquire and analyze movement data from heterogeneous landscapes. Here we apply a Bayesian state-space framework to parameterize a diffusion-based movement model using capture-recapture data on the endangered clouded apollo butterfly. We test whether the model is able to disentangle the inherent movement behavior of the species from landscape structure and sampling artifacts, which is a necessity if the model is to be used to examine how movements depend on landscape structure. We show that this is the case by demonstrating that the model, parameterized with data from a reference landscape, correctly predicts movements in a structurally different landscape. In particular, the model helps to explain why a movement corridor that was constructed as a management measure failed to increase movement among local populations. We illustrate how the parameterized model can be used to derive biologically relevant measures of functional connectivity, thus linking movement data with models of spatial population dynamics.}, + langid = {english}, + pmid = {18419523}, + keywords = {Algorithms,Animals,Bayes Theorem,Butterflies,Conservation of Natural Resources,Demography,Ecosystem,Finland,Models; Theoretical,Motor Activity,Population Dynamics} +} + +@article{ovaskainenHabitatSpecificMovementParameters2004, + title = {Habitat-{{Specific Movement Parameters Estimated Using Mark}}\textendash{{Recapture Data}} and a {{Diffusion Model}}}, + author = {Ovaskainen, Otso}, + year = {2004}, + journal = {Ecology}, + volume = {85}, + number = {1}, + pages = {242--257}, + issn = {1939-9170}, + doi = {10.1890/02-0706}, + abstract = {I describe a diffusion model aimed at the quantitative analysis of movement in heterogeneous landscapes. The model is based on classifying a landscape into a number of habitat types, which are assumed to differ from each other in terms of the movement behavior of the focal species. In addition to habitat-specific diffusion and mortality coefficients, the model accounts for edge-mediated behavior, meaning biased behavior close to boundaries between the habitat types. I illustrate the model with three examples. In the first example, I examine how the strength of edge-mediated behavior and the size of a habitat patch affect the probability that an individual will immigrate to a patch, the probability that an individual will emigrate from a patch, and the time that an individual is expected to spend in a patch. In the second example, I study how a dispersal corridor affects the probability that an individual will move through a landscape. In the third example, I estimate the movement parameters for a species of butterfly from mark\textendash recapture data. In the butterfly example, I classify the landscape into habitat patches, other open areas, and forests. Edge-mediated behavior is found to have a highly significant effect on the general dispersal pattern of the butterfly: the model predicts that the density of butterflies inside habitat patches is {$>$}100 times the density of butterflies in adjacent areas.}, + langid = {english}, + keywords = {butterflies,correlated random walk,diffusion model,dispersal corridor,edge-mediated behavior,habitat patch size,heterogeneous landscape,mark–recapture,Melitaea diamina,movement parameters}, + annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/02-0706}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ISFBXGBV\\Ovaskainen - 2004 - Habitat-Specific Movement Parameters Estimated Usi.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\IYFJ6IXN\\02-0706.html} +} + +@article{ovaskainenModelingAnimalMovement2009, + title = {{Modeling animal movement with diffusion}}, + author = {Ovaskainen, Otso and Crone, E. E.}, + year = {2009}, + journal = {Spatial Ecology}, + publisher = {{Chapman \& Hall / CRC}}, + langid = {finnish}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\GZEAIB96\\modeling-animal-movement-with-diffusion.html} +} + +@article{ovaskainenTrackingButterflyMovements2008, + title = {Tracking Butterfly Movements with Harmonic Radar Reveals an Effect of Population Age on Movement Distance}, + author = {Ovaskainen, Otso and Smith, Alan D. and Osborne, Juliet L. and Reynolds, Don R. and Carreck, Norman L. and Martin, Andrew P. and Niitep{\~o}ld, Kristjan and Hanski, Ilkka}, + year = {2008}, + month = dec, + journal = {Proceedings of the National Academy of Sciences}, + volume = {105}, + number = {49}, + pages = {19090--19095}, + publisher = {{National Academy of Sciences}}, + issn = {0027-8424, 1091-6490}, + doi = {10.1073/pnas.0802066105}, + abstract = {We used harmonic radar to track freely flying Glanville fritillary butterfly (Melitaea cinxia) females within an area of 30 ha. Butterflies originated from large and continuous populations in China and Estonia, and from newly established or old ({$>$} 5 years) small local populations in a highly fragmented landscape in Finland. Caterpillars were raised under common garden conditions and unmated females were tested soon after eclosion. The reconstructed flight paths for 66 individuals comprised a total distance of 51 km with high spatial resolution. Butterflies originating from large continuous populations and from old local populations in Finland exhibited similar movement behaviors, whereas butterflies originating from newly established local populations in the fragmented landscape in Finland moved significantly more than the others. There was no difference in the lengths of individual flight bouts, but the new-population females flew more frequently, resulting in longer daily movement tracks. The flight activity of all individuals was affected by environmental conditions, peaking at 19\textendash 23\textdegree C (depending on population type), in the early afternoon, and during calm weather. Butterflies from all population types showed a strong tendency to follow habitat edges between the open study area and the neighboring woodlands.}, + chapter = {Research Article}, + copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, + langid = {english}, + pmid = {19060191}, + keywords = {edge-following,evolution of dispersal,fight behavior,fragmented habitat,Glanville fritillary}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VTIJCXS8\\Ovaskainen et al. - 2008 - Tracking butterfly movements with harmonic radar r.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UKZANMR3\\19090.html} +} + +@article{pagelForecastingSpeciesRanges2012a, + title = {Forecasting Species Ranges by Statistical Estimation of Ecological Niches and Spatial Population Dynamics}, + author = {Pagel, J{\"o}rn and Schurr, Frank M.}, + year = {2012}, + journal = {Global Ecology and Biogeography}, + volume = {21}, + number = {2}, + pages = {293--304}, + issn = {1466-8238}, + doi = {10.1111/j.1466-8238.2011.00663.x}, + abstract = {Aim The study and prediction of species\textendash environment relationships is currently mainly based on species distribution models. These purely correlative models neglect spatial population dynamics and assume that species distributions are in equilibrium with their environment. This causes biased estimates of species niches and handicaps forecasts of range dynamics under environmental change. Here we aim to develop an approach that statistically estimates process-based models of range dynamics from data on species distributions and permits a more comprehensive quantification of forecast uncertainties. Innovation We present an approach for the statistical estimation of process-based dynamic range models (DRMs) that integrate Hutchinson's niche concept with spatial population dynamics. In a hierarchical Bayesian framework the environmental response of demographic rates, local population dynamics and dispersal are estimated conditional upon each other while accounting for various sources of uncertainty. The method thus: (1) jointly infers species niches and spatiotemporal population dynamics from occurrence and abundance data, and (2) provides fully probabilistic forecasts of future range dynamics under environmental change. In a simulation study, we investigate the performance of DRMs for a variety of scenarios that differ in both ecological dynamics and the data used for model estimation. Main conclusions Our results demonstrate the importance of considering dynamic aspects in the collection and analysis of biodiversity data. In combination with informative data, the presented framework has the potential to markedly improve the quantification of ecological niches, the process-based understanding of range dynamics and the forecasting of species responses to environmental change. It thereby strengthens links between biogeography, population biology and theoretical and applied ecology.}, + langid = {english}, + keywords = {Biogeography,ecological forecasts,global change,hierarchical Bayesian statistics,long-distance dispersal,niche theory,process-based model,range shifts,spatial demography,species distribution modelling}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2011.00663.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\4PCDDTAG\\Pagel und Schurr - 2012 - Forecasting species ranges by statistical estimati.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UAJ6JBTS\\j.1466-8238.2011.00663.html} +} + +@article{palmerInterindividualVariabilityDispersal2014, + title = {Inter-Individual Variability in Dispersal Behaviours Impacts Connectivity Estimates}, + author = {Palmer, Stephen C. F. and Coulon, Aur{\'e}lie and Travis, Justin M. J.}, + year = {2014}, + journal = {Oikos}, + volume = {123}, + number = {8}, + pages = {923--932}, + issn = {1600-0706}, + doi = {10.1111/oik.01248}, + abstract = {The importance of landscape connectivity in determining biodiversity outcomes under environmental change has led to indices of connectivity becoming amongst the most widely used measures in conservation. Thus, it is vital that our understanding of connectivity and our use of indices describing it are reliable. Dispersal is the key ecological process involved in determining connectivity, and there is increasing evidence of substantial within-population variability in dispersal behaviours. Here, we incorporate this inter-individual variability into two approaches for estimating connectivity, least cost path analysis and stochastic movement simulation. Illustrative results demonstrate that including dispersal variability can yield substantially different estimates of connectivity. While connectivity is typically similar between nearby patches, the frequency of movements between patches further apart is often substantially increased when inter-individual variability is included. Given the disproportionate role that unusual long-distance dispersal events play in spatial dynamics, connectivity indices should seek to incorporate variability in dispersal behaviour.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/oik.01248}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\V8T4KEHW\\Palmer et al. - 2014 - Inter-individual variability in dispersal behaviou.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\5U6B8LDI\\oik.html} +} + +@article{palmerIntroducingStochasticMovement2011, + title = {Introducing a `Stochastic Movement Simulator' for Estimating Habitat Connectivity}, + author = {Palmer, Stephen C. F. and Coulon, Aur{\'e}lie and Travis, Justin M. J.}, + year = {2011}, + journal = {Methods in Ecology and Evolution}, + volume = {2}, + number = {3}, + pages = {258--268}, + issn = {2041-210X}, + doi = {10.1111/j.2041-210X.2010.00073.x}, + abstract = {1. Estimating and improving landscape connectivity has become a key topic in conservation biology. While a range of connectivity indices exist and are widely used to inform spatial planning, they have potentially serious limitations. 2. We introduce a new method for modelling animals moving between habitat patches across a heterogeneous matrix. Our approach integrates features of least cost path analysis with stochastic movement modelling. Importantly, it relaxes assumptions that are implicit in the least cost path algorithm: our method does not assume omniscience nor does it assume that an individual has a planned destination when it leaves a habitat patch. The algorithm incorporates resistance values for matrix elements and parameters that relate to both perceptual range and to the degree of correlation in movement. By simulating sets of movements for individuals emigrating from habitat patches, relative connectivities between habitat patches are estimated. 3. Using an already published stylised landscape, we demonstrate that the connectivities estimated using our new method can differ considerably from those provided by structural methods and by least cost path analysis. Further, our results emphasise the sensitivity of the relative connectivities to an organism's perceptual range and the degree of correlation between movement steps. 4. We believe that using stochastic movement modelling can improve estimates of connectivity and also provide a method for determining how robust the indices derived from simpler methods are likely to be for different types of organisms.}, + langid = {english}, + keywords = {dispersal,habitat fragmentation,individual-based model,perceptual range}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2010.00073.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\EDWNZBEL\\Palmer et al. - 2011 - Introducing a â€stochastic movement simulator’ for .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\I7JJNEUN\\j.2041-210X.2010.00073.html} +} + +@article{parmesanGloballyCoherentFingerprint2003, + title = {A Globally Coherent Fingerprint of Climate Change Impacts across Natural Systems}, + author = {Parmesan, Camille and Yohe, Gary}, + year = {2003}, + month = jan, + journal = {Nature}, + volume = {421}, + number = {6918}, + pages = {37--42}, + publisher = {{Nature Publishing Group}}, + issn = {1476-4687}, + doi = {10.1038/nature01286}, + abstract = {Causal attribution of recent biological trends to climate change is complicated because non-climatic influences dominate local, short-term biological changes. Any underlying signal from climate change is likely to be revealed by analyses that seek systematic trends across diverse species and geographic regions; however, debates within the Intergovernmental Panel on Climate Change (IPCC) reveal several definitions of a `systematic trend'. Here, we explore these differences, apply diverse analyses to more than 1,700 species, and show that recent biological trends match climate change predictions. Global meta-analyses documented significant range shifts averaging 6.1\,km per decade towards the poles (or metres per decade upward), and significant mean advancement of spring events by 2.3 days per decade. We define a diagnostic fingerprint of temporal and spatial `sign-switching' responses uniquely predicted by twentieth century climate trends. Among appropriate long-term/large-scale/multi-species data sets, this diagnostic fingerprint was found for 279 species. This suite of analyses generates `very high confidence' (as laid down by the IPCC) that climate change is already affecting living systems.}, + copyright = {2003 Macmillan Magazines Ltd.}, + langid = {english}, + annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\6NY7WUQZ\\Parmesan und Yohe - 2003 - A globally coherent fingerprint of climate change .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\3CICWYLS\\nature01286.html} +} + +@article{parmesanPolewardShiftsGeographical1999, + title = {Poleward Shifts in Geographical Ranges of Butterfly Species Associated with Regional Warming}, + author = {Parmesan, Camille and Ryrholm, Nils and Stefanescu, Constant{\'i} and Hill, Jane K. and Thomas, Chris D. and Descimon, Henri and Huntley, Brian and Kaila, Lauri and Kullberg, Jaakko and Tammaru, Toomas and Tennent, W. John and Thomas, Jeremy A. and Warren, Martin}, + year = {1999}, + month = jun, + journal = {Nature}, + volume = {399}, + number = {6736}, + pages = {579--583}, + publisher = {{Nature Publishing Group}}, + issn = {1476-4687}, + doi = {10.1038/21181}, + abstract = {Mean global temperatures have risen this century, and further warming is predicted to continue for the next 50\textendash 100 years1,2,3. Some migratory species can respond rapidly to yearly climate variation by altering the timing or destination of migration4, but most wildlife is sedentary and so is incapable of such a rapid response. For these species, responses to the warming trend should be slower, reflected in poleward shifts of the range. Such changes in distribution would occur at the level of the population, stemming not from changes in the pattern of individuals' movements, but from changes in the ratios of extinctions to colonizations at the northern and southern boundaries of the range. A northward range shift therefore occurs when there is net extinction at the southern boundary or net colonization at the northern boundary. However, previous evidence has been limited to a single species5 or to only a portion of the species' range6,7. Here we provide the first large-scale evidence of poleward shifts in entire species' ranges. In a sample of 35 non-migratory European butterflies, 63\% have ranges that have shifted to the north by 35\textendash 240\,km during this century, and only 3\% have shifted to the south.}, + copyright = {1999 Macmillan Magazines Ltd.}, + langid = {english}, + annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\NQDYEF5R\\Parmesan et al. - 1999 - Poleward shifts in geographical ranges of butterfl.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XSUEU8LT\\21181.html} +} + +@article{pattersonStateSpaceModels2008, + title = {State\textendash Space Models of Individual Animal Movement}, + author = {Patterson, Toby A. and Thomas, Len and Wilcox, Chris and Ovaskainen, Otso and Matthiopoulos, Jason}, + year = {2008}, + month = feb, + journal = {Trends in Ecology \& Evolution}, + volume = {23}, + number = {2}, + pages = {87--94}, + issn = {0169-5347}, + doi = {10.1016/j.tree.2007.10.009}, + abstract = {Detailed observation of the movement of individual animals offers the potential to understand spatial population processes as the ultimate consequence of individual behaviour, physiological constraints and fine-scale environmental influences. However, movement data from individuals are intrinsically stochastic and often subject to severe observation error. Linking such complex data to dynamical models of movement is a major challenge for animal ecology. Here, we review a statistical approach, state\textendash space modelling, which involves changing how we analyse movement data and draw inferences about the behaviours that shape it. The statistical robustness and predictive ability of state\textendash space models make them the most promising avenue towards a new type of movement ecology that fuses insights from the study of animal behaviour, biogeography and spatial population dynamics.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\CISHUFMZ\\S0169534707003588.html} +} + +@article{pearsonPredictingImpactsClimate2003, + title = {Predicting the Impacts of Climate Change on the Distribution of Species: Are Bioclimate Envelope Models Useful?}, + shorttitle = {Predicting the Impacts of Climate Change on the Distribution of Species}, + author = {Pearson, Richard G. and Dawson, Terence P.}, + year = {2003}, + journal = {Global Ecology and Biogeography}, + volume = {12}, + number = {5}, + pages = {361--371}, + issn = {1466-8238}, + doi = {10.1046/j.1466-822X.2003.00042.x}, + abstract = {Modelling strategies for predicting the potential impacts of climate change on the natural distribution of species have often focused on the characterization of a species' bioclimate envelope. A number of recent critiques have questioned the validity of this approach by pointing to the many factors other than climate that play an important part in determining species distributions and the dynamics of distribution changes. Such factors include biotic interactions, evolutionary change and dispersal ability. This paper reviews and evaluates criticisms of bioclimate envelope models and discusses the implications of these criticisms for the different modelling strategies employed. It is proposed that, although the complexity of the natural system presents fundamental limits to predictive modelling, the bioclimate envelope approach can provide a useful first approximation as to the potentially dramatic impact of climate change on biodiversity. However, it is stressed that the spatial scale at which these models are applied is of fundamental importance, and that model results should not be interpreted without due consideration of the limitations involved. A hierarchical modelling framework is proposed through which some of these limitations can be addressed within a broader, scale-dependent context.}, + langid = {english}, + keywords = {bioclimate envelope,climate change,climate space,ecological modelling,ecological niche,hierarchy,scale}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1466-822X.2003.00042.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\CLWUT8UI\\Pearson und Dawson - 2003 - Predicting the impacts of climate change on the di.pdf} +} + +@article{peerBreakingFunctionalConnectivity2011, + title = {Breaking {{Functional Connectivity}} into {{Components}}: {{A Novel Approach Using}} an {{Individual-Based Model}}, and {{First Outcomes}}}, + shorttitle = {Breaking {{Functional Connectivity}} into {{Components}}}, + author = {Pe'er, Guy and Henle, Klaus and Dislich, Claudia and Frank, Karin}, + year = {2011}, + month = aug, + journal = {PLOS ONE}, + volume = {6}, + number = {8}, + pages = {e22355}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0022355}, + abstract = {Landscape connectivity is a key factor determining the viability of populations in fragmented landscapes. Predicting `functional connectivity', namely whether a patch or a landscape functions as connected from the perspective of a focal species, poses various challenges. First, empirical data on the movement behaviour of species is often scarce. Second, animal-landscape interactions are bound to yield complex patterns. Lastly, functional connectivity involves various components that are rarely assessed separately. We introduce the spatially explicit, individual-based model FunCon as means to distinguish between components of functional connectivity and to assess how each of them affects the sensitivity of species and communities to landscape structures. We then present the results of exploratory simulations over six landscapes of different fragmentation levels and across a range of hypothetical bird species that differ in their response to habitat edges. i) Our results demonstrate that estimations of functional connectivity depend not only on the response of species to edges (avoidance versus penetration into the matrix), the movement mode investigated (home range movements versus dispersal), and the way in which the matrix is being crossed (random walk versus gap crossing), but also on the choice of connectivity measure (in this case, the model output examined). ii) We further show a strong effect of the mortality scenario applied, indicating that movement decisions that do not fully match the mortality risks are likely to reduce connectivity and enhance sensitivity to fragmentation. iii) Despite these complexities, some consistent patterns emerged. For instance, the ranking order of landscapes in terms of functional connectivity was mostly consistent across the entire range of hypothetical species, indicating that simple landscape indices can potentially serve as valuable surrogates for functional connectivity. Yet such simplifications must be carefully evaluated in terms of the components of functional connectivity they actually predict.}, + langid = {english}, + keywords = {Animal behavior,Birds,Community structure,Forests,Habitats,Random walk,Simulation and modeling,Statistical dispersion}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\RXZJNWG8\\Pe'er et al. - 2011 - Breaking Functional Connectivity into Components .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\INFAXPUX\\article.html} +} + +@article{peerIncorporatingPerceptualRange2008, + title = {Incorporating the Perceptual Range of Animals into Connectivity Models}, + author = {Pe'er, Guy and {Kramer-Schadt}, Stephanie}, + year = {2008}, + month = apr, + journal = {Ecological Modelling}, + volume = {213}, + number = {1}, + pages = {73--85}, + issn = {0304-3800}, + doi = {10.1016/j.ecolmodel.2007.11.020}, + abstract = {The perceptual range of an animal towards different landscape elements affects its movements through heterogeneous landscapes. However, empirical knowledge and modeling tools are lacking to assess the consequences of variation in the perceptual range for movement patterns and connectivity. In this study we tested how changes in the assumed perception of different landscape elements affect the outcomes of a connectivity model. We used an existing individual-based, spatially explicit model for the dispersal of Eurasian lynx (Lynx lynx). We systematically altered the perceptual range in which animals recognize forest fragments, water bodies or cities, as well as the probability that they respond to these landscape elements. Overall, increasing the perceptual range of the animals enhanced connectivity substantially, both qualitatively and quantitatively. An enhanced range of attraction to forests had the strongest impact, doubling immigration success; an enhanced range of attraction to rivers had a slightly lower impact; and an enhanced range of avoidance of cities had the lowest impact. Correcting the enhancement in connectivity by the abundance of each of the landscape elements in question reversed the results, indicating the potential sensitivity of connectivity models to rare landscape elements (in our case barriers such as cities). Qualitatively, the enhanced perception resulted in strong changes in movement patterns and connectivity. Furthermore, model results were highly parameter-specific and patch-specific. These results emphasize the need for further empirical research on the perceptual capabilities of different animals in different landscapes and conditions. They further indicate the usefulness of spatially explicit individual-based simulation models for recognizing consistent patterns that emerge, despite uncertainty regarding animals' movement behavior. Altogether, this study demonstrates the need to extend the concept of `perceptual ranges' beyond patch detection processes, to encompass the wide range of elements that can direct animal movements during dispersal through heterogeneous landscapes.}, + langid = {english}, + keywords = {Connectivity,Directing stimuli,Dispersal,Eurasian lynx,Heuristic model,Individual-based spatially explicit model,Movement decisions,Perceptual range,Spatial gradients,Spatial heterogeneity}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\R4A28CIL\\S0304380007006199.html} +} + +@article{peerSimpleProcessBasedSimulators2013, + title = {Simple {{Process-Based Simulators}} for {{Generating Spatial Patterns}} of {{Habitat Loss}} and {{Fragmentation}}: {{A Review}} and {{Introduction}} to the {{G-RaFFe Model}}}, + shorttitle = {Simple {{Process-Based Simulators}} for {{Generating Spatial Patterns}} of {{Habitat Loss}} and {{Fragmentation}}}, + author = {Pe'er, Guy and Zurita, Gustavo A. and Schober, Lucia and Bellocq, Maria I. and Strer, Maximilian and M{\"u}ller, Michael and P{\"u}tz, Sandro}, + year = {2013}, + month = may, + journal = {PLOS ONE}, + volume = {8}, + number = {5}, + pages = {e64968}, + publisher = {{Public Library of Science}}, + issn = {1932-6203}, + doi = {10.1371/journal.pone.0064968}, + abstract = {Landscape simulators are widely applied in landscape ecology for generating landscape patterns. These models can be divided into two categories: pattern-based models that generate spatial patterns irrespective of the processes that shape them, and process-based models that attempt to generate patterns based on the processes that shape them. The latter often tend toward complexity in an attempt to obtain high predictive precision, but are rarely used for generic or theoretical purposes. Here we show that a simple process-based simulator can generate a variety of spatial patterns including realistic ones, typifying landscapes fragmented by anthropogenic activities. The model ``G-RaFFe'' generates roads and fields to reproduce the processes in which forests are converted into arable lands. For a selected level of habitat cover, three factors dominate its outcomes: the number of roads (accessibility), maximum field size (accounting for land ownership patterns), and maximum field disconnection (which enables field to be detached from roads). We compared the performance of G-RaFFe to three other models: Simmap (neutral model), Qrule (fractal-based) and Dinamica EGO (with 4 model versions differing in complexity). A PCA-based analysis indicated G-RaFFe and Dinamica version 4 (most complex) to perform best in matching realistic spatial patterns, but an alternative analysis which considers model variability identified G-RaFFe and Qrule as performing best. We also found model performance to be affected by habitat cover and the actual land-uses, the latter reflecting on land ownership patterns. We suggest that simple process-based generators such as G-RaFFe can be used to generate spatial patterns as templates for theoretical analyses, as well as for gaining better understanding of the relation between spatial processes and patterns. We suggest caution in applying neutral or fractal-based approaches, since spatial patterns that typify anthropogenic landscapes are often non-fractal in nature.}, + langid = {english}, + keywords = {Farms,Forests,Habitats,Land use,Principal component analysis,Regression analysis,Roads,Trees}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\YDCNGWDB\\Pe'er et al. - 2013 - Simple Process-Based Simulators for Generating Spa.pdf} +} + +@article{perrinDispersalInbreedingAvoidance1999, + title = {Dispersal and {{Inbreeding Avoidance}}}, + author = {Perrin, Nicolas and Mazalov, Vladimir}, + year = {1999}, + month = sep, + journal = {The American Naturalist}, + volume = {154}, + number = {3}, + pages = {282--292}, + issn = {1537-5323}, + doi = {10.1086/303236}, + abstract = {Using a game-theoretical approach, we investigate the dispersal patterns expected if inbreeding avoidance were the only reason for dispersal. The evolutionary outcome is always complete philopatry by one sex. The rate of dispersal by the other sex depends on patch size and mating system, as well as inbreeding and dispersal costs. If such costs are sex independent, then two stable equilibria coexist (male or female philopatry), with symmetric domains of attraction. Which sex disperses is determined entirely by history, genetic drift, and gene flow. An asymmetry in costs makes one domain of attraction extend at the expense of the other. In such a case, the dispersing sex might also be, paradoxically, the one that incurs the higher dispersal costs. As asymmetry increases, one equilibrium eventually disappears, which may result in a sudden evolutionary shift in the identity of the dispersing sex. Our results underline the necessity to control for phylogenetic relationships (e.g., through the use of independent-comparisons methods) when investigating empirical trends in dispersal. Our model also makes quantitative predictions on the rate of dispersal by the dispersing sex and suggests that inbreeding avoidance may only rarely be the sole reason for dispersal.}, + langid = {english}, + pmid = {10506544}, + keywords = {evolutionarily stable strategy,mating systems,polygyny,sexâ€biased dispersal} +} + +@article{perrinLocalCompetitionInbreeding2000, + title = {Local {{Competition}}, {{Inbreeding}}, and the {{Evolution}} of {{Sex-Biased Dispersal}}}, + author = {Perrin, Nicolas and Mazalov, Vladimir}, + year = {2000}, + month = jan, + journal = {The American Naturalist}, + volume = {155}, + number = {1}, + pages = {116--127}, + issn = {1537-5323}, + doi = {10.1086/303296}, + abstract = {Using game theory, we developed a kin-selection model to investigate the consequences of local competition and inbreeding depression on the evolution of natal dispersal. Mating systems have the potential to favor strong sex biases in dispersal because sex differences in potential reproductive success affect the balance between local resource competition and local mate competition. No bias is expected when local competition equally affects males and females, as happens in monogamous systems and also in polygynous or promiscuous ones as long as female fitness is limited by extrinsic factors (breeding resources). In contrast, a male-biased dispersal is predicted when local mate competition exceeds local resource competition, as happens under polygyny/promiscuity when female fitness is limited by intrinsic factors (maximal rate of processing resources rather than resources themselves). This bias is reinforced by among-sex interactions: female philopatry enhances breeding opportunities for related males, while male dispersal decreases the chances that related females will inbreed. These results meet empirical patterns in mammals: polygynous/promiscuous species usually display a male-biased dispersal, while both sexes disperse in monogamous species. A parallel is drawn with sex-ratio theory, which also predicts biases toward the sex that suffers less from local competition. Optimal sex ratios and optimal sex-specific dispersal show mutual dependence, which argues for the development of coevolution models.}, + langid = {english}, + pmid = {10657181}, + keywords = {kin selection,local mate competition,local resource competition,mating systems,potential reproductive rate} +} + +@article{petitSurveyColumnarCacti1996, + title = {Survey of {{Columnar Cacti}} and {{Carrying Capacity}} for {{Nectar-Feeding Bats}} on {{Curacao}}}, + author = {Petit, Sophie and Pors, Leon}, + year = {1996}, + journal = {Conservation Biology}, + volume = {10}, + number = {3}, + pages = {769--775}, + publisher = {{[Wiley, Society for Conservation Biology]}}, + issn = {0888-8892}, + abstract = {We estimated the population sizes of the three species of columnar cacti that grow on the island of Curacao using ground and aerial transects, and we examined the island's carrying capacity for two species of nectar-feeding bats that depend on nectar from the flowers of these cacti. We calculated carrying capacity based on the daily availability of mature flowers between January and December 1993 and the field energy requirements of bats as estimated from an equation for eutherian mammals (low estimate) and one for passerine birds (high estimate) based on body mass. Additional energy requirements of pregnancy and lactation were taken into account. We estimated that 461,172 columnar cacti were present on Curacao (38\% Subpilocereus repandus, 51\% Stenocereus griseus, and 11\% Pilosocereus lanuginosus). May through September are the critical months when bats rely most heavily on cactus for food. July 1993 was a bottleneck with the smallest number of mature flowers per day. July and August were months of greatest energy demand because females were lactating. We estimate that the carrying capacity for Glossophaga longirostris in July, when the bat (Leptonycteris curasoae) population was 900, was near 1200, an estimate that fits the observed population size of nectar-feeding bats on the island. We suggest that the extensive removal of native vegetation occurring on Curacao be strictly regulated because further destruction of the cacti will result in a decrease and potential loss of the already low populations of nectar-feeding bats.} +} + +@article{phillipsLifehistoryEvolutionRangeshifting2010a, + title = {Life-History Evolution in Range-Shifting Populations}, + author = {Phillips, Benjamin L. and Brown, Gregory P. and Shine, Richard}, + year = {2010}, + journal = {Ecology}, + volume = {91}, + number = {6}, + pages = {1617--1627}, + issn = {1939-9170}, + doi = {10.1890/09-0910.1}, + abstract = {Most evolutionary theory does not deal with populations expanding or contracting in space. Invasive species, climate change, epidemics, and the breakdown of dispersal barriers, however, all create populations in this kind of spatial disequilibrium. Importantly, spatial disequilibrium can have important ecological and evolutionary outcomes. During continuous range expansion, for example, populations on the expanding front experience novel evolutionary pressures because frontal populations are assorted by dispersal ability and have a lower density of conspecifics than do core populations. These conditions favor the evolution of traits that increase rates of dispersal and reproduction. Additionally, lowered density on the expanding front eventually frees populations on the expanding edge from specialist, coevolved enemies, permitting higher investment into traits associated with dispersal and reproduction rather than defense against pathogens. As a result, the process of range expansion drives rapid life-history evolution, and this seems to occur despite ongoing serial founder events that have complex effects on genetic diversity at the expanding front. Traits evolving on the expanding edge are smeared across the landscape as the front moves through, leaving an ephemeral signature of range expansion in the life-history traits of a species across its newly colonized range. Recent studies suggest that such nonequilibrium processes during recent population history may have contributed to many patterns usually ascribed to evolutionary forces acting in populations at spatial equilibrium.}, + langid = {english}, + keywords = {climate change,contemporary evolution,defense allocation,density dependence,dispersal rate,enemy escape,genotype “smearing”,nonequilibrium processes,range shift,rapid life-history evolution,reproductive rate}, + annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/09-0910.1}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\P576JEPR\\Phillips et al. - 2010 - Life-history evolution in range-shifting populatio.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\WU9FHHYS\\09-0910.html} +} + +@article{phillipsRangeShiftPromotes2012, + title = {Range Shift Promotes the Formation of Stable Range Edges}, + author = {Phillips, Ben L.}, + year = {2012}, + journal = {Journal of Biogeography}, + volume = {39}, + number = {1}, + pages = {153--161}, + issn = {1365-2699}, + doi = {10.1111/j.1365-2699.2011.02597.x}, + abstract = {Aim I investigate the counter-intuitive possibility that range shift promotes the formation of stable range edges. This might be expected because: (1) range-shifting populations typically evolve increased dispersal on the expanding range edge; (2) increased dispersal steepens the relative slope of environmental gradients (gradients appear steeper to a more dispersive population); and (3) environmental gradients that are steep relative to dispersal encourage the formation of stable range edges (when gradients appear steep, adaptation on the range edge is swamped by maladapted genes). Methods I test the idea that populations take longer to evolve across an environmental gradient when those populations have already undergone a period of spread. I do this using an individual-based coupled map lattice simulation, in which individuals carry heritable traits for dispersal probability and environment-specific fitness. Results Numerous simulations across parameter space confirm that a period of range shift almost always results in a longer time to evolve through an environmental gradient. This occurs because of both the mechanism described above and the erosion of adaptive variation resulting from the serial foundering that occurs during range advance. Main conclusions This result suggests that species may often shift their range due to intrinsic changes in the population rather than extrinsic changes in the environment. The result also suggests a new mechanism regulating the speed of invasion, and sounds a cautionary note for climate change impacts: the longer a species tracks climate change, the less able it may be to track that change into the future.}, + langid = {english}, + keywords = {Dispersal,ecological gradient,evolution,range edge,range shift,simulation modelling}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2011.02597.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\H7X4DWWC\\Phillips - 2012 - Range shift promotes the formation of stable range.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\45UCVE34\\j.1365-2699.2011.02597.html} +} + +@article{phillipsReidParadoxRevisited2008a, + title = {Reid's Paradox Revisited: The Evolution of Dispersal Kernels during Range Expansion}, + shorttitle = {Reid's Paradox Revisited}, + author = {Phillips, Benjamin L. and Brown, Gregory P. and Travis, Justin M. J. and Shine, Richard}, + year = {2008}, + month = jul, + journal = {The American Naturalist}, + volume = {172 Suppl 1}, + pages = {S34-48}, + issn = {1537-5323}, + doi = {10.1086/588255}, + abstract = {Current approaches to modeling range advance assume that the distribution describing dispersal distances in the population (the "dispersal kernel") is a static entity. We argue here that dispersal kernels are in fact highly dynamic during periods of range advance because density effects and spatial assortment by dispersal ability ("spatial selection") drive the evolution of increased dispersal on the expanding front. Using a spatially explicit individual-based model, we demonstrate this effect under a wide variety of population growth rates and dispersal costs. We then test the possibility of an evolved shift in dispersal kernels by measuring dispersal rates in individual cane toads (Bufo marinus) from invasive populations in Australia (historically, toads advanced their range at 10 km/year, but now they achieve {$>$}55 km/year in the northern part of their range). Under a common-garden design, we found a steady increase in dispersal tendency with distance from the invasion origin. Dispersal kernels on the invading front were less kurtotic and less skewed than those from origin populations. Thus, toads have increased their rate of range expansion partly through increased dispersal on the expanding front. For accurate long-range forecasts of range advance, we need to take into account the potential for dispersal kernels to be evolutionarily dynamic.}, + langid = {english}, + pmid = {18554142}, + keywords = {Animals,Australia,Biological Evolution,Bufo marinus,Ecosystem,Geography,Models; Biological,Population Dynamics,Predatory Behavior,Selection; Genetic} +} + +@article{plotnickGeneralModelSimulating2002, + title = {A General Model for Simulating the Effects of Landscape Heterogeneity and Disturbance on Community Patterns}, + author = {Plotnick, Roy E and Gardner, Robert H}, + year = {2002}, + month = jan, + journal = {Ecological Modelling}, + volume = {147}, + number = {2}, + pages = {171--197}, + issn = {0304-3800}, + doi = {10.1016/S0304-3800(01)00418-5}, + abstract = {An individual-based, spatially explicit stochastic lattice model, CAPS, was designed to examine multiple processes responsible for spatial patterns of abundance and diversity of sessile species in heterogeneous landscapes. Species simulated by CAPS differ in habitat preferences (niche width), dispersal of propagules, and relative fecundity. The spatial distribution of habitat types are represented as heterogeneous gridded landscapes. The outcome of competition and establishment processes in successive generations is determined locally via a seed lottery. A series of 200 year-long simulations was performed to investigate the effects of variation in species characteristics and competition, landscape heterogeneity, and disturbance on patterns of species abundances. The outcome of competition was most sensitive to differences in fecundity between species, the spatial distribution of suitable habitat and the initial distribution of species. Species with a narrow niche were confined to a single habitat type and remained at or near their initialization sites. Broader niches resulted in increasing niche overlap and competition but enhanced species mobility, allowing abundance levels to approach expected values determined by map resources. Even so, initial distributions still affected the spatial patterns of species distributions at year 200. Disturbance regimes were simulated by varying the frequency, extent and spatial pattern of disturbances. Disturbance events removed species from affected sites but did not otherwise alter habitat characteristics. Results showed that disturbances may lead to a reversal in competition and establishment, dependent on species-specific differences in fecundity and dispersal. Although intermediate levels of disturbance frequency and extent increased the probability of species coexistence, the spatial pattern of disturbance played an unexpectedly important role in the tradeoff between dispersal and fecundity. The ability to simulate multiple factors affecting patterns of persistence, abundance and spatial distribution of species provided by CAPS allows new insight into the temporal and spatial patterns of community development.}, + langid = {english}, + keywords = {Cellular automata,Community dynamics,Disturbance,Heterogeneity,Landscape,Lattice models,Spatial simulation}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\TH6ID3NW\\Plotnick und Gardner - 2002 - A general model for simulating the effects of land.pdf} +} + +@article{poethkeAbilityIndividualsAssess2011, + title = {The Ability of Individuals to Assess Population Density Influences the Evolution of Emigration Propensity and Dispersal Distance}, + author = {Poethke, Hans Joachim and Gros, Andreas and Hovestadt, Thomas}, + year = {2011}, + month = aug, + journal = {Journal of Theoretical Biology}, + volume = {282}, + number = {1}, + pages = {93--99}, + issn = {1095-8541}, + doi = {10.1016/j.jtbi.2011.05.012}, + abstract = {We analyze the simultaneous evolution of emigration and settlement decisions for actively dispersing species differing in their ability to assess population density. Using an individual-based model we simulate dispersal as a multi-step (patch to patch) movement in a world consisting of habitat patches surrounded by a hostile matrix. Each such step is associated with the same mortality risk. Our simulations show that individuals following an informed strategy, where emigration (and settlement) probability depends on local population density, evolve a lower (natal) emigration propensity but disperse over significantly larger distances - i.e. postpone settlement longer - than individuals performing density-independent emigration. This holds especially when variation in environmental conditions is spatially correlated. Both effects can be traced to the informed individuals' ability to better exploit existing heterogeneity in reproductive chances. Yet, already moderate distance-dependent dispersal costs prevent the evolution of multi-step (long-distance) dispersal, irrespective of the dispersal strategy.}, + langid = {english}, + pmid = {21605568}, + keywords = {Biological Evolution,Humans,Models; Theoretical,Population Density}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\7V5ILEU6\\Poethke et al. - 2011 - The ability of individuals to assess population de.pdf} +} + +@article{poethkeEvolutionDensityPatch2002, + title = {Evolution of Density\textendash and Patch\textendash Size\textendash Dependent Dispersal Rates}, + author = {Poethke, Hans Joachim and Hovestadt, Thomas}, + year = {2002}, + month = mar, + journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, + volume = {269}, + number = {1491}, + pages = {637--645}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.2001.1936}, + abstract = {Based on a marginal value approach, we derive a nonlinear expression for evolutionarily stable (ES) dispersal rates in a metapopulation with global dispersal. For the general case of density-dependent population growth, our analysis shows that individual dispersal rates should decrease with patch capacity and\textemdash beyond a certain threshold\textendash increase with population density. We performed a number of spatially explicit, individual-based simulation experiments to test these predictions and to explore further the relevance of variation in the rate of population increase, density dependence, environmental fluctuations and dispersal mortality on the evolution of dispersal rates. They confirm the predictions of our analytical approach. In addition, they show that dispersal rates in metapopulations mostly depend on dispersal mortality and inter-patch variation in population density. The latter is dominantly driven by environmental fluctuations and the rate of population increase. These conclusions are not altered by the introduction of neighbourhood dispersal. With patch capacities in the order of 100 individuals, kin competition seems to be of negligible importance for ES dispersal rates except when overall dispersal rates are low.}, + keywords = {density-dependent dispersal,dispersal rate,evolutionarily stable strategy,individual based model,metapopulation,patch size}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\WILYAUAH\\Poethke und Hovestadt - 2002 - Evolution of density–and patch–size–dependent disp.pdf} +} + +@article{poyrySpeciesTraitsExplain2009, + title = {Species Traits Explain Recent Range Shifts of {{Finnish}} Butterflies}, + author = {P{\"o}yry, Juha and Luoto, Miska and Heikkinen, Risto K. and Kuussaari, Mikko and Saarinen, Kimmo}, + year = {2009}, + journal = {Global Change Biology}, + volume = {15}, + number = {3}, + pages = {732--743}, + issn = {1365-2486}, + doi = {10.1111/j.1365-2486.2008.01789.x}, + abstract = {This study provides a novel systematic comparative analysis of the species characteristics affecting the range margin shifts in butterflies towards higher latitudes, while taking phylogenetic relatedness among species into account. We related observed changes in the northern range margins of 48 butterfly species in Finland between two time periods (1992\textendash 1996 and 2000\textendash 2004) to 11 species traits. Species with positive records in at least ten 10 km \texttimes{} 10 km grid squares (in the Finnish National Butterfly Recording Scheme, NAFI) in both periods were included in the study. When corrected for range size change, the 48 butterfly species had shifted their range margins northwards on average by 59.9 km between the study periods, with maximum shifts of over 300 km for three species. This rate of range shifts exceeds all previously reported records worldwide. Our findings may be explained by two factors: the study region is situated in higher latitudes than in most previous studies and it focuses on the period of most prominent warming during the last 10\textendash 15 years. Several species traits exhibited a significant univariate relationship with the range margin shift according to generalized estimation equations (GEE) taking into account the phylogenetic relatedness among species. Nonthreatened butterflies had on average expanded their ranges strongly northwards (84.5 km), whereas the distributions of threatened species were stationary (-2.1 km). Hierarchical partitioning (HP) analysis indicated that mobile butterflies living in forest edges and using woody plants as their larval hosts exhibited largest range shifts towards the north. Thus, habitat availability and dispersal capacity of butterfly species are likely to determine whether they will be successful in shifting their ranges in response to the warming climate.}, + langid = {english}, + keywords = {atlas data,butterflies,climate change,distribution,Finland,generalized estimation equations (GEE),hierarchical partitioning (HP),range shift,species traits}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2486.2008.01789.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\Y4XNIRXF\\Pöyry et al. - 2009 - Species traits explain recent range shifts of Finn.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\FPJZ9C4C\\j.1365-2486.2008.01789.html} +} + +@article{revillaEffectsMatrixHeterogeneity2004, + title = {Effects of {{Matrix Heterogeneity}} on {{Animal Dispersal}}: {{From Individual Behavior}} to {{Metapopulation}}-{{Level Parameters}}.}, + shorttitle = {Effects of {{Matrix Heterogeneity}} on {{Animal Dispersal}}}, + author = {Revilla, Eloy and Wiegand, Thorsten and Palomares, Francisco and Ferreras, Pablo and Delibes, Miguel}, + year = {2004}, + month = nov, + journal = {The American Naturalist}, + volume = {164}, + number = {5}, + pages = {E130-E153}, + publisher = {{The University of Chicago Press}}, + issn = {0003-0147}, + doi = {10.1086/424767}, + abstract = {Mounting theoretical and empirical evidence shows that matrix heterogeneity may have contrasting effects on metapopulation dynamics by contributing to patch isolation in nontrivial ways. We analyze the movement properties during interpatch dispersal in a metapopulation of Iberian lynx (Lynx pardinus). On a daily temporal scale, lynx habitat selection defines two types of matrix habitats where individuals may move: open and dispersal habitats (avoided and used as available, respectively). There was a strong and complex impact of matrix heterogeneity on movement properties at several temporal scales (hourly and daily radiolocations and the entire dispersal event). We use the movement properties on the hourly temporal scale to build a simulation model to reconstruct individual dispersal events. The two most important parameters affecting model predictions at both the individual (daily) and metapopulation scales were related to the movement capacity (number of movement steps per day and autocorrelation in dispersal habitat) followed by the parameters representing the habitat selection in the matrix. The model adequately reproduced field estimates of population-level parameters (e.g., interpatch connectivity, maximum and final dispersal distances), and its performance was clearly improved when including the effect of matrix heterogeneity on movement properties. To assume there is a homogeneous matrix results in large errors in the estimate of interpatch connectivity, especially for close patches separated by open habitat or corridors of dispersal habitat, showing how important it is to consider matrix heterogeneity when it is present. Movement properties affect the interaction of dispersing individuals with the landscape and can be used as a mechanistic representation of dispersal at the metapopulation level. This is so when the effect of matrix heterogeneity on movement properties is evaluated under biologically meaningful spatial and temporal scales.}, + keywords = {autocorrelated random walk,individualâ€based spatially explicit simulations,interpatch connectivity,Lynx pardinus,matrix fragmentation,standard of plausibility}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\DIPDQW6W\\Revilla et al. - 2004 - Effects of Matrix Heterogeneity on Animal Dispersa.pdf} +} + +@article{revillaIndividualMovementBehavior2008a, + title = {Individual Movement Behavior, Matrix Heterogeneity, and the Dynamics of Spatially Structured Populations}, + author = {Revilla, Eloy and Wiegand, Thorsten}, + year = {2008}, + month = dec, + journal = {Proceedings of the National Academy of Sciences}, + volume = {105}, + number = {49}, + pages = {19120--19125}, + publisher = {{National Academy of Sciences}}, + issn = {0027-8424, 1091-6490}, + doi = {10.1073/pnas.0801725105}, + abstract = {The dynamics of spatially structured populations is characterized by within- and between-patch processes. The available theory describes the latter with simple distance-dependent functions that depend on landscape properties such as interpatch distance or patch size. Despite its potential role, we lack a good mechanistic understanding of how the movement of individuals between patches affects the dynamics of these populations. We used the theoretical framework provided by movement ecology to make a direct representation of the processes determining how individuals connect local populations in a spatially structured population of Iberian lynx. Interpatch processes depended on the heterogeneity of the matrix where patches are embedded and the parameters defining individual movement behavior. They were also very sensitive to the dynamic demographic variables limiting the time moving, the within-patch dynamics of available settlement sites (both spatiotemporally heterogeneous) and the response of individuals to the perceived risk while moving. These context-dependent dynamic factors are an inherent part of the movement process, producing connectivities and dispersal kernels whose variability is affected by other demographic processes. Mechanistic representations of interpatch movements, such as the one provided by the movement-ecology framework, permit the dynamic interaction of birth\textendash death processes and individual movement behavior, thus improving our understanding of stochastic spatially structured populations.}, + chapter = {Research Article}, + copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, + langid = {english}, + pmid = {19060193}, + keywords = {demography,Iberian lynx,metapopulation,population dynamics,source-sink}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\H8BTU5CK\\Revilla und Wiegand - 2008 - Individual movement behavior, matrix heterogeneity.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UYMB72DH\\19120.html} +} + +@article{rickettsMatrixMattersEffective2001, + title = {The Matrix Matters: Effective Isolation in Fragmented Landscapes}, + shorttitle = {The Matrix Matters}, + author = {Ricketts, T. H.}, + year = {2001}, + month = jul, + journal = {The American Naturalist}, + volume = {158}, + number = {1}, + pages = {87--99}, + issn = {1537-5323}, + doi = {10.1086/320863}, + abstract = {Traditional approaches to the study of fragmented landscapes invoke an island-ocean model and assume that the nonhabitat matrix surrounding remnant patches is uniform. Patch isolation, a crucial parameter to the predictions of island biogeography and metapopulation theories, is measured by distance alone. To test whether the type of interpatch matrix can contribute significantly to patch isolation, I conducted a mark-recapture study on a butterfly community inhabiting meadows in a naturally patchy landscape. I used maximum likelihood to estimate the relative resistances of the two major matrix types (willow thicket and conifer forest) to butterfly movement between meadow patches. For four of the six butterfly taxa (subfamilies or tribes) studied, conifer was 3-12 times more resistant than willow. For the two remaining taxa (the most vagile and least vagile in the community), resistance estimates for willow and conifer were not significantly different, indicating that responses to matrix differ even among closely related species. These results suggest that the surrounding matrix can significantly influence the "effective isolation" of habitat patches, rendering them more or less isolated than simple distance or classic models would indicate. Modification of the matrix may provide opportunities for reducing patch isolation and thus the extinction risk of populations in fragmented landscapes.}, + langid = {english}, + pmid = {18707317} +} + +@article{ripaNoiseColourRisk1996, + title = {Noise Colour and the Risk of Population Extinctions}, + author = {Ripa, J{\"o}rgen and Lundberg, Per}, + year = {1996}, + month = dec, + journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, + volume = {263}, + number = {1377}, + pages = {1751--1753}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.1996.0256}, + abstract = {A recurrent problem in ecology and conservation biology is to estimate the risk of population extinctions. Extinction probabilities are not only imperative for conservation and management, but may also elucidate basic mechanisms of the regulation of natural populations (Burgman et al. 1993; Pimm 1994). The usual way of modelling stochastic influence on population dynamics has been to assume that the external noise is uncorrelated. This means that each and every randomly drawn noise value is totally independent on previous ones. This is what is generally called `white' noise. However, the noise itself can be temporally autocorrelated. That is, the values of the random numbers used in the noise process will depend on previous ones. Here we show that the autocorrelation, or colour, of the external noise assumed to influence population dynamics strongly modifies estimated extinction probabilities. For positively autocorrelated (`red') noise, the risk of extinction clearly decreases the stronger the autocorrelation is, Negatively autocorrelated (`blue') noise is more ambiguously related to extinction probability. Thus, the commonly assumed white noise in population modelling will severely bias population extinction risk estimates. Moreover, the extinction probability estimates are also significantly dependent on model structure which calls for a cautious use of traditional discrete-time models.} +} + +@article{robertVariationIndividualsDemographic2003, + title = {Variation among {{Individuals}}, {{Demographic Stochasticity}}, and {{Extinction}}: {{Response}} to {{Kendall}} and {{Fox}}}, + shorttitle = {Variation among {{Individuals}}, {{Demographic Stochasticity}}, and {{Extinction}}}, + author = {Robert, Alexandre and Sarrazin, Fran{\c c}ois and Couvet, Denis}, + year = {2003}, + journal = {Conservation Biology}, + volume = {17}, + number = {4}, + pages = {1166--1169}, + publisher = {{[Wiley, Society for Conservation Biology]}}, + issn = {0888-8892} +} + +@incollection{ronceDispersalSyndromes2012, + title = {Dispersal Syndromes}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Ronce, Oph{\'e}lie and Clobert, Jean}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0010}, + abstract = {This chapter focuses on dispersal syndromes and how they describe patterns of covariation of morphological, behavioural, and/or life-history traits associated with dispersal. Covariation is a continuous measure of statistical association between traits composing a complex phenotype. There are four main reasons why this chapter is interested in covariation: firstly, syndromes may help us predict a priori, from the observation of dispersal phenotypes, the intensity, nature, and modalities of movement. Secondly, they have the potential to provide information regarding the mechanistic determinants of dispersal and the constraints associated with movement. Thirdly, they may provide information about the proximate motivations and ultimate causes of dispersal. Lastly, and most convincingly, the patterns of covariation between traits associated with dispersal will critically affect both the demographic and genetic consequences of movement.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {complex phenotype,covariation,dispersal syndromes,modalities of movement,statistical association} +} + +@article{ronceHowDoesIt2007a, + title = {How {{Does It Feel}} to {{Be Like}} a {{Rolling Stone}}? {{Ten Questions About Dispersal Evolution}}}, + shorttitle = {How {{Does It Feel}} to {{Be Like}} a {{Rolling Stone}}?}, + author = {Ronce, Oph{\'e}lie}, + year = {2007}, + journal = {Annual Review of Ecology, Evolution, and Systematics}, + volume = {38}, + number = {1}, + pages = {231--253}, + doi = {10.1146/annurev.ecolsys.38.091206.095611}, + abstract = {This review proposes ten tentative answers to frequently asked questions about dispersal evolution. I examine methodological issues, model assumptions and predictions, and their relation to empirical data. Study of dispersal evolution points to the many ecological and genetic feedbacks affecting the evolution of this complex trait, which has contributed to our better understanding of life-history evolution in spatially structured populations. Several lines of research are suggested to ameliorate the exchanges between theoretical and empirical studies of dispersal evolution.}, + annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.38.091206.095611}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\SXEHMND3\\Ronce - 2007 - How Does It Feel to Be Like a Rolling Stone Ten Q.pdf} +} + +@article{ronceLandscapeDynamicsEvolution2000, + title = {Landscape Dynamics and Evolution of Colonizer Syndromes: Interactions between Reproductive Effortand Dispersal in a Metapopulation}, + shorttitle = {Landscape Dynamics and Evolution of Colonizer Syndromes}, + author = {Ronce, Oph{\'e}lie and Perret, Florence and Olivieri, Isabelle}, + year = {2000}, + month = may, + journal = {Evolutionary Ecology}, + volume = {14}, + number = {3}, + pages = {233--260}, + issn = {1573-8477}, + doi = {10.1023/A:1011068005057}, + abstract = {The evolutionary consequences of changes in landscape dynamics for the evolution of life history syndromes are studied using a metapopulation model. We consider in turn the long-term effects of a change in the local disturbance rate, in the maximal local population persistence, in habitat productivity, and in habitat fragmentation. We examine the consequences of selective interactions between dispersal and reproductive effort by comparing the outcome of joint evolution to a situation where the species has lost the potential to evolve either its reproductive effort or its dispersal rate. We relax the classical assumption that any occupied site in the metapopulation reaches its carrying capacity immediately after recolonization. Our main conclusions are the following: (1) genetic diversity modifies the range of landscape parameters for which the metapopulation is viable, but it alters very little the qualitative evolutionary trends observed for each trait within this range. Although they are both part of a competition/colonization axis, reproductive effort and dispersal are not substitutable traits: their evolution reflects more directly the change in the landscape dynamics, than a selective interaction among them. (2) no general syndrome of covariation between reproductive effort and dispersal can be predicted: the pattern of association between the two traits depends on the type of change in landscape dynamics and on the saturation level. We review empirical evidence on colonizer syndromes and suggest lines for further empirical work.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\25UJK666\\Ronce et al. - 2000 - Landscape dynamics and evolution of colonizer synd.pdf} +} + +@article{roussetEvolutionDistributionDispersal2002, + title = {Evolution of the Distribution of Dispersal Distance under Distance-Dependent Cost of Dispersal}, + author = {Rousset, F. and Gandon, S.}, + year = {2002}, + journal = {Journal of Evolutionary Biology}, + volume = {15}, + number = {4}, + pages = {515--523}, + issn = {1420-9101}, + doi = {10.1046/j.1420-9101.2002.00430.x}, + abstract = {We analyse the evolution of the distribution of dispersal distances in a stable and homogeneous environment in one- and two-dimensional habitats. In this model, dispersal evolves to avoid the competition between relatives although some cost might be associated with this behaviour. The evolutionarily stable dispersal distribution is characterized by an equilibration of the fitness gains among all the different dispersal distances. This cost-benefit argument has heuristic value and facilitates the comprehension of results obtained numerically. In particular, it explains why some minimal or maximal probability of dispersal may evolve at intermediate distances when the cost of dispersal function is an increasing function of distance. We also show that kin selection may favour long range dispersal even if the survival cost of dispersal is very high, provided the survival probability does not vanish at long distances.}, + langid = {english}, + keywords = {dispersal,evolutionarily stable strategy,isolation by distance,kin selection}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1420-9101.2002.00430.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\IV89N5LY\\Rousset und Gandon - 2002 - Evolution of the distribution of dispersal distanc.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PR6J2389\\j.1420-9101.2002.00430.html} +} + +@article{ruokolainenEcologicalEvolutionaryDynamics2009, + title = {Ecological and Evolutionary Dynamics under Coloured Environmental Variation}, + author = {Ruokolainen, Lasse and Lind{\'e}n, Andreas and Kaitala, Veijo and Fowler, Mike S.}, + year = {2009}, + month = oct, + journal = {Trends in Ecology \& Evolution}, + volume = {24}, + number = {10}, + pages = {555--563}, + issn = {0169-5347}, + doi = {10.1016/j.tree.2009.04.009}, + abstract = {Environmental variation is a ubiquitous component of individual, population and community processes in the natural world. Here, we review the consequences of spatio-temporally autocorrelated (coloured) environmental variation for ecological and evolutionary population dynamics. In single-species population models, environmental reddening increases (decreases) the amplitude of fluctuations in undercompensatory (overcompensatory) populations. This general result is also found in structurally more complex models (e.g. with space or species interactions). Environmental autocorrelation will also influence evolutionary dynamics as the changing environment is filtered through ecological dynamics. In the context of long-term environmental change, it becomes crucial to understand the potential impacts of different regimes of environmental variation at different scales of organization, from genes to species to communities.}, + langid = {english} +} + +@article{ruxtonFitnessDependentDispersal1998, + title = {Fitness-dependent Dispersal in Metapopulations and Its Consequences for Persistence and Synchrony}, + author = {Ruxton, G. D. and Rohani, P}, + year = {1998}, + journal = {Journal of Animal Ecology}, + number = {67}, + pages = {530--539} +} + +@incollection{saupeAlgorithmsRandomFractals1988, + title = {Algorithms for Random Fractals}, + booktitle = {The {{Science}} of {{Fractal Images}}}, + author = {Saupe, Dietmar}, + editor = {Barnsley, Michael F. and Devaney, Robert L. and Mandelbrot, Benoit B. and Peitgen, Heinz-Otto and Saupe, Dietmar and Voss, Richard F. and Peitgen, Heinz-Otto and Saupe, Dietmar}, + year = {1988}, + pages = {71--136}, + publisher = {{Springer}}, + address = {{New York, NY}}, + doi = {10.1007/978-1-4612-3784-6_2}, + abstract = {For about 200 years now mathematicians have developed the theory of smooth curves and surfaces in two, three or higher dimensions. These are curves and surfaces that globally may have a very complicated structure but in small neighborhoods they are just straight lines or planes. The discipline that deals with these objects is differential geometry. It is one of the most evolved and fascinating subjects in mathematics. On the other hand fractals feature just the opposite of smoothness. While the smooth objects do not yield any more detail on smaller scales a fractal possesses infinite detail at all scales no matter how small they are. The fascination that surrounds fractals has two roots: Fractals are very suitable to simulate many natural phenomena. Stunning pictures have already been produced, and it will not take very long until an uninitiated observer will no longer be able to tell whether a given scene is natural or just computer simulated. The other reason is that fractals are simple to generate on computers. In order to generate a fractal one does not have to be an expert of an involved theory such as calculus, which is necessary for differential geometry. More importantly, the complexity of a fractal, when measured in terms of the length of the shortest computer program that can generate it, is very small.}, + isbn = {978-1-4612-3784-6}, + langid = {english}, + keywords = {Brownian Motion,Fractal Cloud,Fractal Dimension,Fractional Brownian Motion,Random Function} +} + +@article{schiffersLimitedEvolutionaryRescue2013, + title = {Limited Evolutionary Rescue of Locally Adapted Populations Facing Climate Change}, + author = {Schiffers, Katja and Bourne, Elizabeth C. and Lavergne, S{\'e}bastien and Thuiller, Wilfried and Travis, Justin M. J.}, + year = {2013}, + month = jan, + journal = {Philosophical Transactions of the Royal Society B: Biological Sciences}, + volume = {368}, + number = {1610}, + pages = {20120083}, + issn = {0962-8436}, + doi = {10.1098/rstb.2012.0083}, + abstract = {Dispersal is a key determinant of a population's evolutionary potential. It facilitates the propagation of beneficial alleles throughout the distributional range of spatially outspread populations and increases the speed of adaptation. However, when habitat is heterogeneous and individuals are locally adapted, dispersal may, at the same time, reduce fitness through increasing maladaptation. Here, we use a spatially explicit, allelic simulation model to quantify how these equivocal effects of dispersal affect a population's evolutionary response to changing climate. Individuals carry a diploid set of chromosomes, with alleles coding for adaptation to non-climatic environmental conditions and climatic conditions, respectively. Our model results demonstrate that the interplay between gene flow and habitat heterogeneity may decrease effective dispersal and population size to such an extent that substantially reduces the likelihood of evolutionary rescue. Importantly, even when evolutionary rescue saves a population from extinction, its spatial range following climate change may be strongly narrowed, that is, the rescue is only partial. These findings emphasize that neglecting the impact of non-climatic, local adaptation might lead to a considerable overestimation of a population's evolvability under rapid environmental change.}, + pmcid = {PMC3538450}, + pmid = {23209165}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\3522YZAC\\Schiffers et al. - 2013 - Limited evolutionary rescue of locally adapted pop.pdf} +} + +@article{schtickzelleBehaviouralResponsesHabitat2003, + title = {Behavioural Responses to Habitat Patch Boundaries Restrict Dispersal and Generate Emigration\textendash Patch Area Relationships in Fragmented Landscapes}, + author = {Schtickzelle, Nicolas and Baguette, Michel}, + year = {2003}, + journal = {Journal of Animal Ecology}, + volume = {72}, + number = {4}, + pages = {533--545}, + issn = {1365-2656}, + doi = {10.1046/j.1365-2656.2003.00723.x}, + abstract = {We studied the consequences of behaviour at habitat patch boundaries on dispersal for the bog fritillary butterfly Proclossiana eunomia Esper in two networks of habitat differing in fragmentation and matrix quality. We tested for differences in responses to patch boundaries according to the fragmentation level of the network by analysing movement paths of adult butterflies. Butterflies systematically engaged in U-turns when they reached a boundary in the fragmented network while they crossed over boundaries in more than 40\% of boundary encounters in the continuous one. We applied the Virtual Migration model (Hanski, Alho \& Moilanen 2000) to capture\textendash mark\textendash recapture data collected in both networks. The model indicated (i) a lower dispersal rate and (ii) a lower survival during dispersal in the fragmented network. This latter difference is likely to be the key biological process leading to behavioural avoidance of patch boundary crossings. On the basis of this behavioural difference, we designed an individual-based simulation model to explore the relationship between patch area, boundary permeability and emigration rate. Predictions of the model fitted observed results of the effect of patch area on emigration rate according to fragmentation: butterflies are more likely to leave small patches than large ones in fragmented landscapes (where patch boundary permeability is low), while this relationship disappears in more continuous landscapes (where patch boundary permeability is high).}, + langid = {english}, + keywords = {boundary permeability,cost of dispersal,habitat fragmentation,metapopulation,Proclossiana eunomia}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2656.2003.00723.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VL9G8K9G\\Schtickzelle und Baguette - 2003 - Behavioural responses to habitat patch boundaries .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\C3ACNVD5\\j.1365-2656.2003.00723.html} +} + +@article{schtickzelleDispersalDepressionHabitat2006, + title = {Dispersal {{Depression}} with {{Habitat Fragmentation}} in the {{Bog Fritillary Butterfly}}}, + author = {Schtickzelle, Nicolas and Mennechez, Gw{\'e}na{\"e}lle and Baguette, Michel and Mennechez, Gw{\'e}nna{\"e}lle}, + year = {2006}, + journal = {Ecology}, + volume = {87}, + number = {4}, + pages = {1057--1065}, + publisher = {{Ecological Society of America}}, + issn = {0012-9658}, + abstract = {Habitat fragmentation is expected to impose strong selective pressures on dispersal rates. However, evolutionary responses of dispersal are not self-evident, since various selection pressures act in opposite directions. Here we disentangled the components of dispersal behavior in a metapopulation context using the Virtual Migration model, and we linked their variation to habitat fragmentation in the specialist butterfly Proclossiana eunomia. Our study provided a nearly unique opportunity to study how habitat fragmentation modifies dispersal at the landscape scale, as opposed to microlandscapes or simulation studies. Indeed, we studied the same species in four landscapes with various habitat fragmentation levels, in which large amounts of field data were collected and analyzed using similar methodologies. We showed the existence of quantitative variations in dispersal behavior correlated with increased fragmentation. Dispersal propensity from habitat patches (for a given patch size), and mortality during dispersal (for a given patch connectivity) were lower in more fragmented landscapes. We suggest that these were the consequences of two different evolutionary responses of dispersal behavior at the individual level: (1) when fragmentation increased, the reluctance of individuals to cross habitat patch boundaries also increased; (2) when individuals dispersed, they flew straighter in the matrix, which is the best strategy to improve dispersal success. Such evolutionary responses could generate complex nonlinear patterns of dispersal changes at the metapopulation level according to habitat fragmentation. Due to the small size and increased isolation of habitat patches in fragmented landscapes, overall emigration rate and mortality during dispersal remained high. As a consequence, successful dispersal at the metapopulation scale remained limited. Therefore, to what extent the selection of individuals with a lower dispersal propensity and a higher survival during dispersal is able to limit detrimental effects of habitat fragmentation on dispersal success is unknown, and any conclusion that metapopulations would compensate for them is flawed.} +} + +@incollection{schtickzelleTemporalVariationDispersal2012, + title = {Temporal Variation in Dispersal Kernels in a Metapopulation of the Bog Fritillary Butterfly ({{Boloria}} Eunomia)}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Schtickzelle, Nicolas and Turlure, Camille and Baguette, Michel}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0018}, + abstract = {This chapter aims to quantify the temporal variation existing in the dispersal kernel by making the kernels comparable. Variation of dispersal kernels in time has received less attention, even if temporal change in dispersal rates among local populations has been repeatedly documented in the metapopulation literature. Changes in individual mobility that generate temporal shifts in dispersal kernels would obviously be context- and phenotypic-dependent. Both environmental conditions and conspecific density are thus expected to play a central role in temporal variation of dispersal kernels. This chapter uses standardized capture-mark-recapture (CMR) data from long-term monitoring of bog fritillary butterfly, Boloria eunomia, metapopulation dynamics in a single landscape to investigate the amount of temporal variability and the amount of this temporal variability that has been explained by climatic variables and conspecific density.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {conspecific density,dispersal kernel,environmental conditions,individual mobility,metapopulation,temporal variation} +} + +@article{schultzEdgeMediatedDispersalBehavior2001, + title = {Edge-{{Mediated Dispersal Behavior}} in a {{Prairie Butterfly}}}, + author = {Schultz, Cheryl B. and Crone, Elizabeth E.}, + year = {2001}, + journal = {Ecology}, + volume = {82}, + number = {7}, + pages = {1879--1892}, + publisher = {{Ecological Society of America}}, + issn = {0012-9658}, + doi = {10.2307/2680054}, + abstract = {Animal responses to habitat boundaries will influence the effects of habitat fragmentation on population dynamics. Although this is an intuitive and often observed animal behavior, the influences of habitat boundaries have rarely been quantified in the field or considered in theoretical models of large scale processes. We quantified movement behavior of the Fender's blue butterfly (Icaricia icarioides fenderi) as a function of distance from host-plant patches. We measured the butterfly's tendency to move toward habitat patches (bias) and their tendency to continue to move in the direction they were already going (correlation). We found that butterflies significantly modify their behavior within 10-22 m from the habitat boundary. We used these data to predict large scale patterns of residence time as a function of patch size, using three dispersal models: homogeneous response to habitat, heterogeneous response to habitat, and heterogeneous response to habitat with edge-mediated behavior. We simulated movement for males and females in eight patch sizes (0.1-8 ha) and asked how residence time varies among the models. We found that adding edge-mediated behavior significantly increases the residence of Fender's blue butterflies in their natal patch. Only the model with edge-mediated behavior for females was consistent with independent mark-release-recapture (MRR) estimates of residence time; other models dramatically underestimated residence times, relative to MRR data.} +} + +@incollection{schurrHowRandomDispersal2012, + title = {How Random Is Dispersal? {{From}} Stochasticity to Process in the Description of Seed Movement}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Schurr, F. M.}, + editor = {Clobert, J and Baguette, M and Benton, T G and Bullock, J M}, + year = {2012}, + pages = {240--247}, + publisher = {{Oxford University Press}} +} + +@article{schurrHowUnderstandSpecies2012, + title = {How to Understand Species' Niches and Range Dynamics: A Demographic Research Agenda for Biogeography}, + shorttitle = {How to Understand Species' Niches and Range Dynamics}, + author = {Schurr, Frank M. and Pagel, J{\"o}rn and Cabral, Juliano Sarmento and Groeneveld, J{\"u}rgen and Bykova, Olga and O'Hara, Robert B. and Hartig, Florian and Kissling, W. Daniel and Linder, H. Peter and Midgley, Guy F. and Schr{\"o}der, Boris and Singer, Alexander and Zimmermann, Niklaus E.}, + year = {2012}, + journal = {Journal of Biogeography}, + volume = {39}, + number = {12}, + pages = {2146--2162}, + issn = {1365-2699}, + doi = {10.1111/j.1365-2699.2012.02737.x}, + abstract = {Range dynamics causes mismatches between a species' geographical distribution and the set of suitable environments in which population growth is positive (the Hutchinsonian niche). This is because source\textendash sink population dynamics cause species to occupy unsuitable environments, and because environmental change creates non-equilibrium situations in which species may be absent from suitable environments (due to migration limitation) or present in unsuitable environments that were previously suitable (due to time-delayed extinction). Because correlative species distribution models do not account for these processes, they are likely to produce biased niche estimates and biased forecasts of future range dynamics. Recently developed dynamic range models (DRMs) overcome this problem: they statistically estimate both range dynamics and the underlying environmental response of demographic rates from species distribution data. This process-based statistical approach qualitatively advances biogeographical analyses. Yet, the application of DRMs to a broad range of species and study systems requires substantial research efforts in statistical modelling, empirical data collection and ecological theory. Here we review current and potential contributions of these fields to a demographic understanding of niches and range dynamics. Our review serves to formulate a demographic research agenda that entails: (1) advances in incorporating process-based models of demographic responses and range dynamics into a statistical framework, (2) systematic collection of data on temporal changes in distribution and abundance and on the response of demographic rates to environmental variation, and (3) improved theoretical understanding of the scaling of demographic rates and the dynamics of spatially coupled populations. This demographic research agenda is challenging but necessary for improved comprehension and quantification of niches and range dynamics. It also forms the basis for understanding how niches and range dynamics are shaped by evolutionary dynamics and biotic interactions. Ultimately, the demographic research agenda should lead to deeper integration of biogeography with empirical and theoretical ecology.}, + langid = {english}, + keywords = {Biodiversity monitoring,climate change,ecological forecasts,ecological niche modelling,ecological theory,geographical range shifts,global environmental change,mechanistic models,migration,process-based statistics}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2012.02737.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\P5HSYZC4\\Schurr et al. - 2012 - How to understand species’ niches and range dynami.pdf} +} + +@article{schwagerDoesRedNoise2006, + title = {Does Red Noise Increase or Decrease Extinction Risk? {{Single}} Extreme Events versus Series of Unfavorable Conditions}, + shorttitle = {Does Red Noise Increase or Decrease Extinction Risk?}, + author = {Schwager, Monika and Johst, Karin and Jeltsch, Florian}, + year = {2006}, + month = jun, + journal = {The American Naturalist}, + volume = {167}, + number = {6}, + pages = {879--888}, + issn = {1537-5323}, + doi = {10.1086/503609}, + abstract = {Recent theoretical studies have shown contrasting effects of temporal correlation of environmental fluctuations (red noise) on the risk of population extinction. It is still debated whether and under which conditions red noise increases or decreases extinction risk compared with uncorrelated (white) noise. Here, we explain the opposing effects by introducing two features of red noise time series. On the one hand, positive autocorrelation increases the probability of series of poor environmental conditions, implying increasing extinction risk. On the other hand, for a given time period, the probability of at least one extremely bad year ("catastrophe") is reduced compared with white noise, implying decreasing extinction risk. Which of these two features determines extinction risk depends on the strength of environmental fluctuations and the sensitivity of population dynamics to these fluctuations. If extreme (catastrophic) events can occur (strong noise) or sensitivity is high (overcompensatory density dependence), then temporal correlation decreases extinction risk; otherwise, it increases it. Thus, our results provide a simple explanation for the contrasting previous findings and are a crucial step toward a general understanding of the effect of noise color on extinction risk.}, + langid = {english}, + pmid = {16615033}, + keywords = {Animals,Computer Simulation,Disasters,Environment,Extinction; Biological,Models; Biological} +} + +@article{schymanskiProcessCorrelationParameter2013, + title = {Process, Correlation and Parameter Fitting in Species Distribution Models: A Response to {{Kriticos}} et Al.}, + shorttitle = {Process, Correlation and Parameter Fitting in Species Distribution Models}, + author = {Schymanski, Stanislaus J. and Dormann, Carsten F. and Cabral, Juliano and Chuine, Isabelle and Graham, Catherine H. and Hartig, Florian and Kearney, Michael and Morin, Xavier and R{\"o}mermann, Christine and Schr{\"o}der, Boris and Singer, Alexander}, + year = {2013}, + journal = {Journal of Biogeography}, + volume = {40}, + number = {3}, + pages = {611--613}, + publisher = {{Wiley}}, + issn = {0305-0270}, + abstract = {In a recent article (Dormann et al., 2012, Journal of Biogeography, 39, 2119\textemdash 2131), we compared different approaches to species distribution modelling and depicted modelling approaches along an axis from purely 'correlative' to 'forward process-based' models. In their correspondence, Kriticos et al. (2013, Journal of Biogeography, doi:10.1111/j.1365-2699.2012.02791.x) challenge this view, claiming that our continuum representation neglects differences among models and does not consider the ability of fitted process-based models to combine the advantages of both process-based and correlative modelling approaches. Here we clarify that the continuum view resulted from recognition of the manifold differences between models. We also reinforce the point that the current trend towards combining different modelling approaches may lead not only to the desired combination of the advantages but also to the accumulation of the disadvantages of those approaches. This point has not been made sufficiently clear previously.} +} + +@article{sextonEvolutionEcologySpecies2009, + title = {Evolution and {{Ecology}} of {{Species Range Limits}}}, + author = {Sexton, Jason P. and McIntyre, Patrick J. and Angert, Amy L. and Rice, Kevin J.}, + year = {2009}, + journal = {Annual Review of Ecology, Evolution, and Systematics}, + volume = {40}, + number = {1}, + pages = {415--436}, + doi = {10.1146/annurev.ecolsys.110308.120317}, + abstract = {Species range limits involve many aspects of evolution and ecology, from species distribution and abundance to the evolution of niches. Theory suggests myriad processes by which range limits arise, including competitive exclusion, Allee effects, and gene swamping; however, most models remain empirically untested. Range limits are correlated with a number of abiotic and biotic factors, but further experimentation is needed to understand underlying mechanisms. Range edges are characterized by increased genetic isolation, genetic differentiation, and variability in individual and population performance, but evidence for decreased abundance and fitness is lacking. Evolution of range limits is understudied in natural systems; in particular, the role of gene flow in shaping range limits is unknown. Biological invasions and rapid distribution shifts caused by climate change represent large-scale experiments on the underlying dynamics of range limits. A better fusion of experimentation and theory will advance our understanding of the causes of range limits.}, + annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.110308.120317}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\HD74T3Z2\\Sexton et al. - 2009 - Evolution and Ecology of Species Range Limits.pdf} +} + +@article{shreeveLandscapeScaleConservation2011, + title = {Landscape Scale Conservation: Resources, Behaviour, the Matrix and Opportunities}, + shorttitle = {Landscape Scale Conservation}, + author = {Shreeve, T. G. and Dennis, R. L. H.}, + year = {2011}, + month = apr, + journal = {Journal of Insect Conservation}, + volume = {15}, + number = {1}, + pages = {179--188}, + issn = {1572-9753}, + doi = {10.1007/s10841-010-9336-9}, + abstract = {Landscape scale conservation efforts are becoming more commonplace in conservation, with a move from single species to multi-species initiatives. These initiatives are reliant on modelling processes, largely underpinned by metapopulation models. We argue that generic models developed for individual species in particular landscapes over selected time periods may only be applicable to alternative landscapes and time periods in restricted circumstances. Variability in species responses to landscapes and environmental conditions is dependent on a range of species-specific intrinsic characteristics, dependent on their responses to resources, (including weather) and also individual states. We propose that the behavioural component of how species respond to resources needs to be taken into account in modelling species responses to landscape, and therefore how limited resources for conservation are deployed. Species behaviours are inherently complex. We argue that because of this complexity the conservation of the majority of species, especially of the least rare, may be best served if conservation effort is additionally focused on increasing landscape heterogeneity and disturbance. This may also facilitate persistence in the face of climate change. We suggest that heterogeneity should be promoted through agri-environment schemes.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\6D5I6VCL\\Shreeve und Dennis - 2011 - Landscape scale conservation resources, behaviour.pdf} +} + +@article{simmonsChangesDispersalSpecies2004, + title = {Changes in Dispersal during Species' Range Expansions}, + author = {Simmons, Adam D. and Thomas, Chris D.}, + year = {2004}, + month = sep, + journal = {The American Naturalist}, + volume = {164}, + number = {3}, + pages = {378--395}, + issn = {1537-5323}, + doi = {10.1086/423430}, + abstract = {Explanations for rapid species' range expansions have typically been purely ecological, with little attention given to evolutionary processes. We tested predictions for the evolution of dispersal during range expansion using four species of wing-dimorphic bush cricket (Conocephalus discolor, Conocephalus dorsalis, Metrioptera roeselii, and Metrioptera brachyptera). We observed distinct changes in dispersal in the two species with expanding ranges. Recently colonized populations at the range margin showed increased frequencies of dispersive, long-winged (macropterous) individuals, compared with longer-established populations in the range core. This increase in dispersal appeared to be short-lived because 5-10 years after colonization populations showed similar incidences of macroptery to populations in the range core. These changes are consistent with evolutionary change; field patterns persisted when nymphs were reared under controlled environmental conditions, and range margin individuals reared in the laboratory flew farther than range core individuals in a wind tunnel. There was also a reproductive trade-off with dispersal in both females and males, which could explain the rapid reversion to lower rates of dispersal once populations become established. The effect of population density on wing morphology differed between populations from the range core (no significant effect of density) and expanding range margins (negative density dependence), which we propose is part of the mechanism of the changes in dispersal. Transient changes in dispersal are likely to be common in many species undergoing range expansion and can have major population and biogeographic consequences.}, + langid = {english}, + pmid = {15478092}, + keywords = {Animal Migration,Animals,Behavior; Animal,Biological Evolution,Body Weight,England,Female,Gryllidae,Male,Population Dynamics,Wings; Animal} +} + +@article{sinclairHowUsefulAre2010, + title = {How {{Useful Are Species Distribution Models}} for {{Managing Biodiversity}} under {{Future Climates}}?}, + author = {Sinclair, Steve J. and White, Matthew D. and Newell, Graeme R.}, + year = {2010}, + journal = {Ecology and Society}, + volume = {15}, + number = {1}, + publisher = {{Resilience Alliance Inc.}}, + issn = {1708-3087}, + abstract = {ABSTRACT. Climate change presents unprecedented challenges for biological conservation. Agencies are increasingly looking to modeled projections of species' distributions under future climates to inform management strategies. As government scientists with a responsibility to communicate the best available science to our policy colleagues, we question whether current modeling approaches and outputs are practically useful. Here, we synthesize conceptual problems with species distribution models (SDMs) associated with interspecific interactions, dispersal, ecological equilibria and time lags, evolution, and the sampling of niche space. Although projected SDMs have undoubtedly been critical in alerting us to the magnitude of climate change impacts, we conclude that until they offer insights that are more precise than what we can derive from basic ecological theory, we question their utility in deciding how to allocate scarce funds to large-scale conservation projects.} +} + +@article{singerInterspecificInteractionsAffect2013, + title = {Interspecific Interactions Affect Species and Community Responses to Climate Shifts}, + author = {Singer, Alexander and Travis, Justin M. J. and Johst, Karin}, + year = {2013}, + journal = {Oikos}, + volume = {122}, + number = {3}, + pages = {358--366}, + issn = {1600-0706}, + doi = {10.1111/j.1600-0706.2012.20465.x}, + abstract = {The response of individual species to climate change may alter the composition and dynamics of communities. Here, we show that the impacts of environmental change on communities can depend on the nature of the interspecific interactions: mutualistic communities typically respond differently than commensalistic or parasitic communities. We model and analyse the geographic range shifting of metapopulations of two interacting species \textendash{} a host and an obligate species. Different types of interspecific interactions are implemented by modifying local extinction rates according to the presence/absence of the other species. We distinguish and compare three fundamentally different community types: mutualism, commensalism and parasitism. We find that community dynamics during geographic range shifting critically depends on the type of interspecific interactions. Parasitic interactions exacerbate the negative effect of environmental change whereas mutualistic interactions only partly compensate it. Commensalistic interactions exhibit an intermediate response. Based on these model outcomes, we predict that parasitic species interactions may be more vulnerable to geographic range shifting than commensalistic or mutualistic ones. However, we observe that when climate stabilises following a period of change, the rate of community recovery is largely independent of the type of interspecific interactions. These results emphasize that communities respond delicately to environmental change, and that local interspecific interactions can affect range shifting communities at large spatial scales.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2012.20465.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\SEGSL2J7\\Singer et al. - 2013 - Interspecific interactions affect species and comm.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\LC2QTHEQ\\j.1600-0706.2012.20465.html} +} + +@article{smithStabilityPredatorPreySystems1973, + title = {The {{Stability}} of {{Predator-Prey Systems}}}, + author = {Smith, J. Maynard and Slatkin, M.}, + year = {1973}, + journal = {Ecology}, + volume = {54}, + number = {2}, + pages = {384--391}, + publisher = {{Ecological Society of America}}, + issn = {0012-9658}, + doi = {10.2307/1934346}, + abstract = {The interactions between a predator and prey species have been analyzed by computer simulation of a model in which there are discrete breeding seasons, separated by a winter during which the predator must be able to find prey at a certain minimum rate or starve. The model is intended to represent a warm-blooded vertebrate predator and its prey. The main conclusions are: (1) Coexistence of predator and prey is possible, but if so, the number of prey present will not be substantially below the equilibrium number in the absence of predators. Mutual regulation of predator and prey, with the latter substantially below the carrying capacity of the environment, is unstable. (2) Coexistence is more likely if there are differences in hunting ability between different individual predators--for example, between young and old predators. (3) Cover for the prey enables the prey species to survive the extinction of the predator, but does not make coexistence more likely.} +} + +@article{smouseStochasticModellingAnimal2010, + title = {Stochastic Modelling of Animal Movement}, + author = {Smouse, Peter E and Focardi, S and Moorcroft, P.R. and Kie, John G and Forester, J. D. and Morales, Juan M}, + year = {2010}, + journal = {Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences}, + number = {365}, + pages = {2201--2211} +} + +@article{spearUseResistanceSurfaces2010, + title = {Use of Resistance Surfaces for Landscape Genetic Studies: Considerations for Parameterization and Analysis}, + shorttitle = {Use of Resistance Surfaces for Landscape Genetic Studies}, + author = {Spear, Stephen F. and Balkenhol, Niko and Fortin, Marie-Jos{\'e}e and McRae, Brad H. and Scribner, Kim}, + year = {2010}, + month = sep, + journal = {Molecular Ecology}, + volume = {19}, + number = {17}, + pages = {3576--3591}, + issn = {1365-294X}, + doi = {10.1111/j.1365-294X.2010.04657.x}, + abstract = {Measures of genetic structure among individuals or populations collected at different spatial locations across a landscape are commonly used as surrogate measures of functional (i.e. demographic or genetic) connectivity. In order to understand how landscape characteristics influence functional connectivity, resistance surfaces are typically created in a raster GIS environment. These resistance surfaces represent hypothesized relationships between landscape features and gene flow, and are based on underlying biological functions such as relative abundance or movement probabilities in different land cover types. The biggest challenge for calculating resistance surfaces is assignment of resistance values to different landscape features. Here, we first identify study objectives that are consistent with the use of resistance surfaces and critically review the various approaches that have been used to parameterize resistance surfaces and select optimal models in landscape genetics. We then discuss the biological assumptions and considerations that influence analyses using resistance surfaces, such as the relationship between gene flow and dispersal, how habitat suitability may influence animal movement, and how resistance surfaces can be translated into estimates of functional landscape connectivity. Finally, we outline novel approaches for creating optimal resistance surfaces using either simulation or computational methods, as well as alternatives to resistance surfaces (e.g. network and buffered paths). These approaches have the potential to improve landscape genetic analyses, but they also create new challenges. We conclude that no single way of using resistance surfaces is appropriate for every situation. We suggest that researchers carefully consider objectives, important biological assumptions and available parameterization and validation techniques when planning landscape genetic studies.}, + langid = {english}, + pmid = {20723064}, + keywords = {Algorithms,Artificial Intelligence,Computer Simulation,Ecology,Environment,Gene Flow,Genetics; Population,Geography,Models; Genetic} +} + +@article{stampsConspecificAttractionAggregation1988, + title = {Conspecific {{Attraction}} and {{Aggregation}} in {{Territorial Species}}}, + author = {Stamps, J. A.}, + year = {1988}, + journal = {The American Naturalist}, + volume = {131}, + number = {3}, + pages = {329--347}, + publisher = {{[University of Chicago Press, American Society of Naturalists]}}, + issn = {0003-0147}, + abstract = {For many years, field studies of birds have suggested that territorial individuals may be attracted to one another, forming territorial clusters independent of resource distributions. However, virtually no experiments have studied these phenomena in either the laboratory or the field. The present field study was designed to test whether prospective territory owners preferentially settle near conspecifics and form territorial aggregations when territory quality is held constant. Juvenile Anolis aeneus lizards arriving at juvenile habitats in clearings were given a choice of artificial homesites arranged around a clear-walled enclosure divided into two parts, one of which contained resident A. aeneus juveniles. Juveniles showed a clear preference for the homesites adjacent to the established territorial residents (the "experimental" homesites). In each of eight trials, the first arrivals appeared on the experimental homesites. Juveniles that first appeared on the experimental homesites were more apt to settle in the clearing, and colonists on the experimental side moved around less before choosing a final territory. During the colonization process, juveniles spent more time on the experimental sides of the enclosures; and by the end of the trials, more juveniles had eventually settled on the experimental homesites. Throughout the settlement process, new territory owners tended to cluster around the previous residents within the experimental side of the enclosures. These results indicate that A. aeneus juveniles are attracted to conspecifics while settling a territory and that this process can lead to territorial aggregations that are independent of territory quality.} +} + +@article{stampsEffectsNatalExperience2006, + title = {Effects of Natal Experience on Habitat Selection When Individuals Make Choices in Groups: {{A}} Multilevel Analysis}, + shorttitle = {Effects of Natal Experience on Habitat Selection When Individuals Make Choices in Groups}, + author = {Stamps, Judy A. and Blozis, Shelley A.}, + year = {2006}, + journal = {Animal Behaviour}, + volume = {71}, + number = {3}, + pages = {663--672}, + publisher = {{Elsevier Science}}, + address = {{Netherlands}}, + issn = {1095-8282(Electronic),0003-3472(Print)}, + doi = {10.1016/j.anbehav.2005.07.015}, + abstract = {We studied the effects of natal experience on preference for a postdispersal habitat (natal habitat preference induction, NHPI) in groups of newly eclosed female Drosophila melanogaster, using multilevel statistical models to take into account dependencies of responses from individuals making choices within the same hour. Groups consisting of flies with one of five genotypes (crosses of highly inbred female isolines) were allowed free access to a high-quality natal habitat after emergence from their pupae. The flies were then allowed to select one of two new habitats in a large 'seminatural' environment over the next 3 days. The flies showed strong positive effects of training habitat on their choice of a new habitat, after controlling for potential dependence in choices within hours and trials. The genotypes also varied with respect to the effects of conspecifics and humidity on individual choice. A second analysis using data aggregated at the trial level and a traditional statistical approach (a generalized linear model, GLM) also detected effects of training on habitat choice. However, the GLM produced other results that may have been artefacts resulting from the omission of within-trial factors with important effects on choice in this trial-level analysis. This study shows the advantages of using multilevel models rather than aggregating data to control for interactions among subjects when animals select items in groups. (PsycINFO Database Record (c) 2017 APA, all rights reserved)}, + keywords = {Animal Environments,Choice Behavior,Drosophila,Early Experience,Female Animals,Genotypes}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\GW2GM63A\\2006-03109-022.html} +} + +@incollection{stampsHabitatSelectionDispersers2001, + title = {Habitat Selection by Dispersers: Integrating Proximate and Ultimate Approaches}, + shorttitle = {Habitat Selection by Dispersers}, + booktitle = {Dispersal}, + author = {Stamps, Judy}, + editor = {Clobert, J. and Danchin, Etienne and Dhondt, Andre A. and Nichols, James D.}, + year = {2001}, + month = jan, + pages = {230--242}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + abstract = {Behavioural research is shedding new light on the complex relationships between the proximate mechanisms involved in habitat selection and the selective pressures that may have contributed to the evolution of those mechanisms. Habitat selection by dispersers can be divided into three stages (search, settlement and residency); recent studies suggest that the adaptive significance of behaviour at each of these stages may differ from the assumptions of traditional habitat selection theory. For instance, dispersers may benefit from the presence of conspecifics or heterospecifics while searching for, settling in, or living in new habitats, and individuals may prefer to settle in post-dispersal habitats similar to their pre-dispersal habitats, because this behaviour reduces the costs of detecting or assessing suitable habitats (habitat cuing) or because experience in a pre-dispersal habitat improves performance if an animal settles in the same type of habitat after dispersing (habitat training). Dispersers have evolved a variety of proximate behavioural mechanisms to reduce search and settlement costs in natural environments, but if they currently rely on these processes, species living in areas modified by human activities may not exhibit 'ideal' habitat selection behaviour. Insights from recent studies of habitat selection may help solve specific problems in conservation biology, and more generally, help biologists understand the intimate relationship between dispersal and habitat selection behaviour.}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\PZNZVCJ8\\Stamps - 2001 - Habitat selection by dispersers integrating proxi.pdf} +} + +@article{stampsHowDifferentTypes2009, + title = {How {{Different Types}} of {{Natal Experience Affect Habitat Preference}}}, + author = {Stamps, Judy A. and Krishnan, V. V. and Willits, Neil H. and Ketterson, Associate Editor: Ellen D. and Shaw, Editor: Ruth G.}, + year = {2009}, + journal = {The American Naturalist}, + volume = {174}, + number = {5}, + pages = {623--630}, + publisher = {{[The University of Chicago Press, The American Society of Naturalists]}}, + issn = {0003-0147}, + doi = {10.1086/644526}, + abstract = {Abstract: In many animals, exposure to cues in a natal habitat increases disperser preferences for those cues (natal habitat preference induction [NHPI]), but the proximate and ultimate bases for this phenomenon are obscure. We developed a Bayesian model to study how different types of experience in the natal habitat and survival to the age/stage of dispersal interact to affect a disperser's estimate of the quality of new natal-type habitats. The model predicts that the types of experience a disperser had before leaving its natal habitat will affect the attractiveness of cues from new natal-type habitats and that favorable experiences will increase the level of preference for natal-type habitats more than unfavorable experiences will decrease it. An experimental study of NHPI in Drosophila melanogaster provided with ``good'' and ``bad'' experiences in their natal habitats supports these predictions while also indicating that the effects of different types of natal experience on NHPI vary across genotypes. If habitat preferences are modulated by an individual's experience before dispersal as described in this study, then NHPI may have stronger effects on sympatric speciation, metapopulation dynamics, conservation biology, and pest management than previously supposed.} +} + +@article{stampsSearchCostsHabitat2005, + title = {Search {{Costs}} and {{Habitat Selection}} by {{Dispersers}}}, + author = {Stamps, Judy A. and Krishnan, V. V. and Reid, Mary L.}, + year = {2005}, + journal = {Ecology}, + volume = {86}, + number = {2}, + pages = {510--518}, + publisher = {{Ecological Society of America}}, + issn = {0012-9658}, + abstract = {The effects of search costs on habitat selection by dispersers are largely unknown. We explore how habitat selection behavior is affected by the risk of mortality en route and by deferred search costs (i.e., costs incurred during search that reduce fitness after arrival in the new habitat), using a model designed for long-distance natal dispersers searching for scarce patches of suitable habitat embedded within a matrix of unsuitable habitat. In this situation, increases in the risk of mortality during search reduce disperser selectivity, where selectivity is reflected by the period during search when dispersers are only willing to accept a high-quality habitat. However, the effects of deferred costs on selectivity depend on other factors with pronounced effects on selectivity, including encounter rates with high-quality habitats, relative habitat quality, and total search time. Surprisingly, under some sets of conditions, increases in deferred costs lead to increases in disperser selectivity. Overall, the effects of mortality and deferred costs on selectivity are small relative to the effects of other factors on selectivity. For instance, our model suggests that selectivity is much more strongly affected by total search time than by search costs, and it predicts a positive relationship between total search time and disperser selectivity across individuals in the same population, even in the face of considerable inter-individual variation in risk of mortality or deferred search costs.} +} + +@article{starrfeltParentoffspringConflictEvolution2010, + title = {Parent-Offspring Conflict and the Evolution of Dispersal Distance}, + author = {Starrfelt, Jostein and Kokko, Hanna}, + year = {2010}, + month = jan, + journal = {The American Naturalist}, + volume = {175}, + number = {1}, + pages = {38--49}, + issn = {1537-5323}, + doi = {10.1086/648605}, + abstract = {Parent-offspring conflict emerges in many different contexts, but a rarely emphasized perspective is that of space as a resource that is allocated or acquired through dispersal. Early theoretical work has shown that there are different optima in rates of dispersal between parents and offspring. Here we examine this principle when space is explicitly modeled and dispersal is achieved through a dispersal kernel. We find a consistent pattern that selection favors longer dispersal distances under maternal control of dispersal (e.g., maternal tissue surrounding a seed) compared with scenarios where offspring themselves control dispersal (as in many animals). Intriguingly, offspring control leads to better resource utilization (higher habitat occupancy) in equilibrium scenarios than does maternal control. In contrast, in species that expand their ranges, maternal control of dispersal initially leads to faster range expansion. If there is evolutionary potential for dispersal kernels to change at the leading edge of a population, this difference vanishes quickly during an invasion because offspring-controlled dispersal evolves faster and catches up with scenarios involving maternal control. There is thus less conflict in nonequilibrium scenarios. In invasive scenarios with an evolving kernel shape, disruptive selection against intermediate distances can make the kernel not only fat-tailed but also bimodal.}, + langid = {english}, + pmid = {19911910}, + keywords = {Animal Migration,Animals,Computer Simulation,Conflict; Psychological,Female,Homing Behavior,Models; Theoretical,Population Density,Population Dynamics,Reproduction} +} + +@book{stensethAnimalDispersalSmall1992, + title = {Animal {{Dispersal}}: {{Small}} Mammals as a Model}, + shorttitle = {Animal {{Dispersal}}}, + editor = {Stenseth, N. C. and Lidicker, W. Z.}, + year = {1992}, + publisher = {{Springer Netherlands}}, + doi = {10.1007/978-94-011-2338-9}, + abstract = {4.1.1 Demographic significance Confined populations grow more rapidly than populations from which dispersal is permitted (Lidicker, 1975; Krebs, 1979; Tamarin et at., 1984), and demography in island populations where dispersal is restricted differs greatly from nearby mainland populations (Lidicker, 1973; Tamarin, 1977, 1978; Gliwicz, 1980), clearly demonstrating the demographic signi\- ficance of dispersal. The prevalence of dispersal in rapidly expanding populations is held to be the best evidence for presaturation dispersal. Because dispersal reduces the growth rate of source populations, it is generally believed that emigration is not balanced by immigration, and that mortality of emigrants occurs as a result of movement into a 'sink' of unfavourable habitat. If such dispersal is age- or sex-biased, the demo\- graphy of the population is markedly affected, as a consequence of differ\- ences in mortality in the dispersive sex or age class. Habitat heterogeneity consequently underlies this interpretation of dispersal and its demographic consequences, although the spatial variability of environments is rarely assessed in dispersal studies.}, + isbn = {978-0-412-29330-6}, + langid = {english} +} + +@article{stevensGeneFlowFunctional2006, + title = {Gene Flow and Functional Connectivity in the Natterjack Toad}, + author = {Stevens, Virginie M. and Verkenne, Catherine and Vandewoestijne, Sofie and Wesselingh, Renate A. and Baguette, Michel}, + year = {2006}, + month = aug, + journal = {Molecular Ecology}, + volume = {15}, + number = {9}, + pages = {2333--2344}, + issn = {0962-1083}, + doi = {10.1111/j.1365-294X.2006.02936.x}, + abstract = {Functional connectivity is a key factor for the persistence of many specialist species in fragmented landscapes. However, connectivity estimates have rarely been validated by the observation of dispersal movements. In this study, we estimated functional connectivity of a real landscape by modelling dispersal for the endangered natterjack toad (Bufo calamita) using cost distance. Cost distance allows the evaluation of 'effective distances', which are distances corrected for the costs involved in moving between habitat patches in spatially explicit landscapes. We parameterized cost-distance models using the results of our previous experimental investigation of natterjack's movement behaviour. These model predictions (connectivity estimates from the GIS study) were then confronted to genetic-based dispersal rates between natterjack populations in the same landscape using Mantel tests. Dispersal rates between the populations were inferred from variation at six microsatellite loci. Based on these results, we conclude that matrix structure has a strong effect on dispersal rates. Moreover, we found that cost distances generated by habitat preferences explained dispersal rates better than did the Euclidian distances, or the connectivity estimate based on patch-specific resistances (patch viscosity). This study is a clear example of how landscape genetics can validate operational functional connectivity estimates.}, + langid = {english}, + pmid = {16842409}, + keywords = {Animals,Belgium,Bufonidae,Gene Flow,Genetic Variation,Microsatellite Repeats,Population Dynamics} +} + +@incollection{stevensLandscapeEffectsSpatial2012, + title = {Landscape Effects on Spatial Dynamics: The Natterjack Toad as a Case Study}, + shorttitle = {Landscape Effects on Spatial Dynamics}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Stevens, Virginie M. and Coulon, Aur{\'e}lie}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0022}, + abstract = {This chapter discusses the two reasons that make dispersal a key process in population dynamics: first, the movement of individuals impacts population dynamics, and second, dispersal movement also has important consequences for the degree of genetic mixing expected among populations, and hence on the genetic variation found within populations. This chapter, in the attempt to address the question of what landscape changes may affect spatial dynamics, presents an example of a species with limited mobility and one which has been extensively studied in this regard \textemdash{} the natterjack toad. Firstly, empirical studies were used to measure the effects of landscape elements on movement patterns. Secondly, the results from these empirical studies were used to model the effects of landscape on movement patterns. Thirdly, the model was validated through a comparison of the movements predicted by the models with those estimated by the analysis of gene flow among populations. Finally, the model was used to predict natterjack population dynamics under different landscape management scenarios.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {dispersal movement,genetic mixing,genetic variation,natterjack toad,population dynamics,spatial dynamics} +} + +@article{stevensMetaanalysisDispersalButterflies2010, + title = {A Meta-Analysis of Dispersal in Butterflies}, + author = {Stevens, Virginie M. and Turlure, Camille and Baguette, Michel}, + year = {2010}, + journal = {Biological Reviews}, + volume = {85}, + number = {3}, + pages = {625--642}, + issn = {1469-185X}, + doi = {10.1111/j.1469-185X.2009.00119.x}, + abstract = {Dispersal has recently gained much attention because of its crucial role in the conservation and evolution of species facing major environmental changes such as habitat loss and fragmentation, climate change, and their interactions. Butterflies have long been recognized as ideal model systems for the study of dispersal and a huge amount of data on their ability to disperse has been collected under various conditions. However, no single `best' method seems to exist leading to the co-occurrence of various approaches to study butterfly mobility, and therefore a high heterogeneity among data on dispersal across this group. Accordingly, we here reviewed the knowledge accumulated on dispersal and mobility in butterflies, to detect general patterns. This meta-analysis specifically addressed two questions. Firstly, do the various methods provide a congruent picture of how dispersal ability is distributed across species? Secondly, is dispersal species-specific? Five sources of data were analysed: multisite mark-recapture experiments, genetic studies, experimental assessments, expert opinions, and transect surveys. We accounted for potential biases due to variation in genetic markers, sample sizes, spatial scales or the level of habitat fragmentation. We showed that the various dispersal estimates generally converged, and that the relative dispersal ability of species could reliably be predicted from their relative vagrancy (records of butterflies outside their normal habitat). Expert opinions gave much less reliable estimates of realized dispersal but instead reflected migration propensity of butterflies. Within-species comparisons showed that genetic estimates were relatively invariable, while other dispersal estimates were highly variable. This latter point questions dispersal as a species-specific, invariant trait.}, + langid = {english}, + keywords = {butterfly,dispersal,genetic structure,Lepidoptera,mark-release-recapture,meta-analysis,migration,mobility,vagrancy}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1469-185X.2009.00119.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\GSJ39H3B\\Stevens et al. - 2010 - A meta-analysis of dispersal in butterflies.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\5MP6UBQH\\j.1469-185X.2009.00119.html} +} + +@article{stevensQuantifyingFunctionalConnectivity2006, + title = {Quantifying Functional Connectivity: Experimental Assessment of Boundary Permeability for the Natterjack Toad ({{Bufo}} Calamita)}, + shorttitle = {Quantifying Functional Connectivity}, + author = {Stevens, Virginie M. and Lebouleng{\'e}, {\'E}ric and Wesselingh, Renate A. and Baguette, Michel}, + year = {2006}, + month = nov, + journal = {Oecologia}, + volume = {150}, + number = {1}, + pages = {161--171}, + issn = {1432-1939}, + doi = {10.1007/s00442-006-0500-6}, + abstract = {Like other pond-breeding amphibians, the natterjack toad (Bufo calamita) typically presents a patchy distribution. Because the species experiences high probabilities of local population extinction, its persistence within landscapes relies on both local and landscape-scale processes [dispersal allowing the (re)colonization of habitat patches]. However, the structure and composition of the matrix surrounding local populations can alter the dispersal rates between populations. As shown previously (Landscape Ecol 19:829\textendash 842, 2004), the locomotor performances of individuals at the dispersal stage depend on the nature of the component crossed: some landscape components offer high resistance to movement (high resistance or high viscosity components) whereas others allow high efficiency of movement (low resistance components). We now examine the ability of individuals to discriminate between landscape components and select low-resistance components. Our experimental study investigates the ways in which young natterjack toads choose from among landscape components common to southern Belgium. Toadlets (the dispersal stage) were experimentally confronted with boundaries between surrogates of sandy soils, roads, forests, agricultural fields and intensive pastures. Our results show: 1 the ability of toadlets to react to boundaries between landscape components, 2 differences in permeability among boundaries, and 3 our inability to predict correctly the permeability of the boundaries from the patch-specific resistance assessed previously. Toadlets showed a preference for bare environments and forests, whereas they avoided the use of agricultural environments. This pattern could not be explained in terms of patch-specific resistance only, and is discussed in terms of mortality risks and resource availability in the various landscape components, with particular attention to repercussions on conservation strategies.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\XFCWCPEX\\Stevens et al. - 2006 - Quantifying functional connectivity experimental .pdf} +} + +@article{thomasClimateClimateChange2010, + title = {Climate, Climate Change and Range Boundaries}, + author = {Thomas, Chris D.}, + year = {2010}, + journal = {Diversity and Distributions}, + volume = {16}, + number = {3}, + pages = {488--495}, + issn = {1472-4642}, + doi = {10.1111/j.1472-4642.2010.00642.x}, + abstract = {Aim A major issue in ecology, biogeography, conservation biology and invasion biology is the extent to which climate, and hence climate change, contributes to the positions of species' range boundaries. Thirty years of rapid climate warming provides an excellent opportunity to test the hypothesis that climate acts as a major constraint on range boundaries, treating anthropogenic climate change as a large-scale experiment. Location UK and global data, and literature. Methods This article analyses the frequencies with which species have responded to climate change by shifting their range boundaries. It does not consider abundance or other changes. Results For the majority of species, boundaries shifted in a direction that is concordant with being a response to climate change; 84\% of all species have expanded in a polewards direction as the climate has warmed (for the best data available), which represents an excess of 68\% of species after taking account of the fact that some species may shift in this direction for non-climatic reasons. Other data sets also show an excess of animal range boundaries expanding in the expected direction. Main conclusions Climate is likely to contribute to the majority of terrestrial and freshwater range boundaries. This generalization excludes species that are endemic to specific islands, lakes, rivers and geological outcrops, although these local endemics are not immune from the effects of climate change. The observed shifts associated with recent climate change are likely to have been brought about through both direct and indirect (changes to species' interactions) effects of climate; indirect effects are discussed in relation to laboratory experiments and invasive species. Recent observations of range boundary shifts are consistent with the hypothesis that climate contributes to, but is not the sole determinant of, the position of the range boundaries of the majority of terrestrial animal species.}, + langid = {english}, + keywords = {Adaptation,biological invasions,climate warming,distributions,extinction,range margins,thermal ecology}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00642.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\QPSUM57U\\Thomas - 2010 - Climate, climate change and range boundaries.pdf} +} + +@article{thomasExtinctionRiskClimate2004, + title = {Extinction Risk from Climate Change}, + author = {Thomas, Chris D. and Cameron, Alison and Green, Rhys E. and Bakkenes, Michel and Beaumont, Linda J. and Collingham, Yvonne C. and Erasmus, Barend F. N. and {de Siqueira}, Marinez Ferreira and Grainger, Alan and Hannah, Lee and Hughes, Lesley and Huntley, Brian and {van Jaarsveld}, Albert S. and Midgley, Guy F. and Miles, Lera and {Ortega-Huerta}, Miguel A. and Townsend Peterson, A. and Phillips, Oliver L. and Williams, Stephen E.}, + year = {2004}, + month = jan, + journal = {Nature}, + volume = {427}, + number = {6970}, + pages = {145--148}, + publisher = {{Nature Publishing Group}}, + issn = {1476-4687}, + doi = {10.1038/nature02121}, + abstract = {Climate change over the past {$\sim$}30 years has produced numerous shifts in the distributions and abundances of species1,2 and has been implicated in one species-level extinction3. Using projections of species' distributions for future climate scenarios, we assess extinction risks for sample regions that cover some 20\% of the Earth's terrestrial surface. Exploring three approaches in which the estimated probability of extinction shows a power-law relationship with geographical range size, we predict, on the basis of mid-range climate-warming scenarios for 2050, that 15\textendash 37\% of species in our sample of regions and taxa will be `committed to extinction'. When the average of the three methods and two dispersal scenarios is taken, minimal climate-warming scenarios produce lower projections of species committed to extinction ({$\sim$}18\%) than mid-range ({$\sim$}24\%) and maximum-change ({$\sim$}35\%) scenarios. These estimates show the importance of rapid implementation of technologies to decrease greenhouse gas emissions and strategies for carbon sequestration.}, + copyright = {2003 Macmillan Magazines Ltd.}, + langid = {english}, + annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\HI7CVX3F\\Thomas et al. - 2004 - Extinction risk from climate change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PSWK38HT\\nature02121.html} +} + +@article{thomasTranslocationSpeciesClimate2011, + title = {Translocation of Species, Climate Change, and the End of Trying to Recreate Past Ecological Communities}, + author = {Thomas, Chris D.}, + year = {2011}, + month = may, + journal = {Trends in Ecology \& Evolution}, + volume = {26}, + number = {5}, + pages = {216--221}, + issn = {1872-8383}, + doi = {10.1016/j.tree.2011.02.006}, + abstract = {Many of the species at greatest risk of extinction from anthropogenic climate change are narrow endemics that face insurmountable dispersal barriers. In this review, I argue that the only viable option to maintain populations of these species in the wild is to translocate them to other locations where the climate is suitable. Risks of extinction to native species in destination areas are small, provided that translocations take place within the same broad geographic region and that the destinations lack local endemics. Biological communities in these areas are in the process of receiving many hundreds of other immigrant species as a result of climate change; ensuring that some of the 'new' inhabitants are climate-endangered species could reduce the net rate of extinction.}, + langid = {english}, + pmid = {21411178}, + keywords = {Biota,Climate Change,Conservation of Natural Resources,Environment,Extinction; Biological} +} + +@article{thuillerBIOMODPlatformEnsemble2009a, + title = {{{BIOMOD}} \textendash{} a Platform for Ensemble Forecasting of Species Distributions}, + author = {Thuiller, Wilfried and Lafourcade, Bruno and Engler, Robin and Ara{\'u}jo, Miguel B.}, + year = {2009}, + journal = {Ecography}, + volume = {32}, + number = {3}, + pages = {369--373}, + issn = {1600-0587}, + doi = {10.1111/j.1600-0587.2008.05742.x}, + abstract = {BIOMOD is a computer platform for ensemble forecasting of species distributions, enabling the treatment of a range of methodological uncertainties in models and the examination of species-environment relationships. BIOMOD includes the ability to model species distributions with several techniques, test models with a wide range of approaches, project species distributions into different environmental conditions (e.g. climate or land use change scenarios) and dispersal functions. It allows assessing species temporal turnover, plot species response curves, and test the strength of species interactions with predictor variables. BIOMOD is implemented in R and is a freeware, open source, package.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2008.05742.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\V2PLBLC9\\Thuiller et al. - 2009 - BIOMOD – a platform for ensemble forecasting of sp.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\YY2UVVUC\\j.1600-0587.2008.05742.html} +} + +@article{thuillerClimateChangeThreats2005, + title = {Climate Change Threats to Plant Diversity in {{Europe}}}, + author = {Thuiller, Wilfried and Lavorel, Sandra and Ara{\'u}jo, Miguel B. and Sykes, Martin T. and Prentice, I. Colin}, + year = {2005}, + month = jun, + journal = {Proceedings of the National Academy of Sciences}, + volume = {102}, + number = {23}, + pages = {8245--8250}, + publisher = {{National Academy of Sciences}}, + issn = {0027-8424, 1091-6490}, + doi = {10.1073/pnas.0409902102}, + abstract = {Climate change has already triggered species distribution shifts in many parts of the world. Increasing impacts are expected for the future, yet few studies have aimed for a general understanding of the regional basis for species vulnerability. We projected late 21st century distributions for 1,350 European plants species under seven climate change scenarios. Application of the International Union for Conservation of Nature and Natural Resources Red List criteria to our projections shows that many European plant species could become severely threatened. More than half of the species we studied could be vulnerable or threatened by 2080. Expected species loss and turnover per pixel proved to be highly variable across scenarios (27-42\% and 45-63\% respectively, averaged over Europe) and across regions (2.5-86\% and 17-86\%, averaged over scenarios). Modeled species loss and turnover were found to depend strongly on the degree of change in just two climate variables describing temperature and moisture conditions. Despite the coarse scale of the analysis, species from mountains could be seen to be disproportionably sensitive to climate change ({$\approx$}60\% species loss). The boreal region was projected to lose few species, although gaining many others from immigration. The greatest changes are expected in the transition between the Mediterranean and Euro-Siberian regions. We found that risks of extinction for European plants may be large, even in moderate scenarios of climate change and despite inter-model variability.}, + chapter = {Biological Sciences}, + copyright = {Copyright \textcopyright{} 2005, The National Academy of Sciences. Freely available online through the PNAS open access option.}, + langid = {english}, + pmid = {15919825}, + keywords = {Intergovernmental Panel on Climate Change storylines,niche-based model,species extinction,species turnover}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\6GXYGT85\\Thuiller et al. - 2005 - Climate change threats to plant diversity in Europ.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\5WF56L7K\\8245.html} +} + +@article{thuillerPredictingGlobalChange2008, + title = {Predicting Global Change Impacts on Plant Species' Distributions: {{Future}} Challenges}, + shorttitle = {Predicting Global Change Impacts on Plant Species' Distributions}, + author = {Thuiller, Wilfried and Albert, C{\'e}cile and Ara{\'u}jo, Miguel B. and Berry, Pam M. and Cabeza, Mar and Guisan, Antoine and Hickler, Thomas and Midgley, Guy F. and Paterson, James and Schurr, Frank M. and Sykes, Martin T. and Zimmermann, Niklaus E.}, + year = {2008}, + month = mar, + journal = {Perspectives in Plant Ecology, Evolution and Systematics}, + series = {Space Matters - {{Novel}} Developments in Plant Ecology through Spatial Modelling}, + volume = {9}, + number = {3}, + pages = {137--152}, + issn = {1433-8319}, + doi = {10.1016/j.ppees.2007.09.004}, + abstract = {Given the rate of projected environmental change for the 21st century, urgent adaptation and mitigation measures are required to slow down the on-going erosion of biodiversity. Even though increasing evidence shows that recent human-induced environmental changes have already triggered species' range shifts, changes in phenology and species' extinctions, accurate projections of species' responses to future environmental changes are more difficult to ascertain. This is problematic, since there is a growing awareness of the need to adopt proactive conservation planning measures using forecasts of species' responses to future environmental changes. There is a substantial body of literature describing and assessing the impacts of various scenarios of climate and land-use change on species' distributions. Model predictions include a wide range of assumptions and limitations that are widely acknowledged but compromise their use for developing reliable adaptation and mitigation strategies for biodiversity. Indeed, amongst the most used models, few, if any, explicitly deal with migration processes, the dynamics of population at the ``trailing edge'' of shifting populations, species' interactions and the interaction between the effects of climate and land-use. In this review, we propose two main avenues to progress the understanding and prediction of the different processes occurring on the leading and trailing edge of the species' distribution in response to any global change phenomena. Deliberately focusing on plant species, we first explore the different ways to incorporate species' migration in the existing modelling approaches, given data and knowledge limitations and the dual effects of climate and land-use factors. Secondly, we explore the mechanisms and processes happening at the trailing edge of a shifting species' distribution and how to implement them into a modelling approach. We finally conclude this review with clear guidelines on how such modelling improvements will benefit conservation strategies in a changing world.}, + langid = {english}, + keywords = {Conservation planning,Global change,Habitat models,Process-based models,Species distribution modeling}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\76H4F7LQ\\S1433831907000376.html} +} + +@article{thuillerRoadMapIntegrating2013, + title = {A Road Map for Integrating Eco-Evolutionary Processes into Biodiversity Models}, + author = {Thuiller, Wilfried and M{\"u}nkem{\"u}ller, Tamara and Lavergne, S{\'e}bastien and Mouillot, David and Mouquet, Nicolas and Schiffers, Katja and Gravel, Dominique}, + year = {2013}, + journal = {Ecology Letters}, + volume = {16}, + number = {s1}, + pages = {94--105}, + issn = {1461-0248}, + doi = {10.1111/ele.12104}, + abstract = {The demand for projections of the future distribution of biodiversity has triggered an upsurge in modelling at the crossroads between ecology and evolution. Despite the enthusiasm around these so-called biodiversity models, most approaches are still criticised for not integrating key processes known to shape species ranges and community structure. Developing an integrative modelling framework for biodiversity distribution promises to improve the reliability of predictions and to give a better understanding of the eco-evolutionary dynamics of species and communities under changing environments. In this article, we briefly review some eco-evolutionary processes and interplays among them, which are essential to provide reliable projections of species distributions and community structure. We identify gaps in theory, quantitative knowledge and data availability hampering the development of an integrated modelling framework. We argue that model development relying on a strong theoretical foundation is essential to inspire new models, manage complexity and maintain tractability. We support our argument with an example of a novel integrated model for species distribution modelling, derived from metapopulation theory, which accounts for abiotic constraints, dispersal, biotic interactions and evolution under changing environmental conditions. We hope such a perspective will motivate exciting and novel research, and challenge others to improve on our proposed approach.}, + langid = {english}, + keywords = {Biotic interactions,hybrid modelling,metacommunity,rapid adaptation,species distribution}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ele.12104}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZIYWEFA9\\Thuiller et al. - 2013 - A road map for integrating eco-evolutionary proces.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\T4IQJ2MV\\ele.html} +} + +@article{travisAcceleratingInvasionRates2009, + title = {Accelerating Invasion Rates Result from the Evolution of Density-Dependent Dispersal}, + author = {Travis, Justin M. J. and Mustin, Karen and Benton, Tim G. and Dytham, Calvin}, + year = {2009}, + month = jul, + journal = {Journal of Theoretical Biology}, + volume = {259}, + number = {1}, + pages = {151--158}, + issn = {0022-5193}, + doi = {10.1016/j.jtbi.2009.03.008}, + abstract = {Evolutionary processes play an important role in shaping the dynamics of range expansions, and selection on dispersal propensity has been demonstrated to accelerate rates of advance. Previous theory has considered only the evolution of unconditional dispersal rates, but dispersal is often more complex. For example, many species emigrate in response to crowding. Here, we use an individual-based model to investigate the evolution of density dependent dispersal into empty habitat, such as during an invasion. The landscape is represented as a lattice and dispersal between populations follows a stepping-stone pattern. Individuals carry three `genes' that determine their dispersal strategy when experiencing different population densities. For a stationary range we obtain results consistent with previous theoretical studies: few individuals emigrate from patches that are below equilibrium density. However, during the range expansion of a previously stationary population, we observe evolution towards dispersal strategies where considerable emigration occurs well below equilibrium density. This is true even for moderate costs to dispersal, and always results in accelerating rates of range expansion. Importantly, the evolution we observe at an expanding front depends upon fitness integrated over several generations and cannot be predicted by a consideration of lifetime reproductive success alone. We argue that a better understanding of the role of density dependent dispersal, and its evolution, in driving population dynamics is required especially within the context of range expansions.}, + langid = {english}, + keywords = {Climate change,Dispersal,Evolution,Exotic,Fitness,Invasion,Lifetime reproductive success,Migration,Range shifting}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\CB74RFNV\\Travis et al. - 2009 - Accelerating invasion rates result from the evolut.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\JDIHVPXQ\\S0022519309001155.html} +} + +@article{travisClimateChangeHabitat2003, + title = {Climate Change and Habitat Destruction: A Deadly Anthropogenic Cocktail}, + shorttitle = {Climate Change and Habitat Destruction}, + author = {Travis, J. M. J.}, + year = {2003}, + month = mar, + journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, + volume = {270}, + number = {1514}, + pages = {467--473}, + publisher = {{Royal Society}}, + doi = {10.1098/rspb.2002.2246}, + abstract = {Climate change and habitat destruction are two of the greatest threats to global biodiversity. Lattice models have been used to investigate how hypothetical species with different characteristics respond to habitat loss. The main result shows that a sharp threshold in habitat availability exists below which a species rapidly becomes extinct. Here, a similar modelling approach is taken to establish what determines how species respond to climate change. A similar threshold exists for the rate of climate change as has been observed for habitat loss\textemdash patch occupancy remains high up to a critical rate of climate change, beyond which species extinction becomes likely. Habitat specialists, especially those of relatively poor colonizing ability are least able to keep pace with climate change. The interaction between climate change and habitat loss might be disastrous. During climate change, the habitat threshold occurs sooner. Similarly, species suffer more from climate change in a fragmented habitat.}, + keywords = {dispersal,extinction thresholds,metapopulation,migration,patch occupancy,spatially explicit}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\CSFELH54\\Travis - 2003 - Climate change and habitat destruction a deadly a.pdf} +} + +@article{travisColorNoiseEvolution2001, + title = {The Color of Noise and the Evolution of Dispersal}, + author = {Travis, Justin M. J.}, + year = {2001}, + month = mar, + journal = {Ecological Research}, + volume = {16}, + number = {1}, + pages = {157--163}, + issn = {1440-1703}, + doi = {10.1046/j.1440-1703.2001.00381.x}, + abstract = {The process of dispersal is vital for the long-term persistence of all species and hence is a ubiquitous characteristic of living organisms. A present challenge is to increase our understanding of the factors that govern the dispersal rate of individuals. Here I extend previous work by incorporating both spatial and temporal heterogeneity in terms of patch quality into a spatially explicit lattice model. The spatial heterogeneity is modeled as a two-dimensional fractal landscape, while temporal heterogeneity is included by using one-dimensional noise. It was found that the color of both the spatial and temporal variability influences the rate of dispersal selected as reddening of the temporal noise leads to a reduction in dispersal, while reddening of spatial variability results in an increase in the dispersal rate. These results demonstrate that the color of environmental noise should be considered in future studies looking at the evolution of life history characteristics.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\D6WTTYXA\\Travis - 2001 - The color of noise and the evolution of dispersal.pdf} +} + +@incollection{travisDispersalClimateChange2012, + title = {Dispersal and Climate Change: A Review of Theory}, + shorttitle = {Dispersal and Climate Change}, + booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, + author = {Travis, Justin M. J. and Dytham, Calvin}, + year = {2012}, + publisher = {{Oxford University Press}}, + address = {{Oxford}}, + doi = {10.1093/acprof:oso/9780199608898.003.0026}, + abstract = {This chapter focuses on how models of dispersal can improve our understanding, prediction, and management of species' range shifts under environmental change. Most models of species distribution and spread represent dispersal quite crudely; this chapter begins with some thoughts on how these might be integrated with more sophisticated models of dispersal. The importance of inter-individual variability in dispersal and the role that dispersal evolution may play in range shifting is considered. An example of evolutionary entrapment that arises when species expand their ranges over fragmented landscapes is then presented. Finally, potential management strategies that may be used to promote range shifting are considered.}, + isbn = {978-0-19-960889-8}, + langid = {english}, + keywords = {environmental change,evolutionary entrapment,inter-individual variability,models of dispersal,range shifts,species distribution} +} + +@article{travisDispersalEvolutionInvasions2002, + title = {Dispersal Evolution during Invasions}, + author = {Travis, Justin M J and Dytham, Calvin}, + year = {2002}, + journal = {Evolutionary Ecology Research}, + volume = {4}, + number = {8}, + pages = {1119--1129}, + publisher = {{EVOLUTIONARY ECOLOGY LTD}}, + issn = {1522-0613}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\6RKGTXGN\\dispersal-evolution-during-invasions.html} +} + +@article{travisDispersalSpeciesResponses2014, + title = {Dispersal and Species' Responses to Climate Change}, + author = {Travis, J. M. J. and Bocedi, Greta and Baguette, Michel and Barto{\'n}, Kamil and Bonte, Dries and Boulangeat, Isabelle and Hodgson, Jenny A. and Kubisch, Alexander and Penteriani, Vincenzo and Saastamoinen, Marjo and Stevens, Virginie M. and Bullock, James M.}, + year = {2014}, + journal = {Oikos}, + volume = {122}, + number = {11}, + pages = {1532--1540}, + issn = {1600-0706}, + doi = {10.1111/j.1600-0706.2013.00399.x}, + abstract = {Dispersal is fundamental in determining biodiversity responses to rapid climate change, but recently acquired ecological and evolutionary knowledge is seldom accounted for in either predictive methods or conservation planning. We emphasise the accumulating evidence for direct and indirect impacts of climate change on dispersal. Additionally, evolutionary theory predicts increases in dispersal at expanding range margins, and this has been observed in a number of species. This multitude of ecological and evolutionary processes is likely to lead to complex responses of dispersal to climate change. As a result, improvement of models of species' range changes will require greater realism in the representation of dispersal. Placing dispersal at the heart of our thinking will facilitate development of conservation strategies that are resilient to climate change, including landscape management and assisted colonisation. Synthesis This article seeks synthesis across the fields of dispersal ecology and evolution, species distribution modelling and conservation biology. Increasing effort focuses on understanding how dispersal influences species' responses to climate change. Importantly, though perhaps not broadly widely-recognised, species' dispersal characteristics are themselves likely to alter during rapid climate change. We compile evidence for direct and indirect influences that climate change may have on dispersal, some ecological and others evolutionary. We emphasise the need for predictive modelling to account for this dispersal realism and highlight the need for conservation to make better use of our existing knowledge related to dispersal.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2013.00399.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\2NKNEJ2K\\Travis et al. - 2013 - Dispersal and species’ responses to climate change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\8Z9KM4GL\\j.1600-0706.2013.00399.html} +} + +@article{travisEvolutionDensitydependentDispersal1999, + title = {The Evolution of Density-Dependent Dispersal}, + author = {Travis, J. M. J. and Murrell, D. J. and Dytham, C.}, + year = {1999}, + month = sep, + journal = {Proceedings of the Royal Society B: Biological Sciences}, + volume = {266}, + number = {1431}, + pages = {1837}, + issn = {0962-8452}, + doi = {10.1098/rspb.1999.0854}, + abstract = {Despite a large body of empirical evidence suggesting that the dispersal rates of many species depend on population density, most metapopulation models assume a density-independent rate of dispersal. Similarly, studies investigating the evolution of dispersal have concentrated almost exclusively on density-independent rates of dispersal. We develop a model that allows density-dependent dispersal strategies to evolve. Our results demonstrate that a density-dependent dispersal strategy almost always evolves and that the form of the relationship depends on reproductive rate, type of competition, size of subpopulation equilibrium densities and cost of dispersal. We suggest that future metapopulation models should account for density-dependent dispersal}, + pmcid = {PMC1690220}, + pmid = {null}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\Q5VMNQXD\\Travis et al. - 1999 - The evolution of density-dependent dispersal.pdf} +} + +@article{travisHabitatPersistenceHabitat1999, + title = {Habitat Persistence, Habitat Availability and the Evolution of Dispersal}, + author = {Travis, J. M. J. and Dytham, C.}, + year = {1999}, + journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, + number = {266}, + pages = {723--728}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\8JYPG8Q5\\rspb.1999.html} +} + +@article{travisImprovingPredictionManagement2011a, + title = {Improving Prediction and Management of Range Expansions by Combining Analytical and Individual-Based Modelling Approaches}, + author = {Travis, J. M. J. and Harris, Catriona M. and Park, Kirsty J. and Bullock, James M.}, + year = {2011}, + journal = {Methods in Ecology and Evolution}, + volume = {2}, + number = {5}, + pages = {477--488}, + issn = {2041-210X}, + doi = {10.1111/j.2041-210X.2011.00104.x}, + abstract = {1. Improving the understanding, prediction and management of range expansions is a key challenge for ecology. Over recent years, there has been a rapid increase in modelling effort focussed on range expansions and a shift from predominantly theoretical developments towards application. This is especially the case in the field of invasion biology and also in relation to reintroductions and species' responses to climate change. 2. While earlier models were exclusively analytical, individual-based models (IBMs) are now increasingly widely used. We argue that instead of being viewed as competing methodologies, analytical and individual-based methods can valuably be used in conjunction. 3. We use a mechanistic wind dispersal model to generate age-specific dispersal kernels for the invasive shrub, Rhododendron ponticum. To demonstrate the utility of employing both modelling approaches, this information along with demographic parameters is incorporated into an IBM and an analytical, integrodifference model. From both models, the equilibrium rate of spread is calculated. 4. Estimates of wavespeeds were similar for the two models, although slower rates of spread were consistently projected by the IBM. Further, our results demonstrate the wavespeed to be sensitive to the characterisation of age structure in the model; when few age classes are used, much higher rates of spread are projected. 5. The analytical model is extremely efficient at providing elasticity analysis of the wavespeed, which can provide helpful information for management. We gain qualitatively similar results using the IBM but obtaining the results is time-consuming and, because the model is stochastic, they are noisy and harder to interpret. We argue that analytically derived transient elasticity analyses are needed for the many cases where success of control is measured on a relatively short time horizon. 6. To demonstrate the flexibility of the IBM approach, we run it on a real landscape comprising different habitat types. The comparison of two different control scenarios is an example of the utility of this approach for more tactical applications. 7. As a general conclusion of the study, we emphasise that analytical and individual-based approaches offer different, but complementary, advantages and suggest how their joint use can facilitate the improvement in biodiversity management at a range of spatial scales.}, + langid = {english}, + keywords = {analytical model,climate change,demography,invasion,population spread,reintroduction,stochastic model}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2011.00104.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\YUSBIRYM\\Travis et al. - 2011 - Improving prediction and management of range expan.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\LIJ5W48A\\j.2041-210X.2011.00104.html} +} + +@article{travisMechanisticUnderstandingDispersal2010, + title = {Towards a Mechanistic Understanding of Dispersal Evolution in Plants: Conservation Implications}, + shorttitle = {Towards a Mechanistic Understanding of Dispersal Evolution in Plants}, + author = {Travis, Justin M. J. and Smith, Hannah S. and Ranwala, Sudheera M. W.}, + year = {2010}, + month = jul, + journal = {Diversity and Distributions}, + volume = {16}, + number = {4}, + pages = {690--702}, + publisher = {{WILEY-BLACKWELL}}, + doi = {10.1111/j.1472-4642.2010.00674.x}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\BRLRUS4F\\towards-a-mechanistic-understanding-of-dispersal-evolution-in-pla.html} +} + +@article{travisMethodSimulatingPatterns2004, + title = {A {{Method}} for {{Simulating Patterns}} of {{Habitat Availability}} at {{Static}} and {{Dynamic Range Margins}}}, + author = {Travis, J. M. J. and Dytham, C.}, + year = {2004}, + journal = {Oikos}, + volume = {104}, + number = {2}, + pages = {410--416}, + publisher = {{[Nordic Society Oikos, Wiley]}}, + issn = {0030-1299}, + abstract = {The dynamics of populations inhabiting range margins are likely to be critically important in determining the response of species to climate change. Despite this, there is a lack of both empirical and theoretical work that examines the behaviour of these populations. Populations living on the edge of a species' range frequently inhabit a more patchily distributed habitat than those that live closer to the centre of the range. This difference is likely to play an important role in determining the dynamics of range margin populations, both when the range is static and when it is dynamic, for example shifting in response to climate change. Here, we present a simple method that simulates the distribution of suitable habitat sites at the edge of a range. Habitat availability is determined as a function of both latitudinal and local environmental variability, and the relative importance of the two can be adjusted. The method is readily extended to describe shifting habitat availability during a period of climate change. We suggest that there is a need for a greater effort to examine the ecology of range margin populations, and believe that the method presented here could be of considerable use in future theoretical studies.} +} + +@article{travisModellingDispersalEcoevolutionary2012a, + title = {Modelling Dispersal: An Eco-Evolutionary Framework Incorporating Emigration, Movement, Settlement Behaviour and the Multiple Costs Involved}, + shorttitle = {Modelling Dispersal}, + author = {Travis, J. M. J. and Barto{\'n}, Kamil A. and Benton, Tim G. and Clobert, Jean and Delgado, Maria M. and Dytham, Calvin and Hovestadt, Thomas and Palmer, Stephen C. F. and Dyck, Hans Van and Bonte, Dries}, + year = {2012}, + journal = {Methods in Ecology and Evolution}, + volume = {3}, + number = {4}, + pages = {628--641}, + issn = {2041-210X}, + doi = {10.1111/j.2041-210X.2012.00193.x}, + abstract = {1. Understanding the causes and consequences of dispersal remains a central topic in ecology and evolution. However, a mismatch exists between our empirical understanding of the complexity of dispersal and our representation of dispersal in models. While the empirical literature is replete with examples of condition dependence at the emigration, movement and settlement phases, models rarely incorporate realism or complexity to this degree. Nor do models often include the different costs associated with dispersal, which can themselves be linked to one or more of the three key phases. 2. Here, we propose that by explicitly accounting for emigration, movement and settlement (and the multiple costs associated with each) we can substantially improve our understanding of both the dispersal process itself and how dispersal traits trade off against other life-history characteristics. We explore some of these issues conceptually, before presenting illustrative results gained from a flexible individual-based model which incorporates considerable dispersal complexity. 3. These results emphasise the nonlinear interplay between the different dispersal stages. For example, we find that investment in movement ability (at a cost to fecundity) depends upon the propensity to emigrate (and vice versa). However, owing to selection acting at the metapopulation level as well as at the individual level, the relationship between the two is not straightforward. Importantly, the shape of the trade-off between movement ability and reproductive potential can strongly influence the joint evolution of dispersal parameters controlling the degree of investment in safer movement, the probability of emigration and the straightness of movement. 4. Our results highlight that the joint evolution of dispersal characteristics can have major implications for spatial population dynamics and we argue that, in addition to increasing our fundamental biological understanding, a new generation of dispersal modelling, which exploits recent empirical advances, can substantially improve our ability to predict and manage the response of species to environmental change.}, + langid = {english}, + keywords = {evolutionary biology,life-history,migration,modelling,population ecology,trade off,transition}, + annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2012.00193.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\34Z5UIBP\\Travis et al. - 2012 - Modelling dispersal an eco-evolutionary framework.pdf} +} + +@article{turlureSpeciesSexspecificAdjustments2011, + title = {Species- and Sex-Specific Adjustments of Movement Behavior to Landscape Heterogeneity in Butterflies}, + author = {Turlure, Camille and Baguette, M and Stevens, Virginie M and Maes, D}, + year = {2011}, + journal = {Behavioral Ecology}, + number = {22}, + pages = {967--975} +} + +@article{turnerUsefulnessSpatiallyExplicit1995, + title = {Usefulness of {{Spatially Explicit Population Models}} in {{Land Management}}}, + author = {Turner, Monica G. and Arthaud, Greg J. and Engstrom, R. Todd and Hejl, Sallie J. and Liu, Jianguo and Loeb, Susan and McKelvey, Kevin}, + year = {1995}, + journal = {Ecological Applications}, + volume = {5}, + number = {1}, + pages = {12--16}, + issn = {1939-5582}, + doi = {10.2307/1942046}, + abstract = {Land managers need new tools, such as spatial models, to aid them in their decision-making processes because managing for biodiversity, water quality, or natural disturbance is challenging, and landscapes are complex and dynamic. Spatially explicit population models are helpful to managers because these models consider both species-habitat relationships and the arrangement of habitats in space and time. The visualizations that typically accompany spatially explicit models also permit managers to 'see' the effects of alternative management strategies on populations of interest. However, the expense entailed in developing the data bases required for spatially explicit models may limit widespread implementation. In addition, many of the models are developed for one or a few species, and dealing with multiple species in a landscape remains a significant challenge. To be most useful to land managers, spatially explicit population models should be user friendly, easily portable, operate on spatial and temporal scales appropriate to management decisions, and use input and output variables that can be measured affordably.}, + langid = {english}, + annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.2307/1942046}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\87Q2XHLU\\1942046.html} +} + +@article{urbanMovingForwardDispersal2013, + title = {Moving Forward: Dispersal and Species Interactions Determine Biotic Responses to Climate Change}, + shorttitle = {Moving Forward}, + author = {Urban, Mark C. and Zarnetske, Phoebe L. and Skelly, David K.}, + year = {2013}, + month = sep, + journal = {Annals of the New York Academy of Sciences}, + volume = {1297}, + pages = {44--60}, + issn = {1749-6632}, + doi = {10.1111/nyas.12184}, + abstract = {We need accurate predictions about how climate change will alter species distributions and abundances around the world. Most predictions assume simplistic dispersal scenarios and ignore biotic interactions. We argue for incorporating the complexities of dispersal and species interactions. Range expansions depend not just on mean dispersal, but also on the shape of the dispersal kernel and the population's growth rate. We show how models using species-specific dispersal can produce more accurate predictions than models applying all-or-nothing dispersal scenarios. Models that additionally include species interactions can generate distinct outcomes. For example, species interactions can slow climate tracking and produce more extinctions than models assuming no interactions. We conclude that (1) just knowing mean dispersal is insufficient to predict biotic responses to climate change, and (2) considering interspecific dispersal variation and species interactions jointly will be necessary to anticipate future changes to biological diversity. We advocate for collecting key information on interspecific dispersal differences and strong biotic interactions so that we can build the more robust predictive models that will be necessary to inform conservation efforts as climates continue to change.}, + langid = {english}, + pmid = {23819864}, + keywords = {Animal Distribution,Animals,Biodiversity,Climate,Climate Change,community ecology,dispersal kernels,Earth; Planet,Ecology,Ecosystem,landscape fragmentation,Models; Theoretical,movement,Seed Dispersal,Species Specificity,Temperature} +} + +@article{vandermeerMetapopulationDynamicsQuality2001, + title = {Metapopulation Dynamics and the Quality of the Matrix}, + author = {Vandermeer, J. and Carvajal, R.}, + year = {2001}, + month = sep, + journal = {The American Naturalist}, + volume = {158}, + number = {3}, + pages = {211--220}, + issn = {1537-5323}, + doi = {10.1086/321318}, + abstract = {In both strictly theoretical and more applied contexts it has been historically assumed that metapopulations exist within a featureless, uninhabitable matrix and that dynamics within the matrix are unimportant. In this article, we explore the range of theoretical consequences that result from relaxing this assumption. We show, with a variety of modeling techniques, that matrix quality can be extremely important in determining metapopulation dynamics. A higher-quality matrix generally buffers against extinction. However, in some situations, an increase in matrix quality can generate chaotic subpopulation dynamics, where stability had been the rule in a lower-quality matrix. Furthermore, subpopulations acting as source populations in a low-quality matrix may develop metapopulation dynamics as the quality of the matrix increases. By forcing metapopulation dynamics on a formerly heterogeneous (but stable within subpopulations) population, the probability of simultaneous extinction of all subpopulations actually increases. Thus, it cannot be automatically assumed that increasing matrix quality will lower the probability of global extinction of a population.}, + langid = {english}, + pmid = {18707319} +} + +@article{vasseurColorEnvironmentalNoise2004, + title = {The {{Color}} of {{Environmental Noise}}}, + author = {Vasseur, David A. and Yodzis, Peter}, + year = {2004}, + journal = {Ecology}, + volume = {85}, + number = {4}, + pages = {1146--1152}, + issn = {1939-9170}, + doi = {10.1890/02-3122}, + abstract = {Biological populations are strongly influenced by the random variation in their environment. The spectrum of frequencies in noise is particularly important to dynamics and persistence. Here we present an analysis of the variance spectra of a wide variety of long-term time series of environmental variables. Spectra were well approximated by the inverse power law 1/f{$\beta$} within the appropriate range of frequencies f; however, the majority of spectra were ``flattened'' at low frequencies. With some qualification we found the spectral exponents ({$\beta$}) to corroborate an earlier suggestion that terrestrial noise tends to be ``white'' ({$\beta$} {$<$} 0.5), while marine environments tend to be ``red'' ({$\beta$} {$\approx$} 1) or ``brown'' ({$\beta$} {$\approx$} 2). As well, we found a tendency for whiter noise in temperate latitudes than in either high or low latitudes. These results have wide-ranging consequences for ecosystem fragility and species conservation.}, + langid = {english}, + keywords = {environmental noise,noise color,power spectrum,time series}, + annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/02-3122}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\YLPUYTCC\\Vasseur und Yodzis - 2004 - The Color of Environmental Noise.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UDWZDNLR\\02-3122.html} +} + +@article{verbeylenDoesMatrixResistance2003, + title = {Does Matrix Resistance Influence Red Squirrel ({{Sciurus}} Vulgaris l. 1758) Distribution in an Urban Landscape?}, + author = {Verbeylen, Goedele and Bruyn, Luc De and Adriaensen, F. and Matthysen, E.}, + year = {2003}, + journal = {Landscape Ecology}, + volume = {18}, + number = {8}, + pages = {791--805}, + doi = {10.1023/B:LAND.0000014492.50765.05}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\QCLURXUG\\does-matrix-resistance-influence-red-squirrel-emsciurus-vulgarise.html} +} + +@article{verboomPopulationDynamicsIncreasing2010, + title = {Population Dynamics under Increasing Environmental Variability: Implications of Climate Change for Ecological Network Design Criteria}, + shorttitle = {Population Dynamics under Increasing Environmental Variability}, + author = {Verboom, J. and Schippers, P. and Cormont, A. and Sterk, M. and Vos, C. C. and Opdam, P. F. M.}, + year = {2010}, + journal = {Landscape Ecology}, + volume = {25}, + pages = {1289--1298}, + publisher = {{Springer Verlag}}, + issn = {0921-2973}, + doi = {10.1007/s10980-010-9497-7}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZJPCLDCV\\population-dynamics-under-increasing-environmental-variability-im.html} +} + +@article{verckenImportanceGoodNeighborhood2012, + title = {The Importance of a Good Neighborhood: Dispersal Decisions in Juvenile Common Lizards Are Based on Social Environment}, + author = {Vercken, E. and Sinervo, B. and Clobert, J}, + year = {2012}, + journal = {Behavioral Ecology}, + number = {23}, + pages = {1059--1067} +} + +@article{vittAssistedMigrationPart2009, + title = {Assisted Migration: Part of an Integrated Conservation Strategy}, + shorttitle = {Assisted Migration}, + author = {Vitt, Pati and Havens, Kayri and {Hoegh-Guldberg}, Ove}, + year = {2009}, + month = sep, + journal = {Trends in Ecology \& Evolution}, + volume = {24}, + number = {9}, + pages = {473-474; author reply 476-477}, + issn = {0169-5347}, + doi = {10.1016/j.tree.2009.05.007}, + langid = {english}, + pmid = {19595474}, + keywords = {Animal Migration,Animals,Conservation of Natural Resources,Ecosystem,Extinction; Biological,Models; Biological,Population Dynamics} +} + +@article{vuilleumierAnimalDispersalModelling2006, + title = {Animal Dispersal Modelling: {{Handling}} Landscape Features and Related Animal Choices}, + shorttitle = {Animal Dispersal Modelling}, + author = {Vuilleumier, S{\'e}verine and Metzger, Richard}, + year = {2006}, + month = jan, + journal = {Ecological Modelling}, + volume = {190}, + number = {1}, + pages = {159--170}, + issn = {0304-3800}, + doi = {10.1016/j.ecolmodel.2005.04.017}, + abstract = {Animal dispersal in a fragmented landscape depends on the complex interaction between landscape structure and animal behavior. To better understand how individuals disperse, it is important to explicitly represent the properties of organisms and the landscape in which they move. A common approach to modelling dispersal includes representing the landscape as a grid of equal sized cells and then simulating individual movement as a correlated random walk. This approach uses a priori scale of resolution, which limits the representation of all landscape features and how different dispersal abilities are modelled. We develop a vector-based landscape model coupled with an object-oriented model for animal dispersal. In this spatially explicit dispersal model, landscape features are defined based on their geographic and thematic properties and dispersal is modelled through consideration of an organism's behavior, movement rules and searching strategies (such as visual cues). We present the model's underlying concepts, its ability to adequately represent landscape features and provide simulation of dispersal according to different dispersal abilities. We demonstrate the potential of the model by simulating two virtual species in a real Swiss landscape. This illustrates the model's ability to simulate complex dispersal processes and provides information about dispersal such as colonization probability and spatial distribution of the organism's path.}, + langid = {english}, + keywords = {Animal movement,Dispersal behavior modelling,Landscape feature,Landscape model,Object-oriented design,Spatially explicit model}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\T28YE35J\\Vuilleumier und Metzger - 2006 - Animal dispersal modelling Handling landscape fea.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\Q9PKPWXL\\S030438000500222X.html} +} + +@article{vuilleumierEffectsCognitiveAbilities2006, + title = {Effects of {{Cognitive Abilities}} on {{Metapopulation Connectivity}}}, + author = {Vuilleumier, S{\'e}verine and Perrin, Nicolas and Ranta, Esa}, + year = {2006}, + journal = {Oikos}, + volume = {113}, + number = {1}, + pages = {139--147}, + publisher = {{[Nordic Society Oikos, Wiley]}}, + issn = {0030-1299}, + abstract = {Connectivity among demes in a metapopulation depends on both the landscape's and the focal organism's properties (including its mobility and cognitive abilities). Using individual-based simulations, we contrast the consequences of three different cognitive strategies on several measures of metapopulation connectivity. Model animals search suitable habitat patches while dispersing through a model landscape made of cells varying in size, shape, attractiveness and friction. In the blind strategy, the next cell is chosen randomly among the adjacent ones. In the near-sighted strategy, the choice depends on the relative attractiveness of these adjacent cells. In the far-sighted strategy, animals may additionally target suitable patches that appear within their perceptual range. Simulations show that the blind strategy provides the best overall connectivity, and results in balanced dispersal. The near-sighted strategy traps animals into corridors that reduce the number of potential targets, thereby fragmenting metapopulations in several local clusters of demes, and inducing sink-source dynamics. This sort of local trapping is somewhat prevented in the far-sighted strategy. The colonization success of strategies depends highly on initial energy reserves: blind does best when energy is high, near-sighted wins at intermediate levels, and far-sighted outcompetes its rivals at low energy reserves. We also expect strong effects in terms of metapopulation genetics: the blind strategy generates a migrant-pool mode of dispersal that should erase local structures. By contrast, near- and far-sighted strategies generate a propagule-pool mode of dispersal and source-sink behavior that should boost structures (high genetic variance among-and low variance within local clusters of demes), particularly if metapopulation dynamics is also affected by extinction-colonization processes. Our results thus point to important effects of the cognitive ability of dispersers on the connectivity, dynamics and genetics of metapopulations.} +} + +@article{wangDispersalGlanvilleFritillary2011, + title = {Dispersal in the {{Glanville}} Fritillary Butterfly in Fragmented versus Continuous Landscapes: Comparison between Three Methods}, + shorttitle = {Dispersal in the {{Glanville}} Fritillary Butterfly in Fragmented versus Continuous Landscapes}, + author = {Wang, Rongjiang and Ovaskainen, Otso and Cao, Yundong and Chen, Houqiang and Zhou, Yan and Xu, Chongren and Hanski, Ilkka}, + year = {2011}, + journal = {Ecological Entomology}, + volume = {36}, + number = {2}, + pages = {251--260}, + issn = {1365-2311}, + doi = {10.1111/j.1365-2311.2011.01267.x}, + abstract = {1. Habitat fragmentation may lead to natural selection on dispersal rate and other life-history traits. Both theoretical analyses and empirical studies suggest that habitat fragmentation may select either for increased or decreased dispersal depending on the traits of the species and the characteristics of the landscape. 2. Dispersal and movement rates in Glanville fritillary butterflies (Melitaea cinxia) originating from a continuous landscape in China and from a highly fragmented landscape in Finland were compared using three different methods. 3. The methods included replicated mark-release-recapture (MRR) experiments conducted in the natural environments in China and Finland, tracking with harmonic radar of captive-reared but free-flying butterflies in a common environment in the field, and replicated common garden experiments in a large outdoor population cage. 4. The results were largely consistent, showing that butterflies from the more continuous landscape in China had a lower movement rate than butterflies originating from the fragmented landscape in Finland. Butterflies originating from newly-established populations in Finland moved significantly longer distances than butterflies originating from old populations in Finland or from China, demonstrating significant intra-specific variation in dispersal rate in Finland. These results are consistent with model predictions for the Glanville fritillary. 5. The tracking experiment revealed a result that would have been impossible to obtain with MRR experiments: movement rate was influenced by a significant interaction between population origin (China vs. Finland) and ambient air temperature.}, + langid = {english}, + keywords = {Diffusion model,diffusion rate,habitat fragmentation,harmonic radar,mark-release-recapture study,population cage,temperature-dependent dispersal}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2311.2011.01267.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\PQ96NJ55\\Wang et al. - 2011 - Dispersal in the Glanville fritillary butterfly in.pdf} +} + +@article{warrenRapidResponsesBritish2001, + title = {Rapid Responses of {{British}} Butterflies to Opposing Forces of Climate and Habitat Change}, + author = {Warren, M. S. and Hill, J. K. and Thomas, J. A. and Asher, J. and Fox, R. and Huntley, B. and Roy, D. B. and Telfer, M. G. and Jeffcoate, S. and Harding, P. and Jeffcoate, G. and Willis, S. G. and {Greatorex-Davies}, J. N. and Moss, D. and Thomas, C. D.}, + year = {2001}, + month = nov, + journal = {Nature}, + volume = {414}, + number = {6859}, + pages = {65--69}, + publisher = {{Nature Publishing Group}}, + issn = {1476-4687}, + doi = {10.1038/35102054}, + abstract = {Habitat degradation and climate change are thought to be altering the distributions and abundances of animals and plants throughout the world, but their combined impacts have not been assessed for any species assemblage1,2,3,4. Here we evaluated changes in the distribution sizes and abundances of 46 species of butterflies that approach their northern climatic range margins in Britain\textemdash where changes in climate and habitat are opposing forces. These insects might be expected to have responded positively to climate warming over the past 30 years, yet three-quarters of them declined: negative responses to habitat loss have outweighed positive responses to climate warming. Half of the species that were mobile and habitat generalists increased their distribution sites over this period (consistent with a climate explanation), whereas the other generalists and 89\% of the habitat specialists declined in distribution size (consistent with habitat limitation). Changes in population abundances closely matched changes in distributions. The dual forces of habitat modification and climate change are likely to cause specialists to decline, leaving biological communities with reduced numbers of species and dominated by mobile and widespread habitat generalists.}, + copyright = {2001 Macmillan Magazines Ltd.}, + langid = {english}, + annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\WKSFZ2JB\\Warren et al. - 2001 - Rapid responses of British butterflies to opposing.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\BPTIVUI7\\35102054.html} +} + +@article{wattsTargetingEvaluatingBiodiversity2010, + title = {Targeting and Evaluating Biodiversity Conservation Action within Fragmented Landscapes: An Approach Based on Generic Focal Species and Least-Cost Networks}, + shorttitle = {Targeting and Evaluating Biodiversity Conservation Action within Fragmented Landscapes}, + author = {Watts, Kevin and Eycott, Amy E. and Handley, Phillip and Ray, Duncan and Humphrey, Jonathan W. and Quine, Christopher P.}, + year = {2010}, + month = nov, + journal = {Landscape Ecology}, + volume = {25}, + number = {9}, + pages = {1305--1318}, + issn = {1572-9761}, + doi = {10.1007/s10980-010-9507-9}, + abstract = {The focus of biodiversity conservation is shifting to larger spatial scales in response to habitat fragmentation and the need to integrate multiple landscape objectives. Conservation strategies increasingly incorporate measures to combat fragmentation such as ecological networks. These are often based on assessment of landscape structure but such approaches fail to capitalise on the potential offered by more ecologically robust assessments of landscape function and connectivity. In this paper, we describe a modelling approach to identifying functional habitat networks and demonstrate its application to a fragmented landscape where policy initiatives seek to improve conditions for woodland biodiversity including increasing woodland cover. Functional habitat networks were defined by identifying suitable habitat and by modelling connectivity using least-cost approaches to account for matrix permeability. Generic focal species (GFS) profiles were developed, in consultation with stakeholders, to represent species with high and moderate sensitivity to fragmentation. We demonstrated how this form of analysis can be used to aid the spatial targeting of conservation actions. This `targeted' action scenario was tested for effectiveness against comparable scenarios, which were based on random and clumped actions within the same landscape. We tested effectiveness using structural metrics, network-based metrics and a published functional connectivity indicator. Targeting actions within networks resulted in the highest mean woodland area and highest connectivity indicator value. Our approach provides an assessment of landscape function by recognising the importance of the landscape matrix. It provides a framework for the targeting and evaluation of alternative conservation options, offering a pragmatic, ecologically-robust solution to a current need in applied landscape ecology.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\2WBYZF8C\\Watts et al. - 2010 - Targeting and evaluating biodiversity conservation.pdf} +} + +@article{weeksAssessingBenefitsRisks2011, + title = {Assessing the Benefits and Risks of Translocations in Changing Environments: A Genetic Perspective}, + shorttitle = {Assessing the Benefits and Risks of Translocations in Changing Environments}, + author = {Weeks, Andrew R and Sgro, Carla M and Young, Andrew G and Frankham, Richard and Mitchell, Nicki J and Miller, Kim A and Byrne, Margaret and Coates, David J and Eldridge, Mark D B and Sunnucks, Paul and Breed, Martin F and James, Elizabeth A and Hoffmann, Ary A}, + year = {2011}, + month = nov, + journal = {Evolutionary Applications}, + volume = {4}, + number = {6}, + pages = {709--725}, + issn = {1752-4571}, + doi = {10.1111/j.1752-4571.2011.00192.x}, + abstract = {Translocations are being increasingly proposed as a way of conserving biodiversity, particularly in the management of threatened and keystone species, with the aims of maintaining biodiversity and ecosystem function under the combined pressures of habitat fragmentation and climate change. Evolutionary genetic considerations should be an important part of translocation strategies, but there is often confusion about concepts and goals. Here, we provide a classification of translocations based on specific genetic goals for both threatened species and ecological restoration, separating targets based on `genetic rescue' of current population fitness from those focused on maintaining adaptive potential. We then provide a framework for assessing the genetic benefits and risks associated with translocations and provide guidelines for managers focused on conserving biodiversity and evolutionary processes. Case studies are developed to illustrate the framework.}, + pmcid = {PMC3265713}, + pmid = {22287981}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\VALJUMPM\\Weeks et al. - 2011 - Assessing the benefits and risks of translocations.pdf} +} + +@article{wiegandEffectsHabitatLoss2005, + title = {Effects of {{Habitat Loss}} and {{Fragmentation}} on {{Population Dynamics}}}, + author = {Wiegand, Thorsten and Revilla, Eloy and Moloney, Kirk A.}, + year = {2005}, + journal = {Conservation Biology}, + volume = {19}, + number = {1}, + pages = {108--121}, + publisher = {{[Wiley, Society for Conservation Biology]}}, + issn = {0888-8892}, + abstract = {We used a spatially explicit population model that was generalized to produce nine ecological profiles of long-lived species with stable home ranges and natal dispersal to investigate the effects of habitat loss and fragmentation on population dynamics. We simulated population dynamics in landscapes composed of three habitat types (good-quality habitat ranging from 10-25\%, poor-quality habitat ranging from 10-70\%, and matrix). Landscape structures varied from highly fragmented to completely contiguous. The specific aims of our model were (1) to investigate under which biological circumstances the traditional approach of using two types only (habitat and matrix) failed and assess the potential impact of restoring matrix to poor-quality habitat, (2) to investigate how much of the variation in population size was explained by landscape composition alone and which key attributes of landscape structure can serve as predictors of population response, and (3) to estimate the maximum fragmentation effects expressed in equivalent pure loss of good-quality habitat. Poor-quality habitat mattered most in situations when it was generally not considered (i.e., for metapopulations or spatially structured populations when it provides dispersal habitat). Population size increased up to 3 times after restoring matrix to poor-quality habitat. Overall, habitat amount accounted for 68\%) of the variation in population size, whereas ecological profile and fragmentation accounted for approximately 13\%{$>$} each. The maximal effect of (good-quality) habitat fragmentation was equivalent to a pure loss of up to 15\%{$>$} of good-quality habitat, and the maximal loss of individuals resulting from maximal fragmentation reached 80\%. Abundant dispersal habitat and sufficiently large dispersal potential, however, resulted in functionally connected landscapes, and maximal fragmentation had no effect at all. Our findings suggest that predicting fragmentation effects requires a good understanding of the biology and habitat use of the species in question and that the uniqueness of species and the landscapes in which they live confound simple analysis.} +} + +@article{willisAssistedColonizationChanging2009, + title = {Assisted Colonization in a Changing Climate: A Test-Study Using Two {{U}}.{{K}}. Butterflies}, + shorttitle = {Assisted Colonization in a Changing Climate}, + author = {Willis, Stephen G. and Hill, Jane K. and Thomas, Chris D. and Roy, David B. and Fox, Richard and Blakeley, David S. and Huntley, Brian}, + year = {2009}, + journal = {Conservation Letters}, + volume = {2}, + number = {1}, + pages = {46--52}, + issn = {1755-263X}, + doi = {10.1111/j.1755-263X.2008.00043.x}, + abstract = {Recent climatic change in temperate regions has been rapid and there is mounting speculation that species are failing to keep track of suitable climate, perhaps necessitating assisted colonization for some species. An inability to spread into new areas may result in large reductions in species' ranges in the future, and threaten the survival of some species. Here we use ``species-climate'' models to predict suitable sites for introductions beyond current range margins, using two U.K. butterfly species. We introduced Melanargia galathea (marbled white) and Thymelicus sylvestris (small skipper) into two sites in northern England, {$\sim$}65 and {$\sim$}35 km beyond their then-range margins, respectively, to sites that were predicted to be climatically suitable and that appeared to contain suitable habitat for the species. Both introduced populations grew and expanded their range over 6 years (2001\textendash 2006; still thriving in 2008), suggesting the existence of a colonization lag and providing evidence that well-planned assisted colonization can be successful. We suggest that assisted colonization may be a feasible and cost-effective means of enabling certain species to track climatic change.}, + langid = {english}, + keywords = {assisted colonization,Climate change,distributions,introductions,range margin,range shift}, + annotation = {\_eprint: https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1755-263X.2008.00043.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\LA26PC2P\\Willis et al. - 2009 - Assisted colonization in a changing climate a tes.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PKJ8RAYF\\j.1755-263X.2008.00043.html} +} + +@article{willisDynamicDistributionModelling2009, + title = {Dynamic Distribution Modelling: Predicting the Present from the Past}, + shorttitle = {Dynamic Distribution Modelling}, + author = {Willis, Stephen G. and Thomas, Chris D. and Hill, Jane K. and Collingham, Yvonne C. and Telfer, Mark G. and Fox, Richard and Huntley, Brian}, + year = {2009}, + journal = {Ecography}, + volume = {32}, + number = {1}, + pages = {5--12}, + issn = {1600-0587}, + doi = {10.1111/j.1600-0587.2008.05711.x}, + abstract = {Confidence in projections of the future distributions of species requires demonstration that recently-observed changes could have been predicted adequately. Here we use a dynamic model framework to demonstrate that recently-observed changes at the expanding northern boundaries of three British butterfly species can be predicted with good accuracy. Previous work established that the distributions of the study species currently lag behind climate change, and so we presumed that climate is not currently a major constraint at the northern range margins of our study species. We predicted 1970\textendash 2000 distribution changes using a colonisation model, MIGRATE, superimposed on a high-resolution map of habitat availability. Thirty-year rates and patterns of distribution change could be accurately predicted for each species ({$\kappa$} goodness-of-fit of models {$>$}0.64 for all three species, corresponding to {$>$}83\% of grid cells correctly assigned), using a combination of individual species traits, species-specific habitat associations and distance-dependent dispersal. Sensitivity analyses showed that population productivity was the most important determinant of the rate of distribution expansion (variation in dispersal rate was not studied because the species are thought to be similar in dispersal capacity), and that each species' distribution prior to expansion was critical in determining the spatial pattern of the current distribution. In future, modelling approaches that combine climate suitability and spatially-explicit population models, incorporating demographic variables and habitat availability, are likely to be valuable tools in projecting species' responses to climatic change and hence in anticipating management to facilitate species' dispersal and persistence.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2008.05711.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\T757Z96L\\Willis et al. - 2009 - Dynamic distribution modelling predicting the pre.pdf} +} + +@article{wiszRoleBioticInteractions2013, + title = {The Role of Biotic Interactions in Shaping Distributions and Realised Assemblages of Species: Implications for Species Distribution Modelling}, + shorttitle = {The Role of Biotic Interactions in Shaping Distributions and Realised Assemblages of Species}, + author = {Wisz, Mary Susanne and Pottier, Julien and Kissling, W. Daniel and Pellissier, Lo{\"i}c and Lenoir, Jonathan and Damgaard, Christian F. and Dormann, Carsten F. and Forchhammer, Mads C. and Grytnes, John-Arvid and Guisan, Antoine and Heikkinen, Risto K. and H{\o}ye, Toke T. and K{\"u}hn, Ingolf and Luoto, Miska and Maiorano, Luigi and Nilsson, Marie-Charlotte and Normand, Signe and {\"O}ckinger, Erik and Schmidt, Niels M. and Termansen, Mette and Timmermann, Allan and Wardle, David A. and Aastrup, Peter and Svenning, Jens-Christian}, + year = {2013}, + month = feb, + journal = {Biological Reviews of the Cambridge Philosophical Society}, + volume = {88}, + number = {1}, + pages = {15--30}, + issn = {1469-185X}, + doi = {10.1111/j.1469-185X.2012.00235.x}, + abstract = {Predicting which species will occur together in the future, and where, remains one of the greatest challenges in ecology, and requires a sound understanding of how the abiotic and biotic environments interact with dispersal processes and history across scales. Biotic interactions and their dynamics influence species' relationships to climate, and this also has important implications for predicting future distributions of species. It is already well accepted that biotic interactions shape species' spatial distributions at local spatial extents, but the role of these interactions beyond local extents (e.g. 10 km(2) to global extents) are usually dismissed as unimportant. In this review we consolidate evidence for how biotic interactions shape species distributions beyond local extents and review methods for integrating biotic interactions into species distribution modelling tools. Drawing upon evidence from contemporary and palaeoecological studies of individual species ranges, functional groups, and species richness patterns, we show that biotic interactions have clearly left their mark on species distributions and realised assemblages of species across all spatial extents. We demonstrate this with examples from within and across trophic groups. A range of species distribution modelling tools is available to quantify species environmental relationships and predict species occurrence, such as: (i) integrating pairwise dependencies, (ii) using integrative predictors, and (iii) hybridising species distribution models (SDMs) with dynamic models. These methods have typically only been applied to interacting pairs of species at a single time, require a priori ecological knowledge about which species interact, and due to data paucity must assume that biotic interactions are constant in space and time. To better inform the future development of these models across spatial scales, we call for accelerated collection of spatially and temporally explicit species data. Ideally, these data should be sampled to reflect variation in the underlying environment across large spatial extents, and at fine spatial resolution. Simplified ecosystems where there are relatively few interacting species and sometimes a wealth of existing ecosystem monitoring data (e.g. arctic, alpine or island habitats) offer settings where the development of modelling tools that account for biotic interactions may be less difficult than elsewhere.}, + langid = {english}, + pmcid = {PMC3561684}, + pmid = {22686347}, + keywords = {Animals,Climate,Demography,Ecosystem,Models; Biological}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\PD4F99YQ\\Wisz et al. - 2013 - The role of biotic interactions in shaping distrib.pdf} +} + +@article{withApplicationNeutralLandscape1997, + title = {The {{Application}} of {{Neutral Landscape Models}} in {{Conservation Biology}}}, + author = {With, Kimberly A.}, + year = {1997}, + journal = {Conservation Biology}, + volume = {11}, + number = {5}, + pages = {1069--1080}, + publisher = {{[Wiley, Society for Conservation Biology]}}, + issn = {0888-8892}, + abstract = {Neutral landscape models, derived from percolation theory in the field of landscape ecology, are grid-based maps in which complex habitat distributions are generated by random or fractal algorithms. This grid-based representation of landscape structure is compatible with the raster-based format of geographical information systems (GIS), which facilitates comparisons between theoretical and real landscapes. Neutral landscape models permit the identification of critical thresholds in connectivity, which can be used to predict when landscapes will become fragmented. The coupling of neutral landscape models with generalized population models, such as metapopulation theory, provides a null model for generating predictions about population dynamics in fragmented landscapes. Neutral landscape models can contribute to the following applications in conservation: (1) incorporation of complex spatial patterns in (meta)population models; (2) identification of species' perceptions of landscape structure; (3) determination of landscape connectivity; (4) evaluation of the consequences of habitat fragmentation for population subdivision; (5) identification of the domain of metapopulation dynamics; (6) prediction of the occurrence of extinction thresholds; (7) determination of the genetic consequences of habitat fragmentation; and (8) reserve design and ecosystem management. This generalized, spatially explicit framework bridges the gap between spatially implicit, patch-based models and spatially realistic GIS applications which are usually parameterized for a single species in a specific landscape. Development of a generalized, spatially explicit framework is essential in conservation biology because we will not be able to develop individual models for every species of management concern.} +} + +@article{withExtinctionThresholdsSpecies1999, + title = {Extinction {{Thresholds}} for {{Species}} in {{Fractal Landscapes}}}, + author = {With, Kimberly A. and King, Anthony W.}, + year = {1999}, + journal = {Conservation Biology}, + volume = {13}, + number = {2}, + pages = {314--326}, + issn = {1523-1739}, + doi = {10.1046/j.1523-1739.1999.013002314.x}, + abstract = {Abstract: Predicting species' responses to habitat loss and fragmentation is one of the greatest challenges facing conservation biologists, particularly if extinction is a threshold phenomenon. Extinction thresholds are abrupt declines in the patch occupancy of a metapopulation across a narrow range of habitat loss. Metapopulation-type models have been used to predict extinction thresholds for endangered populations. These models often make simplifying assumptions about the distribution of habitat (random) and the search for suitable habitat sites (random dispersal). We relaxed these two assumptions in a modeling approach that combines a metapopulation model with neutral landscape models of fractal habitat distributions. Dispersal success for suitable, unoccupied sites was higher on fractal landscapes for nearest-neighbor dispersers (moving through adjacent cells of the landscape) than for dispersers searching at random (random distance and direction between steps) on random landscapes. Consequently, species either did not suffer extinction thresholds or extinction thresholds occurred later, at lower levels of habitat abundance, than predicted previously. The exception is for species with limited demographic potential, owing to low reproductive output , in which extinction thresholds occurred sooner than on random landscapes in all but the most clumped fractal landscapes . Furthermore, the threshold was more precipitous for these species. Many species of conservation concern have limited demographic potential, and these species may be at greater risk from habitat loss and fragmentation than previously suspected.}, + langid = {english}, + annotation = {\_eprint: https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1523-1739.1999.013002314.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\F6K6NTND\\With und King - 1999 - Extinction Thresholds for Species in Fractal Lands.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\EDN2NGVZ\\j.1523-1739.1999.013002314.html} +} + +@article{zhengModellingDispersalDiffusion2009a, + title = {Modelling Dispersal with Diffusion and Habitat Selection: {{Analytical}} Results for Highly Fragmented Landscapes}, + shorttitle = {Modelling Dispersal with Diffusion and Habitat Selection}, + author = {Zheng, Chaozhi and Pennanen, Juho and Ovaskainen, Otso}, + year = {2009}, + month = jun, + journal = {Ecological Modelling}, + volume = {220}, + number = {12}, + pages = {1495--1505}, + issn = {0304-3800}, + doi = {10.1016/j.ecolmodel.2009.02.024}, + abstract = {Quantifying dispersal is crucial both for understanding ecological population dynamics, and for gaining insight into factors that affect the genetic structure of populations. The role of dispersal becomes pronounced in highly fragmented landscapes inhabited by spatially structured populations. We consider a landscape consisting of a set of habitat patches surrounded by unsuitable matrix, and model dispersal by assuming that the individuals follow a random walk with parameters that may be specific to the habitat type. We allow for spatial variation in patch quality, and account for edge-mediated behavior, the latter meaning that the individuals bias their movement towards the patches when close to an edge between a patch and the matrix. We employ a diffusion approximation of the random walk model to derive analytical expressions for various characteristics of the dispersal process. For example, we derive formulae for the time that an individual is expected to spend in its current patch i, and for the time that it will spend in the matrix, both conditional on the individual hitting next a given patch j before hitting any of the other patches or dying. The analytical formulae are based on the assumptions that the landscape is infinitely large, that the patches are circularly shaped, and that the patches are small compared to interpatch distances. We evaluate the effect of these assumptions by comparing the analytical results to numerical results in a real patch network that violates all of the three assumptions. We then consider a landscape that fulfills the assumptions, and show that in this case the analytical results are in a very good agreement with the numerical results. The results obtained here allow the construction of computationally efficient dispersal models that can be used as components of metapopulation models.}, + langid = {english}, + keywords = {Conditional occupancy times,Diffusion model,Dispersal,Edge-mediate behavior,Metapopulation,Random walk}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\K4NYEMNT\\S0304380009001203.html} +} + +@article{zhengModellingSingleNucleotide2009, + title = {Modelling Single Nucleotide Effects in Phosphoglucose Isomerase on Dispersal in the {{Glanville}} Fritillary Butterfly: Coupling of Ecological and Evolutionary Dynamics}, + shorttitle = {Modelling Single Nucleotide Effects in Phosphoglucose Isomerase on Dispersal in the {{Glanville}} Fritillary Butterfly}, + author = {Zheng, Chaozhi and Ovaskainen, Otso and Hanski, Ilkka}, + year = {2009}, + month = jun, + journal = {Philosophical Transactions of the Royal Society B: Biological Sciences}, + volume = {364}, + number = {1523}, + pages = {1519--1532}, + issn = {0962-8436}, + doi = {10.1098/rstb.2009.0005}, + abstract = {Dispersal comprises a complex life-history syndrome that influences the demographic dynamics of especially those species that live in fragmented landscapes, the structure of which may in turn be expected to impose selection on dispersal. We have constructed an individual-based evolutionary sexual model of dispersal for species occurring as metapopulations in habitat patch networks. The model assumes correlated random walk dispersal with edge-mediated behaviour (habitat selection) and spatially correlated stochastic local dynamics. The model is parametrized with extensive data for the Glanville fritillary butterfly. Based on empirical results for a single nucleotide polymorphism (SNP) in the phosphoglucose isomerase (Pgi) gene, we assume that dispersal rate in the landscape matrix, fecundity and survival are affected by a locus with two alleles, A and C, individuals with the C allele being more mobile. The model was successfully tested with two independent empirical datasets on spatial variation in Pgi allele frequency. First, at the level of local populations, the frequency of the C allele is the highest in newly established isolated populations and the lowest in old isolated populations. Second, at the level of sub-networks with dissimilar numbers and connectivities of patches, the frequency of C increases with decreasing network size and hence with decreasing average metapopulation size. The frequency of C is the highest in landscapes where local extinction risk is high and where there are abundant opportunities to establish new populations. Our results indicate that the strength of the coupling of the ecological and evolutionary dynamics depends on the spatial scale and is asymmetric, demographic dynamics having a greater immediate impact on genetic dynamics than vice versa.}, + pmcid = {PMC2690501}, + pmid = {19414467}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\SBXXCXUC\\Zheng et al. - 2009 - Modelling single nucleotide effects in phosphogluc.pdf} +} + +@article{zollnerBehavioralTradeoffsWhen2005, + title = {Behavioral Tradeoffs When Dispersing across a Patchy Landscape.}, + author = {Zollner, Patrick A. and Lima, Steven L.}, + year = {2005}, + journal = {OIKOS}, + volume = {108}, + pages = {219--230}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\JXRLCA3R\\Zollner und Lima - 2005 - Behavioral tradeoffs when dispersing across a patc.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\EK9H5EZM\\12821.html} +} + +@article{zollnerLandscapelevelPerceptualAbilities1997, + title = {Landscape-Level Perceptual Abilities in White-Footed Mice : Perceptual Range and the Detection of Forested Habitat}, + shorttitle = {Landscape-Level Perceptual Abilities in White-Footed Mice}, + author = {Zollner, P. and Lima, S. L.}, + year = {1997}, + journal = {Oikos}, + volume = {80}, + number = {1}, + pages = {51--60}, + doi = {10.2307/3546515}, + abstract = {We define perceptual range as the distance from which an animal can perceive key landscape elements, such as distant patches of forested habitat. We argue that perceptual range should be a determinant of not only dispersal success in unfamiliar or hostile landscapes, but also of several landscape-level ecological processes influencing population dynamics. To redress the absence of empirical information on perceptual ranges, we simulated the dispersal of forest-dwelling white-footed mice (Peromyscus leucopus) across an agricultural landscape by releasing mice into unfamiliar, hostile agricultural habitat at various distances from fragments of forested habitat. We found that these forest mice have a remarkably low perceptual range with regard to detecting their forested (core) habitat. Mice released into bare fields failed to even orient towards forested habitat as little as 30 m distant, while mice in crop fields appeared unable to locate forest habitat as little as 10 m distant. These mice seemed to locate forested habitat by vision, despite the availability of non-visual cues. Future work will undoubtedly demonstrate vast differences in landscape-level perceptual abilities among animals, and show clearly that the ecological effects of a given landscape configuration will be influenced by the behavioral attributes of the species in question.} +} + +@article{zollnerSearchStrategiesLandscapeLevel1999, + title = {Search {{Strategies}} for {{Landscape-Level Interpatch Movements}}}, + author = {Zollner, Patrick and Lima, Steven L.}, + year = {1999}, + journal = {Ecology}, + volume = {80}, + number = {3}, + pages = {1019--1030}, + issn = {1939-9170}, + doi = {10.1890/0012-9658(1999)080[1019:SSFLLI]2.0.CO;2}, + abstract = {Ecologists need a better understanding of how animals make decisions about moving across landscapes. To this end, we developed computer simulations that contrast the effectiveness of various search strategies at finding habitat patches in idealized landscapes (uniform, random, or clumped patches), where searchers have different energy reserves and face different mortality risks. Nearly straight correlated random walks always produced better dispersal success than relatively uncorrelated random walks. However, increasing patch density decreased the degree of correlation that maximized dispersal success. Only under high mortality and low energy reserves in a uniform landscape did absolutely straight-line search perform better than any random walk. With low mortality risks and high energy reserves, exhaustive systematic search was superior to the best correlated random walk; an increase in the perceptual range of the searcher (i.e., patch detectability) also favored exhaustive search over relatively straight random walks. For all conditions examined, the ``average distance rule,'' a hybrid search rule incorporating both straight-line and systematic search, was best. Overall, however, our results suggest that a simple and effective search rule for many landscape-explicit models would involve straight or nearly straight movements.}, + langid = {english}, + keywords = {dispersal,interpatch movement,landscape configuration,landscape ecology,mortality risk,perceptual range,random walks,search strategies,systematic search}, + annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/0012-9658\%281999\%29080\%5B1019\%3ASSFLLI\%5D2.0.CO\%3B2}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\P5MVGMQ8\\Zollner und Lima - 1999 - Search Strategies for Landscape-Level Interpatch M.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\HPFF9TKI\\0012-9658(1999)080[1019SSFLLI]2.0.html} +} + +@article{zotero-2098, + type = {Article} +} + +@article{zurellStaticSpeciesDistribution2009, + title = {Static Species Distribution Models in Dynamically Changing Systems: How Good Can Predictions Really Be?}, + shorttitle = {Static Species Distribution Models in Dynamically Changing Systems}, + author = {Zurell, Damaris and Jeltsch, Florian and Dormann, Carsten F. and Schr{\"o}der, Boris}, + year = {2009}, + journal = {Ecography}, + volume = {32}, + number = {5}, + pages = {733--744}, + issn = {1600-0587}, + doi = {10.1111/j.1600-0587.2009.05810.x}, + abstract = {It is widely acknowledged that species respond to climate change by range shifts. Robust predictions of such changes in species' distributions are pivotal for conservation planning and policy making, and are thus major challenges in ecological research. Statistical species distribution models (SDMs) have been widely applied in this context, though they remain subject to criticism as they implicitly assume equilibrium, and incorporate neither dispersal, demographic processes nor biotic interactions explicitly. In this study, the effects of transient dynamics and ecological properties and processes on the prediction accuracy of SDMs for climate change projections were tested. A spatially explicit multi-species dynamic population model was built, incorporating species-specific and interspecific ecological processes, environmental stochasticity and climate change. Species distributions were sampled in different scenarios, and SDMs were estimated by applying generalised linear models (GLMs) and boosted regression trees (BRTs). Resulting model performances were related to prevailing ecological processes and temporal dynamics. SDM performance varied for different range dynamics. Prediction accuracies decreased when abrupt range shifts occurred as species were outpaced by the rate of climate change, and increased again when a new equilibrium situation was realised. When ranges contracted, prediction accuracies increased as the absences were predicted well. Far-dispersing species were faster in tracking climate change, and were predicted more accurately by SDMs than short-dispersing species. BRTs mostly outperformed GLMs. The presence of a predator, and the inclusion of its incidence as an environmental predictor, made BRTs and GLMs perform similarly. Results are discussed in light of other studies dealing with effects of ecological traits and processes on SDM performance. Perspectives are given on further advancements of SDMs and for possible interfaces with more mechanistic approaches in order to improve predictions under environmental change.}, + langid = {english}, + annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.05810.x}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\4YT6HTDC\\Zurell et al. - 2009 - Static species distribution models in dynamically .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UFC34L2K\\j.1600-0587.2009.05810.html} +} + +@article{zurellUncertaintyPredictionsRange2012a, + title = {Uncertainty in Predictions of Range Dynamics: Black Grouse Climbing the {{Swiss Alps}}}, + shorttitle = {Uncertainty in Predictions of Range Dynamics}, + author = {Zurell, Damaris and Grimm, Volker and Rossmanith, Eva and Zbinden, Niklaus and Zimmermann, Niklaus E. and Schr{\"o}der, Boris}, + year = {2012}, + issn = {0906-7590}, + abstract = {Empirical species distribution models (SDMs) constitute often the tool of choice for the assessment of rapid climate change effects on species' vulnerability. Conclusions regarding extinction risks might be misleading, however, because SDMs do not explicitly incorporate dispersal or other demographic processes. Here, we supplement SDMs with a dynamic population model 1) to predict climate-induced range dynamics for black grouse in Switzerland, 2) to compare direct and indirect measures of extinction risks, and 3) to quantify uncertainty in predictions as well as the sources of that uncertainty. To this end, we linked models of habitat suitability to a spatially explicit, individual-based model. In an extensive sensitivity analysis, we quantified uncertainty in various model outputs introduced by different SDM algorithms, by different climate scenarios and by demographic model parameters. Potentially suitable habitats were predicted to shift uphill and eastwards. By the end of the 21st century, abrupt habitat losses were predicted in the western Prealps for some climate scenarios. In contrast, population size and occupied area were primarily controlled by currently negative population growth and gradually declined from the beginning of the century across all climate scenarios and SDM algorithms. However, predictions of population dynamic features were highly variable across simulations. Results indicate that inferring extinction probabilities simply from the quantity of suitable habitat may underestimate extinction risks because this may ignore important interactions between life history traits and available habitat. Also, in dynamic range predictions uncertainty in SDM algorithms and climate scenarios can become secondary to uncertainty in dynamic model components. Our study emphasises the need for principal evaluation tools like sensitivity analysis in order to assess uncertainty and robustness in dynamic range predictions. A more direct benefit of such robustness analysis is an improved mechanistic understanding of dynamic species' responses to climate change.}, + langid = {english}, + file = {C\:\\Users\\jreeg\\Zotero\\storage\\W9ILGC7X\\517524.html} +} + + diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.json b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.json new file mode 100644 index 0000000..3902114 --- /dev/null +++ b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.json @@ -0,0 +1,322 @@ +[ + {"id":"abenSimpleIndividualbasedModels2014","abstract":"Reliable estimates of dispersal rates between habitat patches (i.e. functional connectivity) are critical for predicting long-term effects of habitat fragmentation on population persistence. Connectivity measures are frequently derived from least cost path or graph-based approaches, despite the fact that these methods make biologically unrealistic assumptions. Individual-based models (IBMs) have been proposed as an alternative as they allow modelling movement behaviour in response to landscape resistance. However, IBMs typically require excessive data to be useful for management. Here, we test the extent to which an IBM requiring only an uncomplicated set of movement rules [the â€stochastic movement simulator’ (SMS)] can predict animal movement behaviour in real-world landscapes. Movement behaviour of two forest birds, the Cabanis's greenbul Phyllastrephus cabanisi (a forest specialist) and the white-starred robin Pogonocichla stellata (a habitat generalist), across an Afrotropical matrix was simulated using SMS. Predictions from SMS were evaluated against a set of detailed movement paths collected by radiotracking homing individuals. SMS was capable of generating credible predictions of bird movement, although simulations were sensitive to the cost values and the movement rules specified. Model performance was generally highest when movement was simulated across low-contrasting cost surfaces and when virtual individuals were assigned low directional persistence and limited perceptual range. SMS better predicted movements of the habitat specialist than the habitat generalist, which highlights its potential to model functional connectivity when species movements are affected by the matrix. Synthesis and applications. Modelling the dispersal process with greater biological realism is likely to be critical for improving our predictive capability regarding functional connectivity and population persistence. For more realistic models to be widely applied, it is vital that their application is not overly complicated or data demanding. Here, we show that given relatively basic understanding of a species' dispersal ecology, the stochastic movement simulator represents a promising tool for estimating connectivity, which can help improve the design of functional ecological networks aimed at successful species conservation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Aben","given":"Job"},{"family":"Strubbe","given":"Diederik"},{"family":"Adriaensen","given":"Frank"},{"family":"Palmer","given":"Stephen C. F."},{"family":"Travis","given":"Justin M. J."},{"family":"Lens","given":"Luc"},{"family":"Matthysen","given":"Erik"}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/1365-2664.12224","ISSN":"1365-2664","issue":"3","issued":{"date-parts":[[2014]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/1365-2664.12224","page":"693-702","source":"Wiley Online Library","title":"Simple individual-based models effectively represent Afrotropical forest bird movement in complex landscapes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/1365-2664.12224","volume":"51"}, + {"id":"adriaensenApplicationLeastcostModelling2003","abstract":"The growing awareness of the adverse effects of habitat fragmentation on natural systems has resulted in a rapidly increasing number of actions to reduce current fragmentation of natural systems as well as a growing demand for tools to predict and evaluate the effect of changes in the landscape on connectivity in the natural world. Recent studies used â€least-cost’ modelling (available as a toolbox in GIS-systems) to calculate â€effective distance’, a measure for distance modified with the cost to move between habitat patches based on detailed geographical information on the landscape as well as behavioural aspects of the organisms studied. We applied the method to a virtual landscape and a small scaled agricultural system subject to different scenarios in a land re-allotment project. We discuss the importance of technical aspects and ecological assumption underlying this modelling method. The model is shown to be a flexible tool to model functional connectivity in the study of the relation between landscape and mobility of organisms as well as in scenario building and evaluation in wild life protection projects and applied land management projects. Since â€effective distance’ has the same units as Euclidean distance (m), this effective distance may be a straightforward way to include landscape and behavioural aspects in other models which include distance as a measure for isolation. We show the importance of the â€ecological’ quality of the input maps and the choice of relevant landscape features and resistance values.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Adriaensen","given":"F."},{"family":"Chardon","given":"J. P."},{"family":"De Blust","given":"G."},{"family":"Swinnen","given":"E."},{"family":"Villalba","given":"S."},{"family":"Gulinck","given":"H."},{"family":"Matthysen","given":"E."}],"container-title":"Landscape and Urban Planning","container-title-short":"Landscape and Urban Planning","DOI":"10.1016/S0169-2046(02)00242-6","ISSN":"0169-2046","issue":"4","issued":{"date-parts":[[2003,8,15]]},"language":"en","page":"233-247","source":"ScienceDirect","title":"The application of â€least-cost’ modelling as a functional landscape model","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169204602002426","volume":"64"}, + {"id":"altweggDensitydependentDispersalSpeed2013","abstract":"Aim The speed of range expansions, be it invasive species colonizing a new area or species tracking a moving climatic niche, critically depends on dispersal. Models for species' range expansions generally assume dispersal to be independent of local population densities. However, animals often disperse in response to high population size or alternatively may avoid or leave areas of very low population sizes. We explore whether such density dependence in dispersal can safely be ignored when predicting the speed of range expansions. Location Simulation study. Methods We use simulations to examine the effect of different forms of density dependence in emigration and immigration on the speed of range expansions. For emigration, we consider linear and nonlinear forms of positive density dependence, negative density dependence at low population densities and constant emigration rates. For immigration, we consider options where individuals avoid crowded patches, are attracted to the presence of conspecifics or settle independent of local density. Results The speed of range expansion was slowest when emigration was strongly positively related to density (higher emigration at higher densities) and when individuals avoided settling in low-density patches. It tended to be fastest under negatively density-dependent emigration (higher emigration at lower densities). These results were consistent across two different life histories and different levels of carrying capacity. Main conclusions Our results suggest that considering density-dependent dispersal and the mechanisms leading to it are important for correctly predicting species' rates of spread. Organisms with a tendency to aggregate, for example, by relying on conspecific attraction in settlement and emigrating mainly in response to high local densities, are predicted to be least likely to expand their ranges and most at risk from spatial shifts in their climatic niches.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Altwegg","given":"Res"},{"family":"Collingham","given":"Yvonne C."},{"family":"Erni","given":"Birgit"},{"family":"Huntley","given":"Brian"}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2012.00943.x","ISSN":"1472-4642","issue":"1","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2012.00943.x","page":"60-68","source":"Wiley Online Library","title":"Density-dependent dispersal and the speed of range expansions","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2012.00943.x","volume":"19"}, + {"id":"andersonDynamicsRangeMargins2009","abstract":"We link spatially explicit climate change predictions to a dynamic metapopulation model. Predictions of species' responses to climate change, incorporating metapopulation dynamics and elements of dispersal, allow us to explore the range margin dynamics for two lagomorphs of conservation concern. Although the lagomorphs have very different distribution patterns, shifts at the edge of the range were more pronounced than shifts in the overall metapopulation. For Romerolagus diazi (volcano rabbit), the lower elevation range limit shifted upslope by approximately 700 m. This reduced the area occupied by the metapopulation, as the mountain peak currently lacks suitable vegetation. For Lepus timidus (European mountain hare), we modelled the British metapopulation. Increasing the dispersive estimate caused the metapopulation to shift faster on the northern range margin (leading edge). By contrast, it caused the metapopulation to respond to climate change slower, rather than faster, on the southern range margin (trailing edge). The differential responses of the leading and trailing range margins and the relative sensitivity of range limits to climate change compared with that of the metapopulation centroid have important implications for where conservation monitoring should be targeted. Our study demonstrates the importance and possibility of moving from simple bioclimatic envelope models to second-generation models that incorporate both dynamic climate change and metapopulation dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Anderson","given":"B.j"},{"family":"Akçakaya","given":"H.r"},{"family":"AraĂşjo","given":"M.b"},{"family":"Fordham","given":"D.a"},{"family":"Martinez-Meyer","given":"E"},{"family":"Thuiller","given":"W"},{"family":"Brook","given":"B.w"}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","DOI":"10.1098/rspb.2008.1681","issue":"1661","issued":{"date-parts":[[2009,4,22]]},"page":"1415-1420","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Dynamics of range margins for metapopulations under climate change","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2008.1681","volume":"276"}, + {"id":"araujoClimateChangeThreatens2011","abstract":"Ecology Letters (2011) 14: 484–492 Abstract Europe has the world’s most extensive network of conservation areas. Conservation areas are selected without taking into account the effects of climate change. How effectively would such areas conserve biodiversity under climate change? We assess the effectiveness of protected areas and the Natura 2000 network in conserving a large proportion of European plant and terrestrial vertebrate species under climate change. We found that by 2080, 58 ± 2.6% of the species would lose suitable climate in protected areas, whereas losses affected 63 ± 2.1% of the species of European concern occurring in Natura 2000 areas. Protected areas are expected to retain climatic suitability for species better than unprotected areas (P < 0.001), but Natura 2000 areas retain climate suitability for species no better and sometimes less effectively than unprotected areas. The risk is high that ongoing efforts to conserve Europe’s biodiversity are jeopardized by climate change. New policies are required to avert this risk.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"AraĂşjo","given":"Miguel B."},{"family":"Alagador","given":"Diogo"},{"family":"Cabeza","given":"Mar"},{"family":"NoguĂ©s-Bravo","given":"David"},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2011.01610.x","ISSN":"1461-0248","issue":"5","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2011.01610.x","page":"484-492","source":"Wiley Online Library","title":"Climate change threatens European conservation areas","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2011.01610.x","volume":"14"}, + {"id":"araujoReducingUncertaintyProjections2005","abstract":"Aim Concern over the implications of climate change for biodiversity has led to the use of species–climate â€envelope’ models to forecast risks of species extinctions under climate change scenarios. Recent studies have demonstrated significant variability in model projections and there remains a need to test the accuracy of models and to reduce uncertainties. Testing of models has been limited by a lack of data against which projections of future ranges can be tested. Here we provide a first test of the predictive accuracy of such models using observed species’ range shifts and climate change in two periods of the recent past. Location Britain. Methods Observed range shifts for 116 breeding bird species in Britain between 1967 and 1972 (t1) and 1987–91 (t2) are used. We project range shifts between t1 and t2 for each species based on observed climate using 16 alternative models (4 methods Ă— 2 data parameterizations Ă— 2 rules to transform probabilities of occurrence into presence and absence records). Results Modelling results were extremely variable, with projected range shifts varying both in magnitude and in direction from observed changes and from each other. However, using approaches that explore the central tendency (consensus) of model projections, we were able to improve agreement between projected and observed shifts significantly. Conclusions Our results provide the first empirical evidence of the value of species–climate â€envelope’ models under climate change and demonstrate reduction in uncertainty and improvement in accuracy through selection of the most consensual projections.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"AraĂşjo","given":"Miguel B."},{"family":"Whittaker","given":"Robert J."},{"family":"Ladle","given":"Richard J."},{"family":"Erhard","given":"Markus"}],"container-title":"Global Ecology and Biogeography","DOI":"10.1111/j.1466-822X.2005.00182.x","ISSN":"1466-8238","issue":"6","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-822X.2005.00182.x","page":"529-538","source":"Wiley Online Library","title":"Reducing uncertainty in projections of extinction risk from climate change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1466-822X.2005.00182.x","volume":"14"}, + {"id":"armsworthConditionalDispersalClines2008","abstract":"Conditional dispersal, in which an individual’s decision over whether to disperse is a response to environmental conditions, features prominently in studies of dispersal evolution. Using models of clines, I examine how one widely discussed cost of dispersal, namely, that dispersal impedes local adaptation, changes with conditional dispersal and what this implies for dispersal evolution. I examine the consequences for dispersal evolution of the responsiveness of dispersal to the environment, the accuracy of any proximal cues that individuals rely upon to assess habitat quality, and whether dispersal responds to fitness itself or only to some fitness components (juvenile survivorship). All of the conditional dispersal behaviors that I consider weaken the indirect cost of dispersal inhibiting local adaptation. However, if individuals rely on imprecise cues to assess habitat quality and base dispersal decisions on juvenile survivorship, then conditional dispersal can incur additional costs by exacerbating overcrowding. Conditional dispersal initially leads to steeper clines in traits under direct selection, but when dispersiveness can itself evolve, conditional dispersal allows sigmoidal clines to persist long after those obtained with unconditional movement would become stepped.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Armsworth","given":"Paul R."}],"container-title":"Theoretical Ecology","container-title-short":"Theor Ecol","DOI":"10.1007/s12080-008-0032-2","ISSN":"1874-1746","issue":"2","issued":{"date-parts":[[2008]]},"language":"en","page":"105-117","source":"Springer Link","title":"Conditional dispersal, clines, and the evolution of dispersiveness","type":"article-journal","URL":"https://doi.org/10.1007/s12080-008-0032-2","volume":"2"}, + {"id":"armsworthStructureClinesFitness2008","abstract":"Spatial models commonly assume that dispersal does not depend on environmental conditions or phenotype. For example, these assumptions underpin explanations for clines on the basis of a tradeâ€off between dispersal and local adaptation. We reexamine clines when an individual’s decisions over whether and where to disperse depend on its fitness. We compare fitnessâ€dependent dispersal with cases where dispersal responds to juvenile survivorship only. Clines are steeper the more responsive dispersal is to environmental conditions for all dispersal behaviors that we consider. Clines eventually become stepped as the responsiveness of dispersal to environmental conditions is increased for half of the dispersal behaviors we consider, but smooth clines are maintained for the remaining cases. Smooth clines are maintained by the biased movement of individuals out of the hybrid zone when individuals move directionally in response to gradients in juvenile survivorship, which is a different mechanism to that maintaining smooth clines in classic cline theory.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Armsworth","given":"Paul R."},{"family":"Roughgarden","given":"Joan E."}],"container-title":"The American Naturalist","DOI":"10.1086/591685","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[2008,11,1]]},"page":"648-657","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"The Structure of Clines with Fitnessâ€Dependent Dispersal.","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/591685","volume":"172"}, + {"id":"atkinsLocalAdaptationEvolution2010","abstract":"The potential impact of climate change on biodiversity is well documented. A well developed range of statistical methods currently exists that projects the possible future habitat of a species directly from the current climate and a species distribution. However, studies incorporating ecological and evolutionary processes remain limited. Here, we focus on the potential role that local adaptation to climate may play in driving the range dynamics of sessile organisms. Incorporating environmental adaptation into a stochastic simulation yields several new insights. Counter-intuitively, our simulation results suggest that species with broader ranges are not necessarily more robust to climate change. Instead, species with broader ranges can be more susceptible to extinction as locally adapted genotypes are often blocked from range shifting by the presence of cooler adapted genotypes that persist even when their optimum climate has left them behind. Interestingly, our results also suggest that it will not always be the cold-adapted phenotypes that drive polewards range expansion. Instead, range shifts may be driven by phenotypes conferring adaptation to conditions prevalent towards the centre of a species’ equilibrium distribution. This may have important consequences for the conservation method termed predictive provenancing. These initial results highlight the potential importance of local adaptation in determining how species will respond to climate change and we argue that this is an area requiring urgent theoretical and empirical attention.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Atkins","given":"K. E."},{"family":"Travis","given":"J. M. J."}],"container-title":"Journal of Theoretical Biology","container-title-short":"Journal of Theoretical Biology","DOI":"10.1016/j.jtbi.2010.07.014","ISSN":"0022-5193","issue":"3","issued":{"date-parts":[[2010,10,7]]},"language":"en","page":"449-457","source":"ScienceDirect","title":"Local adaptation and the evolution of species’ ranges under climate change","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0022519310003632","volume":"266"}, + {"id":"bachEvolutionConditionalDispersal2007","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bach","given":"Lars"},{"family":"Ripa","given":"Jörgen"},{"family":"Lundberg","given":"Per"}],"container-title":"Evolutionary Ecology","container-title-short":"(Evolutionary ecology","ISSN":"1573-8477","issue":"4","issued":{"date-parts":[[2007]]},"language":"English","page":"663-673","publisher":"Springer","source":"portal.research.lu.se","title":"On the evolution of conditional dispersal under environmental and demographic stochasticity","type":"article-journal","URL":"https://portal.research.lu.se/portal/en/publications/on-the-evolution-of-conditional-dispersal-under-environmental-and-demographic-stochasticity(f23f9fc6-0c1d-460e-b1d6-4c96baa25102).html","volume":"9"}, + {"id":"baguetteIndividualDispersalLandscape2013","abstract":"Connectivity is classically considered an emergent property of landscapes encapsulating individuals' flows across space. However, its operational use requires a precise understanding of why and how organisms disperse. Such movements, and hence landscape connectivity, will obviously vary according to both organism properties and landscape features. We review whether landscape connectivity estimates could gain in both precision and generality by incorporating three fundamental outcomes of dispersal theory. Firstly, dispersal is a multi-causal process; its restriction to an â€escape reaction’ to environmental unsuitability is an oversimplification, as dispersing individuals can leave excellent quality habitat patches or stay in poor-quality habitats according to the relative costs and benefits of dispersal and philopatry. Secondly, species, populations and individuals do not always react similarly to those cues that trigger dispersal, which sometimes results in contrasting dispersal strategies. Finally, dispersal is a major component of fitness and is thus under strong selective pressures, which could generate rapid adaptations of dispersal strategies. Such evolutionary responses will entail spatiotemporal variation in landscape connectivity. We thus strongly recommend the use of genetic tools to: (i) assess gene flow intensity and direction among populations in a given landscape; and (ii) accurately estimate landscape features impacting gene flow, and hence landscape connectivity. Such approaches will provide the basic data for planning corridors or stepping stones aiming at (re)connecting local populations of a given species in a given landscape. This strategy is clearly species- and landscape-specific. But we suggest that the ecological network in a given landscape could be designed by stacking up such linkages designed for several species living in different ecosystems. This procedure relies on the use of umbrella species that are representative of other species living in the same ecosystem.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Baguette","given":"Michel"},{"family":"Blanchet","given":"Simon"},{"family":"Legrand","given":"Delphine"},{"family":"Stevens","given":"Virginie M."},{"family":"Turlure","given":"Camille"}],"container-title":"Biological Reviews","DOI":"10.1111/brv.12000","ISSN":"1469-185X","issue":"2","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/brv.12000","page":"310-326","source":"Wiley Online Library","title":"Individual dispersal, landscape connectivity and ecological networks","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/brv.12000","volume":"88"}, + {"id":"baguetteLandscapeConnectivityAnimal2007","abstract":"Landscape connectivity can be viewed from two perspectives that could be considered as extremes of a gradient: functional connectivity (refers to how the behavior of a dispersing organism is affected by landscape structure and elements) and structural connectivity (depends on the spatial configuration of habitat patches in the landscape like vicinity or presence of barriers). Here we argue that dispersal behavior changes with landscape configuration stressing the evolutionary dimension that has often been ignored in landscape ecology. Our working hypothesis is that the functional grain of resource patches in the landscape is a crucial factor shaping individual movements, and therefore influencing landscape connectivity. Such changes are likely to occur on the short-term (some generations). We review empirical studies comparing dispersal behavior in landscapes differing in their fragmentation level, i.e., with variable resource grain. We show that behavioral variation affecting each of the three stages of the dispersal process (emigration, displacement or transfer in the matrix, and immigration) is indeed likely to occur according to selective pressures resulting from changes in the grain of the landscape (mortality or deferred costs). Accordingly, landscape connectivity results from the interaction between the dispersal behavior of individuals and the grain of each particular landscape. The existence of this interaction requires that connectivity estimates (being based on individual-based models, least cost distance algorithms, and structural connectivity metrics or even Euclidian distance) should be carefully evaluated for their applicability with respect to the required level of precision in species-specific and landscape information.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Baguette","given":"Michel"},{"family":"Van Dyck","given":"Hans"}],"container-title":"Landscape Ecology","container-title-short":"Landscape Ecol","DOI":"10.1007/s10980-007-9108-4","ISSN":"1572-9761","issue":"8","issued":{"date-parts":[[2007,10,1]]},"language":"en","page":"1117-1129","source":"Springer Link","title":"Landscape connectivity and animal behavior: functional grain as a key determinant for dispersal","title-short":"Landscape connectivity and animal behavior","type":"article-journal","URL":"https://doi.org/10.1007/s10980-007-9108-4","volume":"22"}, + {"id":"baguetteLongDistanceDispersal2003","abstract":"Movements between habitat patches in a patchy population of the butterfly Boloria aquilonaris were monitored using capture-mark-recapture methods during three successive generations. For each data set, the inverse cumulative proportion of individuals moving 100 m distance classes was fitted to the negative exponential function and the inverse power function. In each case, the negative exponential function provided a better fit than the inverse power function. Two dispersal kernels were generated using both negative exponential and inverse power functions. These dispersal kernels were used to predict movements between 14 suitable sites in a landscape of $220\\ {\\rm km}^{2}$. The negative exponential function generated a dispersal kernel predicting extremely low probabilities for movements exceeding 1 km. The inverse power function generated probabilities predicting that between site movements were possible, according to metapopulation size. CMR studies in the landscape revealed that long distance movements occurred at each generation, corresponding to predictions of the inverse power function dispersal kernel. A total of 26 movements between sites (up to 13 km) were detected, together with recolonisation of empty sites. The spatial scale of the metapopulation dynamics is larger than ever reported on butterflies and long distance movements clearly matter to the persistence of this species in a highly fragmented landscape.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Baguette","given":"Michel"}],"container-title":"Ecography","ISSN":"0906-7590","issue":"2","issued":{"date-parts":[[2003]]},"page":"153-160","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"Long Distance Dispersal and Landscape Occupancy in a Metapopulation of the Cranberry Fritillary Butterfly","type":"article-journal","URL":"https://www.jstor.org/stable/3683430","volume":"26"}, + {"id":"bakerIncrementalCostsBenefits2004","abstract":"Incremental (distance-dependent) costs and benefits of dispersal have received less attention than those that are qualitative. We present a dynamic programming model of settling behavior using parameters estimated from a field study of dispersal in desert isopods, Hemilepistus reaumuri, which walk up to thousands of meters before settling in new or already-established burrows each spring. The model shows that incremental costs of dispersal lead to right-skewed population dispersal patterns, in contrast to cost-free systems or those with unitary costs (i.e., a one time cost of leaving a group or patch). In the model, continuous variation in habitat quality, as opposed to discrete suitable vs. unsuitable sites, allows for trade-offs with dispersal costs that lead to shifts in the likelihood of settling in a patch of a given quality. Thus, measurement of quantitative costs and benefits of movement are needed to understand population dispersal distributions. These costs or benefits may be observable during or after movement, and we examined both pre- and postsettling incremental consequences of dispersal. The daily mortality rate of traveling isopods was 4.2% during the dispersal season, higher than that of settled individuals. Successful settlers traveled more slowly, but burrows started in midseason were most likely to succeed. More distant burrows failed more often, suggesting either an additional cost of movement or a difference in the quality of individuals traveling different distances. The predicted mean dispersal duration from the simulations matched observed values closely, but was based on an unrealistic assumption of perfect knowledge of habitat quality, suggesting some other factor favors longer times before settling. Reproductive success was much higher in re-used burrows than in new burrows, making them a possible incentive for long-distance movements.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Baker","given":"Mitchell B."},{"family":"Rao","given":"Steven"}],"container-title":"Ecology","ISSN":"0012-9658","issue":"4","issued":{"date-parts":[[2004]]},"page":"1039-1051","publisher":"Ecological Society of America","source":"JSTOR","title":"Incremental Costs and Benefits Shape Natal Dispersal: Theory and Example with Hemilepistus reaumuri","title-short":"Incremental Costs and Benefits Shape Natal Dispersal","type":"article-journal","URL":"https://www.jstor.org/stable/3450319","volume":"85"}, + {"id":"balciauskasEstimationCarryingCapacity2009","abstract":"The purpose of this paper is to estimate ecological carrying capacity (K) and growth rate (r) of Lithuanian wolf based on the estimated population sizes and number of harvests from 1966 to 2007. We used the modified Schaefer model where population dynamics is described by the logistic-equation-type growth function with time lag operator (Ď„) and harvest. We statistically selected the best model whose Ď„ value was 4 and estimated value of K and r were 626 heads for the total Lithuanian territory and 0.776/ year, respectively. Then we examined the appropriateness of the values from the ecological point of view and concluded that ecological carrying capacity is supported by the prey base of wild animals, mainly cervids, and also by depredation on domestic animals. In 1994–1998, the population was near ecological carrying capacity or exceeding it, what we explain by high ecological plasticity of the species and increased use of domestic animals.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"BalÄŤiauskas","given":"Linas"},{"family":"Kawata","given":"Yukichika"}],"container-title":"Acta Zoologica Lituanica","DOI":"10.2478/v10043-009-0018-3","ISSN":"1392-1657","issue":"2","issued":{"date-parts":[[2009,1,1]]},"note":"_eprint: https://doi.org/10.2478/v10043-009-0018-3","page":"79-84","publisher":"Taylor & Francis","source":"Taylor and Francis+NEJM","title":"Estimation of Carrying Capacity and Growth Rate of Wolf in Lithuania","type":"article-journal","URL":"https://doi.org/10.2478/v10043-009-0018-3","volume":"19"}, + {"id":"bartonEvolutionIntelligentDispersal2009","abstract":"Theoretical work exploring dispersal evolution focuses on the emigration rate of individuals and typically assumes that movement occurs either at random to any other patch or to one of the nearest-neighbour patches. There is a lack of work exploring the process by which individuals move between patches, and how this process evolves. This is of concern because any organism that can exert control over dispersal direction can potentially evolve efficiencies in locating patches, and the process by which individuals find new patches will potentially have major effects on metapopulation dynamics and gene flow. Here, we take an initial step towards filling this knowledge gap. To do this we constructed a continuous space population model, in which individuals each carry heritable trait values that specify the characteristics of the biased correlated random walk they use to disperse from their natal patch. We explore how the evolution of the random walk depends upon the cost of dispersal, the density of patches in the landscape, and the emigration rate. The clearest result is that highly correlated walks always evolved (individuals tended to disperse in relatively straight lines from their natal patch), reflecting the efficiency of straight-line movement. In our models, more costly dispersal resulted in walks with higher correlation between successive steps. However, the exact walk that evolved also depended upon the density of suitable habitat patches, with low density habitat evolving more biased walks (individuals which orient towards suitable habitat at quite large distances from that habitat). Thus, low density habitat will tend to develop individuals which disperse efficiently between adjacent habitat patches but which only rarely disperse to more distant patches; a result that has clear implications for metapopulation theory. Hence, an understanding of the movement behaviour of dispersing individuals is critical for robust long-term predictions of population dynamics in fragmented landscapes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"BartoĹ„","given":"Kamil A."},{"family":"Phillips","given":"Ben L."},{"family":"Morales","given":"Juan M."},{"family":"Travis","given":"Justin M. J."}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2008.16936.x","ISSN":"1600-0706","issue":"2","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2008.16936.x","page":"309-319","source":"Wiley Online Library","title":"The evolution of an â€intelligent’ dispersal strategy: biased, correlated random walks in patchy landscapes","title-short":"The evolution of an â€intelligent’ dispersal strategy","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2008.16936.x","volume":"118"}, + {"id":"bartonRiskyMovementIncreases2012","abstract":"The movement rules used by an individual determine both its survival and dispersal success. Here, we develop a simple model that links inter-patch movement behaviour with population dynamics in order to explore how individual dispersal behaviour influences not only its dispersal and survival, but also the population's rate of range expansion. Whereas dispersers are most likely to survive when they follow nearly straight lines and rapidly orient movement towards a non-natal patch, the most rapid rates of range expansion are obtained for trajectories in which individuals delay biasing their movement towards a non-natal patch. This result is robust to the spatial structure of the landscape. Importantly, in a set of evolutionary simulations, we also demonstrate that the movement strategy that evolves at an expanding front is much closer to that maximizing the rate of range expansion than that which maximizes the survival of dispersers. Our results suggest that if one of our conservation goals is the facilitation of range-shifting, then current indices of connectivity need to be complemented by the development and utilization of new indices providing a measure of the ease with which a species spreads across a landscape.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"BartoĹ„","given":"K. A."},{"family":"Hovestadt","given":"T."},{"family":"Phillips","given":"B. L."},{"family":"Travis","given":"J. M. J."}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","DOI":"10.1098/rspb.2011.1254","issue":"1731","issued":{"date-parts":[[2012,3,22]]},"page":"1194-1202","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Risky movement increases the rate of range expansion","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2011.1254","volume":"279"}, + {"id":"beaumontApproximateBayesianComputation2010","abstract":"In the past 10years a statistical technique, approximate Bayesian computation (ABC), has been developed that can be used to infer parameters and choose between models in the complicated scenarios that are often considered in the environmental sciences. For example, based on gene sequence and microsatellite data, the method has been used to choose between competing models of human demographic history as well as to infer growth rates, times of divergence, and other parameters. The method fits naturally in the Bayesian inferential framework, and a brief overview is given of the key concepts. Three main approaches to ABC have been developed, and these are described and compared. Although the method arose in population genetics, ABC is increasingly used in other fields, including epidemiology, systems biology, ecology, and agent-based modeling, and many of these applications are briefly described.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Beaumont","given":"Mark A."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev-ecolsys-102209-144621","issue":"1","issued":{"date-parts":[[2010]]},"note":"_eprint: https://doi.org/10.1146/annurev-ecolsys-102209-144621","page":"379-406","source":"Annual Reviews","title":"Approximate Bayesian Computation in Evolution and Ecology","type":"article-journal","URL":"https://doi.org/10.1146/annurev-ecolsys-102209-144621","volume":"41"}, + {"id":"bellardImpactsClimateChange2012","abstract":"Many studies in recent years have investigated the effects of climate change on the future of biodiversity. In this review, we first examine the different possible effects of climate change that can operate at individual, population, species, community, ecosystem and biome scales, notably showing that species can respond to climate change challenges by shifting their climatic niche along three non-exclusive axes: time (e.g. phenology), space (e.g. range) and self (e.g. physiology). Then, we present the principal specificities and caveats of the most common approaches used to estimate future biodiversity at global and sub-continental scales and we synthesise their results. Finally, we highlight several challenges for future research both in theoretical and applied realms. Overall, our review shows that current estimates are very variable, depending on the method, taxonomic group, biodiversity loss metrics, spatial scales and time periods considered. Yet, the majority of models indicate alarming consequences for biodiversity, with the worst-case scenarios leading to extinction rates that would qualify as the sixth mass extinction in the history of the earth.","author":[{"family":"Bellard","given":"CĂ©line"},{"family":"Bertelsmeier","given":"Cleo"},{"family":"Leadley","given":"Paul"},{"family":"Thuiller","given":"Wilfried"},{"family":"Courchamp","given":"Franck"}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/j.1461-0248.2011.01736.x","ISSN":"1461-0248","issue":"4","issued":{"date-parts":[[2012,4]]},"language":"eng","page":"365-377","PMCID":"PMC3880584","PMID":"22257223","source":"PubMed","title":"Impacts of climate change on the future of biodiversity","type":"article-journal","volume":"15"}, + {"id":"bentonDispersalInvertebratesInfluences2012","abstract":"This chapter briefly lists some of the generic factors that differentiate dispersal in invertebrates from vertebrates. Invertebrates can have considerable flexibility in their life histories and can often develop specific machinery or life-history stages for movement or a combination of life-history stage and behaviour. This makes the overall context of the life history crucial in determining the scope for dispersal, which is often constrained developmentally into a short period. There has been an increasing recognition that variability between individuals is both ubiquitous and important in ecology. The purpose of this chapter is to focus on the proximal factors that influence an individual's decisions, using examples from invertebrates. Environmental factors are first addressed, followed by the role of an individual's age, stage, sex, and condition on dispersal decisions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Benton","given":"Tim G."},{"family":"Bowler","given":"Diana E."}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0004","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal in invertebrates: influences on individual decisions","title-short":"Dispersal in invertebrates","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-4"}, + {"id":"bentonMicrocosmExperimentsCan2007","abstract":"Global-scale environmental problems are rarely regarded as amenable to traditional scientific experiment. We argue here that small-scale experiments using â€model organisms’ in microcosms or mesocosms can be a useful approach for apparently intractable global problems, such as ecosystem responses to climate change or managing biodiversity through the design of nature reserves. An experimental, small-scale research programme can easily be coupled with the development of theory and act as a stimulus to further research, thereby hastening both understanding of the issues and development of practical solutions. This process – from microcosm experiment to the development of practical application – has previously been influential but also has a long time lag. We suggest short-cuts in an attempt to stimulate the use of small-scale experiments to address globally urgent issues with meaningful policy implications.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Benton","given":"Tim G."},{"family":"Solan","given":"Martin"},{"family":"Travis","given":"Justin M. J."},{"family":"Sait","given":"Steven M."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2007.08.003","ISSN":"0169-5347","issue":"10","issued":{"date-parts":[[2007,10,1]]},"language":"en","page":"516-521","source":"ScienceDirect","title":"Microcosm experiments can inform global ecological problems","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534707002315","volume":"22"}, + {"id":"bessa-gomesDiscreteTwosexModels2010","abstract":"Although sexual reproduction has long been a central subject of theoretical ecology, until recently its consequences for population dynamics were largely overlooked. This is now changing, and many studies have addressed this issue, showing that when the mating system is taken into account, the population dynamics depends on the relative abundance of males and females, and is non-linear. Moreover, sexual reproduction increases the extinction risk, namely due to the Allee effect. Nevertheless, different studies have identified diverse potential consequences, depending on the choice of mating function. In this study, we investigate the consequences of three alternative mating functions that are frequently used in discrete population models: the minimum; the harmonic mean; and the modified harmonic mean. We consider their consequences at three levels: on the probability that females will breed; on the presence and intensity of the Allee effect; and on the extinction risk. When we consider the harmonic mean, the number of times the individuals of the least abundant sex mate exceeds their mating potential, which implies that with variable sex-ratios the potential reproductive rate is no longer under the modeller's control. Consequently, the female breeding probability exceeds 1 whenever the sex-ratio is male-biased, which constitutes an obvious problem. The use of the harmonic mean is thus only justified if we think that this parameter should be re-defined in order to represent the females' breeding rate and the fact that females may reproduce more than once per breeding season. This phenomenon buffers the Allee effect, and reduces the extinction risk. However, when we consider birth-pulse populations, such a phenomenon is implausible because the number of times females can reproduce per birth season is limited. In general, the minimum or modified harmonic mean mating functions seem to be more suitable for assessing the impact of mating systems on population dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bessa-Gomes","given":"Carmen"},{"family":"Legendre","given":"StĂ©phane"},{"family":"Clobert","given":"Jean"}],"container-title":"Acta Oecologica","DOI":"10.1016/j.actao.2010.02.010","ISSN":"1146-609X","issued":{"date-parts":[[2010,9,1]]},"page":"439-445","source":"NASA ADS","title":"Discrete two-sex models of population dynamics: On modelling the mating function","title-short":"Discrete two-sex models of population dynamics","type":"article-journal","URL":"https://ui.adsabs.harvard.edu/abs/2010AcO....36..439B","volume":"36"}, + {"id":"bestWhichSpeciesWill2007","abstract":"Understanding the ability of species to shift their geographic range is of considerable importance given the current period of rapid climate change. Furthermore, a greater understanding of the spatial population dynamics underlying range shifting is required to complement the advances made in climate niche modelling. A simulation model is developed which incorporates three key features that have been largely overlooked in studies of range shifting dynamics: the form of intraspecific competition, density dependent dispersal and the transient dynamics of habitat patches. The results show that the exact shape of the response depends critically on both local and patch dynamics. Species whose intraspecific competition is contest based are more vulnerable than those whose competition is scramble based. Contesters are especially sensitive when combined with density dependent dispersal. Species living in patches whose carrying capacity grows slowly are also susceptible to rapid shifts of environmental conditions. A complementary analytic approach further highlights the importance of intraspecific competition.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Best","given":"A. S."},{"family":"Johst","given":"K."},{"family":"MĂĽnkemĂĽller","given":"T."},{"family":"Travis","given":"J. M. J."}],"container-title":"Oikos","DOI":"10.1111/j.0030-1299.2007.16047.x","ISSN":"1600-0706","issue":"9","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0030-1299.2007.16047.x","page":"1531-1539","source":"Wiley Online Library","title":"Which species will succesfully track climate change? The influence of intraspecific competition and density dependent dispersal on range shifting dynamics","title-short":"Which species will succesfully track climate change?","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.0030-1299.2007.16047.x","volume":"116"}, + {"id":"bianRepresentationEnvironmentContext2003","abstract":"Individual-based modeling includes the explicit representation of the environment, to which individual organisms interact. From the perspective of spatial representation, spatially extended environment is different from discrete individual organisms, thus the success of object-orientation in the representation of individual organisms may not be applicable to the representation of the environment. Over the past few years, the attempt to adopt object-orientation in the representation of the environment has stimulated interesting discussions over what space is and how it may be represented in ecological modeling. The objective of this paper is to evaluate the merit of two traditional approaches used to represent the environment, i.e., the grid model and the patch model, and, in particular, the object-oriented versions of the two approaches in the representation of the environment. Two case studies are provided in support of the discussions of how the environment may be represented. One case study concerns individual fish growth and movement in an aquatic environment and the other concerns the movement of calving elk in a short-grass prairie. The discussion stresses the importance of two issues in the context of individual-based modeling: (1) the distinction between object-orientation used as a programming technique and as a representation means, and (2) the conceptual compatibility between a perceived phenomenon and the approach used to represent the phenomenon. It is suggested that caution be exercised in the practice of treating cells as objects. The paper concludes that two approaches may be appropriate for individual-based modeling. One is a hybrid approach that incorporates the traditional grid model of the environment and an object-oriented model of individual organisms. The other is the all-object approach that combines the object-oriented patches of the environment and the object-oriented individual organisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bian","given":"Ling"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/S0304-3800(02)00298-3","ISSN":"0304-3800","issue":"2","issued":{"date-parts":[[2003,1,15]]},"language":"en","page":"279-296","source":"ScienceDirect","title":"The representation of the environment in the context of individual-based modeling","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380002002983","volume":"159"}, + {"id":"bitumeDensityGeneticRelatedness2013","abstract":"Although dispersal distance plays a major role in determining whether organisms will reach new habitats, empirical data on the environmental factors that affect dispersal distance are lacking. Population density and kin competition are two factors theorised to increase dispersal distance. Using the two-spotted spider mite as a model species, we altered these two environmental conditions and measured the mean dispersal distance of individuals, as well as other attributes of the dispersal kernel. We find that both density and relatedness in the release patch increase dispersal distance. Relatedness, but not density, changes the shape of the dispersal kernel towards a more skewed and leptokurtic shape including a longer â€fat-tail’. This is the first experimental demonstration that kin competition can shape the whole distribution of dispersal distances in a population, and thus affect the geographical spread of dispersal phenotypes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bitume","given":"E. V."},{"family":"Bonte","given":"D."},{"family":"Ronce","given":"O."},{"family":"Bach","given":"F."},{"family":"Flaven","given":"E."},{"family":"Olivieri","given":"I."},{"family":"Nieberding","given":"C. M."}],"container-title":"Ecology Letters","DOI":"10.1111/ele.12057","ISSN":"1461-0248","issue":"4","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ele.12057","page":"430-437","source":"Wiley Online Library","title":"Density and genetic relatedness increase dispersal distance in a subsocial organism","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/ele.12057","volume":"16"}, + {"id":"bocediEffectsLocalAdaptation2013","abstract":"Local adaptation and species interactions have been shown to affect geographic ranges; therefore, we need models of climate impact that include both factors. To identify possible dynamics of species when including these factors, we ran simulations of two competing species using an individual-based, coupled map-lattice model using a linear climatic gradient that varies across latitude and is warmed over time. Reproductive success is governed by an individual's adaptation to local climate as well as its location relative to global constraints. In exploratory experiments varying the strength of adaptation and competition, competition reduces genetic diversity and slows range change, although the two species can coexist in the absence of climate change and shift in the absence of competitors. We also found that one species can drive the other to extinction, sometimes long after climate change ends. Weak selection on local adaptation and poor dispersal ability also caused surfing of cooler-adapted phenotypes from the expanding margin backwards, causing loss of warmer-adapted phenotypes. Finally, geographic ranges can become disjointed, losing centrally-adapted genotypes. These initial results suggest that the interplay between local adaptation and interspecific competition can significantly influence species' responses to climate change, in a way that demands future research.","author":[{"family":"Bocedi","given":"Greta"},{"family":"Atkins","given":"Katherine E."},{"family":"Liao","given":"Jishan"},{"family":"Henry","given":"Roslyn C."},{"family":"Travis","given":"Justin M. J."},{"family":"Hellmann","given":"Jessica J."}],"container-title":"Annals of the New York Academy of Sciences","container-title-short":"Ann N Y Acad Sci","DOI":"10.1111/nyas.12211","ISSN":"1749-6632","issued":{"date-parts":[[2013,9]]},"language":"eng","page":"83-97","PMID":"23905876","source":"PubMed","title":"Effects of local adaptation and interspecific competition on species' responses to climate change","type":"article-journal","volume":"1297"}, + {"id":"bocediProjectingSpeciesRange2012a","abstract":"1. Dynamic simulation models are a promising tool for assessing how species respond to habitat fragmentation and climate change. However, sensitivity of their outputs to impacts of spatial resolution is insufficiently known.\n2. Using an individual-based dynamic model for species’ range expansion, we demonstrate an inherent risk of substantial biases resulting from choices relating to the resolution at which key patterns and processes are modelled.\n3. Increasing cell size leads to overestimating dispersal distances, the extent of the range shift and population size. Overestimation accelerates with cell size for species with short dispersal capacity and is particularly severe in highly fragmented landscapes.\n4. The overestimation results from three main interacting sources: homogenisation of spatial information, alteration of dispersal kernels and stabilisation/aggregation of population dynamics.\n5. We urge for caution in selecting the spatial resolution used in dynamic simulations and other predictive models and highlight the urgent need to develop upscaling methods that maintain important patterns and processes at fine scales.","author":[{"family":"Bocedi","given":"Greta"},{"family":"Pe'er","given":"Guy"},{"family":"Heikkinen","given":"Risto"},{"family":"Matsinos","given":"Yiannis"},{"family":"Travis","given":"Justin"}],"container-title":"Methods in Ecology and Evolution","container-title-short":"Methods in Ecology and Evolution","DOI":"10.1111/j.2041-210X.2012.00235.x","issued":{"date-parts":[[2012,12,1]]},"page":"1008-1018","source":"ResearchGate","title":"Projecting species' range expansion dynamics: Sources of systematic biases when scaling up patterns and processes","title-short":"Projecting species' range expansion dynamics","type":"article-journal","volume":"3"}, + {"id":"bocediRangeShifterPlatformModelling2014","abstract":"Rapid environmental changes are threatening biodiversity and exposing species to novel ecological and evolutionary pressures. The scientific community increasingly recognizes the need for dynamic models integrating sufficient complexity both to improve our understanding of species' responses to environmental changes and to inform effective management strategies. Using three illustrative examples, we introduce a novel modelling platform, RangeShifter, which integrates complex population dynamics and dispersal behaviour, includes plastic and evolutionary processes and simulates scenarios on spatially explicit landscapes. The software provides functionality for a wide variety of modelling applications ranging from applied questions, where it can be parameterized for real landscapes and species to compare alternative potential management interventions, to purely theoretical studies of species' eco-evolutionary dynamics and responses to different environmental pressures. RangeShifter provides an important tool for facilitating the advancement of ecological theory on species' spatial dynamics in response to environmental changes, and linking it directly to application in biodiversity conservation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bocedi","given":"Greta"},{"family":"Palmer","given":"Stephen C. F."},{"family":"Pe'er","given":"Guy"},{"family":"Heikkinen","given":"Risto K."},{"family":"Matsinos","given":"Yiannis G."},{"family":"Watts","given":"Kevin"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/2041-210X.12162","ISSN":"2041-210X","issue":"4","issued":{"date-parts":[[2014]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.12162","page":"388-396","source":"Wiley Online Library","title":"RangeShifter: a platform for modelling spatial eco-evolutionary dynamics and species' responses to environmental changes","title-short":"RangeShifter","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/2041-210X.12162","volume":"5"}, + {"id":"bocediUncertaintyRoleInformation2012","abstract":"There is increasing empirical evidence that individuals utilize social and environmental cues in making decisions as to whether or not to disperse. However, we lack theory exploring the influence of information acquisition and use on the evolution of dispersal strategies and metapopulation dynamics. We used an individual-based, spatially explicit simulation model to explore the evolution of emigration strategies under varying precision of information about the natal patch, cost of information acquisition, and environmental predictability. Our findings show an interesting interplay between information use and the evolved emigration propensity. Lack of information led to higher emigration probabilities in more unpredictable environments but to lower emigration probabilities in constant or highly predictable scenarios. Somewhat-informed dispersal strategies were selected for in most cases, even when the acquisition of information was associated with a moderate reproductive cost. Notably, selection rarely favored investment in acquisition of high-precision information, and the tendency to invest in information acquisition was greatest in predictable environments when the associated cost was low. Our results highlight that information use can affect dispersal in a complex manner and also emphasize that information-acquisition behaviors can themselves come under strong selection, resulting in evolutionary dynamics that are tightly coupled to those of context-dependent behaviors.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bocedi","given":"Greta"},{"family":"Heinonen","given":"Johannes"},{"family":"Travis","given":"Justin M. J."}],"container-title":"The American Naturalist","DOI":"10.1086/665004","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[2012,5,1]]},"page":"606-620","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"Uncertainty and the Role of Information Acquisition in the Evolution of Context-Dependent Emigration.","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/665004","volume":"179"}, + {"id":"boeyeMoreRapidClimate2013","abstract":"Species can either adapt to new conditions induced by climate change or shift their range in an attempt to track optimal environmental conditions. During current range shifts, species are simultaneously confronted with a second major anthropogenic disturbance, landscape fragmentation. Using individual-based models with a shifting climate window, we examine the effect of different rates of climate change on the evolution of dispersal distances through changes in the genetically determined dispersal kernel. Our results demonstrate that the rate of climate change is positively correlated to the evolved dispersal distances although too fast climate change causes the population to crash. When faced with realistic rates of climate change, greater dispersal distances evolve than those required for the population to keep track of the climate, thereby maximizing population size. Importantly, the greater dispersal distances that evolve when climate change is more rapid, induce evolutionary rescue by facilitating the population in crossing large gaps in the landscape. This could ensure population persistence in case of range shifting in fragmented landscapes. Furthermore, we highlight problems in using invasion speed as a proxy for potential range shifting abilities under climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Boeye","given":"Jeroen"},{"family":"Travis","given":"Justin M J"},{"family":"Stoks","given":"Robby"},{"family":"Bonte","given":"Dries"}],"container-title":"Evolutionary Applications","container-title-short":"Evol Appl","DOI":"10.1111/eva.12004","ISSN":"1752-4571","issue":"2","issued":{"date-parts":[[2013,2]]},"page":"353-364","PMCID":"PMC3586623","PMID":"23467649","source":"PubMed Central","title":"More rapid climate change promotes evolutionary rescue through selection for increased dispersal distance","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3586623/","volume":"6"}, + {"id":"bonenfantChapterEmpiricalEvidence2009","abstract":"Densityâ€dependence is a key concept in population dynamics. Here, we review how body mass and demographic parameters vary with population density in large herbivores. The demographic parameters we consider are age†and sexâ€specific reproduction, survival and dispersal. As population density increases, the body mass of large herbivores typically declines, affecting individual performance traits such as age of first reproduction and juvenile survival. We documented densityâ€dependent variations in reproductive rates for many species from the Arctic to subtropical zones, both with and without predation. At high density, a tradeâ€off between growth and reproduction delays the age of primiparity and often increases the costs of reproduction, decreasing both survival and future reproductive success of adult females. Densityâ€dependent preweaning juvenile survival occurs more often in polytocous than monotocous species, while the effects of density on postâ€weaning juvenile survival are independent of litter size. Responses of adult survival to density are much less marked than for juvenile survival, and may be exaggerated by densityâ€dependent changes in age structure. The role of densityâ€dependent dispersal in population dynamics remains uncertain, because very few studies have examined it. For sexually dimorphic species, we found little support for higher sensitivity to increasing density in the life history traits of males compared to females, except for young age classes. It remains unclear whether males of dimorphic species are sensitive to male density, female density or a combination of both. Eberhardt's model predicting a sequential effect of density on demographic parameters (from juvenile survival to adult survival) was supported by 9 of 10 case studies. In addition, population density at birth can also lead to cohort effects, including a direct effect on juvenile survival and longâ€term effects on average cohort performance as adults. Density effects typically interact with weather, increasing in strength in years of harsh weather. For some species, the synchronization between plant phenology and reproductive cycle is a key process in population dynamics. The timing of late gestation as a function of plant phenology determines whether densityâ€dependence influences juvenile survival or adult female reproduction. The detection of densityâ€dependence can be made difficult by nonlinear relationships with density, high sampling variability, lagged responses to density changes, changes in population age structure, and temporal variation in the main factors limiting population growth. The negative feedbacks of population size on individual performance, and hence on life history traits, are thus only expected in particular ecological contexts and are most often restricted to certain ageâ€specific demographic traits.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bonenfant","given":"Christophe"},{"family":"Gaillard","given":"Jeanâ€Michel"},{"family":"Coulson","given":"Tim"},{"family":"Festaâ€Bianchet","given":"Marco"},{"family":"Loison","given":"Anne"},{"family":"Garel","given":"Mathieu"},{"family":"Loe","given":"Leif Egil"},{"family":"Blanchard","given":"Pierrick"},{"family":"Pettorelli","given":"Nathalie"},{"family":"Owenâ€Smith","given":"Norman"},{"family":"Du Toit","given":"Johan"},{"family":"Duncan","given":"Patrick"}],"container-title":"Advances in Ecological Research","DOI":"10.1016/S0065-2504(09)00405-X","issued":{"date-parts":[[2009,1,1]]},"language":"en","page":"313-357","publisher":"Academic Press","source":"ScienceDirect","title":"Chapter 5 Empirical Evidence of Densityâ€Dependence in Populations of Large Herbivores","type":"chapter","URL":"https://www.sciencedirect.com/science/article/pii/S006525040900405X","volume":"41"}, + {"id":"bonteCostsDispersal2012a","abstract":"Dispersal costs can be classified into energetic, time, risk and opportunity costs and may be levied directly or deferred during departure, transfer and settlement. They may equally be incurred during life stages before the actual dispersal event through investments in special morphologies. Because costs will eventually determine the performance of dispersing individuals and the evolution of dispersal, we here provide an extensive review on the different cost types that occur during dispersal in a wide array of organisms, ranging from micro-organisms to plants, invertebrates and vertebrates. In general, costs of transfer have been more widely documented in actively dispersing organisms, in contrast to a greater focus on costs during departure and settlement in plants and animals with a passive transfer phase. Costs related to the development of specific dispersal attributes appear to be much more prominent than previously accepted. Because costs induce trade-offs, they give rise to covariation between dispersal and other life-history traits at different scales of organismal organisation. The consequences of (i) the presence and magnitude of different costs during different phases of the dispersal process, and (ii) their internal organisation through covariation with other life-history traits, are synthesised with respect to potential consequences for species conservation and the need for development of a new generation of spatial simulation models.","author":[{"family":"Bonte","given":"D."},{"family":"Bullock","given":"James M."},{"family":"Coulon","given":"AurĂ©lie"},{"family":"Delgado","given":"Maria"},{"family":"Gibbs","given":"Melanie"},{"family":"Lehouck","given":"Valerie"},{"family":"Matthysen","given":"Erik"},{"family":"Mustin","given":"Karin"},{"family":"Saastamoinen","given":"Marjo"},{"family":"Schtickzelle","given":"Nicolas"},{"family":"Stevens","given":"Virginie M."},{"family":"Vandewoestijne","given":"Sofie"},{"family":"Baguette","given":"Michel"},{"family":"Barton","given":"Kamil"},{"family":"Benton","given":"Tim G."},{"family":"Chaput-Bardy","given":"Audrey"},{"family":"Clobert","given":"Jean"},{"family":"Dytham","given":"Calvin"},{"family":"Hovestadt","given":"Thomas"},{"family":"Meier","given":"Christoph M."},{"family":"Palmer","given":"Steve C. F."},{"family":"Turlure","given":"Camille"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Biological Reviews of the Cambridge Philosophical Society","container-title-short":"Biol Rev Camb Philos Soc","DOI":"10.1111/j.1469-185X.2011.00201.x","ISSN":"1469-185X","issue":"2","issued":{"date-parts":[[2012,5]]},"language":"eng","page":"290-312","PMID":"21929715","source":"PubMed","title":"Costs of dispersal","type":"article-journal","volume":"87"}, + {"id":"bonteEvolutionDispersalPolymorphism2010","abstract":"Many organisms show polymorphism in dispersal distance strategies. This variation is particularly ecological relevant if it encompasses a functional separation of short- (SDD) and long-distance dispersal (LDD). It remains, however, an open question whether both parts of the dispersal kernel are similarly affected by landscape related selection pressures. We implemented an individual-based model to analyze the evolution of dispersal traits in fractal landscapes that vary in the proportion of habitat and its spatial configuration. Individuals are parthenogenetic with dispersal distance determined by two alleles on each individual's genome: one allele coding for the probability of global dispersal and one allele coding for the variance Ď of a Gaussian local dispersal with mean value zero. Simulations show that mean distances of local dispersal and the probability of global dispersal, increase with increasing habitat availability, but that changes in the habitat's spatial autocorrelation impose opposing selective pressure: local dispersal distances decrease and global dispersal probabilities increase with decreasing spatial autocorrelation of the available habitat. Local adaptation of local dispersal distance emerges in landscapes with less than 70% of clumped habitat. These results demonstrate that long and short distance dispersal evolve separately according to different properties of the landscape. The landscape structure may consequently largely affect the evolution of dispersal distance strategies and the level of dispersal polymorphism.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bonte","given":"Dries"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans-Joachim"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2009.17943.x","ISSN":"1600-0706","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2009.17943.x","page":"560-566","source":"Wiley Online Library","title":"Evolution of dispersal polymorphism and local adaptation of dispersal distance in spatially structured landscapes","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2009.17943.x","volume":"119"}, + {"id":"bonteGeographicalVariationWolf2006","abstract":"Theoretical studies suggest that mechanisms underlying habitat and population structure are important for shaping inter- and intraspecific variation in dispersal behaviour. Empirical evidence, especially in organisms living in spatially structured populations, however, is scarce. We investigated the relation between habitat configuration (patch size, connectivity) and dispersal by studying variation in tiptoe behaviour in the dune wolf spider, Pardosa monticola, under standardized laboratory conditions. Tiptoe behaviour prepares spiderlings for ballooning and can hence be considered as a precursor of aerial dispersal. The proportion of individuals that displayed tiptoe behaviour was highest in offspring from grasslands in a large dune landscape where habitat was continuously available, intermediate in offspring originating from a fragmented landscape, and lowest in offspring originating from a small and extremely isolated grassland patch. At the level of the fragmented landscape, variation was related to size and connectivity of four subpopulations. Both between and within landscapes, maternal condition had no effect on offspring dispersal. These results indicate that changes in habitat configuration from a large, connected landscape towards a small, fragmented one may lead to a decrease in dispersal rates, even at small spatial scales. Hence, behavioural traits narrowly linked to dispersal evolve towards less mobile phenotypes in small, isolated habitats, indicating high dispersal costs and low efficacy for gene flow in a spider species restricted to fragmented habitats.","author":[{"family":"Bonte","given":"D."},{"family":"Borre","given":"J. V."},{"family":"Lens","given":"L."},{"family":"Maelfait","given":"J."}],"container-title":"Animal Behaviour","DOI":"10.1016/j.anbehav.2005.11.026","issued":{"date-parts":[[2006]]},"source":"Semantic Scholar","title":"Geographical variation in wolf spider dispersal behaviour is related to landscape structure","type":"article-journal"}, + {"id":"bonteSexspecificDispersalEvolutionary2009","abstract":"Background: Male killing endosymbionts manipulate their arthropod host reproduction by only allowing female embryos to develop into infected females and killing all male offspring. Because the resulting change in sex ratio is expected to affect the evolution of sex-specific dispersal, we investigated under which environmental conditions strong sex-biased dispersal would emerge, and how this would affect host and endosymbiont metapopulation persistence. Results: We simulated host-endosymbiont metapopulation dynamics in an individual-based model, in which dispersal rates are allowed to evolve independently for the two sexes. Prominent male-biased dispersal emerges under conditions of low environmental stochasticity and high dispersal mortality. By applying a reshuffling algorithm, we show that kin-competition is a major driver of this evolutionary pattern because of the high within-population relatedness of males compared to those of females. Moreover, the evolution of sex-specific dispersal rescues metapopulations from extinction by (i) reducing endosymbiont fixation rates and (ii) by enhancing the extinction of endosymbionts within metapopulations that are characterized by low environmental stochasticity. Conclusion: Male killing endosymbionts induce the evolution of sex-specific dispersal, with prominent male-biased dispersal under conditions of low environmental stochasticity and high dispersal mortality. This male-biased dispersal emerges from stronger kin-competition in males compared to females and induces an evolutionary rescue mechanism.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bonte","given":"Dries"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans Joachim"}],"issued":{"date-parts":[[2009]]},"language":"eng","source":"opus.bibliothek.uni-wuerzburg.de","title":"Sex-specific dispersal and evolutionary rescue in metapopulations infected by male killing endosymbionts","type":"article-journal","URL":"https://opus.bibliothek.uni-wuerzburg.de/frontdoor/index/index/docId/3999"}, + {"id":"boulangeatAccountingDispersalBiotic2012","abstract":"Ecology Letters (2012) Abstract Although abiotic factors, together with dispersal and biotic interactions, are often suggested to explain the distribution of species and their abundances, species distribution models usually focus on abiotic factors only. We propose an integrative framework linking ecological theory, empirical data and statistical models to understand the distribution of species and their abundances together with the underlying community assembly dynamics. We illustrate our approach with 21 plant species in the French Alps. We show that a spatially nested modelling framework significantly improves the model’s performance and that the spatial variations of species presence–absence and abundances are predominantly explained by different factors. We also show that incorporating abiotic, dispersal and biotic factors into the same model bring new insights to our understanding of community assembly. This approach, at the crossroads between community ecology and biogeography, is a promising avenue for a better understanding of species co-existence and biodiversity distribution.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Boulangeat","given":"Isabelle"},{"family":"Gravel","given":"Dominique"},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2012.01772.x","ISSN":"1461-0248","issue":"6","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2012.01772.x","page":"584-593","source":"Wiley Online Library","title":"Accounting for dispersal and biotic interactions to disentangle the drivers of species distributions and their abundances","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2012.01772.x","volume":"15"}, + {"id":"bowlerCausesConsequencesAnimal2005a","abstract":"Knowledge of the ecological and evolutionary causes of dispersal can be crucial in understanding the behaviour of spatially structured populations, and predicting how species respond to environmental change. Despite the focus of much theoretical research, simplistic assumptions regarding the dispersal process are still made. Dispersal is usually regarded as an unconditional process although in many cases fitness gains of dispersal are dependent on environmental factors and individual state. Condition-dependent dispersal strategies will often be superior to unconditional, fixed strategies. In addition, dispersal is often collapsed into a single parameter, despite it being a process composed of three interdependent stages: emigration, inter-patch movement and immigration, each of which may display different condition dependencies. Empirical studies have investigated correlates of these stages, emigration in particular, providing evidence for the prevalence of conditional dispersal strategies. Ill-defined use of the term 'dispersal', for movement across many different spatial scales, further hinders making general conclusions and relating movement correlates to consequences at the population level. Logistical difficulties preclude a detailed study of dispersal for many species, however incorporating unrealistic dispersal assumptions in spatial population models may yield inaccurate and costly predictions. Further studies are necessary to explore the importance of incorporating specific condition-dependent dispersal strategies for evolutionary and population dynamic predictions.","author":[{"family":"Bowler","given":"Diana E."},{"family":"Benton","given":"Tim G."}],"container-title":"Biological Reviews of the Cambridge Philosophical Society","container-title-short":"Biol Rev Camb Philos Soc","DOI":"10.1017/s1464793104006645","ISSN":"1464-7931","issue":"2","issued":{"date-parts":[[2005,5]]},"language":"eng","page":"205-225","PMID":"15921049","source":"PubMed","title":"Causes and consequences of animal dispersal strategies: relating individual behaviour to spatial dynamics","title-short":"Causes and consequences of animal dispersal strategies","type":"article-journal","volume":"80"}, + {"id":"bridleLimitsEvolutionRange2007","abstract":"What stops populations expanding into new territory beyond the edge of a range margin? Recent models addressing this problem have brought together population genetics and population ecology, and some have included interactions among species at range edges. Here, we review these models of adaptation at environmental or parapatric margins, and discuss the contrasting effects of migration in either swamping local adaptation, or supplying the genetic variation that is necessary for adaptation to continue. We illustrate how studying adaptation at range margins (both with and without hybridization) can provide insight into the genetic and ecological factors that limit evolution more generally, especially in response to current rates of environmental change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bridle","given":"Jon R"},{"family":"Vines","given":"Timothy H"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2006.11.002","ISSN":"0169-5347","issue":"3","issued":{"date-parts":[[2007,3,1]]},"language":"en","page":"140-147","source":"ScienceDirect","title":"Limits to evolution at range margins: when and why does adaptation fail?","title-short":"Limits to evolution at range margins","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534706003636","volume":"22"}, + {"id":"brookerModellingSpeciesRange2007","abstract":"There is an urgent need for accurate prediction of climate change impacts on species ranges. Current reliance on bioclimatic envelope approaches ignores important biological processes such as interactions and dispersal. Although much debated, it is unclear how such processes might influence range shifting. Using individual-based modelling we show that interspecific interactions and dispersal ability interact with the rate of climate change to determine range-shifting dynamics in a simulated community with two growth forms--mutualists and competitors. Interactions determine spatial arrangements of species prior to the onset of rapid climate change. These lead to space-occupancy effects that limit the rate of expansion of the fast-growing competitors but which can be overcome by increased long-distance dispersal. As the rate of climate change increases, lower levels of long-distance dispersal can drive the mutualists to extinction, demonstrating the potential for subtle process balances, non-linear dynamics and abrupt changes from species coexistence to species loss during climate change.","author":[{"family":"Brooker","given":"Rob W."},{"family":"Travis","given":"Justin M. J."},{"family":"Clark","given":"Ewen J."},{"family":"Dytham","given":"Calvin"}],"container-title":"Journal of Theoretical Biology","container-title-short":"J Theor Biol","DOI":"10.1016/j.jtbi.2006.09.033","ISSN":"0022-5193","issue":"1","issued":{"date-parts":[[2007,3,7]]},"language":"eng","page":"59-65","PMID":"17087974","source":"PubMed","title":"Modelling species' range shifts in a changing climate: the impacts of biotic interactions, dispersal distance and the rate of climate change","title-short":"Modelling species' range shifts in a changing climate","type":"article-journal","volume":"245"}, + {"id":"broquetMolecularEstimationDispersal2009","abstract":"The dispersal process, by which individuals or other dispersing agents such as gametes or seeds move from birthplace to a new settlement locality, has important consequences for the dynamics of genes, individuals, and species. Many of the questions addressed by ecology and evolutionary biology require a good understanding of species’ dispersal patterns. Much effort has thus been devoted to overcoming the difficulties associated with dispersal measurement. In this context, genetic tools have long been the focus of intensive research, providing a great variety of potential solutions to measuring dispersal. This methodological diversity is reviewed here to help (molecular) ecologists find their way toward dispersal inference and interpretation and to stimulate further developments.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Broquet","given":"Thomas"},{"family":"Petit","given":"Eric J."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.110308.120324","issue":"1","issued":{"date-parts":[[2009]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.110308.120324","page":"193-216","source":"Annual Reviews","title":"Molecular Estimation of Dispersal for Ecology and Population Genetics","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.110308.120324","volume":"40"}, + {"id":"bullockLongDistanceSeed2000","abstract":"The size and shape of the tail of the seed dispersal curve is important in determining the spatial dynamics of plants, but is difficult to quantify. We devised an experimental protocol to measure long-distance dispersal which involved measuring dispersal by wind from isolated individuals at a range of distances from the source, but maintaining a large and constant sampling intensity at each distance. Seeds were trapped up to 80 m from the plants, the furthest a dispersal curve for an individual plant has been measured for a non-tree species. Standard empirical negative exponential and inverse power models were fitted using likelihood methods. The latter always had a better fit than the former, but in most cases neither described the data well, and strongly under-estimated the tail of the dispersal curve. An alternative model formulation with two kernel components had a much better fit in most cases and described the tail data more accurately. Mechanistic models provide an alternative to direct measurement of dispersal. However, while a previous mechanistic model accurately predicted the modal dispersal distance, it always under-predicted the measured tail. Long-distance dispersal may be caused by rare extremes in horizontal wind speed or turbulence. Therefore, under-estimation of the tail by standard empirical models and mechanistic models may indicate a lack of flexibility to take account of such extremes. Future studies should examine carefully whether the widely used exponential and power models are, in fact, valid, and investigate alternative models.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bullock","given":"J. M."},{"family":"Clarke","given":"R. T."}],"container-title":"Oecologia","container-title-short":"Oecologia","DOI":"10.1007/PL00008876","ISSN":"1432-1939","issue":"4","issued":{"date-parts":[[2000,9,1]]},"language":"en","page":"506-521","source":"Springer Link","title":"Long distance seed dispersal by wind: measuring and modelling the tail of the curve","title-short":"Long distance seed dispersal by wind","type":"article-journal","URL":"https://doi.org/10.1007/PL00008876","volume":"124"}, + {"id":"cagnacciAnimalEcologyMeets2010","abstract":"Global positioning system (GPS) telemetry technology allows us to monitor and to map the details of animal movement, securing vast quantities of such data even for highly cryptic organisms. We envision an exciting synergy between animal ecology and GPS-based radiotelemetry, as for other examples of new technologies stimulating rapid conceptual advances, where research opportunities have been paralleled by technical and analytical challenges. Animal positions provide the elemental unit of movement paths and show where individuals interact with the ecosystems around them. We discuss how knowing where animals go can help scientists in their search for a mechanistic understanding of key concepts of animal ecology, including resource use, home range and dispersal, and population dynamics. It is probable that in the not-so-distant future, intense sampling of movements coupled with detailed information on habitat features at a variety of scales will allow us to represent an animal's cognitive map of its environment, and the intimate relationship between behaviour and fitness. An extended use of these data over long periods of time and over large spatial scales can provide robust inferences for complex, multi-factorial phenomena, such as meta-analyses of the effects of climate change on animal behaviour and distribution.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Cagnacci","given":"Francesca"},{"family":"Boitani","given":"Luigi"},{"family":"Powell","given":"Roger A."},{"family":"Boyce","given":"Mark S."}],"container-title":"Philosophical Transactions of the Royal Society B: Biological Sciences","DOI":"10.1098/rstb.2010.0107","issue":"1550","issued":{"date-parts":[[2010,7,27]]},"page":"2157-2162","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Animal ecology meets GPS-based radiotelemetry: a perfect storm of opportunities and challenges","title-short":"Animal ecology meets GPS-based radiotelemetry","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rstb.2010.0107","volume":"365"}, + {"id":"caswellMatrixPopulationModels2001a","abstract":"Published by Sinauer Associates, an imprint of Oxford University Press. Matrix Population Models, Second Edition, is a comprehensive treatment of matrix population models and their applications in ecology and demography. It begins with simple cases, presented in detail so that beginning students can learn how to use these powerful models. It goes on to cover advanced topics in stochastic and nonlinear models. Analytical methods and theoretical issues are illustrated with empirical examples throughout. The decade since the publication of the First Edition of this book has seen enormous progress in the theory and application of matrix population models. The new edition includes greatly expanded treatment of stochastic and density-dependent models, sensitivity analysis, and statistical inference, and new chapters on parameter estimation, structured population models, demographic stochasticity, and applications of matrix models in conservation biology. Matrix Population Models, Second Edition, is an indispensable reference for graduate students and researchers in ecology, population biology, conservation biology, and human demography","author":[{"family":"Caswell","given":"Hal"}],"edition":"Second Edition, Matrix Population Models, Second Edition, is a comprehensive treatment of matrix population models and their applications in ecology and ...","event-place":"Oxford, New York","ISBN":"978-0-87893-121-7","issued":{"date-parts":[[2001]]},"number-of-pages":"722","publisher":"Oxford University Press","publisher-place":"Oxford, New York","source":"Oxford University Press","title":"Matrix Population Models: Construction, Analysis, and Interpretation","title-short":"Matrix Population Models","type":"book"}, + {"id":"caswellSensitivityAnalysisEquilibrium2004","abstract":"We consider the effects of parameter perturbations on a density-dependent population at equilibrium. Such perturbations change the dominant eigenvalue λ of the projection matrix evaluated at the equilibrium as well as the equilibrium itself. We show that, regardless of the functional form of density dependence, the sensitivity of λ is equal to the sensitivity of an effective equilibrium density , which is a weighted combination of the equilibrium stage densities. The weights measure the contributions of each stage to density dependence and their effects on demography. Thus, is in general more relevant than total density, which simply adds all stages regardless of their ecological properties. As log λ is the invasion exponent, our results show that successful invasion will increase , and that an evolutionary stable strategy will maximize . Our results imply that eigenvalue sensitivity analysis of a population projection matrix that is evaluated near equilibrium can give useful information about the sensitivity of the equilibrium population, even if no data on density dependence are available.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Caswell","given":"Hal"},{"family":"Takada","given":"Takenori"},{"family":"Hunter","given":"Christine M."}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2004.00595.x","ISSN":"1461-0248","issue":"5","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00595.x","page":"380-387","source":"Wiley Online Library","title":"Sensitivity analysis of equilibrium in density-dependent matrix population models","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2004.00595.x","volume":"7"}, + {"id":"caswellTwoSexModelsChaos1986","abstract":"Most demographic models consider only one sex, usually the female. The widespread occurrence of sexual dimorphism in life history traits and the occurrence of skewed and fluctuating sex ratios suggest that one-sex models or those dominated by one sex may often be less appropriate than two-sex models. Reproduction in two-sex models is a frequency-dependent nonlinear function (the birth or marriage function) of the relative abundance of males and females. In this paper, we examine the population dynamics resulting from three different two-sex, discrete-time, population-projection models. For a large class of birth functions, models without inter-stage mate competition are shown to converge to a locally stable adult sex ratio. Formulas for the stable population structure, stable sex ratio, and reproductive value at equilibrium are derived. When individuals of different stages compete for mates, the equilibrium population structure may become unstable. A sequence of bifurcations then occurs, leading to periodic oscillations, quasi-periodic fluctuations, and chaos as the intensity of competition increases. Finally, when per capita fecundity is a sigmoid function of the relative abundance of the other sex, perturbations of the sex ratio may lead to extinction.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Caswell","given":"Hal"},{"family":"Weeks","given":"Daniel E."}],"container-title":"The American Naturalist","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[1986]]},"page":"707-735","publisher":"[University of Chicago Press, American Society of Naturalists]","source":"JSTOR","title":"Two-Sex Models: Chaos, Extinction, and Other Dynamic Consequences of Sex","title-short":"Two-Sex Models","type":"article-journal","URL":"https://www.jstor.org/stable/2461952","volume":"128"}, + {"id":"chaineCoevolutionMultiplyinformedDispersal2013","abstract":"Dispersal plays a key role in natural systems by shaping spatial population and evolutionary dynamics. Dispersal has been largely treated as a population process with little attention to individual decisions and the influence of information use on the fitness benefits of dispersal despite clear empirical evidence that dispersal behavior varies among individuals. While information on local density is common, more controversial is the notion that indirect information use can easily evolve. We used an individual-based model to ask under what conditions indirect information use in dispersal will evolve. We modeled indirect information provided by immigrant arrival into a population which should be linked to overall metapopulation density. We also modeled direct information use of density which directly impacts fitness. We show that immigrant-dependent dispersal evolves and does so even when density dependent information is available. Use of two sources of information also provides benefits at the metapopulation level by reducing extinction risk and prolonging the persistence of populations. Our results suggest that use of indirect information in dispersal can evolve under conservative conditions and thus could be widespread.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chaine","given":"Alexis S."},{"family":"Legendre","given":"StĂ©phane"},{"family":"Clobert","given":"Jean"}],"container-title":"PeerJ","container-title-short":"PeerJ","DOI":"10.7717/peerj.44","ISSN":"2167-8359","issued":{"date-parts":[[2013,2,26]]},"language":"en","page":"e44","publisher":"PeerJ Inc.","source":"peerj.com","title":"The co-evolution of multiply-informed dispersal: information transfer across landscapes from neighbors and immigrants","title-short":"The co-evolution of multiply-informed dispersal","type":"article-journal","URL":"https://peerj.com/articles/44","volume":"1"}, + {"id":"chaput-bardyConditionPhenotypeDependentDispersal2010","abstract":"Individual dispersal decisions may be affected by the internal state of the individual and the external information of its current environment. Here we estimated the influence of dispersal on survival and investigated if individual phenotype (sex and wing length) and environmental condition (conspecific density and sex-ratio) affected dispersal decisions in the banded damselfly, Calopteryx splendens. As suspected from the literature, we showed that the proportion of dispersing individuals was higher in females than in males. We also found negative-density dependent dispersal in both sexes and influence of sex-ratio on dispersal. Individuals moved less when sex-ratio was male biased. These results are consistent with a lek mating system where males aggregate in a place and hold mating territories. Contrary to our expectations, neither dispersal nor survival was affected by wing length. Nevertheless, mean adult survival was about 8% lower in dispersing individuals than in residents. This might reflect a mortality cost due to dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chaput-Bardy","given":"Audrey"},{"family":"GrĂ©goire","given":"Arnaud"},{"family":"Baguette","given":"Michel"},{"family":"Pagano","given":"Alain"},{"family":"Secondi","given":"Jean"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0010694","ISSN":"1932-6203","issue":"5","issued":{"date-parts":[[2010,5,18]]},"language":"en","page":"e10694","publisher":"Public Library of Science","source":"PLoS Journals","title":"Condition and Phenotype-Dependent Dispersal in a Damselfly, Calopteryx splendens","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0010694","volume":"5"}, + {"id":"chardonIncorporatingLandscapeElements2003","abstract":"In spatial studies of populations, Euclidean distance is commonly used to measure the structural connectivity between habitat patches. The role of the matrix on patch connectivity is thereby ignored. However, the importance of the matrix for (dispersal) movement is increasingly being acknowledged. Our study compared the cost-distance measure with the Euclidean distance. The cost-distance is a simple GIS-calculated connectivity measure that incorporates the resistance of the landscape matrix to movement behaviour. We used presence-absence data from a field study on the Speckled wood butterfly in two Belgian landscapes. Logistic regression revealed that the cost-distance measure had a significantly better predictive power than the Euclidean distance. This result was consistent for all the six sets of different matrix resistance values. In our study the cost-distance proves to be a better connectivity measure than the Euclidean distance.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chardon","given":"J. Paul"},{"family":"Adriaensen","given":"Frank"},{"family":"Matthysen","given":"Erik"}],"container-title":"Landscape Ecology","container-title-short":"Landscape Ecology","DOI":"10.1023/A:1026062530600","ISSN":"1572-9761","issue":"6","issued":{"date-parts":[[2003,9,1]]},"language":"en","page":"561-573","source":"Springer Link","title":"Incorporating landscape elements into a connectivity measure: a case study for the Speckled wood butterfly (Pararge aegeria L.)","title-short":"Incorporating landscape elements into a connectivity measure","type":"article-journal","URL":"https://doi.org/10.1023/A:1026062530600","volume":"18"}, + {"id":"chenRapidRangeShifts2011","abstract":"The distributions of many terrestrial organisms are currently shifting in latitude or elevation in response to changing climate. Using a meta-analysis, we estimated that the distributions of species have recently shifted to higher elevations at a median rate of 11.0 meters per decade, and to higher latitudes at a median rate of 16.9 kilometers per decade. These rates are approximately two and three times faster than previously reported. The distances moved by species are greatest in studies showing the highest levels of warming, with average latitudinal shifts being generally sufficient to track temperature changes. However, individual species vary greatly in their rates of change, suggesting that the range shift of each species depends on multiple internal species traits and external drivers of change. Rapid average shifts derive from a wide diversity of responses by individual species.\nA meta-analysis shows that species are shifting their distributions in response to climate change at an accelerating rate.\nA meta-analysis shows that species are shifting their distributions in response to climate change at an accelerating rate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chen","given":"I.-Ching"},{"family":"Hill","given":"Jane K."},{"family":"OhlemĂĽller","given":"Ralf"},{"family":"Roy","given":"David B."},{"family":"Thomas","given":"Chris D."}],"container-title":"Science","DOI":"10.1126/science.1206432","ISSN":"0036-8075, 1095-9203","issue":"6045","issued":{"date-parts":[[2011,8,19]]},"language":"en","page":"1024-1026","PMID":"21852500","publisher":"American Association for the Advancement of Science","section":"Report","source":"science.sciencemag.org","title":"Rapid Range Shifts of Species Associated with High Levels of Climate Warming","type":"article-journal","URL":"https://science.sciencemag.org/content/333/6045/1024","volume":"333"}, + {"id":"chipperfieldUpdatedAlgorithmGeneration2011","abstract":"Background Patterns that arise from an ecological process can be driven as much from the landscape over which the process is run as it is by some intrinsic properties of the process itself. The disentanglement of these effects is aided if it possible to run models of the process over artificial landscapes with controllable spatial properties. A number of different methods for the generation of so-called â€neutral landscapes’ have been developed to provide just such a tool. Of these methods, a particular class that simulate fractional Brownian motion have shown particular promise. The existing methods of simulating fractional Brownian motion suffer from a number of problems however: they are often not easily generalisable to an arbitrary number of dimensions and produce outputs that can exhibit some undesirable artefacts. Methodology We describe here an updated algorithm for the generation of neutral landscapes by fractional Brownian motion that do not display such undesirable properties. Using Monte Carlo simulation we assess the anisotropic properties of landscapes generated using the new algorithm described in this paper and compare it against a popular benchmark algorithm. Conclusion/Significance The results show that the existing algorithm creates landscapes with values strongly correlated in the diagonal direction and that the new algorithm presented here corrects this artefact. A number of extensions of the algorithm described here are also highlighted: we describe how the algorithm can be employed to generate landscapes that display different properties in different dimensions and how they can be combined with an environmental gradient to produce landscapes that combine environmental variation at the local and macro scales.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chipperfield","given":"Joseph D."},{"family":"Dytham","given":"Calvin"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0017040","ISSN":"1932-6203","issue":"2","issued":{"date-parts":[[2011,2,15]]},"language":"en","page":"e17040","publisher":"Public Library of Science","source":"PLoS Journals","title":"An Updated Algorithm for the Generation of Neutral Landscapes by Spectral Synthesis","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0017040","volume":"6"}, + {"id":"clarkInvasionExtremesPopulation2001","abstract":"For populations having dispersal described by fat-tailed kernels (kernels with tails that are not exponentially bounded), asymptotic population spread rates cannot be estimated by traditional models because these models predict continually accelerating (asymptotically infinite) invasion. The impossible predictions come from the fact that the fat-tailed kernels fitted to dispersal data have a quality (nondiscrete individuals and, thus, no moment-generating function) that never applies to data. Real organisms produce finite (and random) numbers of offspring; thus, an empirical moment-generating function can always be determined. Using an alternative method to estimate spread rates in terms of extreme dispersal events, we show that finite estimates can be derived for fat-tailed kernels, and we demonstrate how variable reproduction modifies these rates. Whereas the traditional models define spread rate as the speed of an advancing front describing the expected density of individuals, our alternative definition for spread rate is the expected velocity for the location of the furthest-forward individual in the population. The asymptotic wave speed for a constant net reproductive rate R0 is approximated as (1/T)(piuR)/2)(1/2) m yr(-1), where T is generation time, and u is a distance parameter (m2) of Clark et al.'s 2Dt model having shape parameter p = 1. From fitted dispersal kernels with fat tails and infinite variance, we derive finite rates of spread and a simple method for numerical estimation. Fitted kernels, with infinite variance, yield distributions of rates of spread that are asymptotically normal and, thus, have finite moments. Variable reproduction can profoundly affect rates of spread. By incorporating the variance in reproduction that results from variable life span, we estimate much lower rates than predicted by the standard approach, which assumes a constant net reproductive rate. Using basic life-history data for trees, we show these estimated rates to be lower than expected from previous analytical models and as interpreted from paleorecords of forest spread at the end of the Pleistocene. Our results suggest reexamination of past rates of spread and the potential for future response to climate change.","author":[{"family":"Clark","given":"J. S."},{"family":"Lewis","given":"M."},{"family":"Horvath","given":"L."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/319934","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2001,5]]},"language":"eng","page":"537-554","PMID":"18707261","source":"PubMed","title":"Invasion by extremes: population spread with variation in dispersal and reproduction","title-short":"Invasion by extremes","type":"article-journal","volume":"157"}, + {"id":"clarkReidParadoxRapid1998","abstract":"The oak, to gain its present most northerly position in North Britain after being driven out by the cold probably had to travel fully six hundred miles, and this without external aid would take something like a million years. (Reid 1899)","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Clark","given":"James S."},{"family":"Fastie","given":"Chris"},{"family":"Hurtt","given":"George"},{"family":"Jackson","given":"Stephen T."},{"family":"Johnson","given":"Carter"},{"family":"King","given":"George A."},{"family":"Lewis","given":"Mark"},{"family":"Lynch","given":"Jason"},{"family":"Pacala","given":"Stephen"},{"family":"Prentice","given":"Colin"},{"family":"Schupp","given":"Eugene W."},{"family":"Webb","given":"Thompson","suffix":"III"},{"family":"Wyckoff","given":"Peter"}],"container-title":"BioScience","container-title-short":"BioScience","DOI":"10.2307/1313224","ISSN":"0006-3568","issue":"1","issued":{"date-parts":[[1998,1,1]]},"page":"13-24","source":"Silverchair","title":"Reid's Paradox of Rapid Plant Migration: Dispersal theory and interpretation of paleoecological records","title-short":"Reid's Paradox of Rapid Plant Migration","type":"article-journal","URL":"https://doi.org/10.2307/1313224","volume":"48"}, + {"id":"clobertDispersal2001","abstract":"The ability of species to migrate that has interested ecologists for many years. Now that so many species and ecosystems face major environmental change, the ability of species to adapt to these changes by dispersing, migrating, or moving between different patches of habitat can be crucial to ensuring their survivial. This book provides a timely and wide-ranging overview of the study of dispersal and incorporates much of the latest research. The causes, mechanisms, and consequences of dispersal at the individual, population, species and community levels are considered. The potential of new techniques and models for studying dispersal, drawn from molecular biology and demography, is also explored. Perspectives and insights are offered from the fields of evolution, conservation biology and genetics. Throughout the book, theoretical approaches are combined with empirical data, and care has been taken to include examples from as wide a range of species as possible.","editor":[{"family":"Clobert","given":"Jean"},{"family":"Danchin","given":"Etienne"},{"family":"Dhondt","given":"Andre A."},{"family":"Nichols","given":"James D."}],"event-place":"Oxford, New York","ISBN":"978-0-19-850659-1","issued":{"date-parts":[[2001,2,22]]},"number-of-pages":"480","publisher":"Oxford University Press","publisher-place":"Oxford, New York","source":"Oxford University Press","title":"Dispersal","type":"book"}, + {"id":"clobertDispersalEcologyEvolution2012a","abstract":"Now that so many ecosystems face rapid and major environmental change, the ability of species to respond to these changes by dispersing or moving between different patches of habitat can be crucial to ensuring their survival. Understanding dispersal has become key to understanding how populations may persist. This book provides an overview of the fast expanding field of dispersal ecology, incorporating the very latest research. The causes, mechanisms, and consequences of dispersal at the individual, population, species, and community levels are considered. Perspectives and insights are offered from the fields of evolution, behavioural ecology, conservation biology, and genetics. Throughout the book theoretical approaches are combined with empirical data, and care has been taken to include examples from as wide a range of species as possible — both plant and animal.","accessed":{"date-parts":[[2021,8,9]]},"DOI":"10.1093/acprof:oso/9780199608898.001.0001","editor":[{"family":"Clobert","given":"Jean"},{"family":"Baguette","given":"Michel"},{"family":"Benton","given":"Tim G."},{"family":"Bullock","given":"James M."}],"event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","number-of-pages":"496","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal Ecology and Evolution","type":"book","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898"}, + {"id":"clobertInformedDispersalHeterogeneity2009","abstract":"There is accumulating evidence that individuals leave their natal area and select a breeding habitat non-randomly by relying upon information about their natal and future breeding environments. This variation in dispersal is not only based on external information (condition dependence) but also depends upon the internal state of individuals (phenotype dependence). As a consequence, not all dispersers are of the same quality or search for the same habitats. In addition, the individual's state is characterized by morphological, physiological or behavioural attributes that might themselves serve as a cue altering the habitat choice of conspecifics. These combined effects of internal and external information have the potential to generate complex movement patterns and could influence population dynamics and colonization processes. Here, we highlight three particular processes that link condition-dependent dispersal, phenotype-dependent dispersal and habitat choice strategies: (1) the relationship between the cause of departure and the dispersers' phenotype; (2) the relationship between the cause of departure and the settlement behaviour and (3) the concept of informed dispersal, where individuals gather and transfer information before and during their movements through the landscape. We review the empirical evidence for these processes with a special emphasis on vertebrate and arthropod model systems, and present case studies that have quantified the impacts of these processes on spatially structured population dynamics. We also discuss recent literature providing strong evidence that individual variation in dispersal has an important impact on both reinforcement and colonization success and therefore must be taken into account when predicting ecological responses to global warming and habitat fragmentation.","author":[{"family":"Clobert","given":"Jean"},{"family":"Le Galliard","given":"Jean-François"},{"family":"Cote","given":"Julien"},{"family":"Meylan","given":"Sandrine"},{"family":"Massot","given":"Manuel"}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/j.1461-0248.2008.01267.x","ISSN":"1461-0248","issue":"3","issued":{"date-parts":[[2009,3]]},"language":"eng","page":"197-209","PMID":"19170731","source":"PubMed","title":"Informed dispersal, heterogeneity in animal dispersal syndromes and the dynamics of spatially structured populations","type":"article-journal","volume":"12"}, + {"id":"clotucheSettlementDecisionsTwospotted2013","abstract":"In silk-spinning arthropods, silk can be used for web building, protection, and communication. Silk is an informative material about the presence of conspecifics. It can therefore inform on habitat suitability and hence assist in habitat choice. In this context, we investigated the influence of silk on microhabitat choice by the two-spotted spider mite, Tetranychus urticae. Three factors that could potentially influence habitat choice were manipulated: the strain, number, and the stage of mites. Our study showed that these factors all influence the choice of microhabitat. The tendency of whether to settle on a silk-covered area was influenced by the origin of mites (strain effect). Adult females showed a higher tendency to settle on an area covered with the silk laid by numerous congeners (number effect). Moreover, larvae seemed to be more responsive to the presence of silk than adults (stage effect). This suggests that individuals use silk as a social cue in selecting their microhabitat and that the spatial organization and group behaviour seem to be shaped by the individuals’ response to social cues, such as the amount of silk already present.\nRĂ©sumĂ©\nChez les arthropodes tisseurs, la soie peut ĂŞtre utilisĂ©e pour la construction, la protection et la communication. La soie peut Ă©galement informer de la prĂ©sence de congĂ©nères. Elle peut renseigner sur la qualitĂ© d’un habitat et donc aider les individus lors du choix d’établissement. Dans ce contexte, nous avons Ă©tudiĂ© l’influence de la soie lors de la sĂ©lection d’un micro-habitat chez l’acarien tisserand, Tetranychus urticae. Trois facteurs ont Ă©tĂ© manipulĂ©s : la souche, le nombre et le stade des acariens. Notre Ă©tude montre que ces facteurs influencent le choix du micro-habitat. La tendance Ă  s’installer sur une zone couverte de soie diffère en fonction de l’origine des acariens. Les femelles adultes montrent une plus forte tendance Ă  s’installer sur une zone couverte de soie tissĂ©e par de nombreux congĂ©nères. Les larves semblent plus sensibles que les adultes Ă  la prĂ©sence de soie. La soie est utilisĂ©e comme indice social pour choisir le micro-habitat et, dès lors, l’organisation spatiale et l’agrĂ©gation de cet acarien semblent ĂŞtre façonnĂ©es par la rĂ©ponse des individus Ă  des signaux sociaux tels que la quantitĂ© de soie.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Clotuche","given":"Gwendoline"},{"family":"Mailleux","given":"Anne-Catherine"},{"family":"Yano","given":"Shuichi"},{"family":"Detrain","given":"Claire"},{"family":"Deneubourg","given":"Jean-Louis"},{"family":"Hance","given":"Thierry"}],"container-title":"Comptes Rendus Biologies","container-title-short":"Comptes Rendus Biologies","DOI":"10.1016/j.crvi.2013.02.006","ISSN":"1631-0691","issue":"2","issued":{"date-parts":[[2013,2,1]]},"language":"en","page":"93-101","source":"ScienceDirect","title":"Settlement decisions by the two-spotted spider mite Tetranychus urticae","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S1631069113000139","volume":"336"}, + {"id":"codlingRandomWalkModels2008","abstract":"Mathematical modelling of the movement of animals, micro-organisms and cells is of great relevance in the fields of biology, ecology and medicine. Movement models can take many different forms, but the most widely used are based on the extensions of simple random walk processes. In this review paper, our aim is twofold: to introduce the mathematics behind random walks in a straightforward manner and to explain how such models can be used to aid our understanding of biological processes. We introduce the mathematical theory behind the simple random walk and explain how this relates to Brownian motion and diffusive processes in general. We demonstrate how these simple models can be extended to include drift and waiting times or be used to calculate first passage times. We discuss biased random walks and show how hyperbolic models can be used to generate correlated random walks. We cover two main applications of the random walk model. Firstly, we review models and results relating to the movement, dispersal and population redistribution of animals and micro-organisms. This includes direct calculation of mean squared displacement, mean dispersal distance, tortuosity measures, as well as possible limitations of these model approaches. Secondly, oriented movement and chemotaxis models are reviewed. General hyperbolic models based on the linear transport equation are introduced and we show how a reinforced random walk can be used to model movement where the individual changes its environment. We discuss the applications of these models in the context of cell migration leading to blood vessel growth (angiogenesis). Finally, we discuss how the various random walk models and approaches are related and the connections that underpin many of the key processes involved.","author":[{"family":"Codling","given":"Edward A."},{"family":"Plank","given":"Michael J."},{"family":"Benhamou","given":"Simon"}],"container-title":"Journal of the Royal Society, Interface","container-title-short":"J R Soc Interface","DOI":"10.1098/rsif.2008.0014","ISSN":"1742-5689","issue":"25","issued":{"date-parts":[[2008,8,6]]},"language":"eng","page":"813-834","PMCID":"PMC2504494","PMID":"18426776","source":"PubMed","title":"Random walk models in biology","type":"article-journal","volume":"5"}, + {"id":"cominsEvolutionarilyStableDispersal1980","abstract":"Using the idea that life-history parameters are subject to natural selection and should approach values that are stable optima, with the population immune to invasion by mutant individuals, we derive an analytic expression for the evolutionarily stable dispersal rate in a stochastic island model with random site extinction. The results provide interesting contrasts between three different optimization criteria: species survival, individual fitness and gene fitness. We also consider the effects of sexual reproduction, and of localized migration (stepping-stone structure).","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Comins","given":"Hugh N."},{"family":"Hamilton","given":"William D."},{"family":"May","given":"Robert M."}],"container-title":"Journal of Theoretical Biology","container-title-short":"Journal of Theoretical Biology","DOI":"10.1016/0022-5193(80)90099-5","ISSN":"0022-5193","issue":"2","issued":{"date-parts":[[1980,1,21]]},"language":"en","page":"205-230","source":"ScienceDirect","title":"Evolutionarily stable dispersal strategies","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/0022519380900995","volume":"82"}, + {"id":"conliskUncertaintyAssessingImpacts2013","abstract":"Concern over rapid global changes and the potential for interactions among multiple threats are prompting scientists to combine multiple modelling approaches to understand impacts on biodiversity. A relatively recent development is the combination of species distribution models, land-use change predictions, and dynamic population models to predict the relative and combined impacts of climate change, land-use change, and altered disturbance regimes on species' extinction risk. Each modelling component introduces its own source of uncertainty through different parameters and assumptions, which, when combined, can result in compounded uncertainty that can have major implications for management. Although some uncertainty analyses have been conducted separately on various model components - such as climate predictions, species distribution models, land-use change predictions, and population models - a unified sensitivity analysis comparing various sources of uncertainty in combined modelling approaches is needed to identify the most influential and problematic assumptions. We estimated the sensitivities of long-run population predictions to different ecological assumptions and parameter settings for a rare and endangered annual plant species (Acanthomintha ilicifolia, or San Diego thornmint). Uncertainty about habitat suitability predictions, due to the choice of species distribution model, contributed most to variation in predictions about long-run populations.","author":[{"family":"Conlisk","given":"Erin"},{"family":"Syphard","given":"Alexandra D."},{"family":"Franklin","given":"Janet"},{"family":"Flint","given":"Lorraine"},{"family":"Flint","given":"Alan"},{"family":"Regan","given":"Helen"}],"container-title":"Global Change Biology","container-title-short":"Glob Chang Biol","DOI":"10.1111/gcb.12090","ISSN":"1354-1013","issue":"3","issued":{"date-parts":[[2013,3]]},"language":"eng","page":"858-869","PMID":"23504842","source":"PubMed","title":"Uncertainty in assessing the impacts of global change with coupled dynamic species distribution and population models","type":"article-journal","volume":"19"}, + {"id":"coteSocialInformationEmigration2007","abstract":"'Should I stay or should I go?' is a fundamental question facing any candidate for emigration, as emigrating without outside information has major costs. Most studies on this topic have concentrated on risk-reducing strategies (e.g. exploration) developed after leaving the natal habitat. The idea that information might be acquired before leaving has not been investigated. Immigrants carrying information about their origins could provide such information to potential emigrants in their initial habitat. We manipulated the density of common lizard (Lacerta vivipara) populations, to investigate whether immigrants originating from these populations transmitted such information to the population they joined. Emigration of the residents of this new population clearly depended on the origin of the immigrant. Immigrants are therefore a source of information, in this case about surrounding population densities, and may have a major effect on dispersal and species persistence in a fragmented habitat.","author":[{"family":"Cote","given":"J."},{"family":"Clobert","given":"J."}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/j.1461-0248.2007.01032.x","ISSN":"1461-0248","issue":"5","issued":{"date-parts":[[2007,5]]},"language":"eng","page":"411-417","PMID":"17498140","source":"PubMed","title":"Social information and emigration: lessons from immigrants","title-short":"Social information and emigration","type":"article-journal","volume":"10"}, + {"id":"cottoNemoageSpatiallyExplicit2020","abstract":"Anticipating and preparing for the effect of environmental changes on biodiversity requires to understand and predict both the ecological and evolutionary responses of populations. Tools and methods to efficiently integrate these complex processes are lacking. We present the genetically and spatially explicit individual-based simulation software Nemo-age combining ecological and evolutionary processes. Nemo-age has a strong emphasis on modelling complex life histories. We here provide a methodology to predict changes in species distribution for given climate projections using Nemo-age. Modelling complex life histories, spatial distribution and evolutionary processes unravel possible eco-evolutionary mechanisms that have been previously overlooked when populations endure rapid environmental changes. The interface of Nemo-age is designed to integrate species' data from different fields, from demography to genetic architecture and spatial distributions, thus representing a versatile tool to model a variety of applied and theoretical scenarios.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Cotto","given":"Olivier"},{"family":"Schmid","given":"Max"},{"family":"Guillaume","given":"FrĂ©dĂ©ric"}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/2041-210X.13460","ISSN":"2041-210X","issue":"10","issued":{"date-parts":[[2020]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.13460","page":"1227-1236","source":"Wiley Online Library","title":"Nemo-age: Spatially explicit simulations of eco-evolutionary dynamics in stage-structured populations under changing environments","title-short":"Nemo-age","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/2041-210X.13460","volume":"11"}, + {"id":"coulsonEstimatingFunctionalForm2008","abstract":"Two contrasting approaches to the analysis of population dynamics are currently popular: demographic approaches where the associations between demographic rates and statistics summarizing the population dynamics are identified; and time series approaches where the associations between population dynamics, population density, and environmental covariates are investigated. In this paper, we develop an approach to combine these methods and apply it to detailed data from Soay sheep (Ovis aries). We examine how density dependence and climate contribute to fluctuations in population size via age- and sex-specific demographic rates, and how fluctuations in demographic structure influence population dynamics. Density dependence contributes most, followed by climatic variation, age structure fluctuations and interactions between density and climate. We then simplify the density-dependent, stochastic, age-structured demographic model and derive a new phenomenological time series which captures the dynamics better than previously selected functions. The simple method we develop has potential to provide substantial insight into the relative contributions of population and individual-level processes to the dynamics of populations in stochastic environments.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Coulson","given":"T."},{"family":"Ezard","given":"T. H. G."},{"family":"Pelletier","given":"F."},{"family":"Tavecchia","given":"G."},{"family":"Stenseth","given":"N. C."},{"family":"Childs","given":"D. Z."},{"family":"Pilkington","given":"J. G."},{"family":"Pemberton","given":"J. M."},{"family":"Kruuk","given":"L. E. B."},{"family":"Clutton-Brock","given":"T. H."},{"family":"Crawley","given":"M. J."}],"container-title":"Ecology","ISSN":"0012-9658","issue":"6","issued":{"date-parts":[[2008]]},"page":"1661-1674","publisher":"Ecological Society of America","source":"JSTOR","title":"Estimating the Functional Form for the Density Dependence from Life History Data","type":"article-journal","URL":"https://www.jstor.org/stable/27650672","volume":"89"}, + {"id":"coumouDecadeWeatherExtremes2012","abstract":"The ostensibly large number of recent extreme weather events has triggered intensive discussions, both in- and outside the scientific community, on whether they are related to global warming. Here, we review the evidence and argue that for some types of extreme — notably heatwaves, but also precipitation extremes — there is now strong evidence linking specific events or an increase in their numbers to the human influence on climate. For other types of extreme, such as storms, the available evidence is less conclusive, but based on observed trends and basic physical concepts it is nevertheless plausible to expect an increase.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Coumou","given":"Dim"},{"family":"Rahmstorf","given":"Stefan"}],"container-title":"Nature Climate Change","container-title-short":"Nature Clim Change","DOI":"10.1038/nclimate1452","ISSN":"1758-6798","issue":"7","issued":{"date-parts":[[2012,7]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Reviews\nSubject_term: Climate change;Climate-change impacts\nSubject_term_id: climate-change;climate-change-impacts","number":"7","page":"491-496","publisher":"Nature Publishing Group","source":"www.nature.com","title":"A decade of weather extremes","type":"article-journal","URL":"https://www.nature.com/articles/nclimate1452","volume":"2"}, + {"id":"davisRangeShiftsAdaptive2001","abstract":"Tree taxa shifted latitude or elevation range in response to changes in Quaternary climate. Because many modern trees display adaptive differentiation in relation to latitude or elevation, it is likely that ancient trees were also so differentiated, with environmental sensitivities of populations throughout the range evolving in conjunction with migrations. Rapid climate changes challenge this process by imposing stronger selection and by distancing populations from environments to which they are adapted. The unprecedented rates of climate changes anticipated to occur in the future, coupled with land use changes that impede gene flow, can be expected to disrupt the interplay of adaptation and migration, likely affecting productivity and threatening the persistence of many species.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Davis","given":"Margaret B."},{"family":"Shaw","given":"Ruth G."}],"container-title":"Science","DOI":"10.1126/science.292.5517.673","ISSN":"0036-8075, 1095-9203","issue":"5517","issued":{"date-parts":[[2001,4,27]]},"language":"en","page":"673-679","PMID":"11326089","publisher":"American Association for the Advancement of Science","section":"Special Reviews","source":"science.sciencemag.org","title":"Range Shifts and Adaptive Responses to Quaternary Climate Change","type":"article-journal","URL":"https://science.sciencemag.org/content/292/5517/673","volume":"292"}, + {"id":"dawsonPredictionsBiodiversityConservation2011","abstract":"Climate change is predicted to become a major threat to biodiversity in the 21st century, but accurate predictions and effective solutions have proved difficult to formulate. Alarming predictions have come from a rather narrow methodological base, but a new, integrated science of climate-change biodiversity assessment is emerging, based on multiple sources and approaches. Drawing on evidence from paleoecological observations, recent phenological and microevolutionary responses, experiments, and computational models, we review the insights that different approaches bring to anticipating and managing the biodiversity consequences of climate change, including the extent of species’ natural resilience. We introduce a framework that uses information from different sources to identify vulnerability and to support the design of conservation responses. Although much of the information reviewed is on species, our framework and conclusions are also applicable to ecosystems, habitats, ecological communities, and genetic diversity, whether terrestrial, marine, or fresh water.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dawson","given":"Terence P."},{"family":"Jackson","given":"Stephen T."},{"family":"House","given":"Joanna I."},{"family":"Prentice","given":"Iain Colin"},{"family":"Mace","given":"Georgina M."}],"container-title":"Science","DOI":"10.1126/science.1200303","ISSN":"0036-8075, 1095-9203","issue":"6025","issued":{"date-parts":[[2011,4,1]]},"language":"en","page":"53-58","PMID":"21454781","publisher":"American Association for the Advancement of Science","section":"Review","source":"science.sciencemag.org","title":"Beyond Predictions: Biodiversity Conservation in a Changing Climate","title-short":"Beyond Predictions","type":"article-journal","URL":"https://science.sciencemag.org/content/332/6025/53","volume":"332"}, + {"id":"deblockLocalGeneticAdaptation2013","abstract":"Temperature effects on predator-prey interactions are fundamental to better understand the effects of global warming. Previous studies never considered local adaptation of both predators and prey at different latitudes, and ignored the novel population combinations of the same predator-prey species system that may arise because of northward dispersal. We set up a common garden warming experiment to study predator-prey interactions between Ischnura elegans damselfly predators and Daphnia magna zooplankton prey from three source latitudes spanning >1500 km. Damselfly foraging rates showed thermal plasticity and strong latitudinal differences consistent with adaptation to local time constraints. Relative survival was higher at 24 °C than at 20 °C in southern Daphnia and higher at 20 °C than at 24 °C, in northern Daphnia indicating local thermal adaptation of the Daphnia prey. Yet, this thermal advantage disappeared when they were confronted with the damselfly predators of the same latitude, reflecting also a signal of local thermal adaptation in the damselfly predators. Our results further suggest the invasion success of northward moving predators as well as prey to be latitude-specific. We advocate the novel common garden experimental approach using predators and prey obtained from natural temperature gradients spanning the predicted temperature increase in the northern populations as a powerful approach to gain mechanistic insights into how community modules will be affected by global warming. It can be used as a space-for-time substitution to inform how predator-prey interaction may gradually evolve to long-term warming.","author":[{"family":"De Block","given":"Marjan"},{"family":"Pauwels","given":"Kevin"},{"family":"Van Den Broeck","given":"Maarten"},{"family":"De Meester","given":"Luc"},{"family":"Stoks","given":"Robby"}],"container-title":"Global Change Biology","container-title-short":"Glob Chang Biol","DOI":"10.1111/gcb.12089","ISSN":"1354-1013","issue":"3","issued":{"date-parts":[[2013,3]]},"language":"eng","page":"689-696","PMID":"23504827","source":"PubMed","title":"Local genetic adaptation generates latitude-specific effects of warming on predator-prey interactions","type":"article-journal","volume":"19"}, + {"id":"delattreDispersalMoodRevealed2010","abstract":"A comprehensive mechanistic approach to dispersal requires the translation of the whole mobility register of the target organism into movement rules that could subsequently be used to model its displacements. According to the optimality paradigm, this procedure implies a cost – benefi t analysis of mobility patterns taking into account not only movements, but also their external context and the internal state of the moving individuals. Using this framework, we detected a â€dispersal mood' in some individuals of the meadow brown butterfly Maniola jurtina. These adopted a direct flight strategy, which was topologically different from the previously documented foray search strategy. Those individuals that used the direct flight strategy moved straighter as soon as they left the habitat and avoided heading back to their patch of origin, which is the best inter-patch search strategy when dispersal risks and costs are high. The direct flight strategy was conditional to sex: females used it twice as much as males. We suggest that this sex bias was due to female investment in off spring, which is maximized by male avoidance and spatial bet hedging. Inter-patch dispersal of gravid females is crucial for the persistence of M. jurtina populations in spatially and temporally unpredictable environments.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Delattre","given":"Thomas"},{"family":"Burel","given":"Francoise"},{"family":"Humeau","given":"Antoine"},{"family":"Stevens","given":"Virginie Marie"},{"family":"Vernon","given":"Philippe"},{"family":"Baguette","given":"Michel"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2010.18615.x","issue":"12","issued":{"date-parts":[[2010]]},"page":"1900-1908","publisher":"Nordic Ecological Society","source":"HAL Archives Ouvertes","title":"Dispersal mood revealed by shifts from routine to direct flights in the meadow brown butterfly Maniola jurtina.","type":"article-journal","URL":"https://hal.archives-ouvertes.fr/hal-00557623","volume":"119"}, + {"id":"delgadoEffectPhenotypicTraits2010","abstract":"1. Natal dispersal has the potential to affect most ecological and evolutionary processes. However, despite its importance, this complex ecological process still represents a significant gap in our understanding of animal ecology due to both the lack of empirical data and the intrinsic complexity of dispersal dynamics. 2. By studying natal dispersal of 74 radiotagged juvenile eagle owls Bubo bubo (Linnaeus), in both the wandering and the settlement phases, we empirically addressed the complex interactions by which individual phenotypic traits and external cues jointly shape individual heterogeneity through the different phases of dispersal, both at nightly and weekly temporal scales. 3. Owls in poorer physical conditions travelled shorter total distances during the wandering phase, describing straighter paths and moving slower, especially when crossing heterogeneous habitats. In general, the owls in worse condition started dispersal later and took longer times to find further settlement areas. Net distances were also sex biased, with females settling at further distances. Dispersing individuals did not seem to explore wandering and settlement areas by using a search image of their natal surroundings. Eagle owls showed a heterogeneous pattern of patch occupancy, where few patches were highly visited by different owls whereas the majority were visited by just one individual. During dispersal, the routes followed by owls were an intermediate solution between optimized and randomized ones. Finally, dispersal direction had a marked directionality, largely influenced by dominant winds. These results suggest an asymmetric and anisotropic dispersal pattern, where not only the number of patches but also their functions can affect population viability. 4. The combination of the information coming from the relationships among a large set of factors acting and integrating at different spatial and temporal scales, under the perspective of heterogeneous life histories, are a fruitful ground for future understanding of natal dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Delgado","given":"MarĂ­a del Mar"},{"family":"Penteriani","given":"Vincenzo"},{"family":"Revilla","given":"Eloy"},{"family":"Nams","given":"Vilis O."}],"container-title":"Journal of Animal Ecology","DOI":"10.1111/j.1365-2656.2009.01655.x","ISSN":"1365-2656","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2009.01655.x","page":"620-632","source":"Wiley Online Library","title":"The effect of phenotypic traits and external cues on natal dispersal movements","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2656.2009.01655.x","volume":"79"}, + {"id":"demeesterInformationUseDensitydependent2010","abstract":"Density of conspecifics is considered as one of the main conditions affecting dispersal behavior and leading to a stabilization of population dynamics. Density-dependent dispersal can be induced by local competition at different phases during development and/or by density-related sources of social information. Here, we assessed the importance of population density on emigration rates and the degree to which the presence of silk threads at dispersal takeoff locations affects immediate dispersal decision making in the spider Erigone atra. By quantifying behaviors in wind tunnels under standardized laboratory conditions, silk-assisted long- and short-distance dispersal is quantified before the actual onset of the dispersal event.Increased densities during juvenile development only affected short-distance dispersal behavior. In females, short-distance dispersal increased with the female density experienced during development, whereas responses in males increased under combined high male/low female-experienced densities. Elevated densities at the onset of dispersal led to a general increase of predispersal behaviors. The presence of silk threads at takeoff platforms similarly induced an increase of dispersal displays, with specifically an increase in long-distance dispersal in both sexes.Our results demonstrate that the spider E. atra uses information related to density during development, most probably to avoid competition by performing short-distance dispersal. In contrast, density-related cues at the time of dispersal (i.e., increased densities and the presence of silk threads) increase general dispersal activities and long-distance ballooning events. Short- and long-distance dispersal strategies are consequently guided by differential density-related information use.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"De Meester","given":"Nele"},{"family":"Bonte","given":"Dries"}],"container-title":"Behavioral Ecology","container-title-short":"Behavioral Ecology","DOI":"10.1093/beheco/arq088","ISSN":"1045-2249","issue":"5","issued":{"date-parts":[[2010,9,1]]},"page":"992-998","source":"Silverchair","title":"Information use and density-dependent emigration in an agrobiont spider","type":"article-journal","URL":"https://doi.org/10.1093/beheco/arq088","volume":"21"}, + {"id":"dennoHabitatPersistenceUnderlies1996","abstract":"Dispersal is considered a vital life history characteristic for insects exploiting temporary habitats, and life history theorists have often hypothesized an inverse relationship between dispersal capability and habitat persistence. Most often, this hypothesis has been tested using interspecific comparisons of dispersal capability and qualitative estimates of habitat persistence. Consequently, most assessments have failed to control for possible phylogenetic nonindependence and they also lack quantitative rigor. We capitalized on existing intraspecific variation in the dispersal capability of Prokelisia planthoppers to examine the relationship between habitat persistence and dispersal, thereby minimizing possible phylogenetic effects. Two congeneric species (Prokelisia marginata and P. dolus) occur in the intertidal marshes of North America, where they feed exclusively on cordgrasses (Spartina). Because these planthoppers exhibit wing dimorphism, flight-capable adults (macropters with fully developed wings) are easily differentiated from flightless adults (brachypters with reduced wings). Thus, dispersal capability can be readily estimated by the percentage of macropters in a population. At a regional spatial scale, we found a highly significant negative relationship between dispersal capability (percent macroptery) and habitat persistence. In this system, habitat persistence is influenced by a combination of marsh elevation, winter severity, and tidal range, which interact to determine the ability of planthoppers to endure through winter in their primary habitat for development. P. marginata develops primarily in low-marsh habitats during summer, habitats that can be subjected to pronounced winter disturbance due to ice scouring and/or extensive tidal inundation. Levels of winter disturbance of the low marsh are extreme along the Atlantic coast, intermediate along the Pacific, and low along the Gulf. Both the failure of P. marginata populations to remain through winter in this habitat, and the dispersal ability of these populations (92%, 29%, and 17% macroptery, respectively), are correlated with levels of disturbance. Thus, in regions where winter disturbance is high, levels of dispersal are correspondingly high to allow for recolonization of extirpated habitats from overwintering sites on the high marsh. Unlike P. marginata, P. dolus develops primarily in high-marsh habitats, which are much less disturbed on all coasts during winter. Consequently, this species remains year-round in its primary habitat for development, and most populations exhibit relatively low levels of macroptery (<10%). When raised under common garden conditions, many more macropters of both species were produced from Atlantic compared to Gulf populations. Thus the proportion of macropters produced from the populations used in this experiment paralleled the incidence of macroptery measured in the field, providing evidence that the geographic variation in dispersal capability in both species has in part a genetic basis. The results of this study provide strong intraspecific evidence for an inverse relationship between the dispersal capability of insects and the persistence of their habitats.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Denno","given":"Robert F."},{"family":"Roderick","given":"George K."},{"family":"Peterson","given":"Merrill A."},{"family":"Huberty","given":"Andrea F."},{"family":"Dobel","given":"Hartmut G."},{"family":"Eubanks","given":"Micky D."},{"family":"Losey","given":"John E."},{"family":"Langellotto","given":"Gail A."}],"container-title":"Ecological Monographs","DOI":"10.2307/2963487","ISSN":"0012-9615","issue":"4","issued":{"date-parts":[[1996]]},"page":"389-408","publisher":"Ecological Society of America","source":"JSTOR","title":"Habitat Persistence Underlies Intraspecific Variation in the Dispersal Strategies of Planthoppers","type":"article-journal","URL":"https://www.jstor.org/stable/2963487","volume":"66"}, + {"id":"doerrConnectivityDispersalBehaviour2011a","abstract":"1. Hodgson et al. [Journal of Applied Ecology46 (2009) 964] argue that connectivity is complex and uncertain, that it can be improved incidentally by increasing habitat extent, and that connectivity conservation is unlikely to be effective under climate change. 2. We believe that they have overlooked recent research on dispersal behaviour and structural connectivity, which has improved our understanding of functional connectivity and revealed that it will not necessarily increase with habitat extent. 3. New modelling techniques including least-cost path models incorporate this more detailed understanding of connectivity into conservation planning, facilitating the true aim of connectivity conservation – to ensure appropriate interactions between habitat extent, quality and connectivity. 4. Synthesis and applications. Advances in behavioural research and modelling techniques allow us to manage structural connectivity with as much certainty as we manage extent and quality of habitat. Successful landscape conservation to address both current threats and future climate change must manage these three elements in concert.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Doerr","given":"Veronica A. J."},{"family":"Barrett","given":"Tom"},{"family":"Doerr","given":"Erik D."}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/j.1365-2664.2010.01899.x","ISSN":"1365-2664","issue":"1","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2010.01899.x","page":"143-147","source":"Wiley Online Library","title":"Connectivity, dispersal behaviour and conservation under climate change: a response to Hodgson et al.","title-short":"Connectivity, dispersal behaviour and conservation under climate change","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2664.2010.01899.x","volume":"48"}, + {"id":"doligezAvailabilityUsePublic2004","abstract":"1. Public information, i.e. local reproductive performance of conspecifics, is expected to be a highly valuable cue for breeding habitat selection. However, the access to this cue may be spatially and temporally constrained. When public information is unavailable, individuals may use other integrative cues, such as the local density of breeders. 2. Departure decisions of collared flycatchers (Ficedula albicollis) were shown previously to be related to both public information and breeding density, in a long-term correlative study of a fragmented population. Here, we tested whether flycatchers also use public information (number and condition of fledglings produced locally) and breeding density to make individual settlement decisions in the following year. 3. Immigration rates were computed to measure the degree of attractiveness of patches to new breeders. We investigated the relative influence of public information and breeding density on immigration rates of yearlings and older adults separately. The access to public information for settlement decisions may indeed be more limited for yearlings. 4. Immigration rate in a patch increased with mean fledgling number in the previous year for older adults but not for yearlings. Yearling immigration rate was correlated positively to mean fledgling condition when patch breeding density in the previous year was low, but negatively when density was high. 5. Immigration rates of both yearlings and older adults increased with breeding density in the previous year. Breeding density explained a larger part of the variance in immigration rate than patch reproductive success. 6. The proportion of yearlings among breeders decreased with increasing patch reproductive success and breeding density in the previous year, suggesting that local competition was high in attractive patches. 7. Our results thus suggest that public information is also used for immigration decisions. However, decisions of yearlings are more complex than those of older adults, due to their more limited access to public information and the higher impact of intraspecific competition. Conversely, all individuals seemed to cue on breeding density in a similar way. Density is correlated to patch reproductive success, and may be a more easily accessible cue. We discuss the potential advantages of using conspecific density over conspecific reproductive performance for future immigration decisions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Doligez","given":"Blandine"},{"family":"Pärt","given":"Tomas"},{"family":"Danchin","given":"Etienne"},{"family":"Clobert","given":"Jean"},{"family":"Gustafsson","given":"Lars"}],"container-title":"Journal of Animal Ecology","ISSN":"0021-8790","issue":"1","issued":{"date-parts":[[2004]]},"page":"75-87","publisher":"[Wiley, British Ecological Society]","source":"JSTOR","title":"Availability and Use of Public Information and Conspecific Density for Settlement Decisions in the Collared Flycatcher","type":"article-journal","URL":"https://www.jstor.org/stable/3505318","volume":"73"}, + {"id":"dormannCorrelationProcessSpecies2012","abstract":"Within the field of species distribution modelling an apparent dichotomy exists between process-based and correlative approaches, where the processes are explicit in the former and implicit in the latter. However, these intuitive distinctions can become blurred when comparing species distribution modelling approaches in more detail. In this review article, we contrast the extremes of the correlative–process spectrum of species distribution models with respect to core assumptions, model building and selection strategies, validation, uncertainties, common errors and the questions they are most suited to answer. The extremes of such approaches differ clearly in many aspects, such as model building approaches, parameter estimation strategies and transferability. However, they also share strengths and weaknesses. We show that claims of one approach being intrinsically superior to the other are misguided and that they ignore the process–correlation continuum as well as the domains of questions that each approach is addressing. Nonetheless, the application of process-based approaches to species distribution modelling lags far behind more correlative (process-implicit) methods and more research is required to explore their potential benefits. Critical issues for the employment of species distribution modelling approaches are given, together with a guideline for appropriate usage. We close with challenges for future development of process-explicit species distribution models and how they may complement current approaches to study species distributions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dormann","given":"Carsten F."},{"family":"Schymanski","given":"Stanislaus J."},{"family":"Cabral","given":"Juliano"},{"family":"Chuine","given":"Isabelle"},{"family":"Graham","given":"Catherine"},{"family":"Hartig","given":"Florian"},{"family":"Kearney","given":"Michael"},{"family":"Morin","given":"Xavier"},{"family":"Römermann","given":"Christine"},{"family":"Schröder","given":"Boris"},{"family":"Singer","given":"Alexander"}],"container-title":"Journal of Biogeography","DOI":"10.1111/j.1365-2699.2011.02659.x","ISSN":"1365-2699","issue":"12","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2011.02659.x","page":"2119-2131","source":"Wiley Online Library","title":"Correlation and process in species distribution models: bridging a dichotomy","title-short":"Correlation and process in species distribution models","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2699.2011.02659.x","volume":"39"}, + {"id":"dormannEffectsIncorporatingSpatial2007","abstract":"Aim Spatial autocorrelation (SAC) in data, i.e. the higher similarity of closer samples, is a common phenomenon in ecology. SAC is starting to be considered in the analysis of species distribution data, and over the last 10 years several studies have incorporated SAC into statistical models (here termed â€spatial models’). Here, I address the question of whether incorporating SAC affects estimates of model coefficients and inference from statistical models. Methods I review ecological studies that compare spatial and non-spatial models. Results In all cases coefficient estimates for environmental correlates of species distributions were affected by SAC, leading to a mis-estimation of on average c. 25%. Model fit was also improved by incorporating SAC. Main conclusions These biased estimates and incorrect model specifications have implications for predicting species occurrences under changing environmental conditions. Spatial models are therefore required to estimate correctly the effects of environmental drivers on species present distributions, for a statistically unbiased identification of the drivers of distribution, and hence for more accurate forecasts of future distributions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dormann","given":"Carsten F."}],"container-title":"Global Ecology and Biogeography","DOI":"10.1111/j.1466-8238.2006.00279.x","ISSN":"1466-8238","issue":"2","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2006.00279.x","page":"129-138","source":"Wiley Online Library","title":"Effects of incorporating spatial autocorrelation into the analysis of species distribution data","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1466-8238.2006.00279.x","volume":"16"}, + {"id":"doverInfluencesLandscapeStructure2009","abstract":"We review the literature on the influence of landscape structure on butterfly distribution and movement. We start by examining the definition of landscape commonly used in spatial ecology. Landscape-level processes are reviewed before focusing on the impact of the geometry and spatial arrangement of habitat patches on butterflies e.g. the nature of the matrix, patch size and shape, minimum area requirements, immigration and emigration, and temporal habitat dynamics. The role of landscape elements is reviewed in terms of corridors (and stepping-stones), barriers, nodes, environmental buffers, and prominent landmark features.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dover","given":"John"},{"family":"Settele","given":"Josef"}],"container-title":"Journal of Insect Conservation","container-title-short":"J Insect Conserv","DOI":"10.1007/s10841-008-9135-8","ISSN":"1572-9753","issue":"1","issued":{"date-parts":[[2009,2,1]]},"language":"en","page":"3-27","source":"Springer Link","title":"The influences of landscape structure on butterfly distribution and movement: a review","title-short":"The influences of landscape structure on butterfly distribution and movement","type":"article-journal","URL":"https://doi.org/10.1007/s10841-008-9135-8","volume":"13"}, + {"id":"driezenEvaluatingLeastcostModel2007","abstract":"Habitat fragmentation and habitat loss are widely recognized as major threats to biodiversity on a regional as well as on a global scale. To restrict its effects, ecological networks such as the trans-European network NATURA2000 are being developed based on the assumption that structural connections between habitat fragments lead to increased exchange through dispersal and a higher viability of (meta)populations. However, there is a great need for techniques that translate these networks and/or structural characteristics of landscapes into functional connectivity for specific organisms. Least-cost analysis has the capacities to fulfill these needs, but has never been validated against actual observations of dispersal paths. Here we present a method to validate the results of a least-cost analysis by comparing realized movement paths of hedgehogs in unfamiliar areas, obtained by radiotracking, with statistics on landscape-wide distribution of cost values. The degree of correspondence between empirical dispersal paths and the output of a least-cost analysis can be visualized and quantified, and least-cost scenarios can be statistically compared. We show that hedgehogs moved along paths with significantly lower cost values than the average landscape, implying that they took better than random routes, but performance was relatively poor. We attribute this to the relatively generalistic habitat use of the model species and the rather homogeneous landscapes. We conclude that this approach can be useful for further validation of the least-cost model and allows a direct comparison of model performance among different taxa and/or landscapes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Driezen","given":"Kassandra"},{"family":"Adriaensen","given":"Frank"},{"family":"Rondinini","given":"Carlo"},{"family":"Doncaster","given":"C. Patrick"},{"family":"Matthysen","given":"Erik"}],"container-title":"Ecological Modelling","issue":"2","issued":{"date-parts":[[2007]]},"language":"en","page":"314-322","publisher":"Elsevier","source":"ideas.repec.org","title":"Evaluating least-cost model predictions with empirical dispersal data: A case-study using radiotracking data of hedgehogs (Erinaceus europaeus)","title-short":"Evaluating least-cost model predictions with empirical dispersal data","type":"article-journal","URL":"https://ideas.repec.org/a/eee/ecomod/v209y2007i2p314-322.html","volume":"209"}, + {"id":"duckworthAdaptiveDispersalStrategies2008","abstract":"In species undergoing range expansion, newly established populations are often more dispersive than older populations. Because dispersal phenotypes are complex and often costly, it is unclear how highly dispersive phenotypes are maintained in a species to enable their rapid expression during periods of range expansion. Here I test the idea that metapopulation dynamics of local extinction and recolonization maintain distinct dispersal strategies outside the context of range expansion. Western bluebirds display distinct dispersal phenotypes where aggressive males are more dispersive than nonaggressive males, resulting in highly aggressive populations at the edge of their expanding range. I experimentally created new habitat interior to the range edge to show that, as on the range front, it was colonized solely by aggressive males. Moreover, fitness consequences of aggression depended on population age: aggressive males had high fitness when colonizing new populations, while nonaggressive males performed best in an older population. These results suggest that distinct dispersal strategies were maintained before range expansion as an adaptation for the continual recolonization of new habitat. These results emphasize similarities between range expansion and metapopulation dynamics and suggest that preexisting adaptive dispersal strategies may explain rapid changes in dispersal phenotypes during range expansion.","author":[{"family":"Duckworth","given":"RenĂ©e A."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/588289","ISSN":"1537-5323","issued":{"date-parts":[[2008,7]]},"language":"eng","page":"S4-17","PMID":"18554143","source":"PubMed","title":"Adaptive dispersal strategies and the dynamics of a range expansion","type":"article-journal","volume":"172 Suppl 1"}, + {"id":"dyckHabitatFragmentationInsect1999","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dyck","given":"Hans Van"},{"family":"Matthysen","given":"Erik"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/S0169-5347(99)01610-9","ISSN":"0169-5347","issue":"5","issued":{"date-parts":[[1999,5,1]]},"language":"English","page":"172-174","PMID":"10322528","publisher":"Elsevier","source":"www.cell.com","title":"Habitat fragmentation and insect flight: a changing â€design’ in a changing landscape?","title-short":"Habitat fragmentation and insect flight","type":"article-journal","URL":"https://www.cell.com/trends/ecology-evolution/abstract/S0169-5347(99)01610-9","volume":"14"}, + {"id":"dythamEvolvedDispersalStrategies2009","abstract":"Dispersal is a key component of a species's ecology and will be under different selection pressures in different parts of the range. For example, a long-distance dispersal strategy suitable for continuous habitat at the range core might not be favoured at the margin, where the habitat is sparse. Using a spatially explicit, individual-based, evolutionary simulation model, the dispersal strategies of an organism that has only one dispersal event in its lifetime, such as a plant or sessile animal, are considered. Within the model, removing habitat, increasing habitat turnover, increasing the cost of dispersal, reducing habitat quality or altering vital rates imposes range limits. In most cases, there is a clear change in the dispersal strategies across the range, although increasing death rate towards the margin has little impact on evolved dispersal strategy across the range. Habitat turnover, reduced birth rate and reduced habitat quality all increase evolved dispersal distances at the margin, while increased cost of dispersal and reduced habitat density lead to lower evolved dispersal distances at the margins. As climate change shifts suitable habitat poleward, species ranges will also start to shift, and it will be the dispersal capabilities of marginal populations, rather than core populations, that will influence the rate of range shifting.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dytham","given":"Calvin"}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","container-title-short":"Proc Biol Sci","DOI":"10.1098/rspb.2008.1535","ISSN":"0962-8452","issue":"1661","issued":{"date-parts":[[2009,4,22]]},"page":"1407-1413","PMCID":"PMC2677228","PMID":"19324810","source":"PubMed Central","title":"Evolved dispersal strategies at range margins","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2677228/","volume":"276"}, + {"id":"dythamEvolvingDispersalAge2006","abstract":"Traditional, and often competing, theories on ageing agree that a programmed age at death must have arisen as a side effect of natural selection, and that it can have no adaptive value of its own. However, theoretical models suggest that ageing and programmed death can be adaptive. Travis J. M. J. suggested that if fecundity declines with age, a programmed age of death evolves through kin selection and that the nature of dispersal is crucial as it determines the degree of spatial structure and hence the strength of kin selection. Here, using a similar model, we consider the interplay between dispersal and age of death. We incorporate more realistic dispersal kernels and allow both dispersal and age of death to evolve. Our results show each trait can evolve in response to the other: earlier age of death evolves when individuals disperse less and greater dispersal distances evolve when individuals are programmed to die later. When we allow dispersal and age of death to evolve at the same time we typically find that dispersal evolves more rapidly, and that ageing then evolves in response to the new dispersal regime. The cost of dispersal is crucial in determining the evolution of both traits. We argue both that ageing is an overlooked ecological process, and that the field of gerontology could learn a lot from evolutionary ecology. We suggest that it is time to develop the field of ecological gerontology and we highlight a few areas where future work might be particularly rewarding.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dytham","given":"Calvin"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Oikos","ISSN":"0030-1299","issue":"3","issued":{"date-parts":[[2006]]},"page":"530-538","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"Evolving Dispersal and Age at Death","type":"article-journal","URL":"https://www.jstor.org/stable/40234835","volume":"113"}, + {"id":"easterlingClimateExtremesObservations2000","abstract":"One of the major concerns with a potential change in climate is that an increase in extreme events will occur. Results of observational studies suggest that in many areas that have been analyzed, changes in total precipitation are amplified at the tails, and changes in some temperature extremes have been observed. Model output has been analyzed that shows changes in extreme events for future climates, such as increases in extreme high temperatures, decreases in extreme low temperatures, and increases in intense precipitation events. In addition, the societal infrastructure is becoming more sensitive to weather and climate extremes, which would be exacerbated by climate change. In wild plants and animals, climate-induced extinctions, distributional and phenological changes, and species' range shifts are being documented at an increasing rate. Several apparently gradual biological changes are linked to responses to extreme weather and climate events.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Easterling","given":"David R."},{"family":"Meehl","given":"Gerald A."},{"family":"Parmesan","given":"Camille"},{"family":"Changnon","given":"Stanley A."},{"family":"Karl","given":"Thomas R."},{"family":"Mearns","given":"Linda O."}],"container-title":"Science","DOI":"10.1126/science.289.5487.2068","ISSN":"0036-8075, 1095-9203","issue":"5487","issued":{"date-parts":[[2000,9,22]]},"language":"en","page":"2068-2074","PMID":"11000103","publisher":"American Association for the Advancement of Science","section":"Review","source":"science.sciencemag.org","title":"Climate Extremes: Observations, Modeling, and Impacts","title-short":"Climate Extremes","type":"article-journal","URL":"https://science.sciencemag.org/content/289/5487/2068","volume":"289"}, + {"id":"edelaarMatchingHabitatChoice2008","abstract":"Gene flow among populations is typically thought to be antagonistic to population differentiation and local adaptation. However, this assumes that dispersing individuals disperse randomly with respect to their ability to use the environment. Yet dispersing individuals often sample and compare environments and settle in those environments that best match their phenotype, causing directed gene flow, which can in fact promote population differentiation and adaptation. We refer to this process as “matching habitat choice.” Although this process has been acknowledged by several researchers, no synthesis or perspective on its potentially widespread importance exists. Here we synthesize empirical and theoretical studies, and offer a new perspective that matching habitat choice can have significant effects on important and controversial topics. We discuss the potential implications of matching habitat choice for the degree and rate of local adaptation, the evolution of niche width, adaptive peak shifts, speciation in the presence of gene flow, and on our view and interpretation of measures of natural selection. Because of its potential importance for such a wide range of topics, we call for heightened empirical and theoretical attention for this neglected dimension in evolutionary and ecological studies.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Edelaar","given":"Pim"},{"family":"Siepielski","given":"Adam M."},{"family":"Clobert","given":"Jean"}],"container-title":"Evolution","DOI":"10.1111/j.1558-5646.2008.00459.x","ISSN":"1558-5646","issue":"10","issued":{"date-parts":[[2008]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1558-5646.2008.00459.x","page":"2462-2472","source":"Wiley Online Library","title":"Matching Habitat Choice Causes Directed Gene Flow: A Neglected Dimension in Evolution and Ecology","title-short":"Matching Habitat Choice Causes Directed Gene Flow","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1558-5646.2008.00459.x","volume":"62"}, + {"id":"elithSpeciesDistributionModels","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Elith","given":"J"},{"family":"Leathwick","given":"J. R."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","issue":"40","page":"677-697","title":"Species Distribution Models: Ecological Explanation and Prediction Across Space and Time","type":"article-journal","URL":"https://www.annualreviews.org/doi/full/10.1146/annurev.ecolsys.110308.120159"}, + {"id":"enfjallEvolutionDispersalImportance2009","abstract":"The evolution of mobility patterns and dispersal strategies depend on different population, habitat and life history characteristics. The ability to perceive and make use of information about the surrounding environment for dispersal decisions will also differ between organisms. To investigate the evolutionary consequences of such differences, we have used a simulation model with nearest-neighbour dispersal in a metapopulation to study how variation in the ability to obtain and make use of information about habitat quality and conspecific density affects the evolution of dispersal strategies. We found a rather strong influence of variation in information on the overall rate of dispersal in a metapopulation. The highest emigration rate evolved in organisms with no information about either density or habitat quality and the lowest rate was found in organisms with information about both the natal and the neighbouring patches. For organisms that can make use of information about conspecific density, positively density-dependent dispersal evolved in the majority of cases, with the strongest density dependence occurring when an individual only has information about density in the natal patch. However, we also identified situations, involving strong local population fluctuations and frequent local extinctions, where negatively density-dependent dispersal evolved.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Enfjäll","given":"Karin"},{"family":"Leimar","given":"Olof"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2008.16863.x","ISSN":"1600-0706","issue":"2","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2008.16863.x","page":"291-299","source":"Wiley Online Library","title":"The evolution of dispersal – the importance of information about population density and habitat characteristics","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2008.16863.x","volume":"118"}, + {"id":"englerMigClimPredictingPlant2009","abstract":"Aim Many studies have forecasted the possible impact of climate change on plant distributions using models based on ecological niche theory, but most of them have ignored dispersal-limitations, assuming dispersal to be either unlimited or null. Depending on the rate of climatic change, the landscape fragmentation and the dispersal capabilities of individual species, these assumptions are likely to prove inaccurate, leading to under- or overestimation of future species distributions and yielding large uncertainty between these two extremes. As a result, the concepts of â€potentially suitable’ and â€potentially colonizable’ habitat are expected to differ significantly. To quantify to what extent these two concepts can differ, we developed MigClim, a model simulating plant dispersal under climate change and landscape fragmentation scenarios. MigClim implements various parameters, such as dispersal distance, increase in reproductive potential over time, landscape fragmentation or long-distance dispersal. Location Western Swiss Alps. Methods Using our MigClim model, several simulations were run for two virtual species by varying dispersal distance and other parameters. Each simulation covered the 100-year period 2001–2100 and three different IPCC-based temperature warming scenarios were considered. Results of dispersal-limited projections were compared with unlimited and no-dispersal projections. Results Our simulations indicate that: (1) using realistic parameter values, the future potential distributions generated using MigClim can differ significantly (up to more than 95% difference in colonized surface) from those that ignore dispersal; (2) this divergence increases under more extreme climate warming scenarios and over longer time periods; and (3) the uncertainty associated with the warming scenario can be as large as the one related to dispersal parameters. Main conclusions Accounting for dispersal, even roughly, can importantly reduce uncertainty in projections of species distribution under climate change scenarios.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Engler","given":"Robin"},{"family":"Guisan","given":"Antoine"}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2009.00566.x","ISSN":"1472-4642","issue":"4","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2009.00566.x","page":"590-601","source":"Wiley Online Library","title":"MigClim: Predicting plant distribution and dispersal in a changing climate","title-short":"MigClim","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2009.00566.x","volume":"15"}, + {"id":"eppersonUtilityComputerSimulations2010","abstract":"Population genetics theory is primarily based on mathematical models in which spatial complexity and temporal variability are largely ignored. In contrast, the field of landscape genetics expressly focuses on how population genetic processes are affected by complex spatial and temporal environmental heterogeneity. It is spatially explicit and relates patterns to processes by combining complex and realistic life histories, behaviours, landscape features and genetic data. Central to landscape genetics is the connection of spatial patterns of genetic variation to the usually highly stochastic space–time processes that create them over both historical and contemporary time periods. The field should benefit from a shift to computer simulation approaches, which enable incorporation of demographic and environmental stochasticity. A key role of simulations is to show how demographic processes such as dispersal or reproduction interact with landscape features to affect probability of site occupancy, population size, and gene flow, which in turn determine spatial genetic structure. Simulations could also be used to compare various statistical methods and determine which have correct type I error or the highest statistical power to correctly identify spatio-temporal and environmental effects. Simulations may also help in evaluating how specific spatial metrics may be used to project future genetic trends. This article summarizes some of the fundamental aspects of spatial–temporal population genetic processes. It discusses the potential use of simulations to determine how various spatial metrics can be rigorously employed to identify features of interest, including contrasting locus-specific spatial patterns due to micro-scale environmental selection.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Epperson","given":"Bryan K."},{"family":"Mcrae","given":"Brad H."},{"family":"Scribner","given":"Kim"},{"family":"Cushman","given":"Samuel A."},{"family":"Rosenberg","given":"Michael S."},{"family":"Fortin","given":"Marie-JosĂ©e"},{"family":"James","given":"Patrick M. A."},{"family":"Murphy","given":"Melanie"},{"family":"Manel","given":"StĂ©phanie"},{"family":"Legendre","given":"Pierre"},{"family":"Dale","given":"Mark R. T."}],"container-title":"Molecular Ecology","DOI":"10.1111/j.1365-294X.2010.04678.x","ISSN":"1365-294X","issue":"17","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-294X.2010.04678.x","page":"3549-3564","source":"Wiley Online Library","title":"Utility of computer simulations in landscape genetics","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-294X.2010.04678.x","volume":"19"}, + {"id":"excoffierGeneticConsequencesRange2009","abstract":"Although range expansions have occurred recurrently in the history of most species, their genetic consequences have been little investigated. Theoretical studies show that range expansions are quite different from pure demographic expansions and that the extent of recent gene flow conditions expected patterns of molecular diversity within and between populations. Spatially explicit simulation studies have led to unexpected and fascinating results about genetic patterns emerging after a range expansion. For instance, spatial expansions can generate allele frequency gradients, promote the surfing of rare variants into newly occupied territories, induce the structuring of newly colonized areas into distinct sectors of low genetic diversity, or lead to massive introgression of local genes into the genome of an invading species. Interestingly, most of these patterns had been previously attributed to distinct selective processes, showing that taking into account the dynamic nature of a species range can lead to a paradigm shift in our perception of evolutionary processes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Excoffier","given":"Laurent"},{"family":"Foll","given":"Matthieu"},{"family":"Petit","given":"RĂ©my J."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.39.110707.173414","issue":"1","issued":{"date-parts":[[2009]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.39.110707.173414","page":"481-501","source":"Annual Reviews","title":"Genetic Consequences of Range Expansions","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.39.110707.173414","volume":"40"}, + {"id":"fahrigEffectsHabitatFragmentation2003a","abstract":"The literature on effects of habitat fragmentation on biodiversity is huge. It is also very diverse, with different authors measuring fragmentation in different ways and, as a consequence, drawing different conclusions regarding both the magnitude and direction of its effects. Habitat fragmentation is usually defined as a landscape-scale process involving both habitat loss and the breaking apart of habitat. Results of empirical studies of habitat fragmentation are often difficult to interpret because (a) many researchers measure fragmentation at the patch scale, not the landscape scale and (b) most researchers measure fragmentation in ways that do not distinguish between habitat loss and habitat fragmentation per se, i.e., the breaking apart of habitat after controlling for habitat loss. Empirical studies to date suggest that habitat loss has large, consistently negative effects on biodiversity. Habitat fragmentation per se has much weaker effects on biodiversity that are at least as likely to be positive as negative. Therefore, to correctly interpret the influence of habitat fragmentation on biodiversity, the effects of these two components of fragmentation must be measured independently. More studies of the independent effects of habitat loss and fragmentation per se are needed to determine the factors that lead to positive versus negative effects of fragmentation per se. I suggest that the term “fragmentation” should be reserved for the breaking apart of habitat, independent of habitat loss.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fahrig","given":"Lenore"}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.34.011802.132419","issue":"1","issued":{"date-parts":[[2003]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.34.011802.132419","page":"487-515","source":"Annual Reviews","title":"Effects of Habitat Fragmentation on Biodiversity","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.34.011802.132419","volume":"34"}, + {"id":"fahrigNonoptimalAnimalMovement2007a","abstract":"1 I synthesize the understanding of the relationship between landscape structure and animal movement in human-modified landscapes. 2 The variety of landscape structures is first classified into four categories: continuous habitat, patchy habitat with high-quality matrix, patchy habitat with low-quality matrix, and patchy, ephemeral habitat. Using this simplification I group the range of evolved movement parameters into four categories or movement types. I then discuss how these movement types interact with current human-caused landscape changes, and how this often results in non-optimal movement. 3 From this synthesis I develop a hypothesis that predicts the relative importance of the different population-level consequences of these non-optimal movements, for the four movement types. 4 Populations of species that have inhabited landscapes with high habitat cover or patchy landscapes with low-risk matrix should have evolved low boundary responses and moderate to high movement probabilities. These species are predicted to be highly susceptible to increased movement mortality resulting from habitat loss and reduced matrix quality. 5 In contrast, populations of species that evolved in patchy landscapes with high-risk matrix or dynamic patchy landscapes are predicted to be highly susceptible to decreased immigration and colonization success, due to the increasing patch isolation that results from habitat loss. 6 Finally, I discuss three implications of this synthesis: (i) â€least cost path’ analysis should not be used for land management decisions without data on actual movement paths and movement risks in the landscape; (ii) â€dispersal ability’ is not simply an attribute of a species, but varies strongly with landscape structure such that the relative rankings of species’ dispersal abilities can change following landscape alteration; and (iii) the assumption that more mobile species are more resilient to human-caused landscape change is not generally true, but depends on the structure of the landscape where the species evolved.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fahrig","given":"Lenore"}],"container-title":"Functional Ecology","DOI":"10.1111/j.1365-2435.2007.01326.x","ISSN":"1365-2435","issue":"6","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2435.2007.01326.x","page":"1003-1015","source":"Wiley Online Library","title":"Non-optimal animal movement in human-altered landscapes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2435.2007.01326.x","volume":"21"}, + {"id":"fellousQuorumSensingDensityDependent2012","abstract":"Many organisms use cues to decide whether to disperse or not, especially those related to the composition of their environment. Dispersal hence sometimes depends on population density, which can be important for the dynamics and evolution of sub-divided populations. But very little is known about the factors that organisms use to inform their dispersal decision. We investigated the cues underlying density-dependent dispersal in inter-connected microcosms of the freshwater protozoan Paramecium caudatum. In two experiments, we manipulated (i) the number of cells per microcosm and (ii) the origin of their culture medium (supernatant from high- or low-density populations). We found a negative relationship between population density and rates of dispersal, suggesting the use of physical cues. There was no significant effect of culture medium origin on dispersal and thus no support for chemical cues usage. These results suggest that the perception of density – and as a result, the decision to disperse – in this organism can be based on physical factors. This type of quorum sensing may be an adaptation optimizing small scale monitoring of the environment and swarm formation in open water.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fellous","given":"Simon"},{"family":"Duncan","given":"Alison"},{"family":"Coulon","given":"AurĂ©lie"},{"family":"Kaltz","given":"Oliver"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0048436","ISSN":"1932-6203","issue":"11","issued":{"date-parts":[[2012,11,7]]},"language":"en","page":"e48436","publisher":"Public Library of Science","source":"PLoS Journals","title":"Quorum Sensing and Density-Dependent Dispersal in an Aquatic Model System","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0048436","volume":"7"}, + {"id":"fischerLandscapeModificationHabitat2007","abstract":"Landscape modification and habitat fragmentation are key drivers of global species loss. Their effects may be understood by focusing on: (1) individual species and the processes threatening them, and (2) human-perceived landscape patterns and their correlation with species and assemblages. Individual species may decline as a result of interacting exogenous and endogenous threats, including habitat loss, habitat degradation, habitat isolation, changes in the biology, behaviour, and interactions of species, as well as additional, stochastic threats. Human-perceived landscape patterns that are frequently correlated with species assemblages include the amount and structure of native vegetation, the prevalence of anthropogenic edges, the degree of landscape connectivity, and the structure and heterogeneity of modified areas. Extinction cascades are particularly likely to occur in landscapes with low native vegetation cover, low landscape connectivity, degraded native vegetation and intensive land use in modified areas, especially if keystone species or entire functional groups of species are lost. This review (1) demonstrates that species-oriented and pattern-oriented approaches to understanding the ecology of modified landscapes are highly complementary, (2) clarifies the links between a wide range of interconnected themes, and (3) provides clear and consistent terminology. Tangible research and management priorities are outlined that are likely to benefit the conservation of native species in modified landscapes around the world.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fischer","given":"Joern"},{"family":"Lindenmayer","given":"David B."}],"container-title":"Global Ecology and Biogeography","DOI":"10.1111/j.1466-8238.2007.00287.x","ISSN":"1466-8238","issue":"3","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2007.00287.x","page":"265-280","source":"Wiley Online Library","title":"Landscape modification and habitat fragmentation: a synthesis","title-short":"Landscape modification and habitat fragmentation","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1466-8238.2007.00287.x","volume":"16"}, + {"id":"fletcherjr.EmergentPropertiesConspecific2006","abstract":"Abstract: Attraction to conspecifics may have wideâ€ranging implications for habitat selection and metapopulation theory, yet little is known about the process of attraction and its effects relative to other habitat selection strategies. Using individualâ€based simulations, I investigated the emergent properties of conspecific attraction during habitat selection on survival, fecundity, shortâ€term fitness (sur \\documentclass{aastex} \\usepackage{amsbsy} \\usepackage{amsfonts} \\usepackage{amssymb} \\usepackage{bm} \\usepackage{mathrsfs} \\usepackage{pifont} \\usepackage{stmaryrd} \\usepackage{textcomp} \\usepackage{portland,xspace} \\usepackage{amsmath,amsxtra} \\usepackage[OT2,OT1]{fontenc} \\newcommand\\cyr{ \\renewcommand\\rmdefault{wncyr} \\renewcommand\\sfdefault{wncyss} \\renewcommand\\encodingdefault{OT2} \\normalfont \\selectfont} \\DeclareTextFontCommand{\\textcyr}{\\cyr} \\pagestyle{empty} \\DeclareMathSizes{10}{9}{7}{6} \\begin{document} \\landscape $\\mathrm{vival}\\,\\times \\mathrm{fecundity}\\,$ \\end{document} ), and distributions in fragmented landscapes. I simulated conspecific attraction during searching and settlement decisions and compared attraction with random, habitatâ€based (searching for the presence of habitat), and habitat quality sampling strategies (searching for and settling in highâ€quality habitat). Conspecific attraction during searching or settlement decisions had different consequences for animals: attraction while searching increased survival by decreasing time spent in nonsuitable habitat, whereas attraction during settlement increased fecundity by aggregating animals in highâ€quality habitats. Habitatâ€based sampling did not improve fitness over attraction, but directly sampling habitat quality resulted in the highest shortâ€term fitness among strategies. These results suggest that attraction can improve fitness when animals cannot directly assess habitat quality. Interestingly, conspecific attraction influenced distributions by generating patch size effects and weak edge effects, highlighting that attraction is one potential, yet previously unappreciated, mechanism to explain the widespread patterns of animal sensitivity to habitat fragmentation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fletcher Jr.","given":"Robert J."},{"family":"Grimm","given":"Associate Editor: Volker"},{"family":"DeAngelis","given":"Editor: Donald L."}],"container-title":"The American Naturalist","DOI":"10.1086/505764","ISSN":"0003-0147","issue":"2","issued":{"date-parts":[[2006]]},"page":"207-219","publisher":"[The University of Chicago Press, The American Society of Naturalists]","source":"JSTOR","title":"Emergent Properties of Conspecific Attraction in Fragmented Landscapes","type":"article-journal","URL":"https://www.jstor.org/stable/10.1086/505764","volume":"168"}, + {"id":"fletcherSpeciesInteractionsPopulation2007","abstract":"1. The perspective that populations and communities are structured by antagonistic interactions among individuals has dominated much of ecology. Yet how animals use social information to guide decisions, such as habitat selection, may be influenced by both positive and negative interactions among individuals. Recent theory also suggests that the way animals use social information may be substantially influenced by population density, which alters the potential costs and benefits of such behaviours. 2. I manipulated cues of two competitors, the dominant least flycatcher Empidonax minimus (Baird & Baird) and the subordinate American redstart Setophaga ruticilla (Linnaeus), to assess the use of conspecific and heterospecific cues during habitat selection, and if population density influences these strategies. The experiment consisted of surveying birds during a pre-treatment year, which allows for the control and testing the effect of baseline densities, and a treatment year, in which treatments were applied just prior to settlement. Treatments included broadcasting songs of flycatchers and redstarts, and were compared with controls. 3. When controlling for pre-treatment densities, bird densities, and to a lesser extent arrival dates, during the treatment year suggested that flycatchers were attracted to both conspecific and heterospecific cues during settlement. Furthermore, attraction was strongest for flycatchers in plots with moderate pre-treatment densities. American redstarts were rare in the study area but showed apparent attraction to conspecifics and avoidance of heterospecifics. 4. These results provide experimental evidence for the use of multiple social cues in habitat selection and suggest that heterospecific attraction may operate under broader contexts than originally envisioned. In such instances, nontarget effects can potentially occur when manipulating social cues to elicit settlement in conservation strategies. The impact of population density on the use of social cues shown here can also influence our understanding of metapopulation dynamics by causing complex threshold effects on the likelihood of rescue, which may influence metapopulation stability and the likelihood of local extinction.","author":[{"family":"Fletcher","given":"Robert J."}],"container-title":"The Journal of Animal Ecology","container-title-short":"J Anim Ecol","DOI":"10.1111/j.1365-2656.2007.01230.x","ISSN":"0021-8790","issue":"3","issued":{"date-parts":[[2007,5]]},"language":"eng","page":"598-606","PMID":"17439476","source":"PubMed","title":"Species interactions and population density mediate the use of social cues for habitat selection","type":"article-journal","volume":"76"}, + {"id":"fowlerConfoundingEnvironmentalColour2013","abstract":"The colour of environmental variability influences the size of population fluctuations when filtered through density dependent dynamics, driving extinction risk through dynamical resonance. Slow fluctuations (low frequencies) dominate in red environments, rapid fluctuations (high frequencies) in blue environments and white environments are purely random (no frequencies dominate). Two methods are commonly employed to generate the coloured spatial and/or temporal stochastic (environmental) series used in combination with population (dynamical feedback) models: autoregressive [AR(1)] and sinusoidal (1/f) models. We show that changing environmental colour from white to red with 1/f models, and from white to red or blue with AR(1) models, generates coloured environmental series that are not normally distributed at finite time-scales, potentially confounding comparison with normally distributed white noise models. Increasing variability of sample Skewness and Kurtosis and decreasing mean Kurtosis of these series alter the frequency distribution shape of the realised values of the coloured stochastic processes. These changes in distribution shape alter patterns in the probability of single and series of extreme conditions. We show that the reduced extinction risk for undercompensating (slow growing) populations in red environments previously predicted with traditional 1/f methods is an artefact of changes in the distribution shapes of the environmental series. This is demonstrated by comparison with coloured series controlled to be normally distributed using spectral mimicry. Changes in the distribution shape that arise using traditional methods lead to underestimation of extinction risk in normally distributed, red 1/f environments. AR(1) methods also underestimate extinction risks in traditionally generated red environments. This work synthesises previous results and provides further insight into the processes driving extinction risk in model populations. We must let the characteristics of known natural environmental covariates (e.g., colour and distribution shape) guide us in our choice of how to best model the impact of coloured environmental variation on population dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fowler","given":"Mike S."},{"family":"Ruokolainen","given":"Lasse"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0055855","ISSN":"1932-6203","issue":"2","issued":{"date-parts":[[2013,2,11]]},"language":"en","page":"e55855","publisher":"Public Library of Science","source":"PLoS Journals","title":"Confounding Environmental Colour and Distribution Shape Leads to Underestimation of Population Extinction Risk","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0055855","volume":"8"}, + {"id":"frankhamWhereAreWe2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Frankham","given":"Richard"}],"container-title":"Conservation Genetics","container-title-short":"Conserv Genet","DOI":"10.1007/s10592-009-0010-2","ISSN":"1572-9737","issue":"2","issued":{"date-parts":[[2010,4,1]]},"language":"en","page":"661-663","source":"Springer Link","title":"Where are we in conservation genetics and where do we need to go?","type":"article-journal","URL":"https://doi.org/10.1007/s10592-009-0010-2","volume":"11"}, + {"id":"franklinMovingStaticSpecies2010","abstract":"Aim To demonstrate that multi-modelling methods have effectively been used to combine static species distribution models (SDM), predicting the geographical pattern of suitable habitat, with dynamic landscape and population models to forecast the impacts of environmental change on species’ status, an important goal of conservation biogeography. Methods Three approaches were considered: (1) incorporating models of species migration to understand the ability of a species to occupy suitable habitat in new locations; (2) linking models of landscape disturbance and succession to models of habitat suitability; and (3) fully linking models of habitat suitability, habitat dynamics and spatially explicit population dynamics. Results Linking species–environment relationships, landscape dynamics and population dynamics in a multi-modelling framework allows the combined impacts of climate change (affecting species distribution and vital rates) and land cover dynamics (land use change, altered disturbance regimes) on species to be predicted. This approach is only feasible if the life history parameters and habitat requirements of the species are well understood. Main conclusions Forecasts of the impacts of global change on species may be improved by considering multiple causes. A range of methods are available to address the interactions of changing habitat suitability, habitat dynamics and population response that vary in their complexity, realism and data requirements.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Franklin","given":"Janet"}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2010.00641.x","ISSN":"1472-4642","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00641.x","page":"321-330","source":"Wiley Online Library","title":"Moving beyond static species distribution models in support of conservation biogeography","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2010.00641.x","volume":"16"}, + {"id":"franksGeneticsClimateChange2012","abstract":"The rapid rate of current global climate change is having strong effects on many species and, at least in some cases, is driving evolution, particularly when changes in conditions alter patterns of selection. Climate change thus provides an opportunity for the study of the genetic basis of adaptation. Such studies include a variety of observational and experimental approaches, such as sampling across clines, artificial evolution experiments, and resurrection studies. These approaches can be combined with a number of techniques in genetics and genomics, including association and mapping analyses, genome scans, and transcription profiling. Recent research has revealed a number of candidate genes potentially involved in climate change adaptation and has also illustrated that genetic regulatory networks and epigenetic effects may be particularly relevant for evolution driven by climate change. Although genetic and genomic data are rapidly accumulating, we still have much to learn about the genetic architecture of climate change adaptation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Franks","given":"Steven J."},{"family":"Hoffmann","given":"Ary A."}],"container-title":"Annual Review of Genetics","container-title-short":"Annu. Rev. Genet.","DOI":"10.1146/annurev-genet-110711-155511","ISSN":"0066-4197","issue":"1","issued":{"date-parts":[[2012,12,15]]},"page":"185-208","publisher":"Annual Reviews","source":"annualreviews.org (Atypon)","title":"Genetics of Climate Change Adaptation","type":"article-journal","URL":"https://www.annualreviews.org/doi/10.1146/annurev-genet-110711-155511","volume":"46"}, + {"id":"fraserRangeExpansionInvasive2015","abstract":"Aim The impact of invasive species is one of the main causes of biodiversity loss world-wide, and as a result, there is much interest in understanding the pattern and rate of expansion of species outside their native range. We aimed to characterize the range expansion of the American mink (Neovison vison) invading from multiple introduction points through a varied landscape bounded by coastline to better understand and manage its spread. Location Scotland, UK. Method We collated and used records of mink presence to calculate the historical range and rate of range expansion at successive time intervals. We used a presence-only model to predict habitat suitability and a newly developed individual-based modelling platform, RangeShifter, to simulate range expansion. Results Records showed that mink were distributed throughout Scotland, except in the far north. We found that the rate of spread varied both spatially and temporally and was related to landscape heterogeneity. Habitat suitable for mink in west Scotland is restricted to the coast. Main conclusions We concluded that temporal and spatial variation in range expansion is attributable to heterogeneity within the landscape and also demonstrated that the potential for long-distance dispersal does not necessarily facilitate range expansion when availability of suitable habitat occurs in narrow strips and/or is fragmented. We have highlighted methodological gaps in calculating rates of expansion in invasive species but have demonstrated alternative methods that successfully utilize presence-only data. Our study reaffirms that invasive species will colonize less favourable habitats and highlights the need to remain vigilant of their potential for expansion even when distribution appears to be static for a time.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fraser","given":"Elaine J."},{"family":"Lambin","given":"Xavier"},{"family":"Travis","given":"Justin M. J."},{"family":"Harrington","given":"Lauren A."},{"family":"Palmer","given":"Stephen C. F."},{"family":"Bocedi","given":"Greta"},{"family":"Macdonald","given":"David W."}],"container-title":"Diversity and Distributions","DOI":"10.1111/ddi.12303","ISSN":"1472-4642","issue":"8","issued":{"date-parts":[[2015]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ddi.12303","page":"888-900","source":"Wiley Online Library","title":"Range expansion of an invasive species through a heterogeneous landscape – the case of American mink in Scotland","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/ddi.12303","volume":"21"}, + {"id":"friedenbergExperimentalEvolutionDispersal2003","abstract":"The world is an uncertain place. Individuals’ fates vary from place to place and from time to time. Natural selection in unpredictable environments should favour individuals that hedge their bets by dispersing offspring. I confirm this basic prediction using Caenorhabditis elegans in experimental microcosms. My results agree with evolutionary models and correlations found previously between habitat stability and individual dispersal propensity in nature. However, I also find that environmental variation that triggers conditional dispersal behaviour may not impose selection on baseline dispersal rates. These findings imply that an increased rate of disturbance in natural systems has the potential to cause an evolutionary response in the life history of impacted organisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Friedenberg","given":"Nicholas A."}],"container-title":"Ecology Letters","DOI":"10.1046/j.1461-0248.2003.00524.x","ISSN":"1461-0248","issue":"10","issued":{"date-parts":[[2003]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1461-0248.2003.00524.x","page":"953-959","source":"Wiley Online Library","title":"Experimental evolution of dispersal in spatiotemporally variable microcosms","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1461-0248.2003.00524.x","volume":"6"}, + {"id":"fronhoferPickyHitchhikersVector2013a","abstract":"Dispersal is a central life-history trait for most animals and plants: it allows to colonize new habitats, escape from competition or avoid inbreeding. Yet, not all species are mobile enough to perform sufficient dispersal. Such passive dispersers may use more mobile animals as dispersal vectors. If multiple potential vectors are available, an active choice can allow to optimize the dispersal process and to determine the distribution of dispersal distances, i.e. an optimal dispersal kernel. We explore dispersal and vector choice in the neotropical flower mite Spadiseius calyptrogynae using a dual approach which combines experiments with an individual-based simulation model. Spadiseius calyptrogynae is found in lowland rainforests in Costa Rica. It inhabits inflorescences of the understorey palm Calyptrogyne ghiesbreghtiana and is phoretic on a number of flower visitors including bats, beetles and stingless bees. We hypothesised that the mites should optimise their dispersal kernel by actively choosing a specific mix of potential phoretic vectors. In a simple olfactometer setup we showed that the flower mites do indeed discriminate between potential vectors. Subsequently we used an individual-based model to analyse the evolutionary forces responsible for the observed patterns of vector choice. The mites combine vectors exhibiting long-distance dispersal with those allowing for more localized dispersal. This results in a fat-tailed dispersal kernel that guarantees the occasional colonization of new host plant patches (long distance) while optimizing the exploitation of clumped resources (local dispersal). Additionally, kin competition results in a preference for small vectors that transport only few individuals at a time. At the same time, these vectors lead to directed dispersal towards suitable habitat, which increases the stability of this very specialized interaction. Our findings can be applied to other phoretic systems but also to vector-based seed dispersal, for example.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fronhofer","given":"Emanuel A."},{"family":"Sperr","given":"Ellen B."},{"family":"Kreis","given":"Anna"},{"family":"Ayasse","given":"Manfred"},{"family":"Poethke","given":"Hans Joachim"},{"family":"Tschapka","given":"Marco"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2013.00503.x","ISSN":"1600-0706","issue":"8","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2013.00503.x","page":"1254-1264","source":"Wiley Online Library","title":"Picky hitch-hikers: vector choice leads to directed dispersal and fat-tailed kernels in a passively dispersing mite","title-short":"Picky hitch-hikers","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2013.00503.x","volume":"122"}, + {"id":"fryxellMultipleMovementModes2008","abstract":"Recent theory suggests that animals should switch facultatively among canonical movement modes as a complex function of internal state, landscape characteristics, motion capacity, and navigational capacity. We tested the generality of this paradigm for free-ranging elk (Cervus elaphus) over 5 orders of magnitude in time (minutes to years) and space (meters to 100 km). At the coarsest spatiotemporal scale, elk shifted from a dispersive to a home-ranging phase over the course of 1–3 years after introduction into a novel environment. At intermediate spatiotemporal scales, elk continued to alternate between movement modes. During the dispersive phase, elk alternated between encamped and exploratory modes, possibly linked to changes in motivational goals from foraging to social bonding. During the home-ranging phase, elk movements were characterized by a complex interplay between attraction to preferred habitat types and memory of previous movements across the home-range. At the finest temporal and spatial scale, elk used area-restricted search while browsing, interspersed with less sinuous paths when not browsing. Encountering a patch of high-quality food plants triggered the switch from one mode to the next, creating biphasic movement dynamics that were reinforced by local resource heterogeneity. These patterns suggest that multiphasic structure is fundamental to the movement patterns of elk at all temporal and spatial scales tested.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fryxell","given":"John M."},{"family":"Hazell","given":"Megan"},{"family":"Börger","given":"Luca"},{"family":"Dalziel","given":"Ben D."},{"family":"Haydon","given":"Daniel T."},{"family":"Morales","given":"Juan M."},{"family":"McIntosh","given":"Therese"},{"family":"Rosatte","given":"Rick C."}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0801737105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19114-19119","PMID":"19060190","publisher":"National Academy of Sciences","section":"Research Article","source":"www.pnas.org","title":"Multiple movement modes by large herbivores at multiple spatiotemporal scales","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19114","volume":"105"}, + {"id":"gallienPredictingPotentialDistributions2010","abstract":"Aim There has been considerable recent interest in modelling the potential distributions of invasive species. However, research has developed in two opposite directions: the first, focusing on screening, utilizes phenomenological models; the second, focusing on predictions of invasion dynamics, utilizes mechanistic models. Here, we present hybrid modelling as an approach to bridge the gap and to integrate the advantages of both research directions. Location Global. Methods First, we briefly summarize the characteristics and limitations of both approaches (screening vs. understanding). Then, we review the recent developments of hybrid models, discuss their current problems and offer suggestions to improve them. Results Generally, hybrid models are able to combine the advantages of currently used phenomenological and mechanistic approaches. Main challenges in building hybrid models are the choices of the appropriate degree of detail and efficiency and the decision on how to connect the different sub-models. Given these challenges, we discuss the links between the phenomenological and the mechanistic model parameters, the underlying concepts of fundamental and realized niches and the problem of feedback loops between population dynamics and environmental factors. Main conclusions Once the above challenges have been addressed and the necessary framework has been developed, hybrid models will provide outstanding tools for overcoming past limitations and will provide the means to make reliable and robust predictions of the potential distribution of invasive species, their population dynamics and the potential outcomes of the overall invasion process.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gallien","given":"Laure"},{"family":"MĂĽnkemĂĽller","given":"Tamara"},{"family":"Albert","given":"CĂ©cile H."},{"family":"Boulangeat","given":"Isabelle"},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2010.00652.x","ISSN":"1472-4642","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00652.x","page":"331-342","source":"Wiley Online Library","title":"Predicting potential distributions of invasive species: where to go from here?","title-short":"Predicting potential distributions of invasive species","type":"article-journal","URL":"https://www.onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2010.00652.x","volume":"16"}, + {"id":"gardnerSimulatingDispersalReintroduced2004b","abstract":"This paper describes the development and application of a spatially explicit, individual based model of animal dispersal (J-walk) to determine the relative effects of landscape heterogeneity, prey availability, predation risk, and the energy requirements and behavior of dispersing organisms on dispersal success. Significant unknowns exist for the simulation of complex movement behavior within heterogeneous landscapes. Therefore, initial simulations with J-walk examined the relative effect of landscape patterns and species-specific characteristics on dispersal success. Differences in landscape pattern were simulated by random generation of fractal maps with average available energy (i.e. prey) and predation risk expressed as a function of habitat type. Variation in species-specific patterns were then simulated by a series of scenarios that varied the response of dispersing individuals to habitat heterogeneity, including: habitat selection to maximize energy intake, habitat selection to minimize predation risk, or habitat selection contingent on energy reserves. Results showed that significant shifts in dispersal could be related to (1) the unique spatial arrangement of habitat within each map, (2) changes in relative prey abundance, and (3) variation in the relationship between energy availability and predation risk. Hypothetical management scenarios were used to identify critical data needed to assure the persistence of reintroduced populations of American martens (Martes americana).","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Gardner","given":"Robert H."},{"family":"Gustafson","given":"Eric J."}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2003.08.008","ISSN":"0304-3800","issue":"4","issued":{"date-parts":[[2004,2,1]]},"language":"en","page":"339-358","source":"ScienceDirect","title":"Simulating dispersal of reintroduced species within heterogeneous landscapes","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380003003387","volume":"171"}, + {"id":"gastonGeographicRangeLimits2009","abstract":"Understanding of the determinants of species' geographic range limits remains poorly integrated. In part, this is because of the diversity of perspectives on the issue, and because empirical studies have lagged substantially behind developments in theory. Here, I provide a broad overview, drawing together many of the disparate threads, considering, in turn, how influences on the terms of a simple single-population equation can determine range limits. There is theoretical and empirical evidence for systematic changes towards range limits under some circumstances in each of the demographic parameters. However, under other circumstances, no such changes may take place in particular parameters, or they may occur in a different direction, with limitation still occurring. This suggests that (i) little about range limitation can categorically be inferred from many empirical studies, which document change in only one demographic parameter, (ii) there is a need for studies that document variation in all of the parameters, and (iii) in agreement with theoretical evidence that range limits can be formed in the presence or absence of hard boundaries, environmental gradients or biotic interactions, there may be few general patterns as to the determinants of these limits, with most claimed generalities at least having many exceptions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gaston","given":"Kevin J"}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","DOI":"10.1098/rspb.2008.1480","issue":"1661","issued":{"date-parts":[[2009,4,22]]},"page":"1395-1406","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Geographic range limits: achieving synthesis","title-short":"Geographic range limits","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2008.1480","volume":"276"}, + {"id":"gilmanFrameworkCommunityInteractions2010a","abstract":"Predicting the impacts of climate change on species is one of the biggest challenges that ecologists face. Predictions routinely focus on the direct effects of climate change on individual species, yet interactions between species can strongly influence how climate change affects organisms at every scale by altering their individual fitness, geographic ranges and the structure and dynamics of their community. Failure to incorporate these interactions limits the ability to predict responses of species to climate change. We propose a framework based on ideas from global-change biology, community ecology, and invasion biology that uses community modules to assess how species interactions shape responses to climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gilman","given":"Sarah E."},{"family":"Urban","given":"Mark C."},{"family":"Tewksbury","given":"Joshua"},{"family":"Gilchrist","given":"George W."},{"family":"Holt","given":"Robert D."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2010.03.002","ISSN":"0169-5347","issue":"6","issued":{"date-parts":[[2010,6,1]]},"language":"en","page":"325-331","source":"ScienceDirect","title":"A framework for community interactions under climate change","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534710000613","volume":"25"}, + {"id":"gilroyMateFindingOverlookedCritical2012","abstract":"Dispersal is a critically important process in ecology, but robust predictive models of animal dispersal remain elusive. We identify a potentially ubiquitous component of variation in animal dispersal that has been largely overlooked until now: the influence of mate encounters on settlement probability. We use an individual-based model to simulate dispersal in sexually-reproducing organisms that follow a simple set of movement rules based on conspecific encounters, within an environment lacking spatial habitat heterogeneity. We show that dispersal distances vary dramatically with fluctuations in population density in such a model, even in the absence of variation in dispersive traits between individuals. In a simple random-walk model with promiscuous mating, dispersal distributions become increasingly â€fat-tailed’ at low population densities due to the increasing scarcity of mates. Similar variation arises in models incorporating territoriality. In a model with polygynous mating, we show that patterns of sex-biased dispersal can even be reversed across a gradient of population density, despite underlying dispersal mechanisms remaining unchanged. We show that some widespread dispersal patterns found in nature (e.g. fat tailed distributions) can arise as a result of demographic variability in the absence of heterogeneity in dispersive traits across the population. This implies that models in which individual dispersal distances are considered to be fixed traits might be unrealistic, as dispersal distances vary widely under a single dispersal mechanism when settlement is influenced by mate encounters. Mechanistic models offer a promising means of advancing our understanding of dispersal in sexually-reproducing organisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gilroy","given":"James J."},{"family":"Lockwood","given":"Julie L."}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0038091","ISSN":"1932-6203","issue":"5","issued":{"date-parts":[[2012,5,25]]},"language":"en","page":"e38091","publisher":"Public Library of Science","source":"PLoS Journals","title":"Mate-Finding as an Overlooked Critical Determinant of Dispersal Variation in Sexually-Reproducing Animals","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0038091","volume":"7"}, + {"id":"greenmanImpactEnvironmentalFluctuations2005","abstract":"External forcing of a discrete time ecological system does not just add variation to existing dynamics but can change the dynamics. We study the mechanisms that can bring this about, focusing on the key concepts of excitation and suppression which emerge when analysing the power spectra of the system in linear approximation. Excitation, through resonance between the system dynamics and the external forcing, is the greater the closer the system is to the boundary of the stability region. This amplification means that the extinction of populations becomes possible sooner than expected and, conversely, invasion can be significantly delayed. Suppression and the consequent redistribution of power within the spectrum proves to be a function both of the connectivity of the network graph of the system and the way that external forcing is applied to the system. It is also established that colour in stochastic forcing can have a major impact, by enhancing resonance and by greater redistribution of power. This can mean a higher risk of extinction through larger fluctuations in population numbers and a higher degree of synchrony between populations. The implications of external forcing for stage-structured species, for populations in competition and for trophic web systems are studied using the tools and concepts developed in the paper.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Greenman","given":"J. V."},{"family":"Benton","given":"T. G."}],"container-title":"Theoretical Population Biology","container-title-short":"Theoretical Population Biology","DOI":"10.1016/j.tpb.2005.06.007","ISSN":"0040-5809","issue":"4","issued":{"date-parts":[[2005,12,1]]},"language":"en","page":"217-235","source":"ScienceDirect","title":"The impact of environmental fluctuations on structured discrete time population models: Resonance, synchrony and threshold behaviour","title-short":"The impact of environmental fluctuations on structured discrete time population models","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0040580905000936","volume":"68"}, + {"id":"greenwoodMatingSystemsPhilopatry1980","abstract":"Many species of birds and mammals are faithful to their natal and breeding site or group. In most of them one sex is more philopatric than the other. In birds it is usually females which disperse more than males; in mammals it is usually males which disperse more than females. Reproductive enhancement through increased access to mates or resources and the avoidance of inbreeding are important in promoting sex differences in dispersal. It is argued that the direction of the sex bias is a consequence of the type of mating system. Philopatry will favour the evolution of cooperative traits between members of the sedentary sex. Disruptive acts will be a feature of dispersers.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Greenwood","given":"Paul J."}],"container-title":"Animal Behaviour","container-title-short":"Animal Behaviour","DOI":"10.1016/S0003-3472(80)80103-5","ISSN":"0003-3472","issue":"4","issued":{"date-parts":[[1980,11,1]]},"language":"en","page":"1140-1162","source":"ScienceDirect","title":"Mating systems, philopatry and dispersal in birds and mammals","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0003347280801035","volume":"28"}, + {"id":"grimmIndividualbasedModelingEcology2005","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Grimm","given":"Volker"},{"family":"Railsback","given":"Steven F."}],"ISBN":"978-0-691-09666-7","issued":{"date-parts":[[2005]]},"language":"en","publisher":"Princeton University Press","source":"press.princeton.edu","title":"Individual-based Modeling and Ecology","type":"book","URL":"https://press.princeton.edu/books/paperback/9780691096667/individual-based-modeling-and-ecology"}, + {"id":"grosEvolutionSexbiasedDispersal2008","abstract":"Abstract: Inbreeding avoidance and asymmetric competition over resources have both been identified as factors favoring the evolution of sex-biased dispersal. It has also been recognized that sex-specific costs of dispersal would select for sex-biased dispersal, but there is little quantitative information on this aspect. In this paper we explore (i) the quantitative relationship between cost-asymmetry and a bias in dispersal, (ii) the influence of demographic stochasticity on this effect, and (iii) how inbreeding and cost-asymmetry interact in their effect on sex-specific dispersal. We adjust an existing analytical model to account for sex-specific costs of dispersal. Based on numerical calculations we predict a severe bias in dispersal already for small differences in dispersal costs. We corroborate these predictions in individual-based simulations, but show that demographic stochasticity generally leads to more balanced dispersal. In combination with inbreeding, cost asymmetries will usually determine which of the two sexes becomes the more dispersive.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gros","given":"Andreas"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans Joachim"}],"issued":{"date-parts":[[2008]]},"language":"eng","source":"opus.bibliothek.uni-wuerzburg.de","title":"Evolution of sex-biased dispersal : the role of sex-specific dispersal costs, demographic stochasticity, and inbreeding","title-short":"Evolution of sex-biased dispersal","type":"article-journal","URL":"https://opus.bibliothek.uni-wuerzburg.de/frontdoor/index/index/docId/4031"}, + {"id":"grosSexspecificSpatiotemporalVariability2009","abstract":"Inbreeding depression, asymmetries in costs or benefits of dispersal, and the mating system have been identified as potential factors underlying the evolution of sex-biased dispersal. We use individual-based simulations to explore how the mating system and demographic stochasticity influence the evolution of sex-specific dispersal in a metapopulation with females competing over breeding sites, and males over mating opportunities. Comparison of simulation results for random mating with those for a harem system (locally, a single male sires all offspring) reveal that even extreme variance in local male reproductive success (extreme male competition) does not induce male-biased dispersal. The latter evolves if the between-patch variance in reproductive success is larger for males than females. This can emerge due to demographic stochasticity if the habitat patches are small. More generally, members of a group of individuals experiencing higher spatio-temporal variance in fitness expectations may evolve to disperse with greater probability than others.","author":[{"family":"Gros","given":"Andreas"},{"family":"Poethke","given":"Hans Joachim"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"Theoretical Population Biology","container-title-short":"Theor Popul Biol","DOI":"10.1016/j.tpb.2009.03.002","ISSN":"1096-0325","issue":"1","issued":{"date-parts":[[2009,8]]},"language":"eng","page":"13-18","PMID":"19303892","source":"PubMed","title":"Sex-specific spatio-temporal variability in reproductive success promotes the evolution of sex-biased dispersal","type":"article-journal","volume":"76"}, + {"id":"guillaumeInbreedingLoadBet2009","abstract":"Inbreeding load affects not only the average fecundity of philopatric individuals but also its variance. From betâ€hedging theory, this should add further dispersal pressures to those stemming from the mere avoidance of inbreeding. Pressures on both sexes are identical under monogamy or promiscuity. Under polygyny, by contrast, the variance in reproductive output decreases with dispersal rate in females but increases in males, which should induce a femaleâ€biased dispersal. To test this prediction, we performed individualâ€based simulations. From our results, a femaleâ€biased dispersal indeed emerges as both polygyny and inbreeding load increase. We conclude that sexâ€biased dispersal may be selected for as a betâ€hedging strategy.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Guillaume","given":"FrĂ©dĂ©ric"},{"family":"Perrin","given":"Nicolas"}],"container-title":"The American Naturalist","DOI":"10.1086/597218","ISSN":"0003-0147","issue":"4","issued":{"date-parts":[[2009,4,1]]},"page":"536-541","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"Inbreeding Load, Bet Hedging, and the Evolution of Sexâ€Biased Dispersal.","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/597218","volume":"173"}, + {"id":"guillaumeNEMOEvolutionaryPopulation2006","abstract":"Unlabelled: \nNemo is an individual-based, genetically explicit and stochastic population computer program for the simulation of population genetics and life-history trait evolution in a metapopulation context. It comes as both a C++ programming framework and an executable program file. Its object-oriented programming design gives it the flexibility and extensibility needed to implement a large variety of forward-time evolutionary models. It provides developers with abstract models allowing them to implement their own life-history traits and life-cycle events. Nemo offers a large panel of population models, from the Island model to lattice models with demographic or environmental stochasticity and a variety of already implemented traits (deleterious mutations, neutral markers and more), life-cycle events (mating, dispersal, aging, selection, etc.) and output operators for saving data and statistics. It runs on all major computer platforms including parallel computing environments.\n\nAvailability:\nThe source code, binaries and documentation are available under the GNU General Public License at http://nemo2.sourceforge.net.","author":[{"family":"Guillaume","given":"FrĂ©dĂ©ric"},{"family":"Rougemont","given":"Jacques"}],"container-title":"Bioinformatics (Oxford, England)","container-title-short":"Bioinformatics (Oxford, England)","DOI":"10.1093/bioinformatics/btl415","issued":{"date-parts":[[2006,11,1]]},"page":"2556-7","source":"ResearchGate","title":"NEMO: an evolutionary and population genetics programming framework","title-short":"NEMO","type":"article-journal","volume":"22"}, + {"id":"guisanPredictingSpeciesDistribution2005a","abstract":"In the last two decades, interest in species distribution models (SDMs) of plants and animals has grown dramatically. Recent advances in SDMs allow us to potentially forecast anthropogenic effects on patterns of biodiversity at different spatial scales. However, some limitations still preclude the use of SDMs in many theoretical and practical applications. Here, we provide an overview of recent advances in this field, discuss the ecological principles and assumptions underpinning SDMs, and highlight critical limitations and decisions inherent in the construction and evaluation of SDMs. Particular emphasis is given to the use of SDMs for the assessment of climate change impacts and conservation management issues. We suggest new avenues for incorporating species migration, population dynamics, biotic interactions and community ecology into SDMs at multiple spatial scales. Addressing all these issues requires a better integration of SDMs with ecological theory.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Guisan","given":"Antoine"},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2005.00792.x","ISSN":"1461-0248","issue":"9","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2005.00792.x","page":"993-1009","source":"Wiley Online Library","title":"Predicting species distribution: offering more than simple habitat models","title-short":"Predicting species distribution","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2005.00792.x","volume":"8"}, + {"id":"hallerSLiMForwardGenetic","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Haller","given":"Benjamin C."},{"family":"Messer","given":"Phillip W."}],"container-title":"Molecular Biology and Evolution","issue":"36","page":"632-637","title":"SLiM 3: Forward Genetic Simulations Beyond the Wright–Fisher Model | Molecular Biology and Evolution | Oxford Academic","type":"article-journal","URL":"https://academic.oup.com/mbe/article/36/3/632/5229931"}, + {"id":"hansenPerceptionClimateChange2012","abstract":"“Climate dice,” describing the chance of unusually warm or cool seasons, have become more and more “loaded” in the past 30 y, coincident with rapid global warming. The distribution of seasonal mean temperature anomalies has shifted toward higher temperatures and the range of anomalies has increased. An important change is the emergence of a category of summertime extremely hot outliers, more than three standard deviations (3Ď) warmer than the climatology of the 1951–1980 base period. This hot extreme, which covered much less than 1% of Earth’s surface during the base period, now typically covers about 10% of the land area. It follows that we can state, with a high degree of confidence, that extreme anomalies such as those in Texas and Oklahoma in 2011 and Moscow in 2010 were a consequence of global warming because their likelihood in the absence of global warming was exceedingly small. We discuss practical implications of this substantial, growing, climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hansen","given":"James"},{"family":"Sato","given":"Makiko"},{"family":"Ruedy","given":"Reto"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.1205276109","ISSN":"0027-8424, 1091-6490","issue":"37","issued":{"date-parts":[[2012,9,11]]},"language":"en","page":"E2415-E2423","PMID":"22869707","publisher":"National Academy of Sciences","section":"PNAS Plus","source":"www.pnas.org","title":"Perception of climate change","type":"article-journal","URL":"https://www.pnas.org/content/109/37/E2415","volume":"109"}, + {"id":"hanskiEcoevolutionaryDynamicsDispersal2011a","abstract":"Evolutionary changes in natural populations are often so fast that the evolutionary dynamics may influence ecological population dynamics and vice versa. Here we construct an eco-evolutionary model for dispersal by combining a stochastic patch occupancy metapopulation model with a model for changes in the frequency of fast-dispersing individuals in local populations. We test the model using data on allelic variation in the gene phosphoglucose isomerase (Pgi), which is strongly associated with dispersal rate in the Glanville fritillary butterfly. Population-specific measures of immigration and extinction rates and the frequency of fast-dispersing individuals among the immigrants explained 40% of spatial variation in Pgi allele frequency among 97 local populations. The model clarifies the roles of founder events and gene flow in dispersal evolution and resolves a controversy in the literature about the consequences of habitat loss and fragmentation on the evolution of dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hanski","given":"Ilkka"},{"family":"Mononen","given":"Tommi"}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/j.1461-0248.2011.01671.x","ISSN":"1461-023X","issue":"10","issued":{"date-parts":[[2011,10]]},"page":"1025-1034","PMCID":"PMC3187866","PMID":"21794053","source":"PubMed Central","title":"Eco-evolutionary dynamics of dispersal in spatially heterogeneous environments","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3187866/","volume":"14"}, + {"id":"hanskiVariationMigrationPropensity2004","abstract":"Metapopulation dynamics lead to predictable patterns of habitat occupancy, population density and trophic structure in relation to landscape features such as habitat patch size and isolation. Comparable patterns may occur in behavioural, physiological and life-history traits but remain little studied. In the Glanville fritillary butterfly, females in newly established populations were more mobile than females in old populations. Among females from new populations, mobility decreased with increasing connectivity (decreasing isolation), but in females from old populations mobility increased with connectivity. The [ATP]/[ADP] ratio of flight muscles following controlled activity showed the same pattern as mobility in relation to population age and connectivity, suggesting that physiological differences in flight metabolic performance contribute to the observed variation in mobility. We demonstrate with an evolutionary metapopulation model parameterised for the Glanville fritillary that increasing spatial variation in landscape structure increases variance in mobility among individuals in a metapopulation, supporting the general notion that complex landscape structure maintains life-history variation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hanski","given":"Ilkka"},{"family":"Erälahti","given":"Claudia"},{"family":"Kankare","given":"Maaria"},{"family":"Ovaskainen","given":"Otso"},{"family":"SirĂ©n","given":"Heli"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2004.00654.x","ISSN":"1461-0248","issue":"10","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00654.x","page":"958-966","source":"Wiley Online Library","title":"Variation in migration propensity among individuals maintained by landscape structure","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2004.00654.x","volume":"7"}, + {"id":"hartigConnectingDynamicVegetation2012","abstract":"Dynamic vegetation models provide process-based explanations of the dynamics and the distribution of plant ecosystems. They offer significant advantages over static, correlative modelling approaches, particularly for ecosystems that are outside their equilibrium due to global change or climate change. A persistent problem, however, is their parameterization. Parameters and processes of dynamic vegetation models (DVMs) are traditionally determined independently of the model, while model outputs are compared to empirical data for validation and informal model comparison only. But field data for such independent estimates of parameters and processes are often difficult to obtain, and the desire to include better descriptions of processes such as biotic interactions, dispersal, phenotypic plasticity and evolution in future vegetation models aggravates limitations related to the current parameterization paradigm. In this paper, we discuss the use of Bayesian methods to bridge this gap. We explain how Bayesian methods allow direct estimates of parameters and processes, encoded in prior distributions, to be combined with inverse estimates, encoded in likelihood functions. The combination of direct and inverse estimation of parameters and processes allows a much wider range of vegetation data to be used simultaneously, including vegetation inventories, species traits, species distributions, remote sensing, eddy flux measurements and palaeorecords. The possible reduction of uncertainty regarding structure, parameters and predictions of DVMs may not only foster scientific progress, but will also increase the relevance of these models for policy advice.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hartig","given":"Florian"},{"family":"Dyke","given":"James"},{"family":"Hickler","given":"Thomas"},{"family":"Higgins","given":"Steven I."},{"family":"O’Hara","given":"Robert B."},{"family":"Scheiter","given":"Simon"},{"family":"Huth","given":"Andreas"}],"container-title":"Journal of Biogeography","DOI":"10.1111/j.1365-2699.2012.02745.x","ISSN":"1365-2699","issue":"12","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2012.02745.x","page":"2240-2252","source":"Wiley Online Library","title":"Connecting dynamic vegetation models to data – an inverse perspective","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2699.2012.02745.x","volume":"39"}, + {"id":"hartigStatisticalInferenceStochastic2011","abstract":"Ecology Letters (2011) 14: 816–827 Abstract Statistical models are the traditional choice to test scientific theories when observations, processes or boundary conditions are subject to stochasticity. Many important systems in ecology and biology, however, are difficult to capture with statistical models. Stochastic simulation models offer an alternative, but they were hitherto associated with a major disadvantage: their likelihood functions can usually not be calculated explicitly, and thus it is difficult to couple them to well-established statistical theory such as maximum likelihood and Bayesian statistics. A number of new methods, among them Approximate Bayesian Computing and Pattern-Oriented Modelling, bypass this limitation. These methods share three main principles: aggregation of simulated and observed data via summary statistics, likelihood approximation based on the summary statistics, and efficient sampling. We discuss principles as well as advantages and caveats of these methods, and demonstrate their potential for integrating stochastic simulation models into a unified framework for statistical modelling.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hartig","given":"Florian"},{"family":"Calabrese","given":"Justin M."},{"family":"Reineking","given":"Björn"},{"family":"Wiegand","given":"Thorsten"},{"family":"Huth","given":"Andreas"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2011.01640.x","ISSN":"1461-0248","issue":"8","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2011.01640.x","page":"816-827","source":"Wiley Online Library","title":"Statistical inference for stochastic simulation models – theory and application","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2011.01640.x","volume":"14"}, + {"id":"hastingsSpatialSpreadInvasions2005","abstract":"We review and synthesize recent developments in the study of the spread of invasive species, emphasizing both empirical and theoretical approaches. Recent theoretical work has shown that invasive species spread is a much more complex process than the classical models suggested, as long range dispersal events can have a large influence on the rate of range expansion through time. Empirical work goes even further, emphasizing the role of spatial heterogeneity, temporal variability, other species, and evolution. As in some of the classic work on spread, the study of range expansion of invasive species provides unique opportunities to use differences between theory and data to determine the important underlying processes that control spread rates.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hastings","given":"Alan"},{"family":"Cuddington","given":"Kim"},{"family":"Davies","given":"Kendi F."},{"family":"Dugaw","given":"Christopher J."},{"family":"Elmendorf","given":"Sarah"},{"family":"Freestone","given":"Amy"},{"family":"Harrison","given":"Susan"},{"family":"Holland","given":"Matthew"},{"family":"Lambrinos","given":"John"},{"family":"Malvadkar","given":"Urmila"},{"family":"Melbourne","given":"Brett A."},{"family":"Moore","given":"Kara"},{"family":"Taylor","given":"Caz"},{"family":"Thomson","given":"Diane"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2004.00687.x","ISSN":"1461-0248","issue":"1","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00687.x","page":"91-101","source":"Wiley Online Library","title":"The spatial spread of invasions: new developments in theory and evidence","title-short":"The spatial spread of invasions","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2004.00687.x","volume":"8"}, + {"id":"haughlandExplorationCorrelatesSettlement2004","abstract":"1 Dispersers in heterogeneous habitat theoretically should target the habitat(s) where reproduction and survival (i.e. fitness) will be highest. However, the cues that dispersing animals respond to are not well understood: differences in habitat quality ultimately may be important, but whether animals respond to these differences may be influenced by their own familiarity with different habitats. 2 To determine if dispersers reacted to differences in habitat, we documented the exploratory movements, dispersal, and settlement patterns of juvenile North American red squirrels (Tamiasciurus hudsonicus) originating in adjacent patches of different habitats. 3 Dispersers originating in mature, closed-canopy forest (linked to higher female reproductive success and smaller territories) did not explore contrasting open forest with lower tree densities, and the magnitude of the dispersers’ explorations was relatively similar. In contrast, dispersers from the open forest habitat made explorations that carried them into contrasting, mature forest habitat, and their explorations were more variable across individuals. 4 When settlement occurred, it was strongly philopatric in all groups of dispersers, although the distances and directions favoured during the exploratory phase of dispersal remained strong predictors of where settlement occurred. Overall, processes favouring philopatry (i.e. maternal influences, competitive advantages, etc.) appeared to dominate the dispersal of our study animals, even those that were exposed to higher quality habitat during their explorations. 5 Secondarily, annual stochasticity (or some correlate) affected the scale of exploration and timing of settlement more than the relative quality of habitat in which dispersers were born. 6 Studies such as this that seek to understand the relative importance of individual experience, habitat familiarity, and habitat quality are important to ultimately understanding how individual animals and populations react to habitat heterogeneity.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Haughland","given":"Diane L."},{"family":"Larsen","given":"Karl W."}],"container-title":"Journal of Animal Ecology","DOI":"10.1111/j.0021-8790.2004.00884.x","ISSN":"1365-2656","issue":"6","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8790.2004.00884.x","page":"1024-1034","source":"Wiley Online Library","title":"Exploration correlates with settlement: red squirrel dispersal in contrasting habitats","title-short":"Exploration correlates with settlement","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.0021-8790.2004.00884.x","volume":"73"}, + {"id":"hauserDispersalClobertDanchin2001","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hauser","given":"Lorenz"}],"container-title":"Heredity","DOI":"10.1046/j.1365-2540.2001.0963a.x","ISSN":"1365-2540","issue":"4","issued":{"date-parts":[[2001]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2540.2001.0963a.x","page":"508-508","source":"Wiley Online Library","title":"Dispersal. J. Clobert, E. Danchin, A. A. Dhondt and J. D. Nichols (eds). Oxford University Press, New York. 2001. pp. 452. Price ÂŁ24.95, paperback. ISBN: 0-19-850659-7.","title-short":"Dispersal. J. Clobert, E. Danchin, A. A. Dhondt and J. D. Nichols (eds). Oxford University Press, New York. 2001. pp. 452. Price ÂŁ24.95, paperback. ISBN","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1365-2540.2001.0963a.x","volume":"87"}, + {"id":"hawkesLinkingMovementBehaviour2009","abstract":"1 Movement behaviour has become increasingly important in dispersal ecology and dispersal is central to the development of spatially explicit population ecology. The ways in which the elements have been brought together are reviewed with particular emphasis on dispersal distance distributions and the value of mechanistic models. 2 There is a continuous range of movement behaviours and in some species, dispersal is a clearly delineated event but not in others. The biological complexities restrict conclusions to high-level generalizations but there may be principles that are common to dispersal and other movements. 3 Random walk and diffusion models when appropriately elaborated can provide an understanding of dispersal distance relationships on spatial and temporal scales relevant to dispersal. Leptokurtosis in the relationships may be the result of a combination of factors including population heterogeneity, correlation, landscape features, time integration and density dependence. The inclusion in diffusion models of individual variation appears to be a useful elaboration. The limitations of the negative exponential and other phenomenological models are discussed. 4 The dynamics of metapopulation models are sensitive to what appears to be small differences in the assumptions about dispersal. In order to represent dispersal realistically in population models, it is suggested that phenomenological models should be replaced by those based on movement behaviour incorporating individual variation. 5 The conclusions are presented as a set of candidate principles for evaluation. The main features of the principles are that uncorrelated or correlated random walk, not linear movement, is expected where the directions of habitat patches are unpredictable and more complex behaviour when organisms have the ability to orientate or navigate. Individuals within populations vary in their movement behaviour and dispersal; part of this variation is a product of random elements in movement behaviour and some of it is heritable. Local and metapopulation dynamics are influenced by population heterogeneity in dispersal characteristics and heritable changes in dispersal propensity occur on time-scales short enough to impact population dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hawkes","given":"Colin"}],"container-title":"Journal of Animal Ecology","DOI":"10.1111/j.1365-2656.2009.01534.x","ISSN":"1365-2656","issue":"5","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2009.01534.x","page":"894-906","source":"Wiley Online Library","title":"Linking movement behaviour, dispersal and population processes: is individual variation a key?","title-short":"Linking movement behaviour, dispersal and population processes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2656.2009.01534.x","volume":"78"}, + {"id":"heikkinenMethodsUncertaintiesBioclimatic2006","abstract":"Potential impacts of projected climate change on biodiversity are often assessed using single-species bioclimatic â€envelope’models. Such models are a special case of species distribution models in which the current geographical distribution of species is related to climatic variables so to enable projections of distributions under future climate change scenarios. This work reviews a number of critical methodological issues that may lead to uncertainty in predictions from bioclimatic modelling. Particular attention is paid to recent developments of bioclimatic modelling that address some of these issues as well as to the topics where more progress needs to be made. Developing and applying bioclimatic models in a informative way requires good understanding of a wide range of methodologies, including the choice of modelling technique, model validation, collinearity, autocorrelation, biased sampling of explanatory variables, scaling and impacts of non-climatic factors. A key challenge for future research is integrating factors such as land cover, direct CO2 effects, biotic interactions and dispersal mechanisms into species-climate models. We conclude that, although bioclimatic envelope models have a number of important advantages, they need to be applied only when users of models have a thorough understanding of their limitations and uncertainties.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Heikkinen","given":"Risto K."},{"family":"Luoto","given":"Miska"},{"family":"AraĂşjo","given":"Miguel B."},{"family":"Virkkala","given":"Raimo"},{"family":"Thuiller","given":"Wilfried"},{"family":"Sykes","given":"Martin T."}],"container-title":"Progress in Physical Geography: Earth and Environment","container-title-short":"Progress in Physical Geography: Earth and Environment","DOI":"10.1177/0309133306071957","ISSN":"0309-1333","issue":"6","issued":{"date-parts":[[2006,12,1]]},"language":"en","page":"751-777","publisher":"SAGE Publications Ltd","source":"SAGE Journals","title":"Methods and uncertainties in bioclimatic envelope modelling under climate change","type":"article-journal","URL":"https://doi.org/10.1177/0309133306071957","volume":"30"}, + {"id":"heinoEvolutionMigrationRate2001","abstract":"We use an individual-based, spatially realistic metapopulation model to study the evolution of migration rate. We first explore the consequences of habitat change in hypothetical patch networks on a regular lattice. If the primary consequence of habitat change is an increase in local extinction risk as a result of decreased local population sizes, migration rate increases. A nonmonotonic response, with migration rate decreasing at high extinction rate, was obtained only by assuming very frequent catastrophes. If the quality of the matrix habitat deteriorates, leading to increased mortality during migration, the evolutionary response is more complex. As long as habitat patch occupancy does not decrease markedly with increased migration mortality, reduced migration rate evolves. However, once mortality becomes so high that empty patches remain uncolonized for a long time, evolution tends to increase migration rate, which may lead to an \"evolutionary rescue\" in a fragmented landscape. Kin competition has a quantitative effect on the evolution of migration rate in our model, but these patterns in the evolution of migration rate appear to be primarily caused by spatiotemporal variation in fitness and mortality during migration. We apply the model to real habitat patch networks occupied by two checkerspot butterfly (Melitaea) species, for which sufficient data are available to estimate rigorously most of the model parameters. The model-predicted migration rate is not significantly different from the empirically observed one. Regional variation in patch areas and connectivities leads to regional variation in the optimal migration rate, predictions that can be tested empirically.","author":[{"family":"Heino","given":"M."},{"family":"Hanski","given":"I."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/319927","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2001,5]]},"language":"eng","page":"495-511","PMID":"18707258","source":"PubMed","title":"Evolution of migration rate in a spatially realistic metapopulation model","type":"article-journal","volume":"157"}, + {"id":"heinoExtinctionRiskColoured2000","abstract":"Positively autocorrelated red environmental noise is characterized by a strong dependence of expected sample variance on sample length. This dependence has to be taken into account when assessing extinction risk under red and white uncorrelated environmental noise. To facilitate a comparison between red and white noise, their expected variances can be scaled to be equal, but only at a chosen time scale. We show with a simple one-dimensional population dynamics model that the different but equally reasonable choices of the time scale yield qualitatively different results on the dependence of extinction risk on the colour of environmental noise: extinction risk might increase as well as decrease when the temporal correlation of noise increases.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Heino","given":"Mikko"},{"family":"Ripa","given":"Jörgen"},{"family":"Kaitala","given":"Veijo"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2000.tb00273.x","ISSN":"1600-0587","issue":"2","issued":{"date-parts":[[2000]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2000.tb00273.x","page":"177-184","source":"Wiley Online Library","title":"Extinction risk under coloured environmental noise","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2000.tb00273.x","volume":"23"}, + {"id":"heinoExtinctionRiskColoured2000a","abstract":"Positively autocorrelated red environmental noise is characterized by a strong dependence of expected sample variance on sample length. This dependence has to be taken into account when assessing extinction risk under red and white uncorrelated environmental noise. To facilitate a comparison between red and white noise, their expected variances can be scaled to be equal, but only at a chosen time scale. We show with a simple one-dimensional population dynamics model that the different but equally reasonable choices of the time scale yield qualitatively different results on the dependence of extinction risk on the colour of environmental noise: extinction risk might increase as well as decrease when the temporal correlation of noise increases.","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Heino","given":"Mikko"},{"family":"Ripa","given":"Jörgen"},{"family":"Kaitala","given":"Veijo"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2000.tb00273.x","ISSN":"1600-0587","issue":"2","issued":{"date-parts":[[2000]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2000.tb00273.x","page":"177-184","source":"Wiley Online Library","title":"Extinction risk under coloured environmental noise","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2000.tb00273.x","volume":"23"}, + {"id":"heinzAdaptivePatchSearching2006","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Heinz","given":"S. K."},{"family":"Strand","given":"E."}],"container-title":"Evolutionary Ecology","issue":"20","issued":{"date-parts":[[2006]]},"page":"113-130","title":"Adaptive Patch Searching Strategies in Fragmented Landscapes","type":"article-journal","URL":"https://www.researchgate.net/publication/225577761_Adaptive_Patch_Searching_Strategies_in_Fragmented_Landscapes"}, + {"id":"hellmannInfluenceSpeciesInteractions2012","abstract":"The fossil record tells us that many species shifted their geographic distributions during historic climate changes, but this record does not portray the complete picture of future range change in response to climate change. In particular, it does not provide information on how species interactions will affect range shifts. Therefore, we also need modern research to generate understanding of range change. This paper focuses on the role that species interactions play in promoting or preventing geographic ranges shifts under current and future climate change, and we illustrate key points using empirical case studies from an integrated study system. Case studies can have limited generalizability, but they are critical to defining possible outcomes under climate change. Our case studies emphasize host limitation that could reduce range shifts and enemy release that could facilitate range expansion. We also need improvements in modeling that explicitly consider species interactions, and this modeling can be informed by empirical research. Finally, we discuss how species interactions have implications for range management by people.","author":[{"family":"Hellmann","given":"Jessica J."},{"family":"Prior","given":"Kirsten M."},{"family":"Pelini","given":"Shannon L."}],"container-title":"Annals of the New York Academy of Sciences","container-title-short":"Ann N Y Acad Sci","DOI":"10.1111/j.1749-6632.2011.06410.x","ISSN":"1749-6632","issued":{"date-parts":[[2012,2]]},"language":"eng","page":"18-28","PMID":"22329888","source":"PubMed","title":"The influence of species interactions on geographic range change under climate change","type":"article-journal","volume":"1249"}, + {"id":"henryEcoevolutionaryDynamicsRange2012","author":[{"family":"Henry","given":"Roslyn"},{"family":"Bocedi","given":"Greta"},{"family":"Travis","given":"Justin"}],"container-title":"Journal of theoretical biology","container-title-short":"Journal of theoretical biology","DOI":"10.1016/j.jtbi.2012.12.004","issued":{"date-parts":[[2012,12,11]]},"source":"ResearchGate","title":"Eco-evolutionary dynamics of range shifts: Elastic margins and critical thresholds","title-short":"Eco-evolutionary dynamics of range shifts","type":"article-journal","volume":"321"}, + {"id":"herefordQuantitativeSurveyLocal2009","abstract":"The long history of reciprocal transplant studies testing the hypothesis of local adaptation has shown that populations are often adapted to their local environments. Yet many studies have not demonstrated local adaptation, suggesting that sometimes native populations are no better adapted than are genotypes from foreign environments. Local adaptation may also lead to trade-offs, in which adaptation to one environment comes at a cost of adaptation to another environment. I conducted a survey of published studies of local adaptation to quantify its frequency and magnitude and the costs associated with local adaptation. I also quantified the relationship between local adaptation and environmental differences and the relationship between local adaptation and phenotypic divergence. The overall frequency of local adaptation was 0.71, and the magnitude of the native population advantage in relative fitness was 45%. Divergence between home site environments was positively associated with the magnitude of local adaptation, but phenotypic divergence was not. I found a small negative correlation between a population's relative fitness in its native environment and its fitness in a foreign environment, indicating weak trade-offs associated with local adaptation. These results suggest that populations are often locally adapted but stochastic processes such as genetic drift may limit the efficacy of divergent selection.","author":[{"family":"Hereford","given":"Joe"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/597611","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2009,5]]},"language":"eng","page":"579-588","PMID":"19272016","source":"PubMed","title":"A quantitative survey of local adaptation and fitness trade-offs","type":"article-journal","volume":"173"}, + {"id":"higginsNicheBiologySpecies2012","abstract":"Why species are found where they are is a central question in biogeography. The most widely used tool for understanding the controls on distribution is species distribution modelling. Species distribution modelling is now a well-established method in both the theoretical and applied ecological literature. In this special issue we examine the current state of the art in species distribution modelling and explore avenues for including more biological processes in such models. In particular we focus on physiological, demographic, dispersal, competitive and ecological-modulation processes. This overview highlights opportunities for new species distribution model concepts and developments, as well as a statistical agenda for implementing such models.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Higgins","given":"Steven I."},{"family":"O'Hara","given":"Robert B."},{"family":"Römermann","given":"Christine"}],"container-title":"Journal of Biogeography","DOI":"10.1111/jbi.12029","ISSN":"1365-2699","issue":"12","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/jbi.12029","page":"2091-2095","source":"Wiley Online Library","title":"A niche for biology in species distribution models","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/jbi.12029","volume":"39"}, + {"id":"hobanComputerSimulationsTools2012","abstract":"Computer simulations are excellent tools for understanding the evolutionary and genetic consequences of complex processes whose interactions cannot be analytically predicted. Simulations have traditionally been used in population genetics by a fairly small community with programming expertise, but the recent availability of dozens of sophisticated, customizable software packages for simulation now makes simulation an accessible option for researchers in many fields. The in silico genetic data produced by simulations, along with greater availability of population-genomics data, are transforming genetic epidemiology, anthropology, evolutionary and population genetics and conservation. In this Review of the state-of-the-art of simulation software, we identify applications of simulations, evaluate simulator capabilities, provide a guide for their use and summarize future directions.","author":[{"family":"Hoban","given":"Sean"},{"family":"Bertorelle","given":"Giorgio"},{"family":"Gaggiotti","given":"Oscar E."}],"container-title":"Nature Reviews. Genetics","container-title-short":"Nat Rev Genet","DOI":"10.1038/nrg3130","ISSN":"1471-0064","issue":"2","issued":{"date-parts":[[2012,1,10]]},"language":"eng","page":"110-122","PMID":"22230817","source":"PubMed","title":"Computer simulations: tools for population and evolutionary genetics","title-short":"Computer simulations","type":"article-journal","volume":"13"}, + {"id":"hobbsEstimatesHabitatCarrying1985","abstract":"Presentation d'un algorithme pour estimer la densite supportable d'herbivores consommant des ressources alimentaires a des degres divers de qualite nutritive. Influence des brulis. On prend pour exemple Odocoileus hemionus et Ovis canadensis","author":[{"family":"Hobbs","given":"N."}],"DOI":"10.2307/3801716","issued":{"date-parts":[[1985]]},"source":"Semantic Scholar","title":"Estimates of habitat carrying capacity incorporating explicit nutritional constraints","type":"article-journal"}, + {"id":"hodgsonClimateChangeConnectivity2009a","abstract":"1. The challenge of climate change forces us to re-examine the assumptions underlying conservation planning. 2. Increasing â€connectivity’ has emerged as the most favoured option for conservation in the face of climate change. 3. We argue that the importance of connectivity is being overemphasized: quantifying the benefits of connectivity per se is plagued with uncertainty, and connectivity can be co-incidentally improved by targeting more concrete metrics: habitat area and habitat quality. 4. Synthesis and applications. Before investing in connectivity projects, conservation practitioners should analyse the benefits expected to arise from increasing connectivity and compare them with alternative investments, to ensure as much biodiversity conservation and resilience to climate change as possible within their budget. Strategies that we expect to remain robust in the face of climate change include maintaining and increasing the area of high quality habitats, prioritizing areas that have high environmental heterogeneity and controlling other anthropogenic threatening processes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hodgson","given":"Jenny A."},{"family":"Thomas","given":"Chris D."},{"family":"Wintle","given":"Brendan A."},{"family":"Moilanen","given":"Atte"}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/j.1365-2664.2009.01695.x","ISSN":"1365-2664","issue":"5","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2009.01695.x","page":"964-969","source":"Wiley Online Library","title":"Climate change, connectivity and conservation decision making: back to basics","title-short":"Climate change, connectivity and conservation decision making","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2664.2009.01695.x","volume":"46"}, + {"id":"hodgsonHabitatAreaQuality2011a","abstract":"1. Population viability can depend on habitat area, habitat quality, the spatial arrangement of habitats (aggregations and connections) and the properties of the intervening non-breeding (matrix) land. Hodgson et al. [Journal of Applied Ecology46 (2009) 964] and Doerr, Barrett & Doerr (Journal of Applied Ecology, 2011) disagree on the relative importance of these landscape attributes in enabling species to persist and change their distributions in response to climate change. 2. A brief review of published evidence suggests that variations in habitat area and quality have bigger effects than variations in spatial arrangement of habitats or properties of the intervening land. Even if structural features in the matrix have a measurable effect on dispersal rates, this does not necessarily lead to significant increases in population viability. 3. Large and high-quality habitats provide source populations and locations for colonisation, so they are the main determinants of the capacity of species to shift their distributions in response to climate change because populations must be established successively in each new region. 4. Synthesis and applications. Retaining as much high quality natural and semi-natural habitat as possible should remain the key focus for conservation, especially during a period of climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hodgson","given":"Jenny A."},{"family":"Moilanen","given":"Atte"},{"family":"Wintle","given":"Brendan A."},{"family":"Thomas","given":"Chris D."}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/j.1365-2664.2010.01919.x","ISSN":"1365-2664","issue":"1","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2010.01919.x","page":"148-152","source":"Wiley Online Library","title":"Habitat area, quality and connectivity: striking the balance for efficient conservation","title-short":"Habitat area, quality and connectivity","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2664.2010.01919.x","volume":"48"}, + {"id":"hodgsonSpeedRangeShifts2012","abstract":"Species may be driven extinct by climate change, unless their populations are able to shift fast enough to track regions of suitable climate. Shifting will be faster as the proportion of suitable habitat in the landscape increases. However, it is not known how the spatial arrangement of habitat will affect the speed of range advance, especially when habitat is scarce, as is the case for many specialist species. We develop methods for calculating the speed of advance that are appropriate for highly fragmented, stochastic systems. We reveal that spatial aggregation of habitat tends to reduce the speed of advance throughout a wide range of species parameters: different dispersal distances and dispersal kernel shapes, and high and low extinction probabilities. In contrast, aggregation increases the steady-state proportion of habitat that is occupied (without climate change). Nonetheless, we find that it is possible to achieve both rapid advance and relatively high patch occupancy when the habitat has a “channeled” pattern, resembling corridors or chains of stepping stones. We adapt techniques from electrical circuit theory to predict the rate of advance efficiently for complex, realistic landscape patterns, whereas the rate cannot be predicted by any simple statistic of aggregation or fragmentation. Conservationists are already advocating corridors and stepping stones as important conservation tools under climate change, but they are vaguely defined and have so far lacked a convincing basis in fundamental population biology. Our work shows how to discriminate properties of a landscape's spatial pattern that affect the speed of colonization (including, but not limited to, patterns like corridors and chains of stepping stones), and properties that affect a species' probability of persistence once established. We can therefore point the way to better land use planning approaches, which will provide functional habitat linkages and also maintain local population viability.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hodgson","given":"Jenny A."},{"family":"Thomas","given":"Chris D."},{"family":"Dytham","given":"Calvin"},{"family":"Travis","given":"Justin M. J."},{"family":"Cornell","given":"Stephen J."}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0047141","ISSN":"1932-6203","issue":"10","issued":{"date-parts":[[2012,10,17]]},"language":"en","page":"e47141","publisher":"Public Library of Science","source":"PLoS Journals","title":"The Speed of Range Shifts in Fragmented Landscapes","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0047141","volume":"7"}, + {"id":"hodgsonSpeedRangeShifts2012a","abstract":"Species may be driven extinct by climate change, unless their populations are able to shift fast enough to track regions of suitable climate. Shifting will be faster as the proportion of suitable habitat in the landscape increases. However, it is not known how the spatial arrangement of habitat will affect the speed of range advance, especially when habitat is scarce, as is the case for many specialist species. We develop methods for calculating the speed of advance that are appropriate for highly fragmented, stochastic systems. We reveal that spatial aggregation of habitat tends to reduce the speed of advance throughout a wide range of species parameters: different dispersal distances and dispersal kernel shapes, and high and low extinction probabilities. In contrast, aggregation increases the steady-state proportion of habitat that is occupied (without climate change). Nonetheless, we find that it is possible to achieve both rapid advance and relatively high patch occupancy when the habitat has a “channeled” pattern, resembling corridors or chains of stepping stones. We adapt techniques from electrical circuit theory to predict the rate of advance efficiently for complex, realistic landscape patterns, whereas the rate cannot be predicted by any simple statistic of aggregation or fragmentation. Conservationists are already advocating corridors and stepping stones as important conservation tools under climate change, but they are vaguely defined and have so far lacked a convincing basis in fundamental population biology. Our work shows how to discriminate properties of a landscape's spatial pattern that affect the speed of colonization (including, but not limited to, patterns like corridors and chains of stepping stones), and properties that affect a species' probability of persistence once established. We can therefore point the way to better land use planning approaches, which will provide functional habitat linkages and also maintain local population viability.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hodgson","given":"Jenny A."},{"family":"Thomas","given":"Chris D."},{"family":"Dytham","given":"Calvin"},{"family":"Travis","given":"Justin M. J."},{"family":"Cornell","given":"Stephen J."}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0047141","ISSN":"1932-6203","issue":"10","issued":{"date-parts":[[2012,10,17]]},"language":"en","page":"e47141","publisher":"Public Library of Science","source":"PLoS Journals","title":"The Speed of Range Shifts in Fragmented Landscapes","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0047141","volume":"7"}, + {"id":"hoegh-guldbergAssistedColonizationRapid2008","abstract":"Moving species outside their historic ranges may mitigate loss of biodiversity in the face of global climate change.\nMoving species outside their historic ranges may mitigate loss of biodiversity in the face of global climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hoegh-Guldberg","given":"O."},{"family":"Hughes","given":"L."},{"family":"McIntyre","given":"S."},{"family":"Lindenmayer","given":"D. B."},{"family":"Parmesan","given":"C."},{"family":"Possingham","given":"H. P."},{"family":"Thomas","given":"C. D."}],"container-title":"Science","DOI":"10.1126/science.1157897","ISSN":"0036-8075, 1095-9203","issue":"5887","issued":{"date-parts":[[2008,7,18]]},"language":"en","page":"345-346","PMID":"18635780","publisher":"American Association for the Advancement of Science","section":"Policy Forum","source":"science.sciencemag.org","title":"Assisted Colonization and Rapid Climate Change","type":"article-journal","URL":"https://science.sciencemag.org/content/321/5887/345","volume":"321"}, + {"id":"hoffmannClimateChangeEvolutionary2011","abstract":"Natural populations are responding to global climate change by shifting their geographical distribution and the timing of their growth and reproduction, but for many species, such responses are likely to be inadequate to counter the speed and magnitude of climate change. Can evolutionary change help their cause? Ary Hoffmann and Carla Sgrò review the evidence for evolutionary adaptation in response to recent climate change and consider the implications for population and ecosystem management.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hoffmann","given":"Ary A."},{"family":"Sgrò","given":"Carla M."}],"container-title":"Nature","DOI":"10.1038/nature09670","ISSN":"1476-4687","issue":"7335","issued":{"date-parts":[[2011,2]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Reviews\nSubject_term: Climate-change adaptation;Genetic variation\nSubject_term_id: climate-change-adaptation;genetic-variation","number":"7335","page":"479-485","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Climate change and evolutionary adaptation","type":"article-journal","URL":"https://www.nature.com/articles/nature09670","volume":"470"}, + {"id":"holtEvolutionaryEcologySpecies2003","abstract":"A species' range limits may shift in space either because of changes in ecological factors (e.g. climate, the abundances of interacting species) or because the traits which influence range limits (e.g. dispersal, niche characteristics) evolve by natural selection. In Geographical Ecology, Robert MacArthur (1972) provided a synthesis of the evolutionary factors that may drive range dynamics. In this paper, I revisit this theme in the light of recent theoretical studies of evolution in heterogeneous environments. These studies suggest that a rich range of evolutionary patterns in species' ranges may occur, including expansions or contractions, leading to dynamism in ranges even in epochs without strong directional environmental change.","author":[{"family":"Holt","given":"R."}],"container-title":"Evolutionary Ecology Research","container-title-short":"Evolutionary Ecology Research","issued":{"date-parts":[[2003,2,1]]},"page":"159-178","source":"ResearchGate","title":"On the evolutionary ecology of species' ranges","type":"article-journal","volume":"5"}, + {"id":"holtTheoreticalModelsSpecies2005","abstract":"The range of potential mechanisms limiting species' distributions in space is nearly as varied and complex as the diversity of life itself. Yet viewed abstractly, a species' border is a geographic manifestation of a species' demographic responses to a spatially and temporally varying world. Population dynamic models provide insight into the different routes by which range limits can arise owing to gradients in demographic rates. In a metapopulation context, for example, range limits may be caused by gradients in extinction rates, colonization rates or habitat availability. We have consider invasion models in uniform and heterogeneous environments as a framework for understanding non-equilibrium range limits, and explore conditions under which invasions may cease to spread leaving behind a stationary range limit. We conclude that non-equilibrial range dynamics need further theoretical and empirical attention.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Holt","given":"Robert D."},{"family":"Keitt","given":"Timothy H."},{"family":"Lewis","given":"Mark A."},{"family":"Maurer","given":"Brian A."},{"family":"Taper","given":"Mark L."}],"container-title":"Oikos","DOI":"10.1111/j.0030-1299.2005.13147.x","ISSN":"1600-0706","issue":"1","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0030-1299.2005.13147.x","page":"18-27","source":"Wiley Online Library","title":"Theoretical models of species’ borders: single species approaches","title-short":"Theoretical models of species’ borders","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.0030-1299.2005.13147.x","volume":"108"}, + {"id":"holyoakTrendsMissingParts2008","abstract":"Movement is important to all organisms, and accordingly it is addressed in a huge number of papers in the literature. Of nearly 26,000 papers referring to movement, an estimated 34% focused on movement by measuring it or testing hypotheses about it. This enormous amount of information is difficult to review and highlights the need to assess the collective completeness of movement studies and identify gaps. We surveyed 1,000 randomly selected papers from 496 journals and compared the facets of movement studied with a suggested framework for movement ecology, consisting of internal state (motivation, physiology), motion and navigation capacities, and external factors (both the physical environment and living organisms), and links among these components. Most studies simply measured and described the movement of organisms without reference to ecological or internal factors, and the most frequently studied part of the framework was the link between external factors and motion capacity. Few studies looked at the effects on movement of navigation capacity, or internal state, and those were mainly from vertebrates. For invertebrates and plants most studies were at the population level, whereas more vertebrate studies were conducted at the individual level. Consideration of only population-level averages promulgates neglect of between-individual variation in movement, potentially hindering the study of factors controlling movement. Terminology was found to be inconsistent among taxa and subdisciplines. The gaps identified in coverage of movement studies highlight research areas that should be addressed to fully understand the ecology of movement.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Holyoak","given":"Marcel"},{"family":"Casagrandi","given":"Renato"},{"family":"Nathan","given":"Ran"},{"family":"Revilla","given":"Eloy"},{"family":"Spiegel","given":"Orr"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0800483105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19060-19065","PMID":"19060194","publisher":"National Academy of Sciences","section":"Review","source":"www.pnas.org","title":"Trends and missing parts in the study of movement ecology","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19060","volume":"105"}, + {"id":"hovestadtAllInterpatchMovements2011","abstract":"1. In times of ongoing habitat fragmentation, the persistence of many species is determined by their dispersal abilities. Consequently, understanding the rules underlying movement between habitat patches is a key issue in conservation ecology. 2. We have analysed mark-release-recapture (MRR) data on inter-patches movements of the Dusky Large Blue butterfly Maculinea nausithous in a fragmented landscape in northern Bavaria, Germany. The aim of the analysis was to quantify distance dependence of dispersal as well as to evaluate the effect of target patch area on immigration probability. For statistical evaluation, we apply a 'reduced version' of the virtual migration model (VM), only fitting parameters for dispersal distance and immigration. In contrast to other analyses, we fit a mixed dispersal kernel to the MRR data. 3. A large fraction of recaptures happened in other habitat patches than those where individuals were initially caught. Further, we found significant evidence for the presence of a mixed dispersal kernel. The results indicate that individuals follow different strategies in their movements. Most movements are performed over small distances, nonetheless involving travelling between nearby habitat patches (median distance c. 480 m). A small fraction (c. 0·025) of the population has a tendency to move over larger distances (median distance c. 3800 m). Further, immigration was positively affected by patch area (IâĽA(ζ) ), with the scaling parameter ζ = 0·5. 4. Our findings should help to resolve the long-lasting dispute over the suitability of the negative exponential function vs. inverse-power one for modelling dispersal. Previous studies on various organisms found that the former typically gives better overall fit to empirical distance distributions, but that the latter better represents long-distance movement probabilities. As long-distance movements are more important for landscape-level effects and thus, e.g. for conservation-oriented analyses like PVAs, fitting inverse-power kernels has often been preferred. 5. We conclude that the above discrepancy may simply stem from the fact that recorded inter-patch movements are an outcome of two different processes: daily routine movements and genuine dispersal. Consequently, applying mixed dispersal kernels to disentangle the two processes is recommended.","author":[{"family":"Hovestadt","given":"Thomas"},{"family":"Binzenhöfer","given":"Birgit"},{"family":"Nowicki","given":"Piotr"},{"family":"Settele","given":"Josef"}],"container-title":"The Journal of Animal Ecology","container-title-short":"J Anim Ecol","DOI":"10.1111/j.1365-2656.2011.01848.x","ISSN":"1365-2656","issue":"5","issued":{"date-parts":[[2011,9]]},"language":"eng","page":"1070-1077","PMID":"21585369","source":"PubMed","title":"Do all inter-patch movements represent dispersal? A mixed kernel study of butterfly mobility in fragmented landscapes","title-short":"Do all inter-patch movements represent dispersal?","type":"article-journal","volume":"80"}, + {"id":"hovestadtEvolutionEmergenceDispersal2012","abstract":"This chapter discusses hypothetical kernels for single individuals since this kernel defines the long-term average success of a dispersal strategy, and is the ultimate target of selection; consequently, it is the appropriate definition in the context of models of dispersal. It is vital to have a detailed knowledge of dispersal kernels when predicting the expansion of invasive species, for example, or the recolonisation of sites in fragmented landscapes. The chapter starts with a definition of the term â€dispersal kernel’, as its definition is not consistent throughout the literature. There is ambiguity in certain respects. Firstly, it has been used to describe the density probability density function. Secondly, it has been used as the summary description of dispersal events for a whole population or of a single individual. Finally, it has also been used as the statistical description of real dispersal data or of a â€hypothetical’ kernel from which a single dispersal event is drawn as a random realization.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hovestadt","given":"Thomas"},{"family":"Bonte","given":"Dries"},{"family":"Dytham","given":"Calvin"},{"family":"Poethke","given":"Hans Joachim"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0016","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Evolution and emergence of dispersal kernels—a brief theoretical evaluation","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-16"}, + {"id":"hovestadtEvolutionReducedDispersal2001","abstract":"Models describing the evolution of dispersal strategies have mostly focused on the evolution of dispersal rates. Taking trees as a model for organisms with undirected, passive dispersal, we have developed an individual-based, spatially explicit simulation tool to investigate the evolution of the dispersal kernel, P(r), and its resulting cumulative seed-density distribution, D(r). Simulations were run on a variety of fractal landscapes differing in the fraction of suitable habitat and the spatial autocorrelation. Starting from a uniform D(r), evolution led to an increase in the fraction of seeds staying in the home cell, a reduction of the dispersal mortality (arrival in unsuitable habitat), and the evolution of 'fat-tailed' D(r) in autocorrelated landscapes and approximately uniform D(r) in random landscapes. The evolutionary process was characterized by long periods of stasis with a few bouts of rapid change in the dispersal rate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hovestadt","given":"T."},{"family":"Messner","given":"S."},{"family":"Poethke","given":"H. J."}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","container-title-short":"Proc Biol Sci","DOI":"10.1098/rspb.2000.1379","ISSN":"0962-8452","issue":"1465","issued":{"date-parts":[[2001,2,22]]},"page":"385-391","PMCID":"PMC1088618","PMID":"11270435","source":"PubMed Central","title":"Evolution of reduced dispersal mortality and 'fat-tailed' dispersal kernels in autocorrelated landscapes.","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1088618/","volume":"268"}, + {"id":"hovestadtInformationProcessingModels2010","abstract":"Density-dependent emigration has been recognized as a fitness enhancing strategy. Yet, especially in the modelling literature there is no consensus about how density-dependent emigration should quantitatively be incorporated into metapopulation models. In this paper we compare the performance of five different dispersal strategies (defined by the functional link between density and emigration probability). Four of these strategies are based on published functional relationships between local population density and emigration probability, one assumes density-independent dispersal. We use individual-based simulations of time-discrete metapopulation dynamics and conduct evolution experiments for a broad range of values for dispersal mortality and environmental stochasticity. For each set of these conditions we analyze the evolution of emigration rates in â€monoculture experiments’ (with only one type of dispersal strategy used by all individuals in the metapopulation) as well as in selection experiments that allow a pair-wise comparison of the performance of each functional type. We find that a single-parameter â€asymptotic threshold’ strategy – derived from the marginal value theorem – with a decelerating increase of emigration rate with increasing population density, out-competes any other strategy, i.e. density-independent emigration, a â€linear threshold’ strategy and a flexible three-parameter strategy. Only when environmental conditions select for extremely high emigration probabilities (close to one), strategies may perform approximately equally. A simple threshold strategy derived for the case of continuous population growth performs even worse than the density-independent strategy. As the functional type of the dispersal function implemented in metapopulation models may severely affect predictions concerning the survival of populations, range expansion, or community changes we clearly recommend to carefully select adequate functions to model density-dependent dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hovestadt","given":"Thomas"},{"family":"Kubisch","given":"Alexander"},{"family":"Poethke","given":"Hans-Joachim"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2009.11.005","ISSN":"0304-3800","issue":"3","issued":{"date-parts":[[2010,2,10]]},"language":"en","page":"405-410","source":"ScienceDirect","title":"Information processing in models for density-dependent emigration: A comparison","title-short":"Information processing in models for density-dependent emigration","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380009007510","volume":"221"}, + {"id":"hughesEvolutionaryTradeoffsReproduction2003","abstract":"During recent climate warming, some species have expanded their ranges northwards to keep track of climate changes. Evolutionary changes in dispersal have been demonstrated in these expanding populations and here we show that increased dispersal is associated with reduced investment in reproduction in populations of the speckled wood butterfly, Pararge aegeria. Evolutionary changes in flight versus reproduction will affect the pattern and rate of expansion at range boundaries in the future, and understanding these responses will be crucial for predicting the distribution of species in the future as climates continue to warm.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hughes","given":"Clare L."},{"family":"Hill","given":"Jane K."},{"family":"Dytham","given":"Calvin"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rsbl.2003.0049","issue":"suppl_2","issued":{"date-parts":[[2003,11,7]]},"page":"S147-S150","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Evolutionary trade-offs between reproduction and dispersal in populations at expanding range boundaries","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rsbl.2003.0049","volume":"270"}, + {"id":"hughesModellingAnalysingEvolution2007","abstract":"1. Species would be expected to shift northwards in response to current climate warming, but many are failing to do so because of fragmentation of breeding habitats. Dispersal is important for colonisation and an individual-based spatially explicit model was developed to investigate impacts of habitat availability on the evolution of dispersal in expanding populations. Model output was compared with field data from the speckled wood butterfly Pararge aegeria, which currently is expanding its range in Britain. 2. During range expansion, models simulated positive linear relationships between dispersal and distance from the seed location. This pattern was observed regardless of quantity (100% to 10% habitat availability) or distribution (random vs. gradient distribution) of habitat, although higher dispersal evolved at expanding range margins in landscapes with greater quantity of habitat and in gradient landscapes. Increased dispersal was no longer evident in any landscape once populations had reached equilibrium; dispersal values returned to those of seed populations. However, in landscapes with the least quantity of habitat, reduced dispersal (below that of seed populations) was observed at equilibrium. 3. Evolutionary changes in adult flight morphology were examined in six populations of P. aegeria along a transect from the distribution core to an expanding range margin in England (spanning a latitudinal distance of >200 km). Empirical data were in agreement with model output and showed increased dispersal ability (larger and broader thoraxes, smaller abdomens, higher wing aspect ratios) with increasing distance from the distribution core. Increased dispersal ability was evident in populations from areas colonised >30 years previously, although dispersal changes were generally evident only in females. 4. Evolutionary increases in dispersal ability in expanding populations may help species track future climate changes and counteract impacts of habitat fragmentation by promoting colonisation. However, at the highest levels of habitat loss, increased dispersal was less evident during expansion and reduced dispersal was observed at equilibrium indicating that, for many species, continued habitat fragmentation is likely to outweigh any benefits from dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hughes","given":"Clare L."},{"family":"Dytham","given":"Calvin"},{"family":"Hill","given":"Jane K."}],"container-title":"Ecological Entomology","DOI":"10.1111/j.1365-2311.2007.00890.x","ISSN":"1365-2311","issue":"5","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2311.2007.00890.x","page":"437-445","source":"Wiley Online Library","title":"Modelling and analysing evolution of dispersal in populations at expanding range boundaries","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2311.2007.00890.x","volume":"32"}, + {"id":"huntleyBioclimaticEnvelopesDynamic2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Huntley","given":"Brian"},{"family":"Barnard","given":"Phoebe"},{"family":"Altwegg","given":"Res"},{"family":"Chambers","given":"Lynda"},{"family":"Coetzee","given":"Bernard W. T."},{"family":"Gibson","given":"Lesley"},{"family":"Hockey","given":"Philip A. R."},{"family":"Hole","given":"David G."},{"family":"Midgley","given":"Guy F."},{"family":"Underhill","given":"Les G."},{"family":"Willis","given":"Stephen G."}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2009.06023.x","ISSN":"1600-0587","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.06023.x","page":"621-626","source":"Wiley Online Library","title":"Beyond bioclimatic envelopes: dynamic species' range and abundance modelling in the context of climatic change","title-short":"Beyond bioclimatic envelopes","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2009.06023.x","volume":"33"}, + {"id":"jeltschIntegratingMovementEcology2013a","abstract":"Movement of organisms is one of the key mechanisms shaping biodiversity, e.g. the distribution of genes, individuals and species in space and time. Recent technological and conceptual advances have improved our ability to assess the causes and consequences of individual movement, and led to the emergence of the new field of â€movement ecology’. Here, we outline how movement ecology can contribute to the broad field of biodiversity research, i.e. the study of processes and patterns of life among and across different scales, from genes to ecosystems, and we propose a conceptual framework linking these hitherto largely separated fields of research. Our framework builds on the concept of movement ecology for individuals, and demonstrates its importance for linking individual organismal movement with biodiversity. First, organismal movements can provide â€mobile links’ between habitats or ecosystems, thereby connecting resources, genes, and processes among otherwise separate locations. Understanding these mobile links and their impact on biodiversity will be facilitated by movement ecology, because mobile links can be created by different modes of movement (i.e., foraging, dispersal, migration) that relate to different spatiotemporal scales and have differential effects on biodiversity. Second, organismal movements can also mediate coexistence in communities, through â€equalizing’ and â€stabilizing’ mechanisms. This novel integrated framework provides a conceptual starting point for a better understanding of biodiversity dynamics in light of individual movement and space-use behavior across spatiotemporal scales. By illustrating this framework with examples, we argue that the integration of movement ecology and biodiversity research will also enhance our ability to conserve diversity at the genetic, species, and ecosystem levels.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Jeltsch","given":"Florian"},{"family":"Bonte","given":"Dries"},{"family":"Pe'er","given":"Guy"},{"family":"Reineking","given":"Björn"},{"family":"Leimgruber","given":"Peter"},{"family":"Balkenhol","given":"Niko"},{"family":"Schröder","given":"Boris"},{"family":"Buchmann","given":"Carsten M."},{"family":"Mueller","given":"Thomas"},{"family":"Blaum","given":"Niels"},{"family":"Zurell","given":"Damaris"},{"family":"Böhning-Gaese","given":"Katrin"},{"family":"Wiegand","given":"Thorsten"},{"family":"Eccard","given":"Jana A."},{"family":"Hofer","given":"Heribert"},{"family":"Reeg","given":"Jette"},{"family":"Eggers","given":"Ute"},{"family":"Bauer","given":"Silke"}],"container-title":"Movement Ecology","container-title-short":"Movement Ecology","DOI":"10.1186/2051-3933-1-6","ISSN":"2051-3933","issue":"1","issued":{"date-parts":[[2013,8,5]]},"page":"6","source":"BioMed Central","title":"Integrating movement ecology with biodiversity research - exploring new avenues to address spatiotemporal biodiversity dynamics","type":"article-journal","URL":"https://doi.org/10.1186/2051-3933-1-6","volume":"1"}, + {"id":"johstExtinctionRiskTemporally1997","abstract":"Usually extinction risk due to environmental stochasticity is estimated under the assumption of white environmental noise. This holds for a sufficiently short correlation time tauc of the fluctuations compared to the internal time scale of population growth r-1 (tauc/r-1<<1). Using a time-discrete simulation model we investigate when the white noise approximation is misleading. Environmental fluctuations are related to fluctuations of the birth and death rates of the species and the temporal correlation of these fluctuations (coloured noise) is described by a first-order autoregressive process. We found that extinction risk increases rapidly with correlation time tauc if the strength of noise is large. In this case the white noise approximation underestimates extinction risk essentially unless temporal correlation is very small (tauc/r-1<<0.1). Extinction risk increases only slowly with correlation time if the strength of noise is small. Then the white noise approximation may be used even for stronger temporal correlations (tauc/r-1>/=0.1). Thus, the estimation of extinction risk on the basis of white or coloured noise must be justified by time scale and strength of the fluctuations. Especially for species that are sensitive to environmental fluctuations the applicability of the white noise approximation should be carefully checked.","author":[{"family":"Johst","given":"K."},{"family":"Wissel","given":"C."}],"container-title":"Theoretical Population Biology","container-title-short":"Theor Popul Biol","DOI":"10.1006/tpbi.1997.1322","ISSN":"0040-5809","issue":"2","issued":{"date-parts":[[1997,10]]},"language":"eng","page":"91-100","PMID":"9356326","source":"PubMed","title":"Extinction risk in a temporally correlated fluctuating environment","type":"article-journal","volume":"52"}, + {"id":"johstMetapopulationPersistenceDynamic2002","abstract":"Species associated with transient habitats need efficient dispersal strategies to ensure their regional survival. Using a spatially explicit metapopulation model, we studied the effect of the dispersal range on the persistence of a metapopulation as a function of the local population and landscape dynamics (including habitat patch destruction and subsequent regeneration). Our results show that the impact of the dispersal range depends on both the local population and patch growth. This is due to interactions between dispersal and the dynamics of patches and populations via the number of potential dispersers. In general, long-range dispersal had a positive effect on persistence in a dynamic landscape compared to short-range dispersal. Long-range dispersal increases the number of couplings between the patches and thus the colonisation of regenerated patches. However, long-range dispersal lost its advantage for long-term persistence when the number of potential dispersers was low due to small population growth rates and/or small patch growth rates. Its advantage also disappeared with complex local population dynamics and in a landscape with clumped patch distribution.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Johst","given":"Karin"},{"family":"Brandl","given":"Roland"},{"family":"Eber","given":"Sabine"}],"container-title":"Oikos","DOI":"10.1034/j.1600-0706.2002.980208.x","ISSN":"1600-0706","issue":"2","issued":{"date-parts":[[2002]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1034/j.1600-0706.2002.980208.x","page":"263-270","source":"Wiley Online Library","title":"Metapopulation persistence in dynamic landscapes: the role of dispersal distance","title-short":"Metapopulation persistence in dynamic landscapes","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1034/j.1600-0706.2002.980208.x","volume":"98"}, + {"id":"jongejansDispersalDemographySpatial2008","abstract":"Spatial population dynamics can seldom be ignored in management aimed at conserving or controlling plant species in a spatial context. Therefore, spatial population models, that bring together knowledge about a species’ local demography and dispersal behavior, are of growing applied importance. Here, we survey increasingly complex analytical and simulation models that are being developed to describe both demography and dispersal in applied studies. Local population dynamics can be modeled in an unstructured way, by specifying age- or stage-structure or by modeling each individual. Dispersal is often summarized in population-spread models with descriptive and simple statistical models. Mechanistic models that incorporate the physical or behavioral dynamics of dispersal vectors, however, provide more insight and can more readily be applied to novel situations. Importantly, mechanistic models provide a tool for linking variation in species traits and environments to dispersal and population spread. Spatial population models span a wide range: from diffusion models, metapopulation models, integrodifference equation models, and Neubert–Caswell models, to spatially explicit individual-based models. The complexity (and biological realism) of such models often trades off with tractability: for instance, individual-based simulation models allow for unlimited incorporation of biological detail, but rarely for analytical exploration of the model dynamics. We discuss the advantages and disadvantages of these various spatial population models; the choice of the most appropriate model will depend on the management objective, the biological complexity, available data and the principle of parsimony. We present five case studies of endangered and invasive species for which spatial population models have been developed to inform management, for instance to decrease the spread rate of invasive species or to improve the regional persistence of endangered species. We also anticipate exciting new developments in both spatial analytical and spatial simulation models with increasing demographic, dispersal and spatial sophistication.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Jongejans","given":"Eelke"},{"family":"Skarpaas","given":"Olav"},{"family":"Shea","given":"Katriona"}],"collection-title":"Space matters - Novel developments in plant ecology through spatial modelling","container-title":"Perspectives in Plant Ecology, Evolution and Systematics","container-title-short":"Perspectives in Plant Ecology, Evolution and Systematics","DOI":"10.1016/j.ppees.2007.09.005","ISSN":"1433-8319","issue":"3","issued":{"date-parts":[[2008,3,6]]},"language":"en","page":"153-170","source":"ScienceDirect","title":"Dispersal, demography and spatial population models for conservation and control management","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S1433831907000467","volume":"9"}, + {"id":"keithPredictingExtinctionRisks2008","abstract":"Species responses to climate change may be influenced by changes in available habitat, as well as population processes, species interactions and interactions between demographic and landscape dynamics. Current methods for assessing these responses fail to provide an integrated view of these influences because they deal with habitat change or population dynamics, but rarely both. In this study, we linked a time series of habitat suitability models with spatially explicit stochastic population models to explore factors that influence the viability of plant species populations under stable and changing climate scenarios in South African fynbos, a global biodiversity hot spot. Results indicate that complex interactions between life history, disturbance regime and distribution pattern mediate species extinction risks under climate change. Our novel mechanistic approach allows more complete and direct appraisal of future biotic responses than do static bioclimatic habitat modelling approaches, and will ultimately support development of more effective conservation strategies to mitigate biodiversity losses due to climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Keith","given":"David A"},{"family":"Akçakaya","given":"H. Resit"},{"family":"Thuiller","given":"Wilfried"},{"family":"Midgley","given":"Guy F"},{"family":"Pearson","given":"Richard G"},{"family":"Phillips","given":"Steven J"},{"family":"Regan","given":"Helen M"},{"family":"AraĂşjo","given":"Miguel B"},{"family":"Rebelo","given":"Tony G"}],"container-title":"Biology Letters","DOI":"10.1098/rsbl.2008.0049","issue":"5","issued":{"date-parts":[[2008,10,23]]},"page":"560-563","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Predicting extinction risks under climate change: coupling stochastic population models with dynamic bioclimatic habitat models","title-short":"Predicting extinction risks under climate change","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/abs/10.1098/rsbl.2008.0049","volume":"4"}, + {"id":"kendallUnstructuredIndividualVariation2003","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kendall","given":"Bruce E."},{"family":"Fox","given":"Gordon A."}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"4","issued":{"date-parts":[[2003]]},"page":"1170-1172","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Unstructured Individual Variation and Demographic Stochasticity","type":"article-journal","URL":"https://www.jstor.org/stable/3588875","volume":"17"}, + {"id":"knowltonUsingBehavioralLandscape2010","abstract":"Climate change and habitat destruction are widely recognized as major threats to species’ survival. As a result of these anthropogenic impacts, species are often forced into novel landscapes where their persistence is difficult to predict. Knowledge of how individuals move or disperse through the landscape, choose habitat in which to settle, and produce offspring which survive to repeat the process can greatly improve our ability to predict species’ persistence. The field of behavioral landscape ecology uses a strong theoretical base to explore, often experimentally, how the behavior of a particular species is affected by heterogeneous and rapidly changing landscapes and can offer valuable insight for managing species in the face of human-induced environmental changes. When interpreted by modelers, results of landscape-level behavioral experiments can be quantified for use in predictive models. To this end, we summarize the methods and results of research using direct experimental manipulation techniques broken into the following categories: translocations, playback experiments, food resource manipulations, manipulations of reproductive success, direct manipulations of the landscape, and manipulations of predation risk. We review and place in a theoretical framework the results from this emerging body of research regarding how organisms move in and respond to different types of landscapes, both natural and human-altered. We go onto highlight the potential of each experimental method to quantify different processes, which may be useful when interpreted by modelers attempting to parameterize predictive models. Finally, we suggest future directions for experimental research that will allow for greater integration of behavioral landscape ecology and predictive modeling.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Knowlton","given":"Jessie L."},{"family":"Graham","given":"Catherine H."}],"container-title":"Biological Conservation","container-title-short":"Biological Conservation","DOI":"10.1016/j.biocon.2010.03.011","ISSN":"0006-3207","issue":"6","issued":{"date-parts":[[2010,6,1]]},"language":"en","page":"1342-1354","source":"ScienceDirect","title":"Using behavioral landscape ecology to predict species’ responses to land-use and climate change","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S000632071000100X","volume":"143"}, + {"id":"kokkoIndividualDispersalSpecies2006","abstract":"Dispersal is often risky to the individual, yet the long-term survival of populations depends on having a sufficient number of individuals that move, find each other, and locate suitable breeding habitats. This tension has consequences that rarely meet our conservation or management goals. This is particularly true in changing environments, which makes the study of dispersal urgently topical in a world plagued with habitat loss, climate change, and species introductions. Despite the difficulty of tracking mobile individuals over potentially vast ranges, recent research has revealed a multitude of ways in which dispersal evolution can either constrain, or accelerate, species' responses to environmental changes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kokko","given":"Hanna"},{"family":"LĂłpez-Sepulcre","given":"AndrĂ©s"}],"container-title":"Science","DOI":"10.1126/science.1128566","ISSN":"0036-8075, 1095-9203","issue":"5788","issued":{"date-parts":[[2006,8,11]]},"language":"en","page":"789-791","PMID":"16902127","publisher":"American Association for the Advancement of Science","section":"Special Perspectives","source":"science.sciencemag.org","title":"From Individual Dispersal to Species Ranges: Perspectives for a Changing World","title-short":"From Individual Dispersal to Species Ranges","type":"article-journal","URL":"https://science.sciencemag.org/content/313/5788/789","volume":"313"}, + {"id":"kramer-schadtFragmentedLandscapesRoad2004","abstract":"1 Although many reintroduction schemes for the Eurasian lynx Lynx lynx in Germany have been discussed, the implications of connectivity between suitable patches have not been assessed. 2 We introduce an individual-based, spatially explicit dispersal model to assess the probability of a dispersing animal reaching another suitable patch in the complex heterogeneous German landscape, with its dense transport system. The dispersal model was calibrated using telemetric data from the Swiss Jura and based on a map of potential lynx dispersal habitat. 3 Most suitable patches could be interconnected by movements of dispersing lynx within 10 years of reintroduction. However, when realistic levels of mortality risks on roads were applied, most patches become isolated except along the German–Czech border. Consequently, patch connectivity is limited not so much by the distribution of dispersal habitat but by the high mortality of dispersing lynx. Accordingly, rather than solely investing in habitat restoration, management efforts should try to reduce road mortality. 4 Synthesis and applications. Our approach illustrates how spatially explicit dispersal models can guide conservation efforts and reintroduction programmes even where data are scarce. Clear limits imposed by substantial road mortality will affect dispersing lynx as well as other large carnivores, unless offset by careful road-crossing management or by the careful selection of release points in reintroduction programmes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kramer-Schadt","given":"Stephanie"},{"family":"Revilla","given":"Eloy"},{"family":"Wiegand","given":"Thorsten"},{"family":"Breitenmoser","given":"Urs"}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/j.0021-8901.2004.00933.x","ISSN":"1365-2664","issue":"4","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8901.2004.00933.x","page":"711-723","source":"Wiley Online Library","title":"Fragmented landscapes, road mortality and patch connectivity: modelling influences on the dispersal of Eurasian lynx","title-short":"Fragmented landscapes, road mortality and patch connectivity","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.0021-8901.2004.00933.x","volume":"41"}, + {"id":"krosbyEcologicalConnectivityChanging2010a","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"KROSBY","given":"MEADE"},{"family":"TEWKSBURY","given":"JOSHUA"},{"family":"HADDAD","given":"NICK M."},{"family":"HOEKSTRA","given":"JONATHAN"}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"6","issued":{"date-parts":[[2010]]},"page":"1686-1689","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Ecological Connectivity for a Changing Climate","type":"article-journal","URL":"https://www.jstor.org/stable/40925337","volume":"24"}, + {"id":"kubischDensitydependentDispersalFormation2011","abstract":"Knowledge about the mechanisms of range formation is crucial for scientifically based species conservation strategies in the face of ongoing global climate change. In recent years an increasing amount of studies have focused on the influences of density-dependent dispersal on demographic and biogeographical patterns. However, it still remains unclear, to what extent and in what ways this strategy would affect the range formation of species. In order to fill this gap, we present a study using individual-based simulations of a species with discrete generations living along a dispersal mortality gradient. We compare the evolution of range sizes for species following density-dependent and density-independent emigration. Furthermore we assess the influence of environmental stochasticity and Allee effects on range formation, as both processes are known to play an important role for dispersal evolution. We find that density-dependent dispersal always results in much wider ranges than unconditional dispersal. Increasing environmental stochasticity, a predicted consequence of climate change, can remarkably expand the ranges of species living in such connectivity gradients if dispersal decisions are based on local population density. A strong Allee effect causes range contraction for both strategies, but the effect is considerably less dramatic under density-dependent compared to density-independent emigration. We strongly recommend accounting for these findings in future attempts to model species' range shifts due to climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kubisch","given":"Alexander"},{"family":"Poethke","given":"Hans-Joachim"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"Ecography","ISSN":"0906-7590","issue":"6","issued":{"date-parts":[[2011]]},"page":"1002-1008","publisher":"Wiley","source":"JSTOR","title":"Density-dependent dispersal and the formation of range borders","type":"article-journal","URL":"https://www.jstor.org/stable/41315778","volume":"34"}, + {"id":"kubischElasticityRangeLimits2010","abstract":"Dispersal is known to play a crucial role in the formation of species' ranges. Recent studies demonstrate that dispersiveness increases rapidly during the range expansion of species due to a fitness increase for dispersers at the expanding front. R. D. Holt concluded, however, that emigration should decline after the period of invasion and hence predicted some range contraction following the initial expansion phase. In this study, we evaluate this hypothesis using a spatially explicit individual-based model of populations distributed along environmental gradients. In our experiments we allow the species to spread along a gradient of declining conditions. Results show that range contraction did emerge in a gradient of dispersal mortality, caused by the rapid increase in emigration probability during invasion and selection disfavoring dispersal, once a stable range is formed. However, gradients in growth rate, local extinction rate, and patch capacity did not lead to a noticeable contraction of the range. We conclude, that the phenomenon of range contraction may emerge, but only under conditions that select for a reduction in dispersal at the range edge in comparison to the core region once the expansion period is over.","author":[{"family":"Kubisch","given":"Alexander"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans-Joachim"}],"container-title":"Ecology","container-title-short":"Ecology","DOI":"10.1890/09-2022.1","ISSN":"0012-9658","issue":"10","issued":{"date-parts":[[2010,10]]},"language":"eng","page":"3094-3099","PMID":"21058568","source":"PubMed","title":"On the elasticity of range limits during periods of expansion","type":"article-journal","volume":"91"}, + {"id":"kubischPredictingRangeShifts2013","abstract":"Bioclimate envelope models (BEMs) have often been criticized as being too simplistic due to e.g. not incorporating effects of biotic interactions or evolutionary adaptation. However, BEMs are widely applied and have proven to be often useful. Here we investigate, under which conditions evolution of dispersal, local adaptation or interspecific competition may be of minor importance for forecasting future range shifts. Therefore we use individual-based simulations of metapopulations under climate change living in spatial temperature gradients. Scenarios incorporate single-species systems or systems with competing species, respectively. Dispersal rate is evolving and adaptation to local conditions may also evolve in some scenarios. Results show that in single-species scenarios excluding evolutionary adaptation, species either follow optimal habitat conditions or go extinct if habitat connectivity is too low. These simulations are in close accordance to predictions from BEMs. Including evolutionary adaptation qualitatively changes these results. In the absence of competing species the species either completely invades the world or goes extinct. With competitors, results strongly depend on habitat fragmentation. For highly connected habitats the range border may shift as predicted by BEMs, for intermediate connectivity it will lag behind, while species will go extinct if fragmentation is too high. Our results indicate that (simple) BEMs may work well if habitats are well connected and species will not encounter many difficulties in dispersing to new sites. Selection in this case may promote evolution of even higher dispersal activities. We thus show that the presence of biotic interactions may be ignored for predictions of range shifts when high dispersal can be expected.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kubisch","given":"Alexander"},{"family":"Degen","given":"Tobias"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans Joachim"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2012.00062.x","ISSN":"1600-0587","issue":"8","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2012.00062.x","page":"873-882","source":"Wiley Online Library","title":"Predicting range shifts under global change: the balance between local adaptation and dispersal","title-short":"Predicting range shifts under global change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2012.00062.x","volume":"36"}, + {"id":"kubischRangeBorderFormation2011","abstract":"Questions: How will a change in climatic conditions characterized by an increase in the variance of environmental conditions affect the distribution of species along spatial environmental gradients? How does the specific type of gradient influence their response? Features of the model: Spatially explicit individual-based simulation of a metapopulation. Logistic population growth and density-dependent emigration. Spatial gradients in habitat isolation, quality, and size. Ranges of the key variables: Environmental stochasticity was modelled as a variation of net reproductive rate (lambda). For a mean reproductive rate of lambda = 2, the standard deviation (sigma) was varied in the range of 0 to 3. Conclusions: When the range margin was predominantly determined by a lack of colonizers, ranges initially expanded with increasing environmental fluctuations, but contracted again when these fluctuations became too strong (sigma textgreater 1). When extinction risk was more important for range formation, the initial expansion was damped or completely absent. When the climate changed too fast to allow for local adaptation of dispersal behaviour, the described patterns were less pronounced.","author":[{"family":"Kubisch","given":"Alexander"},{"family":"Poethke","given":"Hans"}],"container-title":"Evolutionary Ecology Research","container-title-short":"Evolutionary Ecology Research","issued":{"date-parts":[[2011,2,1]]},"page":"159–169","source":"ResearchGate","title":"Range border formation in a world with increasing climatic variance","type":"article-journal","volume":"13"}, + {"id":"kunEvolutionDensityDependentDispersal2006","abstract":"It is well-known that dispersal is advantageous in many different ecological situations, e.g. to survive local catastrophes where populations live in spatially and temporally heterogeneous habitats. However, the key question, what kind of dispersal strategy is optimal in a particular situation, has remained unanswered. We studied the evolution of density-dependent dispersal in a coupled map lattice model, where the population dynamics are perturbed by external environmental noise. We used a very flexible dispersal function to enable evolution to select from practically all possible types of monotonous density-dependent dispersal functions. We treated the parameters of the dispersal function as continuously changing phenotypic traits. The evolutionary stable dispersal strategies were investigated by numerical simulations. We pointed out that irrespective of the cost of dispersal and the strength of environmental noise, this strategy leads to a very weak dispersal below a threshold density, and dispersal rate increases in an accelerating manner above this threshold. Decreasing the cost of dispersal increases the skewness of the population density distribution, while increasing the environmental noise causes more pronounced bimodality in this distribution. In case of positive temporal autocorrelation of the environmental noise, there is no dispersal below the threshold, and only low dispersal below it, on the other hand with negative autocorrelation practically all individual disperses above the threshold. We found our results to be in good concordance with empirical observations.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kun","given":"Ădám"},{"family":"Scheuring","given":"István"}],"container-title":"Oikos","ISSN":"0030-1299","issue":"2","issued":{"date-parts":[[2006]]},"page":"308-320","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"The Evolution of Density-Dependent Dispersal in a Noisy Spatial Population Model","type":"article-journal","URL":"https://www.jstor.org/stable/40235281","volume":"115"}, + {"id":"lambinHighConnectivityHigh2012","abstract":"This chapter reviews published and unpublished studies on dispersal by water voles inhabiting fragmented habitats and organized as metapopulations. Studies of dispersal that have checked the consistency of pattern emerging at behavioural, individual, and population scale are rare or altogether lacking. This chapter describes how inferences have been drawn from exceptionally large-scale, but largely descriptive, studies of dispersal through the use of molecular markers, combined with small-scale individual-level experiments. These studies reveal a high degree of connectivity through dispersal between geographically isolated water vole colonies. Experiments with â€enforced dispersers’ show how water vole behaviour during the transience phase of dispersal might bring this about, if dispersal takes place over a long time through multiple stepping-stone movements.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lambin","given":"Xavier"},{"family":"Bouille","given":"Diane Le"},{"family":"Oliver","given":"Matthew K"},{"family":"Sutherland","given":"Chris"},{"family":"Tedesco","given":"Edoardo"},{"family":"Douglas","given":"Alex"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0032","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"High connectivity despite high fragmentation: iterated dispersal in a vertebrate metapopulation","title-short":"High connectivity despite high fragmentation","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-32"}, + {"id":"landeEstimatingDensityDependence2006","abstract":"Abstract: Population fluctuations are caused by demographic and environmental stochasticity, time lags due to life history, and density dependence. We model a general life history allowing density dependence within and among age or stage classes in a population undergoing small or moderate fluctuations around a stable equilibrium. We develop a method for estimating the overall strength of density dependence measured by the rate of return toward equilibrium, and we also consider a simplified population description and forecasting using the densityâ€dependent reproductive value. This generality comes at the cost of requiring a time series of the population age or stage structure instead of a univariate time series of adult or total population size. The method is illustrated by analyzing the dynamics of a fully censused population of red deer (Cervus elaphus) based on annual fluctuations of age structure through 21 years.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lande","given":"Russell"},{"family":"Engen","given":"Steinar"},{"family":"Sæther","given":"Berntâ€Erik"},{"family":"Coulson","given":"Tim"},{"family":"Solow","given":"Associate Editor: Andrew R."},{"family":"DeAngelis","given":"Editor: Donald L."}],"container-title":"The American Naturalist","DOI":"10.1086/504851","ISSN":"0003-0147","issue":"1","issued":{"date-parts":[[2006]]},"page":"76-87","publisher":"[The University of Chicago Press, The American Society of Naturalists]","source":"JSTOR","title":"Estimating Density Dependence from Time Series of Population Age Structure","type":"article-journal","URL":"https://www.jstor.org/stable/10.1086/504851","volume":"168"}, + {"id":"lawsonhandleyAdvancesOurUnderstanding2007","abstract":"Sex-biased dispersal is an almost ubiquitous feature of mammalian life history, but the evolutionary causes behind these patterns still require much clarification. A quarter of a century since the publication of seminal papers describing general patterns of sex-biased dispersal in both mammals and birds, we review the advances in our theoretical understanding of the evolutionary causes of sex-biased dispersal, and those in statistical genetics that enable us to test hypotheses and measure dispersal in natural populations. We use mammalian examples to illustrate patterns and proximate causes of sex-biased dispersal, because by far the most data are available and because they exhibit an enormous diversity in terms of dispersal strategy, mating and social systems. Recent studies using molecular markers have helped to confirm that sex-biased dispersal is widespread among mammals and varies widely in direction and intensity, but there is a great need to bridge the gap between genetic information, observational data and theory. A review of mammalian data indicates that the relationship between direction of sex-bias and mating system is not a simple one. The role of social systems emerges as a key factor in determining intensity and direction of dispersal bias, but there is still need for a theoretical framework that can account for the complex interactions between inbreeding avoidance, kin competition and cooperation to explain the impressive diversity of patterns.","author":[{"family":"Lawson Handley","given":"L. J."},{"family":"Perrin","given":"N."}],"container-title":"Molecular Ecology","container-title-short":"Mol Ecol","DOI":"10.1111/j.1365-294X.2006.03152.x","ISSN":"0962-1083","issue":"8","issued":{"date-parts":[[2007,4]]},"language":"eng","page":"1559-1578","PMID":"17402974","source":"PubMed","title":"Advances in our understanding of mammalian sex-biased dispersal","type":"article-journal","volume":"16"}, + {"id":"legalliardDispersalRangeDynamics2012","abstract":"This chapter presents an attempt to summarize existing results and methods in the development of predictive models of ecological responses to climate change, with the aim of highlighting existing patterns and trends in the current data, the most important knowledge gaps, and some fruitful avenues for future research. It highlights the urgent need for a good understanding of the effects of climate change on dispersal. Global climate changes, in fact, have been responsible for the growing awareness and recent surge of interest in studies of dispersal aimed at understanding and predicting the ecological effects of climate change. One of the most common ecological responses to climate change involves range or habitat shifts due to spatial expansions at the cool range margins and spatial retractions at the warm range margins.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Le Galliard","given":"Jean François Le"},{"family":"Massot","given":"Manuel"},{"family":"Clobert","given":"Jean"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0025","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal and range dynamics in changing climates: a review","title-short":"Dispersal and range dynamics in changing climates","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-25"}, + {"id":"legalliardPatternsProcessesDispersal2012","abstract":"A good understanding of mammalian societies requires measuring patterns and comprehending processes of dispersal in each sex. We investigated dispersal behaviour in arvicoline rodents, a subfamily of mammals widespread in northern temperate environments and characterized by a multivoltine life cycle. In arvicoline rodents, variation in life history strategies occurs along a continuum from precocial to delayed maturation that reflects seasonal and ecological fluctuations. We compared dispersal across and within species focusing on the effects of external (condition-dependent) and internal (phenotype-dependent) factors. Our data revealed substantial, unexplained variation between species for dispersal distances and a strong variation within species for both dispersal distance and fraction. Some methodological aspects explained variation across studies, which cautions against comparisons that do not control for them. Overall, the species under consideration display frequent short-distance dispersal events and extremely flexible dispersal strategies, but they also have hitherto unexpected capacity to disperse long distances. Female arvicolines are predominantly philopatric relative to males, but we found no clear association between the mating system and the degree of sex bias in dispersal across species. Dispersal is a response to both various proximate and ultimate factors, including competition, inbreeding avoidance, mate searching and habitat quality. In particular, our review suggests that costs and benefits experienced during transience and settlement are prime determinants of condition dependence. Patterns of phenotype-dependent dispersal are idiosyncratic, except for a widespread association between an exploration/activity syndrome and natal dispersal. Consequences for population dynamics and genetic structures are discussed.","author":[{"family":"Le Galliard","given":"Jean-François"},{"family":"RĂ©my","given":"Alice"},{"family":"Ims","given":"Rolf A."},{"family":"Lambin","given":"Xavier"}],"container-title":"Molecular Ecology","container-title-short":"Mol Ecol","DOI":"10.1111/j.1365-294X.2011.05410.x","ISSN":"1365-294X","issue":"3","issued":{"date-parts":[[2012,2]]},"language":"eng","page":"505-523","PMID":"22211403","source":"PubMed","title":"Patterns and processes of dispersal behaviour in arvicoline rodents","type":"article-journal","volume":"21"}, + {"id":"legendreAgeStructureMating2004","abstract":"IntroductionThe fate of populations depends on the life-history traits of the species and possible adaptive changes in these traits in response to selective pressure. In unstructured population models, life-history traits are compounded into few parameters, like the intrinsic growth rate r and the carrying capacity K (see Chapter 2). Structured population models, based on life-cycle graphs, allow the effects of specific life-history traits (survival rates, fecundities, generation time, age at maturity) on population dynamics to be investigated. For example, sensitivities of the growth rate to changes in life-cycle transitions can be computed. Individual life-history traits are important determinants of a population's extinction risk, and are also both factors in and targets of a population's adaptive response to environmental change.When population size is small – always a concern in conservation biology – both individual life-history traits and the structure of interactions between individuals and the genetic system are expected to influence viability. The mating system, for example, may be conducive to an Allee effect (see Chapter 2), and inbreeding depression is a potentially important factor of the extinction process of small populations. In this chapter, we study the interplay between population structure, in terms of age and sex, and population persistence. Two-sex structured models that incorporate specific features of the social mating system and possible differences in male and female life cycles are analyzed. Also, attempts to merge genetic factors and demography into integrated models are presented.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Legendre","given":"StĂ©phane"}],"collection-title":"Cambridge Studies in Adaptive Dynamics","container-title":"Evolutionary Conservation Biology","DOI":"10.1017/CBO9780511542022.005","editor":[{"family":"Couvet","given":"Denis"},{"family":"Ferrière","given":"RĂ©gis"},{"family":"Dieckmann","given":"Ulf"}],"event-place":"Cambridge","ISBN":"978-0-521-82700-3","issued":{"date-parts":[[2004]]},"page":"41-58","publisher":"Cambridge University Press","publisher-place":"Cambridge","source":"Cambridge University Press","title":"Age Structure, Mating System, and Population Viability","type":"chapter","URL":"https://www.cambridge.org/core/books/evolutionary-conservation-biology/age-structure-mating-system-and-population-viability/D1CC2D39E906307B2189468AA0FA716C"}, + {"id":"lenoirSignificantUpwardShift2008","abstract":"Spatial fingerprints of climate change on biotic communities are usually associated with changes in the distribution of species at their latitudinal or altitudinal extremes. By comparing the altitudinal distribution of 171 forest plant species between 1905 and 1985 and 1986 and 2005 along the entire elevation range (0 to 2600 meters above sea level) in west Europe, we show that climate warming has resulted in a significant upward shift in species optimum elevation averaging 29 meters per decade. The shift is larger for species restricted to mountain habitats and for grassy species, which are characterized by faster population turnover. Our study shows that climate change affects the spatial core of the distributional range of plant species, in addition to their distributional margins, as previously reported.\nA 100-year survey shows that the optimal elevations for growth of plant species in European temperate forests have shifted upward by about 30 meters per decade.\nA 100-year survey shows that the optimal elevations for growth of plant species in European temperate forests have shifted upward by about 30 meters per decade.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lenoir","given":"J."},{"family":"GĂ©gout","given":"J. C."},{"family":"Marquet","given":"P. A."},{"family":"Ruffray","given":"P.","dropping-particle":"de"},{"family":"Brisse","given":"H."}],"container-title":"Science","DOI":"10.1126/science.1156831","ISSN":"0036-8075, 1095-9203","issue":"5884","issued":{"date-parts":[[2008,6,27]]},"language":"en","page":"1768-1771","PMID":"18583610","publisher":"American Association for the Advancement of Science","section":"Report","source":"science.sciencemag.org","title":"A Significant Upward Shift in Plant Species Optimum Elevation During the 20th Century","type":"article-journal","URL":"https://science.sciencemag.org/content/320/5884/1768","volume":"320"}, + {"id":"lesserContributionsLongdistanceDispersal2013","abstract":"Long-distance dispersal is an integral part of plant species migration and population development. We aged and genotyped 1125 individuals in four disjunct populations of Pinus ponderosa that were initially established by long-distance dispersal in the 16th and 17th centuries. Parentage analysis was used to determine if individuals were the product of local reproductive events (two parents present), long-distance pollen dispersal (one parent present) or long-distance seed dispersal (no parents present). All individuals established in the first century at each site were the result of long-distance dispersal. Individuals reproduced at younger ages with increasing age of the overall population. These results suggest Allee effects, where populations were initially unable to expand on their own, and were dependent on long-distance dispersal to overcome a minimum-size threshold. Our results demonstrate that long-distance dispersal was not only necessary for initial colonisation but also to sustain subsequent population growth during early phases of expansion.","author":[{"family":"Lesser","given":"Mark R."},{"family":"Jackson","given":"Stephen T."}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/ele.12053","ISSN":"1461-0248","issue":"3","issued":{"date-parts":[[2013,3]]},"language":"eng","page":"380-389","PMID":"23279647","source":"PubMed","title":"Contributions of long-distance dispersal to population growth in colonising Pinus ponderosa populations","type":"article-journal","volume":"16"}, + {"id":"limaBehavioralEcologyEcological1996","abstract":"Recent developments in landscape-level ecological modeling rest upon poorly understood behavioral phenomena. Surprisingly, these phenomena include animal movement and habitat selection, two areas with a long history of study in behavioral ecology. A major problem in applying traditional behavioral ecology to landscape-level ecological problems is that ecologists and behaviorists work at very different spatial scales. Thus a behavioral ecology of ecological landscapes would strive to overcome this inopportune differential in spatial scales. Such a landscape-conscious behavioral undertaking would not only establish more firmly the link between behavior and ecological systems, but also catalyze the study of basic biological phenomena of Interest to behaviorists and ecologists alike.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lima","given":"Steven L."},{"family":"Zollner","given":"Patrick A."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/0169-5347(96)81094-9","ISSN":"0169-5347","issue":"3","issued":{"date-parts":[[1996,3,1]]},"language":"en","page":"131-135","source":"ScienceDirect","title":"Towards a behavioral ecology of ecological landscapes","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/0169534796810949","volume":"11"}, + {"id":"lindstromSexualReproductionPopulation1998","abstract":"Most models of population dynamics do not take sexual reproduction into account (i.e. they do not consider the role of males). However, assumptions behind this practice—that no demographic sex differences exist and males are always abundant enough to fertilize all the females—are usually not justified in natural populations. On the contrary, demographic sex differences are common, especially in polygynous species. Previous models that consider sexual reproduction report a stabilizing effect through mixing of different genotypes, thus suggesting a decrease in the propensity for complex dynamics in sexually reproducing populations. Here we show that considering the direct role of males in reproduction and density dependence leads to the conclusion that a two–sex model is not necessarily more stable compared with the corresponding one–sex model. Although solutions exist where sexual reproduction has a stabilizing effect even when no genotypic variability is included (primarily when associated with monogamy), factors like polygyny, sex differences in survival or density dependence, and possible alterations of the primary sex ratio (the Trivers–Willard mechanism), may enlarge the parametric region of complex dynamics. Sexual reproduction therefore does not necessarily increase the stability of population dynamics and can have destabilizing effects, at least in species with complicated mating systems and sexual dimorphism.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lindström","given":"Jan"},{"family":"Kokko","given":"Hanna"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.1998.0320","issue":"1395","issued":{"date-parts":[[1998,3,22]]},"page":"483-488","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Sexual reproduction and population dynamics: the role of polygyny and demographic sex differences","title-short":"Sexual reproduction and population dynamics","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.1998.0320","volume":"265"}, + {"id":"loarieVelocityClimateChange2009","abstract":"In the event of climate change, species have to move if they are to remain in an area with the same average temperature: their chances of survival therefore depend on the ability to keep pace with a moving climate as well as on the extent of change in temperature and other climate factors. To put this pressure on species into context, a novel index designed to quantify climate change in the coming century has been developed. Its value gives the local velocity along the Earth's surface needed to maintain constant temperatures, and is derived from temperature gradients scaled by distance (°C per km) and time (°C per year). The index provides a quantitative view of the role of topography in buffering climate change as it would affect plants and animals: on the IPCC's A1B emission scenario the index has a global mean of 0.42 km per year, compared to extremes of 0.08 and 1.26 km per year for mountains forest biomes and flooded grasslands, respectively. Climate change velocity, it turns out, is large relative to species migration speeds and the sizes of protected habitats. The data suggest that, in some ecosystems, helping species to relocate more rapidly via habitat corridors or new reserves could be an important contribution to conservation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Loarie","given":"Scott R."},{"family":"Duffy","given":"Philip B."},{"family":"Hamilton","given":"Healy"},{"family":"Asner","given":"Gregory P."},{"family":"Field","given":"Christopher B."},{"family":"Ackerly","given":"David D."}],"container-title":"Nature","DOI":"10.1038/nature08649","ISSN":"1476-4687","issue":"7276","issued":{"date-parts":[[2009,12]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"7276","page":"1052-1055","publisher":"Nature Publishing Group","source":"www.nature.com","title":"The velocity of climate change","type":"article-journal","URL":"https://www.nature.com/articles/nature08649","volume":"462"}, + {"id":"lossAssistedColonizationIntegrating2011","abstract":"Global climate change poses an immense challenge for conservation biologists seeking to mitigate impacts to species and ecosystems. Species persistence will depend on geographic range shifts or adaptation in response to warming patterns as novel climates and community assemblages arise. Assisted colonization has been proposed as a method for addressing these challenges. This technique, which consists of transporting species to a new range that is predicted to be favorable for persistence under future climate scenarios, has become the subject of controversy and discussion in the conservation community due to its highly manipulative nature, questions about widespread feasibility, and uncertainty associated with the likelihood of translocated species becoming invasive. We reviewed the discussion and criticism associated with assisted colonization and sought to identify other conservation techniques that also display potential to promote the colonization and adaptation of species in response to climate change. We propose an integrated conservation strategy that includes management for habitat connectivity, conservation genetics, and when necessary, assisted colonization of species that are still unable to shift their ranges even given implementation of the above standard conservation approaches. We argue that this integrated approach will facilitate persistence for a larger proportion of species than is possible by solely using assisted colonization. Furthermore, a multi-faceted approach will likely reduce the uncertainty of conservation outcomes and will become increasingly necessary for conservation of biodiversity in a changing climate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Loss","given":"Scott R."},{"family":"Terwilliger","given":"Lauren A."},{"family":"Peterson","given":"Anna C."}],"container-title":"Biological Conservation","container-title-short":"Biological Conservation","DOI":"10.1016/j.biocon.2010.11.016","ISSN":"0006-3207","issue":"1","issued":{"date-parts":[[2011,1,1]]},"language":"en","page":"92-100","source":"ScienceDirect","title":"Assisted colonization: Integrating conservation strategies in the face of climate change","title-short":"Assisted colonization","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0006320710004866","volume":"144"}, + {"id":"manelLandscapeGeneticsCombining2003a","abstract":"Understanding the processes and patterns of gene flow and local adaptation requires a detailed knowledge of how landscape characteristics structure populations. This understanding is crucial, not only for improving ecological knowledge, but also for managing properly the genetic diversity of threatened and endangered populations. For nearly 80 years, population geneticists have investigated how physiognomy and other landscape features have influenced genetic variation within and between populations. They have relied on sampling populations that have been identified beforehand because most population genetics methods have required discrete populations. However, a new approach has emerged for analyzing spatial genetic data without requiring that discrete populations be identified in advance. This approach, landscape genetics, promises to facilitate our understanding of how geographical and environmental features structure genetic variation at both the population and individual levels, and has implications for ecology, evolution and conservation biology. It differs from other genetic approaches, such as phylogeography, in that it tends to focus on processes at finer spatial and temporal scales. Here, we discuss, from a population genetic perspective, the current tools available for conducting studies of landscape genetics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Manel","given":"StĂ©phanie"},{"family":"Schwartz","given":"Michael K."},{"family":"Luikart","given":"Gordon"},{"family":"Taberlet","given":"Pierre"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/S0169-5347(03)00008-9","ISSN":"0169-5347","issue":"4","issued":{"date-parts":[[2003,4,1]]},"language":"en","page":"189-197","source":"ScienceDirect","title":"Landscape genetics: combining landscape ecology and population genetics","title-short":"Landscape genetics","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534703000089","volume":"18"}, + {"id":"mathiasDivergentEvolutionDispersal2001","abstract":"The evolution of dispersal is investigated in a landscape of many patches with fluctuating carrying capacities and spatial heterogeneity in temporal fluctuations. Although asynchronous temporal fluctuations select for dispersal, spatial heterogeneity in the distribution of fluctuating environmental variables selects against it. We find evolutionary branching in dispersal rate leading to the evolutionarily stable coexistence of a high- and a low-dispersal phenotype. We study how the opposing forces of selection for and against dispersal change with the relative size and the environmental qualities of the source and sink habitats. Our results suggest that the evolution of dispersal dimorphism could be a first step towards speciation and local adaptation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Mathias","given":"Andrea"},{"family":"Kisdi","given":"Eva"},{"family":"Olivieri","given":"Isabelle"}],"container-title":"Evolution","ISSN":"0014-3820","issue":"2","issued":{"date-parts":[[2001]]},"page":"246-259","publisher":"[Society for the Study of Evolution, Wiley]","source":"JSTOR","title":"Divergent Evolution of Dispersal in a Heterogeneous Landscape","type":"article-journal","URL":"https://www.jstor.org/stable/2640747","volume":"55"}, + {"id":"matthysenDensitydependentDispersalBirds2005","abstract":"Density-dependent dispersal can be caused by various mechanisms, from competition inducing individuals to emigrate (positive density-dependence) to social crowding effects impeding free movement (negative density-dependence). Various spatial population models have incorporated positively density-dependent dispersal algorithms, and recent theoretical models have explored the conditions for density-dependent dispersal (DD) to evolve. However, while the existence of DD is well documented in some taxa such as insects, there is no clear picture on its generality in vertebrates. Here I review the available empirical data on DD in birds and mammals, focusing mainly on variation in dispersal between years and on experimental density manipulations. Surprisingly few studies have explicitly focused on DD, and interpretation of the available data is often hampered by differences in approach, small sample sizes and/or statistical shortcomings. Positive DD was reported in 50 and 33% of the selected mammal and bird studies, respectively, while two studies on mammals (out of eight) reported negative DD. Among bird studies, DD was more often reported for emigration rates or long-distance recoveries than for average distances within finite study areas. Experimental studies manipulating densities (mainly on mammals) have consistently generated positive DD, typically showing reduced emigration in response to partial population removal. Studies that examined dispersal in relation to seasonal changes in density (small mammals only) have more often reported negative DD. Studies that compared dispersal between sites differing in density, also show a mixture of positive and negative DD. This suggests that dispersal changes in a more complex way with seasonal and spatial density variation than with annual densities, and/or that these results are confounded by other factors differing between seasons and sites, such as habitat quality. I conclude that both correlational and experimental studies support the existence of positive, rather than negative, density-dependent dispersal in birds and mammals.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Matthysen","given":"Erik"}],"container-title":"Ecography","DOI":"10.1111/j.0906-7590.2005.04073.x","ISSN":"1600-0587","issue":"3","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0906-7590.2005.04073.x","page":"403-416","source":"Wiley Online Library","title":"Density-dependent dispersal in birds and mammals","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.0906-7590.2005.04073.x","volume":"28"}, + {"id":"matthysenMulticausalityDispersalReview2012","abstract":"This chapter reviews the main causes leading to dispersal, and emphasises its proximate factors. Dispersal is the main mechanism leading to gene flow within and between populations, and is defined as the movement of an individual from site of birth to site of reproduction or its movement between successive sites of reproduction. Causality in dispersal here is considered as any factor that explains variation among individuals in any component of dispersal. Following a general introduction, the different types of causal factors that may explain dispersal patterns are reviewed. The chapter begins with a discussion of the concept of dispersal. This is followed by a brief discussion of its ultimate explications. Lastly, an overview of its different possible mechanisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Matthysen","given":"Erik"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0001","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Multicausality of dispersal: a review","title-short":"Multicausality of dispersal","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-1"}, + {"id":"mclaughlinClimateChangeHastens2002","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"McLaughlin","given":"John F."},{"family":"Hellmann","given":"Jessica J."},{"family":"Boggs","given":"Carol L."},{"family":"Ehrlich","given":"Paul R."}],"container-title":"Proceedings of the National Academy of Sciences of the United States of America","container-title-short":"PROC. NAT. ACAD. OF SCI. (U.S.A.)","DOI":"10.1073/pnas.052131199","ISSN":"0027-8424","issue":"9","issued":{"date-parts":[[2002,4,30]]},"language":"English (US)","page":"6070-6074","PMID":"11972020","publisher":"National Academy of Sciences","source":"experts.umn.edu","title":"Climate change hastens population extinctions","type":"article-journal","URL":"https://experts.umn.edu/en/publications/climate-change-hastens-population-extinctions","volume":"99"}, + {"id":"mcpeekEvolutionDispersalSpatially1992","abstract":"Using a simple two-patch model, we examine how patterns of spatial and temporal variation in carrying capacities affect natural selection on dispersal. The size of the population in each patch is regulated separately, according to a discrete-generation logistic equation, and individuals disperse from each patch at propensities determined by their genotype. We consider genotypes that express the same dispersal propensities in both patches and genotypes that express patch-specific disperal propensities. Contrary to previous analyses, our results show that some level of dispersal is favored by selection under almost all regimes of habitat variability, including a spatially varying and temporally constant environment. Furthermore, two very different polymorphisms are favored under different conditions. When carrying capacities vary spatially but not temporally, any number of genotypes with patch-specific dispersal propensities in ratios inversely proportional to the ratio of the carrying capacities can coexist. This result extends previous analyses to show that dispersal is favored in such an environment if individuals can alter dispersal propensities in response to environmental cues. In contrast, when carrying capacities vary both spatially and temporally but differ in mean or variance, a polymorphism of only two genotypes (a high-dispersal and a no-dispersal genotype) is favored when the only genotypes possible are ones expressing the same dispersal propensity in both patches. However, this dimorphism can be invaded and replaced by one genotype with a particular combination of patch-specific dispersal propensities in a ratio also inversely proportional to the ratio of the average population sizes. We discuss a number of testable predictions this model suggests about the amounts of phenotypic and genetic variation in dispersal characters that are expected both within and between populations, and the degree to which the expression of phenotypic characters affecting dispersal propensity should be sensitive to environmental conditions. The model also suggests novel mechanisms for coexistence between competing species in varying environments.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"McPeek","given":"Mark A."},{"family":"Holt","given":"Robert D."}],"container-title":"The American Naturalist","ISSN":"0003-0147","issue":"6","issued":{"date-parts":[[1992]]},"page":"1010-1027","publisher":"[University of Chicago Press, American Society of Naturalists]","source":"JSTOR","title":"The Evolution of Dispersal in Spatially and Temporally Varying Environments","type":"article-journal","URL":"https://www.jstor.org/stable/2462931","volume":"140"}, + {"id":"merckxEvolutionMovementsBehaviour2003","abstract":"As landscapes change, mobility patterns of species may alter. Different mechanistic scenarios may, however, lead to particular patterns. Here, we tested conflicting predictions from two hypotheses on butterfly movements in relation to habitat fragmentation. According to the resource distribution hypothesis, butterflies in more fragmented landscapes would have higher levels of mobility as resources are more scattered. However, these butterflies could have lower levels of mobility as they experience â€hard’ habitat boundaries more frequently (i.e. higher crossing costs) compared with butterflies in landscapes with continuous habitat; i.e. the behaviour–at–boundaries hypothesis. We studied movements, habitat boundary crossing and habitat preference of laboratory–reared individuals of Pararge aegeria that originated from woodland and agricultural landscapes, by using an experimental landscape as a common environment (outdoor cages) to test the predictions, taking into account sexual differences and weather. Woodland butterflies covered longer distances, were more prone to cross open–shade boundaries, travelled more frequently between woodland parts of the cages and were more at flight than agricultural butterflies. Our results support the behaviour–at–boundaries hypothesis, with â€softer’ boundaries for woodland landscapes. Because the butterflies were reared in a common environment, the observed behavioural differences rely on heritable variation between populations from woodland and agricultural landscapes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Merckx","given":"Thomas"},{"family":"Dyck","given":"Hans Van"},{"family":"Karlsson","given":"Bengt"},{"family":"Leimar","given":"Olof"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.2003.2459","issue":"1526","issued":{"date-parts":[[2003,9,7]]},"page":"1815-1821","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"The evolution of movements and behaviour at boundaries in different landscapes: a common arena experiment with butterflies","title-short":"The evolution of movements and behaviour at boundaries in different landscapes","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2003.2459","volume":"270"}, + {"id":"merckxLandscapeStructurePhenotypic2006","abstract":"In evolutionary time, varying environments may lead to different morphs as a result of genetic adaptation and divergence or phenotypic plasticity. Landscapes that differ in the extent of habitat fragmentation may provide different selection regimes for dispersal, but also for other ecological functions. Several studies on flying insects have shown differences in flight morphology between landscapes, but whether such differences result from plastic responses have rarely been tested. We did a reciprocal transplant experiment with offspring of speckled wood butterfly females (Parargeaegeria) from three types of landscape differing in fragmentation: woodland landscape, landscape with woodland fragments and agricultural landscape with only hedgerows. Young caterpillars were allowed to grow individually on potted host grasses in small enclosures under the three landscape conditions (split-brood design). Mortality in caterpillars was much higher in agricultural landscape compared to the other landscapes. Additive to the effect of landscape of development, landscape of origin also affected mortality rate in a similar way. Flight morphology of the adults resulting from the experiment differed significantly with landscape. Independent of the landscape of origin, males and females that developed in agricultural landscape were the heaviest and had the greatest wing loadings. Females that developed in agricultural landscape had higher relative thorax mass (i.e. greater flight muscle allocation) in line with adaptive predictions on altered dispersal behaviour with type of landscape. In males, relative thorax mass did not respond significantly relative to landscape of development, but males originating from landscape with woodland fragments allocated more into their thorax compared to males from the other types. We found significant GĂ—E interactions for total dry mass and wing loading. Our results suggest the existence of phenotypic plasticity in butterfly flight morphology associated with landscape structure.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Merckx","given":"Thomas"},{"family":"Dyck","given":"Hans Van"}],"container-title":"Oikos","DOI":"10.1111/j.2006.0030-1299.14501.x","ISSN":"1600-0706","issue":"2","issued":{"date-parts":[[2006]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.2006.0030-1299.14501.x","page":"226-232","source":"Wiley Online Library","title":"Landscape structure and phenotypic plasticity in flight morphology in the butterfly Pararge aegeria","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.2006.0030-1299.14501.x","volume":"113"}, + {"id":"metzHowShouldWe2001","abstract":"We define a fitness concept applicable to structured metapopulations consisting of infinitely many equally coupled patches. In addition, we introduce a more easily calculated quantity Rm that relates to fitness in the same manner as R0 relates to fitness in ordinary population dynamics: the Rm of a mutant is only defined when the resident population dynamics converges to a point equilibrium and Rm is larger (smaller) than 1 if and only if mutant fitness is positive (negative). Rm corresponds to the average number of newborn dispersers resulting from the (on average less than one) local colony founded by a newborn disperser. Efficient algorithms for calculating its numerical value are provided. As an example of the usefulness of these concepts we calculate the evolutionarily stable conditional dispersal strategy for individuals that can account for the local population density in their dispersal decisions. Below a threshold density ĂŁ, at which staying and leaving are equality profitable, everybody should stay and above ĂŁ everybody should leave, where profitability is measured as the mean number of dispersers produced through lines of descent consisting of only non–dispersers.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Metz","given":"J. a. J."},{"family":"Gyllenberg","given":"M."}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.2000.1373","issue":"1466","issued":{"date-parts":[[2001,3,7]]},"page":"499-508","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"How should we define fitness in structured metapopulation models? Including an application to the calculation of evolutionarily stable dispersal strategies","title-short":"How should we define fitness in structured metapopulation models?","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2000.1373","volume":"268"}, + {"id":"midgleyBioMoveIntegratedPlatform2010","abstract":"BioMove simulates plant species' geographic range shifts in response to climate, habitat structure and disturbance, at annual time steps. This spatially explicit approach integrates species' bioclimatic suitability and population-level demographic rates with simulation of landscape-level processes (dispersal, disturbance, species' response to dynamic dominant vegetation structure). Species population dynamics are simulated through matrix modelling that includes scaling demographic rates by climatic suitability. Dispersal functions simulate population spread. User-specified plant functional types (PFTs) provide vegetation structure that determines resource competition and disturbance. PFTs respond annually through dispersal, inter-PFT competition and demographic shifts. BioMove provides a rich framework for dynamic range simulations.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Midgley","given":"Guy F."},{"family":"Davies","given":"Ian D."},{"family":"Albert","given":"CĂ©cile H."},{"family":"Altwegg","given":"Res"},{"family":"Hannah","given":"Lee"},{"family":"Hughes","given":"Gregory O."},{"family":"O'Halloran","given":"Lydia R."},{"family":"Seo","given":"Changwan"},{"family":"Thorne","given":"James H."},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2009.06000.x","ISSN":"1600-0587","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.06000.x","page":"612-616","source":"Wiley Online Library","title":"BioMove – an integrated platform simulating the dynamic response of species to environmental change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2009.06000.x","volume":"33"}, + {"id":"millerSexbiasedDispersalSpeed2011","abstract":"Population models that combine demography and dispersal are important tools for forecasting the spatial spread of biological invasions. Current models describe the dynamics of only one sex (typically females). Such models cannot account for the sex-related biases in dispersal and mating behavior that are typical of many animal species. In this article, we construct a two-sex integrodifference equation model that overcomes these limitations. We derive an explicit formula for the invasion speed from the model and use it to show that sex-biased dispersal may significantly increase or decrease the invasion speed by skewing the operational sex ratio at the invasion's low-density leading edge. Which of these possible outcomes occurs depends sensitively on complex interactions among the direction of dispersal bias, the magnitude of bias, and the relative contributions of females and males to local population growth.","author":[{"family":"Miller","given":"Tom E. X."},{"family":"Shaw","given":"Allison K."},{"family":"Inouye","given":"Brian D."},{"family":"Neubert","given":"Michael G."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/659628","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2011,5]]},"language":"eng","page":"549-561","PMID":"21508603","source":"PubMed","title":"Sex-biased dispersal and the speed of two-sex invasions","type":"article-journal","volume":"177"}, + {"id":"millerSexStochasticityAffect2013","abstract":"Understanding and predicting range expansion are key objectives in many basic and applied contexts. Among dioecious organisms, there is strong evidence for sex differences in dispersal, which could alter the sex ratio at the expansion's leading edge. However, demographic stochasticity could also affect leading-edge sex ratios, perhaps overwhelming sex-biased dispersal. We used insects in laboratory mesocosms to test the effects of sex-biased dispersal on range expansion, and a simulation model to explore interactive effects of sex-biased dispersal and demographic stochasticity. Sex-biased dispersal created spatial clines in the sex ratio, which influenced offspring production at the front and altered invasion velocity. Increasing female dispersal relative to males accelerated spread, despite the prediction that demographic stochasticity would weaken a signal of sex-biased dispersal. Our results provide the first experimental evidence for an influence of sex-biased dispersal on invasion velocity, highlighting the value of accounting for sex structure in studies of range expansion.","author":[{"family":"Miller","given":"Tom E. X."},{"family":"Inouye","given":"Brian D."}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/ele.12049","ISSN":"1461-0248","issue":"3","issued":{"date-parts":[[2013,3]]},"language":"eng","page":"354-361","PMID":"23237200","source":"PubMed","title":"Sex and stochasticity affect range expansion of experimental invasions","type":"article-journal","volume":"16"}, + {"id":"mitikkaRangeExpansionEuropean2010","abstract":"Climate change will influence the living conditions of all life on Earth. For some species the change in the environmental conditions that has occurred so far has already increased the risk of extinction, and the extinction risk is predicted to increase for large numbers of species in the future. Some species may have time to adapt to the changing environmental conditions, but the rate and magnitude of the change are too great to allow many species to survive via evolutionary changes. \n\nSpecies responses to climate change have been documented for some decades. Some groups of species, like many insects, respond readily to changes in temperature conditions and have shifted their distributions northwards to new climatically suitable regions. Such range shifts have been well documented especially in temperate zones. In this context, butterflies have been studied more than any other group of species, partly for the reason that their past geographical ranges are well documented, which facilitates species-climate modelling and other analyses. The aim of the modelling studies is to examine to what extent shifts in species distributions can be explained by climatic and other factors. Models can also be used to predict the future distributions of species. \n\nIn this thesis, I have studied the response to climate change of one species of butterfly within one geographically restricted area. The study species, the European map butterfly (Araschnia levana), has expanded rapidly northwards in Finland during the last two decades. I used statistical and dynamic modelling approaches in combination with field studies to analyse the effects of climate warming and landscape structure on the expansion. I studied possible role of molecular variation in phosphoglucose isomerase (PGI), a glycolytic enzyme affecting flight metabolism and thereby flight performance, in the observed expansion of the map butterfly at two separate expansion fronts in Finland. \n\nThe expansion rate of the map butterfly was shown to be correlated with the frequency of warmer than average summers during the study period. The result is in line with the greater probability of occurrence of the second generation during warm summers and previous results on this species showing greater mobility of the second than first generation individuals. The results of a field study in this thesis indicated low mobility of the first generation butterflies. Climatic variables alone were not sufficient to explain the observed expansion in Finland. There are also problems in transferring the climate model to new regions from the ones from which data were available to construct the model. The climate model predicted a wider distribution in the south-western part of Finland than what has been observed. Dynamic modelling of the expansion in response to landscape structure suggested that habitat and landscape structure influence the rate of expansion. In southern Finland the landscape structure may have slowed down the expansion rate. The results on PGI suggested that allelic variation in this enzyme may influence flight performance and thereby the rate of expansion. Genetic differences of the populations at the two expansion fronts may explain at least partly the observed differences in the rate of expansion. Individuals with the genotype associated with high flight metabolic rate were most frequent in eastern Finland, where the rate of range expansion has been highest.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Mitikka","given":"Varpu"}],"ISBN":"9789521061462","issued":{"date-parts":[[2010,3,26]]},"language":"en","note":"Accepted: 2010-11-25T13:18:36Z","publisher":"Helsingin yliopisto","source":"helda.helsinki.fi","title":"The range expansion of the European map butterfly in Finland","type":"article-journal","URL":"https://helda.helsinki.fi/handle/10138/22114"}, + {"id":"moralesBehaviorHabitatBoundaries2002","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Morales","given":"Juan Manuel"}],"container-title":"The American Naturalist","DOI":"10.1086/342076","ISSN":"0003-0147","issue":"4","issued":{"date-parts":[[2002,10,1]]},"page":"531-538","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"Behavior at Habitat Boundaries Can Produce Leptokurtic Movement Distributions.","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/342076","volume":"160"}, + {"id":"moralesBuildingBridgeAnimal2010a","abstract":"While the mechanistic links between animal movement and population dynamics are ecologically obvious, it is much less clear when knowledge of animal movement is a prerequisite for understanding and predicting population dynamics. GPS and other technologies enable detailed tracking of animal location concurrently with acquisition of landscape data and information on individual physiology. These tools can be used to refine our understanding of the mechanistic links between behaviour and individual condition through â€spatially informed’ movement models where time allocation to different behaviours affects individual survival and reproduction. For some species, socially informed models that address the movements and average fitness of differently sized groups and how they are affected by fission–fusion processes at relevant temporal scales are required. Furthermore, as most animals revisit some places and avoid others based on their previous experiences, we foresee the incorporation of long-term memory and intention in movement models. The way animals move has important consequences for the degree of mixing that we expect to find both within a population and between individuals of different species. The mixing rate dictates the level of detail required by models to capture the influence of heterogeneity and the dynamics of intra- and interspecific interaction.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Morales","given":"Juan M."},{"family":"Moorcroft","given":"Paul R."},{"family":"Matthiopoulos","given":"Jason"},{"family":"Frair","given":"Jacqueline L."},{"family":"Kie","given":"John G."},{"family":"Powell","given":"Roger A."},{"family":"Merrill","given":"Evelyn H."},{"family":"Haydon","given":"Daniel T."}],"container-title":"Philosophical Transactions of the Royal Society B: Biological Sciences","DOI":"10.1098/rstb.2010.0082","issue":"1550","issued":{"date-parts":[[2010,7,27]]},"page":"2289-2301","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Building the bridge between animal movement and population dynamics","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rstb.2010.0082","volume":"365"}, + {"id":"moralesScalingAnimalMovements2002","abstract":"Two major challenges of spatial ecology are understanding the effects of landscape heterogeneity on movement, and translating observations taken at small spatial and temporal scales into expected patterns at greater scales. Using a combination of computer simulations and micro-landscape experiments with Tribolium confusum beetles we found that conventional correlated random walk models with constant parameters severely underestimated spatial spread because organisms changed movement behaviors over time. However, a model incorporating behavioral heterogeneity between individuals, and within individuals over time, was able to account for observed patterns of spread. Our results suggest that the main challenge for scaling up movement patterns resides in the complexities of individual behavior rather than in the spatial structure of the landscape.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Morales","given":"Juan Manuel"},{"family":"Ellner","given":"Stephen P."}],"container-title":"Ecology","DOI":"10.2307/3072055","ISSN":"0012-9658","issue":"8","issued":{"date-parts":[[2002]]},"page":"2240-2247","publisher":"Ecological Society of America","source":"JSTOR","title":"Scaling up Animal Movements in Heterogeneous Landscapes: The Importance of Behavior","title-short":"Scaling up Animal Movements in Heterogeneous Landscapes","type":"article-journal","URL":"https://www.jstor.org/stable/3072055","volume":"83"}, + {"id":"munozWindLongDistanceDispersal2004","abstract":"Anisotropic (direction-dependent) long-distance dispersal (LDD) by wind has been invoked to explain the strong floristic affinities shared among landmasses in the Southern Hemisphere. Its contribution has not yet been systematically tested because of the previous lack of global data on winds. We used global winds coverage from the National Aeronautics and Space Administration SeaWinds scatterometer to test whether floristic similarities of Southern Hemisphere moss, liverwort, lichen, and pteridophyte floras conform better with (i) the anisotropic LDD hypothesis, which predicts that connection by “wind highways” increases floristic similarities, or (ii) a direction-independent LDD hypothesis, which predicts that floristic similarities among sites increase with geographic proximity. We found a stronger correlation of floristic similarities with wind connectivity than with geographic proximities, which supports the idea that wind is a dispersal vehicle for many organisms in the Southern Hemisphere.\nWind patterns, not geographical proximity, best explain the distribution of lower plants in the Southern Hemisphere.\nWind patterns, not geographical proximity, best explain the distribution of lower plants in the Southern Hemisphere.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Muñoz","given":"JesĂşs"},{"family":"FelicĂ­simo","given":"Ăngel M."},{"family":"Cabezas","given":"Francisco"},{"family":"Burgaz","given":"Ana R."},{"family":"MartĂ­nez","given":"Isabel"}],"container-title":"Science","DOI":"10.1126/science.1095210","ISSN":"0036-8075, 1095-9203","issue":"5674","issued":{"date-parts":[[2004,5,21]]},"language":"en","page":"1144-1147","PMID":"15155945","publisher":"American Association for the Advancement of Science","section":"Report","source":"science.sciencemag.org","title":"Wind as a Long-Distance Dispersal Vehicle in the Southern Hemisphere","type":"article-journal","URL":"https://science.sciencemag.org/content/304/5674/1144","volume":"304"}, + {"id":"murrellEvolutionDispersalDistance2002","abstract":"Most evolutionary models of dispersal have concentrated on dispersal rate, with emigration being either global or restricted to nearest neighbours. Yet most organisms fall into an intermediate region where most dispersal is local but there is a wide range of dispersal distances. We use an individual-based model with 2500 patches each with identical local dynamics and show that the dispersal distance is under selection pressure. The dispersal distance that evolves is critically dependent on the ecological dynamics. When the cost of dispersal increases linearly with distance, selection is for short-distance dispersal under stable and damped local dynamics but longer distance dispersal is favoured as local dynamics become more complex. For the cases of stable, damped and periodic patch dynamics global patch synchrony occurs even with very short-distance dispersal. Increasing the scale of dispersal for chaotic local dynamics increases the scale of synchrony but global synchrony does not neccesarily occur. We discuss these results in the light of other possible causes of dispersal and argue for the importance of incorporating non-equilibrium population dynamics into evolutionary models of dispersal distance.","author":[{"family":"Murrell","given":"David"},{"family":"Travis","given":"Justin"},{"family":"Dytham","given":"Calvin"}],"container-title":"Oikos","container-title-short":"Oikos","DOI":"10.1034/j.1600-0706.2002.970209.x","issued":{"date-parts":[[2002,5,1]]},"source":"ResearchGate","title":"The evolution of dispersal distance in spatially structured populations","type":"article-journal","volume":"97"}, + {"id":"mustinDynamicsClimateInducedRange2009","abstract":"Predicted future climate change will alter species' distributions as they attempt to track the most suitable ' climate window'. Climate envelope models indicate the direction of likely range changes but do not incorporate population dynamics, therefore observed responses may differ greatly from these projections. We use simulation modelling to explore the consequences of a period of environmental change for a species structured across an environmental gradient. Results indicate that a species' range may lag behind its climate envelope and demonstrate that the rate of movement of a range can accelerate during a period of climate change. We conclude that the inclusion of both population dynamics and spatial environmental variability is vital to develop models that can both predict, and be used to manage, the impact of changing climate on species' biogeography.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Mustin","given":"Karen"},{"family":"Benton","given":"Tim G."},{"family":"Dytham","given":"Calvin"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Oikos","ISSN":"0030-1299","issue":"1","issued":{"date-parts":[[2009]]},"page":"131-137","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"The Dynamics of Climate-Induced Range Shifting; Perspectives from Simulation Modelling","type":"article-journal","URL":"https://www.jstor.org/stable/40235617","volume":"118"}, + {"id":"mustinRedNoiseIncreases2013","abstract":"Aim As the global climate is changing rapidly, there is a need to make conservation decisions to facilitate species' persistence under climate change. Models employed to make predictions regarding the impacts of climate change on species' distributions, and ultimately persistence, typically assume that interannual variability in environmental conditions is independent between years. However, the colour of environmental noise has been shown to affect extinction risk in populations occupying spatially static environments, and should therefore affect persistence during climate change. This study aims to investigate the importance of noise colour for extinction risk during climate-induced range shifts. Methods We use a spatially explicit coupled map lattice with a latitudinal gradient in climatic suitability, together with time series of environmental noise, to simulate periods of directional climate change and investigate the effects of noise colour on extinction risk and range size. Results Extinction risk increases with reddening of the environmental noise, and this effect is particularly pronounced over short time frames when climate change is rapid. Main conclusions Given that management decisions are typically made over such short time frames, and the rapid rates of climate change currently being experienced, we highlight the importance of incorporating realistic time series of environmental noise into models used for conservation planning under climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Mustin","given":"Karen"},{"family":"Dytham","given":"Calvin"},{"family":"Benton","given":"Tim G."},{"family":"Travis","given":"Justin M. J."}],"container-title":"Diversity and Distributions","DOI":"10.1111/ddi.12038","ISSN":"1472-4642","issue":"7","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ddi.12038","page":"815-824","source":"Wiley Online Library","title":"Red noise increases extinction risk during rapid climate change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/ddi.12038","volume":"19"}, + {"id":"nathanDispersalKernelsReview2012","author":[{"family":"Nathan","given":"Ran"},{"family":"Klein","given":"Etienne"},{"family":"Robledo-Anuncio","given":"J.J."},{"family":"Revilla","given":"Eloy"}],"container-title":"Dispersal Ecology and Evolution","container-title-short":"Dispersal Ecology and Evolution","issued":{"date-parts":[[2012,1,1]]},"source":"ResearchGate","title":"Dispersal kernels: review. Chapter 15","title-short":"Dispersal kernels","type":"article-journal"}, + {"id":"nathanMovementEcologyParadigm2008a","abstract":"Movement of individual organisms is fundamental to life, quilting our planet in a rich tapestry of phenomena with diverse implications for ecosystems and humans. Movement research is both plentiful and insightful, and recent methodological advances facilitate obtaining a detailed view of individual movement. Yet, we lack a general unifying paradigm, derived from first principles, which can place movement studies within a common context and advance the development of a mature scientific discipline. This introductory article to the Movement Ecology Special Feature proposes a paradigm that integrates conceptual, theoretical, methodological, and empirical frameworks for studying movement of all organisms, from microbes to trees to elephants. We introduce a conceptual framework depicting the interplay among four basic mechanistic components of organismal movement: the internal state (why move?), motion (how to move?), and navigation (when and where to move?) capacities of the individual and the external factors affecting movement. We demonstrate how the proposed framework aids the study of various taxa and movement types; promotes the formulation of hypotheses about movement; and complements existing biomechanical, cognitive, random, and optimality paradigms of movement. The proposed framework integrates eclectic research on movement into a structured paradigm and aims at providing a basis for hypothesis generation and a vehicle facilitating the understanding of the causes, mechanisms, and spatiotemporal patterns of movement and their role in various ecological and evolutionary processes.\n”Now we must consider in general the common reason for moving with any movement whatever.“ (Aristotle, De Motu Animalium, 4th century B.C.)","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Nathan","given":"Ran"},{"family":"Getz","given":"Wayne M."},{"family":"Revilla","given":"Eloy"},{"family":"Holyoak","given":"Marcel"},{"family":"Kadmon","given":"Ronen"},{"family":"Saltz","given":"David"},{"family":"Smouse","given":"Peter E."}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0800375105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19052-19059","PMID":"19060196","publisher":"National Academy of Sciences","section":"Perspective","source":"www.pnas.org","title":"A movement ecology paradigm for unifying organismal movement research","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19052","volume":"105"}, + {"id":"nathanSpreadNorthAmerican2011","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Nathan","given":"R."},{"family":"Horvitz","given":"N"},{"family":"He","given":"Y"},{"family":"Kuparinen, A","given":""},{"family":"Schurr","given":"F. M."},{"family":"Katul","given":"G. G."}],"container-title":"Ecology Letters","issue":"14","issued":{"date-parts":[[2011]]},"page":"211-219","title":"Spread of North American windâ€dispersed trees in future environments","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/10.1111/j.1461-0248.2010.01573.x"}, + {"id":"neubertDensitydependentVitalRates2000","abstract":"We explore a set of simple, nonlinear, two-stage models that allow us to compare the effects of density dependence on population dynamics among different kinds of life cycles. We characterize the behavior of these models in terms of their equilibria, bifurcations. and nonlinear dynamics, for a wide range of parameters. Our analyses lead to several generalizations about the effects of life history and density dependence on population dynamics. Among these are: (1) iteroparous life histories are more likely to be stable than semelparous life histories; (2) an increase in juvenile survivorship tends to be stabilizing; (3) density-dependent adult survival cannot control population growth when reproductive output is high: (4) density-dependent reproduction is more likely to cause chaotic dynamics than density dependence in other vital rates; and (5) changes in development rate have only small effects on bifurcation patterns.","author":[{"family":"Neubert","given":"M. G."},{"family":"Caswell","given":"H. C."}],"container-title":"Journal of Mathematical Biology","container-title-short":"J Math Biol","DOI":"10.1007/s002850070001","ISSN":"0303-6812","issue":"2","issued":{"date-parts":[[2000,8]]},"language":"eng","page":"103-121","PMID":"11039693","source":"PubMed","title":"Density-dependent vital rates and their population dynamic consequences","type":"article-journal","volume":"41"}, + {"id":"norbergEcoevolutionaryResponsesBiodiversity2012","abstract":"This study describes the development of a multi-species model used to explore the integrated eco-evolutionary responses to climate change. The results should help to understand and predict the responses of biological diversity, ecosystems, and ecological services to changing climate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Norberg","given":"Jon"},{"family":"Urban","given":"Mark C."},{"family":"Vellend","given":"Mark"},{"family":"Klausmeier","given":"Christopher A."},{"family":"Loeuille","given":"Nicolas"}],"container-title":"Nature Climate Change","container-title-short":"Nature Clim Change","DOI":"10.1038/nclimate1588","ISSN":"1758-6798","issue":"10","issued":{"date-parts":[[2012,10]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research\nSubject_term: Biodiversity;Climate change;Evolutionary ecology\nSubject_term_id: biodiversity;climate-change;evolutionary-ecology","number":"10","page":"747-751","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Eco-evolutionary responses of biodiversity to climate change","type":"article-journal","URL":"https://www.nature.com/articles/nclimate1588","volume":"2"}, + {"id":"northEvolutionaryResponsesDispersal2011","abstract":"It is generally well understood that some ecological factors select for increased and others for decreased dispersal. However, it has remained difficult to assess how the evolutionary dynamics are influenced by the spatio-temporal structure of the environment. We address this question with an individual-based model that enables habitat structure to be controlled through variables such as patch size, patch turnover rate, and patch quality. Increasing patch size at the expense of patch density can select for more or less dispersal, depending on the initial configuration. In landscapes consisting of high-quality and long-lived habitat patches, patch degradation selects for increased dispersal, yet patch loss may select for reduced dispersal. These trends do not depend on the component of life-history that is affected by habitat quality or the component of life-history through which density-dependence operates. Our results are based on a mathematical method that enables derivation of both the evolutionary stable strategy and the stationary genotype distribution that evolves in a polymorphic population. The two approaches generally lead to similar predictions. However, the evolutionary stable strategy assumes that the ecological and evolutionary time scales can be separated, and we find that violation of this assumption can critically alter the evolutionary outcome.","author":[{"family":"North","given":"Ace"},{"family":"Cornell","given":"Stephen"},{"family":"Ovaskainen","given":"Otso"}],"container-title":"Evolution; International Journal of Organic Evolution","container-title-short":"Evolution","DOI":"10.1111/j.1558-5646.2011.01254.x","ISSN":"1558-5646","issue":"6","issued":{"date-parts":[[2011,6]]},"language":"eng","page":"1739-1751","PMID":"21644960","source":"PubMed","title":"Evolutionary responses of dispersal distance to landscape structure and habitat loss","type":"article-journal","volume":"65"}, + {"id":"okamotoFrameworkHighthroughputEcoevolutionary2018","abstract":"The evolutionary dynamics of quantitative traits in a species depends on demographic structure (e.g. age- and size-dependent vital rates, migration across subpopulations, mate preferences, and the presence or absence of overlapping generations), which in turn can depend on interspecific interactions with other evolving species. Furthermore, biologists increasingly appreciate that evolutionary change in a single species can substantively affect broader ecological processes, such as community assembly and ecosystem functioning. Models integrating insights from classical population and quantitative genetics, on the one hand, and community ecology theory, on the other, are therefore critical to elucidating the interplay between ecological and evolutionary processes. However, few modelling approaches integrate ecological and genetic details into a comprehensive framework. Such models are needed to account for the reciprocal feedback between evolutionary change and ecological dynamics, and develop effective responses to anthropogenic disturbances on natural communities, improve agricultural practices and manage global health risks such as emerging pathogens. Here we introduce an open-source, multi-species forward-time population genetics simulator and framework for rapidly simulating eco-evolutionary dynamics. Our approach permits building models that can account for alternative genetic architectures, non-standard population dynamics and demographic structures, including those driven by interspecific interactions with other evolving species and the spatial dynamics of metacommunities. By integrating these processes into a common framework, we aim to facilitate the development of models that can further elucidate eco-evolutionary dynamics. While multi-species, forward-time population genetic models can be computationally expensive, we show how our framework leverages relatively economical graphics cards installed in modern desktops. We illustrate the versatility and general applicability of our approach for two very different case studies: antagonistic coevolution in space, and the evolution of life-history traits in response to resource dynamics in physiologically structured populations. We find that our analyses can run up to c. 200 times faster on a single commodity graphics card than on a single CPU core, comparable to the performance gains on small-to-medium sized computer clusters. Our approach therefore substantively reduces implementation difficulties to integrating ecological and evolutionary theory.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Okamoto","given":"Kenichi W."},{"family":"Amarasekare","given":"Priyanga"}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/2041-210X.12889","ISSN":"2041-210X","issue":"3","issued":{"date-parts":[[2018]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.12889","page":"525-534","source":"Wiley Online Library","title":"A framework for high-throughput eco-evolutionary simulations integrating multilocus forward-time population genetics and community ecology","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/2041-210X.12889","volume":"9"}, + {"id":"oldenContextdependentPerceptualRanges2004","abstract":"1 An animal's perceptual range defines the spatial extent of the landscape for which information is available to make movement decisions. Ecologists studying and modelling animal dispersal have commonly assumed that individual movements arise from a predefined set of local decision rules operating within a static isotropic (i.e. circular) perceptual range. 2 We discuss how this assumption fails to recognize the potential for plasticity in perceptual ranges and present a conceptual model that illustrates how anisotropic perceptual ranges can arise from animal orientation to environmental stimuli. 3 Using model simulations we show how perceptual distance (i.e. greatest Euclidean distance at which habitat patches can be perceived), horizon (i.e. panoramic view or angular degrees of the landscape perceived) and breadth (i.e. areal extent of the landscape perceived), change as a function of increased strength of a hypothetical stimuli. 4 Our results show that anisotropic perceptual ranges can differ substantially from traditional, isotropic perceptual ranges in all three aspects depending on the strength of the stimuli and nature in which it interacts with other elements of the landscape. 5 We highlight the implications of these findings for modelling animal movements in ecological landscapes with the hope that context-dependent perceptual ranges are considered in future studies.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Olden","given":"Julian D."},{"family":"Schooley","given":"Robert L."},{"family":"Monroe","given":"Jeremy B."},{"family":"Poff","given":"N. Leroy"}],"container-title":"Journal of Animal Ecology","DOI":"10.1111/j.0021-8790.2004.00889.x","ISSN":"1365-2656","issue":"6","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8790.2004.00889.x","page":"1190-1194","source":"Wiley Online Library","title":"Context-dependent perceptual ranges and their relevance to animal movements in landscapes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.0021-8790.2004.00889.x","volume":"73"}, + {"id":"opdamClimateChangeMeets2004","abstract":"Climate change and habitat fragmentation are considered key pressures on biodiversity. In this paper we explore the potential synergetic effects between these factors. We argue that processes at two levels of spatial scale interact: the metapopulation level and the species range level. Current concepts of spatially dynamic metapopulations and species ranges are consistent, and integration improves our understanding of the interaction of landscape level and geographical range level processes. In landscape zones in which the degree of habitat fragmentation allows persistence, the shifting of ranges is inhibited, but not blocked. In areas where the spatial cohesion of the habitat is below the critical level of metapopulation persistence, the expansion of ranges will be blocked. An increased frequency of large-scale disturbances caused by extreme weather events will cause increasing gaps and an overall contraction of the distribution range, particularly in areas with relatively low levels of spatial cohesion. Taking into account the effects of climate change on metapopulations, habitat distribution and land use changes, future biodiversity research and conservation strategies are facing the challenge to re-orient their focus and scope by integrating spatially and conceptually more dynamic aspects at the landscape level.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Opdam","given":"Paul"},{"family":"Wascher","given":"Dirk"}],"container-title":"Biological Conservation","container-title-short":"Biological Conservation","DOI":"10.1016/j.biocon.2003.12.008","ISSN":"0006-3207","issue":"3","issued":{"date-parts":[[2004,5,1]]},"language":"en","page":"285-297","source":"ScienceDirect","title":"Climate change meets habitat fragmentation: linking landscape and biogeographical scale levels in research and conservation","title-short":"Climate change meets habitat fragmentation","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0006320703004890","volume":"117"}, + {"id":"ovaskainenBiasedMovementBoundary2003","abstract":"Motivated by edge behaviour reported for biological organisms, we show that random walks with a bias at a boundary lead to a discontinuous probability density across the boundary. We continue by studying more general diffusion processes with such a discontinuity across an interior boundary. We show how hitting probabilities, occupancy times and conditional occupancy times may be solved from problems that are adjoint to the original diffusion problem. We highlight our results with a biologically motivated example, where we analyze the movement behaviour of an individual in a network of habitat patches surrounded by dispersal habitat.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ovaskainen","given":"Otso"},{"family":"Cornell","given":"Stephen J."}],"container-title":"Journal of Applied Probability","ISSN":"0021-9002","issue":"3","issued":{"date-parts":[[2003]]},"page":"557-580","publisher":"Applied Probability Trust","source":"JSTOR","title":"Biased Movement at a Boundary and Conditional Occupancy Times for Diffusion Processes","type":"article-journal","URL":"https://www.jstor.org/stable/3215936","volume":"40"}, + {"id":"ovaskainenEmpiricalTestDiffusion2008","abstract":"Functional connectivity is a fundamental concept in conservation biology because it sets the level of migration and gene flow among local populations. However, functional connectivity is difficult to measure, largely because it is hard to acquire and analyze movement data from heterogeneous landscapes. Here we apply a Bayesian state-space framework to parameterize a diffusion-based movement model using capture-recapture data on the endangered clouded apollo butterfly. We test whether the model is able to disentangle the inherent movement behavior of the species from landscape structure and sampling artifacts, which is a necessity if the model is to be used to examine how movements depend on landscape structure. We show that this is the case by demonstrating that the model, parameterized with data from a reference landscape, correctly predicts movements in a structurally different landscape. In particular, the model helps to explain why a movement corridor that was constructed as a management measure failed to increase movement among local populations. We illustrate how the parameterized model can be used to derive biologically relevant measures of functional connectivity, thus linking movement data with models of spatial population dynamics.","author":[{"family":"Ovaskainen","given":"Otso"},{"family":"Luoto","given":"Miska"},{"family":"Ikonen","given":"Iiro"},{"family":"Rekola","given":"Hanna"},{"family":"Meyke","given":"Evgeniy"},{"family":"Kuussaari","given":"Mikko"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/587070","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2008,5]]},"language":"eng","page":"610-619","PMID":"18419523","source":"PubMed","title":"An empirical test of a diffusion model: predicting clouded apollo movements in a novel environment","title-short":"An empirical test of a diffusion model","type":"article-journal","volume":"171"}, + {"id":"ovaskainenHabitatSpecificMovementParameters2004","abstract":"I describe a diffusion model aimed at the quantitative analysis of movement in heterogeneous landscapes. The model is based on classifying a landscape into a number of habitat types, which are assumed to differ from each other in terms of the movement behavior of the focal species. In addition to habitat-specific diffusion and mortality coefficients, the model accounts for edge-mediated behavior, meaning biased behavior close to boundaries between the habitat types. I illustrate the model with three examples. In the first example, I examine how the strength of edge-mediated behavior and the size of a habitat patch affect the probability that an individual will immigrate to a patch, the probability that an individual will emigrate from a patch, and the time that an individual is expected to spend in a patch. In the second example, I study how a dispersal corridor affects the probability that an individual will move through a landscape. In the third example, I estimate the movement parameters for a species of butterfly from mark–recapture data. In the butterfly example, I classify the landscape into habitat patches, other open areas, and forests. Edge-mediated behavior is found to have a highly significant effect on the general dispersal pattern of the butterfly: the model predicts that the density of butterflies inside habitat patches is >100 times the density of butterflies in adjacent areas.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ovaskainen","given":"Otso"}],"container-title":"Ecology","DOI":"10.1890/02-0706","ISSN":"1939-9170","issue":"1","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/02-0706","page":"242-257","source":"Wiley Online Library","title":"Habitat-Specific Movement Parameters Estimated Using Mark–Recapture Data and a Diffusion Model","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/02-0706","volume":"85"}, + {"id":"ovaskainenModelingAnimalMovement2009","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ovaskainen","given":"Otso"},{"family":"Crone","given":"E. E."}],"container-title":"Spatial Ecology","issued":{"date-parts":[[2009]]},"language":"Finnish","publisher":"Chapman & Hall / CRC","source":"researchportal.helsinki.fi","title":"Modeling animal movement with diffusion","type":"article-journal","URL":"https://researchportal.helsinki.fi/en/publications/modeling-animal-movement-with-diffusion"}, + {"id":"ovaskainenTrackingButterflyMovements2008","abstract":"We used harmonic radar to track freely flying Glanville fritillary butterfly (Melitaea cinxia) females within an area of 30 ha. Butterflies originated from large and continuous populations in China and Estonia, and from newly established or old (> 5 years) small local populations in a highly fragmented landscape in Finland. Caterpillars were raised under common garden conditions and unmated females were tested soon after eclosion. The reconstructed flight paths for 66 individuals comprised a total distance of 51 km with high spatial resolution. Butterflies originating from large continuous populations and from old local populations in Finland exhibited similar movement behaviors, whereas butterflies originating from newly established local populations in the fragmented landscape in Finland moved significantly more than the others. There was no difference in the lengths of individual flight bouts, but the new-population females flew more frequently, resulting in longer daily movement tracks. The flight activity of all individuals was affected by environmental conditions, peaking at 19–23°C (depending on population type), in the early afternoon, and during calm weather. Butterflies from all population types showed a strong tendency to follow habitat edges between the open study area and the neighboring woodlands.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ovaskainen","given":"Otso"},{"family":"Smith","given":"Alan D."},{"family":"Osborne","given":"Juliet L."},{"family":"Reynolds","given":"Don R."},{"family":"Carreck","given":"Norman L."},{"family":"Martin","given":"Andrew P."},{"family":"Niitepõld","given":"Kristjan"},{"family":"Hanski","given":"Ilkka"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0802066105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19090-19095","PMID":"19060191","publisher":"National Academy of Sciences","section":"Research Article","source":"www.pnas.org","title":"Tracking butterfly movements with harmonic radar reveals an effect of population age on movement distance","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19090","volume":"105"}, + {"id":"pagelForecastingSpeciesRanges2012a","abstract":"Aim The study and prediction of species–environment relationships is currently mainly based on species distribution models. These purely correlative models neglect spatial population dynamics and assume that species distributions are in equilibrium with their environment. This causes biased estimates of species niches and handicaps forecasts of range dynamics under environmental change. Here we aim to develop an approach that statistically estimates process-based models of range dynamics from data on species distributions and permits a more comprehensive quantification of forecast uncertainties. Innovation We present an approach for the statistical estimation of process-based dynamic range models (DRMs) that integrate Hutchinson's niche concept with spatial population dynamics. In a hierarchical Bayesian framework the environmental response of demographic rates, local population dynamics and dispersal are estimated conditional upon each other while accounting for various sources of uncertainty. The method thus: (1) jointly infers species niches and spatiotemporal population dynamics from occurrence and abundance data, and (2) provides fully probabilistic forecasts of future range dynamics under environmental change. In a simulation study, we investigate the performance of DRMs for a variety of scenarios that differ in both ecological dynamics and the data used for model estimation. Main conclusions Our results demonstrate the importance of considering dynamic aspects in the collection and analysis of biodiversity data. In combination with informative data, the presented framework has the potential to markedly improve the quantification of ecological niches, the process-based understanding of range dynamics and the forecasting of species responses to environmental change. It thereby strengthens links between biogeography, population biology and theoretical and applied ecology.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pagel","given":"Jörn"},{"family":"Schurr","given":"Frank M."}],"container-title":"Global Ecology and Biogeography","DOI":"10.1111/j.1466-8238.2011.00663.x","ISSN":"1466-8238","issue":"2","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2011.00663.x","page":"293-304","source":"Wiley Online Library","title":"Forecasting species ranges by statistical estimation of ecological niches and spatial population dynamics","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1466-8238.2011.00663.x","volume":"21"}, + {"id":"palmerInterindividualVariabilityDispersal2014","abstract":"The importance of landscape connectivity in determining biodiversity outcomes under environmental change has led to indices of connectivity becoming amongst the most widely used measures in conservation. Thus, it is vital that our understanding of connectivity and our use of indices describing it are reliable. Dispersal is the key ecological process involved in determining connectivity, and there is increasing evidence of substantial within-population variability in dispersal behaviours. Here, we incorporate this inter-individual variability into two approaches for estimating connectivity, least cost path analysis and stochastic movement simulation. Illustrative results demonstrate that including dispersal variability can yield substantially different estimates of connectivity. While connectivity is typically similar between nearby patches, the frequency of movements between patches further apart is often substantially increased when inter-individual variability is included. Given the disproportionate role that unusual long-distance dispersal events play in spatial dynamics, connectivity indices should seek to incorporate variability in dispersal behaviour.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Palmer","given":"Stephen C. F."},{"family":"Coulon","given":"AurĂ©lie"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Oikos","DOI":"10.1111/oik.01248","ISSN":"1600-0706","issue":"8","issued":{"date-parts":[[2014]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/oik.01248","page":"923-932","source":"Wiley Online Library","title":"Inter-individual variability in dispersal behaviours impacts connectivity estimates","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/oik.01248","volume":"123"}, + {"id":"palmerIntroducingStochasticMovement2011","abstract":"1. Estimating and improving landscape connectivity has become a key topic in conservation biology. While a range of connectivity indices exist and are widely used to inform spatial planning, they have potentially serious limitations. 2. We introduce a new method for modelling animals moving between habitat patches across a heterogeneous matrix. Our approach integrates features of least cost path analysis with stochastic movement modelling. Importantly, it relaxes assumptions that are implicit in the least cost path algorithm: our method does not assume omniscience nor does it assume that an individual has a planned destination when it leaves a habitat patch. The algorithm incorporates resistance values for matrix elements and parameters that relate to both perceptual range and to the degree of correlation in movement. By simulating sets of movements for individuals emigrating from habitat patches, relative connectivities between habitat patches are estimated. 3. Using an already published stylised landscape, we demonstrate that the connectivities estimated using our new method can differ considerably from those provided by structural methods and by least cost path analysis. Further, our results emphasise the sensitivity of the relative connectivities to an organism’s perceptual range and the degree of correlation between movement steps. 4. We believe that using stochastic movement modelling can improve estimates of connectivity and also provide a method for determining how robust the indices derived from simpler methods are likely to be for different types of organisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Palmer","given":"Stephen C. F."},{"family":"Coulon","given":"AurĂ©lie"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/j.2041-210X.2010.00073.x","ISSN":"2041-210X","issue":"3","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2010.00073.x","page":"258-268","source":"Wiley Online Library","title":"Introducing a â€stochastic movement simulator’ for estimating habitat connectivity","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.2041-210X.2010.00073.x","volume":"2"}, + {"id":"parmesanGloballyCoherentFingerprint2003","abstract":"Causal attribution of recent biological trends to climate change is complicated because non-climatic influences dominate local, short-term biological changes. Any underlying signal from climate change is likely to be revealed by analyses that seek systematic trends across diverse species and geographic regions; however, debates within the Intergovernmental Panel on Climate Change (IPCC) reveal several definitions of a â€systematic trend’. Here, we explore these differences, apply diverse analyses to more than 1,700 species, and show that recent biological trends match climate change predictions. Global meta-analyses documented significant range shifts averaging 6.1 km per decade towards the poles (or metres per decade upward), and significant mean advancement of spring events by 2.3 days per decade. We define a diagnostic fingerprint of temporal and spatial â€sign-switching’ responses uniquely predicted by twentieth century climate trends. Among appropriate long-term/large-scale/multi-species data sets, this diagnostic fingerprint was found for 279 species. This suite of analyses generates â€very high confidence’ (as laid down by the IPCC) that climate change is already affecting living systems.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Parmesan","given":"Camille"},{"family":"Yohe","given":"Gary"}],"container-title":"Nature","DOI":"10.1038/nature01286","ISSN":"1476-4687","issue":"6918","issued":{"date-parts":[[2003,1]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"6918","page":"37-42","publisher":"Nature Publishing Group","source":"www.nature.com","title":"A globally coherent fingerprint of climate change impacts across natural systems","type":"article-journal","URL":"https://www.nature.com/articles/nature01286","volume":"421"}, + {"id":"parmesanPolewardShiftsGeographical1999","abstract":"Mean global temperatures have risen this century, and further warming is predicted to continue for the next 50–100 years1,2,3. Some migratory species can respond rapidly to yearly climate variation by altering the timing or destination of migration4, but most wildlife is sedentary and so is incapable of such a rapid response. For these species, responses to the warming trend should be slower, reflected in poleward shifts of the range. Such changes in distribution would occur at the level of the population, stemming not from changes in the pattern of individuals' movements, but from changes in the ratios of extinctions to colonizations at the northern and southern boundaries of the range. A northward range shift therefore occurs when there is net extinction at the southern boundary or net colonization at the northern boundary. However, previous evidence has been limited to a single species5 or to only a portion of the species' range6,7. Here we provide the first large-scale evidence of poleward shifts in entire species' ranges. In a sample of 35 non-migratory European butterflies, 63% have ranges that have shifted to the north by 35–240 km during this century, and only 3% have shifted to the south.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Parmesan","given":"Camille"},{"family":"Ryrholm","given":"Nils"},{"family":"Stefanescu","given":"ConstantĂ­"},{"family":"Hill","given":"Jane K."},{"family":"Thomas","given":"Chris D."},{"family":"Descimon","given":"Henri"},{"family":"Huntley","given":"Brian"},{"family":"Kaila","given":"Lauri"},{"family":"Kullberg","given":"Jaakko"},{"family":"Tammaru","given":"Toomas"},{"family":"Tennent","given":"W. John"},{"family":"Thomas","given":"Jeremy A."},{"family":"Warren","given":"Martin"}],"container-title":"Nature","DOI":"10.1038/21181","ISSN":"1476-4687","issue":"6736","issued":{"date-parts":[[1999,6]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"6736","page":"579-583","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Poleward shifts in geographical ranges of butterfly species associated with regional warming","type":"article-journal","URL":"https://www.nature.com/articles/21181","volume":"399"}, + {"id":"pattersonStateSpaceModels2008","abstract":"Detailed observation of the movement of individual animals offers the potential to understand spatial population processes as the ultimate consequence of individual behaviour, physiological constraints and fine-scale environmental influences. However, movement data from individuals are intrinsically stochastic and often subject to severe observation error. Linking such complex data to dynamical models of movement is a major challenge for animal ecology. Here, we review a statistical approach, state–space modelling, which involves changing how we analyse movement data and draw inferences about the behaviours that shape it. The statistical robustness and predictive ability of state–space models make them the most promising avenue towards a new type of movement ecology that fuses insights from the study of animal behaviour, biogeography and spatial population dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Patterson","given":"Toby A."},{"family":"Thomas","given":"Len"},{"family":"Wilcox","given":"Chris"},{"family":"Ovaskainen","given":"Otso"},{"family":"Matthiopoulos","given":"Jason"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2007.10.009","ISSN":"0169-5347","issue":"2","issued":{"date-parts":[[2008,2,1]]},"language":"en","page":"87-94","source":"ScienceDirect","title":"State–space models of individual animal movement","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534707003588","volume":"23"}, + {"id":"pearsonPredictingImpactsClimate2003","abstract":"Modelling strategies for predicting the potential impacts of climate change on the natural distribution of species have often focused on the characterization of a species’ bioclimate envelope. A number of recent critiques have questioned the validity of this approach by pointing to the many factors other than climate that play an important part in determining species distributions and the dynamics of distribution changes. Such factors include biotic interactions, evolutionary change and dispersal ability. This paper reviews and evaluates criticisms of bioclimate envelope models and discusses the implications of these criticisms for the different modelling strategies employed. It is proposed that, although the complexity of the natural system presents fundamental limits to predictive modelling, the bioclimate envelope approach can provide a useful first approximation as to the potentially dramatic impact of climate change on biodiversity. However, it is stressed that the spatial scale at which these models are applied is of fundamental importance, and that model results should not be interpreted without due consideration of the limitations involved. A hierarchical modelling framework is proposed through which some of these limitations can be addressed within a broader, scale-dependent context.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pearson","given":"Richard G."},{"family":"Dawson","given":"Terence P."}],"container-title":"Global Ecology and Biogeography","DOI":"10.1046/j.1466-822X.2003.00042.x","ISSN":"1466-8238","issue":"5","issued":{"date-parts":[[2003]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1466-822X.2003.00042.x","page":"361-371","source":"Wiley Online Library","title":"Predicting the impacts of climate change on the distribution of species: are bioclimate envelope models useful?","title-short":"Predicting the impacts of climate change on the distribution of species","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1466-822X.2003.00042.x","volume":"12"}, + {"id":"peerBreakingFunctionalConnectivity2011","abstract":"Landscape connectivity is a key factor determining the viability of populations in fragmented landscapes. Predicting â€functional connectivity’, namely whether a patch or a landscape functions as connected from the perspective of a focal species, poses various challenges. First, empirical data on the movement behaviour of species is often scarce. Second, animal-landscape interactions are bound to yield complex patterns. Lastly, functional connectivity involves various components that are rarely assessed separately. We introduce the spatially explicit, individual-based model FunCon as means to distinguish between components of functional connectivity and to assess how each of them affects the sensitivity of species and communities to landscape structures. We then present the results of exploratory simulations over six landscapes of different fragmentation levels and across a range of hypothetical bird species that differ in their response to habitat edges. i) Our results demonstrate that estimations of functional connectivity depend not only on the response of species to edges (avoidance versus penetration into the matrix), the movement mode investigated (home range movements versus dispersal), and the way in which the matrix is being crossed (random walk versus gap crossing), but also on the choice of connectivity measure (in this case, the model output examined). ii) We further show a strong effect of the mortality scenario applied, indicating that movement decisions that do not fully match the mortality risks are likely to reduce connectivity and enhance sensitivity to fragmentation. iii) Despite these complexities, some consistent patterns emerged. For instance, the ranking order of landscapes in terms of functional connectivity was mostly consistent across the entire range of hypothetical species, indicating that simple landscape indices can potentially serve as valuable surrogates for functional connectivity. Yet such simplifications must be carefully evaluated in terms of the components of functional connectivity they actually predict.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pe'er","given":"Guy"},{"family":"Henle","given":"Klaus"},{"family":"Dislich","given":"Claudia"},{"family":"Frank","given":"Karin"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0022355","ISSN":"1932-6203","issue":"8","issued":{"date-parts":[[2011,8,1]]},"language":"en","page":"e22355","publisher":"Public Library of Science","source":"PLoS Journals","title":"Breaking Functional Connectivity into Components: A Novel Approach Using an Individual-Based Model, and First Outcomes","title-short":"Breaking Functional Connectivity into Components","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0022355","volume":"6"}, + {"id":"peerIncorporatingPerceptualRange2008","abstract":"The perceptual range of an animal towards different landscape elements affects its movements through heterogeneous landscapes. However, empirical knowledge and modeling tools are lacking to assess the consequences of variation in the perceptual range for movement patterns and connectivity. In this study we tested how changes in the assumed perception of different landscape elements affect the outcomes of a connectivity model. We used an existing individual-based, spatially explicit model for the dispersal of Eurasian lynx (Lynx lynx). We systematically altered the perceptual range in which animals recognize forest fragments, water bodies or cities, as well as the probability that they respond to these landscape elements. Overall, increasing the perceptual range of the animals enhanced connectivity substantially, both qualitatively and quantitatively. An enhanced range of attraction to forests had the strongest impact, doubling immigration success; an enhanced range of attraction to rivers had a slightly lower impact; and an enhanced range of avoidance of cities had the lowest impact. Correcting the enhancement in connectivity by the abundance of each of the landscape elements in question reversed the results, indicating the potential sensitivity of connectivity models to rare landscape elements (in our case barriers such as cities). Qualitatively, the enhanced perception resulted in strong changes in movement patterns and connectivity. Furthermore, model results were highly parameter-specific and patch-specific. These results emphasize the need for further empirical research on the perceptual capabilities of different animals in different landscapes and conditions. They further indicate the usefulness of spatially explicit individual-based simulation models for recognizing consistent patterns that emerge, despite uncertainty regarding animals’ movement behavior. Altogether, this study demonstrates the need to extend the concept of â€perceptual ranges’ beyond patch detection processes, to encompass the wide range of elements that can direct animal movements during dispersal through heterogeneous landscapes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pe’er","given":"Guy"},{"family":"Kramer-Schadt","given":"Stephanie"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2007.11.020","ISSN":"0304-3800","issue":"1","issued":{"date-parts":[[2008,4,24]]},"language":"en","page":"73-85","source":"ScienceDirect","title":"Incorporating the perceptual range of animals into connectivity models","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380007006199","volume":"213"}, + {"id":"peerSimpleProcessBasedSimulators2013","abstract":"Landscape simulators are widely applied in landscape ecology for generating landscape patterns. These models can be divided into two categories: pattern-based models that generate spatial patterns irrespective of the processes that shape them, and process-based models that attempt to generate patterns based on the processes that shape them. The latter often tend toward complexity in an attempt to obtain high predictive precision, but are rarely used for generic or theoretical purposes. Here we show that a simple process-based simulator can generate a variety of spatial patterns including realistic ones, typifying landscapes fragmented by anthropogenic activities. The model “G-RaFFe” generates roads and fields to reproduce the processes in which forests are converted into arable lands. For a selected level of habitat cover, three factors dominate its outcomes: the number of roads (accessibility), maximum field size (accounting for land ownership patterns), and maximum field disconnection (which enables field to be detached from roads). We compared the performance of G-RaFFe to three other models: Simmap (neutral model), Qrule (fractal-based) and Dinamica EGO (with 4 model versions differing in complexity). A PCA-based analysis indicated G-RaFFe and Dinamica version 4 (most complex) to perform best in matching realistic spatial patterns, but an alternative analysis which considers model variability identified G-RaFFe and Qrule as performing best. We also found model performance to be affected by habitat cover and the actual land-uses, the latter reflecting on land ownership patterns. We suggest that simple process-based generators such as G-RaFFe can be used to generate spatial patterns as templates for theoretical analyses, as well as for gaining better understanding of the relation between spatial processes and patterns. We suggest caution in applying neutral or fractal-based approaches, since spatial patterns that typify anthropogenic landscapes are often non-fractal in nature.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pe'er","given":"Guy"},{"family":"Zurita","given":"Gustavo A."},{"family":"Schober","given":"Lucia"},{"family":"Bellocq","given":"Maria I."},{"family":"Strer","given":"Maximilian"},{"family":"MĂĽller","given":"Michael"},{"family":"PĂĽtz","given":"Sandro"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0064968","ISSN":"1932-6203","issue":"5","issued":{"date-parts":[[2013,5,28]]},"language":"en","page":"e64968","publisher":"Public Library of Science","source":"PLoS Journals","title":"Simple Process-Based Simulators for Generating Spatial Patterns of Habitat Loss and Fragmentation: A Review and Introduction to the G-RaFFe Model","title-short":"Simple Process-Based Simulators for Generating Spatial Patterns of Habitat Loss and Fragmentation","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0064968","volume":"8"}, + {"id":"perrinDispersalInbreedingAvoidance1999","abstract":"Using a game-theoretical approach, we investigate the dispersal patterns expected if inbreeding avoidance were the only reason for dispersal. The evolutionary outcome is always complete philopatry by one sex. The rate of dispersal by the other sex depends on patch size and mating system, as well as inbreeding and dispersal costs. If such costs are sex independent, then two stable equilibria coexist (male or female philopatry), with symmetric domains of attraction. Which sex disperses is determined entirely by history, genetic drift, and gene flow. An asymmetry in costs makes one domain of attraction extend at the expense of the other. In such a case, the dispersing sex might also be, paradoxically, the one that incurs the higher dispersal costs. As asymmetry increases, one equilibrium eventually disappears, which may result in a sudden evolutionary shift in the identity of the dispersing sex. Our results underline the necessity to control for phylogenetic relationships (e.g., through the use of independent-comparisons methods) when investigating empirical trends in dispersal. Our model also makes quantitative predictions on the rate of dispersal by the dispersing sex and suggests that inbreeding avoidance may only rarely be the sole reason for dispersal.","author":[{"family":"Perrin","given":"Nicolas"},{"family":"Mazalov","given":"Vladimir"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/303236","ISSN":"1537-5323","issue":"3","issued":{"date-parts":[[1999,9]]},"language":"eng","page":"282-292","PMID":"10506544","source":"PubMed","title":"Dispersal and Inbreeding Avoidance","type":"article-journal","volume":"154"}, + {"id":"perrinLocalCompetitionInbreeding2000","abstract":"Using game theory, we developed a kin-selection model to investigate the consequences of local competition and inbreeding depression on the evolution of natal dispersal. Mating systems have the potential to favor strong sex biases in dispersal because sex differences in potential reproductive success affect the balance between local resource competition and local mate competition. No bias is expected when local competition equally affects males and females, as happens in monogamous systems and also in polygynous or promiscuous ones as long as female fitness is limited by extrinsic factors (breeding resources). In contrast, a male-biased dispersal is predicted when local mate competition exceeds local resource competition, as happens under polygyny/promiscuity when female fitness is limited by intrinsic factors (maximal rate of processing resources rather than resources themselves). This bias is reinforced by among-sex interactions: female philopatry enhances breeding opportunities for related males, while male dispersal decreases the chances that related females will inbreed. These results meet empirical patterns in mammals: polygynous/promiscuous species usually display a male-biased dispersal, while both sexes disperse in monogamous species. A parallel is drawn with sex-ratio theory, which also predicts biases toward the sex that suffers less from local competition. Optimal sex ratios and optimal sex-specific dispersal show mutual dependence, which argues for the development of coevolution models.","author":[{"family":"Perrin","given":"Nicolas"},{"family":"Mazalov","given":"Vladimir"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/303296","ISSN":"1537-5323","issue":"1","issued":{"date-parts":[[2000,1]]},"language":"eng","page":"116-127","PMID":"10657181","source":"PubMed","title":"Local Competition, Inbreeding, and the Evolution of Sex-Biased Dispersal","type":"article-journal","volume":"155"}, + {"id":"petitSurveyColumnarCacti1996","abstract":"We estimated the population sizes of the three species of columnar cacti that grow on the island of Curacao using ground and aerial transects, and we examined the island's carrying capacity for two species of nectar-feeding bats that depend on nectar from the flowers of these cacti. We calculated carrying capacity based on the daily availability of mature flowers between January and December 1993 and the field energy requirements of bats as estimated from an equation for eutherian mammals (low estimate) and one for passerine birds (high estimate) based on body mass. Additional energy requirements of pregnancy and lactation were taken into account. We estimated that 461,172 columnar cacti were present on Curacao (38% Subpilocereus repandus, 51% Stenocereus griseus, and 11% Pilosocereus lanuginosus). May through September are the critical months when bats rely most heavily on cactus for food. July 1993 was a bottleneck with the smallest number of mature flowers per day. July and August were months of greatest energy demand because females were lactating. We estimate that the carrying capacity for Glossophaga longirostris in July, when the bat (Leptonycteris curasoae) population was 900, was near 1200, an estimate that fits the observed population size of nectar-feeding bats on the island. We suggest that the extensive removal of native vegetation occurring on Curacao be strictly regulated because further destruction of the cacti will result in a decrease and potential loss of the already low populations of nectar-feeding bats.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Petit","given":"Sophie"},{"family":"Pors","given":"Leon"}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"3","issued":{"date-parts":[[1996]]},"page":"769-775","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Survey of Columnar Cacti and Carrying Capacity for Nectar-Feeding Bats on Curacao","type":"article-journal","URL":"https://www.jstor.org/stable/2387099","volume":"10"}, + {"id":"phillipsLifehistoryEvolutionRangeshifting2010a","abstract":"Most evolutionary theory does not deal with populations expanding or contracting in space. Invasive species, climate change, epidemics, and the breakdown of dispersal barriers, however, all create populations in this kind of spatial disequilibrium. Importantly, spatial disequilibrium can have important ecological and evolutionary outcomes. During continuous range expansion, for example, populations on the expanding front experience novel evolutionary pressures because frontal populations are assorted by dispersal ability and have a lower density of conspecifics than do core populations. These conditions favor the evolution of traits that increase rates of dispersal and reproduction. Additionally, lowered density on the expanding front eventually frees populations on the expanding edge from specialist, coevolved enemies, permitting higher investment into traits associated with dispersal and reproduction rather than defense against pathogens. As a result, the process of range expansion drives rapid life-history evolution, and this seems to occur despite ongoing serial founder events that have complex effects on genetic diversity at the expanding front. Traits evolving on the expanding edge are smeared across the landscape as the front moves through, leaving an ephemeral signature of range expansion in the life-history traits of a species across its newly colonized range. Recent studies suggest that such nonequilibrium processes during recent population history may have contributed to many patterns usually ascribed to evolutionary forces acting in populations at spatial equilibrium.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Phillips","given":"Benjamin L."},{"family":"Brown","given":"Gregory P."},{"family":"Shine","given":"Richard"}],"container-title":"Ecology","DOI":"10.1890/09-0910.1","ISSN":"1939-9170","issue":"6","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/09-0910.1","page":"1617-1627","source":"Wiley Online Library","title":"Life-history evolution in range-shifting populations","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/09-0910.1","volume":"91"}, + {"id":"phillipsRangeShiftPromotes2012","abstract":"Aim I investigate the counter-intuitive possibility that range shift promotes the formation of stable range edges. This might be expected because: (1) range-shifting populations typically evolve increased dispersal on the expanding range edge; (2) increased dispersal steepens the relative slope of environmental gradients (gradients appear steeper to a more dispersive population); and (3) environmental gradients that are steep relative to dispersal encourage the formation of stable range edges (when gradients appear steep, adaptation on the range edge is swamped by maladapted genes). Methods I test the idea that populations take longer to evolve across an environmental gradient when those populations have already undergone a period of spread. I do this using an individual-based coupled map lattice simulation, in which individuals carry heritable traits for dispersal probability and environment-specific fitness. Results Numerous simulations across parameter space confirm that a period of range shift almost always results in a longer time to evolve through an environmental gradient. This occurs because of both the mechanism described above and the erosion of adaptive variation resulting from the serial foundering that occurs during range advance. Main conclusions This result suggests that species may often shift their range due to intrinsic changes in the population rather than extrinsic changes in the environment. The result also suggests a new mechanism regulating the speed of invasion, and sounds a cautionary note for climate change impacts: the longer a species tracks climate change, the less able it may be to track that change into the future.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Phillips","given":"Ben L."}],"container-title":"Journal of Biogeography","DOI":"10.1111/j.1365-2699.2011.02597.x","ISSN":"1365-2699","issue":"1","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2011.02597.x","page":"153-161","source":"Wiley Online Library","title":"Range shift promotes the formation of stable range edges","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2699.2011.02597.x","volume":"39"}, + {"id":"phillipsReidParadoxRevisited2008a","abstract":"Current approaches to modeling range advance assume that the distribution describing dispersal distances in the population (the \"dispersal kernel\") is a static entity. We argue here that dispersal kernels are in fact highly dynamic during periods of range advance because density effects and spatial assortment by dispersal ability (\"spatial selection\") drive the evolution of increased dispersal on the expanding front. Using a spatially explicit individual-based model, we demonstrate this effect under a wide variety of population growth rates and dispersal costs. We then test the possibility of an evolved shift in dispersal kernels by measuring dispersal rates in individual cane toads (Bufo marinus) from invasive populations in Australia (historically, toads advanced their range at 10 km/year, but now they achieve >55 km/year in the northern part of their range). Under a common-garden design, we found a steady increase in dispersal tendency with distance from the invasion origin. Dispersal kernels on the invading front were less kurtotic and less skewed than those from origin populations. Thus, toads have increased their rate of range expansion partly through increased dispersal on the expanding front. For accurate long-range forecasts of range advance, we need to take into account the potential for dispersal kernels to be evolutionarily dynamic.","author":[{"family":"Phillips","given":"Benjamin L."},{"family":"Brown","given":"Gregory P."},{"family":"Travis","given":"Justin M. J."},{"family":"Shine","given":"Richard"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/588255","ISSN":"1537-5323","issued":{"date-parts":[[2008,7]]},"language":"eng","page":"S34-48","PMID":"18554142","source":"PubMed","title":"Reid's paradox revisited: the evolution of dispersal kernels during range expansion","title-short":"Reid's paradox revisited","type":"article-journal","volume":"172 Suppl 1"}, + {"id":"plotnickGeneralModelSimulating2002","abstract":"An individual-based, spatially explicit stochastic lattice model, CAPS, was designed to examine multiple processes responsible for spatial patterns of abundance and diversity of sessile species in heterogeneous landscapes. Species simulated by CAPS differ in habitat preferences (niche width), dispersal of propagules, and relative fecundity. The spatial distribution of habitat types are represented as heterogeneous gridded landscapes. The outcome of competition and establishment processes in successive generations is determined locally via a seed lottery. A series of 200 year-long simulations was performed to investigate the effects of variation in species characteristics and competition, landscape heterogeneity, and disturbance on patterns of species abundances. The outcome of competition was most sensitive to differences in fecundity between species, the spatial distribution of suitable habitat and the initial distribution of species. Species with a narrow niche were confined to a single habitat type and remained at or near their initialization sites. Broader niches resulted in increasing niche overlap and competition but enhanced species mobility, allowing abundance levels to approach expected values determined by map resources. Even so, initial distributions still affected the spatial patterns of species distributions at year 200. Disturbance regimes were simulated by varying the frequency, extent and spatial pattern of disturbances. Disturbance events removed species from affected sites but did not otherwise alter habitat characteristics. Results showed that disturbances may lead to a reversal in competition and establishment, dependent on species-specific differences in fecundity and dispersal. Although intermediate levels of disturbance frequency and extent increased the probability of species coexistence, the spatial pattern of disturbance played an unexpectedly important role in the tradeoff between dispersal and fecundity. The ability to simulate multiple factors affecting patterns of persistence, abundance and spatial distribution of species provided by CAPS allows new insight into the temporal and spatial patterns of community development.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Plotnick","given":"Roy E"},{"family":"Gardner","given":"Robert H"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/S0304-3800(01)00418-5","ISSN":"0304-3800","issue":"2","issued":{"date-parts":[[2002,1,15]]},"language":"en","page":"171-197","source":"ScienceDirect","title":"A general model for simulating the effects of landscape heterogeneity and disturbance on community patterns","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380001004185","volume":"147"}, + {"id":"poethkeAbilityIndividualsAssess2011","abstract":"We analyze the simultaneous evolution of emigration and settlement decisions for actively dispersing species differing in their ability to assess population density. Using an individual-based model we simulate dispersal as a multi-step (patch to patch) movement in a world consisting of habitat patches surrounded by a hostile matrix. Each such step is associated with the same mortality risk. Our simulations show that individuals following an informed strategy, where emigration (and settlement) probability depends on local population density, evolve a lower (natal) emigration propensity but disperse over significantly larger distances - i.e. postpone settlement longer - than individuals performing density-independent emigration. This holds especially when variation in environmental conditions is spatially correlated. Both effects can be traced to the informed individuals' ability to better exploit existing heterogeneity in reproductive chances. Yet, already moderate distance-dependent dispersal costs prevent the evolution of multi-step (long-distance) dispersal, irrespective of the dispersal strategy.","author":[{"family":"Poethke","given":"Hans Joachim"},{"family":"Gros","given":"Andreas"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"Journal of Theoretical Biology","container-title-short":"J Theor Biol","DOI":"10.1016/j.jtbi.2011.05.012","ISSN":"1095-8541","issue":"1","issued":{"date-parts":[[2011,8,7]]},"language":"eng","page":"93-99","PMID":"21605568","source":"PubMed","title":"The ability of individuals to assess population density influences the evolution of emigration propensity and dispersal distance","type":"article-journal","volume":"282"}, + {"id":"poethkeEvolutionDensityPatch2002","abstract":"Based on a marginal value approach, we derive a nonlinear expression for evolutionarily stable (ES) dispersal rates in a metapopulation with global dispersal. For the general case of densityâ€dependent population growth, our analysis shows that individual dispersal rates should decrease with patch capacity and—beyond a certain threshold–increase with population density. We performed a number of spatially explicit, individualâ€based simulation experiments to test these predictions and to explore further the relevance of variation in the rate of population increase, density dependence, environmental fluctuations and dispersal mortality on the evolution of dispersal rates. They confirm the predictions of our analytical approach. In addition, they show that dispersal rates in metapopulations mostly depend on dispersal mortality and interâ€patch variation in population density. The latter is dominantly driven by environmental fluctuations and the rate of population increase. These conclusions are not altered by the introduction of neighbourhood dispersal. With patch capacities in the order of 100 individuals, kin competition seems to be of negligible importance for ES dispersal rates except when overall dispersal rates are low.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Poethke","given":"Hans Joachim"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.2001.1936","issue":"1491","issued":{"date-parts":[[2002,3,22]]},"page":"637-645","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Evolution of density–and patch–size–dependent dispersal rates","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2001.1936","volume":"269"}, + {"id":"poyrySpeciesTraitsExplain2009","abstract":"This study provides a novel systematic comparative analysis of the species characteristics affecting the range margin shifts in butterflies towards higher latitudes, while taking phylogenetic relatedness among species into account. We related observed changes in the northern range margins of 48 butterfly species in Finland between two time periods (1992–1996 and 2000–2004) to 11 species traits. Species with positive records in at least ten 10 km Ă— 10 km grid squares (in the Finnish National Butterfly Recording Scheme, NAFI) in both periods were included in the study. When corrected for range size change, the 48 butterfly species had shifted their range margins northwards on average by 59.9 km between the study periods, with maximum shifts of over 300 km for three species. This rate of range shifts exceeds all previously reported records worldwide. Our findings may be explained by two factors: the study region is situated in higher latitudes than in most previous studies and it focuses on the period of most prominent warming during the last 10–15 years. Several species traits exhibited a significant univariate relationship with the range margin shift according to generalized estimation equations (GEE) taking into account the phylogenetic relatedness among species. Nonthreatened butterflies had on average expanded their ranges strongly northwards (84.5 km), whereas the distributions of threatened species were stationary (â’2.1 km). Hierarchical partitioning (HP) analysis indicated that mobile butterflies living in forest edges and using woody plants as their larval hosts exhibited largest range shifts towards the north. Thus, habitat availability and dispersal capacity of butterfly species are likely to determine whether they will be successful in shifting their ranges in response to the warming climate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pöyry","given":"Juha"},{"family":"Luoto","given":"Miska"},{"family":"Heikkinen","given":"Risto K."},{"family":"Kuussaari","given":"Mikko"},{"family":"Saarinen","given":"Kimmo"}],"container-title":"Global Change Biology","DOI":"10.1111/j.1365-2486.2008.01789.x","ISSN":"1365-2486","issue":"3","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2486.2008.01789.x","page":"732-743","source":"Wiley Online Library","title":"Species traits explain recent range shifts of Finnish butterflies","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2486.2008.01789.x","volume":"15"}, + {"id":"revillaEffectsMatrixHeterogeneity2004","abstract":"Mounting theoretical and empirical evidence shows that matrix heterogeneity may have contrasting effects on metapopulation dynamics by contributing to patch isolation in nontrivial ways. We analyze the movement properties during interpatch dispersal in a metapopulation of Iberian lynx (Lynx pardinus). On a daily temporal scale, lynx habitat selection defines two types of matrix habitats where individuals may move: open and dispersal habitats (avoided and used as available, respectively). There was a strong and complex impact of matrix heterogeneity on movement properties at several temporal scales (hourly and daily radiolocations and the entire dispersal event). We use the movement properties on the hourly temporal scale to build a simulation model to reconstruct individual dispersal events. The two most important parameters affecting model predictions at both the individual (daily) and metapopulation scales were related to the movement capacity (number of movement steps per day and autocorrelation in dispersal habitat) followed by the parameters representing the habitat selection in the matrix. The model adequately reproduced field estimates of populationâ€level parameters (e.g., interpatch connectivity, maximum and final dispersal distances), and its performance was clearly improved when including the effect of matrix heterogeneity on movement properties. To assume there is a homogeneous matrix results in large errors in the estimate of interpatch connectivity, especially for close patches separated by open habitat or corridors of dispersal habitat, showing how important it is to consider matrix heterogeneity when it is present. Movement properties affect the interaction of dispersing individuals with the landscape and can be used as a mechanistic representation of dispersal at the metapopulation level. This is so when the effect of matrix heterogeneity on movement properties is evaluated under biologically meaningful spatial and temporal scales.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Revilla","given":"Eloy"},{"family":"Wiegand","given":"Thorsten"},{"family":"Palomares","given":"Francisco"},{"family":"Ferreras","given":"Pablo"},{"family":"Delibes","given":"Miguel"}],"container-title":"The American Naturalist","DOI":"10.1086/424767","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[2004,11,1]]},"page":"E130-E153","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"Effects of Matrix Heterogeneity on Animal Dispersal: From Individual Behavior to Metapopulationâ€Level Parameters.","title-short":"Effects of Matrix Heterogeneity on Animal Dispersal","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/424767","volume":"164"}, + {"id":"revillaIndividualMovementBehavior2008a","abstract":"The dynamics of spatially structured populations is characterized by within- and between-patch processes. The available theory describes the latter with simple distance-dependent functions that depend on landscape properties such as interpatch distance or patch size. Despite its potential role, we lack a good mechanistic understanding of how the movement of individuals between patches affects the dynamics of these populations. We used the theoretical framework provided by movement ecology to make a direct representation of the processes determining how individuals connect local populations in a spatially structured population of Iberian lynx. Interpatch processes depended on the heterogeneity of the matrix where patches are embedded and the parameters defining individual movement behavior. They were also very sensitive to the dynamic demographic variables limiting the time moving, the within-patch dynamics of available settlement sites (both spatiotemporally heterogeneous) and the response of individuals to the perceived risk while moving. These context-dependent dynamic factors are an inherent part of the movement process, producing connectivities and dispersal kernels whose variability is affected by other demographic processes. Mechanistic representations of interpatch movements, such as the one provided by the movement-ecology framework, permit the dynamic interaction of birth–death processes and individual movement behavior, thus improving our understanding of stochastic spatially structured populations.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Revilla","given":"Eloy"},{"family":"Wiegand","given":"Thorsten"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0801725105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19120-19125","PMID":"19060193","publisher":"National Academy of Sciences","section":"Research Article","source":"www.pnas.org","title":"Individual movement behavior, matrix heterogeneity, and the dynamics of spatially structured populations","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19120","volume":"105"}, + {"id":"rickettsMatrixMattersEffective2001","abstract":"Traditional approaches to the study of fragmented landscapes invoke an island-ocean model and assume that the nonhabitat matrix surrounding remnant patches is uniform. Patch isolation, a crucial parameter to the predictions of island biogeography and metapopulation theories, is measured by distance alone. To test whether the type of interpatch matrix can contribute significantly to patch isolation, I conducted a mark-recapture study on a butterfly community inhabiting meadows in a naturally patchy landscape. I used maximum likelihood to estimate the relative resistances of the two major matrix types (willow thicket and conifer forest) to butterfly movement between meadow patches. For four of the six butterfly taxa (subfamilies or tribes) studied, conifer was 3-12 times more resistant than willow. For the two remaining taxa (the most vagile and least vagile in the community), resistance estimates for willow and conifer were not significantly different, indicating that responses to matrix differ even among closely related species. These results suggest that the surrounding matrix can significantly influence the \"effective isolation\" of habitat patches, rendering them more or less isolated than simple distance or classic models would indicate. Modification of the matrix may provide opportunities for reducing patch isolation and thus the extinction risk of populations in fragmented landscapes.","author":[{"family":"Ricketts","given":"T. H."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/320863","ISSN":"1537-5323","issue":"1","issued":{"date-parts":[[2001,7]]},"language":"eng","page":"87-99","PMID":"18707317","source":"PubMed","title":"The matrix matters: effective isolation in fragmented landscapes","title-short":"The matrix matters","type":"article-journal","volume":"158"}, + {"id":"ripaNoiseColourRisk1996","abstract":"A recurrent problem in ecology and conservation biology is to estimate the risk of population extinctions. Extinction probabilities are not only imperative for conservation and management, but may also elucidate basic mechanisms of the regulation of natural populations (Burgman et al. 1993; Pimm 1994). The usual way of modelling stochastic influence on population dynamics has been to assume that the external noise is uncorrelated. This means that each and every randomly drawn noise value is totally independent on previous ones. This is what is generally called â€white’ noise. However, the noise itself can be temporally autocorrelated. That is, the values of the random numbers used in the noise process will depend on previous ones. Here we show that the autocorrelation, or colour, of the external noise assumed to influence population dynamics strongly modifies estimated extinction probabilities. For positively autocorrelated (â€red’) noise, the risk of extinction clearly decreases the stronger the autocorrelation is, Negatively autocorrelated (â€blue’) noise is more ambiguously related to extinction probability. Thus, the commonly assumed white noise in population modelling will severely bias population extinction risk estimates. Moreover, the extinction probability estimates are also significantly dependent on model structure which calls for a cautious use of traditional discrete-time models.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ripa","given":"Jörgen"},{"family":"Lundberg","given":"Per"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.1996.0256","issue":"1377","issued":{"date-parts":[[1996,12,22]]},"page":"1751-1753","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Noise colour and the risk of population extinctions","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.1996.0256","volume":"263"}, + {"id":"robertVariationIndividualsDemographic2003","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Robert","given":"Alexandre"},{"family":"Sarrazin","given":"François"},{"family":"Couvet","given":"Denis"}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"4","issued":{"date-parts":[[2003]]},"page":"1166-1169","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Variation among Individuals, Demographic Stochasticity, and Extinction: Response to Kendall and Fox","title-short":"Variation among Individuals, Demographic Stochasticity, and Extinction","type":"article-journal","URL":"https://www.jstor.org/stable/3588874","volume":"17"}, + {"id":"ronceDispersalSyndromes2012","abstract":"This chapter focuses on dispersal syndromes and how they describe patterns of covariation of morphological, behavioural, and/or life-history traits associated with dispersal. Covariation is a continuous measure of statistical association between traits composing a complex phenotype. There are four main reasons why this chapter is interested in covariation: firstly, syndromes may help us predict a priori, from the observation of dispersal phenotypes, the intensity, nature, and modalities of movement. Secondly, they have the potential to provide information regarding the mechanistic determinants of dispersal and the constraints associated with movement. Thirdly, they may provide information about the proximate motivations and ultimate causes of dispersal. Lastly, and most convincingly, the patterns of covariation between traits associated with dispersal will critically affect both the demographic and genetic consequences of movement.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ronce","given":"OphĂ©lie"},{"family":"Clobert","given":"Jean"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0010","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal syndromes","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-10"}, + {"id":"ronceHowDoesIt2007a","abstract":"This review proposes ten tentative answers to frequently asked questions about dispersal evolution. I examine methodological issues, model assumptions and predictions, and their relation to empirical data. Study of dispersal evolution points to the many ecological and genetic feedbacks affecting the evolution of this complex trait, which has contributed to our better understanding of life-history evolution in spatially structured populations. Several lines of research are suggested to ameliorate the exchanges between theoretical and empirical studies of dispersal evolution.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ronce","given":"OphĂ©lie"}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.38.091206.095611","issue":"1","issued":{"date-parts":[[2007]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.38.091206.095611","page":"231-253","source":"Annual Reviews","title":"How Does It Feel to Be Like a Rolling Stone? Ten Questions About Dispersal Evolution","title-short":"How Does It Feel to Be Like a Rolling Stone?","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.38.091206.095611","volume":"38"}, + {"id":"ronceLandscapeDynamicsEvolution2000","abstract":"The evolutionary consequences of changes in landscape dynamics for the evolution of life history syndromes are studied using a metapopulation model. We consider in turn the long-term effects of a change in the local disturbance rate, in the maximal local population persistence, in habitat productivity, and in habitat fragmentation. We examine the consequences of selective interactions between dispersal and reproductive effort by comparing the outcome of joint evolution to a situation where the species has lost the potential to evolve either its reproductive effort or its dispersal rate. We relax the classical assumption that any occupied site in the metapopulation reaches its carrying capacity immediately after recolonization. Our main conclusions are the following: (1) genetic diversity modifies the range of landscape parameters for which the metapopulation is viable, but it alters very little the qualitative evolutionary trends observed for each trait within this range. Although they are both part of a competition/colonization axis, reproductive effort and dispersal are not substitutable traits: their evolution reflects more directly the change in the landscape dynamics, than a selective interaction among them. (2) no general syndrome of covariation between reproductive effort and dispersal can be predicted: the pattern of association between the two traits depends on the type of change in landscape dynamics and on the saturation level. We review empirical evidence on colonizer syndromes and suggest lines for further empirical work.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ronce","given":"OphĂ©lie"},{"family":"Perret","given":"Florence"},{"family":"Olivieri","given":"Isabelle"}],"container-title":"Evolutionary Ecology","container-title-short":"Evolutionary Ecology","DOI":"10.1023/A:1011068005057","ISSN":"1573-8477","issue":"3","issued":{"date-parts":[[2000,5,1]]},"language":"en","page":"233-260","source":"Springer Link","title":"Landscape dynamics and evolution of colonizer syndromes: interactions between reproductive effortand dispersal in a metapopulation","title-short":"Landscape dynamics and evolution of colonizer syndromes","type":"article-journal","URL":"https://doi.org/10.1023/A:1011068005057","volume":"14"}, + {"id":"roussetEvolutionDistributionDispersal2002","abstract":"We analyse the evolution of the distribution of dispersal distances in a stable and homogeneous environment in one- and two-dimensional habitats. In this model, dispersal evolves to avoid the competition between relatives although some cost might be associated with this behaviour. The evolutionarily stable dispersal distribution is characterized by an equilibration of the fitness gains among all the different dispersal distances. This cost-benefit argument has heuristic value and facilitates the comprehension of results obtained numerically. In particular, it explains why some minimal or maximal probability of dispersal may evolve at intermediate distances when the cost of dispersal function is an increasing function of distance. We also show that kin selection may favour long range dispersal even if the survival cost of dispersal is very high, provided the survival probability does not vanish at long distances.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Rousset","given":"F."},{"family":"Gandon","given":"S."}],"container-title":"Journal of Evolutionary Biology","DOI":"10.1046/j.1420-9101.2002.00430.x","ISSN":"1420-9101","issue":"4","issued":{"date-parts":[[2002]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1420-9101.2002.00430.x","page":"515-523","source":"Wiley Online Library","title":"Evolution of the distribution of dispersal distance under distance-dependent cost of dispersal","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1420-9101.2002.00430.x","volume":"15"}, + {"id":"ruokolainenEcologicalEvolutionaryDynamics2009","abstract":"Environmental variation is a ubiquitous component of individual, population and community processes in the natural world. Here, we review the consequences of spatio-temporally autocorrelated (coloured) environmental variation for ecological and evolutionary population dynamics. In single-species population models, environmental reddening increases (decreases) the amplitude of fluctuations in undercompensatory (overcompensatory) populations. This general result is also found in structurally more complex models (e.g. with space or species interactions). Environmental autocorrelation will also influence evolutionary dynamics as the changing environment is filtered through ecological dynamics. In the context of long-term environmental change, it becomes crucial to understand the potential impacts of different regimes of environmental variation at different scales of organization, from genes to species to communities.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ruokolainen","given":"Lasse"},{"family":"LindĂ©n","given":"Andreas"},{"family":"Kaitala","given":"Veijo"},{"family":"Fowler","given":"Mike S."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2009.04.009","ISSN":"0169-5347","issue":"10","issued":{"date-parts":[[2009,10,1]]},"language":"en","page":"555-563","source":"ScienceDirect","title":"Ecological and evolutionary dynamics under coloured environmental variation","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534709001864","volume":"24"}, + {"id":"ruxtonFitnessDependentDispersal1998","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ruxton","given":"G. D."},{"family":"Rohani","given":"P"}],"container-title":"Journal of Animal Ecology","issue":"67","issued":{"date-parts":[[1998]]},"page":"530-539","title":"Fitnessâ€dependent dispersal in metapopulations and its consequences for persistence and synchrony","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/10.1046/j.1365-2656.1999.00300.x"}, + {"id":"saupeAlgorithmsRandomFractals1988","abstract":"For about 200 years now mathematicians have developed the theory of smooth curves and surfaces in two, three or higher dimensions. These are curves and surfaces that globally may have a very complicated structure but in small neighborhoods they are just straight lines or planes. The discipline that deals with these objects is differential geometry. It is one of the most evolved and fascinating subjects in mathematics. On the other hand fractals feature just the opposite of smoothness. While the smooth objects do not yield any more detail on smaller scales a fractal possesses infinite detail at all scales no matter how small they are. The fascination that surrounds fractals has two roots: Fractals are very suitable to simulate many natural phenomena. Stunning pictures have already been produced, and it will not take very long until an uninitiated observer will no longer be able to tell whether a given scene is natural or just computer simulated. The other reason is that fractals are simple to generate on computers. In order to generate a fractal one does not have to be an expert of an involved theory such as calculus, which is necessary for differential geometry. More importantly, the complexity of a fractal, when measured in terms of the length of the shortest computer program that can generate it, is very small.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Saupe","given":"Dietmar"}],"container-title":"The Science of Fractal Images","DOI":"10.1007/978-1-4612-3784-6_2","editor":[{"family":"Barnsley","given":"Michael F."},{"family":"Devaney","given":"Robert L."},{"family":"Mandelbrot","given":"Benoit B."},{"family":"Peitgen","given":"Heinz-Otto"},{"family":"Saupe","given":"Dietmar"},{"family":"Voss","given":"Richard F."},{"family":"Peitgen","given":"Heinz-Otto"},{"family":"Saupe","given":"Dietmar"}],"event-place":"New York, NY","ISBN":"978-1-4612-3784-6","issued":{"date-parts":[[1988]]},"language":"en","page":"71-136","publisher":"Springer","publisher-place":"New York, NY","source":"Springer Link","title":"Algorithms for random fractals","type":"chapter","URL":"https://doi.org/10.1007/978-1-4612-3784-6_2"}, + {"id":"schiffersLimitedEvolutionaryRescue2013","abstract":"Dispersal is a key determinant of a population's evolutionary potential. It facilitates the propagation of beneficial alleles throughout the distributional range of spatially outspread populations and increases the speed of adaptation. However, when habitat is heterogeneous and individuals are locally adapted, dispersal may, at the same time, reduce fitness through increasing maladaptation. Here, we use a spatially explicit, allelic simulation model to quantify how these equivocal effects of dispersal affect a population's evolutionary response to changing climate. Individuals carry a diploid set of chromosomes, with alleles coding for adaptation to non-climatic environmental conditions and climatic conditions, respectively. Our model results demonstrate that the interplay between gene flow and habitat heterogeneity may decrease effective dispersal and population size to such an extent that substantially reduces the likelihood of evolutionary rescue. Importantly, even when evolutionary rescue saves a population from extinction, its spatial range following climate change may be strongly narrowed, that is, the rescue is only partial. These findings emphasize that neglecting the impact of non-climatic, local adaptation might lead to a considerable overestimation of a population's evolvability under rapid environmental change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schiffers","given":"Katja"},{"family":"Bourne","given":"Elizabeth C."},{"family":"Lavergne","given":"SĂ©bastien"},{"family":"Thuiller","given":"Wilfried"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Philosophical Transactions of the Royal Society B: Biological Sciences","container-title-short":"Philos Trans R Soc Lond B Biol Sci","DOI":"10.1098/rstb.2012.0083","ISSN":"0962-8436","issue":"1610","issued":{"date-parts":[[2013,1,19]]},"page":"20120083","PMCID":"PMC3538450","PMID":"23209165","source":"PubMed Central","title":"Limited evolutionary rescue of locally adapted populations facing climate change","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3538450/","volume":"368"}, + {"id":"schtickzelleBehaviouralResponsesHabitat2003","abstract":"We studied the consequences of behaviour at habitat patch boundaries on dispersal for the bog fritillary butterfly Proclossiana eunomia Esper in two networks of habitat differing in fragmentation and matrix quality. We tested for differences in responses to patch boundaries according to the fragmentation level of the network by analysing movement paths of adult butterflies. Butterflies systematically engaged in U-turns when they reached a boundary in the fragmented network while they crossed over boundaries in more than 40% of boundary encounters in the continuous one. We applied the Virtual Migration model (Hanski, Alho & Moilanen 2000) to capture–mark–recapture data collected in both networks. The model indicated (i) a lower dispersal rate and (ii) a lower survival during dispersal in the fragmented network. This latter difference is likely to be the key biological process leading to behavioural avoidance of patch boundary crossings. On the basis of this behavioural difference, we designed an individual-based simulation model to explore the relationship between patch area, boundary permeability and emigration rate. Predictions of the model fitted observed results of the effect of patch area on emigration rate according to fragmentation: butterflies are more likely to leave small patches than large ones in fragmented landscapes (where patch boundary permeability is low), while this relationship disappears in more continuous landscapes (where patch boundary permeability is high).","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schtickzelle","given":"Nicolas"},{"family":"Baguette","given":"Michel"}],"container-title":"Journal of Animal Ecology","DOI":"10.1046/j.1365-2656.2003.00723.x","ISSN":"1365-2656","issue":"4","issued":{"date-parts":[[2003]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2656.2003.00723.x","page":"533-545","source":"Wiley Online Library","title":"Behavioural responses to habitat patch boundaries restrict dispersal and generate emigration–patch area relationships in fragmented landscapes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1046/j.1365-2656.2003.00723.x","volume":"72"}, + {"id":"schtickzelleDispersalDepressionHabitat2006","abstract":"Habitat fragmentation is expected to impose strong selective pressures on dispersal rates. However, evolutionary responses of dispersal are not self-evident, since various selection pressures act in opposite directions. Here we disentangled the components of dispersal behavior in a metapopulation context using the Virtual Migration model, and we linked their variation to habitat fragmentation in the specialist butterfly Proclossiana eunomia. Our study provided a nearly unique opportunity to study how habitat fragmentation modifies dispersal at the landscape scale, as opposed to microlandscapes or simulation studies. Indeed, we studied the same species in four landscapes with various habitat fragmentation levels, in which large amounts of field data were collected and analyzed using similar methodologies. We showed the existence of quantitative variations in dispersal behavior correlated with increased fragmentation. Dispersal propensity from habitat patches (for a given patch size), and mortality during dispersal (for a given patch connectivity) were lower in more fragmented landscapes. We suggest that these were the consequences of two different evolutionary responses of dispersal behavior at the individual level: (1) when fragmentation increased, the reluctance of individuals to cross habitat patch boundaries also increased; (2) when individuals dispersed, they flew straighter in the matrix, which is the best strategy to improve dispersal success. Such evolutionary responses could generate complex nonlinear patterns of dispersal changes at the metapopulation level according to habitat fragmentation. Due to the small size and increased isolation of habitat patches in fragmented landscapes, overall emigration rate and mortality during dispersal remained high. As a consequence, successful dispersal at the metapopulation scale remained limited. Therefore, to what extent the selection of individuals with a lower dispersal propensity and a higher survival during dispersal is able to limit detrimental effects of habitat fragmentation on dispersal success is unknown, and any conclusion that metapopulations would compensate for them is flawed.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schtickzelle","given":"Nicolas"},{"family":"Mennechez","given":"GwĂ©naĂ«lle"},{"family":"Baguette","given":"Michel"},{"family":"Mennechez","given":"GwĂ©nnaĂ«lle"}],"container-title":"Ecology","ISSN":"0012-9658","issue":"4","issued":{"date-parts":[[2006]]},"page":"1057-1065","publisher":"Ecological Society of America","source":"JSTOR","title":"Dispersal Depression with Habitat Fragmentation in the Bog Fritillary Butterfly","type":"article-journal","URL":"https://www.jstor.org/stable/20069035","volume":"87"}, + {"id":"schtickzelleTemporalVariationDispersal2012","abstract":"This chapter aims to quantify the temporal variation existing in the dispersal kernel by making the kernels comparable. Variation of dispersal kernels in time has received less attention, even if temporal change in dispersal rates among local populations has been repeatedly documented in the metapopulation literature. Changes in individual mobility that generate temporal shifts in dispersal kernels would obviously be context- and phenotypic-dependent. Both environmental conditions and conspecific density are thus expected to play a central role in temporal variation of dispersal kernels. This chapter uses standardized capture-mark-recapture (CMR) data from long-term monitoring of bog fritillary butterfly, Boloria eunomia, metapopulation dynamics in a single landscape to investigate the amount of temporal variability and the amount of this temporal variability that has been explained by climatic variables and conspecific density.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schtickzelle","given":"Nicolas"},{"family":"Turlure","given":"Camille"},{"family":"Baguette","given":"Michel"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0018","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Temporal variation in dispersal kernels in a metapopulation of the bog fritillary butterfly (Boloria eunomia)","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-18"}, + {"id":"schultzEdgeMediatedDispersalBehavior2001","abstract":"Animal responses to habitat boundaries will influence the effects of habitat fragmentation on population dynamics. Although this is an intuitive and often observed animal behavior, the influences of habitat boundaries have rarely been quantified in the field or considered in theoretical models of large scale processes. We quantified movement behavior of the Fender's blue butterfly (Icaricia icarioides fenderi) as a function of distance from host-plant patches. We measured the butterfly's tendency to move toward habitat patches (bias) and their tendency to continue to move in the direction they were already going (correlation). We found that butterflies significantly modify their behavior within 10-22 m from the habitat boundary. We used these data to predict large scale patterns of residence time as a function of patch size, using three dispersal models: homogeneous response to habitat, heterogeneous response to habitat, and heterogeneous response to habitat with edge-mediated behavior. We simulated movement for males and females in eight patch sizes (0.1-8 ha) and asked how residence time varies among the models. We found that adding edge-mediated behavior significantly increases the residence of Fender's blue butterflies in their natal patch. Only the model with edge-mediated behavior for females was consistent with independent mark-release-recapture (MRR) estimates of residence time; other models dramatically underestimated residence times, relative to MRR data.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schultz","given":"Cheryl B."},{"family":"Crone","given":"Elizabeth E."}],"container-title":"Ecology","DOI":"10.2307/2680054","ISSN":"0012-9658","issue":"7","issued":{"date-parts":[[2001]]},"page":"1879-1892","publisher":"Ecological Society of America","source":"JSTOR","title":"Edge-Mediated Dispersal Behavior in a Prairie Butterfly","type":"article-journal","URL":"https://www.jstor.org/stable/2680054","volume":"82"}, + {"id":"schurrHowRandomDispersal2012","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schurr","given":"F. M."}],"container-title":"Dispersal Ecology and Evolution","editor":[{"family":"Clobert","given":"J"},{"family":"Baguette","given":"M"},{"family":"Benton","given":"T G"},{"family":"Bullock","given":"J M"}],"issued":{"date-parts":[[2012]]},"page":"240-247","publisher":"Oxford University Press","title":"How random is dispersal? From stochasticity to process in the description of seed movement","type":"chapter","URL":"https://oxford.universitypressscholarship.com/view/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-19"}, + {"id":"schurrHowUnderstandSpecies2012","abstract":"Range dynamics causes mismatches between a species’ geographical distribution and the set of suitable environments in which population growth is positive (the Hutchinsonian niche). This is because source–sink population dynamics cause species to occupy unsuitable environments, and because environmental change creates non-equilibrium situations in which species may be absent from suitable environments (due to migration limitation) or present in unsuitable environments that were previously suitable (due to time-delayed extinction). Because correlative species distribution models do not account for these processes, they are likely to produce biased niche estimates and biased forecasts of future range dynamics. Recently developed dynamic range models (DRMs) overcome this problem: they statistically estimate both range dynamics and the underlying environmental response of demographic rates from species distribution data. This process-based statistical approach qualitatively advances biogeographical analyses. Yet, the application of DRMs to a broad range of species and study systems requires substantial research efforts in statistical modelling, empirical data collection and ecological theory. Here we review current and potential contributions of these fields to a demographic understanding of niches and range dynamics. Our review serves to formulate a demographic research agenda that entails: (1) advances in incorporating process-based models of demographic responses and range dynamics into a statistical framework, (2) systematic collection of data on temporal changes in distribution and abundance and on the response of demographic rates to environmental variation, and (3) improved theoretical understanding of the scaling of demographic rates and the dynamics of spatially coupled populations. This demographic research agenda is challenging but necessary for improved comprehension and quantification of niches and range dynamics. It also forms the basis for understanding how niches and range dynamics are shaped by evolutionary dynamics and biotic interactions. Ultimately, the demographic research agenda should lead to deeper integration of biogeography with empirical and theoretical ecology.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schurr","given":"Frank M."},{"family":"Pagel","given":"Jörn"},{"family":"Cabral","given":"Juliano Sarmento"},{"family":"Groeneveld","given":"JĂĽrgen"},{"family":"Bykova","given":"Olga"},{"family":"O’Hara","given":"Robert B."},{"family":"Hartig","given":"Florian"},{"family":"Kissling","given":"W. Daniel"},{"family":"Linder","given":"H. Peter"},{"family":"Midgley","given":"Guy F."},{"family":"Schröder","given":"Boris"},{"family":"Singer","given":"Alexander"},{"family":"Zimmermann","given":"Niklaus E."}],"container-title":"Journal of Biogeography","DOI":"10.1111/j.1365-2699.2012.02737.x","ISSN":"1365-2699","issue":"12","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2012.02737.x","page":"2146-2162","source":"Wiley Online Library","title":"How to understand species’ niches and range dynamics: a demographic research agenda for biogeography","title-short":"How to understand species’ niches and range dynamics","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2699.2012.02737.x","volume":"39"}, + {"id":"schwagerDoesRedNoise2006","abstract":"Recent theoretical studies have shown contrasting effects of temporal correlation of environmental fluctuations (red noise) on the risk of population extinction. It is still debated whether and under which conditions red noise increases or decreases extinction risk compared with uncorrelated (white) noise. Here, we explain the opposing effects by introducing two features of red noise time series. On the one hand, positive autocorrelation increases the probability of series of poor environmental conditions, implying increasing extinction risk. On the other hand, for a given time period, the probability of at least one extremely bad year (\"catastrophe\") is reduced compared with white noise, implying decreasing extinction risk. Which of these two features determines extinction risk depends on the strength of environmental fluctuations and the sensitivity of population dynamics to these fluctuations. If extreme (catastrophic) events can occur (strong noise) or sensitivity is high (overcompensatory density dependence), then temporal correlation decreases extinction risk; otherwise, it increases it. Thus, our results provide a simple explanation for the contrasting previous findings and are a crucial step toward a general understanding of the effect of noise color on extinction risk.","author":[{"family":"Schwager","given":"Monika"},{"family":"Johst","given":"Karin"},{"family":"Jeltsch","given":"Florian"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/503609","ISSN":"1537-5323","issue":"6","issued":{"date-parts":[[2006,6]]},"language":"eng","page":"879-888","PMID":"16615033","source":"PubMed","title":"Does red noise increase or decrease extinction risk? Single extreme events versus series of unfavorable conditions","title-short":"Does red noise increase or decrease extinction risk?","type":"article-journal","volume":"167"}, + {"id":"schymanskiProcessCorrelationParameter2013","abstract":"In a recent article (Dormann et al., 2012, Journal of Biogeography, 39, 2119—2131), we compared different approaches to species distribution modelling and depicted modelling approaches along an axis from purely 'correlative' to 'forward process-based' models. In their correspondence, Kriticos et al. (2013, Journal of Biogeography, doi:10.1111/j.1365-2699.2012.02791.x) challenge this view, claiming that our continuum representation neglects differences among models and does not consider the ability of fitted process-based models to combine the advantages of both process-based and correlative modelling approaches. Here we clarify that the continuum view resulted from recognition of the manifold differences between models. We also reinforce the point that the current trend towards combining different modelling approaches may lead not only to the desired combination of the advantages but also to the accumulation of the disadvantages of those approaches. This point has not been made sufficiently clear previously.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schymanski","given":"Stanislaus J."},{"family":"Dormann","given":"Carsten F."},{"family":"Cabral","given":"Juliano"},{"family":"Chuine","given":"Isabelle"},{"family":"Graham","given":"Catherine H."},{"family":"Hartig","given":"Florian"},{"family":"Kearney","given":"Michael"},{"family":"Morin","given":"Xavier"},{"family":"Römermann","given":"Christine"},{"family":"Schröder","given":"Boris"},{"family":"Singer","given":"Alexander"}],"container-title":"Journal of Biogeography","ISSN":"0305-0270","issue":"3","issued":{"date-parts":[[2013]]},"page":"611-613","publisher":"Wiley","source":"JSTOR","title":"Process, correlation and parameter fitting in species distribution models: a response to Kriticos et al.","title-short":"Process, correlation and parameter fitting in species distribution models","type":"article-journal","URL":"https://www.jstor.org/stable/23354625","volume":"40"}, + {"id":"sextonEvolutionEcologySpecies2009","abstract":"Species range limits involve many aspects of evolution and ecology, from species distribution and abundance to the evolution of niches. Theory suggests myriad processes by which range limits arise, including competitive exclusion, Allee effects, and gene swamping; however, most models remain empirically untested. Range limits are correlated with a number of abiotic and biotic factors, but further experimentation is needed to understand underlying mechanisms. Range edges are characterized by increased genetic isolation, genetic differentiation, and variability in individual and population performance, but evidence for decreased abundance and fitness is lacking. Evolution of range limits is understudied in natural systems; in particular, the role of gene flow in shaping range limits is unknown. Biological invasions and rapid distribution shifts caused by climate change represent large-scale experiments on the underlying dynamics of range limits. A better fusion of experimentation and theory will advance our understanding of the causes of range limits.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Sexton","given":"Jason P."},{"family":"McIntyre","given":"Patrick J."},{"family":"Angert","given":"Amy L."},{"family":"Rice","given":"Kevin J."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.110308.120317","issue":"1","issued":{"date-parts":[[2009]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.110308.120317","page":"415-436","source":"Annual Reviews","title":"Evolution and Ecology of Species Range Limits","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.110308.120317","volume":"40"}, + {"id":"shreeveLandscapeScaleConservation2011","abstract":"Landscape scale conservation efforts are becoming more commonplace in conservation, with a move from single species to multi-species initiatives. These initiatives are reliant on modelling processes, largely underpinned by metapopulation models. We argue that generic models developed for individual species in particular landscapes over selected time periods may only be applicable to alternative landscapes and time periods in restricted circumstances. Variability in species responses to landscapes and environmental conditions is dependent on a range of species-specific intrinsic characteristics, dependent on their responses to resources, (including weather) and also individual states. We propose that the behavioural component of how species respond to resources needs to be taken into account in modelling species responses to landscape, and therefore how limited resources for conservation are deployed. Species behaviours are inherently complex. We argue that because of this complexity the conservation of the majority of species, especially of the least rare, may be best served if conservation effort is additionally focused on increasing landscape heterogeneity and disturbance. This may also facilitate persistence in the face of climate change. We suggest that heterogeneity should be promoted through agri-environment schemes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Shreeve","given":"T. G."},{"family":"Dennis","given":"R. L. H."}],"container-title":"Journal of Insect Conservation","container-title-short":"J Insect Conserv","DOI":"10.1007/s10841-010-9336-9","ISSN":"1572-9753","issue":"1","issued":{"date-parts":[[2011,4,1]]},"language":"en","page":"179-188","source":"Springer Link","title":"Landscape scale conservation: resources, behaviour, the matrix and opportunities","title-short":"Landscape scale conservation","type":"article-journal","URL":"https://doi.org/10.1007/s10841-010-9336-9","volume":"15"}, + {"id":"simmonsChangesDispersalSpecies2004","abstract":"Explanations for rapid species' range expansions have typically been purely ecological, with little attention given to evolutionary processes. We tested predictions for the evolution of dispersal during range expansion using four species of wing-dimorphic bush cricket (Conocephalus discolor, Conocephalus dorsalis, Metrioptera roeselii, and Metrioptera brachyptera). We observed distinct changes in dispersal in the two species with expanding ranges. Recently colonized populations at the range margin showed increased frequencies of dispersive, long-winged (macropterous) individuals, compared with longer-established populations in the range core. This increase in dispersal appeared to be short-lived because 5-10 years after colonization populations showed similar incidences of macroptery to populations in the range core. These changes are consistent with evolutionary change; field patterns persisted when nymphs were reared under controlled environmental conditions, and range margin individuals reared in the laboratory flew farther than range core individuals in a wind tunnel. There was also a reproductive trade-off with dispersal in both females and males, which could explain the rapid reversion to lower rates of dispersal once populations become established. The effect of population density on wing morphology differed between populations from the range core (no significant effect of density) and expanding range margins (negative density dependence), which we propose is part of the mechanism of the changes in dispersal. Transient changes in dispersal are likely to be common in many species undergoing range expansion and can have major population and biogeographic consequences.","author":[{"family":"Simmons","given":"Adam D."},{"family":"Thomas","given":"Chris D."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/423430","ISSN":"1537-5323","issue":"3","issued":{"date-parts":[[2004,9]]},"language":"eng","page":"378-395","PMID":"15478092","source":"PubMed","title":"Changes in dispersal during species' range expansions","type":"article-journal","volume":"164"}, + {"id":"sinclairHowUsefulAre2010","abstract":"ABSTRACT. Climate change presents unprecedented challenges for biological conservation. Agencies are increasingly looking to modeled projections of species’ distributions under future climates to inform management strategies. As government scientists with a responsibility to communicate the best available science to our policy colleagues, we question whether current modeling approaches and outputs are practically useful. Here, we synthesize conceptual problems with species distribution models (SDMs) associated with interspecific interactions, dispersal, ecological equilibria and time lags, evolution, and the sampling of niche space. Although projected SDMs have undoubtedly been critical in alerting us to the magnitude of climate change impacts, we conclude that until they offer insights that are more precise than what we can derive from basic ecological theory, we question their utility in deciding how to allocate scarce funds to large-scale conservation projects.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Sinclair","given":"Steve J."},{"family":"White","given":"Matthew D."},{"family":"Newell","given":"Graeme R."}],"container-title":"Ecology and Society","ISSN":"1708-3087","issue":"1","issued":{"date-parts":[[2010]]},"publisher":"Resilience Alliance Inc.","source":"JSTOR","title":"How Useful Are Species Distribution Models for Managing Biodiversity under Future Climates?","type":"article-journal","URL":"https://www.jstor.org/stable/26268111","volume":"15"}, + {"id":"singerInterspecificInteractionsAffect2013","abstract":"The response of individual species to climate change may alter the composition and dynamics of communities. Here, we show that the impacts of environmental change on communities can depend on the nature of the interspecific interactions: mutualistic communities typically respond differently than commensalistic or parasitic communities. We model and analyse the geographic range shifting of metapopulations of two interacting species – a host and an obligate species. Different types of interspecific interactions are implemented by modifying local extinction rates according to the presence/absence of the other species. We distinguish and compare three fundamentally different community types: mutualism, commensalism and parasitism. We find that community dynamics during geographic range shifting critically depends on the type of interspecific interactions. Parasitic interactions exacerbate the negative effect of environmental change whereas mutualistic interactions only partly compensate it. Commensalistic interactions exhibit an intermediate response. Based on these model outcomes, we predict that parasitic species interactions may be more vulnerable to geographic range shifting than commensalistic or mutualistic ones. However, we observe that when climate stabilises following a period of change, the rate of community recovery is largely independent of the type of interspecific interactions. These results emphasize that communities respond delicately to environmental change, and that local interspecific interactions can affect range shifting communities at large spatial scales.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Singer","given":"Alexander"},{"family":"Travis","given":"Justin M. J."},{"family":"Johst","given":"Karin"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2012.20465.x","ISSN":"1600-0706","issue":"3","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2012.20465.x","page":"358-366","source":"Wiley Online Library","title":"Interspecific interactions affect species and community responses to climate shifts","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2012.20465.x","volume":"122"}, + {"id":"smithStabilityPredatorPreySystems1973","abstract":"The interactions between a predator and prey species have been analyzed by computer simulation of a model in which there are discrete breeding seasons, separated by a winter during which the predator must be able to find prey at a certain minimum rate or starve. The model is intended to represent a warm-blooded vertebrate predator and its prey. The main conclusions are: (1) Coexistence of predator and prey is possible, but if so, the number of prey present will not be substantially below the equilibrium number in the absence of predators. Mutual regulation of predator and prey, with the latter substantially below the carrying capacity of the environment, is unstable. (2) Coexistence is more likely if there are differences in hunting ability between different individual predators--for example, between young and old predators. (3) Cover for the prey enables the prey species to survive the extinction of the predator, but does not make coexistence more likely.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Smith","given":"J. Maynard"},{"family":"Slatkin","given":"M."}],"container-title":"Ecology","DOI":"10.2307/1934346","ISSN":"0012-9658","issue":"2","issued":{"date-parts":[[1973]]},"page":"384-391","publisher":"Ecological Society of America","source":"JSTOR","title":"The Stability of Predator-Prey Systems","type":"article-journal","URL":"https://www.jstor.org/stable/1934346","volume":"54"}, + {"id":"smouseStochasticModellingAnimal2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Smouse","given":"Peter E"},{"family":"Focardi","given":"S"},{"family":"Moorcroft","given":"P.R."},{"family":"Kie","given":"John G"},{"family":"Forester","given":"J. D."},{"family":"Morales","given":"Juan M"}],"container-title":"Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences","issue":"365","issued":{"date-parts":[[2010]]},"page":"2201-2211","title":"Stochastic modelling of animal movement","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rstb.2010.0078"}, + {"id":"spearUseResistanceSurfaces2010","abstract":"Measures of genetic structure among individuals or populations collected at different spatial locations across a landscape are commonly used as surrogate measures of functional (i.e. demographic or genetic) connectivity. In order to understand how landscape characteristics influence functional connectivity, resistance surfaces are typically created in a raster GIS environment. These resistance surfaces represent hypothesized relationships between landscape features and gene flow, and are based on underlying biological functions such as relative abundance or movement probabilities in different land cover types. The biggest challenge for calculating resistance surfaces is assignment of resistance values to different landscape features. Here, we first identify study objectives that are consistent with the use of resistance surfaces and critically review the various approaches that have been used to parameterize resistance surfaces and select optimal models in landscape genetics. We then discuss the biological assumptions and considerations that influence analyses using resistance surfaces, such as the relationship between gene flow and dispersal, how habitat suitability may influence animal movement, and how resistance surfaces can be translated into estimates of functional landscape connectivity. Finally, we outline novel approaches for creating optimal resistance surfaces using either simulation or computational methods, as well as alternatives to resistance surfaces (e.g. network and buffered paths). These approaches have the potential to improve landscape genetic analyses, but they also create new challenges. We conclude that no single way of using resistance surfaces is appropriate for every situation. We suggest that researchers carefully consider objectives, important biological assumptions and available parameterization and validation techniques when planning landscape genetic studies.","author":[{"family":"Spear","given":"Stephen F."},{"family":"Balkenhol","given":"Niko"},{"family":"Fortin","given":"Marie-JosĂ©e"},{"family":"McRae","given":"Brad H."},{"family":"Scribner","given":"Kim"}],"container-title":"Molecular Ecology","container-title-short":"Mol Ecol","DOI":"10.1111/j.1365-294X.2010.04657.x","ISSN":"1365-294X","issue":"17","issued":{"date-parts":[[2010,9]]},"language":"eng","page":"3576-3591","PMID":"20723064","source":"PubMed","title":"Use of resistance surfaces for landscape genetic studies: considerations for parameterization and analysis","title-short":"Use of resistance surfaces for landscape genetic studies","type":"article-journal","volume":"19"}, + {"id":"stampsConspecificAttractionAggregation1988","abstract":"For many years, field studies of birds have suggested that territorial individuals may be attracted to one another, forming territorial clusters independent of resource distributions. However, virtually no experiments have studied these phenomena in either the laboratory or the field. The present field study was designed to test whether prospective territory owners preferentially settle near conspecifics and form territorial aggregations when territory quality is held constant. Juvenile Anolis aeneus lizards arriving at juvenile habitats in clearings were given a choice of artificial homesites arranged around a clear-walled enclosure divided into two parts, one of which contained resident A. aeneus juveniles. Juveniles showed a clear preference for the homesites adjacent to the established territorial residents (the \"experimental\" homesites). In each of eight trials, the first arrivals appeared on the experimental homesites. Juveniles that first appeared on the experimental homesites were more apt to settle in the clearing, and colonists on the experimental side moved around less before choosing a final territory. During the colonization process, juveniles spent more time on the experimental sides of the enclosures; and by the end of the trials, more juveniles had eventually settled on the experimental homesites. Throughout the settlement process, new territory owners tended to cluster around the previous residents within the experimental side of the enclosures. These results indicate that A. aeneus juveniles are attracted to conspecifics while settling a territory and that this process can lead to territorial aggregations that are independent of territory quality.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stamps","given":"J. A."}],"container-title":"The American Naturalist","ISSN":"0003-0147","issue":"3","issued":{"date-parts":[[1988]]},"page":"329-347","publisher":"[University of Chicago Press, American Society of Naturalists]","source":"JSTOR","title":"Conspecific Attraction and Aggregation in Territorial Species","type":"article-journal","URL":"https://www.jstor.org/stable/2461973","volume":"131"}, + {"id":"stampsEffectsNatalExperience2006","abstract":"We studied the effects of natal experience on preference for a postdispersal habitat (natal habitat preference induction, NHPI) in groups of newly eclosed female Drosophila melanogaster, using multilevel statistical models to take into account dependencies of responses from individuals making choices within the same hour. Groups consisting of flies with one of five genotypes (crosses of highly inbred female isolines) were allowed free access to a high-quality natal habitat after emergence from their pupae. The flies were then allowed to select one of two new habitats in a large 'seminatural' environment over the next 3 days. The flies showed strong positive effects of training habitat on their choice of a new habitat, after controlling for potential dependence in choices within hours and trials. The genotypes also varied with respect to the effects of conspecifics and humidity on individual choice. A second analysis using data aggregated at the trial level and a traditional statistical approach (a generalized linear model, GLM) also detected effects of training on habitat choice. However, the GLM produced other results that may have been artefacts resulting from the omission of within-trial factors with important effects on choice in this trial-level analysis. This study shows the advantages of using multilevel models rather than aggregating data to control for interactions among subjects when animals select items in groups. (PsycINFO Database Record (c) 2017 APA, all rights reserved)","author":[{"family":"Stamps","given":"Judy A."},{"family":"Blozis","given":"Shelley A."}],"container-title":"Animal Behaviour","DOI":"10.1016/j.anbehav.2005.07.015","event-place":"Netherlands","ISSN":"1095-8282(Electronic),0003-3472(Print)","issue":"3","issued":{"date-parts":[[2006]]},"page":"663-672","publisher":"Elsevier Science","publisher-place":"Netherlands","source":"APA PsycNET","title":"Effects of natal experience on habitat selection when individuals make choices in groups: A multilevel analysis","title-short":"Effects of natal experience on habitat selection when individuals make choices in groups","type":"article-journal","volume":"71"}, + {"id":"stampsHabitatSelectionDispersers2001","abstract":"Behavioural research is shedding new light on the complex relationships between the proximate mechanisms involved in habitat selection and the selective pressures that may have contributed to the evolution of those mechanisms. Habitat selection by dispersers can be divided into three stages (search, settlement and residency); recent studies suggest that the adaptive significance of behaviour at each of these stages may differ from the assumptions of traditional habitat selection theory. For instance, dispersers may benefit from the presence of conspecifics or heterospecifics while searching for, settling in, or living in new habitats, and individuals may prefer to settle in post-dispersal habitats similar to their pre-dispersal habitats, because this behaviour reduces the costs of detecting or assessing suitable habitats (habitat cuing) or because experience in a pre-dispersal habitat improves performance if an animal settles in the same type of habitat after dispersing (habitat training). Dispersers have evolved a variety of proximate behavioural mechanisms to reduce search and settlement costs in natural environments, but if they currently rely on these processes, species living in areas modified by human activities may not exhibit 'ideal' habitat selection behaviour. Insights from recent studies of habitat selection may help solve specific problems in conservation biology, and more generally, help biologists understand the intimate relationship between dispersal and habitat selection behaviour.","author":[{"family":"Stamps","given":"Judy"}],"container-title":"Dispersal","editor":[{"family":"Clobert","given":"J."},{"family":"Danchin","given":"Etienne"},{"family":"Dhondt","given":"Andre A."},{"family":"Nichols","given":"James D."}],"event-place":"Oxford","issued":{"date-parts":[[2001,1,1]]},"page":"230-242","publisher":"Oxford University Press","publisher-place":"Oxford","source":"ResearchGate","title":"Habitat selection by dispersers: integrating proximate and ultimate approaches","title-short":"Habitat selection by dispersers","type":"chapter"}, + {"id":"stampsHowDifferentTypes2009","abstract":"Abstract: In many animals, exposure to cues in a natal habitat increases disperser preferences for those cues (natal habitat preference induction [NHPI]), but the proximate and ultimate bases for this phenomenon are obscure. We developed a Bayesian model to study how different types of experience in the natal habitat and survival to the age/stage of dispersal interact to affect a disperser’s estimate of the quality of new natalâ€type habitats. The model predicts that the types of experience a disperser had before leaving its natal habitat will affect the attractiveness of cues from new natalâ€type habitats and that favorable experiences will increase the level of preference for natalâ€type habitats more than unfavorable experiences will decrease it. An experimental study of NHPI in Drosophila melanogaster provided with “good” and “bad” experiences in their natal habitats supports these predictions while also indicating that the effects of different types of natal experience on NHPI vary across genotypes. If habitat preferences are modulated by an individual’s experience before dispersal as described in this study, then NHPI may have stronger effects on sympatric speciation, metapopulation dynamics, conservation biology, and pest management than previously supposed.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stamps","given":"Judy A."},{"family":"Krishnan","given":"V. V."},{"family":"Willits","given":"Neil H."},{"family":"Ketterson","given":"Associate Editor: Ellen D."},{"family":"Shaw","given":"Editor: Ruth G."}],"container-title":"The American Naturalist","DOI":"10.1086/644526","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[2009]]},"page":"623-630","publisher":"[The University of Chicago Press, The American Society of Naturalists]","source":"JSTOR","title":"How Different Types of Natal Experience Affect Habitat Preference","type":"article-journal","URL":"https://www.jstor.org/stable/10.1086/644526","volume":"174"}, + {"id":"stampsSearchCostsHabitat2005","abstract":"The effects of search costs on habitat selection by dispersers are largely unknown. We explore how habitat selection behavior is affected by the risk of mortality en route and by deferred search costs (i.e., costs incurred during search that reduce fitness after arrival in the new habitat), using a model designed for long-distance natal dispersers searching for scarce patches of suitable habitat embedded within a matrix of unsuitable habitat. In this situation, increases in the risk of mortality during search reduce disperser selectivity, where selectivity is reflected by the period during search when dispersers are only willing to accept a high-quality habitat. However, the effects of deferred costs on selectivity depend on other factors with pronounced effects on selectivity, including encounter rates with high-quality habitats, relative habitat quality, and total search time. Surprisingly, under some sets of conditions, increases in deferred costs lead to increases in disperser selectivity. Overall, the effects of mortality and deferred costs on selectivity are small relative to the effects of other factors on selectivity. For instance, our model suggests that selectivity is much more strongly affected by total search time than by search costs, and it predicts a positive relationship between total search time and disperser selectivity across individuals in the same population, even in the face of considerable inter-individual variation in risk of mortality or deferred search costs.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stamps","given":"Judy A."},{"family":"Krishnan","given":"V. V."},{"family":"Reid","given":"Mary L."}],"container-title":"Ecology","ISSN":"0012-9658","issue":"2","issued":{"date-parts":[[2005]]},"page":"510-518","publisher":"Ecological Society of America","source":"JSTOR","title":"Search Costs and Habitat Selection by Dispersers","type":"article-journal","URL":"https://www.jstor.org/stable/3450970","volume":"86"}, + {"id":"starrfeltParentoffspringConflictEvolution2010","abstract":"Parent-offspring conflict emerges in many different contexts, but a rarely emphasized perspective is that of space as a resource that is allocated or acquired through dispersal. Early theoretical work has shown that there are different optima in rates of dispersal between parents and offspring. Here we examine this principle when space is explicitly modeled and dispersal is achieved through a dispersal kernel. We find a consistent pattern that selection favors longer dispersal distances under maternal control of dispersal (e.g., maternal tissue surrounding a seed) compared with scenarios where offspring themselves control dispersal (as in many animals). Intriguingly, offspring control leads to better resource utilization (higher habitat occupancy) in equilibrium scenarios than does maternal control. In contrast, in species that expand their ranges, maternal control of dispersal initially leads to faster range expansion. If there is evolutionary potential for dispersal kernels to change at the leading edge of a population, this difference vanishes quickly during an invasion because offspring-controlled dispersal evolves faster and catches up with scenarios involving maternal control. There is thus less conflict in nonequilibrium scenarios. In invasive scenarios with an evolving kernel shape, disruptive selection against intermediate distances can make the kernel not only fat-tailed but also bimodal.","author":[{"family":"Starrfelt","given":"Jostein"},{"family":"Kokko","given":"Hanna"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/648605","ISSN":"1537-5323","issue":"1","issued":{"date-parts":[[2010,1]]},"language":"eng","page":"38-49","PMID":"19911910","source":"PubMed","title":"Parent-offspring conflict and the evolution of dispersal distance","type":"article-journal","volume":"175"}, + {"id":"stensethAnimalDispersalSmall1992","abstract":"4.1.1 Demographic significance Confined populations grow more rapidly than populations from which dispersal is permitted (Lidicker, 1975; Krebs, 1979; Tamarin et at., 1984), and demography in island populations where dispersal is restricted differs greatly from nearby mainland populations (Lidicker, 1973; Tamarin, 1977, 1978; Gliwicz, 1980), clearly demonstrating the demographic signi­ ficance of dispersal. The prevalence of dispersal in rapidly expanding populations is held to be the best evidence for presaturation dispersal. Because dispersal reduces the growth rate of source populations, it is generally believed that emigration is not balanced by immigration, and that mortality of emigrants occurs as a result of movement into a 'sink' of unfavourable habitat. If such dispersal is age- or sex-biased, the demo­ graphy of the population is markedly affected, as a consequence of differ­ ences in mortality in the dispersive sex or age class. Habitat heterogeneity consequently underlies this interpretation of dispersal and its demographic consequences, although the spatial variability of environments is rarely assessed in dispersal studies.","accessed":{"date-parts":[[2021,8,9]]},"DOI":"10.1007/978-94-011-2338-9","editor":[{"family":"Stenseth","given":"N. C."},{"family":"Lidicker","given":"W. Z."}],"ISBN":"978-0-412-29330-6","issued":{"date-parts":[[1992]]},"language":"en","publisher":"Springer Netherlands","source":"www.springer.com","title":"Animal Dispersal: Small mammals as a model","title-short":"Animal Dispersal","type":"book","URL":"https://www.springer.com/gp/book/9780412293306"}, + {"id":"stevensGeneFlowFunctional2006","abstract":"Functional connectivity is a key factor for the persistence of many specialist species in fragmented landscapes. However, connectivity estimates have rarely been validated by the observation of dispersal movements. In this study, we estimated functional connectivity of a real landscape by modelling dispersal for the endangered natterjack toad (Bufo calamita) using cost distance. Cost distance allows the evaluation of 'effective distances', which are distances corrected for the costs involved in moving between habitat patches in spatially explicit landscapes. We parameterized cost-distance models using the results of our previous experimental investigation of natterjack's movement behaviour. These model predictions (connectivity estimates from the GIS study) were then confronted to genetic-based dispersal rates between natterjack populations in the same landscape using Mantel tests. Dispersal rates between the populations were inferred from variation at six microsatellite loci. Based on these results, we conclude that matrix structure has a strong effect on dispersal rates. Moreover, we found that cost distances generated by habitat preferences explained dispersal rates better than did the Euclidian distances, or the connectivity estimate based on patch-specific resistances (patch viscosity). This study is a clear example of how landscape genetics can validate operational functional connectivity estimates.","author":[{"family":"Stevens","given":"Virginie M."},{"family":"Verkenne","given":"Catherine"},{"family":"Vandewoestijne","given":"Sofie"},{"family":"Wesselingh","given":"Renate A."},{"family":"Baguette","given":"Michel"}],"container-title":"Molecular Ecology","container-title-short":"Mol Ecol","DOI":"10.1111/j.1365-294X.2006.02936.x","ISSN":"0962-1083","issue":"9","issued":{"date-parts":[[2006,8]]},"language":"eng","page":"2333-2344","PMID":"16842409","source":"PubMed","title":"Gene flow and functional connectivity in the natterjack toad","type":"article-journal","volume":"15"}, + {"id":"stevensLandscapeEffectsSpatial2012","abstract":"This chapter discusses the two reasons that make dispersal a key process in population dynamics: first, the movement of individuals impacts population dynamics, and second, dispersal movement also has important consequences for the degree of genetic mixing expected among populations, and hence on the genetic variation found within populations. This chapter, in the attempt to address the question of what landscape changes may affect spatial dynamics, presents an example of a species with limited mobility and one which has been extensively studied in this regard — the natterjack toad. Firstly, empirical studies were used to measure the effects of landscape elements on movement patterns. Secondly, the results from these empirical studies were used to model the effects of landscape on movement patterns. Thirdly, the model was validated through a comparison of the movements predicted by the models with those estimated by the analysis of gene flow among populations. Finally, the model was used to predict natterjack population dynamics under different landscape management scenarios.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stevens","given":"Virginie M."},{"family":"Coulon","given":"AurĂ©lie"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0022","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Landscape effects on spatial dynamics: the natterjack toad as a case study","title-short":"Landscape effects on spatial dynamics","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-22"}, + {"id":"stevensMetaanalysisDispersalButterflies2010","abstract":"Dispersal has recently gained much attention because of its crucial role in the conservation and evolution of species facing major environmental changes such as habitat loss and fragmentation, climate change, and their interactions. Butterflies have long been recognized as ideal model systems for the study of dispersal and a huge amount of data on their ability to disperse has been collected under various conditions. However, no single â€best’ method seems to exist leading to the co-occurrence of various approaches to study butterfly mobility, and therefore a high heterogeneity among data on dispersal across this group. Accordingly, we here reviewed the knowledge accumulated on dispersal and mobility in butterflies, to detect general patterns. This meta-analysis specifically addressed two questions. Firstly, do the various methods provide a congruent picture of how dispersal ability is distributed across species? Secondly, is dispersal species-specific? Five sources of data were analysed: multisite mark-recapture experiments, genetic studies, experimental assessments, expert opinions, and transect surveys. We accounted for potential biases due to variation in genetic markers, sample sizes, spatial scales or the level of habitat fragmentation. We showed that the various dispersal estimates generally converged, and that the relative dispersal ability of species could reliably be predicted from their relative vagrancy (records of butterflies outside their normal habitat). Expert opinions gave much less reliable estimates of realized dispersal but instead reflected migration propensity of butterflies. Within-species comparisons showed that genetic estimates were relatively invariable, while other dispersal estimates were highly variable. This latter point questions dispersal as a species-specific, invariant trait.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stevens","given":"Virginie M."},{"family":"Turlure","given":"Camille"},{"family":"Baguette","given":"Michel"}],"container-title":"Biological Reviews","DOI":"10.1111/j.1469-185X.2009.00119.x","ISSN":"1469-185X","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1469-185X.2009.00119.x","page":"625-642","source":"Wiley Online Library","title":"A meta-analysis of dispersal in butterflies","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1469-185X.2009.00119.x","volume":"85"}, + {"id":"stevensQuantifyingFunctionalConnectivity2006","abstract":"Like other pond-breeding amphibians, the natterjack toad (Bufo calamita) typically presents a patchy distribution. Because the species experiences high probabilities of local population extinction, its persistence within landscapes relies on both local and landscape-scale processes [dispersal allowing the (re)colonization of habitat patches]. However, the structure and composition of the matrix surrounding local populations can alter the dispersal rates between populations. As shown previously (Landscape Ecol 19:829–842, 2004), the locomotor performances of individuals at the dispersal stage depend on the nature of the component crossed: some landscape components offer high resistance to movement (high resistance or high viscosity components) whereas others allow high efficiency of movement (low resistance components). We now examine the ability of individuals to discriminate between landscape components and select low-resistance components. Our experimental study investigates the ways in which young natterjack toads choose from among landscape components common to southern Belgium. Toadlets (the dispersal stage) were experimentally confronted with boundaries between surrogates of sandy soils, roads, forests, agricultural fields and intensive pastures. Our results show: 1 the ability of toadlets to react to boundaries between landscape components, 2 differences in permeability among boundaries, and 3 our inability to predict correctly the permeability of the boundaries from the patch-specific resistance assessed previously. Toadlets showed a preference for bare environments and forests, whereas they avoided the use of agricultural environments. This pattern could not be explained in terms of patch-specific resistance only, and is discussed in terms of mortality risks and resource availability in the various landscape components, with particular attention to repercussions on conservation strategies.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stevens","given":"Virginie M."},{"family":"LeboulengĂ©","given":"Éric"},{"family":"Wesselingh","given":"Renate A."},{"family":"Baguette","given":"Michel"}],"container-title":"Oecologia","container-title-short":"Oecologia","DOI":"10.1007/s00442-006-0500-6","ISSN":"1432-1939","issue":"1","issued":{"date-parts":[[2006,11,1]]},"language":"en","page":"161-171","source":"Springer Link","title":"Quantifying functional connectivity: experimental assessment of boundary permeability for the natterjack toad (Bufo calamita)","title-short":"Quantifying functional connectivity","type":"article-journal","URL":"https://doi.org/10.1007/s00442-006-0500-6","volume":"150"}, + {"id":"thomasClimateClimateChange2010","abstract":"Aim A major issue in ecology, biogeography, conservation biology and invasion biology is the extent to which climate, and hence climate change, contributes to the positions of species’ range boundaries. Thirty years of rapid climate warming provides an excellent opportunity to test the hypothesis that climate acts as a major constraint on range boundaries, treating anthropogenic climate change as a large-scale experiment. Location UK and global data, and literature. Methods This article analyses the frequencies with which species have responded to climate change by shifting their range boundaries. It does not consider abundance or other changes. Results For the majority of species, boundaries shifted in a direction that is concordant with being a response to climate change; 84% of all species have expanded in a polewards direction as the climate has warmed (for the best data available), which represents an excess of 68% of species after taking account of the fact that some species may shift in this direction for non-climatic reasons. Other data sets also show an excess of animal range boundaries expanding in the expected direction. Main conclusions Climate is likely to contribute to the majority of terrestrial and freshwater range boundaries. This generalization excludes species that are endemic to specific islands, lakes, rivers and geological outcrops, although these local endemics are not immune from the effects of climate change. The observed shifts associated with recent climate change are likely to have been brought about through both direct and indirect (changes to species’ interactions) effects of climate; indirect effects are discussed in relation to laboratory experiments and invasive species. Recent observations of range boundary shifts are consistent with the hypothesis that climate contributes to, but is not the sole determinant of, the position of the range boundaries of the majority of terrestrial animal species.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thomas","given":"Chris D."}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2010.00642.x","ISSN":"1472-4642","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00642.x","page":"488-495","source":"Wiley Online Library","title":"Climate, climate change and range boundaries","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2010.00642.x","volume":"16"}, + {"id":"thomasExtinctionRiskClimate2004","abstract":"Climate change over the past âĽ30 years has produced numerous shifts in the distributions and abundances of species1,2 and has been implicated in one species-level extinction3. Using projections of species' distributions for future climate scenarios, we assess extinction risks for sample regions that cover some 20% of the Earth's terrestrial surface. Exploring three approaches in which the estimated probability of extinction shows a power-law relationship with geographical range size, we predict, on the basis of mid-range climate-warming scenarios for 2050, that 15–37% of species in our sample of regions and taxa will be â€committed to extinction’. When the average of the three methods and two dispersal scenarios is taken, minimal climate-warming scenarios produce lower projections of species committed to extinction (âĽ18%) than mid-range (âĽ24%) and maximum-change (âĽ35%) scenarios. These estimates show the importance of rapid implementation of technologies to decrease greenhouse gas emissions and strategies for carbon sequestration.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thomas","given":"Chris D."},{"family":"Cameron","given":"Alison"},{"family":"Green","given":"Rhys E."},{"family":"Bakkenes","given":"Michel"},{"family":"Beaumont","given":"Linda J."},{"family":"Collingham","given":"Yvonne C."},{"family":"Erasmus","given":"Barend F. N."},{"family":"Siqueira","given":"Marinez Ferreira","non-dropping-particle":"de"},{"family":"Grainger","given":"Alan"},{"family":"Hannah","given":"Lee"},{"family":"Hughes","given":"Lesley"},{"family":"Huntley","given":"Brian"},{"family":"Jaarsveld","given":"Albert S.","non-dropping-particle":"van"},{"family":"Midgley","given":"Guy F."},{"family":"Miles","given":"Lera"},{"family":"Ortega-Huerta","given":"Miguel A."},{"family":"Townsend Peterson","given":"A."},{"family":"Phillips","given":"Oliver L."},{"family":"Williams","given":"Stephen E."}],"container-title":"Nature","DOI":"10.1038/nature02121","ISSN":"1476-4687","issue":"6970","issued":{"date-parts":[[2004,1]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"6970","page":"145-148","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Extinction risk from climate change","type":"article-journal","URL":"https://www.nature.com/articles/nature02121","volume":"427"}, + {"id":"thomasTranslocationSpeciesClimate2011","abstract":"Many of the species at greatest risk of extinction from anthropogenic climate change are narrow endemics that face insurmountable dispersal barriers. In this review, I argue that the only viable option to maintain populations of these species in the wild is to translocate them to other locations where the climate is suitable. Risks of extinction to native species in destination areas are small, provided that translocations take place within the same broad geographic region and that the destinations lack local endemics. Biological communities in these areas are in the process of receiving many hundreds of other immigrant species as a result of climate change; ensuring that some of the 'new' inhabitants are climate-endangered species could reduce the net rate of extinction.","author":[{"family":"Thomas","given":"Chris D."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends Ecol Evol","DOI":"10.1016/j.tree.2011.02.006","ISSN":"1872-8383","issue":"5","issued":{"date-parts":[[2011,5]]},"language":"eng","page":"216-221","PMID":"21411178","source":"PubMed","title":"Translocation of species, climate change, and the end of trying to recreate past ecological communities","type":"article-journal","volume":"26"}, + {"id":"thuillerBIOMODPlatformEnsemble2009a","abstract":"BIOMOD is a computer platform for ensemble forecasting of species distributions, enabling the treatment of a range of methodological uncertainties in models and the examination of species-environment relationships. BIOMOD includes the ability to model species distributions with several techniques, test models with a wide range of approaches, project species distributions into different environmental conditions (e.g. climate or land use change scenarios) and dispersal functions. It allows assessing species temporal turnover, plot species response curves, and test the strength of species interactions with predictor variables. BIOMOD is implemented in R and is a freeware, open source, package.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thuiller","given":"Wilfried"},{"family":"Lafourcade","given":"Bruno"},{"family":"Engler","given":"Robin"},{"family":"AraĂşjo","given":"Miguel B."}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2008.05742.x","ISSN":"1600-0587","issue":"3","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2008.05742.x","page":"369-373","source":"Wiley Online Library","title":"BIOMOD – a platform for ensemble forecasting of species distributions","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2008.05742.x","volume":"32"}, + {"id":"thuillerClimateChangeThreats2005","abstract":"Climate change has already triggered species distribution shifts in many parts of the world. Increasing impacts are expected for the future, yet few studies have aimed for a general understanding of the regional basis for species vulnerability. We projected late 21st century distributions for 1,350 European plants species under seven climate change scenarios. Application of the International Union for Conservation of Nature and Natural Resources Red List criteria to our projections shows that many European plant species could become severely threatened. More than half of the species we studied could be vulnerable or threatened by 2080. Expected species loss and turnover per pixel proved to be highly variable across scenarios (27-42% and 45-63% respectively, averaged over Europe) and across regions (2.5-86% and 17-86%, averaged over scenarios). Modeled species loss and turnover were found to depend strongly on the degree of change in just two climate variables describing temperature and moisture conditions. Despite the coarse scale of the analysis, species from mountains could be seen to be disproportionably sensitive to climate change (â‰60% species loss). The boreal region was projected to lose few species, although gaining many others from immigration. The greatest changes are expected in the transition between the Mediterranean and Euro-Siberian regions. We found that risks of extinction for European plants may be large, even in moderate scenarios of climate change and despite inter-model variability.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thuiller","given":"Wilfried"},{"family":"Lavorel","given":"Sandra"},{"family":"AraĂşjo","given":"Miguel B."},{"family":"Sykes","given":"Martin T."},{"family":"Prentice","given":"I. Colin"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0409902102","ISSN":"0027-8424, 1091-6490","issue":"23","issued":{"date-parts":[[2005,6,7]]},"language":"en","page":"8245-8250","PMID":"15919825","publisher":"National Academy of Sciences","section":"Biological Sciences","source":"www.pnas.org","title":"Climate change threats to plant diversity in Europe","type":"article-journal","URL":"https://www.pnas.org/content/102/23/8245","volume":"102"}, + {"id":"thuillerPredictingGlobalChange2008","abstract":"Given the rate of projected environmental change for the 21st century, urgent adaptation and mitigation measures are required to slow down the on-going erosion of biodiversity. Even though increasing evidence shows that recent human-induced environmental changes have already triggered species’ range shifts, changes in phenology and species’ extinctions, accurate projections of species’ responses to future environmental changes are more difficult to ascertain. This is problematic, since there is a growing awareness of the need to adopt proactive conservation planning measures using forecasts of species’ responses to future environmental changes. There is a substantial body of literature describing and assessing the impacts of various scenarios of climate and land-use change on species’ distributions. Model predictions include a wide range of assumptions and limitations that are widely acknowledged but compromise their use for developing reliable adaptation and mitigation strategies for biodiversity. Indeed, amongst the most used models, few, if any, explicitly deal with migration processes, the dynamics of population at the “trailing edge” of shifting populations, species’ interactions and the interaction between the effects of climate and land-use. In this review, we propose two main avenues to progress the understanding and prediction of the different processes occurring on the leading and trailing edge of the species’ distribution in response to any global change phenomena. Deliberately focusing on plant species, we first explore the different ways to incorporate species’ migration in the existing modelling approaches, given data and knowledge limitations and the dual effects of climate and land-use factors. Secondly, we explore the mechanisms and processes happening at the trailing edge of a shifting species’ distribution and how to implement them into a modelling approach. We finally conclude this review with clear guidelines on how such modelling improvements will benefit conservation strategies in a changing world.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thuiller","given":"Wilfried"},{"family":"Albert","given":"CĂ©cile"},{"family":"AraĂşjo","given":"Miguel B."},{"family":"Berry","given":"Pam M."},{"family":"Cabeza","given":"Mar"},{"family":"Guisan","given":"Antoine"},{"family":"Hickler","given":"Thomas"},{"family":"Midgley","given":"Guy F."},{"family":"Paterson","given":"James"},{"family":"Schurr","given":"Frank M."},{"family":"Sykes","given":"Martin T."},{"family":"Zimmermann","given":"Niklaus E."}],"collection-title":"Space matters - Novel developments in plant ecology through spatial modelling","container-title":"Perspectives in Plant Ecology, Evolution and Systematics","container-title-short":"Perspectives in Plant Ecology, Evolution and Systematics","DOI":"10.1016/j.ppees.2007.09.004","ISSN":"1433-8319","issue":"3","issued":{"date-parts":[[2008,3,6]]},"language":"en","page":"137-152","source":"ScienceDirect","title":"Predicting global change impacts on plant species’ distributions: Future challenges","title-short":"Predicting global change impacts on plant species’ distributions","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S1433831907000376","volume":"9"}, + {"id":"thuillerRoadMapIntegrating2013","abstract":"The demand for projections of the future distribution of biodiversity has triggered an upsurge in modelling at the crossroads between ecology and evolution. Despite the enthusiasm around these so-called biodiversity models, most approaches are still criticised for not integrating key processes known to shape species ranges and community structure. Developing an integrative modelling framework for biodiversity distribution promises to improve the reliability of predictions and to give a better understanding of the eco-evolutionary dynamics of species and communities under changing environments. In this article, we briefly review some eco-evolutionary processes and interplays among them, which are essential to provide reliable projections of species distributions and community structure. We identify gaps in theory, quantitative knowledge and data availability hampering the development of an integrated modelling framework. We argue that model development relying on a strong theoretical foundation is essential to inspire new models, manage complexity and maintain tractability. We support our argument with an example of a novel integrated model for species distribution modelling, derived from metapopulation theory, which accounts for abiotic constraints, dispersal, biotic interactions and evolution under changing environmental conditions. We hope such a perspective will motivate exciting and novel research, and challenge others to improve on our proposed approach.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thuiller","given":"Wilfried"},{"family":"MĂĽnkemĂĽller","given":"Tamara"},{"family":"Lavergne","given":"SĂ©bastien"},{"family":"Mouillot","given":"David"},{"family":"Mouquet","given":"Nicolas"},{"family":"Schiffers","given":"Katja"},{"family":"Gravel","given":"Dominique"}],"container-title":"Ecology Letters","DOI":"10.1111/ele.12104","ISSN":"1461-0248","issue":"s1","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ele.12104","page":"94-105","source":"Wiley Online Library","title":"A road map for integrating eco-evolutionary processes into biodiversity models","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/ele.12104","volume":"16"}, + {"id":"travisAcceleratingInvasionRates2009","abstract":"Evolutionary processes play an important role in shaping the dynamics of range expansions, and selection on dispersal propensity has been demonstrated to accelerate rates of advance. Previous theory has considered only the evolution of unconditional dispersal rates, but dispersal is often more complex. For example, many species emigrate in response to crowding. Here, we use an individual-based model to investigate the evolution of density dependent dispersal into empty habitat, such as during an invasion. The landscape is represented as a lattice and dispersal between populations follows a stepping-stone pattern. Individuals carry three â€genes’ that determine their dispersal strategy when experiencing different population densities. For a stationary range we obtain results consistent with previous theoretical studies: few individuals emigrate from patches that are below equilibrium density. However, during the range expansion of a previously stationary population, we observe evolution towards dispersal strategies where considerable emigration occurs well below equilibrium density. This is true even for moderate costs to dispersal, and always results in accelerating rates of range expansion. Importantly, the evolution we observe at an expanding front depends upon fitness integrated over several generations and cannot be predicted by a consideration of lifetime reproductive success alone. We argue that a better understanding of the role of density dependent dispersal, and its evolution, in driving population dynamics is required especially within the context of range expansions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M. J."},{"family":"Mustin","given":"Karen"},{"family":"Benton","given":"Tim G."},{"family":"Dytham","given":"Calvin"}],"container-title":"Journal of Theoretical Biology","container-title-short":"Journal of Theoretical Biology","DOI":"10.1016/j.jtbi.2009.03.008","ISSN":"0022-5193","issue":"1","issued":{"date-parts":[[2009,7,7]]},"language":"en","page":"151-158","source":"ScienceDirect","title":"Accelerating invasion rates result from the evolution of density-dependent dispersal","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0022519309001155","volume":"259"}, + {"id":"travisClimateChangeHabitat2003","abstract":"Climate change and habitat destruction are two of the greatest threats to global biodiversity. Lattice models have been used to investigate how hypothetical species with different characteristics respond to habitat loss. The main result shows that a sharp threshold in habitat availability exists below which a species rapidly becomes extinct. Here, a similar modelling approach is taken to establish what determines how species respond to climate change. A similar threshold exists for the rate of climate change as has been observed for habitat loss—patch occupancy remains high up to a critical rate of climate change, beyond which species extinction becomes likely. Habitat specialists, especially those of relatively poor colonizing ability are least able to keep pace with climate change. The interaction between climate change and habitat loss might be disastrous. During climate change, the habitat threshold occurs sooner. Similarly, species suffer more from climate change in a fragmented habitat.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.2002.2246","issue":"1514","issued":{"date-parts":[[2003,3,7]]},"page":"467-473","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Climate change and habitat destruction: a deadly anthropogenic cocktail","title-short":"Climate change and habitat destruction","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2002.2246","volume":"270"}, + {"id":"travisColorNoiseEvolution2001","abstract":"The process of dispersal is vital for the long-term persistence of all species and hence is a ubiquitous characteristic of living organisms. A present challenge is to increase our understanding of the factors that govern the dispersal rate of individuals. Here I extend previous work by incorporating both spatial and temporal heterogeneity in terms of patch quality into a spatially explicit lattice model. The spatial heterogeneity is modeled as a two-dimensional fractal landscape, while temporal heterogeneity is included by using one-dimensional noise. It was found that the color of both the spatial and temporal variability influences the rate of dispersal selected as reddening of the temporal noise leads to a reduction in dispersal, while reddening of spatial variability results in an increase in the dispersal rate. These results demonstrate that the color of environmental noise should be considered in future studies looking at the evolution of life history characteristics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M. J."}],"container-title":"Ecological Research","container-title-short":"Ecol Res","DOI":"10.1046/j.1440-1703.2001.00381.x","ISSN":"1440-1703","issue":"1","issued":{"date-parts":[[2001,3,1]]},"language":"en","page":"157-163","source":"Springer Link","title":"The color of noise and the evolution of dispersal","type":"article-journal","URL":"https://doi.org/10.1046/j.1440-1703.2001.00381.x","volume":"16"}, + {"id":"travisDispersalClimateChange2012","abstract":"This chapter focuses on how models of dispersal can improve our understanding, prediction, and management of species' range shifts under environmental change. Most models of species distribution and spread represent dispersal quite crudely; this chapter begins with some thoughts on how these might be integrated with more sophisticated models of dispersal. The importance of inter-individual variability in dispersal and the role that dispersal evolution may play in range shifting is considered. An example of evolutionary entrapment that arises when species expand their ranges over fragmented landscapes is then presented. Finally, potential management strategies that may be used to promote range shifting are considered.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M. J."},{"family":"Dytham","given":"Calvin"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0026","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal and climate change: a review of theory","title-short":"Dispersal and climate change","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-26"}, + {"id":"travisDispersalEvolutionInvasions2002","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M J"},{"family":"Dytham","given":"Calvin"}],"container-title":"Evolutionary Ecology Research","container-title-short":"Evol.Ecol.Res.","ISSN":"1522-0613","issue":"8","issued":{"date-parts":[[2002]]},"language":"English","page":"1119-1129","publisher":"EVOLUTIONARY ECOLOGY LTD","source":"abdn.pure.elsevier.com","title":"Dispersal evolution during invasions","type":"article-journal","URL":"https://abdn.pure.elsevier.com/en/publications/dispersal-evolution-during-invasions","volume":"4"}, + {"id":"travisDispersalSpeciesResponses2014","abstract":"Dispersal is fundamental in determining biodiversity responses to rapid climate change, but recently acquired ecological and evolutionary knowledge is seldom accounted for in either predictive methods or conservation planning. We emphasise the accumulating evidence for direct and indirect impacts of climate change on dispersal. Additionally, evolutionary theory predicts increases in dispersal at expanding range margins, and this has been observed in a number of species. This multitude of ecological and evolutionary processes is likely to lead to complex responses of dispersal to climate change. As a result, improvement of models of species’ range changes will require greater realism in the representation of dispersal. Placing dispersal at the heart of our thinking will facilitate development of conservation strategies that are resilient to climate change, including landscape management and assisted colonisation. Synthesis This article seeks synthesis across the fields of dispersal ecology and evolution, species distribution modelling and conservation biology. Increasing effort focuses on understanding how dispersal influences species' responses to climate change. Importantly, though perhaps not broadly widely-recognised, species' dispersal characteristics are themselves likely to alter during rapid climate change. We compile evidence for direct and indirect influences that climate change may have on dispersal, some ecological and others evolutionary. We emphasise the need for predictive modelling to account for this dispersal realism and highlight the need for conservation to make better use of our existing knowledge related to dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Bocedi","given":"Greta"},{"family":"Baguette","given":"Michel"},{"family":"BartoĹ„","given":"Kamil"},{"family":"Bonte","given":"Dries"},{"family":"Boulangeat","given":"Isabelle"},{"family":"Hodgson","given":"Jenny A."},{"family":"Kubisch","given":"Alexander"},{"family":"Penteriani","given":"Vincenzo"},{"family":"Saastamoinen","given":"Marjo"},{"family":"Stevens","given":"Virginie M."},{"family":"Bullock","given":"James M."}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2013.00399.x","ISSN":"1600-0706","issue":"11","issued":{"date-parts":[[2014]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2013.00399.x","page":"1532-1540","source":"Wiley Online Library","title":"Dispersal and species’ responses to climate change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2013.00399.x","volume":"122"}, + {"id":"travisEvolutionDensitydependentDispersal1999","abstract":"Despite a large body of empirical evidence suggesting that the dispersal rates of many species depend on population density, most metapopulation models assume a density-independent rate of dispersal. Similarly, studies investigating the evolution of dispersal have concentrated almost exclusively on density-independent rates of dispersal. We develop a model that allows density-dependent dispersal strategies to evolve. Our results demonstrate that a density-dependent dispersal strategy almost always evolves and that the form of the relationship depends on reproductive rate, type of competition, size of subpopulation equilibrium densities and cost of dispersal. We suggest that future metapopulation models should account for density-dependent dispersal","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Murrell","given":"D. J."},{"family":"Dytham","given":"C."}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","container-title-short":"Proc Biol Sci","DOI":"10.1098/rspb.1999.0854","ISSN":"0962-8452","issue":"1431","issued":{"date-parts":[[1999,9,22]]},"page":"1837","PMCID":"PMC1690220","PMID":"null","source":"PubMed Central","title":"The evolution of density-dependent dispersal","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1690220/","volume":"266"}, + {"id":"travisHabitatPersistenceHabitat1999","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Dytham","given":"C."}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","issue":"266","issued":{"date-parts":[[1999]]},"page":"723-728","title":"Habitat persistence, habitat availability and the evolution of dispersal","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.1999.0696"}, + {"id":"travisImprovingPredictionManagement2011a","abstract":"1. Improving the understanding, prediction and management of range expansions is a key challenge for ecology. Over recent years, there has been a rapid increase in modelling effort focussed on range expansions and a shift from predominantly theoretical developments towards application. This is especially the case in the field of invasion biology and also in relation to reintroductions and species’ responses to climate change. 2. While earlier models were exclusively analytical, individual-based models (IBMs) are now increasingly widely used. We argue that instead of being viewed as competing methodologies, analytical and individual-based methods can valuably be used in conjunction. 3. We use a mechanistic wind dispersal model to generate age-specific dispersal kernels for the invasive shrub, Rhododendron ponticum. To demonstrate the utility of employing both modelling approaches, this information along with demographic parameters is incorporated into an IBM and an analytical, integrodifference model. From both models, the equilibrium rate of spread is calculated. 4. Estimates of wavespeeds were similar for the two models, although slower rates of spread were consistently projected by the IBM. Further, our results demonstrate the wavespeed to be sensitive to the characterisation of age structure in the model; when few age classes are used, much higher rates of spread are projected. 5. The analytical model is extremely efficient at providing elasticity analysis of the wavespeed, which can provide helpful information for management. We gain qualitatively similar results using the IBM but obtaining the results is time-consuming and, because the model is stochastic, they are noisy and harder to interpret. We argue that analytically derived transient elasticity analyses are needed for the many cases where success of control is measured on a relatively short time horizon. 6. To demonstrate the flexibility of the IBM approach, we run it on a real landscape comprising different habitat types. The comparison of two different control scenarios is an example of the utility of this approach for more tactical applications. 7. As a general conclusion of the study, we emphasise that analytical and individual-based approaches offer different, but complementary, advantages and suggest how their joint use can facilitate the improvement in biodiversity management at a range of spatial scales.","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Harris","given":"Catriona M."},{"family":"Park","given":"Kirsty J."},{"family":"Bullock","given":"James M."}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/j.2041-210X.2011.00104.x","ISSN":"2041-210X","issue":"5","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2011.00104.x","page":"477-488","source":"Wiley Online Library","title":"Improving prediction and management of range expansions by combining analytical and individual-based modelling approaches","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.2041-210X.2011.00104.x","volume":"2"}, + {"id":"travisMechanisticUnderstandingDispersal2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M. J."},{"family":"Smith","given":"Hannah S."},{"family":"Ranwala","given":"Sudheera M. W."}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2010.00674.x","issue":"4","issued":{"date-parts":[[2010,7]]},"language":"English","page":"690-702","publisher":"WILEY-BLACKWELL","source":"abdn.pure.elsevier.com","title":"Towards a mechanistic understanding of dispersal evolution in plants: conservation implications","title-short":"Towards a mechanistic understanding of dispersal evolution in plants","type":"article-journal","URL":"https://abdn.pure.elsevier.com/en/publications/towards-a-mechanistic-understanding-of-dispersal-evolution-in-pla","volume":"16"}, + {"id":"travisMethodSimulatingPatterns2004","abstract":"The dynamics of populations inhabiting range margins are likely to be critically important in determining the response of species to climate change. Despite this, there is a lack of both empirical and theoretical work that examines the behaviour of these populations. Populations living on the edge of a species' range frequently inhabit a more patchily distributed habitat than those that live closer to the centre of the range. This difference is likely to play an important role in determining the dynamics of range margin populations, both when the range is static and when it is dynamic, for example shifting in response to climate change. Here, we present a simple method that simulates the distribution of suitable habitat sites at the edge of a range. Habitat availability is determined as a function of both latitudinal and local environmental variability, and the relative importance of the two can be adjusted. The method is readily extended to describe shifting habitat availability during a period of climate change. We suggest that there is a need for a greater effort to examine the ecology of range margin populations, and believe that the method presented here could be of considerable use in future theoretical studies.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Dytham","given":"C."}],"container-title":"Oikos","ISSN":"0030-1299","issue":"2","issued":{"date-parts":[[2004]]},"page":"410-416","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"A Method for Simulating Patterns of Habitat Availability at Static and Dynamic Range Margins","type":"article-journal","URL":"https://www.jstor.org/stable/3547970","volume":"104"}, + {"id":"travisModellingDispersalEcoevolutionary2012a","abstract":"1. Understanding the causes and consequences of dispersal remains a central topic in ecology and evolution. However, a mismatch exists between our empirical understanding of the complexity of dispersal and our representation of dispersal in models. While the empirical literature is replete with examples of condition dependence at the emigration, movement and settlement phases, models rarely incorporate realism or complexity to this degree. Nor do models often include the different costs associated with dispersal, which can themselves be linked to one or more of the three key phases. 2. Here, we propose that by explicitly accounting for emigration, movement and settlement (and the multiple costs associated with each) we can substantially improve our understanding of both the dispersal process itself and how dispersal traits trade off against other life-history characteristics. We explore some of these issues conceptually, before presenting illustrative results gained from a flexible individual-based model which incorporates considerable dispersal complexity. 3. These results emphasise the nonlinear interplay between the different dispersal stages. For example, we find that investment in movement ability (at a cost to fecundity) depends upon the propensity to emigrate (and vice versa). However, owing to selection acting at the metapopulation level as well as at the individual level, the relationship between the two is not straightforward. Importantly, the shape of the trade-off between movement ability and reproductive potential can strongly influence the joint evolution of dispersal parameters controlling the degree of investment in safer movement, the probability of emigration and the straightness of movement. 4. Our results highlight that the joint evolution of dispersal characteristics can have major implications for spatial population dynamics and we argue that, in addition to increasing our fundamental biological understanding, a new generation of dispersal modelling, which exploits recent empirical advances, can substantially improve our ability to predict and manage the response of species to environmental change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"BartoĹ„","given":"Kamil A."},{"family":"Benton","given":"Tim G."},{"family":"Clobert","given":"Jean"},{"family":"Delgado","given":"Maria M."},{"family":"Dytham","given":"Calvin"},{"family":"Hovestadt","given":"Thomas"},{"family":"Palmer","given":"Stephen C. F."},{"family":"Dyck","given":"Hans Van"},{"family":"Bonte","given":"Dries"}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/j.2041-210X.2012.00193.x","ISSN":"2041-210X","issue":"4","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2012.00193.x","page":"628-641","source":"Wiley Online Library","title":"Modelling dispersal: an eco-evolutionary framework incorporating emigration, movement, settlement behaviour and the multiple costs involved","title-short":"Modelling dispersal","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.2041-210X.2012.00193.x","volume":"3"}, + {"id":"turlureSpeciesSexspecificAdjustments2011","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Turlure","given":"Camille"},{"family":"Baguette","given":"M"},{"family":"Stevens","given":"Virginie M"},{"family":"Maes","given":"D"}],"container-title":"Behavioral Ecology","issue":"22","issued":{"date-parts":[[2011]]},"page":"967-975","title":"Species- and sex-specific adjustments of movement behavior to landscape heterogeneity in butterflies","type":"article-journal","URL":"https://academic.oup.com/beheco/article/22/5/967/251656?login=true"}, + {"id":"turnerUsefulnessSpatiallyExplicit1995","abstract":"Land managers need new tools, such as spatial models, to aid them in their decision-making processes because managing for biodiversity, water quality, or natural disturbance is challenging, and landscapes are complex and dynamic. Spatially explicit population models are helpful to managers because these models consider both species-habitat relationships and the arrangement of habitats in space and time. The visualizations that typically accompany spatially explicit models also permit managers to 'see' the effects of alternative management strategies on populations of interest. However, the expense entailed in developing the data bases required for spatially explicit models may limit widespread implementation. In addition, many of the models are developed for one or a few species, and dealing with multiple species in a landscape remains a significant challenge. To be most useful to land managers, spatially explicit population models should be user friendly, easily portable, operate on spatial and temporal scales appropriate to management decisions, and use input and output variables that can be measured affordably.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Turner","given":"Monica G."},{"family":"Arthaud","given":"Greg J."},{"family":"Engstrom","given":"R. Todd"},{"family":"Hejl","given":"Sallie J."},{"family":"Liu","given":"Jianguo"},{"family":"Loeb","given":"Susan"},{"family":"McKelvey","given":"Kevin"}],"container-title":"Ecological Applications","DOI":"10.2307/1942046","ISSN":"1939-5582","issue":"1","issued":{"date-parts":[[1995]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.2307/1942046","page":"12-16","source":"Wiley Online Library","title":"Usefulness of Spatially Explicit Population Models in Land Management","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.2307/1942046","volume":"5"}, + {"id":"urbanMovingForwardDispersal2013","abstract":"We need accurate predictions about how climate change will alter species distributions and abundances around the world. Most predictions assume simplistic dispersal scenarios and ignore biotic interactions. We argue for incorporating the complexities of dispersal and species interactions. Range expansions depend not just on mean dispersal, but also on the shape of the dispersal kernel and the population's growth rate. We show how models using species-specific dispersal can produce more accurate predictions than models applying all-or-nothing dispersal scenarios. Models that additionally include species interactions can generate distinct outcomes. For example, species interactions can slow climate tracking and produce more extinctions than models assuming no interactions. We conclude that (1) just knowing mean dispersal is insufficient to predict biotic responses to climate change, and (2) considering interspecific dispersal variation and species interactions jointly will be necessary to anticipate future changes to biological diversity. We advocate for collecting key information on interspecific dispersal differences and strong biotic interactions so that we can build the more robust predictive models that will be necessary to inform conservation efforts as climates continue to change.","author":[{"family":"Urban","given":"Mark C."},{"family":"Zarnetske","given":"Phoebe L."},{"family":"Skelly","given":"David K."}],"container-title":"Annals of the New York Academy of Sciences","container-title-short":"Ann N Y Acad Sci","DOI":"10.1111/nyas.12184","ISSN":"1749-6632","issued":{"date-parts":[[2013,9]]},"language":"eng","page":"44-60","PMID":"23819864","source":"PubMed","title":"Moving forward: dispersal and species interactions determine biotic responses to climate change","title-short":"Moving forward","type":"article-journal","volume":"1297"}, + {"id":"vandermeerMetapopulationDynamicsQuality2001","abstract":"In both strictly theoretical and more applied contexts it has been historically assumed that metapopulations exist within a featureless, uninhabitable matrix and that dynamics within the matrix are unimportant. In this article, we explore the range of theoretical consequences that result from relaxing this assumption. We show, with a variety of modeling techniques, that matrix quality can be extremely important in determining metapopulation dynamics. A higher-quality matrix generally buffers against extinction. However, in some situations, an increase in matrix quality can generate chaotic subpopulation dynamics, where stability had been the rule in a lower-quality matrix. Furthermore, subpopulations acting as source populations in a low-quality matrix may develop metapopulation dynamics as the quality of the matrix increases. By forcing metapopulation dynamics on a formerly heterogeneous (but stable within subpopulations) population, the probability of simultaneous extinction of all subpopulations actually increases. Thus, it cannot be automatically assumed that increasing matrix quality will lower the probability of global extinction of a population.","author":[{"family":"Vandermeer","given":"J."},{"family":"Carvajal","given":"R."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/321318","ISSN":"1537-5323","issue":"3","issued":{"date-parts":[[2001,9]]},"language":"eng","page":"211-220","PMID":"18707319","source":"PubMed","title":"Metapopulation dynamics and the quality of the matrix","type":"article-journal","volume":"158"}, + {"id":"vasseurColorEnvironmentalNoise2004","abstract":"Biological populations are strongly influenced by the random variation in their environment. The spectrum of frequencies in noise is particularly important to dynamics and persistence. Here we present an analysis of the variance spectra of a wide variety of long-term time series of environmental variables. Spectra were well approximated by the inverse power law 1/fβ within the appropriate range of frequencies f; however, the majority of spectra were “flattened” at low frequencies. With some qualification we found the spectral exponents (β) to corroborate an earlier suggestion that terrestrial noise tends to be “white” (β < 0.5), while marine environments tend to be “red” (β ≠1) or “brown” (β ≠2). As well, we found a tendency for whiter noise in temperate latitudes than in either high or low latitudes. These results have wide-ranging consequences for ecosystem fragility and species conservation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Vasseur","given":"David A."},{"family":"Yodzis","given":"Peter"}],"container-title":"Ecology","DOI":"10.1890/02-3122","ISSN":"1939-9170","issue":"4","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/02-3122","page":"1146-1152","source":"Wiley Online Library","title":"The Color of Environmental Noise","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/02-3122","volume":"85"}, + {"id":"verbeylenDoesMatrixResistance2003","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Verbeylen","given":"Goedele"},{"family":"Bruyn","given":"Luc De"},{"family":"Adriaensen","given":"F."},{"family":"Matthysen","given":"E."}],"container-title":"Landscape Ecology","DOI":"10.1023/B:LAND.0000014492.50765.05","issue":"8","issued":{"date-parts":[[2003]]},"language":"English","page":"791-805","source":"pureportal.inbo.be","title":"Does matrix resistance influence red squirrel (Sciurus vulgaris l. 1758) distribution in an urban landscape?","type":"article-journal","URL":"https://pureportal.inbo.be/en/publications/does-matrix-resistance-influence-red-squirrel-emsciurus-vulgarise","volume":"18"}, + {"id":"verboomPopulationDynamicsIncreasing2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Verboom","given":"J."},{"family":"Schippers","given":"P."},{"family":"Cormont","given":"A."},{"family":"Sterk","given":"M."},{"family":"Vos","given":"C. C."},{"family":"Opdam","given":"P. F. M."}],"container-title":"Landscape Ecology","DOI":"10.1007/s10980-010-9497-7","ISSN":"0921-2973","issued":{"date-parts":[[2010]]},"language":"English","page":"1289-1298","publisher":"Springer Verlag","source":"research.wur.nl","title":"Population dynamics under increasing environmental variability: implications of climate change for ecological network design criteria","title-short":"Population dynamics under increasing environmental variability","type":"article-journal","URL":"https://research.wur.nl/en/publications/population-dynamics-under-increasing-environmental-variability-im","volume":"25"}, + {"id":"verckenImportanceGoodNeighborhood2012","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Vercken","given":"E."},{"family":"Sinervo","given":"B."},{"family":"Clobert","given":"J"}],"container-title":"Behavioral Ecology","issue":"23","issued":{"date-parts":[[2012]]},"page":"1059-1067","title":"The importance of a good neighborhood: dispersal decisions in juvenile common lizards are based on social environment","type":"article-journal","URL":"https://academic.oup.com/beheco/article/23/5/1059/233208"}, + {"id":"vittAssistedMigrationPart2009","author":[{"family":"Vitt","given":"Pati"},{"family":"Havens","given":"Kayri"},{"family":"Hoegh-Guldberg","given":"Ove"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends Ecol Evol","DOI":"10.1016/j.tree.2009.05.007","ISSN":"0169-5347","issue":"9","issued":{"date-parts":[[2009,9]]},"language":"eng","page":"473-474; author reply 476-477","PMID":"19595474","source":"PubMed","title":"Assisted migration: part of an integrated conservation strategy","title-short":"Assisted migration","type":"article-journal","volume":"24"}, + {"id":"vuilleumierAnimalDispersalModelling2006","abstract":"Animal dispersal in a fragmented landscape depends on the complex interaction between landscape structure and animal behavior. To better understand how individuals disperse, it is important to explicitly represent the properties of organisms and the landscape in which they move. A common approach to modelling dispersal includes representing the landscape as a grid of equal sized cells and then simulating individual movement as a correlated random walk. This approach uses a priori scale of resolution, which limits the representation of all landscape features and how different dispersal abilities are modelled. We develop a vector-based landscape model coupled with an object-oriented model for animal dispersal. In this spatially explicit dispersal model, landscape features are defined based on their geographic and thematic properties and dispersal is modelled through consideration of an organism's behavior, movement rules and searching strategies (such as visual cues). We present the model's underlying concepts, its ability to adequately represent landscape features and provide simulation of dispersal according to different dispersal abilities. We demonstrate the potential of the model by simulating two virtual species in a real Swiss landscape. This illustrates the model's ability to simulate complex dispersal processes and provides information about dispersal such as colonization probability and spatial distribution of the organism's path.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Vuilleumier","given":"SĂ©verine"},{"family":"Metzger","given":"Richard"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2005.04.017","ISSN":"0304-3800","issue":"1","issued":{"date-parts":[[2006,1,10]]},"language":"en","page":"159-170","source":"ScienceDirect","title":"Animal dispersal modelling: Handling landscape features and related animal choices","title-short":"Animal dispersal modelling","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S030438000500222X","volume":"190"}, + {"id":"vuilleumierEffectsCognitiveAbilities2006","abstract":"Connectivity among demes in a metapopulation depends on both the landscape's and the focal organism's properties (including its mobility and cognitive abilities). Using individual-based simulations, we contrast the consequences of three different cognitive strategies on several measures of metapopulation connectivity. Model animals search suitable habitat patches while dispersing through a model landscape made of cells varying in size, shape, attractiveness and friction. In the blind strategy, the next cell is chosen randomly among the adjacent ones. In the near-sighted strategy, the choice depends on the relative attractiveness of these adjacent cells. In the far-sighted strategy, animals may additionally target suitable patches that appear within their perceptual range. Simulations show that the blind strategy provides the best overall connectivity, and results in balanced dispersal. The near-sighted strategy traps animals into corridors that reduce the number of potential targets, thereby fragmenting metapopulations in several local clusters of demes, and inducing sink-source dynamics. This sort of local trapping is somewhat prevented in the far-sighted strategy. The colonization success of strategies depends highly on initial energy reserves: blind does best when energy is high, near-sighted wins at intermediate levels, and far-sighted outcompetes its rivals at low energy reserves. We also expect strong effects in terms of metapopulation genetics: the blind strategy generates a migrant-pool mode of dispersal that should erase local structures. By contrast, near- and far-sighted strategies generate a propagule-pool mode of dispersal and source-sink behavior that should boost structures (high genetic variance among-and low variance within local clusters of demes), particularly if metapopulation dynamics is also affected by extinction-colonization processes. Our results thus point to important effects of the cognitive ability of dispersers on the connectivity, dynamics and genetics of metapopulations.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Vuilleumier","given":"SĂ©verine"},{"family":"Perrin","given":"Nicolas"},{"family":"Ranta","given":"Esa"}],"container-title":"Oikos","ISSN":"0030-1299","issue":"1","issued":{"date-parts":[[2006]]},"page":"139-147","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"Effects of Cognitive Abilities on Metapopulation Connectivity","type":"article-journal","URL":"https://www.jstor.org/stable/3548543","volume":"113"}, + {"id":"wangDispersalGlanvilleFritillary2011","abstract":"1. Habitat fragmentation may lead to natural selection on dispersal rate and other life-history traits. Both theoretical analyses and empirical studies suggest that habitat fragmentation may select either for increased or decreased dispersal depending on the traits of the species and the characteristics of the landscape. 2. Dispersal and movement rates in Glanville fritillary butterflies (Melitaea cinxia) originating from a continuous landscape in China and from a highly fragmented landscape in Finland were compared using three different methods. 3. The methods included replicated mark-release-recapture (MRR) experiments conducted in the natural environments in China and Finland, tracking with harmonic radar of captive-reared but free-flying butterflies in a common environment in the field, and replicated common garden experiments in a large outdoor population cage. 4. The results were largely consistent, showing that butterflies from the more continuous landscape in China had a lower movement rate than butterflies originating from the fragmented landscape in Finland. Butterflies originating from newly-established populations in Finland moved significantly longer distances than butterflies originating from old populations in Finland or from China, demonstrating significant intra-specific variation in dispersal rate in Finland. These results are consistent with model predictions for the Glanville fritillary. 5. The tracking experiment revealed a result that would have been impossible to obtain with MRR experiments: movement rate was influenced by a significant interaction between population origin (China vs. Finland) and ambient air temperature.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Wang","given":"Rongjiang"},{"family":"Ovaskainen","given":"Otso"},{"family":"Cao","given":"Yundong"},{"family":"Chen","given":"Houqiang"},{"family":"Zhou","given":"Yan"},{"family":"Xu","given":"Chongren"},{"family":"Hanski","given":"Ilkka"}],"container-title":"Ecological Entomology","DOI":"10.1111/j.1365-2311.2011.01267.x","ISSN":"1365-2311","issue":"2","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2311.2011.01267.x","page":"251-260","source":"Wiley Online Library","title":"Dispersal in the Glanville fritillary butterfly in fragmented versus continuous landscapes: comparison between three methods","title-short":"Dispersal in the Glanville fritillary butterfly in fragmented versus continuous landscapes","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2311.2011.01267.x","volume":"36"}, + {"id":"warrenRapidResponsesBritish2001","abstract":"Habitat degradation and climate change are thought to be altering the distributions and abundances of animals and plants throughout the world, but their combined impacts have not been assessed for any species assemblage1,2,3,4. Here we evaluated changes in the distribution sizes and abundances of 46 species of butterflies that approach their northern climatic range margins in Britain—where changes in climate and habitat are opposing forces. These insects might be expected to have responded positively to climate warming over the past 30 years, yet three-quarters of them declined: negative responses to habitat loss have outweighed positive responses to climate warming. Half of the species that were mobile and habitat generalists increased their distribution sites over this period (consistent with a climate explanation), whereas the other generalists and 89% of the habitat specialists declined in distribution size (consistent with habitat limitation). Changes in population abundances closely matched changes in distributions. The dual forces of habitat modification and climate change are likely to cause specialists to decline, leaving biological communities with reduced numbers of species and dominated by mobile and widespread habitat generalists.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Warren","given":"M. S."},{"family":"Hill","given":"J. K."},{"family":"Thomas","given":"J. A."},{"family":"Asher","given":"J."},{"family":"Fox","given":"R."},{"family":"Huntley","given":"B."},{"family":"Roy","given":"D. B."},{"family":"Telfer","given":"M. G."},{"family":"Jeffcoate","given":"S."},{"family":"Harding","given":"P."},{"family":"Jeffcoate","given":"G."},{"family":"Willis","given":"S. G."},{"family":"Greatorex-Davies","given":"J. N."},{"family":"Moss","given":"D."},{"family":"Thomas","given":"C. D."}],"container-title":"Nature","DOI":"10.1038/35102054","ISSN":"1476-4687","issue":"6859","issued":{"date-parts":[[2001,11]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"6859","page":"65-69","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Rapid responses of British butterflies to opposing forces of climate and habitat change","type":"article-journal","URL":"https://www.nature.com/articles/35102054","volume":"414"}, + {"id":"wattsTargetingEvaluatingBiodiversity2010","abstract":"The focus of biodiversity conservation is shifting to larger spatial scales in response to habitat fragmentation and the need to integrate multiple landscape objectives. Conservation strategies increasingly incorporate measures to combat fragmentation such as ecological networks. These are often based on assessment of landscape structure but such approaches fail to capitalise on the potential offered by more ecologically robust assessments of landscape function and connectivity. In this paper, we describe a modelling approach to identifying functional habitat networks and demonstrate its application to a fragmented landscape where policy initiatives seek to improve conditions for woodland biodiversity including increasing woodland cover. Functional habitat networks were defined by identifying suitable habitat and by modelling connectivity using least-cost approaches to account for matrix permeability. Generic focal species (GFS) profiles were developed, in consultation with stakeholders, to represent species with high and moderate sensitivity to fragmentation. We demonstrated how this form of analysis can be used to aid the spatial targeting of conservation actions. This â€targeted’ action scenario was tested for effectiveness against comparable scenarios, which were based on random and clumped actions within the same landscape. We tested effectiveness using structural metrics, network-based metrics and a published functional connectivity indicator. Targeting actions within networks resulted in the highest mean woodland area and highest connectivity indicator value. Our approach provides an assessment of landscape function by recognising the importance of the landscape matrix. It provides a framework for the targeting and evaluation of alternative conservation options, offering a pragmatic, ecologically-robust solution to a current need in applied landscape ecology.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Watts","given":"Kevin"},{"family":"Eycott","given":"Amy E."},{"family":"Handley","given":"Phillip"},{"family":"Ray","given":"Duncan"},{"family":"Humphrey","given":"Jonathan W."},{"family":"Quine","given":"Christopher P."}],"container-title":"Landscape Ecology","container-title-short":"Landscape Ecol","DOI":"10.1007/s10980-010-9507-9","ISSN":"1572-9761","issue":"9","issued":{"date-parts":[[2010,11,1]]},"language":"en","page":"1305-1318","source":"Springer Link","title":"Targeting and evaluating biodiversity conservation action within fragmented landscapes: an approach based on generic focal species and least-cost networks","title-short":"Targeting and evaluating biodiversity conservation action within fragmented landscapes","type":"article-journal","URL":"https://doi.org/10.1007/s10980-010-9507-9","volume":"25"}, + {"id":"weeksAssessingBenefitsRisks2011","abstract":"Translocations are being increasingly proposed as a way of conserving biodiversity, particularly in the management of threatened and keystone species, with the aims of maintaining biodiversity and ecosystem function under the combined pressures of habitat fragmentation and climate change. Evolutionary genetic considerations should be an important part of translocation strategies, but there is often confusion about concepts and goals. Here, we provide a classification of translocations based on specific genetic goals for both threatened species and ecological restoration, separating targets based on â€genetic rescue’ of current population fitness from those focused on maintaining adaptive potential. We then provide a framework for assessing the genetic benefits and risks associated with translocations and provide guidelines for managers focused on conserving biodiversity and evolutionary processes. Case studies are developed to illustrate the framework.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Weeks","given":"Andrew R"},{"family":"Sgro","given":"Carla M"},{"family":"Young","given":"Andrew G"},{"family":"Frankham","given":"Richard"},{"family":"Mitchell","given":"Nicki J"},{"family":"Miller","given":"Kim A"},{"family":"Byrne","given":"Margaret"},{"family":"Coates","given":"David J"},{"family":"Eldridge","given":"Mark D B"},{"family":"Sunnucks","given":"Paul"},{"family":"Breed","given":"Martin F"},{"family":"James","given":"Elizabeth A"},{"family":"Hoffmann","given":"Ary A"}],"container-title":"Evolutionary Applications","container-title-short":"Evol Appl","DOI":"10.1111/j.1752-4571.2011.00192.x","ISSN":"1752-4571","issue":"6","issued":{"date-parts":[[2011,11]]},"page":"709-725","PMCID":"PMC3265713","PMID":"22287981","source":"PubMed Central","title":"Assessing the benefits and risks of translocations in changing environments: a genetic perspective","title-short":"Assessing the benefits and risks of translocations in changing environments","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3265713/","volume":"4"}, + {"id":"wiegandEffectsHabitatLoss2005","abstract":"We used a spatially explicit population model that was generalized to produce nine ecological profiles of long-lived species with stable home ranges and natal dispersal to investigate the effects of habitat loss and fragmentation on population dynamics. We simulated population dynamics in landscapes composed of three habitat types (good-quality habitat ranging from 10-25%, poor-quality habitat ranging from 10-70%, and matrix). Landscape structures varied from highly fragmented to completely contiguous. The specific aims of our model were (1) to investigate under which biological circumstances the traditional approach of using two types only (habitat and matrix) failed and assess the potential impact of restoring matrix to poor-quality habitat, (2) to investigate how much of the variation in population size was explained by landscape composition alone and which key attributes of landscape structure can serve as predictors of population response, and (3) to estimate the maximum fragmentation effects expressed in equivalent pure loss of good-quality habitat. Poor-quality habitat mattered most in situations when it was generally not considered (i.e., for metapopulations or spatially structured populations when it provides dispersal habitat). Population size increased up to 3 times after restoring matrix to poor-quality habitat. Overall, habitat amount accounted for 68%) of the variation in population size, whereas ecological profile and fragmentation accounted for approximately 13%> each. The maximal effect of (good-quality) habitat fragmentation was equivalent to a pure loss of up to 15%> of good-quality habitat, and the maximal loss of individuals resulting from maximal fragmentation reached 80%. Abundant dispersal habitat and sufficiently large dispersal potential, however, resulted in functionally connected landscapes, and maximal fragmentation had no effect at all. Our findings suggest that predicting fragmentation effects requires a good understanding of the biology and habitat use of the species in question and that the uniqueness of species and the landscapes in which they live confound simple analysis.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Wiegand","given":"Thorsten"},{"family":"Revilla","given":"Eloy"},{"family":"Moloney","given":"Kirk A."}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"1","issued":{"date-parts":[[2005]]},"page":"108-121","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Effects of Habitat Loss and Fragmentation on Population Dynamics","type":"article-journal","URL":"https://www.jstor.org/stable/3591014","volume":"19"}, + {"id":"willisAssistedColonizationChanging2009","abstract":"Recent climatic change in temperate regions has been rapid and there is mounting speculation that species are failing to keep track of suitable climate, perhaps necessitating assisted colonization for some species. An inability to spread into new areas may result in large reductions in species’ ranges in the future, and threaten the survival of some species. Here we use “species-climate” models to predict suitable sites for introductions beyond current range margins, using two U.K. butterfly species. We introduced Melanargia galathea (marbled white) and Thymelicus sylvestris (small skipper) into two sites in northern England, âĽ65 and âĽ35 km beyond their then-range margins, respectively, to sites that were predicted to be climatically suitable and that appeared to contain suitable habitat for the species. Both introduced populations grew and expanded their range over 6 years (2001–2006; still thriving in 2008), suggesting the existence of a colonization lag and providing evidence that well-planned assisted colonization can be successful. We suggest that assisted colonization may be a feasible and cost-effective means of enabling certain species to track climatic change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Willis","given":"Stephen G."},{"family":"Hill","given":"Jane K."},{"family":"Thomas","given":"Chris D."},{"family":"Roy","given":"David B."},{"family":"Fox","given":"Richard"},{"family":"Blakeley","given":"David S."},{"family":"Huntley","given":"Brian"}],"container-title":"Conservation Letters","DOI":"10.1111/j.1755-263X.2008.00043.x","ISSN":"1755-263X","issue":"1","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1755-263X.2008.00043.x","page":"46-52","source":"Wiley Online Library","title":"Assisted colonization in a changing climate: a test-study using two U.K. butterflies","title-short":"Assisted colonization in a changing climate","type":"article-journal","URL":"https://conbio.onlinelibrary.wiley.com/doi/abs/10.1111/j.1755-263X.2008.00043.x","volume":"2"}, + {"id":"willisDynamicDistributionModelling2009","abstract":"Confidence in projections of the future distributions of species requires demonstration that recently-observed changes could have been predicted adequately. Here we use a dynamic model framework to demonstrate that recently-observed changes at the expanding northern boundaries of three British butterfly species can be predicted with good accuracy. Previous work established that the distributions of the study species currently lag behind climate change, and so we presumed that climate is not currently a major constraint at the northern range margins of our study species. We predicted 1970–2000 distribution changes using a colonisation model, MIGRATE, superimposed on a high-resolution map of habitat availability. Thirty-year rates and patterns of distribution change could be accurately predicted for each species (Îş goodness-of-fit of models >0.64 for all three species, corresponding to >83% of grid cells correctly assigned), using a combination of individual species traits, species-specific habitat associations and distance-dependent dispersal. Sensitivity analyses showed that population productivity was the most important determinant of the rate of distribution expansion (variation in dispersal rate was not studied because the species are thought to be similar in dispersal capacity), and that each species’ distribution prior to expansion was critical in determining the spatial pattern of the current distribution. In future, modelling approaches that combine climate suitability and spatially-explicit population models, incorporating demographic variables and habitat availability, are likely to be valuable tools in projecting species’ responses to climatic change and hence in anticipating management to facilitate species’ dispersal and persistence.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Willis","given":"Stephen G."},{"family":"Thomas","given":"Chris D."},{"family":"Hill","given":"Jane K."},{"family":"Collingham","given":"Yvonne C."},{"family":"Telfer","given":"Mark G."},{"family":"Fox","given":"Richard"},{"family":"Huntley","given":"Brian"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2008.05711.x","ISSN":"1600-0587","issue":"1","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2008.05711.x","page":"5-12","source":"Wiley Online Library","title":"Dynamic distribution modelling: predicting the present from the past","title-short":"Dynamic distribution modelling","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2008.05711.x","volume":"32"}, + {"id":"wiszRoleBioticInteractions2013","abstract":"Predicting which species will occur together in the future, and where, remains one of the greatest challenges in ecology, and requires a sound understanding of how the abiotic and biotic environments interact with dispersal processes and history across scales. Biotic interactions and their dynamics influence species' relationships to climate, and this also has important implications for predicting future distributions of species. It is already well accepted that biotic interactions shape species' spatial distributions at local spatial extents, but the role of these interactions beyond local extents (e.g. 10 km(2) to global extents) are usually dismissed as unimportant. In this review we consolidate evidence for how biotic interactions shape species distributions beyond local extents and review methods for integrating biotic interactions into species distribution modelling tools. Drawing upon evidence from contemporary and palaeoecological studies of individual species ranges, functional groups, and species richness patterns, we show that biotic interactions have clearly left their mark on species distributions and realised assemblages of species across all spatial extents. We demonstrate this with examples from within and across trophic groups. A range of species distribution modelling tools is available to quantify species environmental relationships and predict species occurrence, such as: (i) integrating pairwise dependencies, (ii) using integrative predictors, and (iii) hybridising species distribution models (SDMs) with dynamic models. These methods have typically only been applied to interacting pairs of species at a single time, require a priori ecological knowledge about which species interact, and due to data paucity must assume that biotic interactions are constant in space and time. To better inform the future development of these models across spatial scales, we call for accelerated collection of spatially and temporally explicit species data. Ideally, these data should be sampled to reflect variation in the underlying environment across large spatial extents, and at fine spatial resolution. Simplified ecosystems where there are relatively few interacting species and sometimes a wealth of existing ecosystem monitoring data (e.g. arctic, alpine or island habitats) offer settings where the development of modelling tools that account for biotic interactions may be less difficult than elsewhere.","author":[{"family":"Wisz","given":"Mary Susanne"},{"family":"Pottier","given":"Julien"},{"family":"Kissling","given":"W. Daniel"},{"family":"Pellissier","given":"LoĂŻc"},{"family":"Lenoir","given":"Jonathan"},{"family":"Damgaard","given":"Christian F."},{"family":"Dormann","given":"Carsten F."},{"family":"Forchhammer","given":"Mads C."},{"family":"Grytnes","given":"John-Arvid"},{"family":"Guisan","given":"Antoine"},{"family":"Heikkinen","given":"Risto K."},{"family":"Høye","given":"Toke T."},{"family":"KĂĽhn","given":"Ingolf"},{"family":"Luoto","given":"Miska"},{"family":"Maiorano","given":"Luigi"},{"family":"Nilsson","given":"Marie-Charlotte"},{"family":"Normand","given":"Signe"},{"family":"Ă–ckinger","given":"Erik"},{"family":"Schmidt","given":"Niels M."},{"family":"Termansen","given":"Mette"},{"family":"Timmermann","given":"Allan"},{"family":"Wardle","given":"David A."},{"family":"Aastrup","given":"Peter"},{"family":"Svenning","given":"Jens-Christian"}],"container-title":"Biological Reviews of the Cambridge Philosophical Society","container-title-short":"Biol Rev Camb Philos Soc","DOI":"10.1111/j.1469-185X.2012.00235.x","ISSN":"1469-185X","issue":"1","issued":{"date-parts":[[2013,2]]},"language":"eng","page":"15-30","PMCID":"PMC3561684","PMID":"22686347","source":"PubMed","title":"The role of biotic interactions in shaping distributions and realised assemblages of species: implications for species distribution modelling","title-short":"The role of biotic interactions in shaping distributions and realised assemblages of species","type":"article-journal","volume":"88"}, + {"id":"withApplicationNeutralLandscape1997","abstract":"Neutral landscape models, derived from percolation theory in the field of landscape ecology, are grid-based maps in which complex habitat distributions are generated by random or fractal algorithms. This grid-based representation of landscape structure is compatible with the raster-based format of geographical information systems (GIS), which facilitates comparisons between theoretical and real landscapes. Neutral landscape models permit the identification of critical thresholds in connectivity, which can be used to predict when landscapes will become fragmented. The coupling of neutral landscape models with generalized population models, such as metapopulation theory, provides a null model for generating predictions about population dynamics in fragmented landscapes. Neutral landscape models can contribute to the following applications in conservation: (1) incorporation of complex spatial patterns in (meta)population models; (2) identification of species' perceptions of landscape structure; (3) determination of landscape connectivity; (4) evaluation of the consequences of habitat fragmentation for population subdivision; (5) identification of the domain of metapopulation dynamics; (6) prediction of the occurrence of extinction thresholds; (7) determination of the genetic consequences of habitat fragmentation; and (8) reserve design and ecosystem management. This generalized, spatially explicit framework bridges the gap between spatially implicit, patch-based models and spatially realistic GIS applications which are usually parameterized for a single species in a specific landscape. Development of a generalized, spatially explicit framework is essential in conservation biology because we will not be able to develop individual models for every species of management concern.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"With","given":"Kimberly A."}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"5","issued":{"date-parts":[[1997]]},"page":"1069-1080","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"The Application of Neutral Landscape Models in Conservation Biology","type":"article-journal","URL":"https://www.jstor.org/stable/2387389","volume":"11"}, + {"id":"withExtinctionThresholdsSpecies1999","abstract":"Abstract: Predicting species’ responses to habitat loss and fragmentation is one of the greatest challenges facing conservation biologists, particularly if extinction is a threshold phenomenon. Extinction thresholds are abrupt declines in the patch occupancy of a metapopulation across a narrow range of habitat loss. Metapopulation-type models have been used to predict extinction thresholds for endangered populations. These models often make simplifying assumptions about the distribution of habitat (random) and the search for suitable habitat sites (random dispersal). We relaxed these two assumptions in a modeling approach that combines a metapopulation model with neutral landscape models of fractal habitat distributions. Dispersal success for suitable, unoccupied sites was higher on fractal landscapes for nearest-neighbor dispersers (moving through adjacent cells of the landscape) than for dispersers searching at random (random distance and direction between steps) on random landscapes. Consequently, species either did not suffer extinction thresholds or extinction thresholds occurred later, at lower levels of habitat abundance, than predicted previously. The exception is for species with limited demographic potential, owing to low reproductive output , in which extinction thresholds occurred sooner than on random landscapes in all but the most clumped fractal landscapes . Furthermore, the threshold was more precipitous for these species. Many species of conservation concern have limited demographic potential, and these species may be at greater risk from habitat loss and fragmentation than previously suspected.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"With","given":"Kimberly A."},{"family":"King","given":"Anthony W."}],"container-title":"Conservation Biology","DOI":"10.1046/j.1523-1739.1999.013002314.x","ISSN":"1523-1739","issue":"2","issued":{"date-parts":[[1999]]},"language":"en","note":"_eprint: https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1523-1739.1999.013002314.x","page":"314-326","source":"Wiley Online Library","title":"Extinction Thresholds for Species in Fractal Landscapes","type":"article-journal","URL":"https://conbio.onlinelibrary.wiley.com/doi/abs/10.1046/j.1523-1739.1999.013002314.x","volume":"13"}, + {"id":"zhengModellingDispersalDiffusion2009a","abstract":"Quantifying dispersal is crucial both for understanding ecological population dynamics, and for gaining insight into factors that affect the genetic structure of populations. The role of dispersal becomes pronounced in highly fragmented landscapes inhabited by spatially structured populations. We consider a landscape consisting of a set of habitat patches surrounded by unsuitable matrix, and model dispersal by assuming that the individuals follow a random walk with parameters that may be specific to the habitat type. We allow for spatial variation in patch quality, and account for edge-mediated behavior, the latter meaning that the individuals bias their movement towards the patches when close to an edge between a patch and the matrix. We employ a diffusion approximation of the random walk model to derive analytical expressions for various characteristics of the dispersal process. For example, we derive formulae for the time that an individual is expected to spend in its current patch i, and for the time that it will spend in the matrix, both conditional on the individual hitting next a given patch j before hitting any of the other patches or dying. The analytical formulae are based on the assumptions that the landscape is infinitely large, that the patches are circularly shaped, and that the patches are small compared to interpatch distances. We evaluate the effect of these assumptions by comparing the analytical results to numerical results in a real patch network that violates all of the three assumptions. We then consider a landscape that fulfills the assumptions, and show that in this case the analytical results are in a very good agreement with the numerical results. The results obtained here allow the construction of computationally efficient dispersal models that can be used as components of metapopulation models.","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Zheng","given":"Chaozhi"},{"family":"Pennanen","given":"Juho"},{"family":"Ovaskainen","given":"Otso"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2009.02.024","ISSN":"0304-3800","issue":"12","issued":{"date-parts":[[2009,6,24]]},"language":"en","page":"1495-1505","source":"ScienceDirect","title":"Modelling dispersal with diffusion and habitat selection: Analytical results for highly fragmented landscapes","title-short":"Modelling dispersal with diffusion and habitat selection","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380009001203","volume":"220"}, + {"id":"zhengModellingSingleNucleotide2009","abstract":"Dispersal comprises a complex life-history syndrome that influences the demographic dynamics of especially those species that live in fragmented landscapes, the structure of which may in turn be expected to impose selection on dispersal. We have constructed an individual-based evolutionary sexual model of dispersal for species occurring as metapopulations in habitat patch networks. The model assumes correlated random walk dispersal with edge-mediated behaviour (habitat selection) and spatially correlated stochastic local dynamics. The model is parametrized with extensive data for the Glanville fritillary butterfly. Based on empirical results for a single nucleotide polymorphism (SNP) in the phosphoglucose isomerase (Pgi) gene, we assume that dispersal rate in the landscape matrix, fecundity and survival are affected by a locus with two alleles, A and C, individuals with the C allele being more mobile. The model was successfully tested with two independent empirical datasets on spatial variation in Pgi allele frequency. First, at the level of local populations, the frequency of the C allele is the highest in newly established isolated populations and the lowest in old isolated populations. Second, at the level of sub-networks with dissimilar numbers and connectivities of patches, the frequency of C increases with decreasing network size and hence with decreasing average metapopulation size. The frequency of C is the highest in landscapes where local extinction risk is high and where there are abundant opportunities to establish new populations. Our results indicate that the strength of the coupling of the ecological and evolutionary dynamics depends on the spatial scale and is asymmetric, demographic dynamics having a greater immediate impact on genetic dynamics than vice versa.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Zheng","given":"Chaozhi"},{"family":"Ovaskainen","given":"Otso"},{"family":"Hanski","given":"Ilkka"}],"container-title":"Philosophical Transactions of the Royal Society B: Biological Sciences","container-title-short":"Philos Trans R Soc Lond B Biol Sci","DOI":"10.1098/rstb.2009.0005","ISSN":"0962-8436","issue":"1523","issued":{"date-parts":[[2009,6,12]]},"page":"1519-1532","PMCID":"PMC2690501","PMID":"19414467","source":"PubMed Central","title":"Modelling single nucleotide effects in phosphoglucose isomerase on dispersal in the Glanville fritillary butterfly: coupling of ecological and evolutionary dynamics","title-short":"Modelling single nucleotide effects in phosphoglucose isomerase on dispersal in the Glanville fritillary butterfly","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2690501/","volume":"364"}, + {"id":"zollnerBehavioralTradeoffsWhen2005","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Zollner","given":"Patrick A."},{"family":"Lima","given":"Steven L."}],"container-title":"OIKOS","issued":{"date-parts":[[2005]]},"language":"en","page":"219-230","source":"www.fs.usda.gov","title":"Behavioral tradeoffs when dispersing across a patchy landscape.","type":"article-journal","URL":"https://www.fs.usda.gov/treesearch/pubs/12821","volume":"108"}, + {"id":"zollnerLandscapelevelPerceptualAbilities1997","abstract":"We define perceptual range as the distance from which an animal can perceive key landscape elements, such as distant patches of forested habitat. We argue that perceptual range should be a determinant of not only dispersal success in unfamiliar or hostile landscapes, but also of several landscape-level ecological processes influencing population dynamics. To redress the absence of empirical information on perceptual ranges, we simulated the dispersal of forest-dwelling white-footed mice (Peromyscus leucopus) across an agricultural landscape by releasing mice into unfamiliar, hostile agricultural habitat at various distances from fragments of forested habitat. We found that these forest mice have a remarkably low perceptual range with regard to detecting their forested (core) habitat. Mice released into bare fields failed to even orient towards forested habitat as little as 30 m distant, while mice in crop fields appeared unable to locate forest habitat as little as 10 m distant. These mice seemed to locate forested habitat by vision, despite the availability of non-visual cues. Future work will undoubtedly demonstrate vast differences in landscape-level perceptual abilities among animals, and show clearly that the ecological effects of a given landscape configuration will be influenced by the behavioral attributes of the species in question.","author":[{"family":"Zollner","given":"P."},{"family":"Lima","given":"S. L."}],"container-title":"Oikos","DOI":"10.2307/3546515","issue":"1","issued":{"date-parts":[[1997]]},"page":"51-60","source":"Semantic Scholar","title":"Landscape-level perceptual abilities in white-footed mice : perceptual range and the detection of forested habitat","title-short":"Landscape-level perceptual abilities in white-footed mice","type":"article-journal","volume":"80"}, + {"id":"zollnerSearchStrategiesLandscapeLevel1999","abstract":"Ecologists need a better understanding of how animals make decisions about moving across landscapes. To this end, we developed computer simulations that contrast the effectiveness of various search strategies at finding habitat patches in idealized landscapes (uniform, random, or clumped patches), where searchers have different energy reserves and face different mortality risks. Nearly straight correlated random walks always produced better dispersal success than relatively uncorrelated random walks. However, increasing patch density decreased the degree of correlation that maximized dispersal success. Only under high mortality and low energy reserves in a uniform landscape did absolutely straight-line search perform better than any random walk. With low mortality risks and high energy reserves, exhaustive systematic search was superior to the best correlated random walk; an increase in the perceptual range of the searcher (i.e., patch detectability) also favored exhaustive search over relatively straight random walks. For all conditions examined, the “average distance rule,” a hybrid search rule incorporating both straight-line and systematic search, was best. Overall, however, our results suggest that a simple and effective search rule for many landscape-explicit models would involve straight or nearly straight movements.","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Zollner","given":"Patrick"},{"family":"Lima","given":"Steven L."}],"container-title":"Ecology","DOI":"10.1890/0012-9658(1999)080[1019:SSFLLI]2.0.CO;2","ISSN":"1939-9170","issue":"3","issued":{"date-parts":[[1999]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/0012-9658%281999%29080%5B1019%3ASSFLLI%5D2.0.CO%3B2","page":"1019-1030","source":"Wiley Online Library","title":"Search Strategies for Landscape-Level Interpatch Movements","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/0012-9658%281999%29080%5B1019%3ASSFLLI%5D2.0.CO%3B2","volume":"80"}, + {"id":"zotero-2098","type":"article-journal"}, + {"id":"zurellStaticSpeciesDistribution2009","abstract":"It is widely acknowledged that species respond to climate change by range shifts. Robust predictions of such changes in species’ distributions are pivotal for conservation planning and policy making, and are thus major challenges in ecological research. Statistical species distribution models (SDMs) have been widely applied in this context, though they remain subject to criticism as they implicitly assume equilibrium, and incorporate neither dispersal, demographic processes nor biotic interactions explicitly. In this study, the effects of transient dynamics and ecological properties and processes on the prediction accuracy of SDMs for climate change projections were tested. A spatially explicit multi-species dynamic population model was built, incorporating species-specific and interspecific ecological processes, environmental stochasticity and climate change. Species distributions were sampled in different scenarios, and SDMs were estimated by applying generalised linear models (GLMs) and boosted regression trees (BRTs). Resulting model performances were related to prevailing ecological processes and temporal dynamics. SDM performance varied for different range dynamics. Prediction accuracies decreased when abrupt range shifts occurred as species were outpaced by the rate of climate change, and increased again when a new equilibrium situation was realised. When ranges contracted, prediction accuracies increased as the absences were predicted well. Far-dispersing species were faster in tracking climate change, and were predicted more accurately by SDMs than short-dispersing species. BRTs mostly outperformed GLMs. The presence of a predator, and the inclusion of its incidence as an environmental predictor, made BRTs and GLMs perform similarly. Results are discussed in light of other studies dealing with effects of ecological traits and processes on SDM performance. Perspectives are given on further advancements of SDMs and for possible interfaces with more mechanistic approaches in order to improve predictions under environmental change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Zurell","given":"Damaris"},{"family":"Jeltsch","given":"Florian"},{"family":"Dormann","given":"Carsten F."},{"family":"Schröder","given":"Boris"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2009.05810.x","ISSN":"1600-0587","issue":"5","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.05810.x","page":"733-744","source":"Wiley Online Library","title":"Static species distribution models in dynamically changing systems: how good can predictions really be?","title-short":"Static species distribution models in dynamically changing systems","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2009.05810.x","volume":"32"}, + {"id":"zurellUncertaintyPredictionsRange2012a","abstract":"Empirical species distribution models (SDMs) constitute often the tool of choice for the assessment of rapid climate change effects on species’ vulnerability. Conclusions regarding extinction risks might be misleading, however, because SDMs do not explicitly incorporate dispersal or other demographic processes. Here, we supplement SDMs with a dynamic population model 1) to predict climateâ€induced range dynamics for black grouse in Switzerland, 2) to compare direct and indirect measures of extinction risks, and 3) to quantify uncertainty in predictions as well as the sources of that uncertainty. To this end, we linked models of habitat suitability to a spatially explicit, individualâ€based model. In an extensive sensitivity analysis, we quantified uncertainty in various model outputs introduced by different SDM algorithms, by different climate scenarios and by demographic model parameters. Potentially suitable habitats were predicted to shift uphill and eastwards. By the end of the 21st century, abrupt habitat losses were predicted in the western Prealps for some climate scenarios. In contrast, population size and occupied area were primarily controlled by currently negative population growth and gradually declined from the beginning of the century across all climate scenarios and SDM algorithms. However, predictions of population dynamic features were highly variable across simulations. Results indicate that inferring extinction probabilities simply from the quantity of suitable habitat may underestimate extinction risks because this may ignore important interactions between life history traits and available habitat. Also, in dynamic range predictions uncertainty in SDM algorithms and climate scenarios can become secondary to uncertainty in dynamic model components. Our study emphasises the need for principal evaluation tools like sensitivity analysis in order to assess uncertainty and robustness in dynamic range predictions. A more direct benefit of such robustness analysis is an improved mechanistic understanding of dynamic species’ responses to climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Zurell","given":"Damaris"},{"family":"Grimm","given":"Volker"},{"family":"Rossmanith","given":"Eva"},{"family":"Zbinden","given":"Niklaus"},{"family":"Zimmermann","given":"Niklaus E."},{"family":"Schröder","given":"Boris"}],"ISSN":"0906-7590","issued":{"date-parts":[[2012]]},"language":"en","source":"pubag.nal.usda.gov","title":"Uncertainty in predictions of range dynamics: black grouse climbing the Swiss Alps","title-short":"Uncertainty in predictions of range dynamics","type":"article-journal","URL":"https://pubag.nal.usda.gov/catalog/517524"} +] diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_flowchart.png b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..f8c9555004386ea494f58c1bd2c458242c71025e GIT binary patch literal 56781 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%0AYAOli=}si;OoMYxC%{O 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 GGywn?4}r)4 literal 0 HcmV?d00001 diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/ecography.csl b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/ecography.csl new file mode 100644 index 0000000..3e4f59e --- /dev/null +++ b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/ecography.csl @@ -0,0 +1,17 @@ + + diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/skeleton.Rmd b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/skeleton.Rmd new file mode 100644 index 0000000..cbdc496 --- /dev/null +++ b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/skeleton.Rmd @@ -0,0 +1,1434 @@ +--- +title: "ODD protocol" +output: + md_document: + toc: TRUE + word_document: + reference_docx: style-template.docx + toc: TRUE + rtf_document: + toc: TRUE + pdf_document: + latex_engine: xelatex + toc: TRUE + keep_md: TRUE +params: + format: "word" +bibliography: RS_ODD.json +csl: ecography.csl +--- +`r if(params$format!="md"){" +"}` + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = TRUE) + +# global output settings +output_format <- params$format + +# Environmental stochasticity +environmental_stochasticity <- F +env_stoch_loc <- F +env_stoch_K <- F +env_stoch_R <- F + +# Outputs +output_range <- F +output_occ <- F +output_pop <- F +output_ind <- F +output_conn <- F +output_paths <- F +output_heatmaps <-F + +# landscape parameters +local_ext_prob <- F +arti_land <- F +arti_land_continuous <- F +real_land <- F +cell_based <- FALSE +patch_based <- F +habitat_type <- FALSE +habitat_quality <- F +dynamic_landscape <- F +resolution <- "" + +#population dynamics +stage_structured <- F +sexual <- F +only_female <- F +asexual <- F +rep_seasons <- 1 +rep_interval <- 0 +mating_simple <- F +mating_complex <- F +demography_sexdep <- F +repro_densdep <- F +repro_stagedep <- F +survival_densdep <- F +survival_stagedep <- F +survival_schedule <- 1 +develop_densdep <- F +develop_stagedep <- F + +# transfer TODO: check ups, e.g. if SMS T -> movement_model T +dispersal_kernel <- F +dispersal_kernel_simple <- F +dispersal_kernel_mixed <- F +movement_model <- F +movement_SMS <- F +movement_corrRW <- F +movement_cost <- F +movement_cost_file <- F +movement_SMS_PRmethod <- 0 +goal_type <- 0 + +# settlement +max_steps <- F +min_steps <- F +step_mortality <- F +mate_finding <- F +settlement_densdep <- F +settlement_stagedep <- F +settlement_sexdep <- F + +# emigration +emigration_densdep <- F +emigration_sexdep <- F +emigration_stagedep <- F + + +``` + +```{r, echo =FALSE} +# environmental stochasticity +if(s@simul@EnvStoch==0) environmental_stochasticity <- F +if(s@simul@EnvStoch==1) {environmental_stochasticity <- T; env_stoch_loc <- F} +if(s@simul@EnvStoch==2) {environmental_stochasticity <- T; env_stoch_loc <- T} +if(s@simul@EnvStochType==0) {env_stoch_R <- T; env_stoch_K <- F} +if(s@simul@EnvStochType==1) {env_stoch_R <- F; env_stoch_K <- T} + +# outputs +if(s@simul@OutIntRange>=1) output_range <- T +if(s@simul@OutIntOcc>=1) output_occ <- T +if(s@simul@OutIntPop>=1) output_pop <- T +if(s@simul@OutIntInd>=1) output_ind <- T +if(s@simul@OutIntConn>=1) output_conn <- T +if(s@simul@OutIntPaths>=1) output_paths <- T +if(s@simul@SMSHeatMap>=1) output_heatmaps <- T + +# landscape +if(class(s@land)=="ArtificialLandscape") { + arti_land <- T + if (s@land@continuous) arti_land_continuous <- T + } +if(class(s@land)=="ImportedLandscape") real_land <- T +if(class(s@land)=="ImportedLandscape" & length(s@land@DynamicLandYears)>1) dynamic_landscape <- T +if(length(s@land@PatchFile)==0) cell_based <- T +if(length(s@land@PatchFile)!=0) patch_based <- T +if(s@land@HabPercent) habitat_quality <- T else habitat_type <- T +if(s@simul@LocalExt) local_ext_prob <- T + +resolution <- paste(s@land@Resolution, "m x ", s@land@Resolution,"m", sep="") + +# demography +if(s@demog@ReproductionType==0) {asexual <- T; only_female <- T} +if(s@demog@ReproductionType==1) {sexual <- T; mating_simple <- T} +if(s@demog@ReproductionType==2) {sexual <- T; mating_complex <- T} +if(s@demog@Rmax<0){ + stage_structured <- T + survival_schedule <- s@demog@StageStruct@SurvSched + rep_seasons <- s@demog@StageStruct@RepSeasons + rep_interval <- s@demog@StageStruct@RepInterval + if(s@demog@StageStruct@FecDensDep) repro_densdep <- T + if(s@demog@StageStruct@SurvDensDep) survival_densdep <- T + if(s@demog@StageStruct@DevDensDep) develop_densdep <- T + if(s@demog@StageStruct@FecStageWts) repro_stagedep <- T + if(s@demog@StageStruct@SurvStageWts) survival_stagedep <- T + if(s@demog@StageStruct@DevStageWts) develop_stagedep <- T +} + +# dispersal +# emigration +if(s@dispersal@Emigration@DensDep) emigration_densdep <- T +if(s@dispersal@Emigration@SexDep) emigration_sexdep <- T +if(s@dispersal@Emigration@StageDep) emigration_stagedep <- T + +# transfer +if(class(s@dispersal@Transfer)=="DispersalKernel") { + dispersal_kernel <- T + if(s@dispersal@Transfer@DoubleKernel) {dispersal_kernel_mixed <- T} else {dispersal_kernel_simple <- T} +} +if(class(s@dispersal@Transfer)=="CorrRW") { + movement_model <- T + movement_corrRW <- T + if(length(s@dispersal@Transfer@StepMort)>1){ + step_mortality <- T + } else if (s@dispersal@Transfer@StepMort>0){ + step_mortality <- T + } + if(s@dispersal@Settlement@MinSteps>0) min_steps <- T + if(s@dispersal@Settlement@MaxSteps>0) max_steps <- T +} + +if(class(s@dispersal@Transfer)=="StochMove"){ + movement_model <- T + movement_SMS <- T + goal_type <- s@dispersal@Transfer@GoalType + if(sum(s@dispersal@Transfer@Costs)>0) movement_cost <- T + if(!is.null(s@land@CostsFile)) {movement_cost_file <- T; movement_cost <- T} + if(length(s@dispersal@Transfer@StepMort)>1){ + step_mortality <- T + } else if (s@dispersal@Transfer@StepMort>0){ + step_mortality <- T + } + movement_SMS_PRmethod <- s@dispersal@Transfer@PRMethod + if(s@dispersal@Settlement@MinSteps>0) min_steps <- T + if(s@dispersal@Settlement@MaxSteps>0) max_steps <- T +} + +# settlement +if(s@dispersal@Settlement@DensDep) settlement_densdep <- T +if(s@dispersal@Settlement@SexDep) settlement_sexdep <- T +if(s@dispersal@Settlement@StageDep) settlement_stagedep <- T +if(any(s@dispersal@Settlement@FindMate)) mate_finding <- T + +``` + + + +# Purpose and patterns + +The RangeShifter model is a single species, spatially-explicit and stochastic individual-based model (IBM), built around the integration of two fundamental components: population dynamics and dispersal behaviour. +In this specific use case, population dynamics, represented as `r if(stage_structured){"stage-structured, "}` `r if(only_female){"only-female populations, "}` `r if(stage_structured){"with overlapping generations, "}` and dispersal (explicitly modeled in its three phases of emigration, transfer and settlement`r if(settlement_densdep | emigration_densdep | settlement_sexdep | emigration_sexdep | settlement_sexdep | emigration_sexdep){" accounting for "}``r if(settlement_densdep | emigration_densdep){"context dependency, "}``r if(settlement_sexdep | emigration_sexdep){"sex specificity, "}``r if(settlement_stagedep | emigration_stagedep){"stage specificity"}`) are played out on top of gridded multi-habitat landscape. + +`r if(environmental_stochasticity){"This landscape includes environmental stochasticity."}` + +Individuals are the basic entity of the model. + +# Entities, state variables and scales + +## Individuals + +Individuals are the basic entities of the RangeShifter model. Each individual has a unique ID number and, in this specific use case, is defined by the following state variables: + +* status + +* initial (natal) and current location + +`r if (sexual){"* sex \n"}` +* age `r if(stage_structured){" and stage"}` + +## Popuations + +Populations are defined by the individuals occupying `r if (cell_based){"a single cell"}``r if(patch_based){"a single patch"}` and they represent the scale at which individuals interact and density dependencies act. Populations are characterized by their size and location`r if(sexual){" and by the number of individuals of each sex"}``r if(stage_structured){" and the number in each stage class"}`. + +## Landscape units + +The model runs over a grid-based map. +In this specifc use case, each cell stores `r if(habitat_type){"a particular land-cover type (which can be breeding habitat for the species or otherwise)"}``r if(habitat_quality){"a habitat quality index"}`. Each cell is defined as suitable or not suitable for a species based on the presence/absence of habitat, and it is characterized by a species’ nature of demographic density dependence. +`r if(environmental_stochasticity & !movement_cost & !local_ext_prob){"An additional state variable is an environmental noise value $\\epsilon$."}` +`r if(!environmental_stochasticity & movement_cost & !local_ext_prob){"An additional state variable is the cost of movement through the cell."}` +`r if(!environmental_stochasticity & !movement_cost & local_ext_prob){"An additional state variable is the local extinction probability."}` +`r if(environmental_stochasticity & movement_cost & !local_ext_prob){"Additional state variables are: an environmental noise value $\\epsilon$, the cost of movement through the cell."}` +`r if(!environmental_stochasticity & movement_cost & local_ext_prob){"Additional state variables are: the cost of movement through the cell and local extinction probability."}` +`r if(!environmental_stochasticity & !movement_cost & local_ext_prob){"Additional state variables are: an environmental noise value $\\epsilon$ and local extinction probability."}` +`r if(environmental_stochasticity & movement_cost & local_ext_prob){"Additional state variables are:an environmental noise value $\\epsilon$, the cost of movement through the cell and local extinction probability."}` + + +`r if(patch_based){"The model is patch-based. Each patch is a higher-level entity composed of a group of one or more cells (typically adjacent, although that is not a necessary condition). A patch is characterized by a unique ID number, the number of cells that it contains, a list of these cells’ coordinates and its maximum and minimum x and y coordinates. The species’ demographic density dependence is a characteristic of the patch and not of the cell."}` + +`r if(habitat_type & output_format=="pdf"){" +$\\color{red}{\\text{You might want to add the land cover types here.}}$ +"}` + +`r if(habitat_type & output_format=="word"){ + "**You might want to add the land cover types here.**" +}` + +`r if(habitat_type & output_format=="md"){ + "**You might want to add the land cover types here.**" +}` + +## Spatial and temporal scales + +The cell size (resolution) is `r resolution`. +`r if(cell_based){"The cell resolution represents the spatial scale at which the two fundamental processes of population dynamics and dispersal occur. This means that the density dependency in the model"}``r if(cell_based & (repro_densdep | survival_densdep | emigration_densdep | settlement_densdep)){" (on "}``r if(cell_based & repro_densdep & !survival_densdep & !emigration_densdep & !settlement_densdep){" reproduction"}``r if(cell_based & !repro_densdep & survival_densdep & !emigration_densdep & !settlement_densdep){"survival"}``r if(cell_based & !repro_densdep & !survival_densdep & emigration_densdep & !settlement_densdep){"emigration"}``r if(cell_based & !repro_densdep & !survival_densdep & !emigration_densdep & settlement_densdep){"settlement"}``r if(cell_based & repro_densdep & survival_densdep & !emigration_densdep & !settlement_densdep){"reproduction and survival"}``r if(cell_based & repro_densdep & !survival_densdep & emigration_densdep & !settlement_densdep){"reproduction and emigration"}``r if(cell_based & repro_densdep & !survival_densdep & !emigration_densdep & settlement_densdep){"reproduction and settlement"}``r if(cell_based & !repro_densdep & survival_densdep & emigration_densdep & !settlement_densdep){"survival and emigration"}``r if(cell_based & !repro_densdep & survival_densdep & !emigration_densdep & settlement_densdep){"survival and settlement"}``r if(cell_based & !repro_densdep & !survival_densdep & emigration_densdep & settlement_densdep){"emigration and settlement"}``r if(cell_based & repro_densdep & survival_densdep & emigration_densdep & !settlement_densdep){"reproduction, survival and emigration"}``r if(cell_based & repro_densdep & survival_densdep & !emigration_densdep & settlement_densdep){"reproduction, survival and settlement"}``r if(cell_based & repro_densdep & !survival_densdep & emigration_densdep & settlement_densdep){"reproduction, emigration and settlement"}``r if(cell_based & !repro_densdep & survival_densdep & emigration_densdep & settlement_densdep){"survival, emigration and settlement"}``r if(cell_based & repro_densdep & survival_densdep & emigration_densdep & settlement_densdep){"reproduction, survival, emigration and settlement"}``r if(cell_based & (repro_densdep | survival_densdep | emigration_densdep | settlement_densdep)){")"}``r if(cell_based){" acts at the cell scale and the same scale is used as a single step unit for discrete movement models."}``r if(patch_based){"Two spatial scales are simultaneously represented in the patch-based model: the cell scale, which in this case is used just for the transfer phase of dispersal (movements) and the patch scale, at which the density dependencies are acting"}``r if(patch_based & (repro_densdep | survival_densdep | emigration_densdep | settlement_densdep)){" (on "}``r if(patch_based & repro_densdep & !survival_densdep & !emigration_densdep & !settlement_densdep){" reproduction"}``r if(patch_based & !repro_densdep & survival_densdep & !emigration_densdep & !settlement_densdep){"survival"}``r if(patch_based & !repro_densdep & !survival_densdep & emigration_densdep & !settlement_densdep){"emigration"}``r if(patch_based & !repro_densdep & !survival_densdep & !emigration_densdep & settlement_densdep){"settlement"}``r if(patch_based & repro_densdep & survival_densdep & !emigration_densdep & !settlement_densdep){"reproduction and survival"}``r if(patch_based & repro_densdep & !survival_densdep & emigration_densdep & !settlement_densdep){"reproduction and emigration"}``r if(patch_based & repro_densdep & !survival_densdep & !emigration_densdep & settlement_densdep){"reproduction and settlement"}``r if(patch_based & !repro_densdep & survival_densdep & emigration_densdep & !settlement_densdep){"survival and emigration"}``r if(patch_based & !repro_densdep & survival_densdep & !emigration_densdep & settlement_densdep){"survival and settlement"}``r if(patch_based & !repro_densdep & !survival_densdep & emigration_densdep & settlement_densdep){"emigration and settlement "}``r if(patch_based & repro_densdep & survival_densdep & emigration_densdep & !settlement_densdep){"reproduction, survival and emigration"}``r if(patch_based & repro_densdep & survival_densdep & !emigration_densdep & settlement_densdep){"reproduction, survival and settlement"}``r if(patch_based & repro_densdep & !survival_densdep & emigration_densdep & settlement_densdep){"reproduction, emigration and settlement"}``r if(patch_based & !repro_densdep & survival_densdep & emigration_densdep & settlement_densdep){"survival, emigration and settlement"}``r if(patch_based & repro_densdep & survival_densdep & emigration_densdep & settlement_densdep){"reproduction, survival, emigration and settlement"}``r if(patch_based & (repro_densdep | survival_densdep | emigration_densdep | settlement_densdep)){")"}``r if(patch_based){"."}` +There are three distinct temporal scales. The highest-level one has years as units`r if(environmental_stochasticity){" and represents the scale at which variations in the abiotic environment are modeled"}`. The intermediate scale is the species’ reproductive season. The model simulates `r if(rep_seasons==1){"1 reproductive season"} else{cat(rep_seasons, "reproductive seasons")}` per year. `r if(movement_model){"Finally, the smallest time scale is represented by the number of steps that emigrants take during the movement phase of dispersal. This is determined by "}``r if(max_steps & !step_mortality){"the maximum number of steps."}``r if(!max_steps & step_mortality){"the per-step mortality."}``r if(max_steps & step_mortality){"the maximum number of steps and per-step mortality."}` + +\newpage + +# Process overview and scheduling + +![General model workflow and schedule. The core of the model highlighted in blue is expanded in the flow chart in Fig. 2](./RS_flowchart.png){width=50%, height=50%} + +\newpage + +![General flowchart of the core model](./RS_flowchart_2.png){width=50%, height=50%} + +\newpage + +`r if(stage_structured){"At the beginning of each year, reproduction is the first process to be modelled."}` `r if(stage_structured & survival_schedule==0){"Survival and development of all the stages (apart from stage 0) occur simultaneously with reproduction, followed by dispersal and finally survival and development of stage 0. Individuals age at the end of each year."}` `r if(stage_structured & survival_schedule==1){"Reproduction is followed by dispersal. After each reproductive season, survival and successive development of all the stages are modelled. Aging occurs at the end of the year."}` `r if(stage_structured & survival_schedule==2){"Reproduction is followed by dispersal after each reproductive event. Survival and development of all stages happen only at the end of all reproductive seasons, followed by aging at the end of the year."}` + +# Design concepts + +## Basic principles + +`r if(arti_land){"### Fractal landscape + +To generate fractal landscapes, the midpoint displacement algorithm [@saupeAlgorithmsRandomFractals1988] is applied, adapted to allow for the generation of elongated landscapes. This fractal method has proven useful as a null model to investigate population responses to landscape changes such as habitat loss and fragmentation [@withExtinctionThresholdsSpecies1999; @plotnickGeneralModelSimulating2002]. Fractal landscapes are characterized by possessing greater structure than a completely random landscape, but less than a completely deterministic one [@withApplicationNeutralLandscape1997]."}` + +`r if(environmental_stochasticity){"### Environmental stochasticity + +Temporal environmental stochasticity is a ubiquitous and fundamental factor affecting both ecological and evolutionary processes acting at all levels of biological organization, from individuals to ecosystems [@vasseurColorEnvironmentalNoise2004; @ruokolainenEcologicalEvolutionaryDynamics2009]. Importantly, it has been demonstrated to interact with the density dependence of a species’ demography to influence population dynamics profoundly, and, as consequence, extinction risk [@ruokolainenEcologicalEvolutionaryDynamics2009]. In particular, in unstructured populations, red noise (low frequency fluctuations) is predicted to increase extinction risk, especially in a population having under-compensatory dynamics [@ripaNoiseColourRisk1996; @johstExtinctionRiskTemporally1997; @schwagerDoesRedNoise2006; @heinoExtinctionRiskColoured2000a; @greenmanImpactEnvironmentalFluctuations2005; @fowlerConfoundingEnvironmentalColour2013]. This body of theory has focused on local populations, and there has been much less effort devoted to understanding how inter-annual variability influences species’ large-scale responses to climate change. One recent model shows that red noise can increase species’ regional extinction risks under periods of climate change [@mustinRedNoiseIncreases2013]. By incorporating inter-annual variability, RangeShifter provides an ideal platform for generating improved knowledge relating to eco-evolutionary responses to environmental changes in the presence of inter-annual variability. +There is evidence that inter-annual variability in weather is increasing and is expected to increase further and also to redden under climate change [@easterlingClimateExtremesObservations2000; @coumouDecadeWeatherExtremes2012; @hansenPerceptionClimateChange2012]. Despite its importance as a selective pressure and in determining a species’ extinction risk, especially for small fragmented populations already stressed by anthropogenic disturbances, environmental stochasticity has rarely been included in models that try to make predictions regarding species’ future distribution and persistence [@mclaughlinClimateChangeHastens2002; @verboomPopulationDynamicsIncreasing2010]. Please see the submodel description for further details."}` + +### Population dynamics + +Demographic stochasticity is fundamentally important for the dynamics of populations that are naturally small or have declined to low abundances owing to anthropogenic pressures. Additionally, inter-individual variability within populations can have a major influence on dynamics. Modelling stochastic events that happen to individuals is crucial for avoiding systematic overestimation of population viability or rate of spread [@clarkInvasionExtremesPopulation2001; @kendallUnstructuredIndividualVariation2003; @robertVariationIndividualsDemographic2003; @grimmIndividualbasedModelingEcology2005; @jongejansDispersalDemographySpatial2008; @travisImprovingPredictionManagement2011a]. Thus, population dynamics in RangeShifter were constructed to be fully individual-based and stochastic. Each reproductive individual produces a discrete number of offspring sampled from a Poisson distribution with a mean that is influenced by the species’ demographic parameters and the local population density. + +### Definition of populations + +`r if(cell_based){"The cell is the scale at which processes such as population dynamics and dispersal act. The individuals present in a cell define a distinct population, and density-dependencies "}``r if(cell_based & repro_densdep & emigration_densdep & settlement_densdep){"for reproduction, emigration and settlement all "}``r if(cell_based & repro_densdep & emigration_densdep & !settlement_densdep){"for reproduction and emigration both "}``r if(cell_based & repro_densdep & !emigration_densdep & settlement_densdep){"for reproduction and settlement both "}``r if(cell_based & !repro_densdep & emigration_densdep & settlement_densdep){"for emigration and settlement both "}``r if(cell_based & repro_densdep & !emigration_densdep & !settlement_densdep){"for reproduction "}``r if(cell_based & !repro_densdep & emigration_densdep & !settlement_densdep){"for emigration "}``r if(cell_based & !repro_densdep & !emigration_densdep & settlement_densdep){"for settlement "}``r if(cell_based){"operate at this scale. Even in the case where two habitat cells are adjacent, they still hold separate populations. + +A cell-based model provides an excellent abstraction of space for many theoretical studies. +"}` + +`r if(patch_based){"Population dynamics happen at the patch level, a patch being an assemblage of landscape cells of potentially different habitat types or quality. Patches are not defined automatically. Rather, the definition which cells belong to which patch is obtained by an additional patch file, taking into account the ecological understanding of the study species. Density-dependencies "}``r if(patch_based & repro_densdep & emigration_densdep & settlement_densdep & !develop_densdep & !survival_densdep){"regarding reproduction, emigration and settlement "}``r if(patch_based & repro_densdep & emigration_densdep & !settlement_densdep & !develop_densdep & !survival_densdep){"regarding reproduction and emigration "}``r if(patch_based & repro_densdep & !emigration_densdep & settlement_densdep & !develop_densdep & !survival_densdep){"regarding reproduction and settlement "}``r if(patch_based & !repro_densdep & emigration_densdep & settlement_densdep & !develop_densdep & !survival_densdep){"regarding emigration and settlement "}``r if(patch_based & repro_densdep & !emigration_densdep & !settlement_densdep & !develop_densdep & !survival_densdep){"regarding reproduction "}``r if(patch_based & !repro_densdep & emigration_densdep & !settlement_densdep & !develop_densdep & !survival_densdep){"regarding emigration "}``r if(patch_based & !repro_densdep & !emigration_densdep & settlement_densdep & !develop_densdep & !survival_densdep){"regarding settlement "}` + +`r if(patch_based & repro_densdep & emigration_densdep & settlement_densdep & develop_densdep & !survival_densdep){"regarding reproduction, development, emigration and settlement "}``r if(patch_based & repro_densdep & emigration_densdep & settlement_densdep & !develop_densdep & survival_densdep){"regarding reproduction, emigration, settlement and survival "}``r if(patch_based & repro_densdep & emigration_densdep & settlement_densdep & develop_densdep & survival_densdep){"regarding reproduction, development, emigration, settlement and survival "}``r if(patch_based & repro_densdep & emigration_densdep & !settlement_densdep & !develop_densdep & survival_densdep){"regarding reproduction, emigration and survival "}``r if(patch_based & repro_densdep & emigration_densdep & !settlement_densdep & develop_densdep & !survival_densdep){"regarding reproduction, development and emigration "}``r if(patch_based & repro_densdep & emigration_densdep & !settlement_densdep & develop_densdep & survival_densdep){"regarding reproduction, development, emigration and survival "}``r if(patch_based & repro_densdep & !emigration_densdep & settlement_densdep & develop_densdep & !survival_densdep){"regarding reproduction,development and settlement "}``r if(patch_based & repro_densdep & !emigration_densdep & settlement_densdep & !develop_densdep & survival_densdep){"regarding reproduction, settlement and survival "}``r if(patch_based & repro_densdep & !emigration_densdep & settlement_densdep & develop_densdep & survival_densdep){"regarding reproduction, development, settlement and survival "}``r if(patch_based & !repro_densdep & emigration_densdep & settlement_densdep & !develop_densdep & survival_densdep){"regarding development, emigration and settlement "}``r if(patch_based & !repro_densdep & emigration_densdep & settlement_densdep & develop_densdep & !survival_densdep){"regarding emigration, settlement and survival "}``r if(patch_based & !repro_densdep & emigration_densdep & settlement_densdep & develop_densdep & survival_densdep){"regarding development, emigration, settlement and survival "}``r if(patch_based & repro_densdep & !emigration_densdep & !settlement_densdep & !develop_densdep & survival_densdep){"regarding reproduction and survival "}``r if(patch_based & repro_densdep & !emigration_densdep & !settlement_densdep & develop_densdep & !survival_densdep){"regarding reproduction and development "}``r if(patch_based & repro_densdep & !emigration_densdep & !settlement_densdep & develop_densdep & survival_densdep){"regarding reproduction, development and survival "}``r if(patch_based & !repro_densdep & emigration_densdep & !settlement_densdep & !develop_densdep & survival_densdep){"regarding emigration and survival "}``r if(patch_based & !repro_densdep & emigration_densdep & !settlement_densdep & develop_densdep & !survival_densdep){"regarding development and emigration "}``r if(patch_based & !repro_densdep & emigration_densdep & !settlement_densdep & develop_densdep & survival_densdep){"regarding development, emigration and survival "}``r if(patch_based & !repro_densdep & !emigration_densdep & settlement_densdep & !develop_densdep & survival_densdep){"regarding settlement and survival "}``r if(patch_based & !repro_densdep & !emigration_densdep & settlement_densdep & develop_densdep & !survival_densdep){"regarding development and settlement "}``r if(patch_based & !repro_densdep & !emigration_densdep & settlement_densdep & develop_densdep & survival_densdep){"regarding development, settlement and survival "}``r if(patch_based){"will depend on the density of individuals in a patch. However, discrete step-wise movements during the transfer phase will always use the cell as the resolution at which steps occur, thus retaining important information about the landscape heterogeneity. + +The patch-based implementation allows separating the scales used for population dynamics and movements. In this case, the landscape can be modelled at very fine resolution in order to capture the features that are likely to influence movements (e.g. narrow linear features) without constraining the local population dynamics to operate at too small a scale."}` + +`r if(!stage_structured){"### Population structure + +Implementing non-overlapping generations which are not stage-structured is the appropriate way to model species that have discrete generations. At each generation the life cycle comprises: reproduction, death of the adults and offspring dispersal (in that order). These discrete generation models can be applied to asexual species, species for which it is assumed that females play the dominant role in spatial dynamics and for species for which it is considered crucial to model both sexes explicitly."}` + +`r if(stage_structured){"### Population structure + +Implementing overlapping generations which are stage-structured is the appropriate choice for species in which generations can overlap and individuals can be classified in different stages (e.g. immature vs. breeding individuals) differing in their demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity, survival and probability of developing to the next stage. The parameters are provided through classical transition matrices [@caswellMatrixPopulationModels2001a]. However, in RangeShifter, these are not solved analytically as is typical for matrix models but, instead, the parameters are applied stochastically in an individual-based fashion. Presenting the demographic parameters in the standard matrix notation, Bocedi et al. [-@bocediRangeShifterPlatformModelling2014] believed to ease parameterization, as most population modellers are used to matrix models and, additionally, the number of parameters is kept to the minimum. It has the further important benefit of helping bridging the gap between analytical models and IBMs, the joint use of which has considerable potential, especially for improving modelling for conservation [@travisImprovingPredictionManagement2011a]."}` + +### Dispersal + +Dispersal is defined as movement leading to spatial gene flow, and it typically involves three phases: emigration, transfer and settlement [@stensethAnimalDispersalSmall1992; @clobertDispersal2001; @bowlerCausesConsequencesAnimal2005a; @ronceHowDoesIt2007a]. The key role of dispersal in species persistence and responses to environmental change is increasingly recognized [@travisDispersalSpeciesResponses2014]. Moreover, the importance of modelling dispersal as a complex process, explicitly considering its three phases, each of which has its own mechanisms and costs, has been recently highlighted [@bonteCostsDispersal2012a; @travisModellingDispersalEcoevolutionary2012a; @travisDispersalSpeciesResponses2014]. The implementation of the dispersal process in RangeShifter is based on these recent frameworks and the substantial dispersal theory that has been developed so far [@clobertDispersalEcologyEvolution2012a]. + +#### Emigration + +Emigration is the first phase of dispersal. Emigration itself can be a complex process determined by multiple proximate and ultimate causes. Multiple emigration strategies can be present across the species’ range, inside a single population or even within the same individual in form of plastic emigration behaviour. + +The theory on emigration accounts for context dependencies, plasticity and inter-individual variability in emigration strategies. Much work has been conducted to understand the role of density dependence in emigration [@travisEvolutionDensitydependentDispersal1999; @metzHowShouldWe2001; @poethkeEvolutionDensityPatch2002;@matthysenDensitydependentDispersalBirds2005; @kunEvolutionDensityDependentDispersal2006; @chaput-bardyConditionPhenotypeDependentDispersal2010; @demeesterInformationUseDensitydependent2010]. + +In RangeShifter, emigration is modelled as the probability that an individual will leave its natal patch during the present year (or season). See the description of the submodel for further details. + +#### Transfer + +Transfer is the second phase of dispersal, and consists of the movement of an individual starting from when it emigrates from its natal patch and ending with settlement in another patch or mortality. The main components of this phase are the individual movement ability and navigation capacity in response to the characteristics of the environment. The interaction between these components and their associated costs will determine the distance moved, the movement path and the chance of surviving the transfer phase. + +Understanding and modelling how species move is not a simple task, and, perhaps more than for the other phases of dispersal, much effort has been spent in two separate and not always interacting fields: dispersal ecology [@travisMechanisticUnderstandingDispersal2010] and movement ecology [@nathanMovementEcologyParadigm2008a]. While the former seeks to understand movements as a part of the dispersal process and has often described transfer with phenomenological dispersal kernels (but see recent developments in fitting mechanistic kernels: [@schurrHowRandomDispersal2012]), the latter is more focused on understanding the mechanisms of the movement process itself, even though recent emphasis has been put on the consequences of movements for population dynamics [@moralesBuildingBridgeAnimal2010a]. Modelling dispersal in IBMs needs to draw from both fields. + +`r if(dispersal_kernel){" +Phenomenological dispersal kernels were used to model the transfer phase.Dispersal kernels are statistical distributions that are largely used to describe dispersal distances. For a comprehensive review about theory and empirical estimation of dispersal kernels we refer to Clobert et al. [-@clobertDispersalEcologyEvolution2012a], Part IV. + +Dispersal kernels have been largely used in dispersal ecology both for describing dispersal patterns and for theoretical studies, as well as in metapopulation theory. Recently they have been incorporated in species distribution models [@travisDispersalSpeciesResponses2014], either at population or individual level [@keithPredictingExtinctionRisks2008; @andersonDynamicsRangeMargins2009; @englerMigClimPredictingPlant2009; @willisDynamicDistributionModelling2009; @mitikkaRangeExpansionEuropean2010; @boulangeatAccountingDispersalBiotic2012; @pagelForecastingSpeciesRanges2012a; @schurrHowUnderstandSpecies2012]. The main assumption behind dispersal kernels is that the principal determinant of the probability of an individual dispersing to a particular site is the distance from the starting location. However, it is well recognized and supported by data [@hovestadtEvolutionEmergenceDispersal2012; @baguetteIndividualDispersalLandscape2013], that in most cases realized kernels are the results of multiple factors, such as the interaction between individual movement capacity and landscape structure, making Euclidean distance a poor predictor of dispersal. Dispersal kernels are not a fixed characteristic of the species, but are likely to vary between and within populations depending upon landscape structure and the history of movement rule evolution [@dyckHabitatFragmentationInsect1999; @hanskiVariationMigrationPropensity2004; @merckxLandscapeStructurePhenotypic2006; @fahrigNonoptimalAnimalMovement2007a; @ovaskainenTrackingButterflyMovements2008; @stevensMetaanalysisDispersalButterflies2010; @wangDispersalGlanvilleFritillary2011]. Dispersal kernels can vary through time [@schtickzelleTemporalVariationDispersal2012], and there can be considerable variability between individuals, sexes and stage classes [@delgadoEffectPhenotypicTraits2010; @turlureSpeciesSexspecificAdjustments; @bentonDispersalInvertebratesInfluences2012; @matthysenMulticausalityDispersalReview2012]."}``r if(dispersal_kernel_mixed){" + +Particular emphasis has been placed during the last decade on rare long-distance dispersal events, which have been found fundamental for explaining phenomena such as rate of species’ range shifting in response to past and present climate change [@clarkReidParadoxRapid1998; @nathanSpreadNorthAmerican; @lesserContributionsLongdistanceDispersal2013] and connectivity of isolated populations [@johstMetapopulationPersistenceDynamic2002; @baguetteLongDistanceDispersal2003; @munozWindLongDistanceDispersal2004]. These events are difficult to capture and model with traditional kernels. Therefore, fat-tailed kernels and mixed kernels have started to be used [@bullockLongDistanceSeed2000; @clarkInvasionExtremesPopulation2001; @hovestadtAllInterpatchMovements2011; @fronhoferPickyHitchhikersVector2013a]."}` + +`r if(dispersal_kernel){"Kernels are considered as â€distance kernels’, i.e. the statistical distribution of the probability that an individual will move a certain distance [@hovestadtEvolutionEmergenceDispersal2012; @nathanDispersalKernelsReview2012]. These kernels are specifically used for the transfer phase, meaning that they do not incorporate information on the emigration or settlement probabilities, which are modelled independently. Therefore, dispersal kernels are applied only to dispersing individuals and not normally to the entire population. + +There are many possible statistical distributions that have been fitted to dispersal data, which in many cases perform better than the negative exponential [@nathanDispersalKernelsReview2012]. However, the negative exponential is still commonly used, has been found useful for describing dispersal patterns of certain organisms."}``r if(dispersal_kernel_mixed){", and the combination of two different negative exponentials has been demonstrated to be a valuable method for discerning between common short-distance and rare long-distance dispersal [@hovestadtAllInterpatchMovements2011]. "}` + +`r if(movement_model){" +It is increasingly acknowledged that individual movements within and between habitat patches, and consequently also population dynamics, are strongly affected by the behavioural and physical traits of individuals and by the landscape structure and composition [@moralesScalingAnimalMovements2002; @hawkesLinkingMovementBehaviour2009; @stevensLandscapeEffectsSpatial2012; @baguetteIndividualDispersalLandscape2013]. This has led to the development of mechanistic models where movement behaviour and its interaction with the environment is explicitly described [@nathanMovementEcologyParadigm2008a; @revillaIndividualMovementBehavior2008a; @moralesBuildingBridgeAnimal2010a; @palmerIntroducingStochasticMovement2011; @peerBreakingFunctionalConnectivity2011]. The classical method to represent individuals’ movements mechanistically is to use a random walk [@codlingRandomWalkModels2008], or its diffusion approximation, assuming that individuals are moving randomly in a homogeneous landscape and that they are all following the same rules. From this basis, there have been recent developments in diffusion models for including landscape heterogeneity and some behavioural responses, like reaction to habitat boundaries, directly derived from empirical data through state-space models [@ovaskainenBiasedMovementBoundary2003; @ovaskainenHabitatSpecificMovementParameters2004; @ovaskainenEmpiricalTestDiffusion2008; @pattersonStateSpaceModels2008; @zhengModellingDispersalDiffusion2009a; @ovaskainenModelingAnimalMovement2009]. Yet, these models do not account for individual variability or for many behavioural components including memory, perceptual range and movement modes. Despite this simplicity, diffusion models, and especially their recent developments, can still be satisfactory at large temporal and spatial scales and serve as a null hypothesis against which to test more complex movement models. Moreover they can provide basis for building blocks for population dynamics models. + +Mechanistic IBMs allow extending the “random paradigm” by incorporating behavioural elements that are likely to be crucial in affecting species’ spatial dynamics [@limaBehavioralEcologyEcological1996; @baguetteLandscapeConnectivityAnimal2007; @knowltonUsingBehavioralLandscape2010; @shreeveLandscapeScaleConservation2011]. These elements can be assigned into six main categories: (i) the switching between different movement modes [for example foraging within the home range vs. dispersal [@fryxellMultipleMovementModes2008; @delattreDispersalMoodRevealed2010; @peerBreakingFunctionalConnectivity2011]]; (ii) the individuals’ perceptual range [@zollnerLandscapelevelPerceptualAbilities1997; @zollnerBehavioralTradeoffsWhen2005; @gardnerSimulatingDispersalReintroduced2004b; @oldenContextdependentPerceptualRanges2004; @vuilleumierAnimalDispersalModelling2006; @vuilleumierEffectsCognitiveAbilities2006; @peerIncorporatingPerceptualRange2008; @palmerIntroducingStochasticMovement2011]; (iii) the use of information in movement choices [@clobertInformedDispersalHeterogeneity2009] and the memory of previous experience [@smouseStochasticModellingAnimal2010]; (iv) the influence of habitat fragmentation and matrix heterogeneity on movement behaviours [@rickettsMatrixMattersEffective2001; @vandermeerMetapopulationDynamicsQuality2001; @schtickzelleBehaviouralResponsesHabitat2003; @revillaEffectsMatrixHeterogeneity2004; @wiegandEffectsHabitatLoss2005; @fahrigNonoptimalAnimalMovement2007a; @doverInfluencesLandscapeStructure2009]; (v) the individual responses to habitat boundaries [@schultzEdgeMediatedDispersalBehavior2001; @moralesBehaviorHabitatBoundaries2002; @merckxEvolutionMovementsBehaviour2003; @ovaskainenHabitatSpecificMovementParameters2004; @stevensQuantifyingFunctionalConnectivity2006; @peerBreakingFunctionalConnectivity2011]; and (vi) the period of activity [@revillaEffectsMatrixHeterogeneity2004] and the time scale of movements [@lambinHighConnectivityHigh2012]. + +A general framework for a mechanistic representation of movements has been outlined by Nathan et al. [-@nathanMovementEcologyParadigm2008a], who identified four basic components: the internal state of the individual (why does it move?), its motion capacities (how does it move?), its navigation capacities (when and where does it move?) and external factors that affect the movement. This framework allows us, starting from individual movements, and taking into account individual variability, to predict movement patterns over large temporal and spatial scales and potentially to scale up to populations, communities, ecosystems and to multi-generation / evolutionary processes [@holyoakTrendsMissingParts2008]. The ultimate limitation is likely to be the quantity and the type of data needed to parameterize this /these kind of models; therefore, the challenge is to understand which level of detail is needed to make reliable projections in different contexts and for different purposes [@limaBehavioralEcologyEcological1996; @moralesBuildingBridgeAnimal2010a]. + +Movement behaviours during the transfer phase are a core component of the dispersal strategy of an individual, and therefore they come under selection and they can evolve [@merckxEvolutionMovementsBehaviour2003; @fahrigNonoptimalAnimalMovement2007a; @hawkesLinkingMovementBehaviour2009; @travisModellingDispersalEcoevolutionary2012a]. Ultimately, it is the evolution of movement behaviours that leads to what we consider the evolution of dispersal kernels. A handful of theoretical studies have so far explored the evolution of movement rules. For example, it has been shown how the landscape composition and configuration, in interaction with the ecology of the species, can affect the evolution of movement patterns, such that the greater the costs of dispersal the more highly correlated are the emerging walks [@heinzAdaptivePatchSearching2006; @bartonEvolutionIntelligentDispersal2009]. Moreover, straighter movement paths [@phillipsLifehistoryEvolutionRangeshifting2010a] and riskier strategies seem to be selected during range expansion in such a way that the rate of expansion is maximized at the expense of the survival probability of the single individual [@bartonRiskyMovementIncreases2012]."}` + +`r if(movement_SMS){"A Stochastic Movement Simulator (SMS, [@palmerIntroducingStochasticMovement2011]) is implemented. "}``r if(movement_corrRW){"A corelated random walk is implemented."}``r if(movement_model){"The submodel is fully individual-based and explicitly describes the movement behaviour of individuals with a level of detail, and hence parameters, which is probably close to the most parsimonious for a mechanistic movement model. However, it facilitates considerably increasing the complexity and realism with which the transfer phase is modelled."}` + +See the submodel description for further details. + +### Settlement + +Settlement, or immigration, is the last phase of dispersal, when the organism stops in a new cell or patch of breeding habitat. This phase is determined by a suite of strategies, behaviours and reaction norms that lead individuals to the decision to stop in a particular place. Habitat selection, mate finding and density dependence are probably three of the main processes involved, but not the only ones. Like emigration, settlement is a complex process affected by multiple criteria including inter-individual variability and context dependencies. It can be influenced by the causes and mechanisms of the previous phases of dispersal [@clobertInformedDispersalHeterogeneity2009] and it has associated specific costs [@bonteCostsDispersal2012a], which can also feed back to the previous phases [@legalliardPatternsProcessesDispersal2012]. + +As for the previous phases, the use of different sources of abiotic and biotic information is likely to be crucial in the settlement decision, for which evidence is now accumulating. For example, studies have demonstrated that in some species, dispersing individuals exhibit a preference for habitat that is similar to the natal one, philopatry being a stronger predictor of habitat preferences for settlement than intrinsic habitat quality [@haughlandExplorationCorrelatesSettlement2004; @stampsEffectsNatalExperience2006; @stampsHowDifferentTypes2009]. Conspecific density and performance have also been demonstrated to be important cues for settlement decisions (conspecific attraction), because they can provide a rapid approximation of the habitat quality [@stampsConspecificAttractionAggregation1988; @doligezAvailabilityUsePublic2004; @fletcherSpeciesInteractionsPopulation2007; @verckenImportanceGoodNeighborhood2012; @clotucheSettlementDecisionsTwospotted2013]. + +From the theoretical point of view, much work has been conducted on habitat selection during settlement decisions and its consequences for species’ population dynamics and spatial genetic structure. The basic assumption is that individuals are expected to select habitat patches where their expected fitness is greater than the one expected in the natal patch, weighted by the costs of searching [@ruxtonFitnessDependentDispersal1998; @stampsHabitatSelectionDispersers2001; @bakerIncrementalCostsBenefits2004; @stampsSearchCostsHabitat2005; @armsworthStructureClinesFitness2008; @bonteCostsDispersal2012a]. Recently the idea of â€matching habitat choice’ has been proposed, for which individuals aim to settle where the environment best matches with their phenotype. This process, expected to be more important for species with limited phenotypic plasticity, can have important implications for processes such as local adaptation, adaptive peak shifts and evolution of niche width, and speciation [@edelaarMatchingHabitatChoice2008]. Other factors affecting settlement such as density dependence [@poethkeAbilityIndividualsAssess2011], conspecific attraction (Fletcher 2006) or mate finding [@gilroyMateFindingOverlookedCritical2012], their evolution and their consequences on species’ responses to environmental changes, have been much less theoretically investigated. + +This specific use case of RangeShifter incorporates some basic settlement rules. In any case, dispersing individuals are not allowed to settle in their natal `r if(cell_based){"cell"}``r if(patch_based){"patch"}`. + +For more details, see the description of the submodel. + +### Dispersal mortality + +Dispersal is often a costly process for an organism [@bonteCostsDispersal2012a] and, in some cases, a dispersing individual may suffer mortality. Obtaining a sensible representation of dispersal requires that these mortality costs are described appropriately and, for this, it is important to recognize how dispersal mortality is incorporated in RangeShifter. +First, dispersal mortality can arise as a result of individuals failing to reach suitable habitat. `r if(dispersal_kernel){"For example, when individuals have no possibility to search for locally-suitable habitat, mortality occurs to all individuals that arrive in unsuitable habitat."}` `r if(movement_model){"Fo example, some individuals may fail to find suitable habitat before they use up a maximum number of movement steps. In this first case, dispersal mortality clearly depends upon the proportion of suitable habitat in the landscape and will increase as the availability of habitat declines."}` + +`r if(dispersal_kernel){"A second source of dispersal mortality can be a constant or a density-dependent (i.e. individuals that travel further are more likely to die) probability of mortality. The latter may be thought to represent the increased energetic, time or attritional costs that longer-distance dispersers will experience [@bonteCostsDispersal2012a]."}` +`r if(movement_model){"A second source of dispersal mortality can be a per-step probability of mortality. This can be useful for representing mortality risks that increase with distance or time spent travelling."}``r if(movement_model & movement_cost){"Additionally, movement across a complex landscape is modeled more explicitly: the per-step mortality varies according to the nature of the local environment."}` + +For more details, see the description of the submodel. + +## Emergence + +Species range distributions emerge from the population dynamics and the dispersal behaviour of the individuals. + +## Adaptation + +`r if(movement_SMS){"During the transfer process, individuals move according to what they can perceive of the landscape within their perceptual range $PR$. However, individuals do not know a priori their final destination. The $PR$ is defined by a number of cells. At each step, the individual evaluates the surrounding habitat in order to determine the effective cost of taking a particular step to each of the eight neighbouring cells. The effective cost is a mean of the cost of the neighbouring cell and the surrounding cells beyond it within the $PR$."}` + +`r if(!movement_SMS){"Not applicable."}` + +## Objectives + +`r if (movement_SMS & goal_type==2){"The only goal of the dispersing individuals is to move away from the natal location. Individuals follow a straighter trajectory initially, and later become more tortuous and responsive to perceived landscape costs."}` +`r if (!movement_SMS & !goal_type==2){"Not applicable."}` + +## Learning + +Not applicable. + +## Prediction + +Not applicable. + +## Sensing + +`r if(mate_finding){"Individuals of both sexes need to be in the same cell in order to reproduce. Individuals in the same cell are aware of the sex of others."}` +`r if(movement_SMS){"Dispersing individuals can perceive the sourrounding landscape within their perceptual range $PR$."}` +`r if(cell_based & dispersal_kernel & s@dispersal@Settlement@Settle>=2){"Dispersing individuals perceive the suitability of cells and might settle in a suitable neighbouring cell if the arrival cell is unsuitable."}` +`r if(patch_based & dispersal_kernel & s@dispersal@Settlement@Settle>=2){"Dispersing individuals perceive the suitability of patches and might settle in a suitable neighbouring patch if the arrival patch is unsuitable."}` +`r if(cell_based & movement_model & settlement_densdep){"Dispersing individuals can perceive the density in cells and potentially decide to continue dispersing if the density is high."}` +`r if(patch_based & movement_model & settlement_densdep){"Dispersing individuals can perceive the density in patches and potentially decide to continue dispersing if the density is high."}` +`r if(!mate_finding & !movement_SMS){"Not applicable"}` + + +## Interaction + +No interaction is considered in the model. + +## Stochasticity + +`r if(environmental_stochasticity){"Environmental stochasticity is considered in the model. "}else{"Not applicable. "}``r if(env_stoch_K & !stage_structured){"It acts on the capacity $K$."}``r if(env_stoch_R & !stage_structured){"It acts on the growth rate $r$."}``r if(env_stoch_K & stage_structured){"It acts on the strength of density dependence $1/b$."}``r if(env_stoch_R & stage_structured){"It acts on the fecundity $\\phi$."}` + +Demographic stochasticity is explicitly included in all processes by default. + + +## Collectives + +Not applicable + +## Observation + +`r if(output_range){"### Range +The output _Sim0_Range.txt_ contains the following general information regarding the species' range: Replicate number, year, reproductive season within the year, total number of individuals"}``r if(output_range & stage_structured){", total number of individuals in each stage, total number of juveniles born"}``r if(output_range){", total number of "}``r if(output_range & cell_based){"cells"}``r if(output_range & patch_based){"patches"}``r if(output_range){" occupied by a population capable of breeding, ratio between occupied and suitable "}``r if(output_range & cell_based){"cells"}``r if(output_range & patch_based){"patches"}``r if(output_range){", species range in term of maximum and minimum coordinates of"}``r if(output_range & cell_based){" cells"}``r if(output_range & patch_based){" patches"}``r if(output_range){" occupied by breeding populations."}` + +`r if(output_occ){"### Occupancy +This output reports the "}``r if(output_occ & cell_based){"cell"}``r if(output_occ & patch_based){"patch"}``r if(output_occ){" probability of occupancy by a breeding population. This is only permissible for multiple replicates. Data will be recorded at the beginning of the year before any other process (and only once a year no matter the number of reproductive seasons per year). Two files will be produced: 1. _Sim0_Occupancy.txt_: This file contains a list of "}``r if(output_occ & cell_based){"all the cells in the landscape (x and y coordinates)"}``r if(output_occ & patch_based){"all the patches (PatchID)"}``r if(output_occ){". The remaining columns give the occupancy probability of the "}``r if(output_occ & cell_based){"cell"}``r if(output_occ & patch_based){"patch"}``r if(output_occ){" at defined time steps. The occupancy probability is obtained by dividing the number of times (replicates) that the "}``r if(output_occ & cell_based){"cell"}``r if(output_occ & patch_based){"patch"}``r if(output_occ){" has been occupied in a given year by the total number of replicates. 2. _Sim0_Occupancy_Stats.txt_: Summary occupancy statistics, i.e. the mean ratio between occupied and suitable cells (Mean_OccupSuit) and its standard error (Std_error) at the set time interval."}` + +`r if(output_pop){"### Populations +The population output, _Sim0_Pop.txt_ contains statistics regarding each population present in the landscape at a given time interval. Data are collected before reproduction at each reproductive season at the specified yearly interval and at the end of the simulation. This output file contains the following information: Replicate number, year, reproductive season, "}``r if(output_pop & cell_based){"cell location"}``r if(output_pop & patch_based){"patch ID"}``r if(output_pop){", species number, number of individuals in the population"}``r if(output_pop & stage_structured & !sexual){", the number of individuals in each stage (NInd_stageX)"}``r if(output_pop & sexual & stage_structured){", the number of females (Nfemales_stageX) and of males (Nmales_stageX) in each stage"}``r if(output_pop & !stage_structured & sexual){", the number of females (Nfemales) and of males (Nmales) in the population"}``r if(output_pop & stage_structured & !sexual){", the number of juveniles born (NJuvs)"}``r if(output_pop & sexual){", the number of females juveniles (NJuvFemales) and males (NJuvMales)"}``r if(output_pop){"."}` + +`r if(output_ind){"### Individuals +This output, _Sim0_Rep0_Inds.txt_, contains information regarding each individual at a given time step. To avoid the production of huge files, a separate file is saved for each replicate (here assumed to be 0). "}``r if(output_ind & stage_structured){"Data are recorded after settlement and before aging, in order that dispersal data for individuals which die may be reported."}``r if(output_ind){" Individuals data for year $T$ therefore correspond to Population summary data for year $T+1$ (and individuals which die in year $T$ must be excluded for the data to match at population level). For each individual the following data are collected: Replicate number, year, reproductive season within the year, species number, individual ID, individuals status, natal cell and current "}``r if(output_ind & cell_based){"cell"}``r if(output_ind & patch_based){"patch"}``r if(output_ind){". If the individual has crossed an absorbing landscape or 'no-data' boundary, the current "}``r if(output_ind & cell_based){"cell"}``r if(output_ind & patch_based){"patch"}``r if(output_ind){" will be missing"}``r if(output_ind & sexual){", sex"}``r if(output_ind){", age"}``r if(output_ind & stage_structured){", stage"}``r if(output_ind){", distance moved in meters (linear distance from the centre of the starting cell to the centre of the arrival cell - DistMoved); if the individual has crossed an absorbing landscape or 'no-data' boundary, the distance moved will be missing (set to -1)"}``r if(output_ind & movement_model){", number of steps taken for movement models"}``r if(output_ind){"."}` + +```{r eval=output_ind, echo=F, include=T} +if (cell_based){ + create.table <- data.frame("Status code" = c(0:9), "Description"=c( + "Initial status in natal patch/philopatric recruit", + "Disperser", + "Disperser awaiting settlement in possible suitable cell", + "Waiting between dispersal events", + "Completed settlement", + "Completed settlement in a suitable neighbouring cell", + "Died during transfer by failing to find a suitable patch (includes exceeding the maximum number of steps or crossing an absorbing boundary)", + "Died during transfer by constant, step-dependent, habitat-dependent or distance-dependent mortality", + "Failed to survive annual (demographic) mortality", + "Exceeded maximum age" + )) +} +if (patch_based){ + create.table <- data.frame("Status code" = c(0:9), "Description"=c( + "Initial status in natal patch/philopatric recruit", + "Disperser", + "Disperser awaiting settlement in possible suitable patch", + "Waiting between dispersal events", + "Completed settlement", + "Completed settlement in a suitable neighbouring patch", + "Died during transfer by failing to find a suitable patch \n (includes exceeding the maximum number of steps or crossing an absorbing boundary)", + "Died during transfer by constant, step-dependent, habitat-dependent \n or distance-dependent mortality", + "Failed to survive annual (demographic) mortality", + "Exceeded maximum age" + )) +} +knitr::kable(create.table, col.names = gsub("[.]", " ", names(create.table)), caption = 'Status codes of individuals', format.args = list(width=10)) +``` + +`r if(output_conn){"### Connectivity +The connectivity matrix output, _Sim0_Connect.txt_, presents counts of the number of individuals successfully dispersing from each patch to each other patch for each year specified by the Connectivity Matrix every (years) box. If there is more than one reproductive season during the year, cumulative year-end totals are reported. Although the file contains the data required for true N x N matrices, the data are presented in list format (which can readily be converted to matrices by most analytical software): 1. Replicate number (Rep), 2. Year +3. ID number of natal patch (StartPatch), 4. ID number of settlement patch (EndPatch), 5. Number of individuals dispersing from StartPatch to EndPatch (NInds). +The rows having an entry of -999 are summary rows, showing the total number of successful emigrants from a patch (if EndPatch = -999) and the total number of successful immigrants into a patch (if StartPatch = -999). They are included to facilitate quick examination of the file without having to sum all the individual rows for a patch in any one year. +"}` + +`r if(output_paths){"### SMS paths +Sim0_Rep0_SMSpaths.txt lists the cell-based trajectories of all (successfully or unsuccessfully) dispersed individuals from the natal to the final (settlement or fatal) patch for each year specified by OutIntPaths, starting from OutStartPaths. The data are presented in list format with the columns: Year, individual ID, consecutive step number, coordinates of cell at this step, status of individual. The status is an integer number that codes for the following possible states: +0 = natal patch, +1 = disperser, +2 = disperser awaiting settlement in possible suitable patch, +3 = waiting between dispersal events, +4 = completed settlement, +5 = completed settlement in a suitable neighbouring cell, +6 = died during transfer by failing to find a suitable patch (includes exceeding maximum number of steps or crossing absorbing boundary), +7 = died during transfer by constant, step-dependent, habitat-dependent or distance-dependent mortality, +8 = failed to survive annual (demographic) mortality, +9 = exceeded maximum age."}` + +`r if(output_heatmaps){"### SMS Heat map +OutputMaps/Sim0_Land0_Rep0_Visits.txt is a series of maps in ASCII raster format, showing how many times each cell has been visited by a dispersing individual across the whole time period of the simulation. These heat maps may be useful, for example, for identifying corridors which are heavily used during the dispersal phase. One raster map is created in the Output_Maps folder for each replicate simulation, and is in the same format as the input habitat file. +"}` + +# Initialization + +## Initialization of landscape + +`r if(real_land & habitat_quality){"Landscapes are initialized according to the input raster maps. The density dependence of each cell is set as the respective fraction of the given maximum density dependence."}` +`r if(real_land & habitat_quality){"Landscapes are initialized according to the input raster maps. The density dependence of each cell is set according the given values for each habitat type."}` +`r if(arti_land){"An artificial landscape is generated according to the given parameters (see submodule description). "}``r if(arti_land & arti_land_continuous){"Each cell is given a continuous value between 0 and 1, which describes the percentage of habitat cover or habitat quality. within a cell. The effective density dependence of that cell is calculated as the respective fraction of the given maximum density dependence."}``r if(arti_land & !arti_land_continuous){"The resulting landscape is binary, with the two values Habitat and Matrix (i.e. Non-habitat)."}` + + + +## Initialization of populations + +`r if(s@init@InitType==0 & s@init@FreeType==0 & cell_based){cat("Populations are initialized randomly in ", s@init@NrCells, " cells according to the habitat map.")}` +`r if(s@init@InitType==0 & s@init@FreeType==0 & patch_based){cat("Populations are initialized randomly in ", s@init@NrCells, " patches according to the habitat map.")}` +`r if(s@init@InitType==0 & s@init@FreeType==1 & cell_based){"Populations are initialized randomly in all suitable cells according to the habitat map."}` +`r if(s@init@InitType==0 & s@init@FreeType==1 & patch_based){"Populations are initialized randomly in all suitable patches according to the habitat map."}` +`r if(s@init@InitType==1 & s@init@SpType==0){"Initial populations are loaded from a species distribution map in all suitable cells within all distribution presence cells."}` +`r if(s@init@InitType==1 & s@init@SpType==1){cat("Initial populations are loaded from a species distribution map in ",s@init@NrCells ," randomly chosen presence cells.")}` +`r if(s@init@InitType==2 ){"Populations are initialized from a file listing the initial individuals (of given"}``r if(s@init@InitType==2 & sexual & stage_structured){" sex, age and stage"}``r if(s@init@InitType==2 & !sexual & stage_structured){" age and stage"}``r if(s@init@InitType==2 & !sexual & !stage_structured){" age"}``r if(s@init@InitType==2 & cell_based){" in specified cells. This option allows simulation of a reintroduction scenario."}``r if(s@init@InitType==2 & patch_based){" in specified patches. This option allows simulation of a reintroduction scenario."}` `r if(s@init@InitDens==2 & patch_based){cat(s@init@IndsHaCell, " number of individuals per hectare are seeded in each patch.")}` `r if(s@init@InitDens==2 & cell_based){cat(s@init@IndsHaCell, " number of individuals per hectare are seeded in each cell.")}` `r if(s@init@InitDens==0 & patch_based & !stage_structured){"The number of seeded individuals per hectare in each patch is determined by $K$."}``r if(s@init@InitDens==0 & patch_based & stage_structured){"The number of seeded individuals per hectare in each patch is determined by $1/b$."}``r if(s@init@InitDens==0 & cell_based & !stage_structured){"The number of seeded individuals per hectare in each cell is determined by $K$."}``r if(s@init@InitDens==0 & cell_based & stage_structured){"The number of seeded individuals per hectare in each cell is determined by $1/b$."}``r if(s@init@InitDens==1 & patch_based & !stage_structured){"The number of seeded individuals per hectare in each patch is determined by half of $K$."}``r if(s@init@InitDens==1 & patch_based & stage_structured){"The number of seeded individuals per hectare in each patch is determined by half of $1/b$."}``r if(s@init@InitDens==1 & cell_based & !stage_structured){"The number of seeded individuals per hectare in each cell is determined by half of $K$."}``r if(s@init@InitDens==1 & cell_based & stage_structured){"The number of seeded individuals per hectare in each cell is determined by half of $1/b$."}` + +`r if(stage_structured & s@init@InitType!=2 & s@init@InitAge==0){"The proportion of individuals that is initialised at each stage class is set via a numeric vector $PropStages$. It has as many entries as number of stages, starting from the juvenile stage (0). The age is set as the minimal age of the respective stage."}` +`r if(stage_structured & s@init@InitType!=2 & s@init@InitAge==1){"The proportion of individuals that is initialised at each stage class is set via a numeric vector $PropStages$. It has as many entries as number of stages, starting from the juvenile stage (0). The age is set randomly between the minimal and maximal age of the respective stage."}` +`r if(stage_structured & s@init@InitType!=2 & s@init@InitAge==2){"The proportion of individuals that is initialised at each stage class is set via a numeric vector $PropStages$. It has as many entries as number of stages, starting from the juvenile stage (0). The age is set approximately in accordance with the number of years taken to pass through the stage and the survival rate of the respective stage."}` + +`r if(stage_structured & s@init@InitType==2){"The proportion of individuals that is initialised at each stage class and the age distributions are loaded via the file listing the initial individuals."}` + +`r if(s@init@minX>0 | s@init@maxX>0 | s@init@minY>0 | s@init@maxY>0 | s@init@InitFreezeYear>0 | s@init@RestrictFreq>0 | s@init@RestrictRows>0 | s@init@FinalFreezeYear>0){"$\\color{red}{\\text{These options were not yet integrated in the ODD template.}}$ $\\color{red}{\\text{Please include the discribtion on your own.}}$"} ` + +# Input data + +The model requires the following input data: + +`r if(real_land & habitat_quality & !dynamic_landscape){"* The underlying landscape raster map as a text file in ESRI ASCII raster format. The grid needs to contain values for each cell, one line per row. Each cell in the landscape is assigned a continuous percentage value between 0.0 and 100.0 (of the maximum density dependence "}``r if(real_land & habitat_quality & !dynamic_landscape & stage_structured){"$1/b$"}``r if(real_land & habitat_quality & !dynamic_landscape & !stage_structured){"$K$"}``r if(real_land & habitat_quality & !dynamic_landscape){". There are no explicit habitat or land-cover types. This allows integrating different methods for calculating the habitat suitability for a given species. For example, qualities can result from different methods of suitability modelling, which incorporate multiple variables like habitat types, elevation, climate, etc. In the current version of the program, a straight-line relationship between the habitat quality and the actual density-dependence of the population dynamics is assumed. Therefore, the quality should be scaled accordingly in case of a curvilinear relationship. "}` + +`r if(real_land & habitat_type & !dynamic_landscape){"* The underlying landscape raster map as a text file in ESRI ASCII raster format. The grid needs to contain values for each cell, one line per row. Each habitat or land-cover type has a unique integer code. Each cell in the file contains a single habitat code and 100 percent coverage is assumed for the cell. The landscape is therefore composed of discrete habitat cells. The codes are required to be sequential integers starting from 1 and ranging to Nhabitats. "}` + +`r if(real_land & habitat_quality & dynamic_landscape){"* (A vector of) All underlying landscape raster maps as a text files in ESRI ASCII raster format. The grids need to contain values for each cell, one line per row. Each cell in the landscapes is assigned a continuous percentage value between 0.0 and 100.0 (of the maximum density dependence "}``r if(real_land & habitat_quality & dynamic_landscape & stage_structured){"$1/b$"}``r if(real_land & habitat_quality & dynamic_landscape & !stage_structured){"$K$"}``r if(real_land & habitat_quality & dynamic_landscape){". There are no explicit habitat or land-cover types. This allows integrating different methods for calculating the habitat suitability for a given species. For example, qualities can result from different methods of suitability modelling, which incorporate multiple variables like habitat types, elevation, climate, etc. In the current version of the program, a straight-line relationship between the habitat quality and the actual density-dependence of the population dynamics is assumed. Therefore, the quality should be scaled accordingly in case of a curvilinear relationship. Any part of the original landscape which was a â€no-data’ region (e.g. the sea or land beyond a study area boundary) must remain in that state for the whole simulation. "}` + +`r if(real_land & habitat_type & dynamic_landscape){"* (A vector of) All underlying landscape raster maps as a text file in ESRI ASCII raster format. The grids need to contain values for each cell, one line per row. Each habitat or land-cover type has a unique integer code. Each cell in the files contains a single habitat code and 100 percent coverage is assumed for the cell. The landscapes are therefore composed of discrete habitat cells. The codes are required to be sequential integers starting from 1 and ranging to Nhabitats. Any part of the original landscape which was a â€no-data’ region (e.g. the sea or land beyond a study area boundary) must remain in that state for the whole simulation. "}` + +`r if(patch_based & real_land & !dynamic_landscape){"* A raster map as a text file in ESRI ASCII raster format of the same landscape, where each cell contains the ID number of the patch to which it belongs. Each patch must have a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. "}` + +`r if(patch_based & real_land & dynamic_landscape){"* Raster maps as text files in ESRI ASCII raster format of the same landscapes, where each cell contains the ID number of the patch to which it belongs. Each patch must have a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. The identity of patches is not cross-checked between changes, and care must therefore be taken to ensure consistency; otherwise, a patch (and its resident population) can jump to a distant location or be split into two or more disjunct parts, with unpredictable and possibly weird consequences. It is legitimate for a patch to be split into two or more separate patches (e.g. by construction of a motorway or some other barrier), but any existing population will remain with the part (if any) which retains the original patch number, and populations within the other parts (having a new patch number) must arise through colonisation. Possible ways to work around this restriction include: + + * Assign to all post-change parts of the original patch a new, unique patch number and specify that dispersal is allowed after population destruction (which is possible only for a structured population), in which case some colonisation of the new patches should occur. Note that the connectivity matrix will be misleading in such cases, as every successful â€disperser’ will appear to have moved from patch N to patch M (where M is the new patch number). + + * Instead of a single original patch, define two (or more) distinct but adjacent patches in the original landscape, so that they each retain their own populations when they become separated by the landscape change. "}` + +`r if(real_land & !dynamic_landscape & movement_cost_file){"* A raster map as a text file in ESRI ASCII raster format containing the SMS costs. The specified map has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being 1. "}` + +`r if(real_land & dynamic_landscape & movement_cost_file){"* Raster maps as text files in ESRI ASCII raster format containing the SMS costs. The specified maps have to match the landscape rasters in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being 1. "}` + +`r if(real_land & s@init@InitType==1 & s@init@SpType==0){"* A species distribution map as a text file in ESRI ASCII raster format containing the initial destribution. It must be aligned with the landscape map, i.e. the coordinates of the lower-left corner must be the same. The extent of the map does not have to be necessarily the same as the landscape. The resolution can be the same or coarser, provided that it is a multiple of the landscape resolution. For example, if the landscape cell size is 250m, the species distribution can be at the resolution of 250m, 500m, 750m, 1000m etc. Each cell of the species distribution map must contain either 0 (species absent or not recorded) or 1 (species present). "}` + +`r if(s@init@InitType==2){"* An initial individuals list file. The population is initialised according to a list of specific individuals (of given sex, age and stage, if appropriate) in specified cells/patches. This option allows simulation of a reintroduction scenario. It must be a tab-separated list with explicit column headers and one row for each individual to be initialized. The expected column headers must match the following order exactly: 'Year', 'Species' (must = 0), "}``r if(s@init@InitType==2 & cell_based){"'X', 'Y', "}``r if(s@init@InitType==2 & patch_based){"'PatchID', "}``r if(s@init@InitType==2){"'Ninds', "}``r if(s@init@InitType==2 & sexual){"'Sex', 'Age'"}``r if(s@init@InitType==2 & stage_structured){"', Stage'"}``r if(s@init@InitType==2){"."}``r if(s@init@InitType==2 & sexual){" The sex is specified with 0 for female and 1 for male."}` + +# Submodels + +`r if(arti_land){"## Landscape + +To generate a fractal landscape, the midpoint displacement algorithm [@saupeAlgorithmsRandomFractals1988] is applied, adapted to allow for the generation of elongated landscapes (useful for theoretical studies on range shifting and environmental gradients). Landscape structure is determined by two parameters: the proportion of landscape occupied by suitable habitat $p$ and the degree of spatial autocorrelation (Hurst exponent, $H$) which ranges from > 0.0 (low autocorrelation but still not completely spatially independent) to < 1.0 (high autocorrelation, i.e. high habitat aggregation). +The resulting landscape is"}``r if(arti_land & arti_land_continuous){"continuous. It describes the percentage of habitat cover or habitat quality within a cell. The effective "}``r if(arti_land & arti_land_continuous & stage_structured){" demographic density dependence $1/b$ "}``r if(arti_land & arti_land_continuous & !stage_structured){" limiting carrying capacity $K$ "}``r if(arti_land & arti_land_continuous){" of that cell is calculated as the respective fraction of the value of "}``r if(arti_land & arti_land_continuous & stage_structured){" the demographic density dependence $1/b$."}``r if(arti_land & arti_land_continuous & !stage_structured){" the limiting carrying capacity $K$."}``r if(arti_land & !arti_land_continuous){"binary, either being habitat or matrix (i.e. non-habitat)."}` + +`r if(real_land & !dynamic_landscape){"## Landscape + +A real landscape is imported consisting of"}` `r if(real_land & habitat_quality & !dynamic_landscape){" continuous values, ranging from 0.0 to 100.0, that represent percentages of habitat cover or quality."}``r if(real_land & habitat_type & !dynamic_landscape){" unique integer habitat codes to characterise the habitat type of each cell. "}``r if(real_land & patch_based & !dynamic_landscape){"An additional file of the same landscape is provided, where each cell contains the ID number of the patch to which it belongs. Each patch has a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells."}` +`r if(dynamic_landscape){"## Landscape + +Dynamic landscapes are imported consisting of"}` `r if(dynamic_landscape & real_land & habitat_quality){" continuous values, ranging from 0.0 to 100.0, that represent percentages of habitat cover or quality."}``r if(dynamic_landscape & real_land & habitat_type){" unique integer habitat codes to characterise the habitat type of each cell. The attributes of cells change at specified years during the course of a simulation. Any landscape change occurs at the start of the year, i.e. before the reproductive season."}` +`r if(dynamic_landscape & real_land & patch_based){"Additional files of the same landscapes are provided, where each cell contains the ID number of the patch to which it belongs. Each patch has a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. As the landscape is dynamic, the shape of patches may change, patches may be removed and new patches may be created where there was previously inter-patch matrix. +"}``r if(dynamic_landscape){"Thus some populations may be extirpated "}``r if(dynamic_landscape & !stage_structured){"(all individuals die)"}``r if(dynamic_landscape & stage_structured){"(all individuals either die or have an immediate opportunity to disperse)"}``r if(dynamic_landscape){", and new populations may arise from colonisation of newly suitable areas. "}``r if(dynamic_landscape & movement_cost_file){"In addition, the cost map for the movement processes is dynamic."}` + +`r if(real_land & !stage_structured){"In addition, the limiting carrying capacity $K$ is given in units of the number of individuals per hectare. "}``r if(real_land & stage_structured){"In addition, the demographic density dependence $1/b$ is given in units of the number of individuals per hectare. "}``r if(real_land & habitat_type){"A vector of the length of the habitat types specifies the respective density dependence for every habitat code."}``r if(real_land & habitat_quality){" +The given density dependence is interpreted as the maximum density reached in cells with 100% habitat. All other cells hold the respective fraction of the density dependence."}` + +`r if(environmental_stochasticity){"## Environmental stochasticity + +In RangeShifter, environmental stochasticity is implemented using a first order autoregressive process to generate time series of the noise value $\\epsilon$ [@ruokolainenEcologicalEvolutionaryDynamics2009]: + +$$\\epsilon_{t+1} = \\kappa \\epsilon_{t} + \\omega_{t} \\sqrt{1â’\\kappa^2}$$ + +where $\\kappa$ is the autocorrelation coefficient and $\\omega$ is a random normal variable drawn from $N(0,\\sigma)$."}``r if(environmental_stochasticity & s@simul@ac==0){" In this specific use case auto correlation is switched of ($\\kappa$ = 0) and only red noise is considered."}``r if(environmental_stochasticity){"Changing $\\omega$ changes the amplitude of the fluctuations. The spatial scale of the variation is"}``r if(environmental_stochasticity & !env_stoch_loc){" global (a single time series for the entire landscape)"}``r if(environmental_stochasticity & env_stoch_loc){" local (each cell fluctuates independently)"}``r if(environmental_stochasticity){", and is always applied on a yearly basis. Different degrees of spatial autocorrelation are not implemented in the current version."}` + +`r if(environmental_stochasticity & env_stoch_K & !stage_structured){"The noise affects the species’ demographic density-dependence $K$ through the following equation: +$$K_{x,y,t} = K_{x,y,0} + K*\\epsilon_{t}$$ +where $x$ and $y$ are the cell coordinates and $K$ is the local carrying capacity in absence of stochasticity. In the absence of an environmental gradient, $K_{x,y,0}$ is equal to $K$."}` + +`r if(environmental_stochasticity & env_stoch_K & stage_structured){"The noise affects the species’ demographic density-dependence $1/b$ through the following equation: +$${1/b}0_{x,y,t} = {1/b}_{x,y,0} + {1/b}*\\epsilon_{t}$$ +where $x$ and $y$ are the cell coordinates and $1/b$ is the nature of demographic density-dependence) in absence of stochasticity. In the absence of an environmental gradient, $1/b_{x,y,0}$ is equal to $1/b$."}` + +`r if(environmental_stochasticity & env_stoch_R & !stage_structured){"The noise affects the species’ growth rate $R$ through the following equation: +$$R_{x,y,t} = R_{x,y,0} + R*\\epsilon_{t}$$ +where $x$ and $y$ are the cell coordinates and $R$ is the growth rate in absence of stochasticity. In the absence of an environmental gradient, $R_{x,y,0}$ is equal to $R$."}` + +`r if(environmental_stochasticity & env_stoch_R & stage_structured){"The noise affects the species’ fecundity $\\phi$ through the following equation: + +$$\\phi_{x,y,t} = \\phi_{x,y,0} + \\phi*\\epsilon_{t}$$ + +where $x$ and $y$ are the cell coordinates and $\\phi$ is the fecundity in absence of stochasticity. In the absence of an environmental gradient, $\\phi_{x,y,0}$ is equal to $\\phi$."}` + +## Reproduction +`r if(stage_structured){"At the beginning of each year, reproduction is the first process to be modelled. "}`The model simulates `r if(rep_seasons==1){"1 reproductive season"} else{cat(rep_seasons, "reproductive seasons")}` per year. `r if(stage_structured & survival_schedule==0){"Survival and development of all the stages (apart from stage 0) occur simultaneously with reproduction, followed by dispersal and finally survival and development of stage 0. Individuals age at the end of each year."}` `r if(stage_structured & survival_schedule==1){"Reproduction is followed by dispersal. After each reproductive season, survival and successive development of all the stages are modelled (between reproductive seasons). Aging occurs at the end of the year."}` `r if(stage_structured & survival_schedule==2){"Reproduction is followed by dispersal after each reproductive event. Survival and development of all stages happen only at the end of all reproductive seasons (annually), followed by aging at the end of the year."}` +`r if(!stage_structured){"At each generation the life cycle comprises: reproduction, death of the adults and offspring dispersal (in that order)."}` +`r if(!stage_structured & !sexual & cell_based){"Recruitment is determined by a stochastic, individual-based formulation of Maynard-Smith and Slatkin’s [-@smithStabilityPredatorPreySystems1973] population model, where the number of offspring produced by a single individual in the cell $i$ at time $t$, is drawn from the following distribution: + +$$Poisson(\\dfrac{R_{i,t}}{{1+|R_{i,t}-1|*\\dfrac{N_{i,t}}{K_{i,t}}^{b_{c}}}})$$ + +Here, $R_{i,t}$ is the maximum growth rate (obtained at very low density only) and $K_{i,t}$ is the carrying capacity."}` +`r if(!stage_structured & !sexual & patch_based){"Recruitment is determined by a stochastic, individual-based formulation of Maynard-Smith and Slatkin’s [-@smithStabilityPredatorPreySystems1973] population model, where the number of offspring produced by a single individual in the patch $i$ at time t, is drawn from the following distribution: + +$$Poisson(\\dfrac{R_{i,t}}{{1+|R_{i,t}-1|*\\dfrac{N_{i,t}}{K_{i,t}}^{b_{c}}}})$$ + +Here, $R_{i,t}$ is the maximum growth rate (obtained at very low density only) and $K_{i,t}$ is the carrying capacity."}` +`r if(!stage_structured & !sexual & (dynamic_landscape | environmental_stochasticity) ){"$R_{i}$ and $K_{i,t}$ vary in space and time."}` +`r if(!stage_structured & !sexual){"$b_{c}$ is the competition coefficient which describes the type of density regulation, providing for under-compensatory ($b_{c}$ < 1), compensatory ($b_{c}$ = 1) or over-compensatory ($b_{c}$ > 1) dynamics."}` + +`r if(!stage_structured & sexual){"Individuals are explicitly characterized by their sex. The proportion of each sex in the population is controlled by setting the proportion of males (this is interpreted as the probability that an individual is male; hence a skewed sex-ratio at birth (or initialisation) may occur in a small population)."}` +`r if(!stage_structured & sexual & mating_simple){"Each female individual is assumed to mate, as long as there is at least one male in the population. The Maynard Smith and Slatkin model is used to determine the expected number of offspring produced by each female.$R_{i,t}$ is multiplied by 2 to maintain equivalence compared to the standard equation [@lindstromSexualReproductionPopulation1998]: + +$$Poisson(\\dfrac{(2*R_{i,t})}{{1+|R_{i,t}-1|*\\dfrac{N_{i,t}}{K_{i,t}}^{b_{c}}}})$$"}` +`r if(!stage_structured & sexual & mating_complex){"The mating system is explicitly modelled through a mating function [@lindstromSexualReproductionPopulation1998; @legendreAgeStructureMating2004; @gomesDiscreteTwosexModels2010], where the number of mated females $c$ is given by: + +$$c = min(1,2hm/f+hm)f$$ + +where $f$ and $m$ are the numbers of potentially reproductive females and males, respectively, and $h$ is the maximum harem size, i.e. the maximum number of pair bonds that a male can establish. $h$ = 1 corresponds to monogamy, 0 < $h$ < 1 to polyandry and $h$ > 1 to polygyny. +Each potentially reproductive female has a probability of reproducing pr given by: + +$p_{r}=\\dfrac{c}{f}$ + +A Bernoulli trial, $Bern(p_{r})$, determines if the female reproduces or not. Hence, the specification of the mating system determines the probability for each female to reproduce. However, no explicit pair bonds are formed. For females that reproduce, the number of offspring is determined through + +$$Poisson(\\dfrac{(2*R_{i,t})}{{1+|R_{i,t}-1|*\\dfrac{N_{i,t}}{K_{i,t}}^{b_{c}}}})$$"}` + +`r if(stage_structured){"Generations overlap and individuals are classified in different stages (e.g. immature vs. breeding individuals) differing in their demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity $\\phi$, survival $\\sigma$ and probability of developing to the next stage $\\gamma$. The parameters are provided through classical transition matrices [@caswellMatrixPopulationModels2001a]. However, these are not solved analytically as is typical for matrix models but, instead, the parameters are applied stochastically in an individual-based fashion. +At each reproductive season, two parameters control the likelihood that each individual / female reproduces: + +* First, it is determined whether a reproductively mature female is a potential reproducer."}``r if(stage_structured & rep_interval>0){cat("A female, which has already reproduced, has to wait", rep_interval," reproductive seasons to be able to reproduce again. Only those mature females that are either yet to reproduce, or last reproduced more than this number of reproductive seasons previously, are potential breeders. ")}``r if(stage_structured & rep_interval==0){"Only those mature females that are able to reproduce, are potential breeders. "}` +`r if(stage_structured){" + +* Potential breeders all reproduce with set probability $\\phi$. +"}` + +`r if(stage_structured & !sexual){"In this specific use case, an asexual/only-female model was implemented. To avoid the problem of offspring developing to the next stage in the same year without losing the offspring stage, and hence the chance for simulating post-natal dispersal, an explicit juvenile stage (stage 0) is added: + +$$A = \\begin{pmatrix} 0 & 0 & \\phi \\\\ +1.0 & \\sigma(1-\\gamma) & 0 \\\\ +0 & \\sigma\\gamma & \\sigma +\\end{pmatrix}$$ + +Juveniles have to develop to stage 1 in the same year they are born. It is important to note that juvenile mortality can be accounted for in two ways. Either it is included in adult fecundity $\\phi$ (by appropriately reducing its value), and $\\sigma_{0}\\gamma_{0-1}$ is equal to 1.0. This is how it is typically accounted for in matrix models. Or, alternatively, $\\phi$ is equal to the true maximum fecundity and $\\sigma_{0}\\gamma_{0-1}$ is less than 1.0. Only the first approach allows straightforward direct comparison with standard analytical matrix models. +The parameters in the matrix are used in a stochastic way at the individual level. Each individual/female at stage $s$, if it reproduces, produces a number of offspring given by Poisson($\\phi_{s}$). "}` + +`r if(stage_structured & sexual & !demography_sexdep){"To avoid the problem of offspring developing to the next stage in the same year without losing the offspring stage, and hence the chance for simulating post-natal dispersal, we added an explicit juvenile stage (stage 0): + +$$A = \\begin{pmatrix} 0 & 0 & \\phi \\\\ +1.0 & \\sigma(1-\\gamma) & 0 \\\\ +0 & \\sigma\\gamma & \\sigma +\\end{pmatrix}$$ + +Juveniles have to develop to stage 1 in the same year they are born. It is important to note that juvenile mortality can be accounted for in two ways. Either it is included in adult fecundity $\\phi$ (by appropriately reducing its value), and $\\sigma_{0}\\gamma_{0-1}$ is equal to 1.0. This is how it is typically accounted for in matrix models. Or, alternatively, $\\phi$ is equal to the true maximum fecundity and $\\sigma_{0}\\gamma_{0-1}$ is less than 1.0. Only the first approach allows straightforward direct comparison with standard analytical matrix models. +The parameters in the matrix are used in a stochastic way at the individual level. Individuals are defined by their sex and the sex is acknowledged also in the dispersal process. $\\phi$ refers to the number of offspring (males and females) per female. Each female at stage $s$, if it reproduces, produces a number of offspring given by Poisson($\\phi_{s}$). "}` + +`r if(stage_structured & sexual & demography_sexdep){"The mating system is explicitly modelled. The mating system is explicitly modelled through a mating function [@lindstromSexualReproductionPopulation1998; @legendreAgeStructureMating2004; @gomesDiscreteTwosexModels2010], where the number of mated females $c$ is given by: + +$$c = min(1,2hm/f+hm)f$$ + +where $f$ and $m$ are the numbers of potentially reproductive females and males, respectively, and $h$ is the maximum harem size, i.e. the maximum number of pair bonds that a male can establish. $h$ = 1 corresponds to monogamy, 0 < $h$ < 1 to polyandry and $h$ > 1 to polygyny. +Each potentially reproductive female has a probability of reproducing $pr$ given by: + +$$p_{r}=\\dfrac{c}{f}$$ + +A Bernoulli trial, $Bern(p_{r})$, determines if the female reproduces or not. Hence, the specification of the mating system determines the probability for each female to reproduce. However, no explicit pair bonds are formed. +Additionally, the demographic parameters are sex-dependent. +$\\gamma_{m}$ and $\\gamma_{f}$ are the probability of developing from stage 1 to stage 2 of males and females +respectively, $\\sigma_{1m}$, $\\sigma_{1f}$, $\\sigma_{2m}$ and $\\sigma_{2f}$ are the two sexes’ survival probabilities at each stage and +$\\phi_{m}$ and $\\phi_{f}$ are their fecundities. In the classical matrix modelling framework, $\\phi_{m}$ and $\\phi_{f}$ are +derived from a birth function, which takes into account the number of males and females, +the harem size and the clutch size [@caswellTwoSexModelsChaos1986; @caswellMatrixPopulationModels2001a]. In RangeShifter, the mating and the birth processes are modelled explicitly and separately in an individual-based +manner; therefore, the fecundity parameter utilized is the same as in the non sexspecific +model, as the differences between sexes are already accounted for during the mating +process (i.e. number of offspring per female). What the user still needs to determine before +running structured explicit mating system models in RangeShifter is at which stages males +are reproductive. +To avoid the problem of offspring developing to the next stage in the same year without losing the offspring stage, and hence the chance for simulating post-natal dispersal, an explicit juvenile stage (stage 0) is added: + +$$A = \\begin{pmatrix} 0 & 0 & 0 & 0 & \\phi_{m} & \\phi_{f}\\\\ +1.0 & 0 & \\sigma_{1m}(1-\\gamma_{m}) & 0 & 0 & 0\\\\ +0 & 1.0 & 0 & \\sigma_{1f}(1-\\gamma_{f}) & 0 & 0\\\\ +0 & 0 & \\sigma_{1m}\\gamma_{m} & 0 & \\sigma_{2m} & 0\\\\ +0 & 0 & 0 & \\sigma_{1f}\\gamma_{f} & 0 & \\sigma_{2f} +\\end{pmatrix}$$"}` + +`r if(stage_structured & repro_densdep & !repro_stagedep){"Reproduction is density-dependent. Following Neubert & Caswell [-@neubertDensitydependentVitalRates2000], density +dependence in fecundity is implemented as an exponential decay: +$$\\phi_{i} = \\phi_{0,i}*e^{-bN_{t}}$$ +where $\\phi_{i}$ is the fecundity of stage $i$, $\\phi_{0,i}$ is its maximum fecundity at low densities, $b$ is the +strength of density dependence and $N_{t}$ is the total number of individuals in the local +population at time $t$."}` + +`r if(stage_structured & repro_densdep & repro_stagedep){"Reproduction is density- and stage-dependent. Following Neubert & Caswell [-@neubertDensitydependentVitalRates2000], density and stage +dependence in fecundity is implemented as an exponential decay: + +$$\\phi_{i} = \\phi_{0,i}*e^{-b\\sum_{j = 1}^{S} \\omega_{ij}N_{j,t}}$$ + +where $\\phi_{i}$ is the fecundity of stage $i$, $\\phi_{0,i}$ is its maximum fecundity at low densities, $b$ is the +strength of density dependence, $S$ indicates the number of stages and $\\omega_{ij}$ is contribution of stage $j$ to the density dependence in the fecundity of stage $i$ and $N_{j,t}$ the number of individuals in stage $j$ at time $t$ (e.g. [@caswellSensitivityAnalysisEquilibrium2004])."}` + +## Survival `r if(stage_structured){"& Development"}` +`r if(stage_structured & survival_schedule==0){"Survival and development of all the stages (apart from stage 0) occur simultaneously with reproduction, followed by dispersal and finally survival and development of stage 0."}` +`r if(stage_structured & survival_schedule==1){"Reproduction is first followed by dispersal. Only then survival and successive development of all the stages are modelled."}` +`r if(stage_structured & survival_schedule==2){"Reproduction is first followed by dispersal after each reproductive event. Survival and development of all stages happen only at the end of all reproductive seasons."}` + +`r if(!stage_structured & !local_ext_prob){"In this specific use case, survival is not explicitly modelled."}` +`r if(stage_structured & !survival_densdep & !survival_stagedep){"In this specific use case, survival is neither density nor stage dependent. Bernoulli trials $Bern(\\sigma)$ determine if an individual survives or not."}` +`r if(stage_structured & !survival_densdep & survival_stagedep){"In this specific use case, survival is stage dependent. Bernoulli trials $Bern(\\sigma_{s})$ determine if an individual survives or not. "}` + +`r if(stage_structured & survival_densdep & !survival_stagedep){"In this specific use case, survival is density dependent. Density dependence in survival is implemented as an exponential decay: + +$$\\sigma_{i} = \\sigma_{0,i}*e^{-C_{\\sigma}bN_{t}}$$ + +where $\\sigma_{i}$ is the survival probability of stage $i$, $\\sigma_{0,i}$ is its survival probability at low densities, $b$ is the strength of density dependence and $N_{t}$ is the total number of individuals in the local population at time $t$. To allow for the possibility of having different strengths of density dependence in different processes, we introduce the coefficient $C_{\\sigma}$, which scales the strength of density dependence in survival relative to the strength of density dependence $b$ in fecundity. +Bernoulli trials $Bern(\\sigma_{i})$ determine if an individual develops to the next stage or not. +"}` + +`r if(stage_structured & survival_densdep & survival_stagedep){"In this specific use case, survival is density dependent. Density and stage dependence in survival is implemented as an exponential decay: + +$$\\sigma_{i} = \\sigma_{0,i}*e^{-C_{\\sigma}b\\sum_{j = 1}^{S} \\omega_{ij}N_{j,t}}$$ + +where $\\sigma_{i}$ is the survival probability of stage $i$, $\\sigma_{0,i}$ is its survival probability at low densities, $b$ is the strength of density dependence, $S$ indicates the number of stage, $\\omega_{ij}$ is contribution of stage $j$ to the density dependence in the fecundity of stage $i$ and $N_{j,t}$ the number of individuals in stage $j$ at time $t$ (e.g. [@caswellSensitivityAnalysisEquilibrium2004]). To allow for the possibility of having different strengths of density dependence in different processes, we introduce the coefficient $C_{\\sigma}$, which scales the strength of density dependence in survival relative to the strength of density dependence $b$ in fecundity. +Bernoulli trials $Bern(\\sigma_{i})$ determine if an individual develops to the next stage or not. +"}` + +`r if(stage_structured & !develop_densdep & !develop_stagedep){"In this specific use case, development is neither density nor stage dependent. Bernoulli trials $Bern(\\gamma)$ determine if an individual develops to the next stage or not."}` +`r if(stage_structured & !survival_densdep & survival_stagedep){"In this specific use case, development is stage dependent. Bernoulli trials $Bern(\\gamma_{s})$ determine if an individual develops to the next stage or not. "}` + +`r if(stage_structured & develop_densdep & !develop_stagedep){"In this specific use case, development into higher stages is density dependent. Density dependence in development is implemented as an exponential decay: +$\\gamma_{i} = \\gamma_{0,i}*e^{-C_{\\gamma}bN_{t}}$ +where $\\gamma_{i}$ is the development probability of stage $i$, $\\gamma_{0,i}$ is its development probability at low densities, $b$ is the strength of density dependence and $N_{t}$ is the total number of individuals in the local population at time $t$. To allow for the possibility of having different strengths of density dependence in different processes, we introduce the coefficient $C_{\\gamma}$ scales the strength of density dependence in development relative to the strength of density dependence $b$ in fecundity. +Bernoulli trials $Bern(\\gamma_{i})$ determine if an individual develops to the next stage or not."}` + +`r if(stage_structured & develop_densdep & develop_stagedep){"In this specific use case, development into higher stages is density dependent. Density and stage dependence in development is implemented as an exponential decay: +$\\gamma_{i} = \\gamma_{0,i}*e^{-C_{\\gamma}b\\sum_{j = 1}^{S} \\omega_{ij}N_{j,t}}}$ +where $\\gamma_{i}$ is the development probability of stage $i$, $\\gamma_{0,i}$ is its development probability at low densities, $b$ is the strength of density dependence, $S$ indicates the number of stage, $\\omega_{ij}$ is contribution of stage $j$ to the density dependence in the fecundity of stage $i$ and $N_{j,t}$ the number of individuals in stage $j$ at time $t$ (e.g. [@caswellSensitivityAnalysisEquilibrium2004]). To allow for the possibility of having different strengths of density dependence in different processes, we introduce the coefficient $C_{\\gamma}$, which scales the strength of density dependence in development relative to the strength of density dependence $b$ in fecundity. +Bernoulli trials $Bern(\\gamma_{i})$ determine if an individual develops to the next stage or not. +"}` + +`r if(cell_based & local_ext_prob){"RangeShifter implements random local extinction probability. In each year, every population has an identical probability of going extinct. This does not affect the demographic parameter but simply kills-off the local population."}` + +## Emigration + +Emigration is the first phase of dispersal. It is modeled as the probability that an individual will leave its natal patch during the present year. `r if(stage_structured){"If a stage having non-zero $d$ can last for more than one year, an individual has multiple opportunities to emigrate, each with probability $d$, and hence the realised overall emigration rate will be larger than $d$."}` The emigration probability $d$ is `r if(!emigration_densdep){"density-independent, and hence constant. "}``r if(emigration_densdep & !stage_structured){"density dependent. It is given by the following function, introduced by Kun and Scheuring [-@kunEvolutionDensityDependentDispersal2006] + +$$d = \\dfrac{D_{0}}{1 + e^{-(N_{i,t}/K_{i,t}-\\beta)\\alpha}}$$ + +Here, $D_{0}$ is the maximum emigration probability, $\\beta$ is the inflection point of the function and $\\alpha$ is the slope at the inflection point. We chose this one because it is a flexible function that allows for modeling a range of different reaction norms, as well as their emergence through evolution. We assume individuals to have full knowledge of the population density and habitat quality in their natal patch. Information acquisition is not explicitly modeled in RangeShifter."}``r if(emigration_densdep & stage_structured){"density dependent. It is given by the following function, introduced by Kun and Scheuring [-@kunEvolutionDensityDependentDispersal2006] + +$$d = \\dfrac{D_{0}}{1 + e^{-(b_{i,t}N_{i,t}-\\beta)\\alpha}}$$ + +Here, $D_{0}$ is the maximum emigration probability, $\\beta$ is the inflection point of the function, $\\alpha$ is the slope at the inflection point and $b$ represents the strength of density dependence used for the population dynamics. We chose this one because it is a flexible function that allows for modeling a range of different reaction norms, as well as their emergence through evolution. We assume individuals to have full knowledge of the population density and habitat quality in their natal patch. Information acquisition is not explicitly modeled in RangeShifter."}` + +`r if(!emigration_sexdep & !emigration_stagedep){"The emigration probability is the same and fixed for every individual."}` + +`r if(emigration_sexdep & !emigration_stagedep & emigration_densdep){"Emigration probability is modelled sex-specific. Thus, each sex has different emigration parameters."}` + +`r if(emigration_stagedep & !emigration_sexdep & emigration_densdep){"Emigration probability is modelled stage-specific. Thus, each stage has different emigration parameters."}` + +`r if(emigration_stagedep & emigration_sexdep & emigration_densdep){"Emigration probability is modelled stage- and sex-specific. Thus, each stage and sex has different emigration parameters."}` + + +`r if(emigration_sexdep & !emigration_stagedep & !emigration_densdep){"Emigration probability is modelled sex-specific. Thus, each sex has different emigration parameter."}` + +`r if(emigration_stagedep & !emigration_sexdep & !emigration_densdep){"Emigration probability is modelled stage-specific. Thus, each stage has different emigration parameter."}` + +`r if(emigration_stagedep & emigration_sexdep & !emigration_densdep){"Emigration probability is modelled stage- and sex-specific. Thus, each stage and sex has different emigration parameter."}` + + +## Transfer + +`r if(cell_based){"Transfer is the second phase of dispersal, and consists of the movement of an individual starting from when it emigrates from its natal cell and ending with settlement in another cell or mortality. The main components of this phase are the individual movement ability and navigation capacity in response to the characteristics of the environment. The interaction between these components and their associated costs will determine the distance moved, the movement path and the chance of surviving the transfer phase."}` + +`r if(patch_based){"Transfer is the second phase of dispersal, and consists of the movement of an individual starting from when it emigrates from its natal patch and ending with settlement in another patch or mortality. The main components of this phase are the individual movement ability and navigation capacity in response to the characteristics of the environment. The interaction between these components and their associated costs will determine the distance moved, the movement path and the chance of surviving the transfer phase."}` + +`r if(dispersal_kernel){"The transfer phase is modeled as phenomenological dispersal kernel. The kernel is considered as 'distance kernel', i.e. the statistical distribution of the probability that an individual will move a certain distance [@hovestadtEvolutionEmergenceDispersal2012; @nathanDispersalKernelsReview2012]. The dispersal kernel is only applied to dispersing individuals. If the individual disperses, the distance and the movement direction are determined in continuous space."}` +`r if(dispersal_kernel_simple){"The distance is drawn from a negative exponential distribution with a given mean $\\delta$, and the direction is selected randomly from a uniform distribution between 0 and 2$\\pi$ radians."}` `r if(dispersal_kernel_mixed){"The distance an individual moves is sampled from a mixed kernel given by the combination of two negative exponentials with different means $\\delta_{1}$ and $\\delta_{2}$, occurring with probability $p$ and $1-p$ respectively (Hovestadt et al. 2011). The direction is selected randomly from a uniform distribution between 0 and 2$\\pi$ radians."}` +`r if(dispersal_kernel){"If the arrival point lies beyond the boundary of the landscape, distance and direction are re-drawn."}``r if(cell_based & dispersal_kernel){"The individual is displaced from a random point (using continuous coordinates) inside the natal cell to the arrival cell where the model switches back to discrete space [@bocediProjectingSpeciesRange2012a]. If the arrival point is inside the natal cell, individual starting position, distance and direction are re-sampled until the individual leaves the natal cell."}``r if(patch_based & dispersal_kernel){"The individual is assumed to disperse from a random point in the natal patch and this position, the dispersal distance and direction are drawn until the individual leaves the patch."}` + +`r if(dispersal_kernel & emigration_densdep){"In order to separate emigration and transfer explicitly, and to avoid potential infinite re-sampling, the program requires the mean of the kernel to be greater or equal the cell resolution."}` + +`r if(dispersal_kernel & !emigration_densdep){"The kernel is applied to the entire population without re-sampling. Individuals which draw a short movement distance do not leave the natal "}` +`r if(cell_based & dispersal_kernel & !emigration_densdep){"cell"}``r if(patch_based & dispersal_kernel & !emigration_densdep){"patch"}` +`r if(dispersal_kernel & !emigration_densdep){" and implicitly become sedentary, and therefore the kernel itself defines the proportion of individuals which emigrate."}` + +`r if(dispersal_kernel & !emigration_densdep & emigration_sexdep & emigration_stagedep){"The emigration probability for those stages and sexes which disperse is set to 1.0; otherwise, only a proportion of such individuals would use the kernel to determine whether or not they emigrate."}` + +`r if(dispersal_kernel & !emigration_densdep & emigration_sexdep & !emigration_stagedep){"The emigration probability for those sexes which disperse is set to 1.0; otherwise, only a proportion of such individuals would use the kernel to determine whether or not they emigrate."}` + +`r if(dispersal_kernel & !emigration_densdep & !emigration_sexdep & emigration_stagedep){"The emigration probability for those stages which disperse is set to 1.0; otherwise, only a proportion of such individuals would use the kernel to determine whether or not they emigrate."}` + +`r if(movement_model){"The movement model is fully individual-based and explicitly decribes the movement behaviour of individuals with a level of detail, and hence parameters, which is probably close to the most parsimonious for a mechanisctic movement model."}` + +`r if(movement_SMS){"The stochastic movement simulator (SMS) is a stochastic individual-based model where organisms move through the grid-based, landscape. The model uses similar cost surfaces as the least cost path (LCP) [@adriaensenApplicationLeastcostModelling2003; @chardonIncorporatingLandscapeElements2003; @stevensGeneFlowFunctional2006; @driezenEvaluatingLeastcostModel2007], but it relaxes two of the main assumptions/limitations of the latter. Firstly, individuals are not assumed to be omniscient, but move according to what they can perceive of the landscape within their perceptual range. Secondly, individuals do not know a priori their final destination, which is a reasonable assumption for dispersing individuals. Here, the core components of SMS are briefly described; see Palmer et al. [-@palmerIntroducingStochasticMovement2011] for a complete description of the method."}` +`r if(movement_SMS & habitat_type){"SMS uses cost maps where a relative cost to movement is assigned to each habitat type. Costs are integer numbers and represent the cost of moving through a particular land cover relative to the cost of moving through breeding habitat (conventionally set to a cost of 1). "}``r if(movement_SMS & habitat_quality){"SMS uses cost maps with a relative cost to movement is assigned to each habitat cell. Costs are integer numbers and represent the cost of moving through a particular cell relative to the cost of moving through breeding habitat (conventionally set to a cost of 1). "}` +`r if(movement_SMS){"Individuals take single-cell steps basing their decisions on three parameters: their perceptual range $PR$, the method used to evaluate the landscape within their perceptual range and their directional persistence $DP$, which corresponds to their tendency to follow a correlated random walk. The $PR$ is defined by a number of cells. At each step, the individual evaluates the surrounding habitat in order to determine the effective cost of taking a particular step to each of the eight neighbouring cells. The effective cost is a mean of the cost of the neighbouring cell and the surrounding cells beyond it within the $PR$, and is calculated by "}``r if(movement_SMS & movement_SMS_PRmethod == 1){"arithmetic mean."}``r if(movement_SMS & movement_SMS_PRmethod == 2){"harmonic mean."}``r if(movement_SMS & movement_SMS_PRmethod == 3){"weighted arithmetic mean."}` `r if(movement_SMS){"The effective cost of each neighbouring cell is weighted by the $DP$, which is lowest in the direction of travel. Specifically, $DP$ is raised to the power 4 in the direction of travel, to the power 3 at 45$^\\circ$ to the direction of travel and so on down to the power 0 at 180$^\\circ$ to the direction of travel. Thus, for example, if $DP$ is set to 3.0, an individual is 9 times more likely to continue in its current direction (assuming homogeneous costs) than it is to make a right-angle turn, and 81 times more likely to go straight on than to turn around and retrace its last move. $DP$ can be calculated over more steps that just the previous one (up to a maximum of 14), controlled by the memory size parameter $MemSize$ [@palmerInterindividualVariabilityDispersal2014; @abenSimpleIndividualbasedModels2014]. Increasing the memory size means that an individual retains for longer its tendency to move in a certain direction, and hence paths tend to become somewhat smoother. "}``r if(movement_SMS & goal_type==2){"A goal bias $GB$ was included, i.e. a tendency to move towards a particular destination [@abenSimpleIndividualbasedModels2014]. It is applied only in the â€negative’ sense of moving away from the natal location, i.e. as a dispersal bias, which is implemented in a similar way to $DP$ but relative to the direction from the natal site to the current location. Moreover, dispersal bias is subject to a decay in strength as a function of the accumulated number of steps taken. This enables a dispersal path to follow a straighter trajectory initially, and later become more tortuous and responsive to perceived landscape costs. The reciprocals of the product of effective cost, $DP$ and dispersal bias, scaled to sum to one, give the probabilities that the individual will move to each neighbouring cell."}` +`r if(movement_SMS & goal_type!=2){"The reciprocals of the product of effective cost and $DP$ , scaled to sum to one, give the probabilities that the individual will move to each neighbouring cell. "}``r if(movement_SMS){"All the dispersing individuals move simultaneously, i.e. at each time-step they all make one move."}` `r if(movement_SMS & patch_based){"the individual is forced to leave the natal patch by increasing its $DP$ ten-fold until it has taken a number of steps (equal to twice the perceptual range) outside the natal patch."}` + +`r if(movement_corrRW){"A simple correlated random walk without any bias is implemented. This model is implemented in continuous space on the top of the landscape grid. Individuals take steps of a constant step length (metres); the direction is sampled from a wrapped Cauchy distribution having a correlation parameter $\\rho$ in the range 0 to 1 [@zollnerSearchStrategiesLandscapeLevel1999; @bartonEvolutionIntelligentDispersal2009]. All individuals take each step simultaneously."}``r if(movement_corrRW & patch_based){"$\\rho$ is automatically set to 0.99 until the individual steps outside the natal patch, after which the value of $\\rho$ set by the user is restored."}` + +## Settlement + +Settlement, or immigration, is the last phase of dispersal, when the organism stops in a new `r if(cell_based){"cell"}``r if(patch_based){"patch"}` of breeding habitat. Dispersing individuals are not allowed to settle in their natal `r if(cell_based){"cell"}``r if(patch_based){"patch"}`. +`r if(dispersal_kernel){"Individuals are displaced directly from the starting location to the arrival location.The suitability of the arrival"}``r if(dispersal_kernel & cell_based){"cell"}``r if(dispersal_kernel & patch_based){"patch"}``r if(dispersal_kernel){"determines whether the disperser is successful or not."}` `r if(dispersal_kernel & !stage_structured & cell_based){"The model has two options if the arrival cell is unsuitable: the individual either dies or it can move to one of the eight neighbouring cells in the case that at least one of them is suitable. In the latter case, if more than one of the neighbouring cells is suitable, the individual is placed in one of them chosen randomly."}``r if(dispersal_kernel & !stage_structured & patch_based){"The model has two options if the arrival cell is unsuitable: the individual either dies or can move to a randomly chosen neighbouring suitable patch, provided that the new patch is only one cell apart from the arrival patch."}``r if(dispersal_kernel & stage_structured & cell_based){"The model has four options if the arrival cell is unsuitable: (1) the individual dies, (2) it can move to a randomly chosen neighboring suitable cell, (3) the individual can stay there waiting until the next dispersal event when it will disperse again according to the set kernel, (4) if both the arrival cell and all eight neighbouring cells are unsuitable the individual can wait in the arrival cell before moving again at the next dispersal event."}``r if(dispersal_kernel & stage_structured & patch_based){"The model has four options if the arrival cell is unsuitable: (1) the individual dies, (2) it can move to a randomly chosen neighbouring suitable patch, provided that the new patch is only one cell apart from the arrival patch, (3) the individual can stay there waiting until the next dispersal event when it will disperse again according to the set kernel, (4) if both the arrival patch and all eventual neighbouring patches are unsuitable the individual can wait in the arrival patch before moving again at the next dispersal event."}` +`r if(dispersal_kernel & cell_based){"The arrival cell is considered suitable if it contains breeding habitat. "}` `r if(dispersal_kernel & patch_based){"The arrival patch is considered suitable if it contains breeding habitat. "}` `r if(dispersal_kernel & cell_based & mate_finding){"Additionally, individuals are required to find a mate, i.e. there has to be at least one individual of the opposite sex present for the cell to be considered suitable for settlement."}` `r if(dispersal_kernel & patch_based & mate_finding){"Additionally, individuals are required to find a mate, i.e. there has to be at least one individual of the opposite sex present for the patch to be considered suitable for settlement."}` + +`r if(movement_model & cell_based){"At each step (made simultaneously) dispersing individuals each evaluate their current cell for the possibility of settling."}` `r if(movement_model & patch_based){"At each step (made simultaneously) dispersing individuals each evaluate their current patch for the possibility of settling. "}` `r if(movement_model){"The individual decides to stop if there is suitable habitat; this is a necessary condition. "}``r if(movement_model & settlement_densdep){"Additionally, the settlement decision is density-dependent. The individual has a probability $p_{s}$ of settling in the "}` `r if(movement_model & settlement_densdep & cell_based){"cell"}``r if(movement_model & settlement_densdep & patch_based){"patch"}``r if(movement_model & settlement_densdep){" $i$, given by:"}` +`r if(movement_model & settlement_densdep & !stage_structured & cell_based){" + +$$p_{s} = \\dfrac{S_{0}}{1+e^{-(N_{i}/K_{i}-\\beta_{i})*\\alpha_{s}}}$$ + +Here, $N_{i}$ and $K_{i}$ are the number of individuals and the carrying capacity of the cell $i$, $S_{0}$ is the maximum settlement probability, $\\beta_{s}$ is the inflection point and $\\alpha_{s}$ is the slope of the function."}` +`r if(movement_model & settlement_densdep & !stage_structured & patch_based){" + +$$p_{s} = \\dfrac{S_{0}}{1+e^{-(N_{i}/K_{i}-\\beta_{i})*\\alpha_{s}}}$$ + +Here, $N_{i}$ and $K_{i}$ are the number of individuals and the carrying capacity of the patch $i$, $S_{0}$ is the maximum settlement probability, $\\beta_{s}$ is the inflection point and $\\alpha_{s}$ is the slope of the function."}` +`r if(movement_model & settlement_densdep & stage_structured & cell_based){" + +$$p_{s} = \\dfrac{S_{0}}{1+e^{-(bN_{i}-\\beta_{i})*\\alpha_{s}}}$$ + +Here, $N_{i}$ is the number of individuals of the cell $i$, $b$ represents the strength of density dependence used for the population dynamics, $S_{0}$ is the maximum settlement probability, $\\beta_{s}$ is the inflection point and $\\alpha_{s}$ is the slope of the function."}` +`r if(movement_model & settlement_densdep & stage_structured & patch_based){" + +$$p_{s} = \\dfrac{S_{0}}{1+e^{-(bN_{i}-\\beta_{i})*\\alpha_{s}}}$$ + +Here, $N_{i}$ is the number of individuals of the patch $i$, $b$ represents the strength of density dependence used for the population dynamics, $S_{0}$ is the maximum settlement probability, $\\beta_{s}$ is the inflection point and $\\alpha_{s}$ is the slope of the function."}` +`r if(movement_model & settlement_densdep & cell_based & mate_finding){"Individuals are required to find a mate in order to settle. This requirement is satisfied if there is at least one individual of the opposite sex in the cell."}` +`r if(movement_model & settlement_densdep & patch_based & mate_finding){"Individuals are required to find a mate in order to settle. This requirement is satisfied if there is at least one individual of the opposite sex in the patch."}` + +`r if(step_mortality | max_steps){"To avoid having individuals moving perpetually because they cannot find suitable conditions to settle, the model includes "}``r if(step_mortality & max_steps){"a per-step mortality and a maximum number of steps."}``r if(step_mortality & !max_steps){"a per-step mortality."}``r if(!step_mortality & max_steps){"a maximum number of steps."}` `r if(max_steps){"The maximum number of steps defines the maximum time length of the transfer period. When an individual reaches the maximum number of steps, it stops where it is regardless of the suitability of the location."}``r if(max_steps & !stage_structured){"This results in automatic death if the individual stops in unsuitable habitat."}``r if(max_steps & stage_structured){"In the next season, if still alive, it will move again."}` + +`r if(min_steps){"Additionally, a minimum number of steps that each individual must take before settlement is set simulating situations where animals, in a â€dispersal mode’, will keep moving and not consider settling even if suitable conditions are available (e.g. [@bartonRiskyMovementIncreases2012])."}` +`r if(settlement_sexdep & settlement_stagedep){"Settlement rules are sex- and stage-specific."}` +`r if(settlement_sexdep & !settlement_stagedep){"Settlement rules are sex-specific."}` +`r if(!settlement_sexdep & settlement_stagedep){"Settlement rules are stage-specific."}` + +## Aging + +Aging occurs at the end of each year. + +# Model parameter settings of the specific use case + +```{r echo=F, include=T} +# create a data.frames with all the parameter settings +# help function to transform any arrays to latex + array_to_LaTeX <- function(arr){ + rows <- apply(arr, MARGIN=1, paste, collapse = " & ") + matrix_string <- paste(rows, collapse = " \\\\ ") + return(paste("$$\\begin{bmatrix}", matrix_string, "\\end{bmatrix}$$")) + } + +range <- paste(s@init@minX, s@init@maxX, s@init@minY, s@init@maxY) +PropStages <- as.vector(s@init@PropStages) +res <- toString(PropStages) +if(real_land){ + nb_landscapes <- length(s@land@LandscapeFile) + # LandscapeFile <- as.vector(s@land@LandscapeFile) + + Nhabitats <- as.vector(s@land@Nhabitats) + Nhabitats <- toString(Nhabitats) + + K_or_DensDep <- as.vector(s@land@K_or_DensDep) + K_or_DensDep <- toString(K_or_DensDep) + + PatchFile <- as.vector(s@land@PatchFile) + PatchFile <- toString(PatchFile) + + CostsFile <- as.vector(s@land@CostsFile) + CostsFile <- toString(CostsFile) + + DynamicLandYears <- as.vector(s@land@DynamicLandYears) + DynamicLandYears <- toString(DynamicLandYears) +} + +if(stage_structured){ + # prepare transition matrix for output + matrix <- array_to_LaTeX(s@demog@StageStruct@TransMatrix) + + # prepare minage for output + MinAge <-toString(s@demog@StageStruct@MinAge) + + # prepare weight matrices for output + if(s@demog@StageStruct@FecStageWts){ + FecStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@FecStageWtsMatrix) + } else {FecStageWtsMatrix="Not selected."} + + if(s@demog@StageStruct@DevStageWts){ + DevStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@DevStageWtsMatrix) + } else {DevStageWtsMatrix="Not selected."} + + if(s@demog@StageStruct@SurvStageWts){ + SurvStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@SurvStageWtsMatrix) + } else {SurvStageWtsMatrix="Not selected."} +} + +if(class(s@dispersal@Emigration@EmigProb)[1]=="matrix"){ + emigprob <- array_to_LaTeX(s@dispersal@Emigration@EmigProb) +} else emigprob <- s@dispersal@Emigration@EmigProb + +if(dispersal_kernel){ + if(class(s@dispersal@Transfer@Distances=="matrix")){ + Distances <- array_to_LaTeX(s@dispersal@Transfer@Distances) + }else Distances <- s@dispersal@Transfer@Distances +} + + + +if(movement_SMS){ + if(class(s@dispersal@Transfer@Costs)=="numeric"){ + Costs <- toString(s@dispersal@Transfer@Costs) + }else Costs <- as.character(s@dispersal@Transfer@Costs) + + if(length(s@dispersal@Transfer@StepMort)>1){ + StepMort_SMS <- toString(s@dispersal@Transfer@StepMort) + } else StepMort_SMS <- s@dispersal@Transfer@StepMort +} + +if(movement_corrRW){ + if(length(s@dispersal@Transfer@StepMort)>1){ + StepMort_CorrRW <- toString(s@dispersal@Transfer@StepMort) + } else StepMort_CorrRW <- s@dispersal@Transfer@StepMort +} + +Settle<- array_to_LaTeX(s@dispersal@Settlement@Settle) + + +Simulation <- data.frame( + "Parameter "=c( + "Year", + "Replicates", + "Absorbing","", + "LocalExt", + "LocalEctProb", + "EnvStoch", "", + "EnvStochType", "", "", + "std", + "ac", + "minR", + "maxR", + "minK", + "maxK", + "OutIntRange", + "OutIntOcc", + "OutIntPop", + "OutIntInd", + "OutIntConn", + "OutIntPaths", + "OutStartPop", + "OutStartInd", + "OutStartConn", + "OutStartPaths", + "SMSHeatMap" + ), + "Description"=c( + "Number of simulated years", + "Number of simulation iterations", + "Whether non-valid cells lead to direct", "mortality of the individual during transfer", + "Local extinction", + "Local extinction probability", + "Environmental stochasticity", "(0: none, 1: global, 2: local)", + "Parameter on which environmental", "stochasticity acts (0: growth rate/fecundity,", "1: demographic density dependence)", + "Magnitude of stochastic fluctuations", + "Temporal autocorrelation coefficient", + "Minimum growth rate", + "Maximum growth rate", + "Minimum density dependence value", + "Maximum density dependence value", + "Output of range file", + "Output of occupancy file", + "Output of population file", + "Output of individual file", + "Output of connectivity file", + "Output of SMS paths file", + "Starting year for output population file", + "Starting year for output individual file", + "Starting year for output connectivity file", + "Starting year for output SMS paths file", + "Output SMS heat map raster file" + ), + "Values"=c( + as.character(s@simul@Years), + as.character(s@simul@Replicates), + as.character(s@simul@Absorbing),"", + as.character(s@simul@LocalExt), + as.character(s@simul@LocalExtProb), + as.character(s@simul@EnvStoch), "", + as.character(s@simul@EnvStochType), "", "", + as.character(s@simul@std), + as.character(s@simul@ac), + as.character(s@simul@minR), + as.character(s@simul@maxR), + as.character(s@simul@minK), + as.character(s@simul@maxK), + as.character(s@simul@OutIntRange), + as.character(s@simul@OutIntOcc), + as.character(s@simul@OutIntPop), + as.character(s@simul@OutIntInd), + as.character(s@simul@OutIntConn), + as.character(s@simul@OutIntPaths), + as.character(s@simul@OutStartPop), + as.character(s@simul@OutStartInd), + as.character(s@simul@OutStartConn), + as.character(s@simul@OutStartPaths), + as.character(s@simul@SMSHeatMap)) + ) + +Initialisation <- data.frame( + "Parameter "=c( + "InitType", "", "", "", + "FreeType", "", "", + "NrCells", + "SpType", "", "", "", "", + "InitIndsFile", + "InitDens", "", "", "", + "IndsHaCell", + "PropStages", + "InitAge", "", "", "", "", + "minX, maxX, minY, maxY", + "InitFreezeYear", "", + "RestrictRows", "", + "RestrictFreq", "", + "FinalFreezeYear", "", "" + ), + "Description "=c( + "Type of initialisation", "(0: free initialisation according to habitat map,", "1: from loaded species distribution map, ", "2: from initial individuals list file)", + "Option for free initialisation ", "(0: random in given number of cells, ", "1: all suitable cells/patches)", + "Number of cells to initialise", + "Option for initialisation from ", "species distribution map (0: all suitable cells within ", "all distribution presence cells, ", "1: all suitable cells within given ", "number of randomly chosen presence cells)", + "Name if the initial individuals list file", + "Number of individuals seeded in each cell/patch ", "(0: at demographic density dependence, ", "1: at half of the demographic density dependence, ", "2: according to quasi-equilibrium distribution)", + "Specified number of individuals per hectare", + "Proportion of initialised individuals in each stage", + "Initial age distribution ","(0: minimum age for the respective stage, ","1: random age between the minimum ","and maximum age for the respective stage, ","2: according to a quasi-equilibrium distribution)", + "Restrict initial range", + "Year until which species is ","confined to its initial range limits", + "Number of rows at northern ","front to restrict range.", + "Frequency in years at which ","range is restricted to northern front.", + "The year after which species is ","confined to its new, current range limits, ","after a period of range expansion." + ), + "Values"=c( + as.character(s@init@InitType), "", "", "", + as.character(s@init@FreeType), "", "", + as.character(s@init@NrCells), + as.character(s@init@SpType), "", "", "", "", + as.character(s@init@InitIndsFile), + as.character(s@init@InitDens), "", "", "", + as.character(s@init@IndsHaCell), + res, + as.character(s@init@InitAge), "", "", "", "", + range, + as.character(s@init@InitFreezeYear), "", + as.character(s@init@RestrictRows), "", + as.character(s@init@RestrictFreq), "", + as.character(s@init@FinalFreezeYear), "", "") + ) + +if(real_land){ + Landscape <- data.frame( + "Parameter "=c( + "Landscape file", + rep("", nb_landscapes-1), + "Resolution", + "HabPercent", + "NHabitats", + "K_or_DensDep", + "PatchFile", + "CostsFile", + "DynamicLandYears", + "SpDistFile", + "SpDistResolution" + ), + "Description "=c( + "Filename(s) of the landscape map(s)", + rep("", nb_landscapes-1), + "Resolution in meters", + "Whether habitat types/codes or habitat cover/quality", + "Number of different habitat codes", + "Demographic density dependence", + "Filename(s) of the patch map(s)", + "Filename(s) of the SMS cost map(s)", + "Years of landscape changes", + "Filename of the species initial distribution map", + "Resolution of the distribution map in meters" + ), + "Values"=c( + rep("", nb_landscapes), + s@land@Resolution, + s@land@HabPercent, + Nhabitats, + K_or_DensDep, + "", # PatchFile, + "", # CostsFile, + DynamicLandYears, + "",# s@land@SpDistFile, + s@land@SpDistResolution + )) +} + +if(arti_land){ + Landscape <- data.frame( + "Parameter "=c( + "propSuit", + "K_orDensDep", + "Resolution", + "dimX", + "dimY", + "fractal", + "hurst", + "continuous", + "minPct", + "maxPct" + ), + "Description "=c( + "Proportion of suitable habitat cells", + "Demographic density dependence", + "Resolution in meters", + "Number of cells along the x-axis", + "Number of cells along the y-axis", + "Whether a random or fractal landscape is generated", + "Hurst exponent", + "Continuous or binary habitat", + "Minimum percentage of habitat cover within a cell", + "Maximum percentage of habitat cover within a cell" + ), + "Values"=c( + s@land@propSuit, + s@land@K_or_DensDep, + s@land@Resolution, + s@land@dimX, + s@land@dimY, + s@land@fractal, + s@land@continuous, + s@land@minPct, + s@land@maxPct + )) +} + +if(s@demog@Rmax>0){ + Demography <- data.frame( + "Parameter"=c( + "Rmax", "", + "bc", "", + "ReproductionType","", "", "", + "PropMales", + "Harem" + ), + "Description"=c( + "Maximum growth rate ","(number of offspring per female at very low density)", + "Competition coefficient ","(describes the type of density regulation)", + "Decribes the reproduction type ","(0: asexual/only female; ","1: simple sexual model; ","2: sexual model with explicit mating system)", + "Proportion of males in the population", + "Maximum harem size" + ), + "Values"=c( + as.character(s@demog@Rmax), "", + as.character(s@demog@bc),"", + as.character(s@demog@ReproductionType),"", "", "", + as.character(s@demog@PropMales), + as.character(s@demog@Harem) + ) + ) +} + +if(s@demog@Rmax<0){ + Demography <- data.frame( + "Parameter "=c( + "Stages", + "TransMatrix","", "", "", + "MaxAge", + "MinAge","", "", + "RepSeasons", + "RepInterval","","", + "PRep","", + "SurvSched","","", + "FecDensDep","", + "DevDensDep","", + "SurvDensDep","", + "DevDensCoeff","", + "SurvDensCoeff","", + "FecStageWtsMatrix","", + "DevStageWtsMatrix","", + "SurvStageWtsMatrix","", + "PostDestrictn","","", + "ReproductionType","","", + "PropMales", + "Harem" + ), + "Description"=c( + "Number of life stages", + "Transition matrix. ","Defines the development probabilities ","from each stage into the next as well as the ","respective survival probabilities and fecundities", + "Maximum age in years", + "Ages which an individual in stage ","i-1 must already have reached before ","it can develop into the next stage i.", + "Number of potential reproduction events per year", + "Number of reproductive seasons ","which must be missed following a reproduction attempt ","before another reproduction attempt may occur", + "Probability of reproducing in ","subsequent reproductive seasons", + "Scheduling of survival ","(0: at reproduction, 1: between reproductive events, ","2: annually)", + "whether density dependent ","fecundity probability is modelled", + "Whether density dependent ","development probability is modelled", + "Whether density dependent ","survival probability is modelled", + "Relative density dependence ","coefficient for development", + "Relative density dependence ","coefficient for survival", + "Stage-dependent weights ","in density dependence of fecundity", + "Stage-dependent weights ","in density dependence of development", + "Stage dependent weights ","in density dependence of survival", + "Whether individuals of a population "," die (FALSE) or disperse (TRUE) ","if its patch gets destroyed", + "Decribes the reproduction type ","(0: asexual/only female; 1: simple sexual model; ","2: sexual model with explicit mating system)", + "Proportion of males in the population", + "Maximum harem size" + ), + "Values"=c( + s@demog@StageStruct@Stages, + matrix,"", "", "", + s@demog@StageStruct@MaxAge, + MinAge,"", "", + s@demog@StageStruct@RepSeasons, + s@demog@StageStruct@RepInterval,"","", + s@demog@StageStruct@PRep,"", + s@demog@StageStruct@SurvSched,"","", + s@demog@StageStruct@FecDensDep,"", + s@demog@StageStruct@DevDensDep,"", + s@demog@StageStruct@SurvDensDep,"", + s@demog@StageStruct@DevDensCoeff,"", + s@demog@StageStruct@SurvDensCoeff,"", + FecStageWtsMatrix,"", + DevStageWtsMatrix,"", + SurvStageWtsMatrix,"", + s@demog@StageStruct@PostDestructn,"","", + s@demog@ReproductionType,"","", + s@demog@PropMales, + s@demog@Harem + ) + ) +} + +# create df for each type of transfer + +# DispersalKernel +if(dispersal_kernel){ + transfer <- data.frame("Parameter"=c( + "Type", + "Distances","","", + "DoubleKernel", + "SexDep", + "StageDep", + "DistMort", + "MortProb", + "InflPoint", + "Slope"), + "Description"=c( + "Type of transfer", + "Matrix containing all dispersal kernel parameters","(#columns) for each stage/sex (#rows).", "Its structure depends on the other parameters.", + "Use a mixed (i.e. double negative exponential) kernel?", + "Sex-dependent dispersal kernel?", + "Stage-dependent dispersal kernel?", + "Distance-dependent mortality probability?", + "Constant mortality probability", + "Inflection point for the mortality distance dependence function.", + "Slope at inflection point for the mortality distance dependence function." + ), + "Values"=c( + as.character(class(s@dispersal@Transfer)), + Distances,"","", + as.character(s@dispersal@Transfer@DoubleKernel), + as.character(s@dispersal@Transfer@SexDep), + as.character(s@dispersal@Transfer@StageDep), + as.character(s@dispersal@Transfer@DistMort), + as.character(s@dispersal@Transfer@MortProb), + as.character(s@dispersal@Transfer@InflPoint), + as.character(s@dispersal@Transfer@Slope) + ) + ) +} + +if(movement_SMS){ + transfer <- data.frame("Parameter"=c( + "Type", + "PR", + "PRMethod","","","","","", + "MemSize","","", + "DP","", + "GoalType","", + "GoalBias", + "AlphaDB", + "BetaDB", + "Costs","","","", + "StepMort", + "StraightenPath" + ), + "Description"=c( + "Type of transfer", + "Perceptual range", + "Method to evaluate the effective cost"," of a particular step from the landdscape"," within the perceptual range:", "1: Arithmetic mean", "2: Harmonic mean", "Weighted arithmetic mean", + "Size of memory, given as the number of previous steps"," over which to calculate current direction"," to apply directional persistence", + "Directional persistence. Corresponds to the","tendency to follow a correlated random walk.", + "Goal bias type","0: None, 2: dispersal bias", + "Goal bias strength", + "Dispersal bias decay rate", + "Dispersal bias decay inflection point (number of steps)", + "Describes the landscapes resistance to movement:","Either habitat-specific costs for each habitat type","or 'file', to indictae to use the cost raster map(s)","specified in the landscape module.", + "Per-step mortality probability: constant or habitat-specific", + "Straighten path after decision not to settle in a patch?" + ), + "Values"=c( + as.character(class(s@dispersal@Transfer)), + s@dispersal@Transfer@PR, + s@dispersal@Transfer@PRMethod,"","","","","", + s@dispersal@Transfer@MemSize,"","", + s@dispersal@Transfer@DP,"", + s@dispersal@Transfer@GoalType,"", + s@dispersal@Transfer@GoalBias, + s@dispersal@Transfer@AlphaDB, + s@dispersal@Transfer@BetaDB, + Costs,"","","", + StepMort_SMS, + as.character(s@dispersal@Transfer@StraightenPath) + )) +} + +if(movement_corrRW) { + transfer <- data.frame("Parameter"=c( + "Type", + "StepLength", + "Rho", + "StraightenPath", + "StepMort" + ), + "Description"=c( + "Type of transfer", + "Step length given in meters", + "Correlation parameter", + "Straighten path after decision not to settle in a patch?", + "Per-step mortality probability: constant or habitat-specific" + ), + "Values"=c( + as.character(class(s@dispersal@Transfer)), + s@dispersal@Transfer@StepLength, + s@dispersal@Transfer@Rho, + s@dispersal@Transfer@StraightenPath, + StepMort_CorrRW + ) + ) +} + + +Dispersal <- data.frame( + "Process "=c( + "Emigration ","", "","","", + # "Transfer ", rep("",nrow(transfer)-1), + "Settlement ", if(!dispersal_kernel){rep("",8)} else{rep("",5)} + ), + "Parameter "=c( + # Emigration + "EmigProb", # can be Matrix or single value + "SexDep", + "StageDep", + "DensDep", + "UseFullKern", + #Transfer + # transfer$Parameter, + "DensDep", + "SexDep", + "StageDep", + "Settle","",if(dispersal_kernel){rep("",4)}, + if(!dispersal_kernel){c("MinSteps", + "MaxSteps", + "MaxStepsYear")}, + "FindMate" + ), + "Description "=c( + #Emigration + "Emigration probabilities/parameters for each stage/sex", + "Sex-dependent emigration probability?", + "Stage-dependent emigration probability?", + "Density-dependent emigration probability?", + "Shall the emigration probability be derived from dispersal kernel?", + #Transfer + # transfer$Description, + #Settlement + "Density-dependent settlement requirements?", + "Sex-dependent settlement requirements?", + "Stage-dependent settlement requirements?", + if(dispersal_kernel){"Settlement codes (for DispersalKernel)"} + else {"Settlement probability parameters"} + ,"for all stages/sexes.", + if(dispersal_kernel){c("0 = die (default)","1 = wait (stage-structured models only)","2 = randomly choose a suitable neighbouring cell or die","3 = randomly choose a suitable neighbouring cell"," or wait (stage-structured models only)")}, + if(!dispersal_kernel){c("Minimum number of steps", + "Maximum number of steps", + "Maximum number of steps per year")}, + "Mating requirements to settle?" + ), + "Values"=c( + #emigration + emigprob, + as.character(s@dispersal@Emigration@SexDep), + as.character(s@dispersal@Emigration@StageDep), + as.character(s@dispersal@Emigration@DensDep), + as.character(s@dispersal@Emigration@UseFullKern), + #Transfer + # transfer$Values, + #Settlement + as.character(s@dispersal@Settlement@DensDep), + as.character(s@dispersal@Settlement@SexDep), + as.character(s@dispersal@Settlement@StageDep), + Settle, if(dispersal_kernel){rep("",6)} else{""}, + if(movement_model){c(s@dispersal@Settlement@MinSteps, + s@dispersal@Settlement@MaxSteps, + s@dispersal@Settlement@MaxStepsYear) + }, + toString(s@dispersal@Settlement@FindMate) + ) +) +# delete all off-switches +Landscape <- Landscape[Landscape$Values!=-9 & Landscape$Values!="NULL",] +rownames(Landscape) <- NULL +Demography <- Demography[Demography$Values!=-9 & Demography$Values!="NULL",] +rownames(Demography) <- NULL +Initialisation <- Initialisation[Initialisation$Values!=-9 & Initialisation$Values!="NULL" & Initialisation$Values!="-9 -9 -9 -9",] +rownames(Initialisation) <- NULL +Simulation <- Simulation[Simulation$Values!=-9,] +rownames(Simulation) <- NULL + +# TODO: delete unset/unused variables +knitr::kable(Simulation, col.names = gsub("[.]", " ", names(Simulation)), caption = 'Simulation parameters') +knitr::kable(Landscape, col.names = gsub("[.]", " ", names(Landscape)), caption = 'Landscape parameters') +knitr::kable(Demography, col.names = gsub("[.]", " ", names(Demography)), caption = 'Demography parameters') +knitr::kable(Dispersal, col.names = gsub("[.]", " ", names(Dispersal)), caption = 'Dispersal parameters') +knitr::kable(Initialisation, col.names = gsub("[.]", " ", names(Initialisation)), caption = 'Initialisation parameters') +``` + +# References \ No newline at end of file diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/style-template.docx b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/style-template.docx new file mode 100644 index 0000000000000000000000000000000000000000..6e6e260e4a4b8317a1bd22cbbcec448b76c46665 GIT binary patch literal 162097 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

m7546k`m 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 k`RAX~Zyf$1{d+c2lz{}^+UK_o4I~Hx1SHW3czr + A description of the template +create_dir: FALSE diff --git a/RangeShiftR/inst/rmarkdown/templates/parameter_table/skeleton/skeleton.Rmd b/RangeShiftR/inst/rmarkdown/templates/parameter_table/skeleton/skeleton.Rmd new file mode 100644 index 0000000..8c02f66 --- /dev/null +++ b/RangeShiftR/inst/rmarkdown/templates/parameter_table/skeleton/skeleton.Rmd @@ -0,0 +1,765 @@ +--- +title: "Model parameter settings of the specific use case" +output: + word_document: + toc: FALSE + pdf_document: + latex_engine: xelatex + md_document: + toc: FALSE +--- + +```{r setup, include=T, echo=F} +knitr::opts_chunk$set(echo = TRUE) + +# Environmental stochasticity +environmental_stochasticity <- F +env_stoch_loc <- F +env_stoch_K <- F +env_stoch_R <- F + +# Outputs +output_range <- F +output_occ <- F +output_pop <- F +output_ind <- F +output_conn <- F +output_paths <- F +output_heatmaps <-F + +# landscape parameters +local_ext_prob <- F +arti_land <- F +arti_land_continuous <- F +real_land <- F +cell_based <- FALSE +patch_based <- F +habitat_type <- FALSE +habitat_quality <- F +dynamic_landscape <- F +resolution <- "" + +#population dynamics +stage_structured <- F +sexual <- F +only_female <- F +asexual <- F +rep_seasons <- 1 +rep_interval <- 0 +mating_simple <- F +mating_complex <- F +demography_sexdep <- F +repro_densdep <- F +repro_stagedep <- F +survival_densdep <- F +survival_stagedep <- F +survival_schedule <- 1 +develop_densdep <- F +develop_stagedep <- F + +# transfer TODO: check ups, e.g. if SMS T -> movement_model T +dispersal_kernel <- F +dispersal_kernel_simple <- F +dispersal_kernel_mixed <- F +movement_model <- F +movement_SMS <- F +movement_corrRW <- F +movement_cost <- F +movement_cost_file <- F +movement_SMS_PRmethod <- 0 +goal_type <- 0 + +# settlement +max_steps <- F +min_steps <- F +step_mortality <- F +mate_finding <- F +settlement_densdep <- F +settlement_stagedep <- F +settlement_sexdep <- F + +# emigration +emigration_densdep <- F +emigration_sexdep <- F +emigration_stagedep <- F + +research_question <- NULL # Please add your research question here [In parentheses "your text"] + +# environmental stochasticity +if(s@simul@EnvStoch==0) environmental_stochasticity <- F +if(s@simul@EnvStoch==1) {environmental_stochasticity <- T; env_stoch_loc <- F} +if(s@simul@EnvStoch==2) {environmental_stochasticity <- T; env_stoch_loc <- T} +if(s@simul@EnvStochType==0) {env_stoch_R <- T; env_stoch_K <- F} +if(s@simul@EnvStochType==1) {env_stoch_R <- F; env_stoch_K <- T} + +# outputs +if(s@simul@OutIntRange>=1) output_range <- T +if(s@simul@OutIntOcc>=1) output_occ <- T +if(s@simul@OutIntPop>=1) output_pop <- T +if(s@simul@OutIntInd>=1) output_ind <- T +if(s@simul@OutIntConn>=1) output_conn <- T +if(s@simul@OutIntPaths>=1) output_paths <- T +if(s@simul@SMSHeatMap>=1) output_heatmaps <- T + +# landscape +if(class(s@land)=="ArtificialLandscape") { + arti_land <- T + if (s@land@continuous) arti_land_continuous <- T + } +if(class(s@land)=="ImportedLandscape") real_land <- T +if(class(s@land)=="ImportedLandscape" & length(s@land@DynamicLandYears)>1) dynamic_landscape <- T +if(length(s@land@PatchFile)==0) cell_based <- T +if(length(s@land@PatchFile)!=0) patch_based <- T +if(s@land@HabPercent) habitat_quality <- T else habitat_type <- T +if(s@simul@LocalExt) local_ext_prob <- T + +resolution <- paste(s@land@Resolution, "m x ", s@land@Resolution,"m", sep="") + +# demography +if(s@demog@ReproductionType==0) {asexual <- T; only_female <- T} +if(s@demog@ReproductionType==1) {sexual <- T; mating_simple <- T} +if(s@demog@ReproductionType==2) {sexual <- T; mating_complex <- T} +if(s@demog@Rmax<0){ + stage_structured <- T + survival_schedule <- s@demog@StageStruct@SurvSched + rep_seasons <- s@demog@StageStruct@RepSeasons + rep_interval <- s@demog@StageStruct@RepInterval + if(s@demog@StageStruct@FecDensDep) repro_densdep <- T + if(s@demog@StageStruct@SurvDensDep) survival_densdep <- T + if(s@demog@StageStruct@DevDensDep) develop_densdep <- T + if(s@demog@StageStruct@FecStageWts) repro_stagedep <- T + if(s@demog@StageStruct@SurvStageWts) survival_stagedep <- T + if(s@demog@StageStruct@DevStageWts) develop_stagedep <- T +} + +# dispersal +# emigration +if(s@dispersal@Emigration@DensDep) emigration_densdep <- T +if(s@dispersal@Emigration@SexDep) emigration_sexdep <- T +if(s@dispersal@Emigration@StageDep) emigration_stagedep <- T + +# transfer +if(class(s@dispersal@Transfer)=="DispersalKernel") { + dispersal_kernel <- T + if(s@dispersal@Transfer@DoubleKernel) {dispersal_kernel_mixed <- T} else {dispersal_kernel_simple <- T} +} +if(class(s@dispersal@Transfer)=="CorrRW") { + movement_model <- T + movement_corrRW <- T + if(length(s@dispersal@Transfer@StepMort)>1){ + step_mortality <- T + } else if (s@dispersal@Transfer@StepMort>0){ + step_mortality <- T + } + if(s@dispersal@Settlement@MinSteps>0) min_steps <- T + if(s@dispersal@Settlement@MaxSteps>0) max_steps <- T +} + +if(class(s@dispersal@Transfer)=="StochMove"){ + movement_model <- T + movement_SMS <- T + goal_type <- s@dispersal@Transfer@GoalType + if(sum(s@dispersal@Transfer@Costs)>0) movement_cost <- T + if(!is.null(s@land@CostsFile)) {movement_cost_file <- T; movement_cost <- T} + if(length(s@dispersal@Transfer@StepMort)>1){ + step_mortality <- T + } else if (s@dispersal@Transfer@StepMort>0){ + step_mortality <- T + } + movement_SMS_PRmethod <- s@dispersal@Transfer@PRMethod + if(s@dispersal@Settlement@MinSteps>0) min_steps <- T + if(s@dispersal@Settlement@MaxSteps>0) max_steps <- T +} + +# settlement +if(s@dispersal@Settlement@DensDep) settlement_densdep <- T +if(s@dispersal@Settlement@SexDep) settlement_sexdep <- T +if(s@dispersal@Settlement@StageDep) settlement_stagedep <- T +if(any(s@dispersal@Settlement@FindMate)) mate_finding <- T + +# create a data.frames with all the parameter settings +# help function to transform any arrays to latex + array_to_LaTeX <- function(arr){ + rows <- apply(arr, MARGIN=1, paste, collapse = " & ") + matrix_string <- paste(rows, collapse = " \\\\ ") + return(paste("$$\\begin{bmatrix}", matrix_string, "\\end{bmatrix}$$")) + } + +range <- paste(s@init@minX, s@init@maxX, s@init@minY, s@init@maxY) +PropStages <- as.vector(s@init@PropStages) +res <- toString(PropStages) +if(real_land){ + nb_landscapes <- length(s@land@LandscapeFile) + # LandscapeFile <- as.vector(s@land@LandscapeFile) + + Nhabitats <- as.vector(s@land@Nhabitats) + Nhabitats <- toString(Nhabitats) + + K_or_DensDep <- as.vector(s@land@K_or_DensDep) + K_or_DensDep <- toString(K_or_DensDep) + + PatchFile <- as.vector(s@land@PatchFile) + PatchFile <- toString(PatchFile) + + CostsFile <- as.vector(s@land@CostsFile) + CostsFile <- toString(CostsFile) + + DynamicLandYears <- as.vector(s@land@DynamicLandYears) + DynamicLandYears <- toString(DynamicLandYears) +} + +if(stage_structured){ + # prepare transition matrix for output + matrix <- array_to_LaTeX(s@demog@StageStruct@TransMatrix) + + # prepare minage for output + MinAge <-toString(s@demog@StageStruct@MinAge) + + # prepare weight matrices for output + if(s@demog@StageStruct@FecStageWts){ + FecStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@FecStageWtsMatrix) + } else {FecStageWtsMatrix="Not selected."} + + if(s@demog@StageStruct@DevStageWts){ + DevStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@DevStageWtsMatrix) + } else {DevStageWtsMatrix="Not selected."} + + if(s@demog@StageStruct@SurvStageWts){ + SurvStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@SurvStageWtsMatrix) + } else {SurvStageWtsMatrix="Not selected."} +} + +if(class(s@dispersal@Emigration@EmigProb)[1]=="matrix"){ + emigprob <- array_to_LaTeX(s@dispersal@Emigration@EmigProb) +} else emigprob <- s@dispersal@Emigration@EmigProb + +if(dispersal_kernel){ + if(class(s@dispersal@Transfer@Distances=="matrix")){ + Distances <- array_to_LaTeX(s@dispersal@Transfer@Distances) + }else Distances <- s@dispersal@Transfer@Distances +} + + + +if(movement_SMS){ + if(class(s@dispersal@Transfer@Costs)=="numeric"){ + Costs <- toString(s@dispersal@Transfer@Costs) + }else Costs <- as.character(s@dispersal@Transfer@Costs) + + if(length(s@dispersal@Transfer@StepMort)>1){ + StepMort_SMS <- toString(s@dispersal@Transfer@StepMort) + } else StepMort_SMS <- s@dispersal@Transfer@StepMort +} + +if(movement_corrRW){ + if(length(s@dispersal@Transfer@StepMort)>1){ + StepMort_CorrRW <- toString(s@dispersal@Transfer@StepMort) + } else StepMort_CorrRW <- s@dispersal@Transfer@StepMort +} + +Settle<- array_to_LaTeX(s@dispersal@Settlement@Settle) + + +Simulation <- data.frame( + "Parameter "=c( + "Year", + "Replicates", + "Absorbing","", + "LocalExt", + "LocalEctProb", + "EnvStoch", "", + "EnvStochType", "", "", + "std", + "ac", + "minR", + "maxR", + "minK", + "maxK", + "OutIntRange", + "OutIntOcc", + "OutIntPop", + "OutIntInd", + "OutIntConn", + "OutIntPaths", + "OutStartPop", + "OutStartInd", + "OutStartConn", + "OutStartPaths", + "SMSHeatMap" + ), + "Description"=c( + "Number of simulated years", + "Number of simulation iterations", + "Whether non-valid cells lead to direct", "mortality of the individual during transfer", + "Local extinction", + "Local extinction probability", + "Environmental stochasticity", "(0: none, 1: global, 2: local)", + "Parameter on which environmental", "stochasticity acts (0: growth rate/fecundity,", "1: demographic density dependence)", + "Magnitude of stochastic fluctuations", + "Temporal autocorrelation coefficient", + "Minimum growth rate", + "Maximum growth rate", + "Minimum density dependence value", + "Maximum density dependence value", + "Output of range file", + "Output of occupancy file", + "Output of population file", + "Output of individual file", + "Output of connectivity file", + "Output of SMS paths file", + "Starting year for output population file", + "Starting year for output individual file", + "Starting year for output connectivity file", + "Starting year for output SMS paths file", + "Output SMS heat map raster file" + ), + "Values"=c( + as.character(s@simul@Years), + as.character(s@simul@Replicates), + as.character(s@simul@Absorbing),"", + as.character(s@simul@LocalExt), + as.character(s@simul@LocalExtProb), + as.character(s@simul@EnvStoch), "", + as.character(s@simul@EnvStochType), "", "", + as.character(s@simul@std), + as.character(s@simul@ac), + as.character(s@simul@minR), + as.character(s@simul@maxR), + as.character(s@simul@minK), + as.character(s@simul@maxK), + as.character(s@simul@OutIntRange), + as.character(s@simul@OutIntOcc), + as.character(s@simul@OutIntPop), + as.character(s@simul@OutIntInd), + as.character(s@simul@OutIntConn), + as.character(s@simul@OutIntPaths), + as.character(s@simul@OutStartPop), + as.character(s@simul@OutStartInd), + as.character(s@simul@OutStartConn), + as.character(s@simul@OutStartPaths), + as.character(s@simul@SMSHeatMap)) + ) + +Initialisation <- data.frame( + "Parameter "=c( + "InitType", "", "", "", + "FreeType", "", "", + "NrCells", + "SpType", "", "", "", "", + "InitIndsFile", + "InitDens", "", "", "", + "IndsHaCell", + "PropStages", + "InitAge", "", "", "", "", + "minX, maxX, minY, maxY", + "InitFreezeYear", "", + "RestrictRows", "", + "RestrictFreq", "", + "FinalFreezeYear", "", "" + ), + "Description "=c( + "Type of initialisation", "(0: free initialisation according to habitat map,", "1: from loaded species distribution map, ", "2: from initial individuals list file)", + "Option for free initialisation ", "(0: random in given number of cells, ", "1: all suitable cells/patches)", + "Number of cells to initialise", + "Option for initialisation from ", "species distribution map (0: all suitable cells within ", "all distribution presence cells, ", "1: all suitable cells within given ", "number of randomly chosen presence cells)", + "Name if the initial individuals list file", + "Number of individuals seeded in each cell/patch ", "(0: at demographic density dependence, ", "1: at half of the demographic density dependence, ", "2: according to quasi-equilibrium distribution)", + "Specified number of individuals per hectare", + "Proportion of initialised individuals in each stage", + "Initial age distribution ","(0: minimum age for the respective stage, ","1: random age between the minimum ","and maximum age for the respective stage, ","2: according to a quasi-equilibrium distribution)", + "Restrict initial range", + "Year until which species is ","confined to its initial range limits", + "Number of rows at northern ","front to restrict range.", + "Frequency in years at which ","range is restricted to northern front.", + "The year after which species is ","confined to its new, current range limits, ","after a period of range expansion." + ), + "Values"=c( + as.character(s@init@InitType), "", "", "", + as.character(s@init@FreeType), "", "", + as.character(s@init@NrCells), + as.character(s@init@SpType), "", "", "", "", + as.character(s@init@InitIndsFile), + as.character(s@init@InitDens), "", "", "", + as.character(s@init@IndsHaCell), + res, + as.character(s@init@InitAge), "", "", "", "", + range, + as.character(s@init@InitFreezeYear), "", + as.character(s@init@RestrictRows), "", + as.character(s@init@RestrictFreq), "", + as.character(s@init@FinalFreezeYear), "", "") + ) + +if(real_land){ + Landscape <- data.frame( + "Parameter "=c( + "Landscape file", + rep("", nb_landscapes-1), + "Resolution", + "HabPercent", + "NHabitats", + "K_or_DensDep", + "PatchFile", + "CostsFile", + "DynamicLandYears", + "SpDistFile", + "SpDistResolution" + ), + "Description "=c( + "Filename(s) of the landscape map(s)", + rep("", nb_landscapes-1), + "Resolution in meters", + "Whether habitat types/codes or habitat cover/quality", + "Number of different habitat codes", + "Demographic density dependence", + "Filename(s) of the patch map(s)", + "Filename(s) of the SMS cost map(s)", + "Years of landscape changes", + "Filename of the species initial distribution map", + "Resolution of the distribution map in meters" + ), + "Values"=c( + rep("", nb_landscapes), + s@land@Resolution, + s@land@HabPercent, + Nhabitats, + K_or_DensDep, + "", # PatchFile, + "", # CostsFile, + DynamicLandYears, + "",# s@land@SpDistFile, + s@land@SpDistResolution + )) +} + +if(arti_land){ + Landscape <- data.frame( + "Parameter "=c( + "propSuit", + "K_orDensDep", + "Resolution", + "dimX", + "dimY", + "fractal", + "hurst", + "continuous", + "minPct", + "maxPct" + ), + "Description "=c( + "Proportion of suitable habitat cells", + "Demographic density dependence", + "Resolution in meters", + "Number of cells along the x-axis", + "Number of cells along the y-axis", + "Whether a random or fractal landscape is generated", + "Hurst exponent", + "Continuous or binary habitat", + "Minimum percentage of habitat cover within a cell", + "Maximum percentage of habitat cover within a cell" + ), + "Values"=c( + s@land@propSuit, + s@land@K_or_DensDep, + s@land@Resolution, + s@land@dimX, + s@land@dimY, + s@land@fractal, + s@land@continuous, + s@land@minPct, + s@land@maxPct + )) +} + +if(s@demog@Rmax>0){ + Demography <- data.frame( + "Parameter"=c( + "Rmax", "", + "bc", "", + "ReproductionType","", "", "", + "PropMales", + "Harem" + ), + "Description"=c( + "Maximum growth rate ","(number of offspring per female at very low density)", + "Competition coefficient ","(describes the type of density regulation)", + "Decribes the reproduction type ","(0: asexual/only female; ","1: simple sexual model; ","2: sexual model with explicit mating system)", + "Proportion of males in the population", + "Maximum harem size" + ), + "Values"=c( + as.character(s@demog@Rmax), "", + as.character(s@demog@bc),"", + as.character(s@demog@ReproductionType),"", "", "", + as.character(s@demog@PropMales), + as.character(s@demog@Harem) + ) + ) +} + +if(s@demog@Rmax<0){ + Demography <- data.frame( + "Parameter "=c( + "Stages", + "TransMatrix","", "", "", + "MaxAge", + "MinAge","", "", + "RepSeasons", + "RepInterval","","", + "PRep","", + "SurvSched","","", + "FecDensDep","", + "DevDensDep","", + "SurvDensDep","", + "DevDensCoeff","", + "SurvDensCoeff","", + "FecStageWtsMatrix","", + "DevStageWtsMatrix","", + "SurvStageWtsMatrix","", + "PostDestrictn","","", + "ReproductionType","","", + "PropMales", + "Harem" + ), + "Description"=c( + "Number of life stages", + "Transition matrix. ","Defines the development probabilities ","from each stage into the next as well as the ","respective survival probabilities and fecundities", + "Maximum age in years", + "Ages which an individual in stage ","i-1 must already have reached before ","it can develop into the next stage i.", + "Number of potential reproduction events per year", + "Number of reproductive seasons ","which must be missed following a reproduction attempt ","before another reproduction attempt may occur", + "Probability of reproducing in ","subsequent reproductive seasons", + "Scheduling of survival ","(0: at reproduction, 1: between reproductive events, ","2: annually)", + "whether density dependent ","fecundity probability is modelled", + "Whether density dependent ","development probability is modelled", + "Whether density dependent ","survival probability is modelled", + "Relative density dependence ","coefficient for development", + "Relative density dependence ","coefficient for survival", + "Stage-dependent weights ","in density dependence of fecundity", + "Stage-dependent weights ","in density dependence of development", + "Stage dependent weights ","in density dependence of survival", + "Whether individuals of a population "," die (FALSE) or disperse (TRUE) ","if its patch gets destroyed", + "Decribes the reproduction type ","(0: asexual/only female; 1: simple sexual model; ","2: sexual model with explicit mating system)", + "Proportion of males in the population", + "Maximum harem size" + ), + "Values"=c( + s@demog@StageStruct@Stages, + matrix,"", "", "", + s@demog@StageStruct@MaxAge, + MinAge,"", "", + s@demog@StageStruct@RepSeasons, + s@demog@StageStruct@RepInterval,"","", + s@demog@StageStruct@PRep,"", + s@demog@StageStruct@SurvSched,"","", + s@demog@StageStruct@FecDensDep,"", + s@demog@StageStruct@DevDensDep,"", + s@demog@StageStruct@SurvDensDep,"", + s@demog@StageStruct@DevDensCoeff,"", + s@demog@StageStruct@SurvDensCoeff,"", + FecStageWtsMatrix,"", + DevStageWtsMatrix,"", + SurvStageWtsMatrix,"", + s@demog@StageStruct@PostDestructn,"","", + s@demog@ReproductionType,"","", + s@demog@PropMales, + s@demog@Harem + ) + ) +} + +# create df for each type of transfer + +# DispersalKernel +if(dispersal_kernel){ + transfer <- data.frame("Parameter"=c( + "Type", + "Distances","","", + "DoubleKernel", + "SexDep", + "StageDep", + "DistMort", + "MortProb", + "InflPoint", + "Slope"), + "Description"=c( + "Type of transfer", + "Matrix containing all dispersal kernel parameters","(#columns) for each stage/sex (#rows).", "Its structure depends on the other parameters.", + "Use a mixed (i.e. double negative exponential) kernel?", + "Sex-dependent dispersal kernel?", + "Stage-dependent dispersal kernel?", + "Distance-dependent mortality probability?", + "Constant mortality probability", + "Inflection point for the mortality distance dependence function.", + "Slope at inflection point for the mortality distance dependence function." + ), + "Values"=c( + as.character(class(s@dispersal@Transfer)), + Distances,"","", + as.character(s@dispersal@Transfer@DoubleKernel), + as.character(s@dispersal@Transfer@SexDep), + as.character(s@dispersal@Transfer@StageDep), + as.character(s@dispersal@Transfer@DistMort), + as.character(s@dispersal@Transfer@MortProb), + as.character(s@dispersal@Transfer@InflPoint), + as.character(s@dispersal@Transfer@Slope) + ) + ) +} + +if(movement_SMS){ + transfer <- data.frame("Parameter"=c( + "Type", + "PR", + "PRMethod","","","","","", + "MemSize","","", + "DP","", + "GoalType","", + "GoalBias", + "AlphaDB", + "BetaDB", + "Costs","","","", + "StepMort", + "StraightenPath" + ), + "Description"=c( + "Type of transfer", + "Perceptual range", + "Method to evaluate the effective cost"," of a particular step from the landdscape"," within the perceptual range:", "1: Arithmetic mean", "2: Harmonic mean", "Weighted arithmetic mean", + "Size of memory, given as the number of previous steps"," over which to calculate current direction"," to apply directional persistence", + "Directional persistence. Corresponds to the","tendency to follow a correlated random walk.", + "Goal bias type","0: None, 2: dispersal bias", + "Goal bias strength", + "Dispersal bias decay rate", + "Dispersal bias decay inflection point (number of steps)", + "Describes the landscapes resistance to movement:","Either habitat-specific costs for each habitat type","or 'file', to indictae to use the cost raster map(s)","specified in the landscape module.", + "Per-step mortality probability: constant or habitat-specific", + "Straighten path after decision not to settle in a patch?" + ), + "Values"=c( + as.character(class(s@dispersal@Transfer)), + s@dispersal@Transfer@PR, + s@dispersal@Transfer@PRMethod,"","","","","", + s@dispersal@Transfer@MemSize,"","", + s@dispersal@Transfer@DP,"", + s@dispersal@Transfer@GoalType,"", + s@dispersal@Transfer@GoalBias, + s@dispersal@Transfer@AlphaDB, + s@dispersal@Transfer@BetaDB, + Costs,"","","", + StepMort_SMS, + as.character(s@dispersal@Transfer@StraightenPath) + )) +} + +if(movement_corrRW) { + transfer <- data.frame("Parameter"=c( + "Type", + "StepLength", + "Rho", + "StraightenPath", + "StepMort" + ), + "Description"=c( + "Type of transfer", + "Step length given in meters", + "Correlation parameter", + "Straighten path after decision not to settle in a patch?", + "Per-step mortality probability: constant or habitat-specific" + ), + "Values"=c( + as.character(class(s@dispersal@Transfer)), + s@dispersal@Transfer@StepLength, + s@dispersal@Transfer@Rho, + s@dispersal@Transfer@StraightenPath, + StepMort_CorrRW + ) + ) +} + + +Dispersal <- data.frame( + "Process "=c( + "Emigration ","", "","","", + # "Transfer ", rep("",nrow(transfer)-1), + "Settlement ", if(!dispersal_kernel){rep("",8)} else{rep("",5)} + ), + "Parameter "=c( + # Emigration + "EmigProb", # can be Matrix or single value + "SexDep", + "StageDep", + "DensDep", + "UseFullKern", + #Transfer + # transfer$Parameter, + "DensDep", + "SexDep", + "StageDep", + "Settle","",if(dispersal_kernel){rep("",4)}, + if(!dispersal_kernel){c("MinSteps", + "MaxSteps", + "MaxStepsYear")}, + "FindMate" + ), + "Description "=c( + #Emigration + "Emigration probabilities/parameters for each stage/sex", + "Sex-dependent emigration probability?", + "Stage-dependent emigration probability?", + "Density-dependent emigration probability?", + "Shall the emigration probability be derived from dispersal kernel?", + #Transfer + # transfer$Description, + #Settlement + "Density-dependent settlement requirements?", + "Sex-dependent settlement requirements?", + "Stage-dependent settlement requirements?", + if(dispersal_kernel){"Settlement codes (for DispersalKernel)"} + else {"Settlement probability parameters"} + ,"for all stages/sexes.", + if(dispersal_kernel){c("0 = die (default)","1 = wait (stage-structured models only)","2 = randomly choose a suitable neighbouring cell or die","3 = randomly choose a suitable neighbouring cell"," or wait (stage-structured models only)")}, + if(!dispersal_kernel){c("Minimum number of steps", + "Maximum number of steps", + "Maximum number of steps per year")}, + "Mating requirements to settle?" + ), + "Values"=c( + #emigration + emigprob, + as.character(s@dispersal@Emigration@SexDep), + as.character(s@dispersal@Emigration@StageDep), + as.character(s@dispersal@Emigration@DensDep), + as.character(s@dispersal@Emigration@UseFullKern), + #Transfer + # transfer$Values, + #Settlement + as.character(s@dispersal@Settlement@DensDep), + as.character(s@dispersal@Settlement@SexDep), + as.character(s@dispersal@Settlement@StageDep), + Settle, if(dispersal_kernel){rep("",6)} else{""}, + if(movement_model){c(s@dispersal@Settlement@MinSteps, + s@dispersal@Settlement@MaxSteps, + s@dispersal@Settlement@MaxStepsYear) + }, + toString(s@dispersal@Settlement@FindMate) + ) +) +# delete all off-switches +Landscape <- Landscape[Landscape$Values!=-9 & Landscape$Values!="NULL",] +rownames(Landscape) <- NULL +Demography <- Demography[Demography$Values!=-9 & Demography$Values!="NULL",] +rownames(Demography) <- NULL +Initialisation <- Initialisation[Initialisation$Values!=-9 & Initialisation$Values!="NULL" & Initialisation$Values!="-9 -9 -9 -9",] +rownames(Initialisation) <- NULL +Simulation <- Simulation[Simulation$Values!=-9,] +rownames(Simulation) <- NULL + +# TODO: delete unset/unused variables +knitr::kable(Simulation, col.names = gsub("[.]", " ", names(Simulation)), caption = 'Simulation parameters') +knitr::kable(Landscape, col.names = gsub("[.]", " ", names(Landscape)), caption = 'Landscape parameters') +knitr::kable(Demography, col.names = gsub("[.]", " ", names(Demography)), caption = 'Demography parameters') +knitr::kable(Dispersal, col.names = gsub("[.]", " ", names(Dispersal)), caption = 'Dispersal parameters') +knitr::kable(Initialisation, col.names = gsub("[.]", " ", names(Initialisation)), caption = 'Initialisation parameters') +``` + diff --git a/RangeShiftR/inst/rmarkdown/templates/parameter_table/template.yaml b/RangeShiftR/inst/rmarkdown/templates/parameter_table/template.yaml new file mode 100644 index 0000000..38983d2 --- /dev/null +++ b/RangeShiftR/inst/rmarkdown/templates/parameter_table/template.yaml @@ -0,0 +1,4 @@ +name: parameter_table +description: > + A description of the template +create_dir: FALSE diff --git a/RangeShiftR/man/createParameterTables.Rd b/RangeShiftR/man/createParameterTables.Rd new file mode 100644 index 0000000..59dc96c --- /dev/null +++ b/RangeShiftR/man/createParameterTables.Rd @@ -0,0 +1,19 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/output_handling.R +\name{createParameterTables} +\alias{createParameterTables} +\title{Creating parameter table file for a specific RangeShiftR parameter master object} +\usage{ +createParameterTables(filename, s, type) +} +\arguments{ +\item{filename}{Name of the R markdown file and document to be created} + +\item{s}{RangeShiftR parameter object} + +\item{type}{file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document"} +} +\description{ +This function creates template file including tables of the parameter set for a specific RangeShiftR parameter master object \code{s}. It only creates a new file, if the \code{filename} doesn't exist in the folder. +If the \code{filename} already exists, it only renders the document to either pdf, word or md. +} From de2e5c7ca1a78b72be1b4117ce08b9dd91d983c7 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Tue, 25 Jan 2022 09:44:38 +0100 Subject: [PATCH 15/35] added example for filenames --- RangeShiftR/man/createODD.Rd | 2 +- RangeShiftR/man/createParameterTables.Rd | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RangeShiftR/man/createODD.Rd b/RangeShiftR/man/createODD.Rd index ef720a0..4d022a0 100644 --- a/RangeShiftR/man/createODD.Rd +++ b/RangeShiftR/man/createODD.Rd @@ -7,7 +7,7 @@ createODD(filename, s, type) } \arguments{ -\item{filename}{Name of the R markdown file and document to be created} +\item{filename}{Name of the R markdown file and document to be created, e.g. 'ODD_protocol.rmd'} \item{s}{RangeShiftR parameter object} diff --git a/RangeShiftR/man/createParameterTables.Rd b/RangeShiftR/man/createParameterTables.Rd index 59dc96c..d0f762e 100644 --- a/RangeShiftR/man/createParameterTables.Rd +++ b/RangeShiftR/man/createParameterTables.Rd @@ -7,7 +7,7 @@ createParameterTables(filename, s, type) } \arguments{ -\item{filename}{Name of the R markdown file and document to be created} +\item{filename}{Name of the R markdown file and document to be created e.g. 'Parameter_table.rmd'} \item{s}{RangeShiftR parameter object} From c8b9ce38396a4e33bb17a172bc3bbbadd37ce42d Mon Sep 17 00:00:00 2001 From: malchowa Date: Sat, 29 Jan 2022 00:16:46 +0100 Subject: [PATCH 16/35] match name of ODD template directory; add example names to roxygen --- RangeShiftR/R/output_handling.R | 9 +++++---- RangeShiftR/man/createODD.Rd | 3 ++- RangeShiftR/man/createParameterTables.Rd | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/RangeShiftR/R/output_handling.R b/RangeShiftR/R/output_handling.R index dc9877d..a81ed81 100644 --- a/RangeShiftR/R/output_handling.R +++ b/RangeShiftR/R/output_handling.R @@ -894,11 +894,12 @@ setMethod("getLocalisedEquilPop", "DemogParams", function(demog, DensDep_values, #' Creating ODD template file for a specific RangeShiftR parameter master object #' -#' This function creates an ODD template file for a specific RangeShiftR parameter master object \code{s}. It only creates a new file, if the \code{filename} doesn't exist in the folder. +#' This function creates an ODD template file for a specific RangeShiftR parameter master object \code{s}. +#' It only creates a new file, if the \code{filename} doesn't exist in the folder. #' If the \code{filename} already exists, it only renders the document to either pdf, word or md. #' @usage createODD(filename, s, type) #' -#' @param filename Name of the R markdown file and document to be created +#' @param filename Name of the R markdown file and document to be created, e.g. 'ODD_protocol.rmd' #' @param s RangeShiftR parameter object #' @param type file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document" #' @export @@ -907,7 +908,7 @@ setGeneric("createODD", function(filename, s, type,...) standardGeneric("createO setMethod("createODD", c(filename = "character", s="RSparams", type="character"), function(filename="ODD_protocol_template.Rmd", s, type="pdf_document"){ if(!file.exists(filename)) { unlink(c("RS_flowchart.png", "RS_flowchart_2.png", "style-template.docx", "RS_ODD.json", "ecography.csl", "RS_ODD.bib")) - rmarkdown::draft(filename, template = "ODD_protocoll", package = "RangeShiftR", edit = FALSE) + rmarkdown::draft(filename, template = "odd_protocoll", package = "RangeShiftR", edit = FALSE) } if (type=="pdf_document") format <- "pdf" if (type=="md_document") format <- "md" @@ -922,7 +923,7 @@ setMethod("createODD", c(filename = "character", s="RSparams", type="character") #' If the \code{filename} already exists, it only renders the document to either pdf, word or md. #' @usage createParameterTables(filename, s, type) #' -#' @param filename Name of the R markdown file and document to be created +#' @param filename Name of the R markdown file and document to be created, e.g. 'Parameter_table.rmd' #' @param s RangeShiftR parameter object #' @param type file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document" #' @export diff --git a/RangeShiftR/man/createODD.Rd b/RangeShiftR/man/createODD.Rd index 4d022a0..cdde048 100644 --- a/RangeShiftR/man/createODD.Rd +++ b/RangeShiftR/man/createODD.Rd @@ -14,6 +14,7 @@ createODD(filename, s, type) \item{type}{file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document"} } \description{ -This function creates an ODD template file for a specific RangeShiftR parameter master object \code{s}. It only creates a new file, if the \code{filename} doesn't exist in the folder. +This function creates an ODD template file for a specific RangeShiftR parameter master object \code{s}. +It only creates a new file, if the \code{filename} doesn't exist in the folder. If the \code{filename} already exists, it only renders the document to either pdf, word or md. } diff --git a/RangeShiftR/man/createParameterTables.Rd b/RangeShiftR/man/createParameterTables.Rd index d0f762e..99d5da4 100644 --- a/RangeShiftR/man/createParameterTables.Rd +++ b/RangeShiftR/man/createParameterTables.Rd @@ -7,7 +7,7 @@ createParameterTables(filename, s, type) } \arguments{ -\item{filename}{Name of the R markdown file and document to be created e.g. 'Parameter_table.rmd'} +\item{filename}{Name of the R markdown file and document to be created, e.g. 'Parameter_table.rmd'} \item{s}{RangeShiftR parameter object} From d8743d3b47a9829184f032fd8eebb7cc4bf88213 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Mon, 31 Jan 2022 14:38:43 +0100 Subject: [PATCH 17/35] changed figure type for flowchart to pdf (word output is not able to use pdf files for figures -> need to fix it or decide to delete 'word option' --- RangeShiftR/R/output_handling.R | 4 +- .../skeleton/RS_ODD.bib | 0 .../skeleton/RS_ODD.json | 0 .../odd_protocol/skeleton/RSflowchart_big.pdf | Bin 0 -> 14906 bytes .../odd_protocol/skeleton/RSflowchart_big.svg | 977 ++++++++++++ .../skeleton/RSflowchart_detail.pdf | Bin 0 -> 23392 bytes .../skeleton/RSflowchart_detail.svg | 1363 +++++++++++++++++ .../skeleton/ecography.csl | 0 .../skeleton/skeleton.Rmd | 5 +- .../skeleton/style-template.docx | Bin .../template.yaml | 0 .../odd_protocoll/skeleton/RS_flowchart.png | Bin 56781 -> 0 bytes .../odd_protocoll/skeleton/RS_flowchart_2.png | Bin 73808 -> 0 bytes 13 files changed, 2345 insertions(+), 4 deletions(-) rename RangeShiftR/inst/rmarkdown/templates/{odd_protocoll => odd_protocol}/skeleton/RS_ODD.bib (100%) rename RangeShiftR/inst/rmarkdown/templates/{odd_protocoll => odd_protocol}/skeleton/RS_ODD.json (100%) create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_big.pdf create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_big.svg create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.pdf create mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.svg rename RangeShiftR/inst/rmarkdown/templates/{odd_protocoll => odd_protocol}/skeleton/ecography.csl (100%) rename RangeShiftR/inst/rmarkdown/templates/{odd_protocoll => odd_protocol}/skeleton/skeleton.Rmd (99%) rename RangeShiftR/inst/rmarkdown/templates/{odd_protocoll => odd_protocol}/skeleton/style-template.docx (100%) rename RangeShiftR/inst/rmarkdown/templates/{odd_protocoll => odd_protocol}/template.yaml (100%) delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_flowchart.png delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_flowchart_2.png diff --git a/RangeShiftR/R/output_handling.R b/RangeShiftR/R/output_handling.R index dc9877d..146cda5 100644 --- a/RangeShiftR/R/output_handling.R +++ b/RangeShiftR/R/output_handling.R @@ -906,8 +906,8 @@ setGeneric("createODD", function(filename, s, type,...) standardGeneric("createO setMethod("createODD", c(filename = "character", s="RSparams", type="character"), function(filename="ODD_protocol_template.Rmd", s, type="pdf_document"){ if(!file.exists(filename)) { - unlink(c("RS_flowchart.png", "RS_flowchart_2.png", "style-template.docx", "RS_ODD.json", "ecography.csl", "RS_ODD.bib")) - rmarkdown::draft(filename, template = "ODD_protocoll", package = "RangeShiftR", edit = FALSE) + unlink(c("RSflowchart_big.pdf", "RSflowchart_detail.pdf", "RSflowchart_big.svg", "RSflowchart_detail.svg", "style-template.docx", "RS_ODD.json", "ecography.csl", "RS_ODD.bib")) + rmarkdown::draft(filename, template = "odd_protocol", package = "RangeShiftR", edit = FALSE) } if (type=="pdf_document") format <- "pdf" if (type=="md_document") format <- "md" diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.bib b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.bib similarity index 100% rename from RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.bib rename to RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.bib diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.json b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.json similarity index 100% rename from RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_ODD.json rename to RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.json diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_big.pdf b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_big.pdf new file mode 100644 index 0000000000000000000000000000000000000000..db8026b1a43234d2706373996e38c8ded778597f GIT binary patch literal 14906 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

&YS5dg6a+$60X@xMQb5cuT*V?2DX3|7`%f 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 + + + + + + + + + + + + + Species' + +distribution map + + + + Species'distribution map + + + + + + + + + + + Landscape map + + + + Landscape map + + + + + + + + + Artificial environ- + +mental gradient + + + + Artificial environ-mental gradient + + + + + + + + + + + Initialisation + + + + Initialisation + + + + + + + + + + No + + + + No + + + + + + + + + + Yes + + + + Yes + + + + + + + + + Gradient  + +shifting? + + + + Gradientshifting? + + + + + + + + + + Yes + + + + Yes + + + + + + + + + + No + + + + No + + + + + + + + + Environmental + +stochasticity? + + + + Environmentalstochasticity? + + + + + + + + + + Shifting + + + + Shifting + + + + + + + + + + Environmental + + stochasticity + + + + + Environmentalstochasticity + + + + + + + + + + + Population + +dynamics + + + + Populationdynamics + + + + + + + + + + + Dispersal + + + + Dispersal + + + + + + + + + Outputs +(Range, populations, individuals, + +traits, genetic, connectivity matrix, + +SMS paths) + + + + + Outputs(range, populations, individuals,traits, genetics, connectivity matrix) + + + + + + + + + + + + Reproductive seasons + + + + + Reproductive seasons + + + + + + + + + + + + Years + + + + + Years + + + + + + + Text is not SVG - cannot display + + + diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.pdf b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3413646a3774bbbc527896696b1b946541fe32a3 GIT binary patch literal 23392 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 literal 0 HcmV?d00001 diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.svg b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.svg new file mode 100644 index 0000000..1cb81c1 --- /dev/null +++ b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.svg @@ -0,0 +1,1363 @@ + + + + + + + + + + + + + + + + + + + Reproduction + + + + Reproduction + + + + + + + + + + + Emigration + + + + Emigration + + + + + + + + + + + Transfer + + + + Transfer + + + + + + + + + + No + + + + No + + + + + + + + + + Yes + + + + Yes + + + + + + + + + Movement + +process? + + + + Movementprocess? + + + + + + + + + + + Settlement + + + + Settlement + + + + + + + + + + Yes + + + + Yes + + + + + + + + + Stage-structure & + +survival between  + +repr. seasons?  + + + + Stage-structure &survival betweenrepr.seasons? + + + + + + + + + + + Survival & + +Development + + + + Survival &development + + + + + + + + + + Yes + + + + Yes + + + + + + + + + + + + + Aging + + + + Aging + + + + + + + + Ind. variability / + +traits evolution? + + + + Ind. variability /traits evolution? + + + + + + + + + Steps + + + + Steps + + + + + + + + + + No + + + + No + + + + + + + + + + No + + + + No + + + + + + + + + + + + Reproductive seasons + + + + + Reproductive seasons + + + + + + + + + + + + Years + + + + + + Years + + + + + + Text is not SVG - cannot display + + + + + + + + + + + + Stage-structure & + +survival between  + +repr. seasons?  + + + + Stage-structure &annual survival? + + + + + + + + Survival & + +Development + + + + Survival &development + + + + + + + + + + + + + + Yes + + + + Yes + + + + + + + + + No + + + + No + + + + + + + + + + + + + + Traits + +inheritance + + + + Traitinheritance + + + + + + + + Traits + +mutation + + + + Traitsmutation + + + diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/ecography.csl b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/ecography.csl similarity index 100% rename from RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/ecography.csl rename to RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/ecography.csl diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/skeleton.Rmd b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/skeleton.Rmd similarity index 99% rename from RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/skeleton.Rmd rename to RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/skeleton.Rmd index cbdc496..5d18b95 100644 --- a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/skeleton.Rmd +++ b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/skeleton.Rmd @@ -12,6 +12,7 @@ output: latex_engine: xelatex toc: TRUE keep_md: TRUE + keep_tex: TRUE params: format: "word" bibliography: RS_ODD.json @@ -263,11 +264,11 @@ There are three distinct temporal scales. The highest-level one has years as uni # Process overview and scheduling -![General model workflow and schedule. The core of the model highlighted in blue is expanded in the flow chart in Fig. 2](./RS_flowchart.png){width=50%, height=50%} +![General model workflow and schedule. The core of the model highlighted in blue is expanded in the flow chart in Fig. 2](./RSflowchart_big.pdf){height=70%} \newpage -![General flowchart of the core model](./RS_flowchart_2.png){width=50%, height=50%} +![General flowchart of the core model](./RSflowchart_detail.pdf){height=70%} \newpage diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/style-template.docx b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/style-template.docx similarity index 100% rename from RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/style-template.docx rename to RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/style-template.docx diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/template.yaml b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/template.yaml similarity index 100% rename from RangeShiftR/inst/rmarkdown/templates/odd_protocoll/template.yaml rename to RangeShiftR/inst/rmarkdown/templates/odd_protocol/template.yaml diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_flowchart.png b/RangeShiftR/inst/rmarkdown/templates/odd_protocoll/skeleton/RS_flowchart.png deleted file mode 100644 index f8c9555004386ea494f58c1bd2c458242c71025e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56781 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%0AYAOli=}si;OoMYxC%{O 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 GGywn?4}r)4 From 75331a900c2ea298410f714a787c3c7a2984f003 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Fri, 4 Feb 2022 10:28:15 +0100 Subject: [PATCH 18/35] class_DemogParams.R: Allow for -9 values in Fec/Surv/DevLayer matrices if parameter should not be spatially varying Rinterface.cpp: set setFecLayer/setDevLayer/setSurvLayer independent from eachother; otherwise it would use default values as soon as the first condition is false --- RangeShiftR/R/class_DemogParams.R | 12 +- RangeShiftR/src/Rinterface.cpp | 71 +++++++----- RangeShiftR/src/Species.cpp | 176 +++++++++++++++--------------- RangeShiftR/src/Species.h | 118 ++++++++++---------- 4 files changed, 195 insertions(+), 182 deletions(-) diff --git a/RangeShiftR/R/class_DemogParams.R b/RangeShiftR/R/class_DemogParams.R index b651f18..56054c4 100644 --- a/RangeShiftR/R/class_DemogParams.R +++ b/RangeShiftR/R/class_DemogParams.R @@ -368,8 +368,8 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "Elements of FecLayer can not be NA!") } else{ - if (any(object@FecLayer<=0)) { - msg <- c(msg, "Elements of FecLayer must be strictly postive integers!") + if (any(object@FecLayer[object@FecLayer<=0]!=-9)) { + msg <- c(msg, "Elements of FecLayer must be strictly postive integers or -9 for missing values!") } } } @@ -378,8 +378,8 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "Elements of DevLayer can not be NA!") } else{ - if (any(object@DevLayer<0)) { - msg <- c(msg, "Elements of DevLayer must be postive integers!") + if (any(object@DevLayer[object@DevLayer<=0]!=-9)) { + msg <- c(msg, "Elements of DevLayer must be postive integers or -9 for missing values!") } } } @@ -388,8 +388,8 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "Elements of SurvLayer can not be NA!") } else{ - if (any(object@SurvLayer<0)) { - msg <- c(msg, "Elements of SurvLayer must be postive integers!") + if (any(object@SurvLayer[object@SurvLayer<=0]!=-9)) { + msg <- c(msg, "Elements of SurvLayer must be postive integers or -9 for missing values!") } } } diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index 4934a5f..c1bd5c6 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -1,25 +1,25 @@ /*---------------------------------------------------------------------------- - * + * * Copyright (C) 2020 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell - * + * * This file is part of RangeShiftR. - * + * * RangeShiftR is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * RangeShifter is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with RangeShiftR. If not, see . - * + * --------------------------------------------------------------------------*/ - - + + /*------------------------------------------------------------------------------ RangeShifter v2.0 Main @@ -2180,34 +2180,47 @@ int ReadStageStructureR(Rcpp::S4 ParMaster) // index of input layer corresponding to each spatially varying demographic rate short layercols,layerrows; Rcpp::IntegerMatrix feclayerMatrix, devlayerMatrix, survlayerMatrix; - + feclayerMatrix = Rcpp::as(StagesParamsR.slot("FecLayer")); devlayerMatrix = Rcpp::as(StagesParamsR.slot("DevLayer")); survlayerMatrix = Rcpp::as(StagesParamsR.slot("SurvLayer")); - + if(dem.repType == 2) {layercols = NSEXES;} else {layercols = 1;} layerrows = sstruct.nStages; - + if(layercols == feclayerMatrix.ncol() && layerrows == feclayerMatrix.nrow() ) { - if(layercols == devlayerMatrix.ncol() && layerrows == devlayerMatrix.nrow() ) { - if(layercols == survlayerMatrix.ncol() && layerrows == survlayerMatrix.nrow() ) { - for(i = 0; i < layerrows; i++) { // stages in rows - for(j = 0; j < layercols; j++) { // sexes in columns - pSpecies->setFecLayer(i, j, feclayerMatrix(i,j)); - pSpecies->setDevLayer(i, j, devlayerMatrix(i,j)); - pSpecies->setSurvLayer(i, j, survlayerMatrix(i,j)); - } - } - } else { - Rcpp::Rcout << "Dimensions of SurvLayer matrix do not match; default values are used instead." << endl; - } - } else { - Rcpp::Rcout << "Dimensions of DevLayer matrix do not match; default values are used instead." << endl; - } + for(i = 0; i < layerrows; i++) { // stages in rows + for(j = 0; j < layercols; j++) { // sexes in columns + pSpecies->setFecLayer(i, j, feclayerMatrix(i,j)); + } + } + } else { + Rcpp::Rcout << "Dimensions of FecLayer matrix do not match; default values are used instead." << endl; + } + + if(layercols == devlayerMatrix.ncol() && layerrows == devlayerMatrix.nrow() ) { + for(i = 0; i < layerrows; i++) { // stages in rows + for(j = 0; j < layercols; j++) { // sexes in columns + pSpecies->setDevLayer(i, j, devlayerMatrix(i,j)); + Rcpp::Rcout << devlayerMatrix(i,j) << endl; + } + } + } else { + Rcpp::Rcout << "Dimensions of DevLayer matrix do not match; default values are used instead." << endl; + } + + if(layercols == survlayerMatrix.ncol() && layerrows == survlayerMatrix.nrow() ) { + for(i = 0; i < layerrows; i++) { // stages in rows + for(j = 0; j < layercols; j++) { // sexes in columns + pSpecies->setSurvLayer(i, j, survlayerMatrix(i,j)); + Rcpp::Rcout << survlayerMatrix(i,j) << endl; + } + } + } else { - Rcpp::Rcout << "Dimensions of FecLayer matrix do not match; default values are used instead." << endl; + Rcpp::Rcout << "Dimensions of SurvLayer matrix do not match; default values are used instead." << endl; } - + #endif // SPATIALDEMOG #if PARTMIGRN @@ -4739,7 +4752,7 @@ int ReadInitIndsFileR(int option, Landscape* pLandscape, Rcpp::DataFrame initind Rcpp::CharacterVector colnames = initindslist.names(); int lines = initindslist.nrows(); int errors = 0, col_ix = 0; - + Rcpp::IntegerVector df_year; Rcpp::IntegerVector df_species; Rcpp::IntegerVector df_patch; diff --git a/RangeShiftR/src/Species.cpp b/RangeShiftR/src/Species.cpp index 77d347c..dd1244a 100644 --- a/RangeShiftR/src/Species.cpp +++ b/RangeShiftR/src/Species.cpp @@ -1,25 +1,25 @@ /*---------------------------------------------------------------------------- - * - * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell - * + * + * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell + * * This file is part of RangeShifter. - * + * * RangeShifter is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * RangeShifter is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with RangeShifter. If not, see . - * + * --------------------------------------------------------------------------*/ - - + + //--------------------------------------------------------------------------- #if RS_EMBARCADERO #pragma hdrstop @@ -41,7 +41,7 @@ dispersal = 1; stageStruct = false; #if RS_CONTAIN habDepDem = false; -#endif // RS_CONTAIN +#endif // RS_CONTAIN propMales = 0.5; harem = 1.0; bc = 1.0; lambda = 1.5; probRep = 1.0; #if GOBYMODEL asocF = 1.0; @@ -50,15 +50,15 @@ asocF = 1.0; selfing = false; paternity = 0; propLocal = 1.0; propNghbr = 0.0; -#endif // GROUPDISP +#endif // GROUPDISP #if SEASONAL -nSeasons = 2; +nSeasons = 2; #if PARTMIGRN for (int i = 0; i < 7; i++) propDispMigrn[i] = 0.0; -resetMigrn = false; +resetMigrn = false; #endif // PARTMIGRN #else -repSeasons = 1; +repSeasons = 1; #endif // SEASONAL repInterval = 0; maxAge = 1000; survival = 1; fecDens = false; fecStageDens = false; @@ -78,26 +78,26 @@ for (int i = 0; i < NSTAGES; i++) { #if SEASONAL for (int h = 0; h < NHABITATS; h++) { for (int s = 0; s < NSEASONS; s++) { - fec[h][s][i][j] = 0.0; dev[h][s][i][j] = 0.0; surv[h][s][i][j] = 0.0; + fec[h][s][i][j] = 0.0; dev[h][s][i][j] = 0.0; surv[h][s][i][j] = 0.0; } } #else for (int h = 0; h < NHABITATS; h++) { - fec[h][i][j] = 0.0; dev[h][i][j] = 0.0; surv[h][i][j] = 0.0; + fec[h][i][j] = 0.0; dev[h][i][j] = 0.0; surv[h][i][j] = 0.0; } -#endif // SEASONAL +#endif // SEASONAL #else #if SEASONAL for (int s = 0; s < NSEASONS; s++) { - fec[s][i][j] = 0.0; dev[s][i][j] = 0.0; surv[s][i][j] = 0.0; + fec[s][i][j] = 0.0; dev[s][i][j] = 0.0; surv[s][i][j] = 0.0; } #else fec[i][j] = 0.0; dev[i][j] = 0.0; surv[i][j] = 0.0; #if SPATIALDEMOG - fecLayer[i][j] =-9; devLayer[i][j] = -9; survLayer[i][j] = -9; + fecLayer[i][j] = -9; devLayer[i][j] = -9; survLayer[i][j] = -9; #endif // SPATIALDEMOG -#endif // SEASONAL -#endif // RS_CONTAIN +#endif // SEASONAL +#endif // RS_CONTAIN minAge[i][j] = 0; } } @@ -152,20 +152,20 @@ groupmean = 2.0; groupdisp = false; grouptype = 0; #endif // initialise transfer parameters -moveModel = false; stgDepTrfr = false; sexDepTrfr = false; distMort = false; +moveModel = false; stgDepTrfr = false; sexDepTrfr = false; distMort = false; indVarTrfr = false; #if RS_CONTAIN kernType = 0; #else twinKern = false; -#endif // RS_CONTAIN +#endif // RS_CONTAIN #if TEMPMORT -smType = 0; +smType = 0; nextChange = 0; currentMortality = currentGradient = nextGradient = 0.0; #else -habMort = false; -#endif // TEMPMORT +habMort = false; +#endif // TEMPMORT costMap = false; moveType = 1; for (int i = 0; i < NSTAGES; i++) { @@ -197,12 +197,12 @@ straigtenPath = false; fullKernel = false; #if RS_CONTAIN u0Kernel1 = p0Kernel1 = u0Kernel2 = p0Kernel2 = 0.0; -propKernel1 = 1.0; -//mu = gamma = 0.0; +propKernel1 = 1.0; +//mu = gamma = 0.0; meanU = vt = 1.0; sigma_w = kappa = 0.1; hc = 10.0; meanDirn = 0.0; sdDirn = 10.0; for (int i = 0; i < NSTAGES; i++) hr[i] = 1.0; -#endif // RS_CONTAIN +#endif // RS_CONTAIN // initialise settlement parameters stgDepSett = false; sexDepSett = false; indVarSett = false; @@ -214,12 +214,12 @@ for (int i = 0; i < NSTAGES; i++) { s0[i][j] = 1.0; alphaS[i][j] = 0.0; betaS[i][j] = 1.0; } } -for (int j = 0; j < NSEXES; j++) { +for (int j = 0; j < NSEXES; j++) { alphaSMean[0][j] = 0.0; alphaSSD[0][j] = 0.0; betaSMean[0][j] = 0.0; betaSSD[0][j] = 0.0; s0Mean[0][j] = 0.0; s0SD[0][j] = 0.0; } -alphaSScale = 0.0; betaSScale = 0.0; s0Scale = 0.0; +alphaSScale = 0.0; betaSScale = 0.0; s0Scale = 0.0; #if GOBYMODEL alphaSasoc = betaSasoc = 1.0; #endif @@ -248,7 +248,7 @@ if (habCost != 0 || habStepMort != 0) deleteHabCostMort(); if (nLoci != NULL) deleteLoci(); if (traitdata != NULL) deleteTraitData(); if (traitnames != NULL) deleteTraitNames(); -#if TEMPMORT +#if TEMPMORT mortchanges.clear(); #endif #if SEASONAL @@ -267,7 +267,7 @@ if (season >= 0 && season < nSeasons) breeding.push_back(br); bool Species::getBreeding(short season) { if (season >= 0 && season < nSeasons) return breeding[season]; else return false; -} +} void Species::setExtreme(short season,extrmevent e) { if (season == 0) extreme.clear(); if (season >= 0 && season < nSeasons @@ -276,21 +276,21 @@ if (season >= 0 && season < nSeasons extrmevent Species::getExtreme(short season) { extrmevent e; e.prob = e.mort = 0.0; if (season >= 0 && season < nSeasons) { - if (extreme.size() > 0) e = extreme[season]; + if (extreme.size() > 0) e = extreme[season]; } return e; -} +} #if PARTMIGRN void Species::setPropDispMigrn(short s,float p) { if (s >= 1 && s <= 6 && p >= 0.0 && p <= 1.0) propDispMigrn[s] = p; -} +} float Species::getPropDispMigrn(short s) { if (s >= 1 && s <= 6) return propDispMigrn[s]; else return 0.0; -} -void Species::setResetMigrn(bool r) { resetMigrn = r; } -bool Species::getResetMigrn(void) { return resetMigrn; } -#endif // PARTMIGRN +} +void Species::setResetMigrn(bool r) { resetMigrn = r; } +bool Species::getResetMigrn(void) { return resetMigrn; } +#endif // PARTMIGRN #endif //--------------------------------------------------------------------------- @@ -310,7 +310,7 @@ if (d.repSeasons >= 1) repSeasons = d.repSeasons; #endif #if RS_CONTAIN habDepDem = d.habDepDem; -#endif // RS_CONTAIN +#endif // RS_CONTAIN #if BUTTERFLYDISP if (d.dispersal >= 0 && d.dispersal <= 1) dispersal = d.dispersal; #endif @@ -338,7 +338,7 @@ d.repSeasons = repSeasons; #endif #if RS_CONTAIN d.habDepDem = habDepDem; -#endif // RS_CONTAIN +#endif // RS_CONTAIN #if BUTTERFLYDISP d.dispersal = dispersal; #endif @@ -388,7 +388,7 @@ float Species::getMaxK(short nseasons) { float k = 0.0; for (int h = 0; h < habDimK; h++) { for (int s = 0; s < nseasons; s++) { - if (habK[h][s] > k) k = habK[h][s]; + if (habK[h][s] > k) k = habK[h][s]; } } return k; @@ -425,7 +425,7 @@ for (int i = 0; i < habDimK; i++) { return k; } -#endif // SEASONAL +#endif // SEASONAL void Species::deleteHabK(void) { if (habK != 0) { @@ -473,13 +473,13 @@ if (hab < 0) { // reset all habitats for (int sex = 0; sex < NSEXES; sex++) { fec[h][ssn][stg][sex] = 0.0; dev[h][ssn][stg][sex] = 0.0; surv[h][ssn][stg][sex] = 0.0; } - } + } } } } else { if (hab < NHABITATS) { - for (int ssn = 0; ssn < NSEASONS; ssn++) { + for (int ssn = 0; ssn < NSEASONS; ssn++) { for (int stg = 0; stg < NSTAGES; stg++) { for (int sex = 0; sex < NSEXES; sex++) { fec[hab][ssn][stg][sex] = 0.0; dev[hab][ssn][stg][sex] = 0.0; surv[hab][ssn][stg][sex] = 0.0; @@ -514,7 +514,7 @@ if (stageStruct) { for (int ssn = 0; ssn < 10; ssn++) { for (int stg = 1; stg < NSTAGES; stg++) { if (fec[hab][ssn][stg][0] > maxfec) maxfec = fec[hab][ssn][stg][0]; - } + } } } } @@ -551,7 +551,7 @@ if (hab < 0) { // reset all habitats for (int sex = 0; sex < NSEXES; sex++) { fec[h][stg][sex] = 0.0; dev[h][stg][sex] = 0.0; surv[h][stg][sex] = 0.0; } - } + } } } else { @@ -590,7 +590,7 @@ if (stageStruct) { for (int hab = 0; hab < NHABITATS; hab++) { for (int stg = 1; stg < NSTAGES; stg++) { if (fec[hab][stg][0] > maxfec) maxfec = fec[hab][stg][0]; - } + } } } else maxfec = lambda; @@ -615,7 +615,7 @@ if (hab >= 0 && hab < NHABITATS && stg >= 0 && stg < NSTAGES && sex >= 0 && sex float Species::getSurv(short hab,short stg,short sex) { if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) { - if (hab >= 0 && hab < NHABITATS) return surv[hab][stg][sex]; + if (hab >= 0 && hab < NHABITATS) return surv[hab][stg][sex]; else { if (hab < 0) { // return highest survival for the stage from all habitats float maxsurv = 0.0; @@ -634,7 +634,7 @@ if (hab >= 0 && hab < NHABITATS && stg >= 0 && stg < NSTAGES && sex >= 0 && sex else return 0.0; */ } -#endif // SEASONAL +#endif // SEASONAL #else @@ -658,7 +658,7 @@ if (stageStruct) { for (int ssn = 0; ssn < NSEASONS; ssn++) { for (int stg = 1; stg < NSTAGES; stg++) { if (fec[ssn][stg][0] > maxfec) maxfec = fec[ssn][stg][0]; - } + } } } else maxfec = lambda; @@ -734,9 +734,9 @@ if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) else return 0.0; } -#endif // SEASONAL +#endif // SEASONAL -#endif // RS_CONTAIN +#endif // RS_CONTAIN #if SPATIALDEMOG void Species::setFecLayer(short stg,short sex,short l) { @@ -996,7 +996,7 @@ PARAMLOG << "deleteDDwtSurv(): finished, ddwtSurv = " << ddwtSurv << endl; // Functions to handle min/max R or K (under environmental stochasticity) //void Species::setMinMax(float min,float max) { -void Species::setMinMax(float min, float max) { +void Species::setMinMax(float min, float max) { if (min >= 0.0 && max > min) { minRK = min; maxRK = max; } @@ -1159,7 +1159,7 @@ if (indVarTrfr) { else { if (twinKern) movttraits = 3; else movttraits = 1; } -#endif // RS_CONTAIN +#endif // RS_CONTAIN } movtTrait[0] = nTraits; movtTrait[1] = movttraits; nTraits += movttraits; @@ -1254,10 +1254,10 @@ if (indVarTrfr) { else { if (sexDepTrfr) { #if RS_CONTAIN - if (kernType == 1) + if (kernType == 1) #else - if (twinKern) -#endif // RS_CONTAIN + if (twinKern) +#endif // RS_CONTAIN { traitnames[trait++] = "meanDistI_F"; traitnames[trait++] = "meanDistI_M"; @@ -1274,10 +1274,10 @@ if (indVarTrfr) { else { traitnames[trait++] = "meanDistI"; #if RS_CONTAIN - if (kernType == 1) + if (kernType == 1) #else - if (twinKern) -#endif // RS_CONTAIN + if (twinKern) +#endif // RS_CONTAIN { traitnames[trait++] = "meanDistII"; traitnames[trait++] = "probKernI"; @@ -1741,13 +1741,13 @@ distMort = t.distMort; indVarTrfr = t.indVar; #if RS_CONTAIN if (t.kernType >= 0 && t.kernType <= 3) kernType = t.kernType; #else -twinKern = t.twinKern; -#endif // RS_CONTAIN +twinKern = t.twinKern; +#endif // RS_CONTAIN #if TEMPMORT if (t.smType >= 0 && t.smType <= 2) smType = t.smType; #else habMort = t.habMort; -#endif // TEMPMORT +#endif // TEMPMORT moveType = t.moveType; costMap = t.costMap; //setGenome(); } @@ -1759,13 +1759,13 @@ t.distMort = distMort; t.indVar = indVarTrfr; #if RS_CONTAIN t.kernType = kernType; #else -t.twinKern = twinKern; -#endif // RS_CONTAIN +t.twinKern = twinKern; +#endif // RS_CONTAIN #if TEMPMORT t.smType = smType; #else t.habMort = habMort; -#endif // TEMPMORT +#endif // TEMPMORT t.moveType = moveType; t.costMap = costMap; t.movtTrait[0] = movtTrait[0]; t.movtTrait[1] = movtTrait[1]; return t; @@ -1780,7 +1780,7 @@ bool Species::useFullKernel(void) { return fullKernel; } void Species::setKernTraits(const short stg,const short sex, const trfrKernTraits k,const int resol) { -if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) { +if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) { if (k.meanDist1 > 0.0 && k.meanDist1 >= (float)resol) meanDist1[stg][sex] = k.meanDist1; if (k.meanDist2 >= (float)resol) meanDist2[stg][sex] = k.meanDist2; if (k.probKern1 > 0.0 && k.probKern1 < 1.0) probKern1[stg][sex] = k.probKern1; @@ -1823,7 +1823,7 @@ if (t.u0Kernel2 >= 0.0) u0Kernel2 = t.u0Kernel2; if (t.p0Kernel2 >= 0.0) p0Kernel2 = t.p0Kernel2; if (t.propKernel1 >= 0.0) propKernel1 = t.propKernel1; } - + trfr2Dt Species::getTrfr2Dt(void) { trfr2Dt t; t.u0Kernel1 = u0Kernel1; t.p0Kernel1 = p0Kernel1; @@ -1843,26 +1843,26 @@ if (w.kappa > 0.0) kappa = w.kappa; if (w.meanDirn >= 0.0 && w.meanDirn < 360.0) meanDirn = w.meanDirn; if (w.sdDirn > 0.0) sdDirn = w.sdDirn; } - + trfrWald Species::getTrfrWald(void) { trfrWald w; w.meanU = meanU; w.sigma_w = sigma_w; w.hc = hc; w.vt = vt; w.kappa = kappa; w.meanDirn = meanDirn; w.sdDirn = sdDirn; return w; -} +} void Species::setTrfrHr(float h,unsigned short stg) { if (stg >= 0 && stg < NSTAGES) { if (h > 0.0) hr[stg] = h; } -} +} float Species::getTrfrHr(unsigned short stg) { if (stg >= 0 && stg < NSTAGES) return hr[stg]; else return 0.0; -} - -#endif // RS_CONTAIN +} + +#endif // RS_CONTAIN void Species::setMovtTraits(const trfrMovtTraits m) { if (m.pr >= 1) pr = m.pr; @@ -1995,10 +1995,10 @@ mortChange m; int nchanges = (int)mortchanges.size(); #if RSDEBUG //for (int i = 0; i < nchanges; i++) { -//DEBUGLOG << "Species::updateMortality(): i=" << i +//DEBUGLOG << "Species::updateMortality(): i=" << i // << " chgyear=" << mortchanges[i].chgyear // << " gradient=" << mortchanges[i].gradient -// << endl; +// << endl; //} #endif #if RSDEBUG @@ -2011,24 +2011,24 @@ int nchanges = (int)mortchanges.size(); #endif if (yr == 0) { currentMortality = stepMort; currentGradient = 0.0; - if (nchanges > 0) { - m = mortchanges[0]; nextChange = 1; + if (nchanges > 0) { + m = mortchanges[0]; nextChange = 1; #if RSDEBUG //DEBUGLOG << "Species::updateMortality(): yr=" << yr -// << " m.chgyear=" << m.chgyear << " m.gradient=" << m.gradient +// << " m.chgyear=" << m.chgyear << " m.gradient=" << m.gradient // << endl; #endif } - else { m.chgyear = 99999999; m.gradient = 0; } + else { m.chgyear = 99999999; m.gradient = 0; } nextYear = m.chgyear; nextGradient = m.gradient; } if (yr == nextYear) { currentGradient = nextGradient; - if (nchanges > nextChange) - { m = mortchanges[nextChange]; nextChange++; } - else { m.chgyear = 99999999; m.gradient = 0; } - nextYear = m.chgyear; nextGradient = m.gradient; + if (nchanges > nextChange) + { m = mortchanges[nextChange]; nextChange++; } + else { m.chgyear = 99999999; m.gradient = 0; } + nextYear = m.chgyear; nextGradient = m.gradient; } currentMortality += currentGradient; @@ -2050,7 +2050,7 @@ DEBUGLOG << "Species::updateMortality(): yr=" << yr double Species::getMortality(void) { return currentMortality; } -#endif // TEMPMORT +#endif // TEMPMORT void Species::setCRWParams(const short stg,const short sex,const trfrCRWParams m) { //if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) @@ -2243,7 +2243,7 @@ if (stg >= 0 && stg < 1 && sex >= 0 && sex < NSEXES) // implemented for stage 0 if (sex == 0) { if (s.s0Scale > 0.0 && s.s0Scale < 1.0) s0Scale = s.s0Scale; if (s.alphaSScale > 0.0) alphaSScale = s.alphaSScale; - if (s.betaSScale > 0.0) betaSScale = s.betaSScale; + if (s.betaSScale > 0.0) betaSScale = s.betaSScale; } } } diff --git a/RangeShiftR/src/Species.h b/RangeShiftR/src/Species.h index 2a31d6e..02069ef 100644 --- a/RangeShiftR/src/Species.h +++ b/RangeShiftR/src/Species.h @@ -1,25 +1,25 @@ /*---------------------------------------------------------------------------- - * - * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell - * + * + * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell + * * This file is part of RangeShifter. - * + * * RangeShifter is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * RangeShifter is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with RangeShifter. If not, see . - * + * --------------------------------------------------------------------------*/ - - + + /*------------------------------------------------------------------------------ RangeShifter v2.0 Species @@ -57,12 +57,12 @@ Last updated: 28 July 2021 by Greta Bocedi struct extrmevent { float prob; float mort; }; -#endif // SEASONAL +#endif // SEASONAL // structures for demographic parameters struct demogrParams { - short repType; + short repType; #if SEASONAL short nSeasons; #else @@ -70,7 +70,7 @@ struct demogrParams { #endif #if RS_CONTAIN bool habDepDem; -#endif // RS_CONTAIN +#endif // RS_CONTAIN float propMales; float harem; float bc; float lambda; bool stageStruct; #if BUTTERFLYDISP @@ -160,18 +160,18 @@ struct emigScales { // structures for transfer parameters struct trfrRules { - bool moveModel; bool stgDep; bool sexDep; + bool moveModel; bool stgDep; bool sexDep; bool distMort; bool indVar; #if RS_CONTAIN - short kernType; + short kernType; #else - bool twinKern; -#endif // RS_CONTAIN + bool twinKern; +#endif // RS_CONTAIN #if TEMPMORT - short smType; + short smType; #else - bool habMort; -#endif // TEMPMORT + bool habMort; +#endif // TEMPMORT short moveType; bool costMap; short movtTrait[2]; }; @@ -221,14 +221,14 @@ struct trfrScales { }; #if RS_CONTAIN struct trfr2Dt { - float u0Kernel1,p0Kernel1,u0Kernel2,p0Kernel2,propKernel1; + float u0Kernel1,p0Kernel1,u0Kernel2,p0Kernel2,propKernel1; }; struct trfrWald { -// float mu,gamma; +// float mu,gamma; float meanU,sigma_w,hc,vt,kappa; - float meanDirn,sdDirn; + float meanDirn,sdDirn; }; -#endif // RS_CONTAIN +#endif // RS_CONTAIN // structures for settlement parameters @@ -274,17 +274,17 @@ class Species { extrmevent getExtreme(short); // get seasonal extreme event #if PARTMIGRN void setPropDispMigrn( // set probability of dispersal/migration strategy - short, // migration status + short, // migration status float // probability - ); + ); float getPropDispMigrn( // get probability of dispersal/migration strategy - short // migration status - ); + short // migration status + ); void setResetMigrn(bool); // set reset dispersal/migration strategy indicator bool getResetMigrn(void); // get reset dispersal/migration strategy indicator -#endif // PARTMIGRN +#endif // PARTMIGRN #endif // SEASONAL - + // demographic parameter functions #if SEASONAL @@ -303,7 +303,7 @@ class Species { ); float getMaxK( // return highest carrying capacity over all habitats short // no. of seasons - ); + ); #else void createHabK( // Create habitat carrying capacity table short // no. of habitats @@ -316,7 +316,7 @@ class Species { short // habitat index no. (NB may differ from habitat no. supplied by user) ); float getMaxK(void); // return highest carrying capacity over all habitats -#endif // SEASONAL +#endif // SEASONAL void deleteHabK(void); // Delete habitat carrying capacity table void setStage( // Set stage structure parameters const stageParams // structure holding stage structure parameters @@ -333,7 +333,7 @@ class Species { float // survival coefficient ); densDepParams getDensDep(void); // Get development and survival coefficients - + #if RS_CONTAIN void resetDem( // Reset demographic rates to zero for a specified habitat @@ -413,8 +413,8 @@ class Species { short, // stage short // sex ); -#endif // SEASONAL - +#endif // SEASONAL + #else #if SEASONAL @@ -451,7 +451,7 @@ class Species { short, // stage short // sex ); - + #else void setFec( // Set fecundity @@ -483,7 +483,7 @@ class Species { ); #endif // SEASONAL #endif // RS_CONTAIN - + #if SPATIALDEMOG bool getFecSpatial(void){return fecSpatial;}; bool getDevSpatial(void){return devSpatial;}; @@ -767,7 +767,7 @@ class Species { ); void updateMortality(int); double getMortality(void); -#endif // TEMPMORT +#endif // TEMPMORT void setCRWParams( // Set initial transfer by CRW parameter limits const short, // stage (NB implemented for stage 0 only) const short, // sex (NB implemented for sex 0 only) @@ -802,13 +802,13 @@ class Species { ); void deleteHabCostMort(void); // Delete habitat-dependent costs and mortality matrices #if RS_CONTAIN - void setTrfr2Dt(trfr2Dt); - trfr2Dt getTrfr2Dt(void); - void setTrfrWald(trfrWald); - trfrWald getTrfrWald(void); - void setTrfrHr(float,unsigned short); - float getTrfrHr(unsigned short); -#endif // RS_CONTAIN + void setTrfr2Dt(trfr2Dt); + trfr2Dt getTrfr2Dt(void); + void setTrfrWald(trfrWald); + trfrWald getTrfrWald(void); + void setTrfrHr(float,unsigned short); + float getTrfrHr(unsigned short); +#endif // RS_CONTAIN // settlement parameter functions @@ -913,7 +913,7 @@ class Species { float **habK; // seasonal habitat-specific carrying capacities (inds/cell) #else float *habK; // habitat-specific carrying capacities (inds/cell) -#endif // SEASONAL +#endif // SEASONAL float devCoeff; // density-dependent development coefficient float survCoeff; // density-dependent survival coefficient float **ddwtFec; // density-dependent weights matrix for fecundity @@ -929,8 +929,8 @@ class Species { float fec[NHABITATS][NSTAGES][NSEXES]; // fecundities float dev[NHABITATS][NSTAGES][NSEXES]; // development probabilities float surv[NHABITATS][NSTAGES][NSEXES]; // survival probabilities -#endif // SEASONAL - bool habDepDem; // habitat-dependent demography +#endif // SEASONAL + bool habDepDem; // habitat-dependent demography #else #if SEASONAL float fec[NSEASONS][NSTAGES][NSEXES]; // fecundities @@ -940,7 +940,7 @@ class Species { float fec[NSTAGES][NSEXES]; // fecundities float dev[NSTAGES][NSEXES]; // development probabilities float surv[NSTAGES][NSEXES]; // survival probabilities -#endif // SEASONAL +#endif // SEASONAL #endif // RS_CONTAIN #if SPATIALDEMOG int fecLayer[NSTAGES][NSEXES]; // layer for spatial varying fecundity @@ -1007,13 +1007,13 @@ class Species { float betaEmig[NSTAGES][NSEXES]; // inflection point of reaction norm (in terms of N/K) #if GOBYMODEL float asocD; // emigration adjustment parameter for asocial phenotype -#endif // GOBYMODEL +#endif // GOBYMODEL #if GROUPDISP float groupmean; // mean group size (> 1) bool groupdisp; // group dispersal occurs short grouptype; // 0 = population-level grouping, 1 = sibling-level grouping // NB OPTION 1 IS NOT CURRENTLY IMPLEMENTED -#endif // GROUPDISP +#endif // GROUPDISP // NB Initialisation parameters are made double to avoid conversion errors (reason unclear) // on traits maps using FloatToStr() // As evolving traits are not stage-dependent, no. of rows can be 1 @@ -1040,13 +1040,13 @@ class Species { // 2 = 2Dt, 3 = WALD (inverse Gaussian) #else bool twinKern; -#endif // RS_CONTAIN +#endif // RS_CONTAIN #if TEMPMORT short smType; // per-step mortality type: 0 = constant, 1 = habitat-dependent // 2 = temporally variable #else bool habMort; // habitat-dependent mortality -#endif // TEMPMORT +#endif // TEMPMORT float meanDist1[NSTAGES][NSEXES]; // mean of 1st dispersal kernel (m) float meanDist2[NSTAGES][NSEXES]; // mean of 2nd dispersal kernel (m) float probKern1[NSTAGES][NSEXES]; // probability of dispersing with the 1st kernel @@ -1075,8 +1075,8 @@ class Species { float p0Kernel2; // shape parameter for 2nd kernel float propKernel1; // probability of dispersing with the 1st kernel // parameters for WALD (inverse Gaussian) kernel -// float mu; // scaling parameter -// float gamma; // shape parameter +// float mu; // scaling parameter +// float gamma; // shape parameter float meanU; // mean horizontal wind speed (m/s) float sigma_w; // s.d. of vertical wind speed (m/s) float hc; // canopy height (m) @@ -1085,7 +1085,7 @@ class Species { float kappa; // turbulence coefficient float meanDirn; // mean wind direction (degrees) float sdDirn; // s.d. of wind direction (degrees) -#endif // RS_CONTAIN +#endif // RS_CONTAIN short moveType; // 1 = SMS, 2 = CRW short pr; // SMS perceptual range (cells) short prMethod; // SMS perceptual range evaluation method: @@ -1117,7 +1117,7 @@ class Species { std::vector mortchanges; int nextChange,nextYear; double currentMortality,currentGradient,nextGradient; -#endif // TEMPMORT +#endif // TEMPMORT double stepLgthMean[1][NSEXES]; // mean of initial step length (m) double stepLgthSD[1][NSEXES]; // s.d. of initial step length (m) double rhoMean[1][NSEXES]; // mean of initial correlation coefficient @@ -1171,9 +1171,9 @@ class Species { #if PARTMIGRN float propDispMigrn[7]; // probabilities of dispersal/migration strategies bool resetMigrn; // reset dispersal/migration strategies every year -#endif // PARTMIGRN -#endif // SEASONAL - +#endif // PARTMIGRN +#endif // SEASONAL + #if SOCIALMODEL // ADDITIONAL PARAMETERS FOR PROBIS SOCIAL POLYMORPHISM MODEL // see also Fogarty et al. (2011), Am. Nat., 177, 273-287 From 3f59798fccdc68029fdade4e0a181d2e7df2d44e Mon Sep 17 00:00:00 2001 From: malchowa Date: Mon, 14 Feb 2022 23:40:58 +0100 Subject: [PATCH 19/35] finish R side of spatial demography: objects for FecLayer, DevLayer and SurvLyer as well as demogScaleLayers, their reception on C side and R docu --- RangeShiftR/R/class_DemogParams.R | 65 ++++++----- RangeShiftR/R/class_LandParams.R | 86 ++++++++++++++- RangeShiftR/R/class_RSparams.R | 17 ++- RangeShiftR/man/ImportedLandscape.Rd | 18 +++- RangeShiftR/man/StageStructure.Rd | 12 ++- RangeShiftR/src/Landscape.cpp | 4 + RangeShiftR/src/Landscape.h | 3 + RangeShiftR/src/Rinterface.cpp | 156 +++++++++++++++++++-------- 8 files changed, 279 insertions(+), 82 deletions(-) diff --git a/RangeShiftR/R/class_DemogParams.R b/RangeShiftR/R/class_DemogParams.R index 56054c4..5799645 100644 --- a/RangeShiftR/R/class_DemogParams.R +++ b/RangeShiftR/R/class_DemogParams.R @@ -53,8 +53,10 @@ # @param FecStageWts,DevStageWts,SurvStageWts Stage-dependent density dependence in fecundity / development / survival? Defaults to \code{FALSE}. # @param FecStageWtsMatrix,DevStageWtsMatrix,SurvStageWtsMatrix Required if stage-dependent density dependence, i.e. if respective \code{FecStageWts}/\code{DevStageWts}/\code{SurfStageWts=TRUE}. Takes a quadratic matrix with (#stages * #sexes) rows/columns indicating the weight of the abundance of each sex/stage on the fecundity/development/survival of each other sex/stage. #' @param FecStageWtsMatrix,DevStageWtsMatrix,SurvStageWtsMatrix Stage-dependent weights in density dependence of fecundity / development / survival. Takes a quadratic matrix with (#sexes * #stages) rows/columns indicating the weight of the abundance of each stage/sex on the fecundity/development/survival of each other stage/sex. If not set, all stages are weighted equally. -#' @param FecLayer,DevLayer,SurvLayer A matrix of layer indices for the three demographic rates (fecundity/development/survival) if they are spatially varying. The indices match the scaling layers given in the \code{\link[RangeShiftR]{ImportedLandscape}} module to each demographic rate. -#' The row number corresponds to the stage; the first/second column contains the layer index for females/males. In case of a female-only or simple sexual model (\code{ReproductionType={0,1}}) only the first column is needed and a vector is accepted to represent it. In any case, values will be coerced to integer. +#' @param FecLayer,DevLayer,SurvLayer A matrix of layer indices for the three demographic rates (fecundity/development/survival) if they are spatially varying. The indices match the +#' scaling layers given in the \code{\link[RangeShiftR]{ImportedLandscape}} module to each demographic rate. The value NA denotes a spatially constant rate. The row number corresponds +#' to the stage; the first/second column contains the layer index for females/males. In case of a female-only or simple sexual model (\code{ReproductionType={0,1}}) only the first +#' column is needed and a vector is accepted to represent it. In any case, values will be coerced to integer. #' @param PostDestructn In a dynamic landscape, determine if all individuals of a population should die (\code{FALSE}, default) or disperse (\code{TRUE}) if its patch gets destroyed. #' @details In stage-structured populations, generations can overlap and individuals can be classified in different stages (e.g. immature vs. breeding individuals) differing in their #' demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity, survival probability and probability of developing to the next stage. @@ -148,6 +150,12 @@ #' where \ifelse{html}{\out{ωφ}}{\eqn{ω_φ}}, \ifelse{html}{\out{ωσ}}{\eqn{ω_Ď}}, \ifelse{html}{\out{ωγ}}{\eqn{ω_Îł}} are weight matrices given by \code{FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix}. Their elements \ifelse{html}{\out{ωij}}{\eqn{ω_ij}} #' represent the contributions of the abundance of stage \eqn{j} to the density dependence in the fecundity / survival / development of stage \eqn{i}, thus they are quadratic matrices of size \code{Stages}\eqn{^2}. Note that the row sums are not required to be normalized, therefore they can be used #' to scale the density-dependence for the different stages. In fact, any real value will be accepted for the single weights, so care should be taken when setting them. +#' +#' The demographic rates (fecundity, development probability and survival probability) can be allowed to vary spatially, if the landscape is an imported habitat quality map. In this case, additional maps with the same resolution and extent as the habitat quality map(s) need to be given +#' in \code{\link[RangeShiftR]{ImportedLandscape}()}. These additional layers contain percentage values between 0 and 100 and the matrices \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} indicate the mapping of each demographic rate to these layers. The local value +#' of a given demographic rate for a certain stage and sex in a cell or patch is then determined as the maximum value (the value given in the transition matrix \code{TransMatrix}) scaled with the percentage in the respective mapped layer. +#' For a patch-based landscape, the scaling percentage of a patch is given by the average percentage of its constituent cells. +#' Potential density-dependence mediated by the strength 1/b still takes effect also for spatially-varying demographic rates. The respective base values φ_0, Ď_0 or Îł_0 are then replaced by their locally scaled values. #' @examples # Stage-structure for simple sexual model #' transmat <- matrix(c(0,1,0,0,0,0.3,0.4,0,1.5,0,0.6,0.3,2.5,0,0,0.8), ncol = 4) #' stg <- StageStructure(Stages = 4, TransMatrix = transmat, FecDensDep = TRUE, SurvDensDep = TRUE, SurvDensCoeff = 1.5) @@ -364,33 +372,27 @@ setValidity("StagesParams", function(object) { } } if (length(object@FecLayer)>0) { - if (any(is.na(object@FecLayer))) { - msg <- c(msg, "Elements of FecLayer can not be NA!") + if( any( !is.na( object@FecLayer[object@FecLayer<=0] ))) { + msg <- c(msg, "Elements of FecLayer must be strictly postive integers or NA for no spatial variation!") } - else{ - if (any(object@FecLayer[object@FecLayer<=0]!=-9)) { - msg <- c(msg, "Elements of FecLayer must be strictly postive integers or -9 for missing values!") - } + if( min(nrow(object@FecLayer),length(object@FecLayer)) != object@Stages) { + msg <- c(msg, "FecLayer must have as many rows as Stages!") } } if (length(object@DevLayer)>0) { - if (any(is.na(object@DevLayer))) { - msg <- c(msg, "Elements of DevLayer can not be NA!") + if( any( !is.na( object@DevLayer[object@DevLayer<=0] ))) { + msg <- c(msg, "Elements of DevLayer must be strictly postive integers or NA for no spatial variation!") } - else{ - if (any(object@DevLayer[object@DevLayer<=0]!=-9)) { - msg <- c(msg, "Elements of DevLayer must be postive integers or -9 for missing values!") - } + if( min(nrow(object@DevLayer),length(object@DevLayer)) != object@Stages) { + msg <- c(msg, "DevLayer must have as many rows as Stages!") } } if (length(object@SurvLayer)>0) { - if (any(is.na(object@SurvLayer))) { - msg <- c(msg, "Elements of SurvLayer can not be NA!") + if( any( !is.na( object@SurvLayer[object@SurvLayer<=0] ))) { + msg <- c(msg, "Elements of SurvLayer must be strictly postive integers or NA for no spatial variation!") } - else{ - if (any(object@SurvLayer[object@SurvLayer<=0]!=-9)) { - msg <- c(msg, "Elements of SurvLayer must be postive integers or -9 for missing values!") - } + if( min(nrow(object@SurvLayer),length(object@SurvLayer)) != object@Stages) { + msg <- c(msg, "SurvLayer must have as many rows as Stages!") } } if (is.na(object@PostDestructn) || length(object@PostDestructn)!=1) { @@ -436,9 +438,20 @@ setMethod("initialize", "StagesParams", function(.Object,...) { warning(this_func, "SurvStageWts stage weigths", warn_msg_ignored, "since SurvDensDep = FALSE.", call. = FALSE) } } - if (!is.null(args$FecLayer)) if(class(.Object@FecLayer)[1]!="matrix") .Object@FecLayer <- matrix(.Object@FecLayer) - if (!is.null(args$DevLayer)) if(class(.Object@DevLayer)[1]!="matrix") .Object@DevLayer <- matrix(.Object@DevLayer) - if (!is.null(args$SurvLayer)) if(class(.Object@SurvLayer)[1]!="matrix") .Object@SurvLayer <- matrix(.Object@SurvLayer) + # replace NAs & convert to matrix + if (!is.null(args$FecLayer)) { + #.Object@FecLayer[is.na(.Object@FecLayer)] <- -9 + if(class(.Object@FecLayer)[1]!="matrix") .Object@FecLayer <- matrix(.Object@FecLayer) + } + if (!is.null(args$DevLayer)) { + #.Object@DevLayer[is.na(.Object@DevLayer)] <- -9 + if(class(.Object@DevLayer)[1]!="matrix") .Object@DevLayer <- matrix(.Object@DevLayer) + } + if (!is.null(args$SurvLayer)) { + #.Object@SurvLayer[is.na(.Object@SurvLayer)] <- -9 + if(class(.Object@SurvLayer)[1]!="matrix") .Object@SurvLayer <- matrix(.Object@SurvLayer) + } + # convert to integer if(length(.Object@FecLayer)>0) mode(.Object@FecLayer) <- "integer" if(length(.Object@DevLayer)>0) mode(.Object@DevLayer) <- "integer" if(length(.Object@SurvLayer)>0) mode(.Object@SurvLayer) <- "integer" @@ -458,21 +471,21 @@ setMethod("show", "StagesParams", function(object){ cat(" Density-dependence in:\n") } if (object@FecDensDep) { - cat(" Fecundity\n") + cat(" - Fecundity\n") if (object@FecStageWts) { cat(" with stage-dependent density depedence with weights:\n") print(object@FecStageWtsMatrix) } } if (object@DevDensDep) { - cat(" Development, with coefficient = ", paste(object@DevDensCoeff) , "\n") + cat(" - Development, with coefficient = ", paste(object@DevDensCoeff) , "\n") if (object@DevStageWts) { cat(" and stage-dependence with weights: \n") print(object@DevStageWtsMatrix) } } if (object@SurvDensDep) { - cat(" Survival, with coefficient =", paste(object@SurvDensCoeff) , "\n") + cat(" - Survival, with coefficient =", paste(object@SurvDensCoeff) , "\n") if (object@SurvStageWts) { cat(" and stage-dependence with weights: \n") print(object@SurvStageWtsMatrix) diff --git a/RangeShiftR/R/class_LandParams.R b/RangeShiftR/R/class_LandParams.R index f0c3a0c..d763ee4 100644 --- a/RangeShiftR/R/class_LandParams.R +++ b/RangeShiftR/R/class_LandParams.R @@ -309,7 +309,8 @@ setMethod("show", "ArtificialLandscape", function(object){ #' PatchFile = list(), #' CostsFile = list(), #' DynamicLandYears = 0, -#' SpDistFile = list(), SpDistResolution) +#' SpDistFile = list(), SpDistResolution, +#' demogScaleLayers, nrDemogScaleLayers) #' @param LandscapeFile List of matrices of the landscape habitat raster(s); contains each cells' habitat suitability or land cover index. #' @param Resolution Cell size in meters, defaults to \eqn{100}. (integer) #' @param OriginCoords X- and Y-coordinates of the map origin given in meters as a vector of length 2. @@ -331,6 +332,10 @@ setMethod("show", "ArtificialLandscape", function(object){ #' maps (in \code{PatchFile},\code{CostsFile}) are used in the simulation. More details below. #' @param SpDistFile List of one matrix containing the species' initial distribution raster. #' @param SpDistResolution Required if \code{SpDistFile} is given: Cell size of the distribution map in meters. (integer) Must be an integer multiple of the landscape resolution. +#' @param demogScaleLayers List of a list of matrices of additional landscape layers that can be used to locally scale certain demographic rates and thus allow them to vary spatially. +#' Must contain a list for each element in DynamicLandYears, where all lists contain the same number (\code{nrDemogScaleLayers}) of matrices, each of which have the same dimensions as those in \code{LandscapeFile}. +#' Can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}. Contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. +#' @param nrDemogScaleLayers number of additional landscape layers for spatial demographic scaling #' @details #' The \code{LandscapeFile} can be of one of two different types:\cr #' \itemize{ @@ -360,6 +365,15 @@ setMethod("show", "ArtificialLandscape", function(object){ #' \eqn{250m}, the species distribution can be at the resolution of \eqn{250m}, \eqn{500m}, \eqn{750m}, \eqn{1000m} etc. #' Each cell of the species distribution map must contain either \eqn{0} (species absent or not recorded) or \eqn{1} (species present). #' +#' \emph{Demographic scaling layers} \cr +#' A number of additional landscape layers can be provided to locally scale certain demographic rates and thus allow them to vary spatially. +#' This can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}, and with a stage-structured population model. +#' The additional layers contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. Chosen demographic rates for a specified stage and sex can be mapped to one of these scaling layers using the +#' parameters \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} in \code{\link[RangeShiftR]{StageStructure}}. If a demographic rate varies spatially, its value in the transition matrix \code{TransMatrix}) +#' is now interpreted as a maximum value, while the realised local value in each cell or patch is determined as this maximum value scaled by the percentage given in the respective mapped scaling layer. +#' For a patch-based landscape, the scaling percentage of a patch is given by the average percentage of its constituent cells. +#' Potential density-dependence mediated by the strength 1/b still takes effect also for spatially-varying demographic rates. The respective base values φ_0, Ď_0 or Îł_0 are then replaced by their locally scaled values. +#' #' \emph{Dynamic landscapes} \cr #' An imported landscape may be dynamic, i.e. the attributes of cells (either habitat class or quality index) and its patch number (if the model is patch-based) may be changed at specified years during the course of #' a simulation. Note that any landscape change occurs at the start of the year, i.e. before the first/only reproductive season. In a patch-based model, the shape of patches may change, patches may @@ -395,7 +409,9 @@ ImportedLandscape <- setClass("ImportedLandscape", slots = c(LandscapeFile = "li CostsFile = "list", SpDistFile = "list", # sets the speciesdist -switch in class ControlParams when added SpDistResolution = "integer_OR_numeric", - DynamicLandYears = "integer_OR_numeric") #= "data.frame") + DynamicLandYears = "integer_OR_numeric", #= "data.frame") + nrDemogScaleLayers = "integer", + demogScaleLayers = "list") , prototype = list(#LandscapeFile, Resolution = 100L, OriginCoords = c(0,0), @@ -406,7 +422,9 @@ ImportedLandscape <- setClass("ImportedLandscape", slots = c(LandscapeFile = "li CostsFile = list(), # "NULL", SpDistFile = list(), # "NULL", #SpDistResolution, - DynamicLandYears = 0L) #= data.frame()) + DynamicLandYears = 0L, # = "data.frame") + #nrDemogScaleLayers = 0L, + demogScaleLayers = list() ) , contains = "LandParams") setValidity("ImportedLandscape", function(object) { @@ -561,7 +579,45 @@ setValidity("ImportedLandscape", function(object) { } } } - if (is.null(msg)) TRUE else msg} + # demographic spatial variation + if (object@HabPercent) { + if(length(object@nrDemogScaleLayers)>0){ + if(length(object@nrDemogScaleLayers) != 1){ + msg <- c(msg, "nrDemogScaleLayers must be of length 1.") + } + else { + if( object@nrDemogScaleLayers <= 0){ + msg <- c(msg, "nrDemogScaleLayers must be strictly positive.") + } + else { + if( any( sapply(object@demogScaleLayers, length) != object@nrDemogScaleLayers )){ + msg <- c(msg, "nrDemogScaleLayers must give the number of maps contained in each element of demogScaleLayers.") + } + } + } + } + if (length(object@demogScaleLayers) > 0){ + if( any( sapply(object@demogScaleLayers, class) != "list")){ + msg <- c(msg, "demogScaleLayers must be a list that contains a list of matrices for each element in DynamicLandYears.") + } + else{ + if( length(object@demogScaleLayers) != length(object@DynamicLandYears) ){ + msg <- c(msg, "demogScaleLayers must be a list that contains a list of matrices for each element in DynamicLandYears.") + } + else{ + if( any( sapply(object@demogScaleLayers, FUN = function(yearlist){sapply(yearlist, class)[1,]} ) != "matrix")){ + msg <- c(msg, "All elements of the lists in demogScaleLayers must be of class matrix.") + } + else{ + if( (any( sapply(object@demogScaleLayers, sapply, ncol) != land_ncol)) || (any( sapply(object@demogScaleLayers, sapply, nrow) != land_nrow)) ){ + msg <- c(msg, "All elements of demogScaleLayers list must have the same ncol and nrow as the LandscapeFile list") + } + } + } + } + } + } + if (is.null(msg)) TRUE else msg} ) setMethod("initialize", "ImportedLandscape", function(.Object, ...) { this_func = "ImportedLandscape(): " @@ -579,7 +635,24 @@ setMethod("initialize", "ImportedLandscape", function(.Object, ...) { if (length(.Object@SpDistFile)==0) { .Object@SpDistResolution = -9 if (!is.null(args$SpDistResolution)) { - warning(this_func, "Resolution of Species distribution", warn_msg_ignored, "since no map file is given.", call. = FALSE) + warning(this_func, "Resolution of Species distribution", warn_msg_ignored, "since no species distribution map is given.", call. = FALSE) + } + } + if (.Object@HabPercent) { + if (is.null(args$nrDemogScaleLayers)) { + if (length(.Object@demogScaleLayers) > 0) { + .Object@nrDemogScaleLayers = length(.Object@demogScaleLayers[[1]]) + } + } + else { + if (length(.Object@demogScaleLayers) == 0) { + warning(this_func, "nrDemogScaleLayers", warn_msg_ignored, "since no demogScaleLayers maps are given.", call. = FALSE) + } + } + } + else { + if (!is.null(args$demogScaleLayers) | !is.null(args$nrDemogScaleLayers)) { + warning(this_func, "demogScaleLayers", warn_msg_ignored, "since they can only be used in combination with habitat quality maps.", call. = FALSE) } } .Object} @@ -609,6 +682,9 @@ setMethod("show", "ImportedLandscape", function(object){ cat(" Initial Species Distribution map given \n") cat(" Resolution :", paste(object@SpDistResolution),"\n") } + if ( length(object@demogScaleLayers) > 0 ) { + cat(" Demographic scaling given by",paste(object@nrDemogScaleLayers),"layers\n") + } }) diff --git a/RangeShiftR/R/class_RSparams.R b/RangeShiftR/R/class_RSparams.R index 7460cd7..b8bd08d 100644 --- a/RangeShiftR/R/class_RSparams.R +++ b/RangeShiftR/R/class_RSparams.R @@ -64,7 +64,7 @@ setValidity("RSparams", function(object) { } } if (object@simul@EnvStochType==1) { - if (object@control@landtype==1 || object@control@landtype==2) { + if (object@control@landtype==0 || object@control@landtype==2) { msg <- c(msg, "Environmental stochasticity in carrying capacity (EnvStochType=1) is implemented for artificial landscapes only!") } } @@ -83,7 +83,7 @@ setValidity("RSparams", function(object) { } #LAND validObject(object@land) - if (any(object@control@landtype==c(0,1))){ + if (any(object@control@landtype==c(0,2))){ if (any(object@land@DynamicLandYears>object@simul@Years)) { warning("ImportedLandscape(): Dynamic landscape contains years that exceed the simulated years, so that some land changes will not apply.", call. = FALSE) } @@ -98,10 +98,19 @@ setValidity("RSparams", function(object) { } } } + #DEMOGRAPHY validObject(object@demog) - # TODO: FecLayer,DevLayer,SurvLayer - test: - # * that maximum value doesn't exceed number of layers in ImportedLandscape + if (object@control@landtype == 2L){ # habitat quality + if ((length(object@demog@StageStruct@FecLayer) + length(object@demog@StageStruct@DevLayer) + length(object@demog@StageStruct@SurvLayer)) > 0 ){ # spatially varying demographic rates + ixs <- c(object@demog@StageStruct@FecLayer,object@demog@StageStruct@DevLayer,object@demog@StageStruct@SurvLayer) + ixs[is.na(ixs)] <- -9 + if ( any( ixs > object@land@nrDemogScaleLayers )){ + msg <- c(msg, "StageStructure(): Entries of FecLayer, DevLayer and SurvLayer must not exceed the number of layers in demogScaleLayers (of ImportedLandscape) !") + } + } + } + #DISPERSAL validObject(object@dispersal) ## Emigration: check dimensions and values of EmigProb and EmigStage: diff --git a/RangeShiftR/man/ImportedLandscape.Rd b/RangeShiftR/man/ImportedLandscape.Rd index 26d349f..cf91a0e 100644 --- a/RangeShiftR/man/ImportedLandscape.Rd +++ b/RangeShiftR/man/ImportedLandscape.Rd @@ -12,7 +12,8 @@ ImportedLandscape(LandscapeFile, PatchFile = list(), CostsFile = list(), DynamicLandYears = 0, - SpDistFile = list(), SpDistResolution) + SpDistFile = list(), SpDistResolution, + demogScaleLayers, nrDemogScaleLayers) } \arguments{ \item{LandscapeFile}{List of matrices of the landscape habitat raster(s); contains each cells' habitat suitability or land cover index.} @@ -46,6 +47,12 @@ maps (in \code{PatchFile},\code{CostsFile}) are used in the simulation. More det \item{SpDistFile}{List of one matrix containing the species' initial distribution raster.} \item{SpDistResolution}{Required if \code{SpDistFile} is given: Cell size of the distribution map in meters. (integer) Must be an integer multiple of the landscape resolution.} + +\item{demogScaleLayers}{List of a list of matrices of additional landscape layers that can be used to locally scale certain demographic rates and thus allow them to vary spatially. +Must contain a list for each element in DynamicLandYears, where all lists contain the same number (\code{nrDemogScaleLayers}) of matrices, each of which have the same dimensions as those in \code{LandscapeFile}. +Can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}. Contain percentage values ranging from \eqn{0.0} to \eqn{100.0}.} + +\item{nrDemogScaleLayers}{number of additional landscape layers for spatial demographic scaling} } \value{ A parameter object of class ImportedLandscape @@ -91,6 +98,15 @@ map, i.e. the coordinates of the lower-left corner must be the same. The resolut \eqn{250m}, the species distribution can be at the resolution of \eqn{250m}, \eqn{500m}, \eqn{750m}, \eqn{1000m} etc. Each cell of the species distribution map must contain either \eqn{0} (species absent or not recorded) or \eqn{1} (species present). +\emph{Demographic scaling layers} \cr +A number of additional landscape layers can be provided to locally scale certain demographic rates and thus allow them to vary spatially. +This can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}, and with a stage-structured population model. +The additional layers contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. Chosen demographic rates for a specified stage and sex can be mapped to one of these scaling layers using the +parameters \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} in \code{\link[RangeShiftR]{StageStructure}}. If a demographic rate varies spatially, its value in the transition matrix \code{TransMatrix}) +is now interpreted as a maximum value, while the realised local value in each cell or patch is determined as this maximum value scaled by the percentage given in the respective mapped scaling layer. +For a patch-based landscape, the scaling percentage of a patch is given by the average percentage of its constituent cells. +Potential density-dependence mediated by the strength 1/b still takes effect also for spatially-varying demographic rates. The respective base values φ_0, Ď_0 or Îł_0 are then replaced by their locally scaled values. + \emph{Dynamic landscapes} \cr An imported landscape may be dynamic, i.e. the attributes of cells (either habitat class or quality index) and its patch number (if the model is patch-based) may be changed at specified years during the course of a simulation. Note that any landscape change occurs at the start of the year, i.e. before the first/only reproductive season. In a patch-based model, the shape of patches may change, patches may diff --git a/RangeShiftR/man/StageStructure.Rd b/RangeShiftR/man/StageStructure.Rd index 7b4b01f..5f56339 100644 --- a/RangeShiftR/man/StageStructure.Rd +++ b/RangeShiftR/man/StageStructure.Rd @@ -35,8 +35,10 @@ StageStructure(Stages, TransMatrix, MaxAge = 100, MinAge = 0, \item{FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix}{Stage-dependent weights in density dependence of fecundity / development / survival. Takes a quadratic matrix with (#sexes * #stages) rows/columns indicating the weight of the abundance of each stage/sex on the fecundity/development/survival of each other stage/sex. If not set, all stages are weighted equally.} -\item{FecLayer, DevLayer, SurvLayer}{A matrix of layer indices for the three demographic rates (fecundity/development/survival) if they are spatially varying. The indices match the scaling layers given in the \code{\link[RangeShiftR]{ImportedLandscape}} module to each demographic rate. -The row number corresponds to the stage; the first/second column contains the layer index for females/males. In case of a female-only or simple sexual model (\code{ReproductionType={0,1}}) only the first column is needed and a vector is accepted to represent it. In any case, values will be coerced to integer.} +\item{FecLayer, DevLayer, SurvLayer}{A matrix of layer indices for the three demographic rates (fecundity/development/survival) if they are spatially varying. The indices match the +scaling layers given in the \code{\link[RangeShiftR]{ImportedLandscape}} module to each demographic rate. The value NA denotes a spatially constant rate. The row number corresponds +to the stage; the first/second column contains the layer index for females/males. In case of a female-only or simple sexual model (\code{ReproductionType={0,1}}) only the first +column is needed and a vector is accepted to represent it. In any case, values will be coerced to integer.} \item{PostDestructn}{In a dynamic landscape, determine if all individuals of a population should die (\code{FALSE}, default) or disperse (\code{TRUE}) if its patch gets destroyed.} } @@ -141,6 +143,12 @@ different stages contributing differently to density-dependence \insertCite{casw where \ifelse{html}{\out{ωφ}}{\eqn{ω_φ}}, \ifelse{html}{\out{ωσ}}{\eqn{ω_Ď}}, \ifelse{html}{\out{ωγ}}{\eqn{ω_Îł}} are weight matrices given by \code{FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix}. Their elements \ifelse{html}{\out{ωij}}{\eqn{ω_ij}} represent the contributions of the abundance of stage \eqn{j} to the density dependence in the fecundity / survival / development of stage \eqn{i}, thus they are quadratic matrices of size \code{Stages}\eqn{^2}. Note that the row sums are not required to be normalized, therefore they can be used to scale the density-dependence for the different stages. In fact, any real value will be accepted for the single weights, so care should be taken when setting them. + +The demographic rates (fecundity, development probability and survival probability) can be allowed to vary spatially, if the landscape is an imported habitat quality map. In this case, additional maps with the same resolution and extent as the habitat quality map(s) need to be given +in \code{\link[RangeShiftR]{ImportedLandscape}()}. These additional layers contain percentage values between 0 and 100 and the matrices \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} indicate the mapping of each demographic rate to these layers. The local value +of a given demographic rate for a certain stage and sex in a cell or patch is then determined as the maximum value (the value given in the transition matrix \code{TransMatrix}) scaled with the percentage in the respective mapped layer. +For a patch-based landscape, the scaling percentage of a patch is given by the average percentage of its constituent cells. +Potential density-dependence mediated by the strength 1/b still takes effect also for spatially-varying demographic rates. The respective base values φ_0, Ď_0 or Îł_0 are then replaced by their locally scaled values. } \examples{ # Stage-structure for simple sexual model diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index 384d4a3..f57fa25 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -2665,7 +2665,11 @@ initcells.clear(); // Returns error code or zero if read correctly #if RS_THREADSAFE +#if SPATIALDEMOG +int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile, Rcpp::List scalinglayers) { +#else int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile) { +#endif if (fileNum < 0) return 19; diff --git a/RangeShiftR/src/Landscape.h b/RangeShiftR/src/Landscape.h index e4274a0..09679d1 100644 --- a/RangeShiftR/src/Landscape.h +++ b/RangeShiftR/src/Landscape.h @@ -567,6 +567,9 @@ class Landscape{ Rcpp::NumericMatrix,// habitat raster Rcpp::NumericMatrix,// patch raster Rcpp::NumericMatrix // cost raster +#if SPATIALDEMOG + , Rcpp::List // demographic scaling layers +#endif ); #else //RS_THREADSAFE #if RS_CONTAIN diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index c1bd5c6..77378e5 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -745,6 +745,14 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) // name_costfile = Rcpp::as(costmaps.slot("filename")); // name_sp_dist = Rcpp::as(spdistmap.slot("filename")); if(!patchmodel && patchmaps.size() != 0) Rcpp::Rcout << "PatchFile must be empty in a cell-based model!" << endl; +#if SPATIALDEMOG + int nrDemogScaleLayers = 0; + Rcpp::List demogScaleLayers; + if (landtype == 2) { // habitat quality + nrDemogScaleLayers = Rcpp::as(LandParamsR.slot("nrDemogScaleLayers")); + if(nrDemogScaleLayers) demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); + } +#endif // new slot for coordinates of lower left corner Rcpp::NumericVector origin_coords; @@ -803,6 +811,13 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) Rcpp::Rcout << "CostsFile must be NULL if transfer model is not SMS" << endl; } } +#if SPATIALDEMOG + if (nrDemogScaleLayers && !stagestruct) { + BatchErrorR("LandFile", -999, 0, " "); + errors++; + Rcpp::Rcout << "Spatially varying demographic layers are only supported for stage-structured models" << endl; + } +#endif if(ppLand.dynamic) { int nlayers_hab; nlayers_hab = habitatmaps.size(); @@ -820,20 +835,28 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) } if(dynland_years.size() != nlayers_hab) { errors++; - Rcpp::Rcout << "Dynamic landscape: Years must have as many elements as habitat maps." << endl; + Rcpp::Rcout << "Dynamic landscape: DynamicLandYears must have as many elements as habitat maps." << endl; } if(patchmodel) { if( dynland_years.size() != patchmaps.size() || nlayers_hab != patchmaps.size() ) { errors++; - Rcpp::Rcout << "Dynamic landscape: Patchmaps must have as many elements as Years and habitat maps." << endl; + Rcpp::Rcout << "Dynamic landscape: Patchmaps must have as many elements as DynamicLandYears and habitat maps." << endl; } } if (costmaps.size() != 0) { if( dynland_years.size() != costmaps.size() || nlayers_hab != costmaps.size() ) { errors++; - Rcpp::Rcout << "Dynamic landscape: Costmaps must have as many elements as Years and habitat maps." << endl; + Rcpp::Rcout << "Dynamic landscape: Costmaps must have as many elements as DynamicLandYears and habitat maps." << endl; + } + } +#if SPATIALDEMOG + if (nrDemogScaleLayers) { + if( dynland_years.size() != demogScaleLayers.size() || nlayers_hab != demogScaleLayers.size() ) { + errors++; + Rcpp::Rcout << "Dynamic landscape: demogScaleLayers must have as many elements as DynamicLandYears and habitat maps." << endl; } } +#endif if(errors==0) { // store land changes landChange chg; @@ -857,6 +880,25 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) Rcpp::Rcout << "Species Distribution map file is required as SpeciesDist is 1 in Control" << endl; } } +#if SPATIALDEMOG + if(nrDemogScaleLayers) { + // test consistent number of layers (nrDemogScaleLayers) per dynland year + Rcpp::List yearLayers = demogScaleLayers[0]; + if(yearLayers.size() != nrDemogScaleLayers){ + errors++; + Rcpp::Rcout << "demogScaleLayers has an incorrect amount of layers" << endl; + } + if(ppLand.dynamic) { + for(int i=1; i(StagesParamsR.slot("FecLayer")); - devlayerMatrix = Rcpp::as(StagesParamsR.slot("DevLayer")); - survlayerMatrix = Rcpp::as(StagesParamsR.slot("SurvLayer")); - - if(dem.repType == 2) {layercols = NSEXES;} else {layercols = 1;} - layerrows = sstruct.nStages; - - if(layercols == feclayerMatrix.ncol() && layerrows == feclayerMatrix.nrow() ) { - for(i = 0; i < layerrows; i++) { // stages in rows - for(j = 0; j < layercols; j++) { // sexes in columns - pSpecies->setFecLayer(i, j, feclayerMatrix(i,j)); - } - } - } else { - Rcpp::Rcout << "Dimensions of FecLayer matrix do not match; default values are used instead." << endl; - } - - if(layercols == devlayerMatrix.ncol() && layerrows == devlayerMatrix.nrow() ) { - for(i = 0; i < layerrows; i++) { // stages in rows - for(j = 0; j < layercols; j++) { // sexes in columns - pSpecies->setDevLayer(i, j, devlayerMatrix(i,j)); - Rcpp::Rcout << devlayerMatrix(i,j) << endl; - } - } - } else { - Rcpp::Rcout << "Dimensions of DevLayer matrix do not match; default values are used instead." << endl; - } + if (landtype == 2) { // habitat quality + // index of input layer corresponding to each spatially varying demographic rate + short layercols,layerrows,layerix; + Rcpp::IntegerMatrix feclayerMatrix, devlayerMatrix, survlayerMatrix; + + feclayerMatrix = Rcpp::as(StagesParamsR.slot("FecLayer")); + devlayerMatrix = Rcpp::as(StagesParamsR.slot("DevLayer")); + survlayerMatrix = Rcpp::as(StagesParamsR.slot("SurvLayer")); + + if(dem.repType == 2) {layercols = NSEXES;} else {layercols = 1;} + layerrows = sstruct.nStages; + + if(layercols == feclayerMatrix.ncol() && layerrows == feclayerMatrix.nrow() ) { + for(i = 0; i < layerrows; i++) { // stages in rows + for(j = 0; j < layercols; j++) { // sexes in columns + if( !R_IsNA( feclayerMatrix(i,j) ) ){ + layerix = feclayerMatrix(i,j); + pSpecies->setFecLayer(i, j, (layerix-1) ); // subtract 1 to account for different indexing in R and C + } + } + } + } else { + Rcpp::Rcout << "Dimensions of FecLayer matrix do not match; default values are used instead." << endl; + } - if(layercols == survlayerMatrix.ncol() && layerrows == survlayerMatrix.nrow() ) { - for(i = 0; i < layerrows; i++) { // stages in rows - for(j = 0; j < layercols; j++) { // sexes in columns - pSpecies->setSurvLayer(i, j, survlayerMatrix(i,j)); - Rcpp::Rcout << survlayerMatrix(i,j) << endl; - } - } + if(layercols == devlayerMatrix.ncol() && layerrows == devlayerMatrix.nrow() ) { + for(i = 0; i < layerrows; i++) { // stages in rows + for(j = 0; j < layercols; j++) { // sexes in columns + if( !R_IsNA( devlayerMatrix(i,j) ) ){ + layerix = devlayerMatrix(i,j); + pSpecies->setDevLayer(i, j, (layerix-1) ); // subtract 1 to account for different indexing in R and C + } + } + } + } else { + Rcpp::Rcout << "Dimensions of DevLayer matrix do not match; default values are used instead." << endl; + } - } else { - Rcpp::Rcout << "Dimensions of SurvLayer matrix do not match; default values are used instead." << endl; + if(layercols == survlayerMatrix.ncol() && layerrows == survlayerMatrix.nrow() ) { + for(i = 0; i < layerrows; i++) { // stages in rows + for(j = 0; j < layercols; j++) { // sexes in columns + if( !R_IsNA( survlayerMatrix(i,j) ) ){ + layerix = survlayerMatrix(i,j); + pSpecies->setSurvLayer(i, j, (layerix-1) ); // subtract 1 to account for different indexing in R and C + } + } + } + } else { + Rcpp::Rcout << "Dimensions of SurvLayer matrix do not match; default values are used instead." << endl; + } } #endif // SPATIALDEMOG @@ -4250,9 +4300,27 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); if (costmaps.size() > 0) Rcpp::NumericMatrix craster = Rcpp::as(costmaps[0]); else craster = Rcpp::NumericMatrix(0); - +#if SPATIALDEMOG + int nrDemogScaleLayers = 0; + Rcpp::List demogScaleLayers; // list of lists of layers for each dynamic land year + Rcpp::List scalinglayers = Rcpp::List::create(); // list of demog scaling layers for a given year (initialise as empty list) + + if(landtype == 2 && stagestruct) { + nrDemogScaleLayers = Rcpp::as(LandParamsR.slot("nrDemogScaleLayers")); + if(nrDemogScaleLayers) { + demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); + scalinglayers = demogScaleLayers[0]; // get layers of year 0 + } + //else scalinglayers // no scaling layers -> create empty list + } +#endif + int landcode; +#if SPATIALDEMOG + landcode = pLandscape->readLandscape(0, hraster, praster, craster, scalinglayers); +#else landcode = pLandscape->readLandscape(0, hraster, praster, craster); +#endif if(landcode != 0) { Rcpp::Rcout << endl << "Error reading landscape " << land_nr << " - aborting" << endl; From 0d32a17c0a19aefeb68b52c107b0a48d8d3dd921 Mon Sep 17 00:00:00 2001 From: malchowa Date: Sat, 19 Feb 2022 01:39:39 +0100 Subject: [PATCH 20/35] demographic scaling layers as array; implementation for dynamic landscapes as list of arrays --- RangeShiftR/R/class_LandParams.R | 81 +++++++++++------- RangeShiftR/man/ImportedLandscape.Rd | 8 +- RangeShiftR/src/Cell.cpp | 27 ++++++ RangeShiftR/src/Cell.h | 18 +++- RangeShiftR/src/Landscape.cpp | 123 ++++++++++++++++++++++++++- RangeShiftR/src/Landscape.h | 45 +++++++--- RangeShiftR/src/Makevars | 2 +- RangeShiftR/src/Model.cpp | 29 +++++-- RangeShiftR/src/Parameters.h | 2 +- RangeShiftR/src/Patch.cpp | 101 +++++++++++++++++++++- RangeShiftR/src/Patch.h | 6 ++ RangeShiftR/src/Rinterface.cpp | 48 +++++++++-- RangeShiftR/src/Rinterface.h | 2 +- RangeShiftR/src/Version.h | 12 ++- 14 files changed, 431 insertions(+), 73 deletions(-) diff --git a/RangeShiftR/R/class_LandParams.R b/RangeShiftR/R/class_LandParams.R index d763ee4..4a7839e 100644 --- a/RangeShiftR/R/class_LandParams.R +++ b/RangeShiftR/R/class_LandParams.R @@ -332,8 +332,10 @@ setMethod("show", "ArtificialLandscape", function(object){ #' maps (in \code{PatchFile},\code{CostsFile}) are used in the simulation. More details below. #' @param SpDistFile List of one matrix containing the species' initial distribution raster. #' @param SpDistResolution Required if \code{SpDistFile} is given: Cell size of the distribution map in meters. (integer) Must be an integer multiple of the landscape resolution. -#' @param demogScaleLayers List of a list of matrices of additional landscape layers that can be used to locally scale certain demographic rates and thus allow them to vary spatially. -#' Must contain a list for each element in DynamicLandYears, where all lists contain the same number (\code{nrDemogScaleLayers}) of matrices, each of which have the same dimensions as those in \code{LandscapeFile}. +#' @param demogScaleLayers List of arrays that describe additional landscape layers which can be used to locally scale certain demographic rates and thus allow them to vary spatially. +#' The list must contain equally sized 3D-arrays, one for each element in \code{DynamicLandYears}, which are interpreted as stacked layers. +#' The arrays' first two dimensions correspond to the x- and y-dimensions of the maps in \code{LandscapeFile} and must match in resolution and offset; +#' the third dimension indexes the various layers (of which there are \code{nrDemogScaleLayers}). #' Can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}. Contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. #' @param nrDemogScaleLayers number of additional landscape layers for spatial demographic scaling #' @details @@ -366,7 +368,7 @@ setMethod("show", "ArtificialLandscape", function(object){ #' Each cell of the species distribution map must contain either \eqn{0} (species absent or not recorded) or \eqn{1} (species present). #' #' \emph{Demographic scaling layers} \cr -#' A number of additional landscape layers can be provided to locally scale certain demographic rates and thus allow them to vary spatially. +#' A number of additional landscape layers can be provided in \code{demogScaleLayers} to locally scale certain demographic rates and thus allow them to vary spatially. #' This can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}, and with a stage-structured population model. #' The additional layers contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. Chosen demographic rates for a specified stage and sex can be mapped to one of these scaling layers using the #' parameters \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} in \code{\link[RangeShiftR]{StageStructure}}. If a demographic rate varies spatially, its value in the transition matrix \code{TransMatrix}) @@ -423,7 +425,7 @@ ImportedLandscape <- setClass("ImportedLandscape", slots = c(LandscapeFile = "li SpDistFile = list(), # "NULL", #SpDistResolution, DynamicLandYears = 0L, # = "data.frame") - #nrDemogScaleLayers = 0L, + nrDemogScaleLayers = 0L, demogScaleLayers = list() ) , contains = "LandParams") @@ -581,36 +583,53 @@ setValidity("ImportedLandscape", function(object) { } # demographic spatial variation if (object@HabPercent) { - if(length(object@nrDemogScaleLayers)>0){ - if(length(object@nrDemogScaleLayers) != 1){ - msg <- c(msg, "nrDemogScaleLayers must be of length 1.") - } - else { - if( object@nrDemogScaleLayers <= 0){ - msg <- c(msg, "nrDemogScaleLayers must be strictly positive.") - } - else { - if( any( sapply(object@demogScaleLayers, length) != object@nrDemogScaleLayers )){ - msg <- c(msg, "nrDemogScaleLayers must give the number of maps contained in each element of demogScaleLayers.") - } - } - } + if(length(object@nrDemogScaleLayers) != 1){ + msg <- c(msg, "nrDemogScaleLayers must be of length 1.") } - if (length(object@demogScaleLayers) > 0){ - if( any( sapply(object@demogScaleLayers, class) != "list")){ - msg <- c(msg, "demogScaleLayers must be a list that contains a list of matrices for each element in DynamicLandYears.") + else { + if( object@nrDemogScaleLayers < 0){ + msg <- c(msg, "nrDemogScaleLayers must be positive.") } - else{ - if( length(object@demogScaleLayers) != length(object@DynamicLandYears) ){ - msg <- c(msg, "demogScaleLayers must be a list that contains a list of matrices for each element in DynamicLandYears.") - } - else{ - if( any( sapply(object@demogScaleLayers, FUN = function(yearlist){sapply(yearlist, class)[1,]} ) != "matrix")){ - msg <- c(msg, "All elements of the lists in demogScaleLayers must be of class matrix.") + else { + if (length(object@demogScaleLayers) > 0){ # scaling layers are given + if( any( sapply(object@demogScaleLayers, class) != "array")){ + msg <- c(msg, "demogScaleLayers must be a list that contains an array for each element in DynamicLandYears.") } else{ - if( (any( sapply(object@demogScaleLayers, sapply, ncol) != land_ncol)) || (any( sapply(object@demogScaleLayers, sapply, nrow) != land_nrow)) ){ - msg <- c(msg, "All elements of demogScaleLayers list must have the same ncol and nrow as the LandscapeFile list") + if( length(object@demogScaleLayers) != length(object@DynamicLandYears) ){ + msg <- c(msg, "demogScaleLayers must be a list that contains an array for each element in DynamicLandYears.") + } + else{ + ds_dims <- sapply(object@demogScaleLayers, dim) # (size of dimensions per array) + if( !"matrix" %in% class(ds_dims) ){ + msg <- c(msg, "the arrays in demogScaleLayers must have the same dimensionality.") + } + else{ + if( dim(ds_dims)[1] != 3 ){ + msg <- c(msg, "demogScaleLayers must be a list that contains 3-dimensional arrays.") + } + else{ + if( any(apply(ds_dims,1,var)!=0) ){ + msg <- c(msg, "all arrays in demogScaleLayers must have the same size.") + } + else{ + if( object@nrDemogScaleLayers > 0 && ds_dims[3,1] != object@nrDemogScaleLayers ){ + msg <- c(msg, "nrDemogScaleLayers must give the number of layers contained in each element (array) of demogScaleLayers.") + } + else{ + if( ds_dims[1,1] != land_ncol || ds_dims[2,1] != land_nrow ){ + msg <- c(msg, "All elements of demogScaleLayers list must have the same ncol and nrow as the LandscapeFile list") + } + else{ + ds_vals <- c(unlist(object@demogScaleLayers)) + if( any( ds_vals < 0) || any( ds_vals > 100 ) ){ + msg <- c(msg, "All elements of the arrays in demogScaleLayers must be values between 0 and 100.") + } + } + } + } + } + } } } } @@ -641,7 +660,7 @@ setMethod("initialize", "ImportedLandscape", function(.Object, ...) { if (.Object@HabPercent) { if (is.null(args$nrDemogScaleLayers)) { if (length(.Object@demogScaleLayers) > 0) { - .Object@nrDemogScaleLayers = length(.Object@demogScaleLayers[[1]]) + .Object@nrDemogScaleLayers = dim(Object@demogScaleLayers[[1]])[3] } } else { diff --git a/RangeShiftR/man/ImportedLandscape.Rd b/RangeShiftR/man/ImportedLandscape.Rd index cf91a0e..9399449 100644 --- a/RangeShiftR/man/ImportedLandscape.Rd +++ b/RangeShiftR/man/ImportedLandscape.Rd @@ -48,8 +48,10 @@ maps (in \code{PatchFile},\code{CostsFile}) are used in the simulation. More det \item{SpDistResolution}{Required if \code{SpDistFile} is given: Cell size of the distribution map in meters. (integer) Must be an integer multiple of the landscape resolution.} -\item{demogScaleLayers}{List of a list of matrices of additional landscape layers that can be used to locally scale certain demographic rates and thus allow them to vary spatially. -Must contain a list for each element in DynamicLandYears, where all lists contain the same number (\code{nrDemogScaleLayers}) of matrices, each of which have the same dimensions as those in \code{LandscapeFile}. +\item{demogScaleLayers}{List of arrays that describe additional landscape layers which can be used to locally scale certain demographic rates and thus allow them to vary spatially. +The list must contain equally sized 3D-arrays, one for each element in \code{DynamicLandYears}, which are interpreted as stacked layers. +The arrays' first two dimensions correspond to the x- and y-dimensions of the maps in \code{LandscapeFile} and must match in resolution and offset; +the third dimension indexes the various layers (of which there are \code{nrDemogScaleLayers}). Can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}. Contain percentage values ranging from \eqn{0.0} to \eqn{100.0}.} \item{nrDemogScaleLayers}{number of additional landscape layers for spatial demographic scaling} @@ -99,7 +101,7 @@ map, i.e. the coordinates of the lower-left corner must be the same. The resolut Each cell of the species distribution map must contain either \eqn{0} (species absent or not recorded) or \eqn{1} (species present). \emph{Demographic scaling layers} \cr -A number of additional landscape layers can be provided to locally scale certain demographic rates and thus allow them to vary spatially. +A number of additional landscape layers can be provided in \code{demogScaleLayers} to locally scale certain demographic rates and thus allow them to vary spatially. This can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}, and with a stage-structured population model. The additional layers contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. Chosen demographic rates for a specified stage and sex can be mapped to one of these scaling layers using the parameters \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} in \code{\link[RangeShiftR]{StageStructure}}. If a demographic rate varies spatially, its value in the transition matrix \code{TransMatrix}) diff --git a/RangeShiftR/src/Cell.cpp b/RangeShiftR/src/Cell.cpp index 58bc30b..2ac4916 100644 --- a/RangeShiftR/src/Cell.cpp +++ b/RangeShiftR/src/Cell.cpp @@ -80,6 +80,9 @@ if (smsData != 0) { if (smsData->effcosts != 0) delete smsData->effcosts; delete smsData; } +#if SPATIALDEMOG +demoScalings.clear(); +#endif #if RSDEBUG //DEBUGLOG << "Cell::~Cell(): deleted" << endl; #endif @@ -238,6 +241,30 @@ DamageLocn* Cell::getDamage(void) { return pDamage; } #endif // RS_CONTAIN +#if SPATIALDEMOG + +void Cell::addchgDemoScaling(std::vector ds) { + std::for_each(ds.begin(), ds.end(), [](float& perc){ if(perc < 0.0 || perc > 100.0) perc=100; }); + demoScalings.push_back(ds); + return; +} + +void Cell::setDemoScaling(std::vector ds, short chgyear) { + std::for_each(ds.begin(), ds.end(), [](float& perc){ if(perc < 0.0 || perc > 100.0) perc=100; }); + demoScalings[chgyear].assign(ds.begin(), ds.end()); + return; +} + +float Cell::getDemoScaling(short ix, short chgyear) { + if (ix < 0 || ix >= nDSlayer) + // nodata cell OR should not occur, but treat as such + return -1.0; + else return demoScalings[chgyear][ix]; +} + +#endif // SPATIALDEMOG + + //--------------------------------------------------------------------------- // Initial species distribution cell functions diff --git a/RangeShiftR/src/Cell.h b/RangeShiftR/src/Cell.h index aef4cb2..38fbd28 100644 --- a/RangeShiftR/src/Cell.h +++ b/RangeShiftR/src/Cell.h @@ -45,7 +45,11 @@ Last updated: 14 January 2021 by Steve Palmer #ifndef CellH #define CellH +#if SPATIALDEMOG +#include +#endif #include + using namespace std; #include "Parameters.h" @@ -137,7 +141,12 @@ class Cell{ // unsigned int getDamage(void); void setDamage(DamageLocn*); DamageLocn* getDamage(void); -#endif // RS_CONTAIN +#endif // RS_CONTAIN +#if SPATIALDEMOG + void addchgDemoScaling(std::vector); + void setDemoScaling(std::vector, short); + float getDemoScaling(short, short); +#endif // SPATIALDEMOG private: int x,y; // cell co-ordinates @@ -161,6 +170,9 @@ class Cell{ // NB initially, habitat codes are loaded, then converted to index nos. // once landscape is fully loaded vector habitats; // habitat proportions (rasterType=1) or quality (rasterType=2) +#if SPATIALDEMOG + std::vector> demoScalings; // demographic scaling layers (only if rasterType==2) +#endif }; //--------------------------------------------------------------------------- @@ -193,6 +205,10 @@ class DistCell{ extern void DebugGUI(string); #endif +#if SPATIALDEMOG +extern short nDSlayer; +#endif // SPATIALDEMOG + //--------------------------------------------------------------------------- #endif diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index f57fa25..4b438aa 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -309,6 +309,9 @@ dynamic = false; habIndexed = false; #if RS_CONTAIN dmgLoaded = false; #endif // RS_CONTAIN +#if SPATIALDEMOG +spatialdemog = false; +#endif // SPATIALDEMOG resol = spResol = landNum = 0; rasterType = 0; nHab = nHabMax = 0; @@ -476,6 +479,9 @@ landNum = ppp.landNum; #if RS_CONTAIN dmgLoaded = ppp.dmgLoaded; #endif // RS_CONTAIN +#if SPATIALDEMOG +spatialdemog = ppp.spatialdemog; +#endif // SPATIALDEMOG if (ppp.resol > 0) resol = ppp.resol; if (ppp.spResol > 0 && ppp.spResol%ppp.resol == 0) spResol = ppp.spResol; if ((ppp.rasterType >= 0 && ppp.rasterType <= 2) || ppp.rasterType == 9) @@ -514,6 +520,9 @@ ppp.dynamic = dynamic; #if RS_CONTAIN ppp.dmgLoaded = dmgLoaded; #endif // RS_CONTAIN +#if SPATIALDEMOG +ppp.spatialdemog = spatialdemog; +#endif // SPATIALDEMOG ppp.landNum = landNum; ppp.resol = resol; ppp.spResol = spResol; ppp.rasterType = rasterType; @@ -1483,6 +1492,22 @@ for (int i = 0; i < npatches; i++) { } +#if SPATIALDEMOG +void Landscape::updateDemoScalings(short landIx) { + + patchLimits landlimits; + landlimits.xMin = minX; landlimits.xMax = maxX; + landlimits.yMin = minY; landlimits.yMax = maxY; + + int npatches = (int)patches.size(); + for (int i = 0; i < npatches; i++) { + if (patches[i]->getPatchNum() != 0) { // not matrix patch + patches[i]->setPatchDemoScaling(landIx);//(landlimits,nHab,rasterType,landIx); + } + } +} +#endif // SPATIALDEMOG + Cell* Landscape::findCell(int x,int y) { if (x >= 0 && x < dimX && y >= 0 && y < dimY) return cells[y][x]; else return 0; @@ -1785,14 +1810,31 @@ landchanges.clear(); #if RS_THREADSAFE +#if SPATIALDEMOG +int Landscape::readLandChange(int filenum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile, Rcpp::NumericVector scalinglayers){ +#else int Landscape::readLandChange(int filenum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile){ - +#endif + if (filenum < 0) return 19; int h = 0, p = 0, c = 0, pchseq = 0; double hfloat = 0,pfloat = 0,cfloat = 0; bool costs = false; if(costfile.nrow()>0 && costfile.ncol()>0) costs = true; + +#if SPATIALDEMOG + arma::vec cellDemoScalings; // vector to store local demog scalings + Rcpp::IntegerVector DSdim; + int nrDemogScaleLayers = 0; + if(scalinglayers.attr("dim")==R_NilValue) DSdim = Rcpp::IntegerVector::create(1,1,1); + else{ + DSdim = scalinglayers.attr("dim"); + if(DSdim.size()>2) nrDemogScaleLayers = DSdim[2]; //nr of slices on cube + else nrDemogScaleLayers = 1; + } + arma::cube scalingCube(scalinglayers.begin(),DSdim[0],DSdim[1],nrDemogScaleLayers,false); // turn scaling layers into a cube +#endif simParams sim = paramsSim->getSim(); @@ -1927,6 +1969,23 @@ int Landscape::readLandChange(int filenum, Rcpp::NumericMatrix habfile, Rcpp::Nu } } } +#if SPATIALDEMOG + // read demographic scalings + if(nrDemogScaleLayers){ + // get tube at (y/x) + cellDemoScalings = scalingCube(arma::span(dimX-1-y), arma::span(x), arma::span::all); + if(cellDemoScalings.n_elem==nDSlayer){ + // set vector percentage values in cell + cells[y][x]->addchgDemoScaling(arma::conv_to< std::vector >::from(cellDemoScalings)); + } + else{// invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Wrong number of demographic scaling layers in cell " << x << " ," << y << " at dyn land change nr " << filenum << std::endl; + #endif + return 39; + } + } +#endif // SPATIALDEMOG } } } @@ -2666,7 +2725,7 @@ initcells.clear(); #if RS_THREADSAFE #if SPATIALDEMOG -int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile, Rcpp::List scalinglayers) { +int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile, Rcpp::NumericVector scalinglayers) { #else int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::NumericMatrix pchfile, Rcpp::NumericMatrix costfile) { #endif @@ -2903,7 +2962,66 @@ int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::Num break; } // end switch(rasterType) +#if SPATIALDEMOG + int SMScosts = costfile.nrow()*costfile.ncol(); + + arma::vec cellDemoScalings; // vector to store local demog scalings + Rcpp::IntegerVector DSdim; + int nrDemogScaleLayers = 0; + if(scalinglayers.attr("dim")==R_NilValue) DSdim = Rcpp::IntegerVector::create(1,1,1); + else{ + DSdim = scalinglayers.attr("dim"); + if(DSdim.size()>2) nrDemogScaleLayers = DSdim[2]; //nr of slices on cube + else nrDemogScaleLayers = 1; + } + arma::cube scalingCube(scalinglayers.begin(),DSdim[0],DSdim[1],nrDemogScaleLayers,false); // turn scaling layers into a cube + if(SMScosts || nrDemogScaleLayers){ // are there SMS costs or demographic scaling layers to read? + + for (int y = dimY-1; y >= 0; y--) { + for (int x = 0; x < dimX; x++) { + + // find the cell + pCell = findCell(x,y); + if (pCell != 0) { // not no-data cell + + // read cost raster + if(SMScosts) { + cfloat = costfile(dimX-1-y,x); + if ( !R_IsNA(cfloat) ) { + hc = (int)cfloat; + if ( hc < 1 ) { + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Cost map may only contain values of 1 or higher, but found " << hc << "." << endl; + #endif + return 54; + } + // set cost value + pCell->setCost(hc); + if (hc > maxcost) maxcost = hc; + } + } + + // read demographic scalings + if(nrDemogScaleLayers){ + // get tube at (y/x) + cellDemoScalings = scalingCube(arma::span(dimX-1-y), arma::span(x), arma::span::all); + if(cellDemoScalings.n_elem==nDSlayer){ + // set vector percentage values in cell + pCell->addchgDemoScaling(arma::conv_to< std::vector >::from(cellDemoScalings)); + } + else{// invalid patch code + #if RS_RCPP && !R_CMD + Rcpp::Rcout << "Wrong number of demographic scaling layers in cell " << x << " ," << y << " of first layer array." << std::endl; + #endif + return 64; + } + } + } + } + } + } +#else if (sim.batchMode) { int maxYcost = costfile.nrow(); int maxXcost = costfile.ncol(); @@ -2932,6 +3050,7 @@ int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::Num } } } +#endif //SPATIALDEMOG return 0; diff --git a/RangeShiftR/src/Landscape.h b/RangeShiftR/src/Landscape.h index 09679d1..00f8006 100644 --- a/RangeShiftR/src/Landscape.h +++ b/RangeShiftR/src/Landscape.h @@ -71,10 +71,31 @@ Last updated: 28 July 2021 by Greta Bocedi #ifndef LandscapeH #define LandscapeH +#include "Version.h" + #include #include #include +/* +#include +#include +#include +#include +*/ +#if RS_RCPP +#include +#if !RSWIN64 +#include +#endif //!RSWIN64 +#if !R_CMD +#include +#if SPATIALDEMOG +#include +#endif //SPATIALDEMOG +#endif //!R_CMD +#endif //RS_RCPP + using namespace std; #include "Parameters.h" @@ -82,15 +103,7 @@ using namespace std; #include "Cell.h" #include "Species.h" #include "FractalGenerator.h" -#if RS_RCPP -#include -#if !RSWIN64 -#include -#endif -#if !R_CMD -#include -#endif -#endif + #if RS_CONTAIN #include "Control.h" #endif // RS_CONTAIN @@ -166,6 +179,9 @@ struct landParams { #if RS_CONTAIN bool dmgLoaded; #endif // RS_CONTAIN +#if SPATIALDEMOG + bool spatialdemog; +#endif // SPATIALDEMOG int landNum; int resol; int spResol; int nHab; int nHabMax; int dimX,dimY,minX,minY,maxX,maxY; short rasterType; @@ -423,6 +439,9 @@ class Landscape{ Rcpp::NumericMatrix,// habitat raster Rcpp::NumericMatrix,// patch raster Rcpp::NumericMatrix // cost raster +#if SPATIALDEMOG + ,Rcpp::NumericVector// array of demographic scaling layers +#endif ); #else #if RS_RCPP && !R_CMD @@ -457,6 +476,9 @@ class Landscape{ costChange getCostChange( int // cost change number ); +#if SPATIALDEMOG + void updateDemoScalings(short); +#endif // SPATIALDEMOG #if SPATIALMORT // functions to handle spatial mortality @@ -568,7 +590,7 @@ class Landscape{ Rcpp::NumericMatrix,// patch raster Rcpp::NumericMatrix // cost raster #if SPATIALDEMOG - , Rcpp::List // demographic scaling layers + ,Rcpp::NumericVector // array of demographic scaling layers #endif ); #else //RS_THREADSAFE @@ -680,6 +702,9 @@ int outABCconnect(int,int); #if RS_CONTAIN bool dmgLoaded; // economic / environmental damage values have been input #endif // RS_CONTAIN +#if SPATIALDEMOG + bool spatialdemog; // are there spatially varying demographic rates? +#endif // SPATIALDEMOG short rasterType; // 0 = habitat codes 1 = % cover 2 = quality 9 = artificial landscape int landNum; // landscape number int resol; // cell size (m) diff --git a/RangeShiftR/src/Makevars b/RangeShiftR/src/Makevars index 07b9480..aeefb61 100644 --- a/RangeShiftR/src/Makevars +++ b/RangeShiftR/src/Makevars @@ -1,3 +1,3 @@ -CXX_STD = CXX11 +CXX_STD = CXX20 PKG_CXXFLAGS = -O2 # PKG_CXXFLAGS = -Wall -pedantic diff --git a/RangeShiftR/src/Model.cpp b/RangeShiftR/src/Model.cpp index 5580f3e..8b0b4f6 100644 --- a/RangeShiftR/src/Model.cpp +++ b/RangeShiftR/src/Model.cpp @@ -100,6 +100,11 @@ if (!ppLand.generated) { pLandscape->updateCarryingCapacity(pSpecies,0,0); // if (ppLand.rasterType <= 2 && ppLand.dmgLoaded) // pLandscape->updateDamageIndices(); +#if SPATIALDEMOG + if (ppLand.rasterType == 2 && ppLand.spatialdemog) + pLandscape->updateDemoScalings(0); // TODO +#endif // SPATIALDEMOG + patchData ppp; int npatches = pLandscape->patchCount(); for (int i = 0; i < npatches; i++) { @@ -368,12 +373,12 @@ DEBUGLOG << "RunModel(): UNABLE TO OPEN GENETIC SAMPLES FILE" << endl; } #endif // VIRTUALECOLOGIST #if PEDIGREE - if (!pComm->outGroupHeaders(0)) { - MemoLine("UNABLE TO OPEN GROUPS FILE"); - filesOK = false; - } + if (!pComm->outGroupHeaders(0)) { + MemoLine("UNABLE TO OPEN GROUPS FILE"); + filesOK = false; + } #endif - } + } // rep==0 #if RSDEBUG DEBUGLOG << "RunModel(): completed opening output files" << endl; #endif @@ -477,7 +482,11 @@ DEBUGLOG << "RunModel(): PROBLEM - closing output files" << endl; // pLandscape->resetPrevDamage(); if (ppLand.rasterType <= 2 && ppLand.dmgLoaded) pLandscape->updateDamageIndices(); -#endif // RS_CONTAIN +#endif // RS_CONTAIN +#if SPATIALDEMOG + if (ppLand.rasterType == 2 && ppLand.spatialdemog) + pLandscape->updateDemoScalings(0); //TODO +#endif // SPATIALDEMOG #if RSDEBUG DEBUGLOG << "RunModel(): completed updating carrying capacity" << endl; #endif @@ -741,9 +750,13 @@ DEBUGLOG << "RunModel(): yr=" << yr << " landChg.costfile=" << landChg.costfile if (updateCC) { pLandscape->updateCarryingCapacity(pSpecies,yr,landIx); #if RS_CONTAIN - if (ppLand.rasterType <= 2 && ppLand.dmgLoaded) - pLandscape->updateDamageIndices(); + if (ppLand.rasterType <= 2 && ppLand.dmgLoaded) + pLandscape->updateDamageIndices(); #endif // RS_CONTAIN +#if SPATIALDEMOG + if (ppLand.rasterType == 2 && ppLand.spatialdemog) + pLandscape->updateDemoScalings((short)landIx); //TODO +#endif // SPATIALDEMOG } #if RS_CONTAIN pLandscape->resetDamageLocns(); diff --git a/RangeShiftR/src/Parameters.h b/RangeShiftR/src/Parameters.h index f26ffee..0b26038 100644 --- a/RangeShiftR/src/Parameters.h +++ b/RangeShiftR/src/Parameters.h @@ -77,7 +77,7 @@ using namespace std; #define NHABITATS 10 // maximum number of SUITABLE habitats permitted #endif // RS_CONTAIN #if SPATIALDEMOG -#define NLAYERS 3*NSEXES*NSTAGES +#define NLAYERS 3*NSEXES*NSTAGES // maximum number of demographic scaling layers permitted #endif // SPATIALDEMOG #if RS_RCPP diff --git a/RangeShiftR/src/Patch.cpp b/RangeShiftR/src/Patch.cpp index 590a655..14f97fc 100644 --- a/RangeShiftR/src/Patch.cpp +++ b/RangeShiftR/src/Patch.cpp @@ -56,8 +56,8 @@ for (int sex = 0; sex < NSEXES; sex++) { nTemp[sex] = 0; } #if SPATIALDEMOG -short nlayer=NLAYERS; -for (int i = 0; i < nlayer; i++) localDemoScaling.push_back(1.0); +//for (int i = 0; i < nDSlayer; i++) localDemoScaling.push_back(1.0); +localDemoScaling.assign(nDSlayer,1.0); #endif changed = false; @@ -429,7 +429,104 @@ float Patch::getK(void) { return localK; } #endif // SEASONAL #if SPATIALDEMOG +void Patch::setDemoScaling(std::vector ds) { + std::for_each(ds.begin(), ds.end(), [](float& perc){ if(perc < 0.0 || perc > 100.0) perc=100; }); + localDemoScaling.assign(ds.begin(), ds.end()); + return; +} + std::vector Patch::getDemoScaling(void) { return localDemoScaling; } + +void Patch::setPatchDemoScaling(short landIx) { + + /* + bool inpatch = false; + int ncells = (int)cells.size(); + locn loc; + double dist = 0.0; + for (int i = 0; i < ncells; i++) { + loc = cells[i]->getLocn(); + if (loc.x == dmgX && loc.y == dmgY) { inpatch = true; i = ncells+1; break; } + } + if (!inpatch) dist = sqrt((double)((dmgX-loc.x)*(dmgX-loc.x) + (dmgY-loc.y)*(dmgY-loc.y))); + damageIndex += (double)damage * exp(-1.0*alpha*dist); + */ + + /* + locn loc; + int xsum,ysum; + short hx; + float k,q,envval; + + localK = 0.0; // no. of suitable cells (unadjusted K > 0) in the patch + int nsuitable = 0; + + + if (xMin > landlimits.xMax || xMax < landlimits.xMin + || yMin > landlimits.yMax || yMax < landlimits.yMin) { + localK = 0.0; + return; + } + + int ncells = (int)cells.size(); + xsum = ysum = 0; + for (int i = 0; i < ncells; i++) { + if (gradK) // gradient in carrying capacity + envval = cells[i]->getEnvVal(); // environmental gradient value + else envval = 1.0; // no gradient effect + if (env.stoch && env.inK) { // environmental stochasticity in K + if (env.local) { + // pCell = getRandomCell(); + // if (pCell != 0) envval += pCell->getEps(); + envval += cells[i]->getEps(); + } + else { // global stochasticity + envval += epsGlobal; + } + } + + switch (rasterType) { + case 0: // habitat codes + hx = cells[i]->getHabIndex(landIx); + k = pSpecies->getHabK(hx); + if (k > 0.0) { + nsuitable++; + localK += envval * k; + } + break; + case 1: // cover % + k = 0.0; + for (int j = 0; j < nHab; j++) { // loop through cover layers + q = cells[i]->getHabitat(j); + k += q * pSpecies->getHabK(j) / 100.0f; + } + if (k > 0.0) { + nsuitable++; + localK += envval * k; + } + break; + case 2: // habitat quality + q = cells[i]->getHabitat(landIx); + if (q > 0.0) { + nsuitable++; + localK += envval * pSpecies->getHabK(0) * q / 100.0f; + } + break; + } + } + + if (env.stoch && env.inK) { // environmental stochasticity in K + // apply min and max limits to K over the whole patch + // NB limits have been stored as N/cell rather than N/ha + float limit; + limit = pSpecies->getMinMax(0) * (float)nsuitable; + if (localK < limit) localK = limit; + limit = pSpecies->getMinMax(1) * (float)nsuitable; + if (localK > limit) localK = limit; + }*/ + + return; +} #endif //SPATIALDEMOG // Return co-ordinates of a specified cell diff --git a/RangeShiftR/src/Patch.h b/RangeShiftR/src/Patch.h index 24d21ed..0eab477 100644 --- a/RangeShiftR/src/Patch.h +++ b/RangeShiftR/src/Patch.h @@ -186,7 +186,9 @@ class Patch{ float getK(void); #endif // SEASONAL #if SPATIALDEMOG + void setDemoScaling(std::vector ); std::vector getDemoScaling(void); + void setPatchDemoScaling(short); // calculate demog. scalings of patch from its cells //TODO arguments #endif // SPATIALDEMOG #if VCL // for GUI version, draw the Patch on the screen @@ -242,4 +244,8 @@ extern RSrandom *pRandom; extern ofstream DEBUGLOG; #endif +#if SPATIALDEMOG +extern short nDSlayer; +#endif // SPATIALDEMOG + #endif diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index 77378e5..4f3cc8a 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -90,6 +90,9 @@ rasterdata mortraster; // string parameterFile; // string landFile; string name_landscape, name_patch, name_sp_dist, name_costfile; +#if SPATIALDEMOG +short nDSlayer=NLAYERS; +#endif // SPATIALDEMOG //string name_dynland; //#if RS_CONTAIN // string name_damagefile; @@ -750,7 +753,11 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) Rcpp::List demogScaleLayers; if (landtype == 2) { // habitat quality nrDemogScaleLayers = Rcpp::as(LandParamsR.slot("nrDemogScaleLayers")); - if(nrDemogScaleLayers) demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); + if(nrDemogScaleLayers) { + ppLand.spatialdemog = true; + nDSlayer = nrDemogScaleLayers; + demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); + } } #endif @@ -881,17 +888,20 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) } } #if SPATIALDEMOG - if(nrDemogScaleLayers) { - // test consistent number of layers (nrDemogScaleLayers) per dynland year - Rcpp::List yearLayers = demogScaleLayers[0]; - if(yearLayers.size() != nrDemogScaleLayers){ + if(nrDemogScaleLayers) { // test consistent number of layers (nrDemogScaleLayers) per dynland year + Rcpp::NumericVector yearLayers = Rcpp::as(demogScaleLayers[0]); + // get dimensions of landscape + Rcpp::IntegerVector DimsA = yearLayers.attr("dim"); + // test for correct size of demogr. layers array + if(DimsA[3] != nrDemogScaleLayers){ errors++; Rcpp::Rcout << "demogScaleLayers has an incorrect amount of layers" << endl; } if(ppLand.dynamic) { for(int i=1; i(demogScaleLayers[i]); + DimsA = yearLayers.attr("dim"); + if(DimsA[3] != nrDemogScaleLayers){ errors++; Rcpp::Rcout << "demogScaleLayers in dynamic year " << i << " has an incorrect amount of layers" << endl; } @@ -1262,9 +1272,16 @@ int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) Rcpp::List habitatmaps; Rcpp::List patchmaps; Rcpp::List costmaps; + Rcpp::NumericMatrix hraster; Rcpp::NumericMatrix praster; Rcpp::NumericMatrix craster; + +#if SPATIALDEMOG + int nrDemogScaleLayers = 0; + Rcpp::List demogScaleLayers; + Rcpp::NumericVector yearLayers = Rcpp::NumericVector::create(-1); +#endif habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); if (patchmodel) patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); @@ -1273,6 +1290,12 @@ int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); if (costmaps.size() > 0) costs = true; else craster = Rcpp::NumericMatrix(0); +#if SPATIALDEMOG + if (landtype == 2) { // habitat quality + nrDemogScaleLayers = Rcpp::as(LandParamsR.slot("nrDemogScaleLayers")); + if(nrDemogScaleLayers) demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); + } +#endif //------------ int ParseDynamicFile(string indir) { @@ -1292,9 +1315,16 @@ int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) hraster = Rcpp::as(habitatmaps[i]); if (patchmodel) praster = Rcpp::as(patchmaps[i]); if (costs) craster = Rcpp::as(costmaps[i]); +#if SPATIALDEMOG + if (nrDemogScaleLayers) yearLayers = Rcpp::as(demogScaleLayers[i]); +#endif if (errors == 0) { +#if SPATIALDEMOG + imported = pLandscape->readLandChange(i-1, hraster, praster, craster, yearLayers); +#else imported = pLandscape->readLandChange(i-1, hraster, praster, craster); +#endif if (imported != 0) { return imported; } @@ -4303,13 +4333,13 @@ Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) #if SPATIALDEMOG int nrDemogScaleLayers = 0; Rcpp::List demogScaleLayers; // list of lists of layers for each dynamic land year - Rcpp::List scalinglayers = Rcpp::List::create(); // list of demog scaling layers for a given year (initialise as empty list) + Rcpp::NumericVector scalinglayers = Rcpp::NumericVector::create(-1); // array of demog scaling layers for a given year (initialise invalid value) if(landtype == 2 && stagestruct) { nrDemogScaleLayers = Rcpp::as(LandParamsR.slot("nrDemogScaleLayers")); if(nrDemogScaleLayers) { demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); - scalinglayers = demogScaleLayers[0]; // get layers of year 0 + scalinglayers = demogScaleLayers[0]; // get array of scaling layers of year 0 } //else scalinglayers // no scaling layers -> create empty list } diff --git a/RangeShiftR/src/Rinterface.h b/RangeShiftR/src/Rinterface.h index b62f563..4537937 100644 --- a/RangeShiftR/src/Rinterface.h +++ b/RangeShiftR/src/Rinterface.h @@ -50,10 +50,10 @@ Author: Anne-Kathleen Malchow, Humboldt University Berlin #if !RSWIN64 #include #endif +#include using namespace std; -#include #include "Version.h" #include "Parameters.h" #include "Landscape.h" diff --git a/RangeShiftR/src/Version.h b/RangeShiftR/src/Version.h index 33c5042..d35424d 100644 --- a/RangeShiftR/src/Version.h +++ b/RangeShiftR/src/Version.h @@ -39,16 +39,20 @@ #define RS_RCPP 1 //#define R_CMD 0 -#define SPATIALDEMOG 1 - #define RS_EMBARCADERO 0 //--------------------------------------------------------------------------- #define RS_THREADSAFE 1 + +#define SPATIALDEMOG 1 + + #if SPATIALDEMOG + #define RS_THREADSAFE 1 + #endif // SPATIALDEMOG #if RS_THREADSAFE - #define RS_RCPP 1 - #define RSDEBUG 0 + #define RS_RCPP 1 + #define RSDEBUG 0 #endif // RS_THREADSAFE //--------------------------------------------------------------------------- From 61f513e2eefdf3b8a936c876b982f4e931fc89cc Mon Sep 17 00:00:00 2001 From: malchowa Date: Sun, 20 Feb 2022 01:23:15 +0100 Subject: [PATCH 21/35] function to update patch's demographic scaling values; plus some bug fixes --- RangeShiftR/R/class_LandParams.R | 2 +- RangeShiftR/R/class_RSparams.R | 20 +++++-- RangeShiftR/src/Cell.cpp | 11 ++-- RangeShiftR/src/Cell.h | 2 +- RangeShiftR/src/Landscape.cpp | 11 ++-- RangeShiftR/src/Patch.cpp | 100 +++++++------------------------ RangeShiftR/src/Patch.h | 2 +- RangeShiftR/src/Rinterface.cpp | 5 +- 8 files changed, 55 insertions(+), 98 deletions(-) diff --git a/RangeShiftR/R/class_LandParams.R b/RangeShiftR/R/class_LandParams.R index 4a7839e..1b4e183 100644 --- a/RangeShiftR/R/class_LandParams.R +++ b/RangeShiftR/R/class_LandParams.R @@ -660,7 +660,7 @@ setMethod("initialize", "ImportedLandscape", function(.Object, ...) { if (.Object@HabPercent) { if (is.null(args$nrDemogScaleLayers)) { if (length(.Object@demogScaleLayers) > 0) { - .Object@nrDemogScaleLayers = dim(Object@demogScaleLayers[[1]])[3] + .Object@nrDemogScaleLayers = dim(.Object@demogScaleLayers[[1]])[3] } } else { diff --git a/RangeShiftR/R/class_RSparams.R b/RangeShiftR/R/class_RSparams.R index b8bd08d..5e2ea30 100644 --- a/RangeShiftR/R/class_RSparams.R +++ b/RangeShiftR/R/class_RSparams.R @@ -102,11 +102,21 @@ setValidity("RSparams", function(object) { #DEMOGRAPHY validObject(object@demog) if (object@control@landtype == 2L){ # habitat quality - if ((length(object@demog@StageStruct@FecLayer) + length(object@demog@StageStruct@DevLayer) + length(object@demog@StageStruct@SurvLayer)) > 0 ){ # spatially varying demographic rates - ixs <- c(object@demog@StageStruct@FecLayer,object@demog@StageStruct@DevLayer,object@demog@StageStruct@SurvLayer) - ixs[is.na(ixs)] <- -9 - if ( any( ixs > object@land@nrDemogScaleLayers )){ - msg <- c(msg, "StageStructure(): Entries of FecLayer, DevLayer and SurvLayer must not exceed the number of layers in demogScaleLayers (of ImportedLandscape) !") + varydemogixs <- (length(object@demog@StageStruct@FecLayer)+length(object@demog@StageStruct@DevLayer)+length(object@demog@StageStruct@SurvLayer)>0) + varydemoglyr <- (length(object@land@demogScaleLayers)>0) + if(varydemogixs & !varydemoglyr){ + msg <- c(msg, "RSsim(): If FecLayer, DevLayer and/or SurvLayer are used, the deographic scaling layers must be given in ImportedLandscape.") + } + if(varydemoglyr & !varydemogixs){ + msg <- c(msg, "RSsim(): If deographic scaling layers are given, the demographic rates they correspond to must be defined with FecLayer, DevLayer and/or SurvLayer in StageStructure().") + } + if(varydemoglyr & varydemogixs){ + if ((length(object@demog@StageStruct@FecLayer) + length(object@demog@StageStruct@DevLayer) + length(object@demog@StageStruct@SurvLayer)) > 0 ){ # spatially varying demographic rates + ixs <- c(object@demog@StageStruct@FecLayer,object@demog@StageStruct@DevLayer,object@demog@StageStruct@SurvLayer) + ixs[is.na(ixs)] <- -9 + if ( any( ixs > object@land@nrDemogScaleLayers )){ + msg <- c(msg, "StageStructure(): Entries of FecLayer, DevLayer and SurvLayer must not exceed the number of layers in demogScaleLayers (of ImportedLandscape) !") + } } } } diff --git a/RangeShiftR/src/Cell.cpp b/RangeShiftR/src/Cell.cpp index 2ac4916..789dbea 100644 --- a/RangeShiftR/src/Cell.cpp +++ b/RangeShiftR/src/Cell.cpp @@ -255,11 +255,12 @@ void Cell::setDemoScaling(std::vector ds, short chgyear) { return; } -float Cell::getDemoScaling(short ix, short chgyear) { - if (ix < 0 || ix >= nDSlayer) - // nodata cell OR should not occur, but treat as such - return -1.0; - else return demoScalings[chgyear][ix]; +std::vector Cell::getDemoScaling(short chgyear) { + if (chgyear < 0 || chgyear >= (int)demoScalings.size()) { + std::vector ret(1, -1); + return ret; + } + else return demoScalings[chgyear]; } #endif // SPATIALDEMOG diff --git a/RangeShiftR/src/Cell.h b/RangeShiftR/src/Cell.h index 38fbd28..fdac13b 100644 --- a/RangeShiftR/src/Cell.h +++ b/RangeShiftR/src/Cell.h @@ -145,7 +145,7 @@ class Cell{ #if SPATIALDEMOG void addchgDemoScaling(std::vector); void setDemoScaling(std::vector, short); - float getDemoScaling(short, short); + std::vector getDemoScaling(short); #endif // SPATIALDEMOG private: diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index 4b438aa..0669091 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -1499,10 +1499,13 @@ void Landscape::updateDemoScalings(short landIx) { landlimits.xMin = minX; landlimits.xMax = maxX; landlimits.yMin = minY; landlimits.yMax = maxY; - int npatches = (int)patches.size(); - for (int i = 0; i < npatches; i++) { - if (patches[i]->getPatchNum() != 0) { // not matrix patch - patches[i]->setPatchDemoScaling(landIx);//(landlimits,nHab,rasterType,landIx); + if(spatialdemog && rasterType == 2) {// demographic scaling only implemented for habitat quality maps + int npatches = (int)patches.size(); + for (int i = 0; i < npatches; i++) { + if (patches[i]->getPatchNum() != 0) { // not matrix patch + // calculate local scaling for each patch from its constituent cells + patches[i]->setPatchDemoScaling(landIx, landlimits); + } } } } diff --git a/RangeShiftR/src/Patch.cpp b/RangeShiftR/src/Patch.cpp index 14f97fc..ba591ff 100644 --- a/RangeShiftR/src/Patch.cpp +++ b/RangeShiftR/src/Patch.cpp @@ -437,94 +437,38 @@ void Patch::setDemoScaling(std::vector ds) { std::vector Patch::getDemoScaling(void) { return localDemoScaling; } -void Patch::setPatchDemoScaling(short landIx) { - - /* - bool inpatch = false; - int ncells = (int)cells.size(); - locn loc; - double dist = 0.0; - for (int i = 0; i < ncells; i++) { - loc = cells[i]->getLocn(); - if (loc.x == dmgX && loc.y == dmgY) { inpatch = true; i = ncells+1; break; } - } - if (!inpatch) dist = sqrt((double)((dmgX-loc.x)*(dmgX-loc.x) + (dmgY-loc.y)*(dmgY-loc.y))); - damageIndex += (double)damage * exp(-1.0*alpha*dist); - */ - - /* - locn loc; - int xsum,ysum; - short hx; - float k,q,envval; - - localK = 0.0; // no. of suitable cells (unadjusted K > 0) in the patch - int nsuitable = 0; - +void Patch::setPatchDemoScaling(short landIx, patchLimits landlimits) { + // if patch wholly outside current landscape boundaries if (xMin > landlimits.xMax || xMax < landlimits.xMin || yMin > landlimits.yMax || yMax < landlimits.yMin) { - localK = 0.0; + localDemoScaling.assign(nDSlayer,0.0); // set all local scales to zero return; } - + + // loop through constituent cells of the patch int ncells = (int)cells.size(); - xsum = ysum = 0; + float q; + std::vector patchDS(nDSlayer, 0.0); + std::vector cellDS(nDSlayer, 0.0); + for (int i = 0; i < ncells; i++) { - if (gradK) // gradient in carrying capacity - envval = cells[i]->getEnvVal(); // environmental gradient value - else envval = 1.0; // no gradient effect - if (env.stoch && env.inK) { // environmental stochasticity in K - if (env.local) { - // pCell = getRandomCell(); - // if (pCell != 0) envval += pCell->getEps(); - envval += cells[i]->getEps(); - } - else { // global stochasticity - envval += epsGlobal; - } - } - - switch (rasterType) { - case 0: // habitat codes - hx = cells[i]->getHabIndex(landIx); - k = pSpecies->getHabK(hx); - if (k > 0.0) { - nsuitable++; - localK += envval * k; - } - break; - case 1: // cover % - k = 0.0; - for (int j = 0; j < nHab; j++) { // loop through cover layers - q = cells[i]->getHabitat(j); - k += q * pSpecies->getHabK(j) / 100.0f; - } - if (k > 0.0) { - nsuitable++; - localK += envval * k; - } - break; - case 2: // habitat quality - q = cells[i]->getHabitat(landIx); - if (q > 0.0) { - nsuitable++; - localK += envval * pSpecies->getHabK(0) * q / 100.0f; - } - break; + cellDS = cells[i]->getDemoScaling(landIx); // is that ok? + + //add cell value to patch value + for (int ly = 0; ly < nDSlayer; ly++) { + patchDS[ly] += cellDS[ly]; } } + + // take mean over cells and divide by 100 to scale to range [0,1] + for (int ly = 0; ly < nDSlayer; ly++) { + patchDS[ly] = patchDS[ly] / ncells / 100.0f; + } + + // set values + setDemoScaling(patchDS); - if (env.stoch && env.inK) { // environmental stochasticity in K - // apply min and max limits to K over the whole patch - // NB limits have been stored as N/cell rather than N/ha - float limit; - limit = pSpecies->getMinMax(0) * (float)nsuitable; - if (localK < limit) localK = limit; - limit = pSpecies->getMinMax(1) * (float)nsuitable; - if (localK > limit) localK = limit; - }*/ - return; } #endif //SPATIALDEMOG diff --git a/RangeShiftR/src/Patch.h b/RangeShiftR/src/Patch.h index 0eab477..a09d959 100644 --- a/RangeShiftR/src/Patch.h +++ b/RangeShiftR/src/Patch.h @@ -188,7 +188,7 @@ class Patch{ #if SPATIALDEMOG void setDemoScaling(std::vector ); std::vector getDemoScaling(void); - void setPatchDemoScaling(short); // calculate demog. scalings of patch from its cells //TODO arguments + void setPatchDemoScaling(short, patchLimits); // calculate demog. scalings of patch from its cells //TODO arguments #endif // SPATIALDEMOG #if VCL // for GUI version, draw the Patch on the screen diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp index 4f3cc8a..8f1ff42 100644 --- a/RangeShiftR/src/Rinterface.cpp +++ b/RangeShiftR/src/Rinterface.cpp @@ -893,15 +893,14 @@ bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) // get dimensions of landscape Rcpp::IntegerVector DimsA = yearLayers.attr("dim"); // test for correct size of demogr. layers array - if(DimsA[3] != nrDemogScaleLayers){ + if(DimsA[2] != nrDemogScaleLayers){ errors++; - Rcpp::Rcout << "demogScaleLayers has an incorrect amount of layers" << endl; } if(ppLand.dynamic) { for(int i=1; i(demogScaleLayers[i]); DimsA = yearLayers.attr("dim"); - if(DimsA[3] != nrDemogScaleLayers){ + if(DimsA[2] != nrDemogScaleLayers){ errors++; Rcpp::Rcout << "demogScaleLayers in dynamic year " << i << " has an incorrect amount of layers" << endl; } From 5c612a9bebbb89a7b275e24d2964be45df04360c Mon Sep 17 00:00:00 2001 From: malchowa Date: Sun, 20 Feb 2022 14:27:44 +0100 Subject: [PATCH 22/35] fix error re dimensions of demog layers array --- RangeShiftR/R/class_LandParams.R | 2 +- RangeShiftR/src/Landscape.cpp | 6 +++--- RangeShiftR/src/Model.cpp | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/RangeShiftR/R/class_LandParams.R b/RangeShiftR/R/class_LandParams.R index 1b4e183..c41d61f 100644 --- a/RangeShiftR/R/class_LandParams.R +++ b/RangeShiftR/R/class_LandParams.R @@ -617,7 +617,7 @@ setValidity("ImportedLandscape", function(object) { msg <- c(msg, "nrDemogScaleLayers must give the number of layers contained in each element (array) of demogScaleLayers.") } else{ - if( ds_dims[1,1] != land_ncol || ds_dims[2,1] != land_nrow ){ + if( ds_dims[1,1] != land_nrow || ds_dims[2,1] != land_ncol ){ msg <- c(msg, "All elements of demogScaleLayers list must have the same ncol and nrow as the LandscapeFile list") } else{ diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index 0669091..73eb7e5 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -1976,7 +1976,7 @@ int Landscape::readLandChange(int filenum, Rcpp::NumericMatrix habfile, Rcpp::Nu // read demographic scalings if(nrDemogScaleLayers){ // get tube at (y/x) - cellDemoScalings = scalingCube(arma::span(dimX-1-y), arma::span(x), arma::span::all); + cellDemoScalings = scalingCube(arma::span(dimY-1-y), arma::span(x), arma::span::all); if(cellDemoScalings.n_elem==nDSlayer){ // set vector percentage values in cell cells[y][x]->addchgDemoScaling(arma::conv_to< std::vector >::from(cellDemoScalings)); @@ -2990,7 +2990,7 @@ int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::Num // read cost raster if(SMScosts) { - cfloat = costfile(dimX-1-y,x); + cfloat = costfile(dimY-1-y,x); if ( !R_IsNA(cfloat) ) { hc = (int)cfloat; if ( hc < 1 ) { @@ -3008,7 +3008,7 @@ int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::Num // read demographic scalings if(nrDemogScaleLayers){ // get tube at (y/x) - cellDemoScalings = scalingCube(arma::span(dimX-1-y), arma::span(x), arma::span::all); + cellDemoScalings = scalingCube(arma::span(dimY-1-y), arma::span(x), arma::span::all); if(cellDemoScalings.n_elem==nDSlayer){ // set vector percentage values in cell pCell->addchgDemoScaling(arma::conv_to< std::vector >::from(cellDemoScalings)); diff --git a/RangeShiftR/src/Model.cpp b/RangeShiftR/src/Model.cpp index 8b0b4f6..8a70924 100644 --- a/RangeShiftR/src/Model.cpp +++ b/RangeShiftR/src/Model.cpp @@ -485,7 +485,7 @@ DEBUGLOG << "RunModel(): PROBLEM - closing output files" << endl; #endif // RS_CONTAIN #if SPATIALDEMOG if (ppLand.rasterType == 2 && ppLand.spatialdemog) - pLandscape->updateDemoScalings(0); //TODO + pLandscape->updateDemoScalings(0); #endif // SPATIALDEMOG #if RSDEBUG DEBUGLOG << "RunModel(): completed updating carrying capacity" << endl; @@ -750,12 +750,12 @@ DEBUGLOG << "RunModel(): yr=" << yr << " landChg.costfile=" << landChg.costfile if (updateCC) { pLandscape->updateCarryingCapacity(pSpecies,yr,landIx); #if RS_CONTAIN - if (ppLand.rasterType <= 2 && ppLand.dmgLoaded) - pLandscape->updateDamageIndices(); + if (ppLand.rasterType <= 2 && ppLand.dmgLoaded) + pLandscape->updateDamageIndices(); #endif // RS_CONTAIN #if SPATIALDEMOG - if (ppLand.rasterType == 2 && ppLand.spatialdemog) - pLandscape->updateDemoScalings((short)landIx); //TODO + if (ppLand.rasterType == 2 && ppLand.spatialdemog) + pLandscape->updateDemoScalings((short)landIx); #endif // SPATIALDEMOG } #if RS_CONTAIN From 5375d4fc4bb30456c5c750b8a20f7b5a2f9ca40d Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Wed, 23 Feb 2022 10:19:27 +0100 Subject: [PATCH 23/35] Minor bug-fixes for windows compiling --- RangeShiftR/DESCRIPTION | 4 ++-- RangeShiftR/src/Cell.cpp | 31 ++++++++++++++++--------------- RangeShiftR/src/Makevars.win | 2 +- RangeShiftR/src/RcppExports.cpp | 1 + 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/RangeShiftR/DESCRIPTION b/RangeShiftR/DESCRIPTION index 70b24d6..a7f80ab 100644 --- a/RangeShiftR/DESCRIPTION +++ b/RangeShiftR/DESCRIPTION @@ -14,7 +14,7 @@ URL: https://rangeshifter.github.io/RangeshiftR-tutorials/ Description: RangeShiftR provides individual-based simulations of spatial eco-evolutionary dynamics. It is based on the C++ software RangeShifter, making it flexible and fast. RangeShiftR models the processes of demography, dispersal and evolution in an inter-dependent way, offering substantial complexity in the corresponding modelling choices. It is entirely open-source and aims to facilitate the application of individual-based and mechanistic modelling to eco-evolutionary questions. License: GPL-3 Depends: R (>= 3.6) -SystemRequirements: C++11 +SystemRequirements: C++20 Imports: Rcpp (>= 1.0.0), raster (>= 3.0.0), @@ -22,7 +22,7 @@ Imports: methods, rmarkdown RdMacros: Rdpack -LinkingTo: Rcpp +LinkingTo: Rcpp, RcppArmadillo Encoding: UTF-8 RoxygenNote: 7.1.1 Collate: diff --git a/RangeShiftR/src/Cell.cpp b/RangeShiftR/src/Cell.cpp index 789dbea..bfbc559 100644 --- a/RangeShiftR/src/Cell.cpp +++ b/RangeShiftR/src/Cell.cpp @@ -1,34 +1,35 @@ /*---------------------------------------------------------------------------- - * - * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell - * + * + * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell + * * This file is part of RangeShifter. - * + * * RangeShifter is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * RangeShifter is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with RangeShifter. If not, see . - * + * --------------------------------------------------------------------------*/ - - + + //--------------------------------------------------------------------------- #if RS_EMBARCADERO #pragma hdrstop #endif #include "Cell.h" +#include "algorithm" //--------------------------------------------------------------------------- -#if RS_EMBARCADERO +#if RS_EMBARCADERO #pragma package(smart_init) #endif @@ -78,7 +79,7 @@ habIxx.clear(); habitats.clear(); if (smsData != 0) { if (smsData->effcosts != 0) delete smsData->effcosts; - delete smsData; + delete smsData; } #if SPATIALDEMOG demoScalings.clear(); @@ -174,7 +175,7 @@ if (period == 0 || period == 1) m = mort[period]; return m; } -#endif // SPATIALMORT +#endif // SPATIALMORT // Functions to handle costs for SMS @@ -213,7 +214,7 @@ else return a; } -void Cell::setEffCosts(array3x3f a) { +void Cell::setEffCosts(array3x3f a) { if (smsData->effcosts == 0) smsData->effcosts = new array3x3f; *smsData->effcosts = a; } @@ -239,7 +240,7 @@ unsigned long int Cell::getVisits(void) { return visits; } void Cell::setDamage(DamageLocn *pDmg) { pDamage = pDmg; } DamageLocn* Cell::getDamage(void) { return pDamage; } -#endif // RS_CONTAIN +#endif // RS_CONTAIN #if SPATIALDEMOG @@ -263,7 +264,7 @@ std::vector Cell::getDemoScaling(short chgyear) { else return demoScalings[chgyear]; } -#endif // SPATIALDEMOG +#endif // SPATIALDEMOG //--------------------------------------------------------------------------- diff --git a/RangeShiftR/src/Makevars.win b/RangeShiftR/src/Makevars.win index 311f978..71b592b 100644 --- a/RangeShiftR/src/Makevars.win +++ b/RangeShiftR/src/Makevars.win @@ -1,3 +1,3 @@ -CXX_STD = CXX11 +#CXX_STD = CXX20 PKG_CXXFLAGS = -DRSWIN64 -w #PKG_CXXFLAGS = -H \ No newline at end of file diff --git a/RangeShiftR/src/RcppExports.cpp b/RangeShiftR/src/RcppExports.cpp index 5d10a14..ce6d56e 100644 --- a/RangeShiftR/src/RcppExports.cpp +++ b/RangeShiftR/src/RcppExports.cpp @@ -1,6 +1,7 @@ // Generated by using Rcpp::compileAttributes() -> do not edit by hand // Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 +#include #include using namespace Rcpp; From 3f246d3eef9dd291b4a2e81cb5d333604c4bbc34 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Wed, 23 Feb 2022 13:56:19 +0100 Subject: [PATCH 24/35] Switched back to c11 --- RangeShiftR/DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RangeShiftR/DESCRIPTION b/RangeShiftR/DESCRIPTION index a7f80ab..b6926c6 100644 --- a/RangeShiftR/DESCRIPTION +++ b/RangeShiftR/DESCRIPTION @@ -14,7 +14,7 @@ URL: https://rangeshifter.github.io/RangeshiftR-tutorials/ Description: RangeShiftR provides individual-based simulations of spatial eco-evolutionary dynamics. It is based on the C++ software RangeShifter, making it flexible and fast. RangeShiftR models the processes of demography, dispersal and evolution in an inter-dependent way, offering substantial complexity in the corresponding modelling choices. It is entirely open-source and aims to facilitate the application of individual-based and mechanistic modelling to eco-evolutionary questions. License: GPL-3 Depends: R (>= 3.6) -SystemRequirements: C++20 +SystemRequirements: C++11 Imports: Rcpp (>= 1.0.0), raster (>= 3.0.0), From 0125b511cf23693c1de17097d8002eedc863e851 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Thu, 24 Feb 2022 16:07:06 +0100 Subject: [PATCH 25/35] deleted function in cell.cpp, which was not used Changed boundaries for demoscaling in patch.cpp (0-1 instead of 0-100) --- RangeShiftR/src/Cell.cpp | 6 ------ RangeShiftR/src/Patch.cpp | 9 ++++++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/RangeShiftR/src/Cell.cpp b/RangeShiftR/src/Cell.cpp index bfbc559..abaa31f 100644 --- a/RangeShiftR/src/Cell.cpp +++ b/RangeShiftR/src/Cell.cpp @@ -250,12 +250,6 @@ void Cell::addchgDemoScaling(std::vector ds) { return; } -void Cell::setDemoScaling(std::vector ds, short chgyear) { - std::for_each(ds.begin(), ds.end(), [](float& perc){ if(perc < 0.0 || perc > 100.0) perc=100; }); - demoScalings[chgyear].assign(ds.begin(), ds.end()); - return; -} - std::vector Cell::getDemoScaling(short chgyear) { if (chgyear < 0 || chgyear >= (int)demoScalings.size()) { std::vector ret(1, -1); diff --git a/RangeShiftR/src/Patch.cpp b/RangeShiftR/src/Patch.cpp index ba591ff..b861506 100644 --- a/RangeShiftR/src/Patch.cpp +++ b/RangeShiftR/src/Patch.cpp @@ -430,8 +430,11 @@ float Patch::getK(void) { return localK; } #if SPATIALDEMOG void Patch::setDemoScaling(std::vector ds) { - std::for_each(ds.begin(), ds.end(), [](float& perc){ if(perc < 0.0 || perc > 100.0) perc=100; }); + + std::for_each(ds.begin(), ds.end(), [](float& perc){ if(perc < 0.0 || perc > 1.0) perc=1; }); + localDemoScaling.assign(ds.begin(), ds.end()); + return; } @@ -451,10 +454,10 @@ void Patch::setPatchDemoScaling(short landIx, patchLimits landlimits) { float q; std::vector patchDS(nDSlayer, 0.0); std::vector cellDS(nDSlayer, 0.0); - + for (int i = 0; i < ncells; i++) { cellDS = cells[i]->getDemoScaling(landIx); // is that ok? - + //add cell value to patch value for (int ly = 0; ly < nDSlayer; ly++) { patchDS[ly] += cellDS[ly]; From 5ccae964da2fef2025b02e57d398f1ed4fdcec24 Mon Sep 17 00:00:00 2001 From: malchowa Date: Wed, 11 May 2022 11:22:22 +0200 Subject: [PATCH 26/35] fix warnings introduced with R4.2.0; in parameter validation change is.na() to vector version anyNA(); update copyright year --- RangeShiftR/DESCRIPTION | 2 +- RangeShiftR/R/RSsim.R | 18 ++-- RangeShiftR/R/RangeShiftR.R | 12 +-- RangeShiftR/R/Rfunctions.R | 2 +- RangeShiftR/R/RunRS.R | 2 +- RangeShiftR/R/addition.R | 2 +- RangeShiftR/R/class_ControlParams.R | 18 ++-- RangeShiftR/R/class_DemogParams.R | 48 +++++----- RangeShiftR/R/class_DispersalParams.R | 56 ++++++------ RangeShiftR/R/class_GeneticsParams.R | 30 +++---- RangeShiftR/R/class_InitialisationParams.R | 58 +++++++----- RangeShiftR/R/class_LandParams.R | 47 +++++----- RangeShiftR/R/class_RSparams.R | 26 +++--- RangeShiftR/R/class_SimulationParams.R | 100 ++++++++++----------- RangeShiftR/R/output_handling.R | 2 +- RangeShiftR/R/plotProbs.R | 2 +- 16 files changed, 222 insertions(+), 203 deletions(-) diff --git a/RangeShiftR/DESCRIPTION b/RangeShiftR/DESCRIPTION index b6926c6..85da774 100644 --- a/RangeShiftR/DESCRIPTION +++ b/RangeShiftR/DESCRIPTION @@ -24,7 +24,7 @@ Imports: RdMacros: Rdpack LinkingTo: Rcpp, RcppArmadillo Encoding: UTF-8 -RoxygenNote: 7.1.1 +RoxygenNote: 7.1.2 Collate: 'Rfunctions.R' 'plotProbs.R' diff --git a/RangeShiftR/R/RSsim.R b/RangeShiftR/R/RSsim.R index 1fe85b6..aa459fb 100644 --- a/RangeShiftR/R/RSsim.R +++ b/RangeShiftR/R/RSsim.R @@ -1,25 +1,25 @@ #--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# +# +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# # This file is part of RangeShiftR. -# +# # RangeShiftR is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. -# +# # RangeShiftR is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with RangeShiftR. If not, see . -# +# #---------------------------------------------------------------------------- - - + + # ----- # diff --git a/RangeShiftR/R/RangeShiftR.R b/RangeShiftR/R/RangeShiftR.R index 93b452d..9423a1c 100644 --- a/RangeShiftR/R/RangeShiftR.R +++ b/RangeShiftR/R/RangeShiftR.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # @@ -49,14 +49,16 @@ NULL +# Show start-up message upon loading the package .onAttach <- function(libname, pkgname) { - packageStartupMessage("RangeshiftR version 1.0.3 (04.08.2021)\n", - "Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell\n\n", + packageStartupMessage("RangeshiftR version 1.0.4 (10.05.2022)\n", + "Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell\n\n", "This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.\n", "You are welcome to redistribute it and/or modify it under certain conditions;\n", "type 'RangeShiftR_license()' for details.\n") } +# Unload dynamic library when unloading the package .onUnload <- function (libpath) { library.dynam.unload("RangeShiftR", libpath) } @@ -67,8 +69,8 @@ NULL #' @export RangeShiftR_license <- function () { - cat("\nRangeshiftR version 1.0.3 (04.08.2021)\n") - cat("Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell\n\n") + cat("\nRangeshiftR version 1.0.4 (10.05.2022)\n") + cat("Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell\n\n") cat("This program is free software: you can redistribute it and/or modify\n") cat("it under the terms of the GNU General Public License as published by\n") cat("the Free Software Foundation, either version 3 of the License, or\n") diff --git a/RangeShiftR/R/Rfunctions.R b/RangeShiftR/R/Rfunctions.R index f66699b..e8d3e73 100644 --- a/RangeShiftR/R/Rfunctions.R +++ b/RangeShiftR/R/Rfunctions.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # diff --git a/RangeShiftR/R/RunRS.R b/RangeShiftR/R/RunRS.R index 3e1b95d..15204ac 100644 --- a/RangeShiftR/R/RunRS.R +++ b/RangeShiftR/R/RunRS.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # diff --git a/RangeShiftR/R/addition.R b/RangeShiftR/R/addition.R index f589fb2..ffedf1b 100644 --- a/RangeShiftR/R/addition.R +++ b/RangeShiftR/R/addition.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # diff --git a/RangeShiftR/R/class_ControlParams.R b/RangeShiftR/R/class_ControlParams.R index 02887e5..423dcc9 100644 --- a/RangeShiftR/R/class_ControlParams.R +++ b/RangeShiftR/R/class_ControlParams.R @@ -1,25 +1,25 @@ #--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# +# +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# # This file is part of RangeShiftR. -# +# # RangeShiftR is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. -# +# # RangeShiftR is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with RangeShiftR. If not, see . -# +# #---------------------------------------------------------------------------- - - + + #### CLASS CONTROLPARAMS diff --git a/RangeShiftR/R/class_DemogParams.R b/RangeShiftR/R/class_DemogParams.R index 5799645..a8c0c71 100644 --- a/RangeShiftR/R/class_DemogParams.R +++ b/RangeShiftR/R/class_DemogParams.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # @@ -219,7 +219,7 @@ StageStructure <- setClass("StagesParams", slots = c(Stages = "integer_OR_numeri # check forbidden transitions in TransMatrix (e.g. between non-successive stages or between sexes) setValidity("StagesParams", function(object) { msg <- NULL - if (is.na(object@Stages) || length(object@Stages)!=1) { + if (anyNA(object@Stages) || length(object@Stages)!=1) { msg <- c(msg, "Number of Stages must be set and of length 1!") } else { @@ -238,7 +238,7 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "All elements in the first row of the transition matrix (i.e. the fecundities) must be positive!") } } - if (is.na(object@MaxAge) || length(object@MaxAge)!=1) { + if (anyNA(object@MaxAge) || length(object@MaxAge)!=1) { msg <- c(msg, "MaxAge must be set and of length 1!") } else { @@ -257,7 +257,7 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "MinAge must be smaller than MaxAge for all stages and sexes!") } } - if (is.na(object@RepSeasons) || length(object@RepSeasons)!=1) { + if (anyNA(object@RepSeasons) || length(object@RepSeasons)!=1) { msg <- c(msg, "RepSeasons must be set and of length 1!") } else { @@ -265,7 +265,7 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "RepSeasons must be at least 1!") } } - if (is.na(object@RepInterval) || length(object@RepInterval)!=1) { + if (anyNA(object@RepInterval) || length(object@RepInterval)!=1) { msg <- c(msg, "RepInterval must be set and of length 1!") } else { @@ -273,7 +273,7 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "RepInterval must be positive!") } } - if (is.na(object@PRep) || length(object@PRep)!=1) { + if (anyNA(object@PRep) || length(object@PRep)!=1) { msg <- c(msg, "PRep must be set and of length 1!") } else { @@ -281,20 +281,20 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "PRep must in the half-open interval (0;1]!") } } - if (is.na(object@SurvSched) || length(object@SurvSched)!=1) { + if (anyNA(object@SurvSched) || length(object@SurvSched)!=1) { msg <- c(msg, "SurvSched must be set and of length 1!") } else { - if (object@SurvSched != 0 && object@SurvSched != 1 && object@SurvSched != 2) { + if (! object@SurvSched %in% (0:2) ) { msg <- c(msg, "SurvSched must be 0, 1 or 2!") } } - if (is.na(object@FecDensDep) || length(object@FecDensDep)!=1) { + if (anyNA(object@FecDensDep) || length(object@FecDensDep)!=1) { msg <- c(msg, "FecDensDep must be set and of length 1!") } else{ if(object@FecDensDep) { - if (is.na(object@FecStageWts) || length(object@FecStageWts)!=1) { + if (anyNA(object@FecStageWts) || length(object@FecStageWts)!=1) { msg <- c(msg, "FecStageWts must be set and of length 1!") } else{ @@ -311,12 +311,12 @@ setValidity("StagesParams", function(object) { } } } - if (is.na(object@DevDensDep) || length(object@DevDensDep)!=1) { + if (anyNA(object@DevDensDep) || length(object@DevDensDep)!=1) { msg <- c(msg, "DevDensDep must be set and of length 1!") } else{ if(object@DevDensDep) { - if (is.na(object@DevDensCoeff) || length(object@DevDensCoeff)!=1) { + if (anyNA(object@DevDensCoeff) || length(object@DevDensCoeff)!=1) { msg <- c(msg, "DevDensCoeff must be set and of length 1!") } else { @@ -324,7 +324,7 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "DevDensCoeff must be greater than zero!") } } - if (is.na(object@DevStageWts) || length(object@DevStageWts)!=1) { + if (anyNA(object@DevStageWts) || length(object@DevStageWts)!=1) { msg <- c(msg, "DevStageWts must be set and of length 1!") } else{ @@ -341,12 +341,12 @@ setValidity("StagesParams", function(object) { } } } - if (is.na(object@SurvDensDep) || length(object@SurvDensDep)!=1) { + if (anyNA(object@SurvDensDep) || length(object@SurvDensDep)!=1) { msg <- c(msg, "SurvDensDep must be set and of length 1!") } else{ if(object@SurvDensDep){ - if (is.na(object@SurvDensCoeff) || length(object@SurvDensCoeff)!=1) { + if (anyNA(object@SurvDensCoeff) || length(object@SurvDensCoeff)!=1) { msg <- c(msg, "SurvDensCoeff must be set and of length 1!") } else { @@ -354,7 +354,7 @@ setValidity("StagesParams", function(object) { msg <- c(msg, "SurvDensCoeff must be greater than zero!") } } - if (is.na(object@SurvStageWts) || length(object@SurvStageWts)!=1) { + if (anyNA(object@SurvStageWts) || length(object@SurvStageWts)!=1) { msg <- c(msg, "SurvStageWts must be set and of length 1!") } else{ @@ -665,16 +665,16 @@ Demography <- setClass("DemogParams", slots = c(Rmax = "integer_OR_numeric", ) setValidity("DemogParams", function(object) { msg <- NULL - if (is.na(object@ReproductionType) || length(object@ReproductionType)!=1) { + if (anyNA(object@ReproductionType) || length(object@ReproductionType)!=1) { msg <- c(msg, "ReproductionType must be set and of length 1!") } else { - if (object@ReproductionType != 0 && object@ReproductionType != 1 && object@ReproductionType != 2) { + if (! object@ReproductionType %in% (0:2) ) { msg <- c(msg, "ReproductionType must be 0, 1 or 2!") } else{ if (object@ReproductionType) { - if (is.na(object@PropMales) || length(object@PropMales)!=1) { + if (anyNA(object@PropMales) || length(object@PropMales)!=1) { msg <- c(msg, "Proportion of males must be set and of length 1!") } else { @@ -684,7 +684,7 @@ setValidity("DemogParams", function(object) { } } if (object@ReproductionType==2) { - if (is.na(object@Harem) || length(object@Harem)!=1) { + if (anyNA(object@Harem) || length(object@Harem)!=1) { msg <- c(msg, "Maximum harem size must be set and of length 1!") } else { @@ -701,7 +701,7 @@ setValidity("DemogParams", function(object) { msg <- c(msg, "StageStruct must either be FALSE or an object of class \"StagesParams\" !") } else { # StageStruct=FALSE - if (is.na(object@Rmax) || length(object@Rmax)!=1) { + if (anyNA(object@Rmax) || length(object@Rmax)!=1) { msg <- c(msg, "Maximum growth rate Rmax must be set for a non-structured population!") } else { @@ -709,7 +709,7 @@ setValidity("DemogParams", function(object) { msg <- c(msg, "Maximum growth rate Rmax must be positive!") } } - if (is.na(object@bc) || length(object@bc)!=1) { + if (anyNA(object@bc) || length(object@bc)!=1) { msg <- c(msg, "Competition coefficient bc must be set for a non-structured population!") } else { @@ -767,7 +767,7 @@ setValidity("DemogParams", function(object) { msg <- c(msg, "Minimum Age vector must have dimensions 2*\'Stages\'-1 !") } else{ - if (any(object@StageStruct@MinAge[1:3]!=0) ) { + if (any(object@StageStruct@MinAge[1:2]!=0) ) { msg <- c(msg, "MinAge of stages 0 and 1 must be zero!") } if (any(object@StageStruct@MinAge<0)) { @@ -848,7 +848,7 @@ setValidity("DemogParams", function(object) { msg <- c(msg, "Minimum Age vector must have dimensions \'Stages\' !") } else{ - if (object@StageStruct@MinAge[1]!=0 || object@StageStruct@MinAge[2]!=0) { + if (any(object@StageStruct@MinAge[1:2]!=0) ) { msg <- c(msg, "MinAge of stages 0 and 1 must be zero!") } if (any(object@StageStruct@MinAge<0)) { diff --git a/RangeShiftR/R/class_DispersalParams.R b/RangeShiftR/R/class_DispersalParams.R index ec67d0c..58f1834 100644 --- a/RangeShiftR/R/class_DispersalParams.R +++ b/RangeShiftR/R/class_DispersalParams.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # @@ -165,14 +165,14 @@ Emigration <- setClass("EmigrationParams", slots = c(DensDep = "logical", setValidity("EmigrationParams", function(object) { msg <- NULL - if (is.na(object@DensDep) || length(object@DensDep)!=1) { + if (anyNA(object@DensDep) || length(object@DensDep)!=1) { msg <- c(msg, "DensDep must be set and of length 1!") } - if (is.na(object@IndVar) || length(object@IndVar)!=1) { + if (anyNA(object@IndVar) || length(object@IndVar)!=1) { msg <- c(msg, "IndVar must be set and of length 1!") } else { - if (is.na(object@StageDep) || length(object@StageDep)!=1) { + if (anyNA(object@StageDep) || length(object@StageDep)!=1) { msg <- c(msg, "StageDep must be set and of length 1!") } else{ @@ -181,7 +181,7 @@ setValidity("EmigrationParams", function(object) { } } } - if (is.na(object@SexDep) || length(object@SexDep)!=1) { + if (anyNA(object@SexDep) || length(object@SexDep)!=1) { msg <- c(msg, "SexDep must be set and of length 1!") } if (anyNA(object@EmigProb) || length(object@EmigProb)==0) { @@ -269,7 +269,7 @@ setValidity("EmigrationParams", function(object) { } } } - if (is.na(object@UseFullKern) || length(object@UseFullKern)!=1) { + if (anyNA(object@UseFullKern) || length(object@UseFullKern)!=1) { msg <- c(msg, "UseFullKern must be set and of length 1!") } else { @@ -622,14 +622,14 @@ DispersalKernel <- setClass("DispersalKernel", slots = c(IndVar = "logical", setValidity("DispersalKernel", function(object) { msg <- NULL - if (is.na(object@DoubleKernel) || length(object@DoubleKernel)!=1) { + if (anyNA(object@DoubleKernel) || length(object@DoubleKernel)!=1) { msg <- c(msg, "DoubleKernel must be set and of length 1!") } - if (is.na(object@IndVar) || length(object@IndVar)!=1) { + if (anyNA(object@IndVar) || length(object@IndVar)!=1) { msg <- c(msg, "IndVar must be set and of length 1!") } else { - if (is.na(object@StageDep) || length(object@StageDep)!=1) { + if (anyNA(object@StageDep) || length(object@StageDep)!=1) { msg <- c(msg, "StageDep must be set and of length 1!") } else{ @@ -638,7 +638,7 @@ setValidity("DispersalKernel", function(object) { } } } - if (is.na(object@SexDep) || length(object@SexDep)!=1) { + if (anyNA(object@SexDep) || length(object@SexDep)!=1) { msg <- c(msg, "SexDep must be set and of length 1!") } if (anyNA(object@Distances) || length(object@Distances)==0) { @@ -721,21 +721,21 @@ setValidity("DispersalKernel", function(object) { } } } - if (is.na(object@DistMort) || length(object@DistMort)!=1) { + if (anyNA(object@DistMort) || length(object@DistMort)!=1) { msg <- c(msg, "DistMort must be set and of length 1!") } else { if (object@DistMort) { # atm no conditions for Slope, InflPoint - if (is.na(object@Slope) || length(object@Slope)!=1) { + if (anyNA(object@Slope) || length(object@Slope)!=1) { msg <- c(msg, "Slope must be set and of length 1!") } - if (is.na(object@InflPoint) || length(object@InflPoint)!=1) { + if (anyNA(object@InflPoint) || length(object@InflPoint)!=1) { msg <- c(msg, "InflPoint must be set and of length 1!") } } else { - if (is.na(object@MortProb) || length(object@MortProb)!=1) { + if (anyNA(object@MortProb) || length(object@MortProb)!=1) { msg <- c(msg, "MortProb must be set and of length 1!") } else { @@ -1092,7 +1092,7 @@ SMS <- setClass("StochMove", slots = c(PR = "integer_OR_numeric", ) setValidity("StochMove", function(object) { msg <- NULL - if (is.na(object@PR) || length(object@PR)!=1) { + if (anyNA(object@PR) || length(object@PR)!=1) { msg <- c(msg, "PR must be set and of length 1!") } else{ @@ -1100,7 +1100,7 @@ setValidity("StochMove", function(object) { msg <- c(msg, "PR must be >= 1!") } } - if (is.na(object@PRMethod) || length(object@PRMethod)!=1) { + if (anyNA(object@PRMethod) || length(object@PRMethod)!=1) { msg <- c(msg, "PRMethod must be set and of length 1!") } else{ @@ -1108,7 +1108,7 @@ setValidity("StochMove", function(object) { msg <- c(msg, "PRMethod must be either 1, 2 or 3!") } } - if (is.na(object@MemSize) || length(object@MemSize)!=1) { + if (anyNA(object@MemSize) || length(object@MemSize)!=1) { msg <- c(msg, "MemSize must be set and of length 1!") } else{ @@ -1116,7 +1116,7 @@ setValidity("StochMove", function(object) { msg <- c(msg, "MemSize must be between 1 and 14 !") } } - if (is.na(object@GoalType) || length(object@GoalType)!=1) { + if (anyNA(object@GoalType) || length(object@GoalType)!=1) { msg <- c(msg, "GoalType must be set and of length 1!") } else{ @@ -1124,7 +1124,7 @@ setValidity("StochMove", function(object) { msg <- c(msg, "GoalType must be either 0 or 2!") } } - if (is.na(object@IndVar) || length(object@IndVar)!=1) { + if (anyNA(object@IndVar) || length(object@IndVar)!=1) { msg <- c(msg, "IndVar must be set and of length 1!") } if(is.null(msg)){ @@ -1275,7 +1275,7 @@ setValidity("StochMove", function(object) { } } } - if (is.na(object@StraightenPath) || length(object@StraightenPath)!=1) { + if (anyNA(object@StraightenPath) || length(object@StraightenPath)!=1) { msg <- c(msg, "StraightenPath must be set and of length 1!") } if (anyNA(object@Costs) || length(object@Costs)==0) { @@ -1302,7 +1302,7 @@ setValidity("StochMove", function(object) { msg <- c(msg, "StepMort must be set!") } else{ - if (any(object@StepMort < 0.0 || object@StepMort >= 1.0) ) { + if (any(object@StepMort < 0.0 | object@StepMort >= 1.0) ) { msg <- c(msg, "StepMort probabilities must be within the half-open interval [0,1) !") } } @@ -1494,7 +1494,7 @@ CorrRW <- setClass("CorrRW", slots = c(IndVar = "logical", ) setValidity("CorrRW", function(object) { msg <- NULL - if (is.na(object@IndVar) || length(object@IndVar)!=1) { + if (anyNA(object@IndVar) || length(object@IndVar)!=1) { msg <- c(msg, "IndVar must be set and of length 1!") } if (anyNA(object@StepLength) || length(object@StepLength)==0) { @@ -1569,14 +1569,14 @@ setValidity("CorrRW", function(object) { } } } - if (is.na(object@StraightenPath) || length(object@StraightenPath)!=1) { + if (anyNA(object@StraightenPath) || length(object@StraightenPath)!=1) { msg <- c(msg, "StraightenPath must be set and of length 1!") } if (anyNA(object@StepMort) || length(object@StepMort)==0) { msg <- c(msg, "StepMort must be set!") } else{ - if (any(object@StepMort < 0.0 || object@StepMort >= 1.0) ) { + if (any(object@StepMort < 0.0 | object@StepMort >= 1.0) ) { msg <- c(msg, "StepMort probabilities must be within the half-open interval [0,1) !") } } @@ -1796,10 +1796,10 @@ Settlement <- setClass("SettlementParams", slots = c(StageDep = "logical", setValidity("SettlementParams", function(object) { msg <- NULL - if (is.na(object@StageDep) || length(object@StageDep)!=1) { + if (anyNA(object@StageDep) || length(object@StageDep)!=1) { msg <- c(msg, "StageDep must be set and of length 1!") } - if (is.na(object@SexDep) || length(object@SexDep)!=1) { + if (anyNA(object@SexDep) || length(object@SexDep)!=1) { msg <- c(msg, "SexDep must be set and of length 1!") } if (anyNA(object@Settle) || length(object@Settle)==0) { @@ -1820,10 +1820,10 @@ setValidity("SettlementParams", function(object) { } } } - if (is.na(object@DensDep) || length(object@DensDep)!=1) { + if (anyNA(object@DensDep) || length(object@DensDep)!=1) { msg <- c(msg, "DensDep must be set and of length 1!") } - if (is.na(object@IndVar) || length(object@IndVar)!=1) { + if (anyNA(object@IndVar) || length(object@IndVar)!=1) { msg <- c(msg, "IndVar must be set and of length 1!") } if (is.null(msg)) { diff --git a/RangeShiftR/R/class_GeneticsParams.R b/RangeShiftR/R/class_GeneticsParams.R index 18c015a..de519f4 100644 --- a/RangeShiftR/R/class_GeneticsParams.R +++ b/RangeShiftR/R/class_GeneticsParams.R @@ -1,25 +1,25 @@ #--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# +# +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# # This file is part of RangeShiftR. -# +# # RangeShiftR is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. -# +# # RangeShiftR is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with RangeShiftR. If not, see . -# +# #---------------------------------------------------------------------------- - - + + ### CLASS GENETICSPARAMS @@ -207,13 +207,13 @@ Genetics <- setClass("GeneticsParams", slots = c(Architecture = "integer_OR_nume ) setValidity('GeneticsParams', function(object){ msg <- NULL - if(is.na(object@Architecture) || length(object@Architecture)!=1) { + if(anyNA(object@Architecture) || length(object@Architecture)!=1) { msg <- c(msg, "Architecture must be set!") } else { if(object@Architecture %in% c(0,1)) { if(object@Architecture == 0) { - if(is.na(object@NLoci) || length(object@NLoci)!=1) { + if(anyNA(object@NLoci) || length(object@NLoci)!=1) { msg <- c(msg, "NLoci must be set if Architecture = 0 (one chromosome per trait)!") } else { @@ -231,7 +231,7 @@ setValidity('GeneticsParams', function(object){ msg <- c(msg, "Architecture must be either 0 or 1!") } } - if(is.na(object@ProbMutn) || length(object@ProbMutn)!=1) { + if(anyNA(object@ProbMutn) || length(object@ProbMutn)!=1) { msg <- c(msg, "ProbMutn must be set!") } else { @@ -239,7 +239,7 @@ setValidity('GeneticsParams', function(object){ msg <- c(msg, "ProbMutn must be within the closed interval [0,1]!") } } - if(is.na(object@ProbCross) || length(object@ProbCross)!=1) { + if(anyNA(object@ProbCross) || length(object@ProbCross)!=1) { msg <- c(msg, "ProbCross must be set!") } else { @@ -247,7 +247,7 @@ setValidity('GeneticsParams', function(object){ msg <- c(msg, "ProbCross must be within the closed interval [0,1]!") } } - if(is.na(object@AlleleSD) || length(object@AlleleSD)!=1) { + if(anyNA(object@AlleleSD) || length(object@AlleleSD)!=1) { msg <- c(msg, "AlleleSD must be set!") } else { @@ -255,7 +255,7 @@ setValidity('GeneticsParams', function(object){ msg <- c(msg, "AlleleSD must be strictly positive!") } } - if(is.na(object@MutationSD) || length(object@MutationSD)!=1) { + if(anyNA(object@MutationSD) || length(object@MutationSD)!=1) { msg <- c(msg, "MutationSD must be set!") } else { diff --git a/RangeShiftR/R/class_InitialisationParams.R b/RangeShiftR/R/class_InitialisationParams.R index 6f8121e..bbb6ceb 100644 --- a/RangeShiftR/R/class_InitialisationParams.R +++ b/RangeShiftR/R/class_InitialisationParams.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # @@ -201,10 +201,10 @@ Initialise <- setClass("InitialisationParams", slots = c(InitType = "integer_OR_ setValidity('InitialisationParams', function(object){ msg <- NULL - if (length(object@InitIndsFile) != 1){ + if (anyNA(object@InitIndsFile) || length(object@InitIndsFile) != 1){ msg <- c(msg, 'InitIndsFile must contain exactly one element.') } - if (is.na(object@InitType) || length(object@InitType)!=1){ + if (anyNA(object@InitType) || length(object@InitType)!=1){ msg <- c(msg, 'Type of initialisation (InitType) must be set and of length 1!') } else { @@ -213,7 +213,7 @@ setValidity('InitialisationParams', function(object){ } else { # Valid InitType if (object@InitType == 0){ # Free Init - if (is.na(object@FreeType) || length(object@FreeType)!=1){ + if (anyNA(object@FreeType) || length(object@FreeType)!=1){ msg <- c(msg, 'FreeType is required if InitType = 0 (Free initialisation).') } else{ @@ -222,7 +222,7 @@ setValidity('InitialisationParams', function(object){ } else { # Valid FreeType if (object@FreeType == 0){ #random - if (is.na(object@NrCells) || length(object@NrCells)!=1){ + if (anyNA(object@NrCells) || length(object@NrCells)!=1){ msg <- c(msg, 'NrCells is required if FreeType = 0 (Random Free initialisation).') } else { # Valid NrCells @@ -235,19 +235,25 @@ setValidity('InitialisationParams', function(object){ } min.set = FALSE max.set = FALSE - if (length(object@minX) != 0 && object@minX != -9){ - if (object@minX < 0){ + if (length(object@minX) != 1){ + msg <- c(msg, 'Minimum X coordinate (minX) must be of length 1!') + } + else{ + if (object@minX < 0 && object@minX != -9){ msg <- c(msg, 'Minimum X coordinate (minX) has to be greater or equal 0!') } else min.set = TRUE } - if (length(object@maxX) != 0 && object@maxX != -9){ - if (object@maxX < 0){ + if (length(object@maxX) != 1){ + msg <- c(msg, 'Maximum X coordinate (maxX) must be of length 1!') + } + else{ + if (object@maxX < 0 && object@maxX != -9){ msg <- c(msg, 'Maximum X coordinate (maxX) has to be greater or equal 0!') } else max.set = TRUE } - if(min.set && max.set){ + if(min.set && max.set && object@minX > 0){ Xextend = object@maxX - object@minX if (object@maxX <= object@minX){ msg <- c(msg, 'maxX has to be larger than minX!') @@ -257,19 +263,25 @@ setValidity('InitialisationParams', function(object){ else {Xextend = FALSE} min.set = FALSE max.set = FALSE - if (length(object@minY) != 0 && object@minY != -9){ - if (object@minY < 0){ + if (length(object@minY) != 1){ + msg <- c(msg, 'Minimum Y coordinate (minY) must be of length 1!') + } + else{ + if (object@minY < 0 && object@minY != -9){ msg <- c(msg, 'Minimum Y coordinate (minY) has to be greater or equal 0!') } else min.set = TRUE } - if (length(object@maxY) != 0 && object@maxY != -9){ - if (object@maxY < 0){ + if (length(object@maxY) != 1){ + msg <- c(msg, 'Maximum Y coordinate (maxY) must be of length 1!') + } + else{ + if (object@maxY < 0 && object@maxY != -9){ msg <- c(msg, 'Maximum Y coordinate (maxY) has to be greater or equal 0!') } else max.set = TRUE } - if(min.set && max.set){ + if(min.set && max.set && object@minY > 0){ Yextend = object@maxY - object@minY if (object@maxY <= object@minY){ msg <- c(msg, 'maxY has to be larger than minY!') @@ -284,7 +296,7 @@ setValidity('InitialisationParams', function(object){ } } if (object@InitType == 1){ # Init Distmap - if (is.na(object@SpType) || length(object@SpType)!=1){ + if (anyNA(object@SpType) || length(object@SpType)!=1){ msg <- c(msg, 'SpType is required if InitType = 1 (from loaded species distribution map).') } else{ @@ -293,7 +305,7 @@ setValidity('InitialisationParams', function(object){ } else { # Valid SpType if (object@SpType == 1){ #random - if (is.na(object@NrCells) || length(object@NrCells)!=1){ + if (anyNA(object@NrCells) || length(object@NrCells)!=1){ msg <- c(msg, 'NrCells is required if SpType = 1 (Random initialisation from loaded species distribution map).') } else { # Valid NrCells @@ -317,7 +329,7 @@ setValidity('InitialisationParams', function(object){ } } } - if (is.na(object@InitDens) || length(object@InitDens)!=1) { + if (anyNA(object@InitDens) || length(object@InitDens)!=1) { msg <- c(msg, 'InitDens must be set and of length 1!') } else { @@ -326,7 +338,7 @@ setValidity('InitialisationParams', function(object){ } else { if (object@InitDens == 2){ - if(is.na(object@IndsHaCell) || length(object@IndsHaCell)!=1) { + if(anyNA(object@IndsHaCell) || length(object@IndsHaCell)!=1) { msg <- c(msg, 'IndsHaCell is required if InitDens = 2') } else { @@ -359,7 +371,7 @@ setValidity('InitialisationParams', function(object){ } } } - if (is.na(object@InitFreezeYear) || length(object@InitFreezeYear)!=1) { + if (anyNA(object@InitFreezeYear) || length(object@InitFreezeYear)!=1) { msg <- c(msg, 'InitFreezeYear must be set and of length 1!') } else { @@ -367,7 +379,7 @@ setValidity('InitialisationParams', function(object){ msg <- c(msg, 'InitFreezeYear must be greater or equal 0!') } } - if (is.na(object@RestrictRows) || length(object@RestrictRows)!=1) { + if (anyNA(object@RestrictRows) || length(object@RestrictRows)!=1) { msg <- c(msg, 'RestrictRows must be set and of length 1!') } else { @@ -375,7 +387,7 @@ setValidity('InitialisationParams', function(object){ msg <- c(msg, 'RestrictRows must be greater or equal 0!') } } - if (is.na(object@RestrictFreq) || length(object@RestrictFreq)!=1) { + if (anyNA(object@RestrictFreq) || length(object@RestrictFreq)!=1) { msg <- c(msg, 'RestrictFreq must be set and of length 1!') } else { @@ -383,7 +395,7 @@ setValidity('InitialisationParams', function(object){ msg <- c(msg, 'RestrictFreq must be strictly positive!') } } - if (is.na(object@FinalFreezeYear) || length(object@FinalFreezeYear)!=1) { + if (anyNA(object@FinalFreezeYear) || length(object@FinalFreezeYear)!=1) { msg <- c(msg, 'FinalFreezeYear must be set and of length 1!') } else { diff --git a/RangeShiftR/R/class_LandParams.R b/RangeShiftR/R/class_LandParams.R index c41d61f..a87db62 100644 --- a/RangeShiftR/R/class_LandParams.R +++ b/RangeShiftR/R/class_LandParams.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # @@ -33,7 +33,7 @@ LandParams <- setClass("LandParams", slots = c(LandNum = "integer_OR_numeric") setValidity("LandParams", function(object) { msg <- NULL - if (is.na(object@LandNum) || length(object@LandNum)!=1) { + if (anyNA(object@LandNum) || length(object@LandNum)!=1) { msg <- c(msg, "LandNum must be set and of length 1!") } else { @@ -124,7 +124,7 @@ ArtificialLandscape <- setClass("ArtificialLandscape", slots = c(propSuit = "num setValidity("ArtificialLandscape", function(object) { msg <- NULL - if (is.na(object@propSuit) || length(object@propSuit)!=1) { + if (anyNA(object@propSuit) || length(object@propSuit)!=1) { msg <- c(msg, "Proportion of suitable habitat must be set and of length 1!") } else { @@ -132,7 +132,7 @@ setValidity("ArtificialLandscape", function(object) { msg <- c(msg, "Proportion of suitable habitat must be in the interval [0,1].") } } - if (is.na(object@K_or_DensDep) || length(object@K_or_DensDep)==0) { + if (anyNA(object@K_or_DensDep) || length(object@K_or_DensDep)==0) { msg <- c(msg, "K_or_DensDep must be set!") } else { @@ -140,7 +140,7 @@ setValidity("ArtificialLandscape", function(object) { msg <- c(msg, "K_or_DensDep must not be smaller than 0.") } } - if (is.na(object@Resolution) || length(object@Resolution)!=1) { + if (anyNA(object@Resolution) || length(object@Resolution)!=1) { msg <- c(msg, "Resolution of landscape must be set and of length 1!") } else { @@ -148,16 +148,16 @@ setValidity("ArtificialLandscape", function(object) { msg <- c(msg, "Resolution of landscape must be positive.") } } - if (is.na(object@dimX) || length(object@dimX)!=1) { + if (anyNA(object@dimX) || length(object@dimX)!=1) { msg <- c(msg, "dimX must be set!") } - if (is.na(object@dimY) || length(object@dimY)!=1) { + if (anyNA(object@dimY) || length(object@dimY)!=1) { msg <- c(msg, "dimY must be set!") } - if (is.na(object@fractal) || length(object@fractal)!=1) { + if (anyNA(object@fractal) || length(object@fractal)!=1) { msg <- c(msg, "fractal must be set!") } - if (is.na(object@continuous) || length(object@continuous)!=1) { + if (anyNA(object@continuous) || length(object@continuous)!=1) { msg <- c(msg, "continuous must be set!") } if (is.null(msg)) { @@ -181,7 +181,7 @@ setValidity("ArtificialLandscape", function(object) { if (object@dimY < object@dimX) { msg <- c(msg, "Y-dimension may not be less than X-dimension for a fractal landscape.") } - if (is.na(object@hurst) || length(object@hurst)!=1) { + if (anyNA(object@hurst) || length(object@hurst)!=1) { msg <- c(msg, "Hurst exponent must be set for a fractal landscape.") } else { @@ -202,7 +202,7 @@ setValidity("ArtificialLandscape", function(object) { } } if(object@continuous) { - if (is.na(object@minPct) || length(object@minPct)!=1) { + if (anyNA(object@minPct) || length(object@minPct)!=1) { minP.ok = FALSE msg <- c(msg, "Minimum habitat percentage must be set for a continuous landscape.") } @@ -213,7 +213,7 @@ setValidity("ArtificialLandscape", function(object) { } else {minP.ok = TRUE} } - if (is.na(object@maxPct) || length(object@maxPct)!=1) { + if (anyNA(object@maxPct) || length(object@maxPct)!=1) { maxP.ok = FALSE msg <- c(msg, "Maximum habitat percentage must be set for a continuous landscape.") } @@ -448,23 +448,28 @@ setValidity("ImportedLandscape", function(object) { } } } - if (is.na(object@Resolution) || length(object@Resolution)!=1) { - msg <- c(msg, "Resolution of landscape must be given!") + if (anyNA(object@Resolution) || length(object@Resolution)!=1) { + msg <- c(msg, "Resolution of landscape must be given and of length 1!") } else { if (object@Resolution < 1) { msg <- c(msg, "Resolution of landscape must be positive.") } } - if (is.na(object@OriginCoords) || length(object@OriginCoords)!=2) { - msg <- c(msg, "OriginCoords of landscape must be given and of length 2!") + if (anyNA(object@OriginCoords)) { + msg <- c(msg, "OriginCoords of landscape must be provided!") } else { - if ( any(object@OriginCoords < 0) ) { - msg <- c(msg, "OriginCoords of landscape must be positive.") + if (length(object@OriginCoords)!=2) { + msg <- c(msg, "OriginCoords of landscape must be of length 2!") + } + else { + if ( any(object@OriginCoords < 0) ) { + msg <- c(msg, "OriginCoords of landscape must be positive.") + } } } - if (is.na(object@HabPercent) || length(object@HabPercent)!=1) { + if (anyNA(object@HabPercent) || length(object@HabPercent)!=1) { msg <- c(msg, "HabPercent must be set!") } if (anyNA(object@K_or_DensDep) || length(object@K_or_DensDep)==0) { @@ -476,7 +481,7 @@ setValidity("ImportedLandscape", function(object) { } } if (!object@HabPercent) { - if (is.na(object@Nhabitats) || length(object@Nhabitats)!=1) { + if (anyNA(object@Nhabitats) || length(object@Nhabitats)!=1) { msg <- c(msg, "Number of habitat codes must be given for the imported landscape. If your landscape is specified by a habitat cover percentage, please set \"HabPercent = TRUE\". ") } else { @@ -528,7 +533,7 @@ setValidity("ImportedLandscape", function(object) { } } if (length(object@SpDistFile) > 0) { # species distribution map given - if (is.na(object@SpDistResolution) || length(object@SpDistResolution)!=1) { + if (anyNA(object@SpDistResolution) || length(object@SpDistResolution)!=1) { msg <- c(msg, "Resolution of Species distribution must be set and of length 1!") } else { diff --git a/RangeShiftR/R/class_RSparams.R b/RangeShiftR/R/class_RSparams.R index 5e2ea30..2da7aef 100644 --- a/RangeShiftR/R/class_RSparams.R +++ b/RangeShiftR/R/class_RSparams.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # @@ -187,7 +187,7 @@ setValidity("RSparams", function(object) { msg <- c(msg, "First column of emigration probability traits matrix (EmigProb) must contain the stage numbers (but non-integer number(s) found)!") } else { - if(any(object@dispersal@Emigration@EmigProb[,1]<0 || object@dispersal@Emigration@EmigProb[,1]>object@control@stages)){ + if(any(object@dispersal@Emigration@EmigProb[,1]<0 | object@dispersal@Emigration@EmigProb[,1]>object@control@stages)){ msg <- c(msg, "First column of emigration probability traits matrix (EmigProb) must contain the stage numbers (found <0 or >#stages)!") } else{ @@ -227,7 +227,7 @@ setValidity("RSparams", function(object) { if (dim_ok) { # check value columns of EmigProb if (object@dispersal@Emigration@IndVar) { - if(any(object@dispersal@Emigration@EmigProb[,(offset+1):(offset+2)]<=0 || object@dispersal@Emigration@EmigProb[,(offset+1):(offset+2)]>1)){ + if(any(object@dispersal@Emigration@EmigProb[,(offset+1):(offset+2)]<=0 | object@dispersal@Emigration@EmigProb[,(offset+1):(offset+2)]>1)){ msg <- c(msg, paste0("Columns ", (offset+1), " and ", (offset+2), " of emigration traits matrix (EmigProb) must contain mean(D0) and sd(D0), with values in the half-open inerval (0,1] !")) } else { @@ -251,13 +251,13 @@ setValidity("RSparams", function(object) { } else { # !IndVar if (object@dispersal@Emigration@DensDep) { - if(any(object@dispersal@Emigration@EmigProb[,(offset+1)]<0 || object@dispersal@Emigration@EmigProb[,(offset+1)]>1)){ + if(any(object@dispersal@Emigration@EmigProb[,(offset+1)]<0 | object@dispersal@Emigration@EmigProb[,(offset+1)]>1)){ msg <- c(msg, paste0("Column ", (offset+1), " of emigration traits matrix (EmigProb) must contain the maximum emigration probability D0, with values in the closed inerval [0,1] !")) } #// NB alpha and beta may take any value } else { - if(any(object@dispersal@Emigration@EmigProb[,(offset+1)]<0 || object@dispersal@Emigration@EmigProb[,(offset+1)]>1)){ + if(any(object@dispersal@Emigration@EmigProb[,(offset+1)]<0 | object@dispersal@Emigration@EmigProb[,(offset+1)]>1)){ msg <- c(msg, paste0("Column ", (offset+1), " of emigration traits matrix (EmigProb) must contain the constant emigration probability d, with values in the closed inerval [0,1] !")) } } @@ -321,7 +321,7 @@ setValidity("RSparams", function(object) { msg <- c(msg, "First column of dispersal kernel traits (Distances) matrix must contain the stage numbers (but non-integer number(s) found)!") } else { - if(any(object@dispersal@Transfer@Distances[,1]<0 || object@dispersal@Transfer@Distances[,1]>object@control@stages)){ + if(any(object@dispersal@Transfer@Distances[,1]<0 | object@dispersal@Transfer@Distances[,1]>object@control@stages)){ msg <- c(msg, "First column of dispersal kernel traits (Distances) matrix must contain the stage numbers (found <0 or >#stages)!") } else{ @@ -390,7 +390,7 @@ setValidity("RSparams", function(object) { msg <- c(msg, paste0("Column ", (offset+4), " of dispersal kernel traits (Distances) matrix must contain sd(δ2), with values less than or equal to TraitScaleFactor ÎĽ(δ2)!")) } } - if(any(object@dispersal@Transfer@Distances[,(offset+5)]<=0.0 || object@dispersal@Transfer@Distances[,(offset+5)]>=1.0)){ + if(any(object@dispersal@Transfer@Distances[,(offset+5)]<=0.0 | object@dispersal@Transfer@Distances[,(offset+5)]>=1.0)){ msg <- c(msg, paste0("Column ", (offset+5), " of dispersal kernel traits (Distances) matrix must contain the mean of the probability of using Kernel 1, mean(p), with values in the open interval (0,1) !")) } if(any(object@dispersal@Transfer@Distances[,(offset+6)]<=0.0)){ @@ -421,7 +421,7 @@ setValidity("RSparams", function(object) { if(any(object@dispersal@Transfer@Distances[,(offset+1):(offset+2)]= ", (resol), " (=landscape resolution (unless UseFullKernel=TRUE)) !")) } - if(any(object@dispersal@Transfer@Distances[,(offset+3)]<=0 || object@dispersal@Transfer@Distances[,(offset+3)]>=1)) { + if(any(object@dispersal@Transfer@Distances[,(offset+3)]<=0 | object@dispersal@Transfer@Distances[,(offset+3)]>=1)) { msg <- c(msg, paste0("Column ", (offset+3), " of dispersal kernel traits (Distances) matrix must contain the probability p of using kernel 1, with values in the open interval (0,1) !")) } } @@ -591,7 +591,7 @@ setValidity("RSparams", function(object) { msg <- c(msg, "First column of Settlement traits matrix (Settle) must contain the stage numbers (but non-integer number(s) found)!") } else { - if(any(object@dispersal@Settlement@Settle[,1]<0 || object@dispersal@Settlement@Settle[,1]>object@control@stages)){ + if(any(object@dispersal@Settlement@Settle[,1]<0 | object@dispersal@Settlement@Settle[,1]>object@control@stages)){ msg <- c(msg, "First column of Settlement traits matrix (Settle) must contain the stage numbers (found <0 or >#stages)!") } else{ @@ -633,7 +633,7 @@ setValidity("RSparams", function(object) { if (object@control@transfer) { #if Movemodel: if (object@dispersal@Settlement@IndVar) { if (object@dispersal@Settlement@DensDep) { - if(any(object@dispersal@Settlement@Settle[,(offset+1):(offset+2)]<=0 || object@dispersal@Settlement@Settle[,(offset+1):(offset+2)]>1)){ + if(any(object@dispersal@Settlement@Settle[,(offset+1):(offset+2)]<=0 | object@dispersal@Settlement@Settle[,(offset+1):(offset+2)]>1)){ msg <- c(msg, paste0("Columns ", (offset+1), " and ", (offset+2), " of settlement traits matrix (Settle) must contain mean(S0) and sd(S0), with values in the half-open inerval (0,1] !")) } else { @@ -659,7 +659,7 @@ setValidity("RSparams", function(object) { } else { # !IndVar if (object@dispersal@Settlement@DensDep) { - if(any(object@dispersal@Settlement@Settle[,(offset+1)]<=0 || object@dispersal@Settlement@Settle[,(offset+1)]>1)){ + if(any(object@dispersal@Settlement@Settle[,(offset+1)]<=0 | object@dispersal@Settlement@Settle[,(offset+1)]>1)){ msg <- c(msg, paste0("Column ", (offset+1), " of settlement traits matrix (Settle) must contain the maximum settlement probability S0, with values in the half-open inerval (0,1] !")) } #// NB alpha and beta may take any value @@ -749,7 +749,7 @@ setValidity("RSparams", function(object) { msg <- c(msg, 'Initialise(): PropStages must have a length equal to number of stages!') } else{ - if(any(object@init@PropStages < 0.0) || any(object@init@PropStages > 1.0)) { + if(any(object@init@PropStages < 0.0) | any(object@init@PropStages > 1.0)) { msg <- c(msg, 'Initialise(): All elements of PropStages must be in the closed interval [0,1]!') } else{ @@ -767,7 +767,7 @@ setValidity("RSparams", function(object) { } } else{ - if (length(object@init@PropStages)>1 || !any(object@init@PropStages[1] == c(0,-9))) { + if (length(object@init@PropStages)>1 || !(object@init@PropStages[1] %in% c(0,-9))) { msg <- c(msg, 'PropStages is not used for a population without stage structure.') } } diff --git a/RangeShiftR/R/class_SimulationParams.R b/RangeShiftR/R/class_SimulationParams.R index 8dcc4e7..06c73a6 100644 --- a/RangeShiftR/R/class_SimulationParams.R +++ b/RangeShiftR/R/class_SimulationParams.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # @@ -417,7 +417,7 @@ Simulation <- setClass("SimulationParams", slots = c(Simulation = "integer_OR_nu ) setValidity('SimulationParams', function(object){ msg <- NULL - if (is.na(object@Simulation || length(object@Simulation)!=1 )){ + if (anyNA(object@Simulation || length(object@Simulation)!=1 )){ msg <- c(msg, 'ID Number of current simulation must be set and of length 1!') } else { @@ -425,7 +425,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'Simulation ID Number must be positive or 0.') } } - if (is.na(object@Replicates || length(object@Replicates)!=1 )){ + if (anyNA(object@Replicates || length(object@Replicates)!=1 )){ msg <- c(msg, 'Number of replicates must be set and of length 1!') } else { @@ -433,7 +433,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'Number of replicates must be positive.') } } - if (is.na(object@Years) || length(object@Years)!=1 ){ + if (anyNA(object@Years) || length(object@Years)!=1 ){ msg <- c(msg,'Number of years must be set and of length 1!') } else { @@ -441,10 +441,10 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'Number of year must be positive.') } } - if (is.na(object@Absorbing) || length(object@Absorbing)!=1 ){ + if (anyNA(object@Absorbing) || length(object@Absorbing)!=1 ){ msg <- c(msg, 'Absorbing must be set!') } - if (is.na(object@Gradient) || length(object@Gradient)!=1 ){ + if (anyNA(object@Gradient) || length(object@Gradient)!=1 ){ msg <- c(msg, 'Gradient option must be set!') } else{ @@ -453,7 +453,7 @@ setValidity('SimulationParams', function(object){ } else{ if (object@Gradient){ # Gradient = {1,2,3} - if (is.na(object@GradSteep) || length(object@GradSteep)!=1 ){ + if (anyNA(object@GradSteep) || length(object@GradSteep)!=1 ){ msg <- c(msg, 'GradSteep is required if Gradient is > 0.') } else { @@ -461,7 +461,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'GradSteep has to be >= 0.') } } - if (is.na(object@Optimum) || length(object@Optimum)!=1 ){ + if (anyNA(object@Optimum) || length(object@Optimum)!=1 ){ msg <- c(msg, 'Optimum is required if Gradient is > 0.') } else { @@ -469,7 +469,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'Optimum has to be >= 0.') } } - if (is.na(object@f) || length(object@f)!=1){ + if (anyNA(object@f) || length(object@f)!=1){ msg <- c(msg, 'Local scaling factor f is required if Gradient is > 0.') } else { @@ -478,7 +478,7 @@ setValidity('SimulationParams', function(object){ } } if (object@Gradient == 3){ - if (is.na(object@ExtinctOptim) || length(object@ExtinctOptim)!=1){ + if (anyNA(object@ExtinctOptim) || length(object@ExtinctOptim)!=1){ msg <- c(msg, 'ExtinctOptim must be set.') } else{ @@ -487,12 +487,12 @@ setValidity('SimulationParams', function(object){ } } } - if (is.na(object@Shifting) || length(object@Shifting)!=1 ){ + if (anyNA(object@Shifting) || length(object@Shifting)!=1 ){ msg <- c(msg, 'Shifting must be set.') } else{ if (object@Shifting){ - if (is.na(object@ShiftRate) || length(object@ShiftRate)!=1 ) { + if (anyNA(object@ShiftRate) || length(object@ShiftRate)!=1 ) { msg <- c(msg, 'ShiftRate must be set.') } else{ @@ -500,7 +500,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'ShiftRate has to be > 0, if Shifting is = TRUE.') } } - if (is.na(object@ShiftStart)|| length(object@ShiftStart)!=1 ){ + if (anyNA(object@ShiftStart) || length(object@ShiftStart)!=1 ){ msg <- c(msg, 'ShiftStart must be set.') } else{ @@ -508,7 +508,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'ShiftStart has to be > 0, if Shifting is = TRUE.') } } - if (is.na(object@ShiftEnd)|| length(object@ShiftEnd)!=1 ){ + if (anyNA(object@ShiftEnd)|| length(object@ShiftEnd)!=1 ){ msg <- c(msg, 'ShiftEnd must be set.') } else{ @@ -524,7 +524,7 @@ setValidity('SimulationParams', function(object){ } } else { # no gradient - if (is.na(object@Shifting) || length(object@Shifting)!=1 ){ + if (anyNA(object@Shifting) || length(object@Shifting)!=1 ){ msg <- c(msg, 'Shifting must be set.') } else{ @@ -536,7 +536,7 @@ setValidity('SimulationParams', function(object){ } } } - if (is.na(object@LocalExt || length(object@LocalExt)!=1)){ + if (anyNA(object@LocalExt || length(object@LocalExt)!=1)){ msg <- c(msg, 'LocalExt must be set!') } else{ @@ -545,7 +545,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'LocalExt has to be FALSE if Gradient = 3 (i.e. environmental gradient in extinction probability)') } else { - if (is.na(object@LocalExtProb) || length(object@LocalExtProb)!=1 ){ + if (anyNA(object@LocalExtProb) || length(object@LocalExtProb)!=1 ){ msg <- c(msg, 'LocalExtProb has to be set.') } else{ @@ -556,16 +556,16 @@ setValidity('SimulationParams', function(object){ } } } - if (is.na(object@EnvStoch) || length(object@EnvStoch)!=1){ + if (anyNA(object@EnvStoch) || length(object@EnvStoch)!=1){ msg <- c(msg, 'Environmental stochasticity has to be set.') } else{ - if (object@EnvStoch!=0 & object@EnvStoch!=1 & object@EnvStoch!=2) { + if (! object@EnvStoch %in% (0:2) ) { msg <- c(msg, 'Environmental stochasticity option (EnvStoch) has to be 0, 1 or 2.') } else{ if (object@EnvStoch){ #EnvStoch = 1 or 2 - if (is.na(object@ac) || length(object@ac)!=1 ){ + if (anyNA(object@ac) || length(object@ac)!=1 ){ msg <- c(msg, 'Autocorrelation coefficient (ac) has to be set if environmental stochasticity is set.') } else { @@ -573,7 +573,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'Autocorrelation coefficient (ac) must be in the half-open interval [0,1).') } } - if (is.na(object@std) || length(object@std)!=1 ){ + if (anyNA(object@std) || length(object@std)!=1 ){ msg <- c(msg, 'std has to be set if environmental stochasticity is set.') } else { @@ -581,7 +581,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'std must be in the half-open interval (0,1].') } } - if (is.na(object@EnvStochType) || length(object@EnvStochType)!=1 ){ + if (anyNA(object@EnvStochType) || length(object@EnvStochType)!=1 ){ msg <- c(msg, 'Type of environmental stochasticity (EnvStochType) must be set.') } else { @@ -590,7 +590,7 @@ setValidity('SimulationParams', function(object){ } else{ if (object@EnvStochType == 0){ - if (is.na(object@minR) || length(object@minR)!=1){ + if (anyNA(object@minR) || length(object@minR)!=1){ msg <- c(msg, 'Minimum growth rate (minR) has to be set.') } else { @@ -598,7 +598,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'Minimum growth rate (minR) must be positive.') } else { - if (is.na(object@maxR) || length(object@maxR)!=1){ + if (anyNA(object@maxR) || length(object@maxR)!=1){ msg <- c(msg, 'Maximum growth rate (maxR) has to be set.') } else { @@ -610,7 +610,7 @@ setValidity('SimulationParams', function(object){ } } if (object@EnvStochType == 1){ - if (is.na(object@minK) || length(object@minK)!=1){ + if (anyNA(object@minK) || length(object@minK)!=1){ msg <- c(msg, 'Minimum growth rate (minK) has to be set.') } else { @@ -618,7 +618,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'Minimum growth rate (minK) must be positive.') } else { - if (is.na(object@maxK) || length(object@maxK)!=1){ + if (anyNA(object@maxK) || length(object@maxK)!=1){ msg <- c(msg, 'Maximum growth rate (maxK) has to be set.') } else { @@ -635,7 +635,7 @@ setValidity('SimulationParams', function(object){ } } # Range - if (is.na(object@OutIntRange) || length(object@OutIntRange)!=1 ){ + if (anyNA(object@OutIntRange) || length(object@OutIntRange)!=1 ){ msg <- c(msg, 'Output interval of range (OutIntRange) has to be set.') } else{ @@ -644,7 +644,7 @@ setValidity('SimulationParams', function(object){ } } # Occupancy - if (is.na(object@OutIntOcc) || length(object@OutIntOcc)!=1 ){ + if (anyNA(object@OutIntOcc) || length(object@OutIntOcc)!=1 ){ msg <- c(msg, 'Output interval of occupancy (OutIntOcc) has to be set.') } else{ @@ -660,12 +660,12 @@ setValidity('SimulationParams', function(object){ } } # Population - if (is.na(object@OutIntPop) || length(object@OutIntPop)!=1 ){ + if (anyNA(object@OutIntPop) || length(object@OutIntPop)!=1 ){ msg <- c(msg, 'Output interval of population (OutIntPop) has to be set.') } else { if (object@OutIntPop > 0){ - if (is.na(object@OutStartPop) || length(object@OutStartPop)!=1 ){ + if (anyNA(object@OutStartPop) || length(object@OutStartPop)!=1 ){ msg <- c(msg, 'Start year of population output (OutStartPop) has to be set.') } else{ @@ -681,12 +681,12 @@ setValidity('SimulationParams', function(object){ } } # Individuals - if (is.na(object@OutIntInd) || length(object@OutIntInd)!=1 ){ + if (anyNA(object@OutIntInd) || length(object@OutIntInd)!=1 ){ msg <- c(msg, 'Output interval of individuals (OutIntInd) has to be set.') } else { if (object@OutIntInd > 0){ - if (is.na(object@OutStartInd) || length(object@OutStartInd)!=1 ){ + if (anyNA(object@OutStartInd) || length(object@OutStartInd)!=1 ){ msg <- c(msg, 'Start year of individuals output (OutStartInd) has to be set.') } else{ @@ -702,12 +702,12 @@ setValidity('SimulationParams', function(object){ } } # Genetics - if (is.na(object@OutIntGenetic) || length(object@OutIntGenetic)!=1 ){ + if (anyNA(object@OutIntGenetic) || length(object@OutIntGenetic)!=1 ){ msg <- c(msg, 'Output interval of genetics (OutIntGenetic) has to be set.') } else { if (object@OutIntGenetic > 0){ - if (is.na(object@OutStartGenetic) || length(object@OutStartGenetic)!=1 ){ + if (anyNA(object@OutStartGenetic) || length(object@OutStartGenetic)!=1 ){ msg <- c(msg, 'Start year of genetics output (OutStartGenetic) has to be set.') } else{ @@ -715,7 +715,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'Invalid value of output parameter OutStartGenetic: Value has to be positive and less than simulated Years') } } - if (is.na(object@OutGenType) || length(object@OutGenType)!=1 ){ + if (anyNA(object@OutGenType) || length(object@OutGenType)!=1 ){ msg <- c(msg, 'Type of genetics output (OutGenType) has to be specified.') } else{ @@ -723,7 +723,7 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'OutGenType has to be 0 (juveniles only), 1 (all individuals) or 2 (adults only).') } } - if (is.na(object@OutGenCrossTab) || length(object@OutGenCrossTab)!=1 ){ + if (anyNA(object@OutGenCrossTab) || length(object@OutGenCrossTab)!=1 ){ msg <- c(msg, 'OutGenCrossTab has to be set') } } @@ -734,12 +734,12 @@ setValidity('SimulationParams', function(object){ } } # TraitCell - if (is.na(object@OutIntTraitCell) || length(object@OutIntTraitCell)!=1 ){ + if (anyNA(object@OutIntTraitCell) || length(object@OutIntTraitCell)!=1 ){ msg <- c(msg, 'Output interval of traits per cell (OutIntTraitCell) has to be set.') } else { if (object@OutIntTraitCell > 0){ - if (is.na(object@OutStartTraitCell) || length(object@OutStartTraitCell)!=1){ + if (anyNA(object@OutStartTraitCell) || length(object@OutStartTraitCell)!=1){ msg <- c(msg, 'Start year of traits (per cell) output (OutStartTraitCell) has to be set.') } else { @@ -755,12 +755,12 @@ setValidity('SimulationParams', function(object){ } } # TraitRow - if (is.na(object@OutIntTraitRow) || length(object@OutIntTraitRow)!=1 ){ + if (anyNA(object@OutIntTraitRow) || length(object@OutIntTraitRow)!=1 ){ msg <- c(msg, 'Output interval of traits per row (OutIntTraitRow) has to be set.') } else { if (object@OutIntTraitRow > 0){ - if (is.na(object@OutStartTraitRow) || length(object@OutStartTraitRow)!=1){ + if (anyNA(object@OutStartTraitRow) || length(object@OutStartTraitRow)!=1){ msg <- c(msg, 'Start year of traits (per row) output (OutStartTraitRow) has to be set.') } else { @@ -776,12 +776,12 @@ setValidity('SimulationParams', function(object){ } } # Connectivity matrix - if (is.na(object@OutIntConn || length(object@OutIntConn)!=1 )){ + if (anyNA(object@OutIntConn || length(object@OutIntConn)!=1 )){ msg <- c(msg, 'Output interval of connectivity matrix (OutIntConn) has to be set.') } else { if (object@OutIntConn > 0){ - if (is.na(object@OutStartConn) || length(object@OutStartConn)!=1 ){ + if (anyNA(object@OutStartConn) || length(object@OutStartConn)!=1 ){ msg <- c(msg, 'Start year of connectivity matrix output (OutStartConn) has to be set.') } else { @@ -797,12 +797,12 @@ setValidity('SimulationParams', function(object){ } } # Paths record - if (is.na(object@OutIntPaths || length(object@OutIntPaths)!=1 )){ + if (anyNA(object@OutIntPaths || length(object@OutIntPaths)!=1 )){ msg <- c(msg, 'Output interval of SMS paths (OutIntPaths) has to be set.') } else { if (object@OutIntPaths > 0){ - if (is.na(object@OutStartPaths) || length(object@OutStartPaths)!=1 ){ + if (anyNA(object@OutStartPaths) || length(object@OutStartPaths)!=1 ){ msg <- c(msg, 'Start year of SMS paths output (OutStartPaths) has to be set.') } else { @@ -818,12 +818,12 @@ setValidity('SimulationParams', function(object){ } } # Maps - if (is.na(object@SaveMaps) || length(object@SaveMaps)!=1 ){ + if (anyNA(object@SaveMaps) || length(object@SaveMaps)!=1 ){ msg <- c(msg, 'SaveMaps has to be set') } else { if (object@SaveMaps){ # TRUE - if (is.na(object@MapsInterval) || length(object@MapsInterval)!=1 ){ + if (anyNA(object@MapsInterval) || length(object@MapsInterval)!=1 ){ msg <- c(msg, 'MapsInterval has to be set.') } else{ @@ -831,19 +831,19 @@ setValidity('SimulationParams', function(object){ msg <- c(msg, 'MapsInterval must be positive.') } } - if (is.na(object@DrawLoadedSp) || length(object@DrawLoadedSp)!=1 ){ + if (anyNA(object@DrawLoadedSp) || length(object@DrawLoadedSp)!=1 ){ msg <- c(msg, 'DrawLoadedSp has to be set.') } } } - if (is.na(object@SMSHeatMap) || length(object@SMSHeatMap)!=1 ){ + if (anyNA(object@SMSHeatMap) || length(object@SMSHeatMap)!=1 ){ msg <- c(msg, 'SMSHeatMap has to be set') } # R Output - if (is.na(object@ReturnPopRaster) || length(object@ReturnPopRaster)!=1 ){ + if (anyNA(object@ReturnPopRaster) || length(object@ReturnPopRaster)!=1 ){ msg <- c(msg, 'ReturnPopRaster has to be set') } - if (is.na(object@CreatePopFile) || length(object@CreatePopFile)!=1 ){ + if (anyNA(object@CreatePopFile) || length(object@CreatePopFile)!=1 ){ msg <- c(msg, 'CreatePopFile has to be set') } if (is.null(msg)) TRUE else msg diff --git a/RangeShiftR/R/output_handling.R b/RangeShiftR/R/output_handling.R index fb47fb2..4ac6175 100644 --- a/RangeShiftR/R/output_handling.R +++ b/RangeShiftR/R/output_handling.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # diff --git a/RangeShiftR/R/plotProbs.R b/RangeShiftR/R/plotProbs.R index b5942d8..aec6a9e 100644 --- a/RangeShiftR/R/plotProbs.R +++ b/RangeShiftR/R/plotProbs.R @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # -# Copyright (C) 2020-2021 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell +# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell # # This file is part of RangeShiftR. # From 4bcb50d3c61af3c3b1da2e01060b47d9e10d9324 Mon Sep 17 00:00:00 2001 From: malchowa Date: Wed, 11 May 2022 11:45:39 +0200 Subject: [PATCH 27/35] fix 2 C++ warnings --- RangeShiftR/src/Landscape.cpp | 4 ++-- RangeShiftR/src/Patch.cpp | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/RangeShiftR/src/Landscape.cpp b/RangeShiftR/src/Landscape.cpp index 73eb7e5..111bae6 100644 --- a/RangeShiftR/src/Landscape.cpp +++ b/RangeShiftR/src/Landscape.cpp @@ -1977,7 +1977,7 @@ int Landscape::readLandChange(int filenum, Rcpp::NumericMatrix habfile, Rcpp::Nu if(nrDemogScaleLayers){ // get tube at (y/x) cellDemoScalings = scalingCube(arma::span(dimY-1-y), arma::span(x), arma::span::all); - if(cellDemoScalings.n_elem==nDSlayer){ + if(cellDemoScalings.n_elem==(unsigned)nDSlayer){ // set vector percentage values in cell cells[y][x]->addchgDemoScaling(arma::conv_to< std::vector >::from(cellDemoScalings)); } @@ -3009,7 +3009,7 @@ int Landscape::readLandscape(int fileNum, Rcpp::NumericMatrix habfile, Rcpp::Num if(nrDemogScaleLayers){ // get tube at (y/x) cellDemoScalings = scalingCube(arma::span(dimY-1-y), arma::span(x), arma::span::all); - if(cellDemoScalings.n_elem==nDSlayer){ + if(cellDemoScalings.n_elem==(unsigned)nDSlayer){ // set vector percentage values in cell pCell->addchgDemoScaling(arma::conv_to< std::vector >::from(cellDemoScalings)); } diff --git a/RangeShiftR/src/Patch.cpp b/RangeShiftR/src/Patch.cpp index b861506..6a50f5b 100644 --- a/RangeShiftR/src/Patch.cpp +++ b/RangeShiftR/src/Patch.cpp @@ -451,7 +451,6 @@ void Patch::setPatchDemoScaling(short landIx, patchLimits landlimits) { // loop through constituent cells of the patch int ncells = (int)cells.size(); - float q; std::vector patchDS(nDSlayer, 0.0); std::vector cellDS(nDSlayer, 0.0); From 4f5619c3c4c8a4af807a20a8fc67d9e2c78a718b Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Fri, 24 Jun 2022 08:50:56 +0200 Subject: [PATCH 28/35] moved source files to base and delete folder --- RangeShiftR/src/Cell.cpp => Cell.cpp | 0 RangeShiftR/src/Cell.h => Cell.h | 0 RangeShiftR/src/Community.cpp => Community.cpp | 0 RangeShiftR/src/Community.h => Community.h | 0 RangeShiftR/src/FractalGenerator.cpp => FractalGenerator.cpp | 0 RangeShiftR/src/FractalGenerator.h => FractalGenerator.h | 0 RangeShiftR/src/Genome.cpp => Genome.cpp | 0 RangeShiftR/src/Genome.h => Genome.h | 0 RangeShiftR/src/Individual.cpp => Individual.cpp | 0 RangeShiftR/src/Individual.h => Individual.h | 0 RangeShiftR/src/Landscape.cpp => Landscape.cpp | 0 RangeShiftR/src/Landscape.h => Landscape.h | 0 RangeShiftR/src/Model.cpp => Model.cpp | 0 RangeShiftR/src/Model.h => Model.h | 0 RangeShiftR/src/Parameters.cpp => Parameters.cpp | 0 RangeShiftR/src/Parameters.h => Parameters.h | 0 RangeShiftR/src/Patch.cpp => Patch.cpp | 0 RangeShiftR/src/Patch.h => Patch.h | 0 RangeShiftR/src/Population.cpp => Population.cpp | 0 RangeShiftR/src/Population.h => Population.h | 0 RangeShiftR/src/RSrandom.cpp => RSrandom.cpp | 0 RangeShiftR/src/RSrandom.h => RSrandom.h | 0 RangeShiftR/src/RandomCheck.cpp => RandomCheck.cpp | 0 RangeShiftR/src/RandomCheck.h => RandomCheck.h | 0 RangeShiftR/src/Species.cpp => Species.cpp | 0 RangeShiftR/src/Species.h => Species.h | 0 RangeShiftR/src/SubCommunity.cpp => SubCommunity.cpp | 0 RangeShiftR/src/SubCommunity.h => SubCommunity.h | 0 RangeShiftR/src/Version.cpp => Version.cpp | 0 RangeShiftR/src/Version.h => Version.h | 0 30 files changed, 0 insertions(+), 0 deletions(-) rename RangeShiftR/src/Cell.cpp => Cell.cpp (100%) rename RangeShiftR/src/Cell.h => Cell.h (100%) rename RangeShiftR/src/Community.cpp => Community.cpp (100%) rename RangeShiftR/src/Community.h => Community.h (100%) rename RangeShiftR/src/FractalGenerator.cpp => FractalGenerator.cpp (100%) rename RangeShiftR/src/FractalGenerator.h => FractalGenerator.h (100%) rename RangeShiftR/src/Genome.cpp => Genome.cpp (100%) rename RangeShiftR/src/Genome.h => Genome.h (100%) rename RangeShiftR/src/Individual.cpp => Individual.cpp (100%) rename RangeShiftR/src/Individual.h => Individual.h (100%) rename RangeShiftR/src/Landscape.cpp => Landscape.cpp (100%) rename RangeShiftR/src/Landscape.h => Landscape.h (100%) rename RangeShiftR/src/Model.cpp => Model.cpp (100%) rename RangeShiftR/src/Model.h => Model.h (100%) rename RangeShiftR/src/Parameters.cpp => Parameters.cpp (100%) rename RangeShiftR/src/Parameters.h => Parameters.h (100%) rename RangeShiftR/src/Patch.cpp => Patch.cpp (100%) rename RangeShiftR/src/Patch.h => Patch.h (100%) rename RangeShiftR/src/Population.cpp => Population.cpp (100%) rename RangeShiftR/src/Population.h => Population.h (100%) rename RangeShiftR/src/RSrandom.cpp => RSrandom.cpp (100%) rename RangeShiftR/src/RSrandom.h => RSrandom.h (100%) rename RangeShiftR/src/RandomCheck.cpp => RandomCheck.cpp (100%) rename RangeShiftR/src/RandomCheck.h => RandomCheck.h (100%) rename RangeShiftR/src/Species.cpp => Species.cpp (100%) rename RangeShiftR/src/Species.h => Species.h (100%) rename RangeShiftR/src/SubCommunity.cpp => SubCommunity.cpp (100%) rename RangeShiftR/src/SubCommunity.h => SubCommunity.h (100%) rename RangeShiftR/src/Version.cpp => Version.cpp (100%) rename RangeShiftR/src/Version.h => Version.h (100%) diff --git a/RangeShiftR/src/Cell.cpp b/Cell.cpp similarity index 100% rename from RangeShiftR/src/Cell.cpp rename to Cell.cpp diff --git a/RangeShiftR/src/Cell.h b/Cell.h similarity index 100% rename from RangeShiftR/src/Cell.h rename to Cell.h diff --git a/RangeShiftR/src/Community.cpp b/Community.cpp similarity index 100% rename from RangeShiftR/src/Community.cpp rename to Community.cpp diff --git a/RangeShiftR/src/Community.h b/Community.h similarity index 100% rename from RangeShiftR/src/Community.h rename to Community.h diff --git a/RangeShiftR/src/FractalGenerator.cpp b/FractalGenerator.cpp similarity index 100% rename from RangeShiftR/src/FractalGenerator.cpp rename to FractalGenerator.cpp diff --git a/RangeShiftR/src/FractalGenerator.h b/FractalGenerator.h similarity index 100% rename from RangeShiftR/src/FractalGenerator.h rename to FractalGenerator.h diff --git a/RangeShiftR/src/Genome.cpp b/Genome.cpp similarity index 100% rename from RangeShiftR/src/Genome.cpp rename to Genome.cpp diff --git a/RangeShiftR/src/Genome.h b/Genome.h similarity index 100% rename from RangeShiftR/src/Genome.h rename to Genome.h diff --git a/RangeShiftR/src/Individual.cpp b/Individual.cpp similarity index 100% rename from RangeShiftR/src/Individual.cpp rename to Individual.cpp diff --git a/RangeShiftR/src/Individual.h b/Individual.h similarity index 100% rename from RangeShiftR/src/Individual.h rename to Individual.h diff --git a/RangeShiftR/src/Landscape.cpp b/Landscape.cpp similarity index 100% rename from RangeShiftR/src/Landscape.cpp rename to Landscape.cpp diff --git a/RangeShiftR/src/Landscape.h b/Landscape.h similarity index 100% rename from RangeShiftR/src/Landscape.h rename to Landscape.h diff --git a/RangeShiftR/src/Model.cpp b/Model.cpp similarity index 100% rename from RangeShiftR/src/Model.cpp rename to Model.cpp diff --git a/RangeShiftR/src/Model.h b/Model.h similarity index 100% rename from RangeShiftR/src/Model.h rename to Model.h diff --git a/RangeShiftR/src/Parameters.cpp b/Parameters.cpp similarity index 100% rename from RangeShiftR/src/Parameters.cpp rename to Parameters.cpp diff --git a/RangeShiftR/src/Parameters.h b/Parameters.h similarity index 100% rename from RangeShiftR/src/Parameters.h rename to Parameters.h diff --git a/RangeShiftR/src/Patch.cpp b/Patch.cpp similarity index 100% rename from RangeShiftR/src/Patch.cpp rename to Patch.cpp diff --git a/RangeShiftR/src/Patch.h b/Patch.h similarity index 100% rename from RangeShiftR/src/Patch.h rename to Patch.h diff --git a/RangeShiftR/src/Population.cpp b/Population.cpp similarity index 100% rename from RangeShiftR/src/Population.cpp rename to Population.cpp diff --git a/RangeShiftR/src/Population.h b/Population.h similarity index 100% rename from RangeShiftR/src/Population.h rename to Population.h diff --git a/RangeShiftR/src/RSrandom.cpp b/RSrandom.cpp similarity index 100% rename from RangeShiftR/src/RSrandom.cpp rename to RSrandom.cpp diff --git a/RangeShiftR/src/RSrandom.h b/RSrandom.h similarity index 100% rename from RangeShiftR/src/RSrandom.h rename to RSrandom.h diff --git a/RangeShiftR/src/RandomCheck.cpp b/RandomCheck.cpp similarity index 100% rename from RangeShiftR/src/RandomCheck.cpp rename to RandomCheck.cpp diff --git a/RangeShiftR/src/RandomCheck.h b/RandomCheck.h similarity index 100% rename from RangeShiftR/src/RandomCheck.h rename to RandomCheck.h diff --git a/RangeShiftR/src/Species.cpp b/Species.cpp similarity index 100% rename from RangeShiftR/src/Species.cpp rename to Species.cpp diff --git a/RangeShiftR/src/Species.h b/Species.h similarity index 100% rename from RangeShiftR/src/Species.h rename to Species.h diff --git a/RangeShiftR/src/SubCommunity.cpp b/SubCommunity.cpp similarity index 100% rename from RangeShiftR/src/SubCommunity.cpp rename to SubCommunity.cpp diff --git a/RangeShiftR/src/SubCommunity.h b/SubCommunity.h similarity index 100% rename from RangeShiftR/src/SubCommunity.h rename to SubCommunity.h diff --git a/RangeShiftR/src/Version.cpp b/Version.cpp similarity index 100% rename from RangeShiftR/src/Version.cpp rename to Version.cpp diff --git a/RangeShiftR/src/Version.h b/Version.h similarity index 100% rename from RangeShiftR/src/Version.h rename to Version.h From 1ba71abb73dee682c0c9f837786413a82ba10ee7 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Fri, 24 Jun 2022 08:51:24 +0200 Subject: [PATCH 29/35] deleted source files --- RangeShiftR/.Rbuildignore | 6 - RangeShiftR/DESCRIPTION | 44 - RangeShiftR/LICENSE.md | 595 -- RangeShiftR/NAMESPACE | 33 - RangeShiftR/R/RSsim.R | 135 - RangeShiftR/R/RangeShiftR.R | 96 - RangeShiftR/R/RcppExports.R | 7 - RangeShiftR/R/Rfunctions.R | 62 - RangeShiftR/R/RunRS.R | 72 - RangeShiftR/R/addition.R | 164 - RangeShiftR/R/class_ControlParams.R | 80 - RangeShiftR/R/class_DemogParams.R | 958 --- RangeShiftR/R/class_DispersalParams.R | 2130 ------- RangeShiftR/R/class_GeneticsParams.R | 303 - RangeShiftR/R/class_InitialisationParams.R | 574 -- RangeShiftR/R/class_LandParams.R | 727 --- RangeShiftR/R/class_RSparams.R | 792 --- RangeShiftR/R/class_SimulationParams.R | 1083 ---- RangeShiftR/R/output_handling.R | 937 --- RangeShiftR/R/plotProbs.R | 58 - RangeShiftR/RangeShiftR.Rproj | 24 - RangeShiftR/inst/CITATION | 15 - RangeShiftR/inst/REFERENCES.bib | 544 -- .../odd_protocol/skeleton/RS_ODD.bib | 5146 ---------------- .../odd_protocol/skeleton/RS_ODD.json | 322 - .../odd_protocol/skeleton/RSflowchart_big.pdf | Bin 14906 -> 0 bytes .../odd_protocol/skeleton/RSflowchart_big.svg | 977 --- .../skeleton/RSflowchart_detail.pdf | Bin 23392 -> 0 bytes .../skeleton/RSflowchart_detail.svg | 1363 ---- .../odd_protocol/skeleton/ecography.csl | 17 - .../odd_protocol/skeleton/skeleton.Rmd | 1435 ----- .../odd_protocol/skeleton/style-template.docx | Bin 162097 -> 0 bytes .../templates/odd_protocol/template.yaml | 4 - .../parameter_table/skeleton/skeleton.Rmd | 765 --- .../templates/parameter_table/template.yaml | 4 - RangeShiftR/man/ArtificialLandscape.Rd | 67 - RangeShiftR/man/ColonisationStats.Rd | 39 - RangeShiftR/man/CorrRW.Rd | 78 - RangeShiftR/man/Demography.Rd | 86 - RangeShiftR/man/Dispersal.Rd | 65 - RangeShiftR/man/DispersalKernel.Rd | 169 - RangeShiftR/man/Emigration.Rd | 138 - RangeShiftR/man/Genetics.Rd | 181 - RangeShiftR/man/ImportedLandscape.Rd | 136 - RangeShiftR/man/Initialise.Rd | 149 - RangeShiftR/man/RSsim.Rd | 98 - RangeShiftR/man/RangeShiftR-package.Rd | 50 - RangeShiftR/man/RangeShiftR_citation.Rd | 11 - RangeShiftR/man/RangeShiftR_license.Rd | 11 - RangeShiftR/man/RunRS.Rd | 21 - RangeShiftR/man/SMS.Rd | 150 - RangeShiftR/man/SMSpathLengths.Rd | 20 - RangeShiftR/man/Settlement.Rd | 182 - RangeShiftR/man/Simulation.Rd | 309 - RangeShiftR/man/StageStructure.Rd | 169 - RangeShiftR/man/Transfer.Rd | 33 - RangeShiftR/man/createODD.Rd | 20 - RangeShiftR/man/createParameterTables.Rd | 19 - RangeShiftR/man/getLocalisedEquilPop.Rd | 44 - RangeShiftR/man/plotAbundance.Rd | 23 - RangeShiftR/man/plotOccupancy.Rd | 23 - RangeShiftR/man/plotProbs.Rd | 38 - RangeShiftR/man/readPop.Rd | 22 - RangeShiftR/man/readRange.Rd | 19 - RangeShiftR/man/validateRSparams.Rd | 11 - RangeShiftR/src/Makevars | 3 - RangeShiftR/src/Makevars.win | 3 - RangeShiftR/src/RcppExports.cpp | 35 - RangeShiftR/src/Rinterface.cpp | 5468 ----------------- RangeShiftR/src/Rinterface.h | 172 - 70 files changed, 27534 deletions(-) delete mode 100644 RangeShiftR/.Rbuildignore delete mode 100644 RangeShiftR/DESCRIPTION delete mode 100644 RangeShiftR/LICENSE.md delete mode 100644 RangeShiftR/NAMESPACE delete mode 100644 RangeShiftR/R/RSsim.R delete mode 100644 RangeShiftR/R/RangeShiftR.R delete mode 100644 RangeShiftR/R/RcppExports.R delete mode 100644 RangeShiftR/R/Rfunctions.R delete mode 100644 RangeShiftR/R/RunRS.R delete mode 100644 RangeShiftR/R/addition.R delete mode 100644 RangeShiftR/R/class_ControlParams.R delete mode 100644 RangeShiftR/R/class_DemogParams.R delete mode 100644 RangeShiftR/R/class_DispersalParams.R delete mode 100644 RangeShiftR/R/class_GeneticsParams.R delete mode 100644 RangeShiftR/R/class_InitialisationParams.R delete mode 100644 RangeShiftR/R/class_LandParams.R delete mode 100644 RangeShiftR/R/class_RSparams.R delete mode 100644 RangeShiftR/R/class_SimulationParams.R delete mode 100644 RangeShiftR/R/output_handling.R delete mode 100644 RangeShiftR/R/plotProbs.R delete mode 100644 RangeShiftR/RangeShiftR.Rproj delete mode 100644 RangeShiftR/inst/CITATION delete mode 100644 RangeShiftR/inst/REFERENCES.bib delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.bib delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.json delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_big.pdf delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_big.svg delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.pdf delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.svg delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/ecography.csl delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/skeleton.Rmd delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/style-template.docx delete mode 100644 RangeShiftR/inst/rmarkdown/templates/odd_protocol/template.yaml delete mode 100644 RangeShiftR/inst/rmarkdown/templates/parameter_table/skeleton/skeleton.Rmd delete mode 100644 RangeShiftR/inst/rmarkdown/templates/parameter_table/template.yaml delete mode 100644 RangeShiftR/man/ArtificialLandscape.Rd delete mode 100644 RangeShiftR/man/ColonisationStats.Rd delete mode 100644 RangeShiftR/man/CorrRW.Rd delete mode 100644 RangeShiftR/man/Demography.Rd delete mode 100644 RangeShiftR/man/Dispersal.Rd delete mode 100644 RangeShiftR/man/DispersalKernel.Rd delete mode 100644 RangeShiftR/man/Emigration.Rd delete mode 100644 RangeShiftR/man/Genetics.Rd delete mode 100644 RangeShiftR/man/ImportedLandscape.Rd delete mode 100644 RangeShiftR/man/Initialise.Rd delete mode 100644 RangeShiftR/man/RSsim.Rd delete mode 100644 RangeShiftR/man/RangeShiftR-package.Rd delete mode 100644 RangeShiftR/man/RangeShiftR_citation.Rd delete mode 100644 RangeShiftR/man/RangeShiftR_license.Rd delete mode 100644 RangeShiftR/man/RunRS.Rd delete mode 100644 RangeShiftR/man/SMS.Rd delete mode 100644 RangeShiftR/man/SMSpathLengths.Rd delete mode 100644 RangeShiftR/man/Settlement.Rd delete mode 100644 RangeShiftR/man/Simulation.Rd delete mode 100644 RangeShiftR/man/StageStructure.Rd delete mode 100644 RangeShiftR/man/Transfer.Rd delete mode 100644 RangeShiftR/man/createODD.Rd delete mode 100644 RangeShiftR/man/createParameterTables.Rd delete mode 100644 RangeShiftR/man/getLocalisedEquilPop.Rd delete mode 100644 RangeShiftR/man/plotAbundance.Rd delete mode 100644 RangeShiftR/man/plotOccupancy.Rd delete mode 100644 RangeShiftR/man/plotProbs.Rd delete mode 100644 RangeShiftR/man/readPop.Rd delete mode 100644 RangeShiftR/man/readRange.Rd delete mode 100644 RangeShiftR/man/validateRSparams.Rd delete mode 100644 RangeShiftR/src/Makevars delete mode 100644 RangeShiftR/src/Makevars.win delete mode 100644 RangeShiftR/src/RcppExports.cpp delete mode 100644 RangeShiftR/src/Rinterface.cpp delete mode 100644 RangeShiftR/src/Rinterface.h diff --git a/RangeShiftR/.Rbuildignore b/RangeShiftR/.Rbuildignore deleted file mode 100644 index 163aee9..0000000 --- a/RangeShiftR/.Rbuildignore +++ /dev/null @@ -1,6 +0,0 @@ -^.*\.Rproj$ -^\.Rproj\.user$ -^src/BatchMode\.cpp$ -^src/Main\.cpp$ -^src/BatchMode\.h$ -^LICENSE\.md$ diff --git a/RangeShiftR/DESCRIPTION b/RangeShiftR/DESCRIPTION deleted file mode 100644 index 85da774..0000000 --- a/RangeShiftR/DESCRIPTION +++ /dev/null @@ -1,44 +0,0 @@ -Package: RangeShiftR -Type: Package -Title: An R package for individual-based simulation of spatial eco-evolutionary dynamics and species' responses to environmental changes -Version: 1.0.3 -Authors@R: c( - person("Anne-Kathleen", "Malchow", email = "rangeshiftr@uni-potsdam.de", role = c("aut", "cre")), - person("Greta", "Bocedi", role = c("aut")), - person("Stephen C.F.", "Palmer", role = c("aut")), - person("Justin M.J.", "Travis", role = c("aut")), - person("Damaris", "Zurell", role = c("aut")) - ) -Date: 2021-08-04 -URL: https://rangeshifter.github.io/RangeshiftR-tutorials/ -Description: RangeShiftR provides individual-based simulations of spatial eco-evolutionary dynamics. It is based on the C++ software RangeShifter, making it flexible and fast. RangeShiftR models the processes of demography, dispersal and evolution in an inter-dependent way, offering substantial complexity in the corresponding modelling choices. It is entirely open-source and aims to facilitate the application of individual-based and mechanistic modelling to eco-evolutionary questions. -License: GPL-3 -Depends: R (>= 3.6) -SystemRequirements: C++11 -Imports: - Rcpp (>= 1.0.0), - raster (>= 3.0.0), - Rdpack (>= 0.7), - methods, - rmarkdown -RdMacros: Rdpack -LinkingTo: Rcpp, RcppArmadillo -Encoding: UTF-8 -RoxygenNote: 7.1.2 -Collate: - 'Rfunctions.R' - 'plotProbs.R' - 'class_InitialisationParams.R' - 'class_GeneticsParams.R' - 'class_DispersalParams.R' - 'class_DemogParams.R' - 'class_LandParams.R' - 'class_SimulationParams.R' - 'class_ControlParams.R' - 'class_RSparams.R' - 'RSsim.R' - 'RangeShiftR.R' - 'RcppExports.R' - 'RunRS.R' - 'addition.R' - 'output_handling.R' diff --git a/RangeShiftR/LICENSE.md b/RangeShiftR/LICENSE.md deleted file mode 100644 index 565779e..0000000 --- a/RangeShiftR/LICENSE.md +++ /dev/null @@ -1,595 +0,0 @@ -GNU General Public License -========================== - -_Version 3, 29 June 2007_ -_Copyright © 2007 Free Software Foundation, Inc. <>_ - -Everyone is permitted to copy and distribute verbatim copies of this license -document, but changing it is not allowed. - -## Preamble - -The GNU General Public License is a free, copyleft license for software and other -kinds of works. - -The licenses for most software and other practical works are designed to take away -your freedom to share and change the works. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change all versions of a -program--to make sure it remains free software for all its users. We, the Free -Software Foundation, use the GNU General Public License for most of our software; it -applies also to any other work released this way by its authors. You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General -Public Licenses are designed to make sure that you have the freedom to distribute -copies of free software (and charge for them if you wish), that you receive source -code or can get it if you want it, that you can change the software or use pieces of -it in new free programs, and that you know you can do these things. - -To protect your rights, we need to prevent others from denying you these rights or -asking you to surrender the rights. Therefore, you have certain responsibilities if -you distribute copies of the software, or if you modify it: responsibilities to -respect the freedom of others. - -For example, if you distribute copies of such a program, whether gratis or for a fee, -you must pass on to the recipients the same freedoms that you received. You must make -sure that they, too, receive or can get the source code. And you must show them these -terms so they know their rights. - -Developers that use the GNU GPL protect your rights with two steps: **(1)** assert -copyright on the software, and **(2)** offer you this License giving you legal permission -to copy, distribute and/or modify it. - -For the developers' and authors' protection, the GPL clearly explains that there is -no warranty for this free software. For both users' and authors' sake, the GPL -requires that modified versions be marked as changed, so that their problems will not -be attributed erroneously to authors of previous versions. - -Some devices are designed to deny users access to install or run modified versions of -the software inside them, although the manufacturer can do so. This is fundamentally -incompatible with the aim of protecting users' freedom to change the software. The -systematic pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we have designed -this version of the GPL to prohibit the practice for those products. If such problems -arise substantially in other domains, we stand ready to extend this provision to -those domains in future versions of the GPL, as needed to protect the freedom of -users. - -Finally, every program is threatened constantly by software patents. States should -not allow patents to restrict development and use of software on general-purpose -computers, but in those that do, we wish to avoid the special danger that patents -applied to a free program could make it effectively proprietary. To prevent this, the -GPL assures that patents cannot be used to render the program non-free. - -The precise terms and conditions for copying, distribution and modification follow. - -## TERMS AND CONDITIONS - -### 0. Definitions - -“This License” refers to version 3 of the GNU General Public License. - -“Copyright” also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - -“The Program” refers to any copyrightable work licensed under this -License. Each licensee is addressed as “you”. “Licensees” and -“recipients” may be individuals or organizations. - -To “modify” a work means to copy from or adapt all or part of the work in -a fashion requiring copyright permission, other than the making of an exact copy. The -resulting work is called a “modified version” of the earlier work or a -work “based on” the earlier work. - -A “covered work” means either the unmodified Program or a work based on -the Program. - -To “propagate” a work means to do anything with it that, without -permission, would make you directly or secondarily liable for infringement under -applicable copyright law, except executing it on a computer or modifying a private -copy. Propagation includes copying, distribution (with or without modification), -making available to the public, and in some countries other activities as well. - -To “convey” a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through a computer -network, with no transfer of a copy, is not conveying. - -An interactive user interface displays “Appropriate Legal Notices” to the -extent that it includes a convenient and prominently visible feature that **(1)** -displays an appropriate copyright notice, and **(2)** tells the user that there is no -warranty for the work (except to the extent that warranties are provided), that -licensees may convey the work under this License, and how to view a copy of this -License. If the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - -### 1. Source Code - -The “source code” for a work means the preferred form of the work for -making modifications to it. “Object code” means any non-source form of a -work. - -A “Standard Interface” means an interface that either is an official -standard defined by a recognized standards body, or, in the case of interfaces -specified for a particular programming language, one that is widely used among -developers working in that language. - -The “System Libraries” of an executable work include anything, other than -the work as a whole, that **(a)** is included in the normal form of packaging a Major -Component, but which is not part of that Major Component, and **(b)** serves only to -enable use of the work with that Major Component, or to implement a Standard -Interface for which an implementation is available to the public in source code form. -A “Major Component”, in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system (if any) on which -the executable work runs, or a compiler used to produce the work, or an object code -interpreter used to run it. - -The “Corresponding Source” for a work in object code form means all the -source code needed to generate, install, and (for an executable work) run the object -code and to modify the work, including scripts to control those activities. However, -it does not include the work's System Libraries, or general-purpose tools or -generally available free programs which are used unmodified in performing those -activities but which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for the work, and -the source code for shared libraries and dynamically linked subprograms that the work -is specifically designed to require, such as by intimate data communication or -control flow between those subprograms and other parts of the work. - -The Corresponding Source need not include anything that users can regenerate -automatically from other parts of the Corresponding Source. - -The Corresponding Source for a work in source code form is that same work. - -### 2. Basic Permissions - -All rights granted under this License are granted for the term of copyright on the -Program, and are irrevocable provided the stated conditions are met. This License -explicitly affirms your unlimited permission to run the unmodified Program. The -output from running a covered work is covered by this License only if the output, -given its content, constitutes a covered work. This License acknowledges your rights -of fair use or other equivalent, as provided by copyright law. - -You may make, run and propagate covered works that you do not convey, without -conditions so long as your license otherwise remains in force. You may convey covered -works to others for the sole purpose of having them make modifications exclusively -for you, or provide you with facilities for running those works, provided that you -comply with the terms of this License in conveying all material for which you do not -control copyright. Those thus making or running the covered works for you must do so -exclusively on your behalf, under your direction and control, on terms that prohibit -them from making any copies of your copyrighted material outside their relationship -with you. - -Conveying under any other circumstances is permitted solely under the conditions -stated below. Sublicensing is not allowed; section 10 makes it unnecessary. - -### 3. Protecting Users' Legal Rights From Anti-Circumvention Law - -No covered work shall be deemed part of an effective technological measure under any -applicable law fulfilling obligations under article 11 of the WIPO copyright treaty -adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention -of such measures. - -When you convey a covered work, you waive any legal power to forbid circumvention of -technological measures to the extent such circumvention is effected by exercising -rights under this License with respect to the covered work, and you disclaim any -intention to limit operation or modification of the work as a means of enforcing, -against the work's users, your or third parties' legal rights to forbid circumvention -of technological measures. - -### 4. Conveying Verbatim Copies - -You may convey verbatim copies of the Program's source code as you receive it, in any -medium, provided that you conspicuously and appropriately publish on each copy an -appropriate copyright notice; keep intact all notices stating that this License and -any non-permissive terms added in accord with section 7 apply to the code; keep -intact all notices of the absence of any warranty; and give all recipients a copy of -this License along with the Program. - -You may charge any price or no price for each copy that you convey, and you may offer -support or warranty protection for a fee. - -### 5. Conveying Modified Source Versions - -You may convey a work based on the Program, or the modifications to produce it from -the Program, in the form of source code under the terms of section 4, provided that -you also meet all of these conditions: - -* **a)** The work must carry prominent notices stating that you modified it, and giving a -relevant date. -* **b)** The work must carry prominent notices stating that it is released under this -License and any conditions added under section 7. This requirement modifies the -requirement in section 4 to “keep intact all notices”. -* **c)** You must license the entire work, as a whole, under this License to anyone who -comes into possession of a copy. This License will therefore apply, along with any -applicable section 7 additional terms, to the whole of the work, and all its parts, -regardless of how they are packaged. This License gives no permission to license the -work in any other way, but it does not invalidate such permission if you have -separately received it. -* **d)** If the work has interactive user interfaces, each must display Appropriate Legal -Notices; however, if the Program has interactive interfaces that do not display -Appropriate Legal Notices, your work need not make them do so. - -A compilation of a covered work with other separate and independent works, which are -not by their nature extensions of the covered work, and which are not combined with -it such as to form a larger program, in or on a volume of a storage or distribution -medium, is called an “aggregate” if the compilation and its resulting -copyright are not used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work in an aggregate -does not cause this License to apply to the other parts of the aggregate. - -### 6. Conveying Non-Source Forms - -You may convey a covered work in object code form under the terms of sections 4 and -5, provided that you also convey the machine-readable Corresponding Source under the -terms of this License, in one of these ways: - -* **a)** Convey the object code in, or embodied in, a physical product (including a -physical distribution medium), accompanied by the Corresponding Source fixed on a -durable physical medium customarily used for software interchange. -* **b)** Convey the object code in, or embodied in, a physical product (including a -physical distribution medium), accompanied by a written offer, valid for at least -three years and valid for as long as you offer spare parts or customer support for -that product model, to give anyone who possesses the object code either **(1)** a copy of -the Corresponding Source for all the software in the product that is covered by this -License, on a durable physical medium customarily used for software interchange, for -a price no more than your reasonable cost of physically performing this conveying of -source, or **(2)** access to copy the Corresponding Source from a network server at no -charge. -* **c)** Convey individual copies of the object code with a copy of the written offer to -provide the Corresponding Source. This alternative is allowed only occasionally and -noncommercially, and only if you received the object code with such an offer, in -accord with subsection 6b. -* **d)** Convey the object code by offering access from a designated place (gratis or for -a charge), and offer equivalent access to the Corresponding Source in the same way -through the same place at no further charge. You need not require recipients to copy -the Corresponding Source along with the object code. If the place to copy the object -code is a network server, the Corresponding Source may be on a different server -(operated by you or a third party) that supports equivalent copying facilities, -provided you maintain clear directions next to the object code saying where to find -the Corresponding Source. Regardless of what server hosts the Corresponding Source, -you remain obligated to ensure that it is available for as long as needed to satisfy -these requirements. -* **e)** Convey the object code using peer-to-peer transmission, provided you inform -other peers where the object code and Corresponding Source of the work are being -offered to the general public at no charge under subsection 6d. - -A separable portion of the object code, whose source code is excluded from the -Corresponding Source as a System Library, need not be included in conveying the -object code work. - -A “User Product” is either **(1)** a “consumer product”, which -means any tangible personal property which is normally used for personal, family, or -household purposes, or **(2)** anything designed or sold for incorporation into a -dwelling. In determining whether a product is a consumer product, doubtful cases -shall be resolved in favor of coverage. For a particular product received by a -particular user, “normally used” refers to a typical or common use of -that class of product, regardless of the status of the particular user or of the way -in which the particular user actually uses, or expects or is expected to use, the -product. A product is a consumer product regardless of whether the product has -substantial commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - -“Installation Information” for a User Product means any methods, -procedures, authorization keys, or other information required to install and execute -modified versions of a covered work in that User Product from a modified version of -its Corresponding Source. The information must suffice to ensure that the continued -functioning of the modified object code is in no case prevented or interfered with -solely because modification has been made. - -If you convey an object code work under this section in, or with, or specifically for -use in, a User Product, and the conveying occurs as part of a transaction in which -the right of possession and use of the User Product is transferred to the recipient -in perpetuity or for a fixed term (regardless of how the transaction is -characterized), the Corresponding Source conveyed under this section must be -accompanied by the Installation Information. But this requirement does not apply if -neither you nor any third party retains the ability to install modified object code -on the User Product (for example, the work has been installed in ROM). - -The requirement to provide Installation Information does not include a requirement to -continue to provide support service, warranty, or updates for a work that has been -modified or installed by the recipient, or for the User Product in which it has been -modified or installed. Access to a network may be denied when the modification itself -materially and adversely affects the operation of the network or violates the rules -and protocols for communication across the network. - -Corresponding Source conveyed, and Installation Information provided, in accord with -this section must be in a format that is publicly documented (and with an -implementation available to the public in source code form), and must require no -special password or key for unpacking, reading or copying. - -### 7. Additional Terms - -“Additional permissions” are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. Additional -permissions that are applicable to the entire Program shall be treated as though they -were included in this License, to the extent that they are valid under applicable -law. If additional permissions apply only to part of the Program, that part may be -used separately under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - -When you convey a copy of a covered work, you may at your option remove any -additional permissions from that copy, or from any part of it. (Additional -permissions may be written to require their own removal in certain cases when you -modify the work.) You may place additional permissions on material, added by you to a -covered work, for which you have or can give appropriate copyright permission. - -Notwithstanding any other provision of this License, for material you add to a -covered work, you may (if authorized by the copyright holders of that material) -supplement the terms of this License with terms: - -* **a)** Disclaiming warranty or limiting liability differently from the terms of -sections 15 and 16 of this License; or -* **b)** Requiring preservation of specified reasonable legal notices or author -attributions in that material or in the Appropriate Legal Notices displayed by works -containing it; or -* **c)** Prohibiting misrepresentation of the origin of that material, or requiring that -modified versions of such material be marked in reasonable ways as different from the -original version; or -* **d)** Limiting the use for publicity purposes of names of licensors or authors of the -material; or -* **e)** Declining to grant rights under trademark law for use of some trade names, -trademarks, or service marks; or -* **f)** Requiring indemnification of licensors and authors of that material by anyone -who conveys the material (or modified versions of it) with contractual assumptions of -liability to the recipient, for any liability that these contractual assumptions -directly impose on those licensors and authors. - -All other non-permissive additional terms are considered “further -restrictions” within the meaning of section 10. If the Program as you received -it, or any part of it, contains a notice stating that it is governed by this License -along with a term that is a further restriction, you may remove that term. If a -license document contains a further restriction but permits relicensing or conveying -under this License, you may add to a covered work material governed by the terms of -that license document, provided that the further restriction does not survive such -relicensing or conveying. - -If you add terms to a covered work in accord with this section, you must place, in -the relevant source files, a statement of the additional terms that apply to those -files, or a notice indicating where to find the applicable terms. - -Additional terms, permissive or non-permissive, may be stated in the form of a -separately written license, or stated as exceptions; the above requirements apply -either way. - -### 8. Termination - -You may not propagate or modify a covered work except as expressly provided under -this License. Any attempt otherwise to propagate or modify it is void, and will -automatically terminate your rights under this License (including any patent licenses -granted under the third paragraph of section 11). - -However, if you cease all violation of this License, then your license from a -particular copyright holder is reinstated **(a)** provisionally, unless and until the -copyright holder explicitly and finally terminates your license, and **(b)** permanently, -if the copyright holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - -Moreover, your license from a particular copyright holder is reinstated permanently -if the copyright holder notifies you of the violation by some reasonable means, this -is the first time you have received notice of violation of this License (for any -work) from that copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the licenses of -parties who have received copies or rights from you under this License. If your -rights have been terminated and not permanently reinstated, you do not qualify to -receive new licenses for the same material under section 10. - -### 9. Acceptance Not Required for Having Copies - -You are not required to accept this License in order to receive or run a copy of the -Program. Ancillary propagation of a covered work occurring solely as a consequence of -using peer-to-peer transmission to receive a copy likewise does not require -acceptance. However, nothing other than this License grants you permission to -propagate or modify any covered work. These actions infringe copyright if you do not -accept this License. Therefore, by modifying or propagating a covered work, you -indicate your acceptance of this License to do so. - -### 10. Automatic Licensing of Downstream Recipients - -Each time you convey a covered work, the recipient automatically receives a license -from the original licensors, to run, modify and propagate that work, subject to this -License. You are not responsible for enforcing compliance by third parties with this -License. - -An “entity transaction” is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an organization, or -merging organizations. If propagation of a covered work results from an entity -transaction, each party to that transaction who receives a copy of the work also -receives whatever licenses to the work the party's predecessor in interest had or -could give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if the predecessor -has it or can get it with reasonable efforts. - -You may not impose any further restrictions on the exercise of the rights granted or -affirmed under this License. For example, you may not impose a license fee, royalty, -or other charge for exercise of rights granted under this License, and you may not -initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging -that any patent claim is infringed by making, using, selling, offering for sale, or -importing the Program or any portion of it. - -### 11. Patents - -A “contributor” is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The work thus -licensed is called the contributor's “contributor version”. - -A contributor's “essential patent claims” are all patent claims owned or -controlled by the contributor, whether already acquired or hereafter acquired, that -would be infringed by some manner, permitted by this License, of making, using, or -selling its contributor version, but do not include claims that would be infringed -only as a consequence of further modification of the contributor version. For -purposes of this definition, “control” includes the right to grant patent -sublicenses in a manner consistent with the requirements of this License. - -Each contributor grants you a non-exclusive, worldwide, royalty-free patent license -under the contributor's essential patent claims, to make, use, sell, offer for sale, -import and otherwise run, modify and propagate the contents of its contributor -version. - -In the following three paragraphs, a “patent license” is any express -agreement or commitment, however denominated, not to enforce a patent (such as an -express permission to practice a patent or covenant not to sue for patent -infringement). To “grant” such a patent license to a party means to make -such an agreement or commitment not to enforce a patent against the party. - -If you convey a covered work, knowingly relying on a patent license, and the -Corresponding Source of the work is not available for anyone to copy, free of charge -and under the terms of this License, through a publicly available network server or -other readily accessible means, then you must either **(1)** cause the Corresponding -Source to be so available, or **(2)** arrange to deprive yourself of the benefit of the -patent license for this particular work, or **(3)** arrange, in a manner consistent with -the requirements of this License, to extend the patent license to downstream -recipients. “Knowingly relying” means you have actual knowledge that, but -for the patent license, your conveying the covered work in a country, or your -recipient's use of the covered work in a country, would infringe one or more -identifiable patents in that country that you have reason to believe are valid. - -If, pursuant to or in connection with a single transaction or arrangement, you -convey, or propagate by procuring conveyance of, a covered work, and grant a patent -license to some of the parties receiving the covered work authorizing them to use, -propagate, modify or convey a specific copy of the covered work, then the patent -license you grant is automatically extended to all recipients of the covered work and -works based on it. - -A patent license is “discriminatory” if it does not include within the -scope of its coverage, prohibits the exercise of, or is conditioned on the -non-exercise of one or more of the rights that are specifically granted under this -License. You may not convey a covered work if you are a party to an arrangement with -a third party that is in the business of distributing software, under which you make -payment to the third party based on the extent of your activity of conveying the -work, and under which the third party grants, to any of the parties who would receive -the covered work from you, a discriminatory patent license **(a)** in connection with -copies of the covered work conveyed by you (or copies made from those copies), or **(b)** -primarily for and in connection with specific products or compilations that contain -the covered work, unless you entered into that arrangement, or that patent license -was granted, prior to 28 March 2007. - -Nothing in this License shall be construed as excluding or limiting any implied -license or other defenses to infringement that may otherwise be available to you -under applicable patent law. - -### 12. No Surrender of Others' Freedom - -If conditions are imposed on you (whether by court order, agreement or otherwise) -that contradict the conditions of this License, they do not excuse you from the -conditions of this License. If you cannot convey a covered work so as to satisfy -simultaneously your obligations under this License and any other pertinent -obligations, then as a consequence you may not convey it at all. For example, if you -agree to terms that obligate you to collect a royalty for further conveying from -those to whom you convey the Program, the only way you could satisfy both those terms -and this License would be to refrain entirely from conveying the Program. - -### 13. Use with the GNU Affero General Public License - -Notwithstanding any other provision of this License, you have permission to link or -combine any covered work with a work licensed under version 3 of the GNU Affero -General Public License into a single combined work, and to convey the resulting work. -The terms of this License will continue to apply to the part which is the covered -work, but the special requirements of the GNU Affero General Public License, section -13, concerning interaction through a network will apply to the combination as such. - -### 14. Revised Versions of this License - -The Free Software Foundation may publish revised and/or new versions of the GNU -General Public License from time to time. Such new versions will be similar in spirit -to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies that -a certain numbered version of the GNU General Public License “or any later -version” applies to it, you have the option of following the terms and -conditions either of that numbered version or of any later version published by the -Free Software Foundation. If the Program does not specify a version number of the GNU -General Public License, you may choose any version ever published by the Free -Software Foundation. - -If the Program specifies that a proxy can decide which future versions of the GNU -General Public License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the Program. - -Later license versions may give you additional or different permissions. However, no -additional obligations are imposed on any author or copyright holder as a result of -your choosing to follow a later version. - -### 15. Disclaimer of Warranty - -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE -QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE -DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -### 16. Limitation of Liability - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY -COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS -PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE -OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE -WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -### 17. Interpretation of Sections 15 and 16 - -If the disclaimer of warranty and limitation of liability provided above cannot be -given local legal effect according to their terms, reviewing courts shall apply local -law that most closely approximates an absolute waiver of all civil liability in -connection with the Program, unless a warranty or assumption of liability accompanies -a copy of the Program in return for a fee. - -_END OF TERMS AND CONDITIONS_ - -## How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible use to -the public, the best way to achieve this is to make it free software which everyone -can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach them -to the start of each source file to most effectively state the exclusion of warranty; -and each file should have at least the “copyright” line and a pointer to -where the full notice is found. - - - Copyright (C) 2020 Greta Bocedi,Justin Travis,Steve Palmer,Anne-Kathleen Malchow - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - -If the program does terminal interaction, make it output a short notice like this -when it starts in an interactive mode: - - RangeshiftR Copyright (C) 2020 Greta Bocedi,Justin Travis,Steve Palmer,Anne-Kathleen Malchow - This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type 'show c' for details. - -The hypothetical commands `show w` and `show c` should show the appropriate parts of -the General Public License. Of course, your program's commands might be different; -for a GUI interface, you would use an “about box”. - -You should also get your employer (if you work as a programmer) or school, if any, to -sign a “copyright disclaimer” for the program, if necessary. For more -information on this, and how to apply and follow the GNU GPL, see -<>. - -The GNU General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may consider it -more useful to permit linking proprietary applications with the library. If this is -what you want to do, use the GNU Lesser General Public License instead of this -License. But first, please read -<>. diff --git a/RangeShiftR/NAMESPACE b/RangeShiftR/NAMESPACE deleted file mode 100644 index b85a3be..0000000 --- a/RangeShiftR/NAMESPACE +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by roxygen2: do not edit by hand - -export(ArtificialLandscape) -export(ColonisationStats) -export(CorrRW) -export(Demography) -export(Dispersal) -export(DispersalKernel) -export(Emigration) -export(Genetics) -export(ImportedLandscape) -export(Initialise) -export(RSsim) -export(RangeShiftR_citation) -export(RangeShiftR_license) -export(RunRS) -export(SMS) -export(SMSpathLengths) -export(Settlement) -export(Simulation) -export(StageStructure) -export(createODD) -export(createParameterTables) -export(getLocalisedEquilPop) -export(plotAbundance) -export(plotOccupancy) -export(plotProbs) -export(readPop) -export(readRange) -export(validateRSparams) -importFrom(Rcpp,sourceCpp) -importFrom(Rdpack,reprompt) -useDynLib(RangeShiftR) diff --git a/RangeShiftR/R/RSsim.R b/RangeShiftR/R/RSsim.R deleted file mode 100644 index aa459fb..0000000 --- a/RangeShiftR/R/RSsim.R +++ /dev/null @@ -1,135 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -# ----- -# -# RangeShiftR parameter master -# -# ----- - -#' Define a RangeShiftR parameter master object -#' -#' Set up a parameter master that can be used in \code{\link[RangeShiftR]{RunRS}}() to run a simulation.\cr -#' All parameter modules can be added to an existing parameter master via the "+"-functions. However, note that the entire respective module will be overwritten.\cr -#' -#' @usage RSsim(batchnum = 1L, -#' simul = Simulation(), -#' land = ArtificialLandscape(), -#' demog = Demography(Rmax = 1.5), -#' dispersal = Dispersal(), -#' gene = Genetics(), -#' init = Initialise(), -#' seed = 0) -#' @include class_RSparams.R -#' @param batchnum Batch ID is part of output files names and can be used to prevent overwriting. -#' @param simul Set \code{\link[RangeShiftR]{Simulation}} parameters -#' @param land Set landscape parameters. Can be either \code{\link[RangeShiftR]{ArtificialLandscape}} or \code{\link[RangeShiftR]{ImportedLandscape}}. -#' @param demog Set \code{\link[RangeShiftR]{Demography}} parameters -#' @param dispersal Set \code{\link[RangeShiftR]{Dispersal}} parameters -#' @param gene Set \code{\link[RangeShiftR]{Genetics}} parameters -#' @param init Set \code{\link[RangeShiftR]{Initialise}} parameters -#' @param seed Set seed for random number generator. If non-positive, a random seed will be generated. -#' @return returns a \emph{RangeShiftR} parameter master object (class 'RSparams') -#' @details -#' \emph{Demographic stochasticity} \cr Demographic stochasticity is fundamentally important for the dynamics of populations that are naturally small or have declined to low abundances owing to -#' anthropogenic pressures. Additionally, inter-individual variability within populations can have a major influence on dynamics. Modelling stochastic events -#' that happen to individuals is crucial for avoiding systematic overestimation of population viability or rate of spread -#' \insertCite{clark2001invasion,kendall2003unstructured,robert2003variation,grimm2005individual,jongejans2008dispersal,travis2011improving}{RangeShiftR}. -#' Thus, population dynamics in \emph{RangeShiftR} were constructed to be -#' fully individual-based and stochastic. Each reproductive individual produces a discrete number of offspring sampled from a Poisson distribution with a mean -#' that is influenced by the species’ demographic parameters and the local population density. As \emph{RangeShiftR} has been designed for modelling a variety of -#' species with different life-history traits, a range of different population models can be chosen, depending on the species being modelled and on the -#' available information (see \code{\link[RangeShiftR]{Demography}}). In all cases demographic stochasticity is implemented. -#' -#' \emph{Cell-based vs. patch-based model} \cr -#' \emph{RangeShiftR} can be run as a cell-based or patch-based model \insertCite{bian2003representation}{RangeShiftR}. It should be noted -#' that the selection between cell-based or patch-based model is of fundamental importance for population dynamics calculations because -#' it influences the spatial extent at which density dependence operates. In both cases, the landscape is represented as a grid with cells -#' belonging to a particular habitat type, holding a percentage of habitat cover or being assigned a habitat quality index. However, -#' when \emph{RangeShiftR} is run using the cell-based setting, the cell is the scale at which processes such as population dynamics and dispersal -#' act. The individuals present in a cell define a distinct population, and density-dependencies for reproduction, emigration and settlement -#' all operate at this scale. Even in the case where two habitat cells are adjacent, they still hold separate populations. In contrast, in -#' the patch-based model, population dynamics happen at the patch level, a patch being an assemblage of landscape cells of potentially -#' different habitat types. Patches are not defined automatically by \emph{RangeShiftR} (see \code{\link[RangeShiftR]{ImportedLandscape}}). -#' Rather, the user is required to define which cells belong -#' to which patch, taking into account the ecological understanding of the study species. Density-dependencies regarding reproduction, -#' development, survival, emigration and settlement will depend on the density of individuals in a patch. However, discrete step-wise -#' movements during the transfer phase will always use the cell as the resolution at which steps occur, thus retaining important information -#' about the landscape heterogeneity.\cr -#' The choice between cell- and patch-based modelling can be of crucial importance. While a cell-based model provides an excellent abstraction -#' of space for many theoretical studies, for some applied studies it may be insufficient. This is because the misrepresentation of population -#' dynamics and dispersal (in terms of the scale at which they operate) can lead to substantial biases in projections regarding, for example, -#' rate of range expansion and population persistence \insertCite{bocedi2012projecting}{RangeShiftR}. Ideally, the scales at which population dynamics and dispersal -#' processes are modelled (by choosing the cell resolution or by defining the patches) should be those that are relevant for the species. -#' Importantly, the patch-based implementation allows separating the scales used for population dynamics and movements. In this case, the -#' landscape can be modelled at very fine resolution in order to capture the features that are likely to influence movements (e.g. narrow linear -#' features) without constraining the local population dynamics to operate at too small a scale. -#' -#' \emph{Temporal and spatial scales} \cr -#' It is important to note an essential difference in spatial scale between -#' the cell-based and the patch-based version. In the cell-based model, the cell resolution represents the spatial scale at which the two fundamental -#' processes of population dynamics and dispersal happen. This means that all the density-dependencies in the model (reproduction, survival, -#' emigration, settlement, etc...) act at the cell scale and the same scale is used as a single step unit for discrete movement models. In -#' the patch-based version, two spatial scales are simultaneously present: the cell scale, which in this case is used just for the transfer phase -#' of dispersal (movements) and the patch scale, at which the density-dependences are acting. The choice of type of model and cell resolution (as -#' well as the definition/scale of patches) is of fundamental importance because, depending on the system and on the question being tackled, it can -#' systematically bias the outcomes of the model.\cr -#' The user also defines the temporal scales. There are three distinct temporal scales. The highest-level one has years as units and represents the -#' scale at which variations in the abiotic environment are modelled (\emph{RangeShiftR} does not explicitly model within-year variability in conditions). -#' The intermediate scale is the species’ reproductive season. The model can be used to simulate the case where there is only one reproductive -#' season per year but it is also possible to simulate situations where there more than one per year or only one every \eqn{N} years. A single -#' reproductive event is always followed by dispersal. Finally, the smallest time scale is represented by the number of steps that emigrants take -#' during the movement phase of dispersal. This can be determined by a maximum number of steps, per-step mortality or both. -#' -#' @references -#' \insertAllCited{} -#' @return if given parameters pass validity check, returns a RangeShiftR parameter master object of class "RSparams", otherwise NULL -#' @author Anne-Kathleen Malchow -#' @export -RSsim <- function(batchnum = 1L, - simul = NULL, - land = NULL, - demog = NULL, - dispersal = NULL, - gene = NULL, - init = NULL, - seed = 0L){ - args <- as.list(match.call()) - # filter for names in ... that are also in slots(ControlParams) and pass them on - s <- RSparams(control = ControlParams(batchnum = batchnum, seed = seed), - simul = Simulation(), - land = ArtificialLandscape(), - demog = Demography(Rmax = 1.5), - dispersal = Dispersal(), - gene = Genetics(), - init = Initialise()) - if (!is.null(args$land)) s <- s + land - if (!is.null(args$simul)) s <- s + simul - if (!is.null(args$demog)) s <- s + demog - if (!is.null(args$dispersal)) s <- s + dispersal - if (!is.null(args$gene)) s <- s + gene - if (!is.null(args$init)) s <- s + init - # check validity - if(validObject(s)) return(s) - else return(NULL) -} diff --git a/RangeShiftR/R/RangeShiftR.R b/RangeShiftR/R/RangeShiftR.R deleted file mode 100644 index 9423a1c..0000000 --- a/RangeShiftR/R/RangeShiftR.R +++ /dev/null @@ -1,96 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - -#' @details -#' \code{RangeShiftR} provides flexible and fast simulations of spatial eco-evolutionary dynamics. -#' It implements the individual-based simulation software \emph{RangeShifter}, -#' \insertCite{bocedi2014,bocedi2020}{RangeShiftR}, -#' making it available for all machines that can build and run \emph{R}. -#' -#' \code{RangeShiftR} models the processes of demography, dispersal and evolution in an -#' inter-dependent way, offering substantial complexity in the corresponding modelling choices. -#' It is entirely open-source and aims to facilitate the application -#' of individual-based and mechanistic modelling to eco-evolutionary questions. -#' -#' The \emph{RangeShifter} project is presented on our website -#' \url{https://rangeshifter.github.io/}. -#' -#' To get started with the package, please find an overview and a range of tutorials here: -#' \url{https://rangeshifter.github.io/RangeshiftR-tutorials/}. -#' -#' @references -#' \insertAllCited{} -#' @keywords internal -"_PACKAGE" - - -#' @useDynLib RangeShiftR -#' @importFrom Rcpp sourceCpp -#' @importFrom Rdpack reprompt -NULL - - -# Show start-up message upon loading the package -.onAttach <- function(libname, pkgname) { - packageStartupMessage("RangeshiftR version 1.0.4 (10.05.2022)\n", - "Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell\n\n", - "This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.\n", - "You are welcome to redistribute it and/or modify it under certain conditions;\n", - "type 'RangeShiftR_license()' for details.\n") -} - -# Unload dynamic library when unloading the package -.onUnload <- function (libpath) { - library.dynam.unload("RangeShiftR", libpath) -} - - -#' Display RangeShiftR license information -#' -#' @export -RangeShiftR_license <- function () -{ - cat("\nRangeshiftR version 1.0.4 (10.05.2022)\n") - cat("Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell\n\n") - cat("This program is free software: you can redistribute it and/or modify\n") - cat("it under the terms of the GNU General Public License as published by\n") - cat("the Free Software Foundation, either version 3 of the License, or\n") - cat("(at your option) any later version.\n\n") - cat("This software is distributed in the hope that it will be useful,\n") - cat("but WITHOUT ANY WARRANTY; without even the implied warranty of\n") - cat("MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n") - cat("GNU General Public License for more details.\n\n") - cat("You should have received a copy of the GNU General Public License\n") - cat("along with this software. Copies of the license can also be found at\n") - cat("http://www.gnu.org/licenses/\n") - cat("\n") - cat("'Share and Enjoy.'\n\n") -} - - -#' Display citation -#' -#' @export -RangeShiftR_citation <- function () -{ - citation(package = "RangeShiftR", lib.loc = NULL, auto = NULL) -} diff --git a/RangeShiftR/R/RcppExports.R b/RangeShiftR/R/RcppExports.R deleted file mode 100644 index 5767fb2..0000000 --- a/RangeShiftR/R/RcppExports.R +++ /dev/null @@ -1,7 +0,0 @@ -# Generated by using Rcpp::compileAttributes() -> do not edit by hand -# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 - -run_from_R <- function(dirpath, ParMaster) { - .Call('_RangeShiftR_BatchMainR', PACKAGE = 'RangeShiftR', dirpath, ParMaster) -} - diff --git a/RangeShiftR/R/Rfunctions.R b/RangeShiftR/R/Rfunctions.R deleted file mode 100644 index e8d3e73..0000000 --- a/RangeShiftR/R/Rfunctions.R +++ /dev/null @@ -1,62 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -# ----- -# -# R-level functions -# -# ----- - - -#-- define ClassUnions -#---------------------- - -#for Integer and Numerical so that 'Integer'-slots can also accept 'Numerical' input -setClassUnion("integer_OR_numeric", c("integer", "numeric")) - -#for Matrix and Numerical so that 'Matrix'-slots can also accept 'Numerical' input when 1x1-Matrix is expected -setClassUnion("matrix_OR_numeric", c("matrix", "numeric")) - -#for cost layer to accept habitat codes or raster map file -setClassUnion("numeric_OR_character", c("numeric", "character")) - - -#-- define error and warning messages -#---------------------- -warn_msg_ignored = " will be ignored " - - -#-- density dependence function -#---------------------- -densdep <- function(x, A0 = 1.0, alpha = 1.0, beta = 0.0) { - A0/(1+exp(alpha*(beta-x))) -} - - -#-- validation function -#---------------------- - -#' Validate a given RS parameter object -#' -#' @export -validateRSparams <- function(x){validObject(x)} diff --git a/RangeShiftR/R/RunRS.R b/RangeShiftR/R/RunRS.R deleted file mode 100644 index 15204ac..0000000 --- a/RangeShiftR/R/RunRS.R +++ /dev/null @@ -1,72 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - -# ----- -# -# Run a RangeShiftR simulation -# -# ----- - -#' Run the Simulation -#' -#' @param RSparams A parameter master object (class 'RSparams'), contains all parameters to specify the simulation settings. -#' Can be generated using the function \code{\link[RangeShiftR]{RSsim}}. -#' @param dirpath File path to RS working directory; must contain the folders 'Inputs', 'Outputs', 'Output_Maps'.\cr -#' If NULL, the current \code{R} working directory will be used. -#' @return returns an error code -#' @export -RunRS <- function(RSparams, dirpath = getwd()){ - if (missing(RSparams)) { - stop("Missing parameter object") - } - else{ - if (class(RSparams)[1] != "RSparams") { - stop("Parameter object must be of class RSparams") - } - else { - validObject(RSparams) - } - } - if (is.null(dirpath)) { - dirpath = getwd() - } - - out = run_from_R(dirpath, RSparams) - - if (class(out)=="list" && is.null(out$Errors)) { - if ( length(out)>0 ) { - resol = RSparams@control@resolution - if(class(RSparams@land)=="ImportedLandscape") llcorner = RSparams@land@OriginCoords - else llcorner = c(0,0) - return(raster::stack(lapply(X = out, - FUN = raster::raster, - xmn=llcorner[1], - ymn=llcorner[2], - xmx=ncol(out[[1]])*resol+llcorner[1], - ymx=nrow(out[[1]])*resol+llcorner[2]))) - } - else return(NULL) - } - else { - return(out) - } -} diff --git a/RangeShiftR/R/addition.R b/RangeShiftR/R/addition.R deleted file mode 100644 index ffedf1b..0000000 --- a/RangeShiftR/R/addition.R +++ /dev/null @@ -1,164 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -# ----- -# -# Define Addition operations between modules -# -# ----- - - -setGeneric("+") - -setMethod("+", signature(e1 = "RSparams", e2 = "SimulationParams"), function(e1, e2) { - validObject(e2) - e1@simul <- e2 - return(e1)} -) - -setMethod("+", signature(e1 = "RSparams", e2 = "LandParams"), function(e1, e2) { - validObject(e2) - if (class(e2)[1] == "ImportedLandscape") { - if (length(e2@PatchFile)==0) { - e1@control@patchmodel = FALSE - } - else { - e1@control@patchmodel = TRUE - } - e1@control@resolution = e2@Resolution - if (e2@HabPercent) { - e1@control@landtype = 2L - e1@control@maxNhab = 1L - } - else { # habitat codes - e1@control@landtype = 0L - e1@control@maxNhab = e2@Nhabitats - } - if (length(e2@SpDistFile)==0) { - e1@control@speciesdist = FALSE - e1@control@distresolution = -9L - } - else { - e1@control@speciesdist = TRUE - e1@control@distresolution = e2@SpDistResolution - } - } - if (class(e2)[1] == "ArtificialLandscape") { - e1@control@patchmodel = FALSE - e1@control@resolution = e2@Resolution - e1@control@landtype = 9L - e1@control@maxNhab = 1L - e1@control@speciesdist = FALSE - e1@control@distresolution = 0L - } - e1@land = e2 - return(e1)} -) - -setMethod("+", signature(e1 = "RSparams", e2 = "DemogParams"), function(e1, e2) { - validObject(e2) - e1@control@reproductn = e2@ReproductionType - if (class(e2@StageStruct)[1] == "StagesParams") { - e1@control@repseasons = e2@StageStruct@RepSeasons - e1@control@stagestruct = TRUE - e1@control@stages = e2@StageStruct@Stages - if (length(e2@StageStruct@MinAge)==1 && e2@StageStruct@MinAge==0) { - if (e2@ReproductionType==2) { - e2@StageStruct@MinAge <- rep(0L, 2*e2@StageStruct@Stages-1) - } - else { - e2@StageStruct@MinAge <- rep(0L, e2@StageStruct@Stages) - } - } - } - else { - e1@control@repseasons = 1L - e1@control@stagestruct = FALSE - e1@control@stages = 1L - } - e1@demog <- e2 - return(e1)} -) - -setMethod("+", signature(e1 = "DemogParams", e2 = "StagesParams"), function(e1, e2) { - validObject(e2) - e1@StageStruct <- e2 - e1@Rmax <- -9L - e1@bc <- -9L - return(e1)} -) - -setMethod("+", signature(e1 = "RSparams", e2 = "DispersalParams"), function(e1, e2) { - validObject(e2) - if (class(e2@Transfer)[1] == "DispersalKernel") { - e1@control@transfer = 0 - } - else { - if (class(e2@Transfer)[1] == "StochMove") { - e1@control@transfer = 1 - } - else { - if (class(e2@Transfer)[1] == "CorrRW") { - e1@control@transfer = 2 - } - else { - e1@control@transfer = NA_integer_ - } - } - } - e1@dispersal <- e2 - return(e1)} -) - -setMethod("+", signature(e1 = "DispersalParams", e2 = "EmigrationParams"), function(e1, e2) { - validObject(e2) - e1@Emigration <- e2 - validObject(e1) - return(e1)} -) - -setMethod("+", signature(e1 = "DispersalParams", e2 = "TransferParams"), function(e1, e2) { - validObject(e2) - e1@Transfer <- e2 - validObject(e1) - return(e1)} -) - -setMethod("+", signature(e1 = "DispersalParams", e2 = "SettlementParams"), function(e1, e2) { - validObject(e2) - e1@Settlement <- e2 - validObject(e1) - return(e1)} -) - -setMethod("+", signature(e1 = "RSparams", e2 = "GeneticsParams"), function(e1, e2) { - validObject(e2) - e1@gene <- e2 - return(e1)} -) - -setMethod("+", signature(e1 = "RSparams", e2 = "InitialisationParams"), function(e1, e2) { - validObject(e2) - e1@init <- e2 - return(e1)} -) diff --git a/RangeShiftR/R/class_ControlParams.R b/RangeShiftR/R/class_ControlParams.R deleted file mode 100644 index 423dcc9..0000000 --- a/RangeShiftR/R/class_ControlParams.R +++ /dev/null @@ -1,80 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -#### CLASS CONTROLPARAMS - -# from RS 'CONTROL.txt' file - -ControlParams <- setClass("ControlParams", slots = c( - #nSimuls = "integer_OR_numeric", # Not yet used by R version, in C++ version its read from parameterfile - #nLandscapes = "integer_OR_numeric", # Not yet used by R version, in C++ version its read from landfile - batchnum = "integer_OR_numeric", # only variable to set from RSsim(), optional - patchmodel = "logical", # set via +Land - resolution = "integer_OR_numeric", # set via +Land - landtype = "integer_OR_numeric", # set via +Land - maxNhab = "integer_OR_numeric", # set via +Land - speciesdist = "logical", # set via +Land - distresolution = "integer_OR_numeric", # set via +Land - reproductn = "integer_OR_numeric", # set via +Demography - repseasons = "integer_OR_numeric", # set via +Demography if (StageStruct is Type "StagesParams") {repseasons = 1} else {demo@StageStruct@repseasons} - stagestruct = "logical", # set via +Demography - stages = "integer_OR_numeric", # set via +Demography@StageStruct - transfer = "integer_OR_numeric", # set via +Dispersal Transfer method: 0 = dispersal kernels, 1 = SMS, 2 = CRW) - seed = "integer_OR_numeric") - ,prototype = list(#nSimuls = 1L, - #nLandscapes = 1L, - batchnum = 0L, - patchmodel = FALSE, - resolution = 100L, - landtype = 9L, - maxNhab = 1L, - speciesdist = FALSE, - distresolution = NA_integer_, - reproductn = 0L, - repseasons = 1L, - stagestruct = FALSE, - stages = NA_integer_, - transfer = 0L, - seed = 0L) -) -setValidity("ControlParams", function(object){ - msg <- NULL - if(object@stagestruct) { - stg <- as.integer(object@stages) - if(stg < 2 || stg > 10) msg <- c(msg, "Number of Stages must be in the interval [2; 10]") - #paste("Unequal x,y lengths: ", length(object@x), ", ", length(object@y), sep="") - } - if(object@seed > 4000000000) { - warning("RSsim(): Seeds greater than 4e9 should be avoided, since they might not be handled correctly.", call. = FALSE) - } - if (is.null(msg)) TRUE else msg} -) -setMethod("show", "ControlParams", function(object){ - cat(" Batch #", object@batchnum, "\n") - if(object@seed){ - cat(" Seed =", object@seed) - if(object@seed<0) cat(" (generate random seed)") - if(object@seed>0) cat(" (fixed seed)") - cat("\n") - } -}) diff --git a/RangeShiftR/R/class_DemogParams.R b/RangeShiftR/R/class_DemogParams.R deleted file mode 100644 index a8c0c71..0000000 --- a/RangeShiftR/R/class_DemogParams.R +++ /dev/null @@ -1,958 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -#### DEMOGRAPHY #### - - -### SUBCLASS STAGESPARAMS - -# from RS 'StageStruct' file - -#' Define a Stage-structure -#' -#' Set all demographic parameters for a stage-structured population. All elements of the transition matrix, i.e. Fecundity, Development, and Survival can be subjected to a density-dependent scaling. -#' In this case, the base probabilities given via the transition matrix will be reduced exponentially with the strength of density dependence \eqn{b(i,t)} times abundance \eqn{N(i,t)}, in patch \eqn{i} at time \eqn{t}. -#' Additionally, the effect of the abundances of each stage/sex on these parameters can be weighted. For more information, see the details. -#' -#' @usage StageStructure(Stages, TransMatrix, MaxAge = 100, MinAge = 0, -#' RepSeasons = 1, PRep = 1.0, RepInterval = 0, SurvSched = 0, -#' FecDensDep = FALSE, DevDensDep = FALSE, SurvDensDep = FALSE, -#' FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix, -#' FecLayer, DevLayer, SurvLayer, -#' PostDestructn = FALSE) -#' @param Stages Number of life-stages (integer). Requires a minimum of \eqn{2}, for "juvenile" (stage 0) and "adult". Maximum is 10. -#' @param TransMatrix Transition matrix. Defines the development probabilities from each stage into the next, as well as the respective survival probabilities and fecundities. See Details for matrix structure and notation. -#' @param MaxAge Maximum age in years, defaults to \eqn{100}. (integer) -#' @param MinAge Integer vector containing the ages which an individual in stage \eqn{i-1} (with sex \eqn{m/f}, if applicable) must already have reached before it can develop into the next stage \eqn{(i)}. The defaults are \eqn{0} for all stages and sexes. The required format is described in the Details. -#' @param RepSeasons Number of potential reproduction events per year. Defaults to \eqn{1}. (integer) -#' @param RepInterval Number of reproductive seasons which must be missed following a reproduction attempt, before another reproduction attempt may occur. Defaults to \eqn{0}. (integer) -#' @param PRep Probability of reproducing in subsequent reproductive seasons. Defaults to \eqn{1.0}. -#' @param SurvSched Scheduling of Survival. When should survival and development occur?\cr 0 = At reproduction\cr 1 = Between reproductive events (default)\cr 2 = Annually (only for \code{RepSeasons>1}) -#' @param FecDensDep,DevDensDep,SurvDensDep Density-dependent fecundity / development / survival probabilities? Defaults to \code{FALSE}. See Details for functional form of density-dependence. -#' @param DevDensCoeff,SurvDensCoeff Relative density dependence coefficient for development / survival. Defaults to \eqn{1.0}. -# @param FecStageWts,DevStageWts,SurvStageWts Stage-dependent density dependence in fecundity / development / survival? Defaults to \code{FALSE}. -# @param FecStageWtsMatrix,DevStageWtsMatrix,SurvStageWtsMatrix Required if stage-dependent density dependence, i.e. if respective \code{FecStageWts}/\code{DevStageWts}/\code{SurfStageWts=TRUE}. Takes a quadratic matrix with (#stages * #sexes) rows/columns indicating the weight of the abundance of each sex/stage on the fecundity/development/survival of each other sex/stage. -#' @param FecStageWtsMatrix,DevStageWtsMatrix,SurvStageWtsMatrix Stage-dependent weights in density dependence of fecundity / development / survival. Takes a quadratic matrix with (#sexes * #stages) rows/columns indicating the weight of the abundance of each stage/sex on the fecundity/development/survival of each other stage/sex. If not set, all stages are weighted equally. -#' @param FecLayer,DevLayer,SurvLayer A matrix of layer indices for the three demographic rates (fecundity/development/survival) if they are spatially varying. The indices match the -#' scaling layers given in the \code{\link[RangeShiftR]{ImportedLandscape}} module to each demographic rate. The value NA denotes a spatially constant rate. The row number corresponds -#' to the stage; the first/second column contains the layer index for females/males. In case of a female-only or simple sexual model (\code{ReproductionType={0,1}}) only the first -#' column is needed and a vector is accepted to represent it. In any case, values will be coerced to integer. -#' @param PostDestructn In a dynamic landscape, determine if all individuals of a population should die (\code{FALSE}, default) or disperse (\code{TRUE}) if its patch gets destroyed. -#' @details In stage-structured populations, generations can overlap and individuals can be classified in different stages (e.g. immature vs. breeding individuals) differing in their -#' demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity, survival probability and probability of developing to the next stage. -#' -#' These parameters are provided through classical transition matrices \insertCite{caswell2001}{RangeShiftR}. -#' \ifelse{html}{\out{φi}}{\eqn{φ_i}} is the fecundity of stage \eqn{i} ; -#' \ifelse{html}{\out{σi}}{\eqn{Ď_i}} is the survival probability of an individual in stage \eqn{i} ; -#' and \ifelse{html}{\out{γi-j}}{\eqn{Îł_(i-j)}} is the probability of developing from stage \eqn{i} to stage \eqn{j}. -#' In this way, the transition matrix describes the effect of each individuals current stage (column) on all stages at the next timestep (rows). -#' Since all offspring is born into the juvenile stage (stage 0), all fecundities are always located in the first row of the matrix. -#' -#' However, in \emph{RangeShiftR}, these parameters are not used deterministically as \emph{rates} (like it is typical for matrix models) but, instead, as \emph{probabilities} which are -#' applied stochastically at the individual level. Hence, each female at stage \eqn{i}, if it reproduces, produces a number of offspring given by \eqn{Poisson}(\ifelse{html}{\out{φi}}{\eqn{φ_i}}), -#' while Bernoulli trials \eqn{Bern}(\ifelse{html}{\out{σi}}{\eqn{Ď_i}}) and \eqn{Bern}(\ifelse{html}{\out{γi,i+1}}{\eqn{Îł_(i,i+1)}}) determine if an individual/female survives or not -#' and - if it survives - if it develops to the next stage or not. -#' -#' An example transition matrix for a 3-staged only-female or simple sexual (\code{ReproductionType={0,1}}) population model: -#' \tabular{ccccc}{0 \tab | \tab \ifelse{html}{\out{φ1}}{\eqn{φ_1}} \tab | \tab \ifelse{html}{\out{φ2}}{\eqn{φ_2}} \cr -#' \eqn{1.0} \tab | \tab \ifelse{html}{\out{σ1 (1-γ1-2)}}{\eqn{Ď_1 (1 â’ Îł_(1-2))}} \tab | \tab \eqn{0} \cr -#' \eqn{0} \tab | \tab \ifelse{html}{\out{σ1 γ1-2}}{\eqn{Ď_1 Îł_(1-2)}} \tab | \tab \ifelse{html}{\out{σ2}}{\eqn{Ď_2}} \cr} -#' -#' In a female-only model (\code{ReproductionType=0}), φ represents the number of female offspring per female and reproductive event. \cr -#' Note that for an implicit (simple) sexual model (\code{ReproductionType=1}), the demographic parameters are not sex-specific. However, individuals are defined by their sex, which is acknowledged for example in the dispersal -#' process and transmission of alleles. The fecundities φ refer to the number of all offspring (males and females) per female and reproductive event. -#' -#' In case of an explicit (complex) sexual model (\code{ReproductionType=2}), in contrast, each stage must be represented by two columns and rows to distinguish male and female demographic parameters. -#' Note, however, that in any case the juvenile stage has only one row; it contains the fecundities. Male fecundities should have one of two possible values: set \ifelse{html}{\out{φm}}{\eqn{φ_m}} \eqn{=1.0} for reproductive males or \ifelse{html}{\out{φm}}{\eqn{φ_m}} \eqn{=0.0} for non-reproductive males.\cr -#' An example transition matrix for a 3-staged explicit sexual population model \insertCite{weeks1986,lindstrom1998}{RangeShiftR}: -#' \tabular{ccccccccccc}{\eqn{0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{φ1m}}{\eqn{φ_1m}} \tab | \tab \ifelse{html}{\out{φ1f}}{\eqn{φ_1f}} \tab | \tab \ifelse{html}{\out{φ2m}}{\eqn{φ_2m}} \tab | \tab \ifelse{html}{\out{φ2f}}{\eqn{φ_2f}} \cr -#' \eqn{1.0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ1m (1-γ1-2,m)}}{\eqn{Ď_1m (1 â’ Îł_(1-2,m))}} \tab | \tab \eqn{0} \tab | \tab \eqn{0} \tab | \tab \eqn{0} \cr -#' \eqn{0} \tab | \tab \eqn{1.0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ1f γ1-2,f}}{\eqn{Ď_1f Îł_(1-2,f)}} \tab | \tab \eqn{0} \tab | \tab \eqn{0} \cr -#' \eqn{0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ1m γ1-2,m}}{\eqn{Ď_1m Îł_(1-2,m)}} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ2m}}{\eqn{Ď_2m}} \tab | \tab \eqn{0} \cr -#' \eqn{0} \tab | \tab \eqn{0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ1f γ1-2,f}}{\eqn{Ď_1f Îł_(1-2,f)}} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ2f}}{\eqn{Ď_2f}} \cr} -#' The mating system is explicitly modelled and a female’s probability of reproducing is determined as described in \code{\link[RangeShiftR]{Demography}} \insertCite{weeks1986,caswell2001}{RangeShiftR}. -#' -#' A common mistake in building a transition matrix is made when offspring produced at year \eqn{t} develop to the next stage in the same year \insertCite{@ @caswell2001 pg. 60-62}{RangeShiftR}. To avoid this problem without losing the offspring stage, and hence the chance for simulating post-natal dispersal, -#' we require an additional explicit juvenile stage (stage 0). Juveniles have to develop to stage 1 in the same year they are born. Hence the minimum number of stages of a stage-structured model is always \eqn{2}. It is important to note that juvenile mortality can be accounted for in -#' two ways. Either, as in the examples above, it is included in adult fecundity φ (by appropriately reducing its value), and \ifelse{html}{\out{σ0 γ(0-1)}}{\eqn{Ď_0 Îł_(0-1)}} is equal to \eqn{1.0}. This is how it is typically accounted for in matrix models. Or, alternatively, -#' φ is equal to the true maximum fecundity and \ifelse{html}{\out{σ0 γ(0-1)}}{\eqn{Ď_0 Îł_(0-1)}} is less than \eqn{1.0}. -#' Only the first approach allows straightforward direct comparison with standard analytical matrix models. -#' -#' \emph{Minimum ages:} For every row in the transition matrix, a minimum age must be provided through a vector in argument \code{MinAge}. It specifies the age which an individual in stage \eqn{i-1} (with sex \eqn{m/f}, if applicable) must already have reached before it can develop into the next stage \eqn{(i)}. The vector must be in -#' the order of increasing stage, stating first male then female values; i.e. \eqn{0,1m,1f,2m,2f,...}. Note that (analogous to the transition matrix) the juvenile stage (\eqn{i=0}) has only one entry for male and female. The defaults are \eqn{0} for all stages and sexes. -#' Note that the minimum age for juveniles (stage \eqn{0}) is by definition zero, and that the minimum age for stage \eqn{1} is required to also be zero because individuals may not persist as juveniles beyond the breeding season in which they are born. -#' -#' It is possible to have one or more reproductive seasons per year (\code{RepSeasons}), or a reproductive event once every few years (controlled by \code{RepInterval}). At each reproductive season, two parameters -#' control the likelihood that each individual / female reproduces: -#' \enumerate{ -#' \item First, it is determined whether a reproductively mature female is a potential reproducer. The user specifies a minimum interval (\code{RepInterval}) before an individual, that has -#' already reproduced, is able to reproduce again. Only those mature individuals that are either yet to reproduce, or last reproduced more than this number of reproductive seasons previously, are potential breeders. -#' \item Potential breeders all reproduce with a set probability (\code{PRep}). Note that this probability is different from the probability of reproducing \ifelse{html}{\out{pr}}{\eqn{p_r}} described in \code{\link[RangeShiftR]{Demography}}. -#' The latter will be additionally applied only in the case of more complex modelling of the mating system (\code{ReproductionType=2}) and it is determined by the number of reproductive males and females present in the cell/patch. -#' } -#' Note that in the current implementation, reproductive attempts that result in zero offspring still count in terms of an individual having to wait for the chance to reproduce again. -#' -#' A major difference between transition matrices and this individual-based model is that in the first, the three processes of reproduction, survival and development happen simultaneously while, in the second, they are explicitly modelled in sequence. -#' The sequence of these events and the time of the dispersal phase in relation to them can change the actual dynamics and density-dependencies in both population growth and dispersal. At the beginning of each year, reproduction is always the first -#' process to be modelled. However, there can be multiple reproductive seasons per year (default is one); in this case the year starts with a succession of all reproductive seasons. There are three choices for the scheduling of reproduction, survival, development and dispersal: -#' \itemize{ -#' \item \code{SurvSched=0}: For each reproductive season: reproduction; survival and development of all stages (apart from stage 0); dispersal; survival and development of stage 0. Then: aging; end of the year. -#' \item \code{SurvSched=1}: For each reproductive season: reproduction; dispersal; survival and successive development of all stages. Then: aging; end of the year. -#' \item \code{SurvSched=2}: For each reproductive season: reproduction; dispersal. Then: survival and development of all stages; aging; end of the year. This option applies only for species having multiple reproductive seasons in a year, otherwise it is equivalent to \code{SurvSched=1}. -#' } -#' Option \code{SurvSched=0} gives results that are comparable with the deterministic solution of the matrix. The choice will depend on the biology of the species. If the main mortality happens overwinter, option \code{SurvSched=1} might be more appropriate. -#' -#' Note that \code{SurvSched=1} in combination with multiple reproductive seasons (\code{RepSeasons>1}) implies several evaluations of the fecundity and the survival and development probabilities, so that the transition matrix should be set accordingly. -#' If the transition matrix contains the annual survival and development rates, \code{SurvSched=2} is the appropriate option (fecundity, however, is still given per reproductive event). -#' -#' \emph{Density dependence} can act on each of the three demographic phases (i.e. reproduction, survival and development) and is controlled by \code{FecDensDep,DevDensDep,SurvDensDep}. -#' It is implemented as an exponential decay \insertCite{neubert2000}{RangeShiftR}: -#' -#' \ifelse{html}{\out{   φi(r,t) = φ0,i * e - b(r) N(t) }}{\deqn{φ_i(r,t)=φ_(0,i) * exp(- b(r) N(t) ) }} -#' -#' \ifelse{html}{\out{   σi(r,t) = σ0,i * e - Cσ b(r) N(t) }}{\deqn{Ď_i(r,t)=Ď_(0,i) * exp(- C_\sigma b(r) N(t) ) }} -#' -#' \ifelse{html}{\out{   γi(r,t) = γ0,i * e - Cγ b(r) N(t) }}{\deqn{Îł_i(r,t)=Îł_(0,i) * exp(- C_Îł b(r) N(t) ) }} -#' -#' where \eqn{b(r)} is the strength of density dependence in fecundity at site \eqn{r}, which is given by the argument \code{K_or_DensDep} in the landscape module. -#' Furthermore, \ifelse{html}{\out{Cσ}}{\eqn{C_\sigma}} and \ifelse{html}{\out{Cγ}}{\eqn{C_Îł}} (\code{DevDensCoeff,SurvDensCoeff}) -#' scale the strength of density dependence in survival and development relative to that in fecundity. -#' -#' Moreover, the strength of density-dependence can be uniform for all stages or stage-dependent. Even greater complexity can be incorporated with -#' different stages contributing differently to density-dependence \insertCite{caswell2004}{RangeShiftR}: -#' -#' \ifelse{html}{\out{  φi(r,t) = φ0,i * e - b(r) ΣjS ωφ,ij N(j,t)}}{\deqn{φ_i(r,t)=φ_(0,i) * exp(- b(r) \Sigma_j^S ω_{φ,ij} N_j(t) ) }} -#' -#' \ifelse{html}{\out{  σi(r,t) = σ0,i * e - Cσ b(r) ΣjS ωσ,ij N(j,t) }}{\deqn{Ď_i(r,t)=Ď_(0,i) * exp(- C_\sigma b(r) \Sigma_j^S ω_{Ď,ij} N_j(t) )}} -#' -#' \ifelse{html}{\out{  γi(r,t) = γ0,i * e - Cγ b(r) ΣjS ωγ,ij N(j,t)}}{\deqn{Îł_i(r,t)=Îł_(0,i) * exp(- C_Îł b(r) \Sigma_j^S ω_{Îł,ij} N_j(t) )}} -#' -#' where \ifelse{html}{\out{ωφ}}{\eqn{ω_φ}}, \ifelse{html}{\out{ωσ}}{\eqn{ω_Ď}}, \ifelse{html}{\out{ωγ}}{\eqn{ω_Îł}} are weight matrices given by \code{FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix}. Their elements \ifelse{html}{\out{ωij}}{\eqn{ω_ij}} -#' represent the contributions of the abundance of stage \eqn{j} to the density dependence in the fecundity / survival / development of stage \eqn{i}, thus they are quadratic matrices of size \code{Stages}\eqn{^2}. Note that the row sums are not required to be normalized, therefore they can be used -#' to scale the density-dependence for the different stages. In fact, any real value will be accepted for the single weights, so care should be taken when setting them. -#' -#' The demographic rates (fecundity, development probability and survival probability) can be allowed to vary spatially, if the landscape is an imported habitat quality map. In this case, additional maps with the same resolution and extent as the habitat quality map(s) need to be given -#' in \code{\link[RangeShiftR]{ImportedLandscape}()}. These additional layers contain percentage values between 0 and 100 and the matrices \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} indicate the mapping of each demographic rate to these layers. The local value -#' of a given demographic rate for a certain stage and sex in a cell or patch is then determined as the maximum value (the value given in the transition matrix \code{TransMatrix}) scaled with the percentage in the respective mapped layer. -#' For a patch-based landscape, the scaling percentage of a patch is given by the average percentage of its constituent cells. -#' Potential density-dependence mediated by the strength 1/b still takes effect also for spatially-varying demographic rates. The respective base values φ_0, Ď_0 or Îł_0 are then replaced by their locally scaled values. -#' @examples # Stage-structure for simple sexual model -#' transmat <- matrix(c(0,1,0,0,0,0.3,0.4,0,1.5,0,0.6,0.3,2.5,0,0,0.8), ncol = 4) -#' stg <- StageStructure(Stages = 4, TransMatrix = transmat, FecDensDep = TRUE, SurvDensDep = TRUE, SurvDensCoeff = 1.5) -#' plotProbs(stg, stage=1:3) -#' -#' # Stage-structure for explicit sexual model -#' transmat_2 <- matrix(c(0,0.5,0,0,0,0,0,0.5,0,0,1.0,0.4,0,0.3,0,3.0,0,0.3,0,0.4,1.0,0,0,0.85,0,5,0,0,0,0.8), ncol = 6) -#' stg_2 <- StageStructure(Stages = 3, TransMatrix = transmat_2, FecDensDep = TRUE, DevDensDep = TRUE, DevDensCoeff = 1.2) -#' plotProbs(stg_2, stage=c(1,2), sex = 1) -#' @references -#' \insertAllCited{} -#' @return a parameter object of class "StagesParams" -#' @author Anne-Kathleen Malchow -#' @name StageStructure -#' @export StageStructure -StageStructure <- setClass("StagesParams", slots = c(Stages = "integer_OR_numeric", - TransMatrix = "matrix", - MaxAge = "integer_OR_numeric", - MinAge = "integer_OR_numeric", - RepSeasons = "integer_OR_numeric", # No. of reproductive seasons per year - RepInterval = "integer_OR_numeric", - PRep = "numeric", - SurvSched = "integer_OR_numeric", - FecDensDep = "logical", - FecStageWts = "logical", - FecStageWtsMatrix = "matrix", - DevDensDep = "logical", - DevDensCoeff = "integer_OR_numeric", - DevStageWts = "logical", - DevStageWtsMatrix = "matrix", - SurvDensDep = "logical", - SurvDensCoeff = "integer_OR_numeric", - SurvStageWts = "logical", - SurvStageWtsMatrix = "matrix", - FecLayer = "matrix_OR_numeric", - DevLayer = "matrix_OR_numeric", - SurvLayer = "matrix_OR_numeric", - PostDestructn = "logical") - , prototype = list(#Stages = 2L, - #TransMatrix = matrix(data = NA, nrow = 1, ncol = 1), - MaxAge = 100L, - MinAge = 0L, - RepSeasons = 1L, - RepInterval = 0L, - PRep = 1.0, - SurvSched = 1L, - FecDensDep = FALSE, - FecStageWts = FALSE, - #FecStageWtsMatrix = matrix(data = NA, nrow = 1, ncol = 1), - DevDensDep = FALSE, - DevDensCoeff = 1.0, - DevStageWts = FALSE, - #DevStageWtsMatrix = matrix(data = NA, nrow = 1, ncol = 1), - SurvDensDep = FALSE, - SurvDensCoeff = 1.0, - SurvStageWts = FALSE, - #SurvStageWtsMatrix = matrix(data = NA, nrow = 1, ncol = 1), - #FecLayer,DevLayer,SurvLayer, - PostDestructn = FALSE) -) - # check forbidden transitions in TransMatrix (e.g. between non-successive stages or between sexes) -setValidity("StagesParams", function(object) { - msg <- NULL - if (anyNA(object@Stages) || length(object@Stages)!=1) { - msg <- c(msg, "Number of Stages must be set and of length 1!") - } - else { - if (object@Stages<2) { - msg <- c(msg, "Number of Stages must be at least 2!") - } - } - if (anyNA(object@TransMatrix)) { - msg <- c(msg, "Transition matrix must be given!") - } - else { - if (any(object@TransMatrix[-1, ] < 0 ) || any(object@TransMatrix[-1, ] > 1 ) ) { - msg <- c(msg, "All elements exept the first row of the transition matrix must be between 0 and 1!") - } - if (any(object@TransMatrix[ 1, ] < 0 ) ) { - msg <- c(msg, "All elements in the first row of the transition matrix (i.e. the fecundities) must be positive!") - } - } - if (anyNA(object@MaxAge) || length(object@MaxAge)!=1) { - msg <- c(msg, "MaxAge must be set and of length 1!") - } - else { - if (object@MaxAge<2) { - msg <- c(msg, "MaxAge must be greater than 1!") - } - } - if (anyNA(object@MinAge) || length(object@MinAge)==0) { - msg <- c(msg, "MinAge must be set!") - } - else { - if (any(object@MinAge<0)) { - msg <- c(msg, "MinAge must be positive!") - } - if (any(object@MinAge>=object@MaxAge)) { - msg <- c(msg, "MinAge must be smaller than MaxAge for all stages and sexes!") - } - } - if (anyNA(object@RepSeasons) || length(object@RepSeasons)!=1) { - msg <- c(msg, "RepSeasons must be set and of length 1!") - } - else { - if (object@RepSeasons<1) { - msg <- c(msg, "RepSeasons must be at least 1!") - } - } - if (anyNA(object@RepInterval) || length(object@RepInterval)!=1) { - msg <- c(msg, "RepInterval must be set and of length 1!") - } - else { - if (object@RepInterval<0) { - msg <- c(msg, "RepInterval must be positive!") - } - } - if (anyNA(object@PRep) || length(object@PRep)!=1) { - msg <- c(msg, "PRep must be set and of length 1!") - } - else { - if (object@PRep <= 0 || object@PRep > 1.0) { - msg <- c(msg, "PRep must in the half-open interval (0;1]!") - } - } - if (anyNA(object@SurvSched) || length(object@SurvSched)!=1) { - msg <- c(msg, "SurvSched must be set and of length 1!") - } - else { - if (! object@SurvSched %in% (0:2) ) { - msg <- c(msg, "SurvSched must be 0, 1 or 2!") - } - } - if (anyNA(object@FecDensDep) || length(object@FecDensDep)!=1) { - msg <- c(msg, "FecDensDep must be set and of length 1!") - } - else{ - if(object@FecDensDep) { - if (anyNA(object@FecStageWts) || length(object@FecStageWts)!=1) { - msg <- c(msg, "FecStageWts must be set and of length 1!") - } - else{ - if (object@FecStageWts) { - if (anyNA(object@FecStageWtsMatrix)) { - msg <- c(msg, "FecStageWtsMatrix must be set (since FecStageWts = TRUE) !") - } - # else { - # if(any(object@FecStageWtsMatrix < 0)){ - # msg <- c(msg, "All elements of FecStageWtsMatrix must be positive or zero!") - # } - # } - } - } - } - } - if (anyNA(object@DevDensDep) || length(object@DevDensDep)!=1) { - msg <- c(msg, "DevDensDep must be set and of length 1!") - } - else{ - if(object@DevDensDep) { - if (anyNA(object@DevDensCoeff) || length(object@DevDensCoeff)!=1) { - msg <- c(msg, "DevDensCoeff must be set and of length 1!") - } - else { - if (object@DevDensCoeff<=0) { - msg <- c(msg, "DevDensCoeff must be greater than zero!") - } - } - if (anyNA(object@DevStageWts) || length(object@DevStageWts)!=1) { - msg <- c(msg, "DevStageWts must be set and of length 1!") - } - else{ - if (object@DevStageWts) { - if (anyNA(object@DevStageWtsMatrix)) { - msg <- c(msg, "DevStageWtsMatrix must be set (since DevStageWts = TRUE) !") - } - # else { - # if(any(object@DevStageWtsMatrix < 0)){ - # msg <- c(msg, "All elements of DevStageWtsMatrix must be positive or zero!") - # } - # } - } - } - } - } - if (anyNA(object@SurvDensDep) || length(object@SurvDensDep)!=1) { - msg <- c(msg, "SurvDensDep must be set and of length 1!") - } - else{ - if(object@SurvDensDep){ - if (anyNA(object@SurvDensCoeff) || length(object@SurvDensCoeff)!=1) { - msg <- c(msg, "SurvDensCoeff must be set and of length 1!") - } - else { - if (object@SurvDensCoeff<=0) { - msg <- c(msg, "SurvDensCoeff must be greater than zero!") - } - } - if (anyNA(object@SurvStageWts) || length(object@SurvStageWts)!=1) { - msg <- c(msg, "SurvStageWts must be set and of length 1!") - } - else{ - if (object@SurvStageWts) { - if (anyNA(object@SurvStageWtsMatrix)) { - msg <- c(msg, "SurvStageWtsMatrix must be set (since SurvStageWts = TRUE) !") - } - # else{ - # if(any(object@SurvStageWtsMatrix < 0)){ - # msg <- c(msg, "All elements of SurvStageWtsMatrix must be positive or zero!") - # } - # } - } - } - } - } - if (length(object@FecLayer)>0) { - if( any( !is.na( object@FecLayer[object@FecLayer<=0] ))) { - msg <- c(msg, "Elements of FecLayer must be strictly postive integers or NA for no spatial variation!") - } - if( min(nrow(object@FecLayer),length(object@FecLayer)) != object@Stages) { - msg <- c(msg, "FecLayer must have as many rows as Stages!") - } - } - if (length(object@DevLayer)>0) { - if( any( !is.na( object@DevLayer[object@DevLayer<=0] ))) { - msg <- c(msg, "Elements of DevLayer must be strictly postive integers or NA for no spatial variation!") - } - if( min(nrow(object@DevLayer),length(object@DevLayer)) != object@Stages) { - msg <- c(msg, "DevLayer must have as many rows as Stages!") - } - } - if (length(object@SurvLayer)>0) { - if( any( !is.na( object@SurvLayer[object@SurvLayer<=0] ))) { - msg <- c(msg, "Elements of SurvLayer must be strictly postive integers or NA for no spatial variation!") - } - if( min(nrow(object@SurvLayer),length(object@SurvLayer)) != object@Stages) { - msg <- c(msg, "SurvLayer must have as many rows as Stages!") - } - } - if (is.na(object@PostDestructn) || length(object@PostDestructn)!=1) { - msg <- c(msg, "PostDestructn must be set and of length 1!") - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "StagesParams", function(.Object,...) { - this_func = "StageStructure(): " - args <- list(...) - #set weights switches if matrix is given - if (!is.null(args$FecStageWtsMatrix)) { - .Object@FecStageWts <- TRUE - } - if (!is.null(args$DevStageWtsMatrix)) { - .Object@DevStageWts <- TRUE - } - if (!is.null(args$SurvStageWtsMatrix)) { - .Object@SurvStageWts <- TRUE - } - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if (!.Object@FecDensDep) { - if (.Object@FecStageWts) { - warning(this_func, "FecStageWts stage weigths", warn_msg_ignored, "since FecDensDep = FALSE.", call. = FALSE) - } - } - if (!.Object@DevDensDep) { - if (!is.null(args$DevDensCoeff)) { - warning(this_func, "DevDensCoeff", warn_msg_ignored, "since DevDensDep = FALSE.", call. = FALSE) - } - if (.Object@DevStageWts) { - warning(this_func, "DevStageWts stage weigths", warn_msg_ignored, "since DevDensDep = FALSE.", call. = FALSE) - } - } - if (!.Object@SurvDensDep) { - if (!is.null(args$SurvDensCoeff)) { - warning(this_func, "SurvDensCoeff", warn_msg_ignored, "since SurvDensDep = FALSE.", call. = FALSE) - } - if (.Object@SurvStageWts) { - warning(this_func, "SurvStageWts stage weigths", warn_msg_ignored, "since SurvDensDep = FALSE.", call. = FALSE) - } - } - # replace NAs & convert to matrix - if (!is.null(args$FecLayer)) { - #.Object@FecLayer[is.na(.Object@FecLayer)] <- -9 - if(class(.Object@FecLayer)[1]!="matrix") .Object@FecLayer <- matrix(.Object@FecLayer) - } - if (!is.null(args$DevLayer)) { - #.Object@DevLayer[is.na(.Object@DevLayer)] <- -9 - if(class(.Object@DevLayer)[1]!="matrix") .Object@DevLayer <- matrix(.Object@DevLayer) - } - if (!is.null(args$SurvLayer)) { - #.Object@SurvLayer[is.na(.Object@SurvLayer)] <- -9 - if(class(.Object@SurvLayer)[1]!="matrix") .Object@SurvLayer <- matrix(.Object@SurvLayer) - } - # convert to integer - if(length(.Object@FecLayer)>0) mode(.Object@FecLayer) <- "integer" - if(length(.Object@DevLayer)>0) mode(.Object@DevLayer) <- "integer" - if(length(.Object@SurvLayer)>0) mode(.Object@SurvLayer) <- "integer" - .Object} -) -setMethod("show", "StagesParams", function(object){ - cat(" Stages :", paste(object@Stages), "\n") - cat(" Transition matrix:\n") - print(object@TransMatrix) - cat(" Maximum age :", paste(object@MaxAge) , "\n") - cat(" Minimum age :", paste(object@MinAge) , "\n") - cat(" Reprod. seasons :", paste(object@RepSeasons) , "\n") - cat(" Prob. Reprod. :", paste(object@PRep) , "\n") - cat(" Reprod. Intervals:", paste(object@RepInterval) , "\n") - cat(" SurvScheduling :", paste(object@SurvSched) , "\n") - if (object@FecDensDep || object@DevDensDep || object@SurvDensDep) { - cat(" Density-dependence in:\n") - } - if (object@FecDensDep) { - cat(" - Fecundity\n") - if (object@FecStageWts) { - cat(" with stage-dependent density depedence with weights:\n") - print(object@FecStageWtsMatrix) - } - } - if (object@DevDensDep) { - cat(" - Development, with coefficient = ", paste(object@DevDensCoeff) , "\n") - if (object@DevStageWts) { - cat(" and stage-dependence with weights: \n") - print(object@DevStageWtsMatrix) - } - } - if (object@SurvDensDep) { - cat(" - Survival, with coefficient =", paste(object@SurvDensCoeff) , "\n") - if (object@SurvStageWts) { - cat(" and stage-dependence with weights: \n") - print(object@SurvStageWtsMatrix) - } - } - if(length(object@FecLayer)>0) { - cat(" Spatially varying fecundity layer indices:\n") - print(object@FecLayer) - } - if(length(object@DevLayer)>0) { - cat(" Spatially varying development layer indices:\n") - print(object@DevLayer) - } - if(length(object@SurvLayer)>0) { - cat(" Spatially varying survival layer indices:\n") - print(object@SurvLayer) - } - cat(" PostDestructn :", paste(object@PostDestructn) ) - if (object@PostDestructn) { - cat(" (all disperse)\n") - } - else { - cat(" (all die)\n") - } - cat ("\n")} -) -setMethod("plotProbs", "StagesParams", function(x, stage = NULL, sex = NULL, xmax = NULL, ymax = NULL){ - lines <- dim(x@TransMatrix)[2] - if (lines==x@Stages) {SexDep = FALSE} - else if (lines==(2*x@Stages)) {SexDep = TRUE} - else { - print("Wrong format of transition matrix.\n") - return(NULL) - } - fecs <- x@TransMatrix[1,] - if (SexDep) { - surv <- devs <- rep(0,lines) - for(s in 1:lines ){ - if(s==1) ss <- x@TransMatrix[s,s] else ss <- x@TransMatrix[s-1,s] - if((s+2)>lines) dd <- 0 else dd <- x@TransMatrix[s+1,s] - surv[s] <- ss+dd - devs[s] <- dd/(ss+dd) - } - } - else { # !SexDep - if (!is.null(sex)) print("This stage structure has no sex-dependency.\n") - surv <- devs <- rep(0,lines) - for(s in 1:lines ){ - ss <- x@TransMatrix[s,s] - if(s!=lines) dd <- x@TransMatrix[s+1,s] else dd <- 0 - surv[s] <- ss+dd - devs[s] <- dd/(ss+dd) - } - } - if (is.null(stage)){stage <- 0:10} - if (is.null(sex)){sex <- 0:1} - # New plot - if (is.null(xmax)) {xmax = 4.0} - xvals = seq(0, xmax, length.out = 100) - if (is.null(ymax)) { ymax = max(1.0,fecs) } - plot(NULL, type = "n", ylab = "Fecundity, Survival, Development", xlab = "relative population density bN", xlim = c(0,xmax), ylim = c(0,ymax)) - leg.txt <- leg.col <- c() - for(line in 1:lines ){ - if (SexDep) { - this.stage = as.integer(line/2-0.1) - this.sex = (line+1)%%2 - } - else { - this.stage = line-1 - this.sex = 0 - } - if (this.stage %in% stage && this.sex %in% sex) { - if(x@FecDensDep){ lines(xvals, fecs[line]*exp(-xvals), type = "l", lty = 1, col = line) } - else{ lines(xvals, rep(fecs[line], length(xvals)), type = "l", lty = 1, col = line) } - if(x@SurvDensDep){ lines(xvals, surv[line]*exp(-x@SurvDensCoeff*xvals), type = "l", lty = 2, col = line) } - else{ lines(xvals, rep(surv[line], length(xvals)), type = "l", lty = 2, col = line) } - if(x@DevDensDep){ lines(xvals, devs[line]*exp(-x@DevDensCoeff*xvals), type = "l", lty = 3, col = line) } - else{ lines(xvals, rep(devs[line], length(xvals)), type = "l", lty = 3, col = line) } - if(SexDep) {leg.txt <- c(leg.txt, paste0("Stage ",this.stage, ifelse(this.sex," male"," female")))} - else {leg.txt <- c(leg.txt, paste0("Stage ",this.stage))} - leg.col <- c(leg.col, line) - } - } - if (length(leg.txt)>0) { - leg.txt <- c("Fecundity","Survival prob.","Developmt. prob.",leg.txt) - legend("topright", leg.txt, col = c(rep(1,3),leg.col), lwd = 1.5, lty = c(1:3,rep(1,length(leg.col))) ) - } -}) - - -#### CLASS DEMOGRAPHY - -# contains basic demographic parameters (originally in RS 'Rarameters'-file) and optionally the 'StageStruct' object - -# define this ClassUnion so that the 'stages' slot in the parameter master class 'RSparams' can be FALSE for option 'population with non-overlapping generations' -setClassUnion("StagesSlot", c("logical", "StagesParams")) - -#' Set Demographic Parameters -#' -#' For a simple non-structured population, set its basic demographic parameters here, i.e. the maximum growth rate (\code{Rmax}) and the competition coefficient (\code{bc}). -#' For a stage-structured population, define its corresponding parameters via \code{\link[RangeShiftR]{StageStructure}} and add it to Demography.\cr -#' \cr -#' Choose the Reproduction model that determines if sexes are considered implicitly or explicitly and if a mating system is used. If applicable, set the corresponding parameters, i.e. the proportion of males (\code{PropMales}) and the maximum harem size (\code{Harem}). -#' -#' @usage Demography(Rmax, bc = 1.0, StageStruct = FALSE, -#' ReproductionType = 0, PropMales = 0.5, Harem = 1) -#' @param Rmax Maximum growth rate. Describes the mean number of offspring per female and reproductive event at very low density. Only required if \code{StageStruct=FALSE}. -#' @param bc Competition coefficient. Describes the type of density regulation, providing the possibility for under-compensatory (\eqn{b_c < 1}), compensatory (\eqn{b_c = 1}) (default) or over-compensatory (\eqn{b_c > 1}) dynamics. Only required if \code{StageStruct=FALSE}. -#' @param StageStruct \code{FALSE} (default) yields a population model with non-overlapping generations.\cr For a stage-structured population, this takes the corresponding parameter object generated by \code{\link[RangeShiftR]{StageStructure}}, which holds all demographic parameters. -#' @param ReproductionType 0 = asexual / only female model (default)\cr1 = simple sexual model\cr2 = sexual model with explicit mating system -#' @param PropMales Required if \code{ReproductionType={1,2}}: Proportion of males in the population, between \eqn{0} and \eqn{1}. Defaults to \eqn{0.5}. -#' @param Harem Required if \code{ReproductionType=2}: Maximum harem size. The maximum number of pair bonds that a male can establish. \eqn{Harem = 1} (default) corresponds to monogamy, \eqn{01} to polygyny. -#' @details The following information regards the population dynamics of a \strong{non-structured} (\code{StageStruct=FALSE}) population.\cr -#' For more information on the population dynamics of a \strong{structured} population, see \code{\link[RangeShiftR]{StageStructure}}. -#' -#' Populations with non-overlapping generations, i.e. with \strong{no stage-structure} are the appropriate way to model species that have discrete generations. -#' At each generation the life cycle comprises - in that order - reproduction, death of the adults and offspring dispersal. -#' Two parameters determine the nature of the demographic density dependence: -#' the carrying capacity \eqn{K} (given by the argument \code{K_or_DensDep} in the landscape module) and -#' the competition coefficient \eqn{b_c} (given by the argument \code{bc}). -#' These discrete generation models can be applied to asexual species, species for which it is assumed that females play the dominant role in spatial dynamics -#' and for species for which it is considered crucial to model both sexes explicitly. -#' -#' \emph{Asexual / only-female models:} (\code{ReproductionType=0})\cr -#' Recruitment is determined by a stochastic, individual-based formulation of the \insertCite{smith1973;textual}{RangeShiftR} population model, where the number of offspring produced by a single individual in the cell/patch \eqn{i} at time \eqn{t}, is drawn from the following distribution:\cr -#' -#' \ifelse{html}{\out{  Njuv(i,t) = Poisson( R(i,t) / (1+|R(i,t) - 1| * (N(i,t) / K(i,t))bc ) ) } }{\deqn{N_juv(i,t) = Poisson( R(i,t) / (1 + |R(i,t) - 1|*( N(i,t) / K(i,t) )^bc ) ) } } -#' -#' Here, \eqn{R(i,t)} is the maximum growth rate \code{Rmax} (obtained at very low density only) and \eqn{K(i,t)} is the carrying capacity -#' at patch \eqn{i} and time \eqn{t}. -#' Both \eqn{R(i,t)} and \eqn{K(i,t)} can vary in space and time, depending on the model setting. \ifelse{html}{\out{bc}}{\eqn{b_c}} -#' is the competition coefficient which describes the type of density regulation, providing the possibility for under-compensatory -#' (\ifelse{html}{\out{bc < 1}}{\eqn{b_c < 1}}), compensatory (\ifelse{html}{\out{bc = 1}}{\eqn{b_c = 1}}) or -#' over-compensatory (\ifelse{html}{\out{bc > 1}}{\eqn{b_c > 1}}) dynamics.\cr -#' \cr -#' \emph{Sexual models}\cr -#' In this type of models, individuals are explicitly characterized by their sex. The proportion of each sex in the population is controlled by setting the proportion of males (\code{PropMales}). There are two types of possible sexual sub-models:\cr -#' \cr -#' \emph{Simple mating system:} (\code{ReproductionType=1})\cr -#' This is the simplest form of mate limitation. Each female individual is assumed to mate, as long as there is at least one male in the population. As for the asexual case, the Maynard Smith and Slatkin model is used to determine the expected number of -#' offspring produced by each female. To maintain equivalence between the asexual and sexual versions, the expected value of the Poisson distribution is multiplied by \eqn{2} (Lindström & Kokko 1998):\cr -#' -#' \ifelse{html}{\out{  Njuv(i,t) = Poisson( 2 R(i,t) / (1+|R(i,t) - 1| * (N(i,t) / K(i,t) )bc ) ) } }{\deqn{N_juv(i,t) = Poisson( 2 R(i,t) / (1 + |R(i,t) - 1|*( N(i,t) / K(i,t) )^bc ) ) } } -#' -#' \emph{Complex mating system:} (\code{ReproductionType=2})\cr -#' More complex and flexible mating system. Mating is explicitly modelled through a mating function -#' \insertCite{lindstrom1998,legendre2004,bessa2010}{RangeShiftR}, where the number of mated females \eqn{c} is given by: -#' \deqn{c = f * min(1, 2hm/(f+hm) )} -#' where \eqn{f} and \eqn{m} are the numbers of potentially reproductive females and males, respectively, and \eqn{h} is the maximum harem size \code{Harem}, i.e. the maximum number of pair bonds that a male can establish. \eqn{h=1} corresponds to monogamy, \eqn{01} to polygyny. Each potentially reproductive female has a probability of reproducing \ifelse{html}{\out{pr}}{\eqn{p_r}} given by: -#' \deqn{p_r=c/f} -#' A Bernoulli trial \eqn{Bern}\ifelse{html}{\out{(pr)}}{\eqn{(p_r)}} determines if the female reproduces or not. For females that reproduce, the number of offspring is determined through the Poisson distribution as stated above. Hence, the specification of the mating system determines the probability for each female to reproduce. However, no explicit pair bonds are formed, and in the cases where traits inheritance is -#' involved, the father (of all the offspring produced by a single female in a single reproductive event) is selected randomly from the males in the population.\cr -#' \cr -#' Populations with overlapping generations, i.e. with \strong{with stage-structure} are the appropriate choice for species in which generations can overlap and individuals can be classified in different stages -#' (e.g. immature vs. breeding individuals) differing in their demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity (which will be used as expected value of the Poisson distribution for reproduction), survival -#' and probability of developing to the next stage. The parameters are provided as classical transition matrices \insertCite{caswell2001}{RangeShiftR} through a \code{\link[RangeShiftR]{StageStructure}} -#' parameter object. For more information on the population dynamics in this case, see the details there. -#' @references -#' \insertAllCited{} -#' @return a parameter object of class "DemogParams" -#' @author Anne-Kathleen Malchow -#' @name Demography -#' @export Demography -Demography <- setClass("DemogParams", slots = c(Rmax = "integer_OR_numeric", - bc = "numeric", - StageStruct = "StagesSlot", - ReproductionType = "integer_OR_numeric", - PropMales = "numeric", - Harem = "integer_OR_numeric") - , prototype = list(#Rmax = 1.5, - bc = 1.0, - StageStruct = FALSE, - ReproductionType = 0L, - PropMales = 0.5, - Harem = 1L) -) -setValidity("DemogParams", function(object) { - msg <- NULL - if (anyNA(object@ReproductionType) || length(object@ReproductionType)!=1) { - msg <- c(msg, "ReproductionType must be set and of length 1!") - } - else { - if (! object@ReproductionType %in% (0:2) ) { - msg <- c(msg, "ReproductionType must be 0, 1 or 2!") - } - else{ - if (object@ReproductionType) { - if (anyNA(object@PropMales) || length(object@PropMales)!=1) { - msg <- c(msg, "Proportion of males must be set and of length 1!") - } - else { - if (object@PropMales <= 0.0 || object@PropMales >= 1.0) { - msg <- c(msg, "Proportion of males must be in the open interval (0,1)!") - } - } - } - if (object@ReproductionType==2) { - if (anyNA(object@Harem) || length(object@Harem)!=1) { - msg <- c(msg, "Maximum harem size must be set and of length 1!") - } - else { - if (object@Harem<=0) { - msg <- c(msg, "Maximum harem size must be positive!") - } - } - } - } - } - validObject(object@StageStruct) - if (class(object@StageStruct)[1]=="logical") { - if (object@StageStruct) { # StageStruct=TRUE - msg <- c(msg, "StageStruct must either be FALSE or an object of class \"StagesParams\" !") - } - else { # StageStruct=FALSE - if (anyNA(object@Rmax) || length(object@Rmax)!=1) { - msg <- c(msg, "Maximum growth rate Rmax must be set for a non-structured population!") - } - else { - if (object@Rmax<=0) { - msg <- c(msg, "Maximum growth rate Rmax must be positive!") - } - } - if (anyNA(object@bc) || length(object@bc)!=1) { - msg <- c(msg, "Competition coefficient bc must be set for a non-structured population!") - } - else { - if (object@bc<=0) { - msg <- c(msg, "Competition coefficient bc must be positive!") - } - } - } - } - else{ - if (class(object@StageStruct)[1]=="StagesParams") { #stage-structured model - stgs <- object@StageStruct@Stages - if (object@ReproductionType == 2) { # explicit sexual model - if ( any(dim(object@StageStruct@TransMatrix)!=c(2*stgs-1,2*stgs) )) { - msg <- c(msg, "Transition Matrix must have dimensions 2*\'Stages\'-1 x 2*\'Stages\' !") - } - else { # check transition matrix - if (any(object@StageStruct@TransMatrix[1,1:2]!=0) ) { - msg <- c(msg, "Transition Matrix: Fecundity of juvenile stage must be zero!") - } - if (any(object@StageStruct@TransMatrix[1,]<0) ) { - msg <- c(msg, "Transition Matrix: Fecunditiy must be positive or zero!") - } - if (any(object@StageStruct@TransMatrix[-1,]<0) || any(object@StageStruct@TransMatrix[-1,]>1) ) { - msg <- c(msg, "Transition Matrix: All transition probabilities must be in the closed interval [0,1]") - } - else{ # passed first line of tests - for (ss in 1:2){ - if (any(object@StageStruct@TransMatrix[-(ss+1),ss]!=0)) { - msg <- c(msg, "Transition Matrix: Found non-zero entries (in juvenile) where zeroes are expected!") - } - } - if (stgs>2){ - for (ss in 3:((stgs-1)*2)){ - if (sum(object@StageStruct@TransMatrix[c((ss-1),(ss+1)),ss])>1) { - msg <- c(msg, "Transition Matrix: Sum of probabilities to stay in current stage and to develop can't exceed 1!") - } - if (any(object@StageStruct@TransMatrix[-c(1,(ss-1),(ss+1)),ss]!=0)) { - msg <- c(msg, "Transition Matrix: Found non-zero entries where zeroes are expected!") - } - } - } - for (ss in (stgs*2-1):(stgs*2)){ - if (any(object@StageStruct@TransMatrix[-c(1,(ss-1)),ss]!=0)) { - msg <- c(msg, "Transition Matrix: Found non-zero entries where zeroes are expected!") - } - } - } - } - if (length(object@StageStruct@MinAge)==1 && object@StageStruct@MinAge==0) { - # do nothing and figure out a way to set as default a null vector of the correct length - } - else { - if (length(object@StageStruct@MinAge)!=(2*stgs-1)) { - msg <- c(msg, "Minimum Age vector must have dimensions 2*\'Stages\'-1 !") - } - else{ - if (any(object@StageStruct@MinAge[1:2]!=0) ) { - msg <- c(msg, "MinAge of stages 0 and 1 must be zero!") - } - if (any(object@StageStruct@MinAge<0)) { - msg <- c(msg, "MinAge must be positive!") - } - } - } - if (object@StageStruct@FecStageWts) { - if (!anyNA(object@StageStruct@FecStageWtsMatrix)) { - if ( any(dim(object@StageStruct@FecStageWtsMatrix)!=c(2*stgs,2*stgs) )) { - msg <- c(msg, "FecStageWtsMatrix must have dimensions 2*\'Stages\' x 2*\'Stages\' !") - } - } - } - if (object@StageStruct@DevStageWts) { - if (!anyNA(object@StageStruct@DevStageWtsMatrix)) { - if ( any(dim(object@StageStruct@DevStageWtsMatrix)!=c(2*stgs,2*stgs) )) { - msg <- c(msg, "DevStageWtsMatrix must have dimensions 2*\'Stages\' x 2*\'Stages\' !") - } - } - } - if (object@StageStruct@SurvStageWts) { - if (!anyNA(object@StageStruct@SurvStageWtsMatrix)) { - if ( any(dim(object@StageStruct@SurvStageWtsMatrix)!=c(2*stgs,2*stgs) )) { - msg <- c(msg, "SurvStageWtsMatrix must have dimensions 2*\'Stages\' x 2*\'Stages\' !") - } - } - } - if (length(object@StageStruct@FecLayer)>0) { - if ( any(dim(object@StageStruct@FecLayer)!=c(stgs,2) )) { - msg <- c(msg, "FecLayer must have dimensions \'Stages\' x 2 !") - } - } - if (length(object@StageStruct@DevLayer)>0) { - if ( any(dim(object@StageStruct@DevLayer)!=c(stgs,2) )) { - msg <- c(msg, "DevLayer must have dimensions \'Stages\' x 2 !") - } - } - if (length(object@StageStruct@SurvLayer)>0) { - if ( any(dim(object@StageStruct@SurvLayer)!=c(stgs,2) )) { - msg <- c(msg, "SurvLayer must have dimensions \'Stages\' x 2 !") - } - } - } - else{ # asexual model or simple sexual model - if ( any(dim(object@StageStruct@TransMatrix)!=c(stgs,stgs) )) { - msg <- c(msg, "Transition Matrix must have dimensions \'Stages\' x \'Stages\' !") - } - else { # check transition matrix - if (object@StageStruct@TransMatrix[1,1]!=0) { - msg <- c(msg, "Transition Matrix: Fecundity of juvenile stage must be zero!") - } - if (any(object@StageStruct@TransMatrix[1,]<0) ) { - msg <- c(msg, "Transition Matrix: Fecunditiy must be positive or zero!") - } - if (any(object@StageStruct@TransMatrix[-1,]<0) || any(object@StageStruct@TransMatrix[-1,]>1) ) { - msg <- c(msg, "Transition Matrix: All transition probabilities must be in the closed interval [0,1]") - } - else{ # passed first line of tests - for (ss in 1:(stgs-1)){ - if (sum(object@StageStruct@TransMatrix[ss:(ss+1),ss])>1) { - msg <- c(msg, "Transition Matrix: Sum of probabilities to stay in current stage and to develop can't exceed 1!") - } - if (any(object@StageStruct@TransMatrix[-c(1,ss,(ss+1)),ss]!=0)) { - msg <- c(msg, "Transition Matrix: Found non-zero entries where zeroes are expected!") - } - } - if (any(object@StageStruct@TransMatrix[-c(1,stgs),stgs]!=0)) { - msg <- c(msg, "Transition Matrix: Found non-zero entries where zeroes are expected!") - } - } - } - if (length(object@StageStruct@MinAge)==1 && object@StageStruct@MinAge==0) { - # do nothing and figure out a way to set as default a null vector of the correct length - } - else { - if (length(object@StageStruct@MinAge)!=stgs) { - msg <- c(msg, "Minimum Age vector must have dimensions \'Stages\' !") - } - else{ - if (any(object@StageStruct@MinAge[1:2]!=0) ) { - msg <- c(msg, "MinAge of stages 0 and 1 must be zero!") - } - if (any(object@StageStruct@MinAge<0)) { - msg <- c(msg, "MinAge must be positive!") - } - } - } - if (object@StageStruct@FecStageWts) { - if (!anyNA(object@StageStruct@FecStageWtsMatrix)) { - if ( any(dim(object@StageStruct@FecStageWtsMatrix)!=c(stgs,stgs) )) { - msg <- c(msg, "FecStageWtsMatrix must have dimensions \'Stages\' x \'Stages\' !") - } - } - } - if (object@StageStruct@DevStageWts) { - if (!anyNA(object@StageStruct@DevStageWtsMatrix)) { - if ( any(dim(object@StageStruct@DevStageWtsMatrix)!=c(stgs,stgs) )) { - msg <- c(msg, "DevStageWtsMatrix must have dimensions \'Stages\' x \'Stages\' !") - } - } - } - if (object@StageStruct@SurvStageWts) { - if (!anyNA(object@StageStruct@SurvStageWtsMatrix)) { - if ( any(dim(object@StageStruct@SurvStageWtsMatrix)!=c(stgs,stgs) )) { - msg <- c(msg, "SurvStageWtsMatrix must have dimensions \'Stages\' x \'Stages\' !") - } - } - } - if (length(object@StageStruct@FecLayer)>0) { - if ( any(dim(object@StageStruct@FecLayer)!=c(stgs,1) )) { - msg <- c(msg, "FecLayer must have dimensions \'Stages\' x 1 !") - } - } - if (length(object@StageStruct@DevLayer)>0) { - if ( any(dim(object@StageStruct@DevLayer)!=c(stgs,1) )) { - msg <- c(msg, "DevLayer must have dimensions \'Stages\' x 1 !") - } - } - if (length(object@StageStruct@SurvLayer)>0) { - if ( any(dim(object@StageStruct@SurvLayer)!=c(stgs,1) )) { - msg <- c(msg, "SurvLayer must have dimensions \'Stages\' x 1 !") - } - } - } - } - else{ - msg <- c(msg, "StageStruct must either be FALSE or an object of class \"StagesParams\" !") - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "DemogParams", function(.Object,...) { - this_func = "Demography(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if (class(.Object@StageStruct)[1]=="StagesParams") { - .Object@Rmax = -9L - if (!is.null(args$Rmax)) { - warning(this_func, "Maximum growth rate Rmax", warn_msg_ignored, "in a stage-structured model.", call. = FALSE) - } - .Object@bc = -9L - if (!is.null(args$bc)) { - warning(this_func, "Competition coefficient bc", warn_msg_ignored, "in a stage-structured model.", call. = FALSE) - } - } - if (.Object@ReproductionType==0) { - .Object@PropMales = -9L - if (!is.null(args$PropMales)) { - warning(this_func, "Proportion of males", warn_msg_ignored, "in an asexual / only-female model.", call. = FALSE) - } - } - if (.Object@ReproductionType!=2) { - .Object@Harem = -9L - if (!is.null(args$Harem)) { - warning(this_func, "Maximum harem size", warn_msg_ignored, "in a model without mating system. (Only used when ReproductionType = 2)", call. = FALSE) - } - } - .Object} -) -setMethod("show", "DemogParams", function(object){ - cat(" Demography:\n") - if (class(object@StageStruct)[1]=="StagesParams") { - cat(" Stage-structured population:\n") - print(object@StageStruct) - } - else { - cat(" Unstructured population:\n") - cat(" Rmax :", paste(object@Rmax), "\n") - cat(" bc :", paste(object@bc) , "\n") - } - cat(" Reproduction Type :", paste(object@ReproductionType)) - if(object@ReproductionType) { - cat(" (sexual model)\n") - cat(" PropMales :", paste(object@PropMales), "\n") - } - else{ - cat(" (female only)\n") - } - if(object@ReproductionType==2) { - cat(" Harem :", paste(object@Harem), "\n") - } -}) - -# RS manual 2.4.2 (page 23) - 2.4.3 (page 34) diff --git a/RangeShiftR/R/class_DispersalParams.R b/RangeShiftR/R/class_DispersalParams.R deleted file mode 100644 index 58f1834..0000000 --- a/RangeShiftR/R/class_DispersalParams.R +++ /dev/null @@ -1,2130 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -#### DISPERSAL #### - - -### SUBCLASS EMIGRATIONPARAMS - -# from RS 'Emigration' file - -#' Set Emigration Parameters -#' -#' Emigration - the first phase of dispersal - is modelled as the probability that an individual leaves its natal patch during the present year (or season). -#' It is constant by default, but can be set to be density-dependent (\code{DensDep}) and/or to vary for each individual (\code{IndVar}). In case of a stage-structured/sexual -#' population model, the emigration probabilities can also vary with stage/sex (\code{StageDep/SexDep}). If inter-individual variability is -#' enabled, the emigration traits can also be allowed to evolve (also set \code{TraitScaleFactor}). -#' -#' @usage Emigration(EmigProb = 0.0, -#' SexDep = FALSE, StageDep = FALSE, -#' DensDep = FALSE, -#' IndVar = FALSE, -#' TraitScaleFactor, -#' EmigStage, -#' UseFullKern = FALSE) -#' @param EmigProb Matrix containing all parameters (#columns) to determine emigration probabilities for each stage/sex (#rows). Its structure depends on the other parameters, see the Details. -#' If the emigration probability is constant (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}), \code{EmigProb} can take a single numeric. Defaults to \eqn{0.0}. -#' @param SexDep Sex-dependent emigration probability? (default: \code{FALSE}) -#' @param StageDep Stage-dependent emigration probability? (default: \code{FALSE}) Must be \code{FALSE} if \code{IndVar=TRUE}. -#' @param DensDep Density-dependent emigration probability? (default: \code{FALSE}) -#' @param IndVar Individual variability in emigration traits? (default: \code{FALSE}) Must be \code{FALSE} if \code{StageDep=TRUE}. -#' @param TraitScaleFactor Required if \code{IndVar=TRUE}: The scaling factor(s) for emigration traits. A numeric of length \eqn{1} (if \code{DensDep=FALSE}) or \eqn{3} (if \code{DensDep=TRUE}). -#' @param EmigStage Required for stage-structured populations with \code{IndVar=TRUE}: Stage which emigrates. (\code{StageDep} must be \code{FALSE}) -#' @param UseFullKern Applicable only if transfer phase is modelled by a \code{\link[RangeShiftR]{DispersalKernel}} and \code{DensDep=FALSE}: Shall the emigration probability be derived from dispersal kernel? -#' @details Emigration is modelled as the probability \eqn{d} that an individual leaves its natal patch during the present year or season (every reproductive event -#' is always followed by dispersal). -#' Populations with non-overlapping generations have only a single opportunity to emigrate, whereas in a stage-structured population the realised overall emigration -#' rate can be larger than \eqn{d}, if a stage with \eqn{d>0} lasts for more than one year so that an individual has multiple opportunities to emigrate (each with probability \eqn{d}). -#' -#' The emigration probability \eqn{d} can be density-dependent (set \code{DensDep=TRUE}), in which case it is given by the following function, introduced by \insertCite{kun2006evolution;textual}{RangeShiftR}: -#' -#' \ifelse{html}{\out{   d(i,t) = D0 / ( 1 + e-αsub>E (N(i,t) / K(i,t) - βsub>E) ) } }{\deqn{ d(i,t) = D_0 / ( 1 + exp[-α_E (N(i,t)/K(i,t) - β_E) ] ) } } -#' -#' In the case of stage-structured models this equation is modified to: -#' -#' \ifelse{html}{\out{   d(i,t) = D0 / ( 1 + e-αsub>E (b(i,t) * N(i,t) - βsub>E) ) } }{\deqn{ d(i,t) = D_0 / ( 1 + exp[-α_E (b(i,t) N(i,t) - β_E) ] ) } } -#' -#' In the first case, \eqn{K(i,t)} is the carrying capacity of the cell/patch \eqn{i} at time \eqn{t} given by \code{K_or_DensDep}. -#' In the latter case, \eqn{b(i,t)} represents the strength of density dependence and is given by the inverse of \code{K_or_DensDep}.\cr -#' Further, \ifelse{html}{\out{D0}}{\eqn{D_0}} is the maximum emigration probability, -#' \eqn{N(i,t)} is the number of individuals in the cell/patch \eqn{i} at time \eqn{t}, -#' \ifelse{html}{\out{βE}}{\eqn{β_S}} is the inflection point of the function and -#' \ifelse{html}{\out{αE}}{\eqn{α_S}} is the slope at the inflection point.\cr -#' -#' Various functions have been proposed for density dependent emigration \insertCite{hovestadt2010information,poethke2011ability}{RangeShiftR}. -#' This one was chosen here because it is a flexible function that -#' allows for modelling a range of different reaction norms, as well as their emergence through evolution. In the case of density-dependent -#' emigration, we assume individuals to have full knowledge of the population density and carrying capacity (or 1/b, respectively) in their natal patch. -#' Information acquisition is not explicitly modelled. -#' -#' The emigration probability can be allowed to vary between individuals (set \code{IndVar=TRUE}) and to evolve. In the this case, individuals exhibit either one trait -#' determining the density-independent \eqn{d} (when \code{DensDep=FALSE}), or the three traits \ifelse{html}{\out{D0}}{\eqn{D_0}}, \eqn{α} and -#' \eqn{β} determining the density-dependent emigration probability (when \code{DensDep=TRUE}).\cr -#' For each trait the initial distribution in the population (as mean and standard variation) must be set in \code{EmigProb} (instead of only one constant value), -#' as well as their scaling factors in \code{TraitScaleFactor} (see \code{\link[RangeShiftR]{Genetics}}). -#' Also, if \code{IndVar=TRUE} is set for a stage-structured population, it is required to specify the stage which emigrates via \code{EmigStage}. -#' -#' It is possible to model sex-specific emigration strategies (set \code{SexDep=TRUE}) \insertCite{greenwood1980mating,lawson2007advances}{RangeShiftR}. -#' In this case the number of traits is doubled; one set coding for the trait(s) in females and the other for the trait(s) in males. -#' As well as being sex-biased, emigration parameters can be stage-biased (set \code{StageDep=TRUE}) when modelling stage-structured populations. -#' However, the current version does not accommodate inter-individual variation in emigration strategies when they are stage-dependent. -#' -#' The parameters that determine the emigration probabilities have to be provided via \code{EmigProb}, which generally takes a matrix, or - if only a single constant probability is -#' used (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}) - a single numeric. The format of the matrix is defined as follows: The number of columns depend on the options \code{DensDep} and \code{IndVar}. If \code{DensDep=FALSE}, the -#' density-independent probability \eqn{d} must be specified. If \code{DensDep=TRUE}, the functional parameters \ifelse{html}{\out{D0}}{\eqn{D_0}}, \eqn{α} and \eqn{β} (cp. equation above) must be specified. -#' Additionally, if \code{IndVar=FALSE}, these parameters are fixed, but if \code{IndVar=TRUE} each of them is replaced by two parameters: their respective mean and -#' standard deviation. They are used to normally distribute the traits values among the individuals of the initial population. -#' -#' All parameters have to be given for each stage/sex if the respective dependence is enabled. If \code{StageDep=TRUE}, state the corresponding stage in the first column. -#' If \code{SexDep=TRUE}, state the corresponding stage in the next (i.e. first/second) column, with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. The following table lists the required columns and their correct order for different settings: -#' -#' \tabular{ccccc}{DensDep \tab IndVar \tab StageDep \tab SexDep \tab columns \cr -#' F \tab F \tab F \tab F \tab \eqn{d} \cr -#' F \tab F \tab T \tab F \tab stage, \eqn{d} \cr -#' F \tab F \tab F \tab T \tab sex, \eqn{d} \cr -#' F \tab F \tab T \tab T \tab stage, sex, \eqn{d} \cr -#' T \tab F \tab F \tab F \tab \ifelse{html}{\out{D0}}{\eqn{D_0}}, \eqn{α}, \eqn{β} \cr -#' F \tab T \tab F \tab F \tab mean\eqn{(d)}, sd\eqn{(d)} \cr -#' T \tab T \tab F \tab F \tab \ifelse{html}{\out{mean(D0)}}{mean\eqn{(D_0)}}, \ifelse{html}{\out{sd(D0)}}{sd\eqn{(D_0)}}, mean\eqn{(α)}, sd\eqn{(α)}, mean\eqn{(β)}, sd\eqn{(β)} \cr -#' \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \cr -#' T \tab T \tab F \tab T \tab sex, \ifelse{html}{\out{mean(D0)}}{mean\eqn{(D_0)}}, \ifelse{html}{\out{sd(D0)}}{sd\eqn{(D_0)}}, mean\eqn{(α)}, sd\eqn{(α)}, mean\eqn{(β)}, sd\eqn{(β)} -#' } -#' -#' The column headings need not be included, only the numeric matrix is required. The rows require no particular order, but there must be exactly one row for each stage/sex combination. For example, in the case of density-, stage- and sex-dependent emigration with no individual variability: -#' \tabular{ccccc}{ \out{ } 0 \tab \out{ } 0 \tab \out{ } 1.0 \tab \out{ } 20 \tab \out{ } 0.2 \cr -#' \out{ } 0 \tab \out{ } 1 \tab \out{ } 1.0 \tab \out{ } 20 \tab \out{ } 0.1 \cr -#' \out{ } 1 \tab \out{ } 0 \tab \out{ } 0.7 \tab \out{ } 25 \tab \out{ } 0.5 \cr -#' \out{ } 1 \tab \out{ } 1 \tab \out{ } 0.8 \tab \out{ } 50 \tab \out{ } 0.5 \cr -#' \out{ } 2 \tab \out{ } 0 \tab \out{ } 0.4 \tab \out{ } 10 \tab \out{ } 1.0 \cr -#' \out{ } 2 \tab \out{ } 1 \tab \out{ } 0.5 \tab \out{ } 20 \tab \out{ } 1.0 -#' } -#' -#' In the special case that \code{DensDep=FALSE} and transfer is realised by \code{\link[RangeShiftR]{DispersalKernel}}, then the option \code{UseFullKern} may be switched on. It -#' will prevent re-sampling from the kernel if the distance sampled does not move the individual out of its natal cell/patch. Such individuals -#' are treated as philopatric recruits, and hence the kernel determines the probability of emigration. In this case, the emigration probability -#' for all stages/sexes which potentially disperse should be set to \eqn{1.0}. -#' @examples # stage- and sex-dependent constant emigration probabilities: -#' emigmat_1 <- matrix(c(0,0,1,0,1,1,1,0,.7,1,1,.8,2,0,.4,2,1,.5), byrow = TRUE, ncol = 3) -#' emig_1 <- Emigration(StageDep = TRUE, SexDep = TRUE, EmigProb = emigmat_1) -#' plotProbs(emig_1) -#' -#' # stage- and sex- and density-dependent emigration: -#' emigmat_2 <- matrix(c(0,0,1,20,.2,0,1,1,20,.1,1,0,.7,25,.5,1,1,.8,50,.5,2,0,.4,10,1,2,1,.5,20,1), byrow = TRUE, ncol = 5) -#' emig_2 <- Emigration(DensDep = TRUE, StageDep = TRUE, SexDep = TRUE, EmigProb = emigmat_2) -#' plotProbs(emig_2) -#' -#' # inter-individual variation with density- and sex-dependence : -#' emigmat_3 <- matrix(c(0,.7,.1,20,7,.2,.01,1,.9,.05,40,4,.5,.05), byrow = TRUE, ncol = 7) -#' emig_3 <- Emigration(DensDep = TRUE, IndVar = TRUE, SexDep = TRUE, EmigProb = emigmat_3, TraitScaleFactor = c(.1,7,.05)) -#' plotProbs(emig_3) -#' @references -#' \insertAllCited{} -#' @return a parameter object of class "EmigrationParams" -#' @author Anne-Kathleen Malchow -#' @name Emigration -#' @export Emigration -Emigration <- setClass("EmigrationParams", slots = c(DensDep = "logical", - IndVar = "logical", - StageDep = "logical", - SexDep = "logical", - EmigProb = "matrix_OR_numeric", - TraitScaleFactor = "numeric", - EmigStage = "integer_OR_numeric", - UseFullKern = "logical") - , prototype = list(DensDep = FALSE, - IndVar = FALSE, - StageDep = FALSE, - SexDep = FALSE, - EmigProb = matrix(data = 0.0, nrow = 1, ncol = 1), - #TraitScaleFactor = NA_real_, - #EmigStage = 0L, - UseFullKern = FALSE) -) - # discuss TraitScaleFactor in the Details - - -setValidity("EmigrationParams", function(object) { - msg <- NULL - if (anyNA(object@DensDep) || length(object@DensDep)!=1) { - msg <- c(msg, "DensDep must be set and of length 1!") - } - if (anyNA(object@IndVar) || length(object@IndVar)!=1) { - msg <- c(msg, "IndVar must be set and of length 1!") - } - else { - if (anyNA(object@StageDep) || length(object@StageDep)!=1) { - msg <- c(msg, "StageDep must be set and of length 1!") - } - else{ - if (object@IndVar && object@StageDep) { - msg <- c(msg, "Inter-individual variability (IndVar=TRUE) in stage-dependent (StageDep=TRUE) emigration traits is not implemented!") - } - } - } - if (anyNA(object@SexDep) || length(object@SexDep)!=1) { - msg <- c(msg, "SexDep must be set and of length 1!") - } - if (anyNA(object@EmigProb) || length(object@EmigProb)==0) { - msg <- c(msg, "EmigProb must be set!") - } - else{ - if (!object@IndVar && !object@DensDep && !object@StageDep && !object@SexDep) { - if (length(object@EmigProb)==1) { - if (object@EmigProb < 0 || object@EmigProb > 1) { - msg <- c(msg, "EmigProb must be in the closed interval [0,1]!") - } - } - else { - msg <- c(msg, "EmigProb must have only one entry since it is set to be constant!") - } - } - else { - if (class(object@EmigProb)[1]!="matrix" && length(object@EmigProb)!=1) { - msg <- c(msg, "EmigProb must be a matrix!") - } - else { - if (object@IndVar && !object@DensDep && !object@StageDep && !object@SexDep && any(dim(object@EmigProb)!=c(1,2)) ) { - msg <- c(msg, "EmigProb must be a 1x2 matrix if DensDep,StageDep,SexDep = FALSE and IndVar = TRUE!") - } - if (!object@IndVar && object@DensDep && !object@StageDep && !object@SexDep && any(dim(object@EmigProb)!=c(1,3)) ) { - msg <- c(msg, "EmigProb must be a 1x3 matrix if IndVar,StageDep,SexDep = FALSE and DensDep = TRUE!") - } - if (!object@IndVar && !object@DensDep && object@StageDep && !object@SexDep && dim(object@EmigProb)[2]!=2 ) { - msg <- c(msg, "EmigProb must have 2 columns if IndVar,DensDep,SexDep = FALSE and StageDep = TRUE!") - } - if (!object@IndVar && !object@DensDep && !object@StageDep && object@SexDep && any(dim(object@EmigProb)!=c(2,2)) ) { - msg <- c(msg, "EmigProb must be a 2x2 matrix if IndVar,DensDep,StageDep = FALSE and SexDep = TRUE!") - } - if (!object@IndVar && !object@DensDep && object@StageDep && object@SexDep && dim(object@EmigProb)[2]!=3 ) { - msg <- c(msg, "EmigProb must have 3 columns if IndVar,DensDep = FALSE and StageDep,SexDep = TRUE!") - } - if (!object@IndVar && object@DensDep && object@StageDep && !object@SexDep && dim(object@EmigProb)[2]!=4 ) { - msg <- c(msg, "EmigProb must have 4 columns if IndVar,SexDep = FALSE and DensDep,StageDep = TRUE!") - } - if (!object@IndVar && object@DensDep && !object@StageDep && object@SexDep && any(dim(object@EmigProb)!=c(2,4)) ) { - msg <- c(msg, "EmigProb must be a 2x4 matrix if IndVar,StageDep = FALSE and DensDep,SexDep = TRUE!") - } - if (object@IndVar && !object@DensDep && !object@StageDep && object@SexDep && any(dim(object@EmigProb)!=c(2,3)) ) { - msg <- c(msg, "EmigProb must be a 2x3 matrix if DensDep,StageDep = FALSE and IndVar,SexDep = TRUE!") - } - if (object@IndVar && object@DensDep && !object@StageDep && !object@SexDep && any(dim(object@EmigProb)!=c(1,6)) ) { - msg <- c(msg, "EmigProb must be a 1x6 matrix if StageDep,SexDep = FALSE and IndVar,DensDep = TRUE!") - } - if (object@IndVar && object@DensDep && !object@StageDep && object@SexDep && any(dim(object@EmigProb)!=c(2,7)) ) { - msg <- c(msg, "EmigProb must be a 2x7 matrix if StageDep = FALSE and IndVar,DensDep,SexDep = TRUE!") - } - if (!object@IndVar && object@DensDep && object@StageDep && object@SexDep && dim(object@EmigProb)[2]!=5 ) { - msg <- c(msg, "EmigProb must have 5 columns if IndVar = FALSE and DensDep,StageDep,SexDep = TRUE!") - } - } - } - } - if (object@IndVar) { - if (anyNA(object@TraitScaleFactor) || (length(object@TraitScaleFactor)==0)) { - msg <- c(msg, "TraitScaleFactor must be set!") - } - else{ - if (object@DensDep) { - if (length(object@TraitScaleFactor)!=3) { - msg <- c(msg, "TraitScaleFactor must have length 3 if DensDep=TRUE!") - } - else { - if (object@TraitScaleFactor[1] <= 0.0 || object@TraitScaleFactor[1] > 1.0 ) { - msg <- c(msg, "TraitScaleFactor ÎĽ(D0) must be in the half-open interval (0,1] !") - } - if (any(object@TraitScaleFactor[2:3] <= 0.0 )) { - msg <- c(msg, "TraitScaleFactor ÎĽ(α) and ÎĽ(β) must be strictly positive !") - } - } - } - else { - if (length(object@TraitScaleFactor)!=1) { - msg <- c(msg, "TraitScaleFactor must have length 1 if DensDep=FALSE!") - } - else { - if (object@TraitScaleFactor <= 0 || object@TraitScaleFactor > 1 ) { - msg <- c(msg, "TraitScaleFactor ÎĽ(D0) must be in the half-open interval (0,1] !") - } - } - } - } - } - if (anyNA(object@UseFullKern) || length(object@UseFullKern)!=1) { - msg <- c(msg, "UseFullKern must be set and of length 1!") - } - else { - if (object@DensDep && object@UseFullKern) { - msg <- c(msg, "UseFullKern is not applicable if DensDep = TRUE!") - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "EmigrationParams", function(.Object, ...) { - this_func = "Emigration(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if (!is.null(args$EmigProb)) { - if (class(args$EmigProb)[1] =="numeric" && length(args$EmigProb)==1) { - .Object@EmigProb <- as.matrix(args$EmigProb) - } - } - # else { - # warning(this_func, "Using default EmigProb = 0.0", call. = FALSE) - # } - if (!.Object@IndVar) { - .Object@TraitScaleFactor = -9L - if (!is.null(args$TraitScaleFactor)) { - warning(this_func, "TraitScaleFactor", warn_msg_ignored, "since IndVar = FALSE.", call. = FALSE) - } - .Object@EmigStage = -9L - if (!is.null(args$EmigStage)) { - warning(this_func, "EmigStage", warn_msg_ignored, "since IndVar = FALSE.", call. = FALSE) - } - } - if (.Object@UseFullKern) { - if (any(.Object@EmigProb!=0.0 & .Object@EmigProb!=1.0)) { - warning(this_func, "If UseFullKern = TRUE, it is recommended (in most cases) to set all elements of EmigProb to either 1.0 or 0.0, since the emigration probability will be evaluated using the dispersal kernel.", call. = FALSE) - } - } - .Object} -) -setMethod("show", "EmigrationParams", function(object){ - if (object@DensDep) { - cat(" DensDep =", object@DensDep, "\n") - } - if (object@IndVar) { - cat(" IndVar =", object@IndVar, "\n") - } - if (object@StageDep) { - cat(" StageDep =", object@StageDep, "\n") - } - if (object@SexDep) { - cat(" SexDep =", object@SexDep, "\n") - } - cat(" Emigration probabilities:\n") - print(object@EmigProb) - if (object@IndVar) { - cat(" TraitScaleFactor =", object@TraitScaleFactor, "\n") - if (!is.na(object@EmigStage) && length(object@EmigStage)!=0) { - cat(" EmigStage =", object@EmigStage, "\n") - } - } - if (!object@DensDep && object@UseFullKern) { - cat(" UseFullKern =", object@UseFullKern, "\n") - } -}) -setMethod("plotProbs", "EmigrationParams", function(x, stage = NULL, sex = NULL, xmax = NULL, ymax = NULL){ - emig <- x@EmigProb - # error messages - if (!is.null(stage)){ - if (x@StageDep) { - emig <- subset(emig, emig[,1] %in% stage) - } - else{ print("This emigration module has no stage-dependency.\n") } - } - if (!is.null(sex)){ - if (x@SexDep) { - if (x@StageDep) emig <- subset(emig, emig[,2] %in% sex) - else emig <- subset(emig, emig[,1] %in% sex) - } - else{ print("This emigration module has no sex-dependency.\n") } - } - # get column indices - if (x@StageDep) { - if (x@SexDep) {ind_D0 <- 3} else {ind_D0 <- 2} - }else{ - if (x@SexDep) {ind_D0 <- 2} else {ind_D0 <- 1} - } - if (x@IndVar) {IV <- 2} else {IV <- 1} - # New plot - if (x@DensDep) { - if (is.null(xmax)) { - ind_max <- which.max(emig[,ind_D0+2*IV]) - xmax = min(2*emig[ind_max,ind_D0+2*IV], emig[ind_max,ind_D0+2*IV] + 4.0/emig[ind_max,ind_D0+IV]) - } - xvals = seq(0, xmax, length.out = 100) - } - else {if(is.null(xmax)) xmax <- 1} # !DensDep - - if (is.null(ymax)) {ymax = 1} - plot(NULL, type = "n", ylab = "Emigration probability", xlab = "relative population density (N/K or bN)", xlim = c(0,xmax), ylim = c(0,ymax)) - leg.txt <- c() - # Go through lines of distances matrix and add curves to plot - for(line in 1:nrow(emig)){ - if (x@IndVar) { - if (x@DensDep) { - res <- matrix(ncol = 8, nrow = length(xvals)) - res[,1] <- densdep(xvals, A0 = emig[line,ind_D0]-emig[line,ind_D0+1], alpha = emig[line,ind_D0+2]-emig[line,ind_D0+3], beta = emig[line,ind_D0+4]-emig[line,ind_D0+5]) - res[,2] <- densdep(xvals, A0 = emig[line,ind_D0]-emig[line,ind_D0+1], alpha = emig[line,ind_D0+2]-emig[line,ind_D0+3], beta = emig[line,ind_D0+4]+emig[line,ind_D0+5]) - res[,3] <- densdep(xvals, A0 = emig[line,ind_D0]-emig[line,ind_D0+1], alpha = emig[line,ind_D0+2]+emig[line,ind_D0+3], beta = emig[line,ind_D0+4]-emig[line,ind_D0+5]) - res[,4] <- densdep(xvals, A0 = emig[line,ind_D0]-emig[line,ind_D0+1], alpha = emig[line,ind_D0+2]+emig[line,ind_D0+3], beta = emig[line,ind_D0+4]+emig[line,ind_D0+5]) - res[,5] <- densdep(xvals, A0 = emig[line,ind_D0]+emig[line,ind_D0+1], alpha = emig[line,ind_D0+2]-emig[line,ind_D0+3], beta = emig[line,ind_D0+4]-emig[line,ind_D0+5]) - res[,6] <- densdep(xvals, A0 = emig[line,ind_D0]+emig[line,ind_D0+1], alpha = emig[line,ind_D0+2]-emig[line,ind_D0+3], beta = emig[line,ind_D0+4]+emig[line,ind_D0+5]) - res[,7] <- densdep(xvals, A0 = emig[line,ind_D0]+emig[line,ind_D0+1], alpha = emig[line,ind_D0+2]+emig[line,ind_D0+3], beta = emig[line,ind_D0+4]-emig[line,ind_D0+5]) - res[,8] <- densdep(xvals, A0 = emig[line,ind_D0]+emig[line,ind_D0+1], alpha = emig[line,ind_D0+2]+emig[line,ind_D0+3], beta = emig[line,ind_D0+4]+emig[line,ind_D0+5]) - polygon(c(xvals,rev(xvals)), c(apply(res, 1, min), rev(apply(res, 1, max))), border=NA, col='grey80') - } - else {#constant - polygon(c(0,xmax,xmax,0), c(rep(emig[line,ind_D0]-emig[line,ind_D0+1],2),rep(emig[line,ind_D0]+emig[line,ind_D0+1],2)), border=NA, col='grey80') - } - } - if (x@DensDep) { - lines(xvals, densdep(xvals, A0 = emig[line,ind_D0], alpha = emig[line,ind_D0+IV], beta = emig[line,ind_D0+2*IV]), type = "l", lty = 1, col = line) - } - else {#constant - lines(x=c(0,xmax), y=rep(emig[line,ind_D0],2), type = "l", lty = 1, col = line) - } - if (x@StageDep) { - if (x@SexDep) {leg.txt <- c(leg.txt, paste0("Stage ",emig[line,1], ifelse(emig[line,2]," male"," female")))} else {leg.txt <- c(leg.txt, paste0("Stage ",emig[line,1]))} - } - else { - if (x@SexDep) {leg.txt <- c(leg.txt, ifelse(emig[line,1],"male","female"))} - } - } - if (length(leg.txt)>0) { - legend("topleft", leg.txt, col = 1:nrow(emig), lwd = 1.5) - } -}) - - -### SUBCLASS TRANSFERPARAMS - -# from RS 'Transfer' file -# vitual class acting as superclass for: 'DispersalKernel', 'StochMove', 'CorrRW' - -#' Set a Transfer method -#' -#' Transfer (or transience) is the second phase of dispersal. It consists of the movement of an individual departing from its natal patch towards -#' a potential new patch, ending with settlement or mortality. This movement can be modelled by one of three alternative processes:\cr -#' - Dispersal kernel: use \code{\link[RangeShiftR]{DispersalKernel}}\cr -#' - Stochastic movement simulator (SMS): use \code{\link[RangeShiftR]{SMS}}\cr -#' - Correlated random walk (CRW): use \code{\link[RangeShiftR]{CorrRW}} -#' -#' @details -#' The choice between the two main methods to model the transfer phase, i.e. phenomenological dispersal kernels or mechanistic movement processes -#' (SMS and CRW) depends on the information available for a given species and on the level of detail that is considered important to represent in -#' the model (which will depend on its aim and the scale). -#' \cr -#' Dispersal is often a costly process for an organism \insertCite{bonte2012costs}{RangeShiftR} and, in some cases, a dispersing individual may -#' suffer mortality. Obtaining a sensible -#' representation of dispersal requires that these mortality costs are described appropriately. The total dispersal mortality experienced will -#' be the sum of two main sources of mortality: First, as the result of individuals failing to reach suitable habitat, and second, as the result -#' of increased energetic, time or attritional costs that longer-distance dispersers will experience. -#' For more details, refer also to the respective Details sections of the different transfer methods. -#' In parameterising the model, it will be important to recognise this such that dispersal mortality is not double-accounted. -#' @references -#' \insertAllCited{} -#' @author Anne-Kathleen Malchow -#' @name Transfer -TransferParams <- setClass("TransferParams") -setMethod("show", "TransferParams", function(object){ - if (class(object)[1] == "DispersalKernel") cat(" Dispersal Kernel\n") - if (class(object)[1] == "StochMove") cat(" Stochastic Movement Simulator\n") - if (class(object)[1] == "CorrRW") cat(" Correlated Random Walk\n") - } -) - - - -## Transfer-class DISPERSALKERNEL - -#' Set up a Dispersal Kernel -#' -#' A method to describe \code{\link[RangeShiftR]{Transfer}}: Dispersal kernels are statistical distributions that are largely used to describe dispersal distances. The main assumption behind them -#' is that the principal determinant of the probability of an individual dispersing to a particular site is the distance from the starting location.\cr -#' As for the other dispersal phases, movement abilities and strategies are under multiple selective pressures and can evolve separately. -#' As a result, the realised dispersal kernels will themselves evolve. -#' -#' @usage DispersalKernel(Distances = 100, DoubleKernel = FALSE, -#' SexDep = FALSE, StageDep = FALSE, -#' IndVar = FALSE, -#' TraitScaleFactor, -#' DistMort = FALSE, -#' MortProb = 0.0, Slope, InflPoint) -#' @param Distances Matrix containing all dispersal kernel parameters (#columns) for each stage/sex (#rows). Its structure depends on the other parameters, see the Details. -#' If the mean dispersal distance is constant (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}), \code{Distances} can take a single numeric. Defaults to \eqn{100}. -#' @param DoubleKernel Use a mixed (i.e. double negative exponential) kernel? (default: \code{FALSE}) Set probability for using Kernel-1 in matrix \code{Distances}. -#' @param SexDep Sex-dependent dispersal kernel? (default: \code{FALSE}) -#' @param StageDep Stage-dependent dispersal kernel? (default: \code{FALSE}) Must be \code{FALSE} if \code{IndVar=TRUE}. -#' @param IndVar Individual variability in dispersal kernel traits? (default: \code{FALSE}) Must be \code{FALSE}, if \code{StageDep=TRUE}. -#' @param TraitScaleFactor Required if \code{IndVar=TRUE}: The scaling factor(s) for dispersal kernel traits. A numeric of length \eqn{1} (if \code{DoubleKernel=FALSE}) or \eqn{3} (if \code{DoubleKernel=TRUE}). -#' @param DistMort Distance-dependent mortality probability? (default: \code{FALSE}) -#' @param MortProb Constant mortality probability. Required if \code{DistMort=FALSE}, defaults to \eqn{0.0}. -#' @param InflPoint Required if \code{DistMort=TRUE}: Inflection point for the mortality distance dependence function. -#' @param Slope Required if \code{DistMort=TRUE}: Slope at inflection point for the mortality distance dependence function. -#' @details -#' Two types of dispersal kernels are implemented: negative exponential and a mixed kernel given by two different negative exponentials. -#' Here, kernels are considered as â€distance kernels’, i.e. the statistical distribution of the probability that an individual will move a -#' certain distance \insertCite{hovestadt2012evolution,nathan2012dispersal}{RangeShiftR}. These kernels are specifically used for the \code{\link[RangeShiftR]{Transfer}} phase, meaning that they do -#' not incorporate information on the \code{\link[RangeShiftR]{Emigration}} or \code{\link[RangeShiftR]{Settlement}} probabilities, which are modelled independently. Therefore, dispersal kernels are -#' applied only to dispersing individuals and not normally to the entire population. However, the program allows a particular setting where -#' emigration and transfer are not explicitly separated but are both modelled through the kernel (see the parameter \code{UseFullKern} in -#' \code{\link[RangeShiftR]{Emigration}} and the Details there). -#' -#' There are many possible statistical distributions that have been fitted to dispersal data, which in many cases perform better -#' than the negative exponential \insertCite{nathan2012dispersal}{RangeShiftR}. However, the negative exponential is still commonly used, has been found useful for -#' describing dispersal patterns of certain organisms and the combination of two different negative exponentials has been demonstrated to be a -#' valuable method for discerning between common short-distance and rare long-distance dispersal \insertCite{hovestadt2011all}{RangeShiftR}. -#' -#' \emph{Negative exponential} \cr -#' If the individual disperses, the distance and the movement direction are determined in continuous space. -#' The distance is drawn from a negative exponential distribution with a given mean \eqn{δ}, and the direction is selected randomly from a uniform -#' distribution between \eqn{0} and \eqn{2Ď€} radians. -#' -#' \ifelse{html}{\out{   p(d;δ) = δ-1 e- d / δ}}{\deqn{ p(d;δ) = 1/δ exp(-d/δ) } } -#' -#' If the arrival point lies beyond the boundary of the landscape, distance and direction are re-drawn.\cr -#' The individual is displaced from a random point (using continuous coordinates) inside the natal cell to the arrival cell where the model -#' switches back to discrete space \insertCite{bocedi2012projecting}{RangeShiftR}. If the arrival point is inside the natal cell, individual starting position, distance and direction are -#' re-sampled until the individual leaves the natal cell. In the case of patch-based models, the individual is assumed to disperse from a -#' random point in the patch and this position, the dispersal distance and direction are drawn until the individual leaves the patch. In order -#' to separate emigration and transfer explicitly, and to avoid potential infinite re-sampling, the program requires the mean of the kernel -#' to be greater or equal the cell resolution. This condition is relaxed only in the special case where emigration probability is set to be -#' density-independent and the kernel is applied to the entire population without re-sampling (the \code{UseFullKern} option in \code{\link[RangeShiftR]{Emigration}}). Individuals -#' which draw a short movement distance do not leave the natal cell/patch and implicitly become sedentary, and therefore the kernel itself -#' defines the proportion of individuals which emigrate. When this option is selected, the emigration probability for those stages/sexes -#' which disperse should be set to \eqn{1.0}; otherwise, only a proportion of such individuals would use the kernel to determine whether or -#' not they emigrate. -#' -#' \emph{Mixed kernel} \cr -#' The distance an individual moves is sampled from a mixed kernel given by the combination of two negative exponentials -#' with different means \ifelse{html}{\out{δ1}}{\eqn{δ_1}} and \ifelse{html}{\out{δ2}}{\eqn{δ_2}}, -#' occurring with probability \ifelse{html}{\out{pI}}{\eqn{p_I}} and \eqn{1-}\ifelse{html}{\out{pI}}{\eqn{p_I}} respectively \insertCite{hovestadt2011all}{RangeShiftR}. -#' Otherwise, the conditions for the single kernel apply. -#' -#' \ifelse{html}{\out{   p(d; δ12) = pI p(d;δ1) + (1-pI) p(d;δ1)}}{\deqn{ p(d; δ_1,δ_2) = p_I p(d;δ_1) + (1-p_I) p(d;δ_2)}} -#' -#' For both types of kernel, inter-individual variability of the kernel traits is possible (set \code{IndVar=TRUE}). Individuals will -#' carry either one trait for \eqn{δ} or three traits for \ifelse{html}{\out{δ1}}{\eqn{δ_1}}, \ifelse{html}{\out{δ2}}{\eqn{δ_2}} and -#' \ifelse{html}{\out{pI}}{\eqn{p_I}}, which they inherit from their parents.\cr -#' Dispersal kernels can also be sex-dependent (set \code{SexDep=TRUE}). In the case of inter-individual variability, the number of traits is doubled to two trait (female \eqn{δ} -#' and male δ) or six traits (female and male \ifelse{html}{\out{δ1}}{\eqn{δ_1}}, \ifelse{html}{\out{δ2}}{\eqn{δ_2}} and \ifelse{html}{\out{pI}}{\eqn{p_I}}).\cr -#' For each trait the initial distribution in the population (as mean and standard variation) must be set in \code{Distances} (instead of only one constant value), -#' as well as their scaling factors in \code{TraitScaleFactor} (see \code{\link[RangeShiftR]{Genetics}}).\cr -#' -#' Further, dispersal kernels can be stage-specific (set \code{StageDep=TRUE}). For this case, inter-individual variability is not implemented. -#' -#' All dispersal kernel parameters have to be provided via \code{Distances}, which generally takes a matrix, or - if only a single constant mean distance is -#' used (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}) - a single numeric. The format of the matrix is defined as follows: The number of columns depend on the options \code{IndVar} and \code{DoubleKernel}. -#' If \code{DoubleKernel=FALSE}, the mean dispersal distance \eqn{δ} must be specified (in meters). If \code{DoubleKernel=TRUE}, the mean dispersal distances -#' \ifelse{html}{\out{δ1}}{\eqn{δ_1}} and \ifelse{html}{\out{δ2}}{\eqn{δ_2}} (in meters), as well as the probability \ifelse{html}{\out{pI}}{\eqn{p_I}} of using Kernel-1 must be specified. -#' Additionally, if \code{IndVar=FALSE}, these parameters are fixed, but if \code{IndVar=TRUE} each of them is replaced by two parameters: their respective mean and -#' standard deviation. They are used to normally distribute the traits values among the individuals of the initial population. -#' -#' All parameters have to be given for each stage/sex if the respective dependence is enabled. If \code{StageDep=TRUE}, state the corresponding stage in the first column. -#' If \code{SexDep=TRUE}, state the corresponding stage in the next (i.e. first/second) column, with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. The following -#' table lists the required columns and their correct order for different settings: -#' -#' \tabular{ccccc}{IndVar \tab DoubleKernel \tab StageDep \tab SexDep \tab columns \cr -#' F \tab F \tab F \tab F \tab \eqn{δ} \cr -#' F \tab F \tab T \tab F \tab stage, \eqn{δ} \cr -#' F \tab F \tab F \tab T \tab sex, \eqn{δ} \cr -#' F \tab F \tab T \tab T \tab stage, sex, \eqn{δ} \cr -#' F \tab T \tab F \tab F \tab \ifelse{html}{\out{δ1, δ2, pI}}{\eqn{δ_1, δ_2, p_I}} \cr -#' T \tab F \tab F \tab F \tab mean\eqn{(δ)}, sd\eqn{(δ)} \cr -#' T \tab T \tab F \tab F \tab \ifelse{html}{\out{mean(δ1)}}{mean\eqn{(δ_1)}}, \ifelse{html}{\out{sd(δ1)}}{sd\eqn{(δ_1)}}, \ifelse{html}{\out{mean(δ2)}}{mean\eqn{(δ_2)}}, \ifelse{html}{\out{sd(δ2)}}{sd\eqn{(δ_2)}}, mean\ifelse{html}{\out{(pI)}}{\eqn{(p_I)}}, sd\ifelse{html}{\out{(pI)}}{\eqn{(p_I)}} \cr -#' \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \cr -#' T \tab T \tab F \tab T \tab sex, \ifelse{html}{\out{mean(δ1)}}{mean\eqn{(δ_1)}}, \ifelse{html}{\out{sd(δ1)}}{sd\eqn{(δ_1)}}, \ifelse{html}{\out{mean(δ2)}}{mean\eqn{(δ_2)}}, \ifelse{html}{\out{sd(δ2)}}{sd\eqn{(δ_2)}}, mean\ifelse{html}{\out{(pI)}}{\eqn{(p_I)}}, sd\ifelse{html}{\out{(pI)}}{\eqn{(p_I)}} -#' } -#' -#' The column headings need not be included, only the numeric matrix is required. The rows require no particular order, but there must be exactly -#' one row for each stage/sex combination. For example, in the case of a mixed kernel with stage- and sex-dependent distances and no individual variability: -#' \tabular{ccccc}{ \out{ } 0 \tab \out{ } 0 \tab \out{ } 1000 \tab \out{ } 4500 \tab \out{ } 0.92 \cr -#' \out{ } 0 \tab \out{ } 1 \tab \out{ } 1400 \tab \out{ } 6000 \tab \out{ } 0.95 \cr -#' \out{ } 1 \tab \out{ } 0 \tab \out{ } 700 \tab \out{ } 500 \tab \out{ } 0.50 \cr -#' \out{ } 1 \tab \out{ } 1 \tab \out{ } 500 \tab \out{ } 600 \tab \out{ } 0.55 \cr -#' \out{ } 2 \tab \out{ } 0 \tab \out{ } 100 \tab \out{ } 0 \tab \out{ } 1.0 \cr -#' \out{ } 2 \tab \out{ } 1 \tab \out{ } 100 \tab \out{ } 0 \tab \out{ } 1.0 -#' } -#' -#' In the case that the dispersal kernel is applied to the entire -#' population (i.e. density-independent emigration probability of \eqn{1.0}), the mean dispersal distance can evolve down to zero (i.e. -#' evolution for no dispersal). In all other cases where emigration and transfer are modelled separately, the mean dispersal distance has a -#' lower limit which can evolve equal to the landscape resolution. -#' -#' \emph{Mortality}\cr -#' There are two main sources of mortality: First, dispersal mortality can arise as a result of individuals failing to reach suitable habitat. When a simple dispersal -#' kernel is used with no possibility for individuals to search for locally-suitable habitat (see \code{\link[RangeShiftR]{Settlement}}), -#' mortality occurs to all individuals that arrive in unsuitable habitat. In this first case, dispersal mortality clearly depends upon the -#' proportion of suitable habitat in the landscape and will increase as the availability of habitat declines.\cr -#' A second source of dispersal mortality can be specified via the option \code{DistMort}: The probability of mortality is either a constant -#' (\eqn{m=}\code{MortProb}) or a function of distance \eqn{d} (i.e. individuals that travel further are more likely to die): -#' -#' \ifelse{html}{\out{   m(d) = 1 / ( 1 + e-a (d- b) ) } }{\deqn{ m(d) = 1 / ( 1 + exp[-α (d-b) ] ) } } -#' -#' with the inflection point \eqn{b=}\code{InflPoint} at which \eqn{m(d=b)=0.5} and the slope \eqn{a=}\code{Slope}.This option may be thought -#' to represent the increased energetic, time or attritional costs that longer-distance dispersers will experience \insertCite{bonte2012costs}{RangeShiftR}. -#' -#' Note that the total dispersal mortality experienced will be the sum of the mortalities due to the two sources identified above and, -#' in parameterising the model, it will be important to recognize this such that dispersal mortality is not double-accounted. -#' @examples # stage- and sex-dependent mixed kernel -#' dists_1 <- matrix(c(0,0,1000,4500,0.92,0,1,1400,6000,0.95,1,0,700,500,0.50,1,1,500,600,0.55,2,0,100,0,1.0,2,1,100,0,1.0), byrow = TRUE, ncol = 5) -#' disp_1 <- DispersalKernel(Distances = dists_1, SexDep = TRUE, StageDep = TRUE, DoubleKernel = TRUE, DistMort = TRUE, Slope = 0.001, InflPoint = 4000) -#' plotProbs(disp_1, sex = 0, ymax = 0.002) -#' plotProbs(disp_1, mortality = TRUE) -#' -#' # mixed kernel with inter-individual variation -#' dists_2 <- matrix(c(0,1000,300,2500,500,0.62,0.13,1,3400,860,8000,2800,0.72,0.12), byrow = TRUE, ncol = 7) -#' disp_2 <- DispersalKernel(Distances = dists_2, SexDep = TRUE, DoubleKernel = TRUE, TraitScaleFactor = c(900,2800,0.14), IndVar = TRUE) -#' plotProbs(disp_2, xmax = 10000, combinekernels = TRUE) -#' @references -#' \insertAllCited{} -#' @return a parameter object of class "DispersalKernel" -#' @author Anne-Kathleen Malchow -#' @name DispersalKernel -#' @export DispersalKernel -DispersalKernel <- setClass("DispersalKernel", slots = c(IndVar = "logical", - DoubleKernel = "logical", - StageDep = "logical", - SexDep = "logical", - Distances = "matrix_OR_numeric", - TraitScaleFactor = "numeric", - DistMort = "logical", - MortProb = "numeric", - Slope = "numeric", - InflPoint = "numeric") - , prototype = list(IndVar = FALSE, - DoubleKernel = FALSE, - StageDep = FALSE, - SexDep = FALSE, - Distances = matrix(data = 100L, nrow = 1, ncol = 1), - #TraitScaleFactor, - DistMort = FALSE, - MortProb = 0.0 - #,Slope = -9, - #InflPoint = -9 - ) - , contains = "TransferParams" -) - -setValidity("DispersalKernel", function(object) { - msg <- NULL - if (anyNA(object@DoubleKernel) || length(object@DoubleKernel)!=1) { - msg <- c(msg, "DoubleKernel must be set and of length 1!") - } - if (anyNA(object@IndVar) || length(object@IndVar)!=1) { - msg <- c(msg, "IndVar must be set and of length 1!") - } - else { - if (anyNA(object@StageDep) || length(object@StageDep)!=1) { - msg <- c(msg, "StageDep must be set and of length 1!") - } - else{ - if (object@IndVar && object@StageDep) { - msg <- c(msg, "Inter-individual variability (IndVar=TRUE) in stage-dependent (StageDep=TRUE) dispersal kernel traits is not implemented!") - } - } - } - if (anyNA(object@SexDep) || length(object@SexDep)!=1) { - msg <- c(msg, "SexDep must be set and of length 1!") - } - if (anyNA(object@Distances) || length(object@Distances)==0) { - msg <- c(msg, "Distances must be set!") - } - else{ - if (!object@IndVar && !object@DoubleKernel && !object@StageDep && !object@SexDep) { - if (length(object@Distances)!=1) { - msg <- c(msg, "Distances must be a single value if IndVar,DoubleKernel,StageDep,SexDep = FALSE!") - } - } - else { - if (class(object@Distances)[1] !="matrix") { - msg <- c(msg, "Distances must be a matrix!") - } - } - } - if (is.null(msg)) { - if (object@IndVar && !object@DoubleKernel && !object@StageDep && !object@SexDep && any(dim(object@Distances)!=c(1,2)) ) { - msg <- c(msg, "Distances must be a 1x2 matrix if DoubleKernel,StageDep,SexDep = FALSE and IndVar = TRUE!") - } - if (!object@IndVar && object@DoubleKernel && !object@StageDep && !object@SexDep && any(dim(object@Distances)!=c(1,3)) ) { - msg <- c(msg, "Distances must be a 1x3 matrix if IndVar,StageDep,SexDep = FALSE and DoubleKernel = TRUE!") - } - if (!object@IndVar && !object@DoubleKernel && object@StageDep && !object@SexDep && dim(object@Distances)[2]!=2 ) { - msg <- c(msg, "Distances must have 2 columns if IndVar,DoubleKernel,SexDep = FALSE and StageDep = TRUE!") - } - if (!object@IndVar && !object@DoubleKernel && !object@StageDep && object@SexDep && any(dim(object@Distances)!=c(2,2)) ) { - msg <- c(msg, "Distances must be a 2x2 matrix if IndVar,DoubleKernel,StageDep = FALSE and SexDep = TRUE!") - } - if (!object@IndVar && !object@DoubleKernel && object@StageDep && object@SexDep && dim(object@Distances)[2]!=3 ) { - msg <- c(msg, "Distances must have 3 columns if IndVar,DoubleKernel = FALSE and StageDep,SexDep = TRUE!") - } - if (!object@IndVar && object@DoubleKernel && object@StageDep && !object@SexDep && dim(object@Distances)[2]!=4 ) { - msg <- c(msg, "Distances must have 4 columns if IndVar,SexDep = FALSE and DoubleKernel,StageDep = TRUE!") - } - if (!object@IndVar && object@DoubleKernel && !object@StageDep && object@SexDep && any(dim(object@Distances)!=c(2,4)) ) { - msg <- c(msg, "Distances must be a 2x4 matrix if IndVar,StageDep = FALSE and DoubleKernel,SexDep = TRUE!") - } - if (object@IndVar && !object@DoubleKernel && !object@StageDep && object@SexDep && any(dim(object@Distances)!=c(2,3)) ) { - msg <- c(msg, "Distances must be a 2x3 matrix if DoubleKernel,StageDep = FALSE and IndVar,SexDep = TRUE!") - } - if (object@IndVar && object@DoubleKernel && !object@StageDep && !object@SexDep && any(dim(object@Distances)!=c(1,6)) ) { - msg <- c(msg, "Distances must be a 1x6 matrix if StageDep,SexDep = FALSE and IndVar,DoubleKernel = TRUE!") - } - if (object@IndVar && object@DoubleKernel && !object@StageDep && object@SexDep && any(dim(object@Distances)!=c(2,7)) ) { - msg <- c(msg, "Distances must be a 2x7 matrix if StageDep = FALSE and IndVar,DoubleKernel,SexDep = TRUE!") - } - if (!object@IndVar && object@DoubleKernel && object@StageDep && object@SexDep && dim(object@Distances)[2]!=5 ) { - msg <- c(msg, "Distances must have 5 columns if IndVar = FALSE and DoubleKernel,StageDep,SexDep = TRUE!") - } - } - if (object@IndVar) { - if (anyNA(object@TraitScaleFactor) || (length(object@TraitScaleFactor)==0)) { - msg <- c(msg, "TraitScaleFactor must be set!") - } - else{ - if (object@DoubleKernel) { - if (length(object@TraitScaleFactor)!=3) { - msg <- c(msg, "TraitScaleFactor must have length 3 if DoubleKernel=TRUE!") - } - else { - if (object@TraitScaleFactor[3] <= 0.0 || object@TraitScaleFactor[3] > 1.0 ) { - msg <- c(msg, "TraitScaleFactor ÎĽ(p) must be in the half-open interval (0,1] !") - } - if (any(object@TraitScaleFactor[1:2] <= 0.0 )) { - msg <- c(msg, "TraitScaleFactor ÎĽ(δ1) and ÎĽ(δ2) must be strictly positive !") - } - } - } - else { - if (length(object@TraitScaleFactor)!=1) { - msg <- c(msg, "TraitScaleFactor must have length 1 if DoubleKernel=FALSE!") - } - else { - if (object@TraitScaleFactor <= 0.0) { - msg <- c(msg, "TraitScaleFactor ÎĽ(δ) must be strictly positive !") - } - } - } - } - } - if (anyNA(object@DistMort) || length(object@DistMort)!=1) { - msg <- c(msg, "DistMort must be set and of length 1!") - } - else { - if (object@DistMort) { - # atm no conditions for Slope, InflPoint - if (anyNA(object@Slope) || length(object@Slope)!=1) { - msg <- c(msg, "Slope must be set and of length 1!") - } - if (anyNA(object@InflPoint) || length(object@InflPoint)!=1) { - msg <- c(msg, "InflPoint must be set and of length 1!") - } - } - else { - if (anyNA(object@MortProb) || length(object@MortProb)!=1) { - msg <- c(msg, "MortProb must be set and of length 1!") - } - else { - if (object@MortProb < 0 | object@MortProb >= 1 ) { - msg <- c(msg, "MortProb must be in the half-open interval [0,1) !") - } - } - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "DispersalKernel", function(.Object, ...) { - this_func = "DispersalKernel(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if (class(args$Distances)[1]=="numeric" && length(args$Distances)==1) { - .Object@Distances <- as.matrix(args$Distances) - } - if (!.Object@IndVar) { - .Object@TraitScaleFactor = -9L - if (!is.null(args$TraitScaleFactor)) { - warning(this_func, "TraitScaleFactor", warn_msg_ignored, "since IndVar = FALSE.", call. = FALSE) - } - } - if (.Object@DistMort) { - .Object@MortProb = -9L - if (!is.null(args$MortProb)) { - warning(this_func, "MortProb", warn_msg_ignored, "since DistMort = TRUE.", call. = FALSE) - } - } - else { - .Object@Slope = -9L - if (!is.null(args$Slope)) { - warning(this_func, "Slope", warn_msg_ignored, "since DistMort = FALSE.", call. = FALSE) - } - .Object@InflPoint = -9L - if (!is.null(args$InflPoint)) { - warning(this_func, "InflPoint", warn_msg_ignored, "since DistMort = FALSE.", call. = FALSE) - } - } - .Object} -) -setMethod("show", "DispersalKernel", function(object){ - callNextMethod() - if (object@IndVar) { - cat(" IndVar =", object@IndVar, "\n") - } - if (object@DoubleKernel) { - cat(" DoubleKernel =", object@DoubleKernel, "\n") - } - if (object@StageDep) { - cat(" StageDep =", object@StageDep, "\n") - } - if (object@SexDep) { - cat(" SexDep =", object@SexDep, "\n") - } - cat(" Dispersal kernel traits:\n") - print(object@Distances) - if (object@IndVar) { - cat(" TraitScaleFactor =", object@TraitScaleFactor, "\n") - } - if (object@DistMort) { - cat(" Distance-dependent mortality prob with:\n Inflection point =", object@InflPoint, "\n Slope =", object@Slope, "\n") - } - else { - cat(" Constant mortality prob =", object@MortProb, "\n") - } -}) -setMethod("plotProbs", "DispersalKernel", function(x, mortality = FALSE, combinekernels = FALSE, stage = NULL, sex = NULL, xmax = NULL, ymax = NULL){ - if (mortality) { - # New plot - if (x@DistMort) { - if (is.null(xmax)) {xmax = min(2*x@InflPoint, x@InflPoint + 3.0/x@Slope)} - xvals = seq(0, xmax, length.out = 100) - plot(xvals, densdep(xvals, alpha = x@Slope, beta = x@InflPoint), type = "l", lwd = 1.5, ylab = "Mortality Probability", xlab = "Dispersal distance", ylim = c(0,1)) - } - else { - plot(x=c(0,10000), y=rep(x@MortProb,2), type = "l", lwd = 1.5, ylab = "Mortality Probability", xlab = "Dispersal distance", ylim = c(0,1)) - } - } - else { # !mortality - dists <- x@Distances - # error messages - if (!is.null(stage)){ - if (x@StageDep) { - dists <- subset(dists, dists[,1] %in% stage) - } - else{ print("This dispersal kernel has no stage-dependency.\n") } - } - if (!is.null(sex)){ - if (x@SexDep) { - if (x@StageDep) dists <- subset(dists, dists[,2] %in% sex) - else dists <- subset(dists, dists[,1] %in% sex) - } - else{ print("This dispersal kernel has no sex-dependency.\n") } - } - if (combinekernels){ - if (!x@DoubleKernel) { - print("Kernels can only be combined if a mixed kernel (DoubleKernel = TRUE) is given.\n") - combinekernels = FALSE - } - } - # get column indices - if (x@StageDep) { - if (x@SexDep) {ind_kernel1 <- 3} else {ind_kernel1 <- 2} - } - else{ - if (x@SexDep) {ind_kernel1 <- 2} else {ind_kernel1 <- 1} - } - if (x@DoubleKernel) { - if (x@IndVar) {ind_kernel2 <- ind_kernel1 + 2} else {ind_kernel2 <- ind_kernel1 + 1} - } - if (combinekernels){ - if (x@IndVar) {ind_pI <- ind_kernel2 + 2} else {ind_pI <- ind_kernel2 + 1} - } - # New plot - xlab = "Dispersal distance" - if (x@DoubleKernel && !combinekernels) xlab <- paste(xlab, "(Kernel-1 solid, Kernel-2 dashed)") - if (x@IndVar) xlab <- paste(xlab, ", initial dist.") - if (is.null(xmax)) {xmax = 3*max(dists)} - xvals = seq(0, xmax, length.out = 100) - if (is.null(ymax)) { - if (x@DoubleKernel){ - ymax = 1/(min(dists[,c(ind_kernel1,ind_kernel2)][dists[,c(ind_kernel1,ind_kernel2)]>0])) - } - else{ - ymax = 1/(min(dists[,ind_kernel1][dists[,ind_kernel1]>0])) - } - } - plot(NULL, type = "n", ylab = "Probability Density", xlab = xlab, xlim = c(0,xmax), ylim = c(0,ymax)) - leg.txt <- c() - # Go through lines of distances matrix and add curves to plot - for(line in 1:nrow(dists)){ - if(dists[line,ind_kernel1]>0){ - if (!combinekernels){ - if (x@IndVar) { - res <- matrix(ncol = 3, nrow = length(xvals)) - res[,1] <- dexp(xvals, rate = 1/(dists[line,ind_kernel1])) - res[,2] <- dexp(xvals, rate = 1/(dists[line,ind_kernel1]+dists[line,ind_kernel1+1])) - res[,3] <- dexp(xvals, rate = 1/(dists[line,ind_kernel1]-dists[line,ind_kernel1+1])) - polygon(c(xvals,rev(xvals)), c(apply(res, 1, min), rev(apply(res, 1, max))), border=NA, col='grey80') - } - lines(xvals,dexp(xvals,rate = 1/dists[line,ind_kernel1]), type = "l", lty = 1, col = line) - } - } - else {lines(xvals, rep(0, length(xvals)), type = "l", lty = 1, col = line)} - if (x@DoubleKernel){ - if(dists[line,ind_kernel2]>0){ - if (combinekernels){ - pI <- dists[line,ind_pI] - if (x@IndVar) { - pI_sd <- c(pI+dists[line,ind_pI+1],pI-dists[line,ind_pI+1]) - res <- matrix(ncol = 8, nrow = length(xvals)) - res[,1] <- pI_sd[1] * dexp(xvals, rate = 1/(dists[line,ind_kernel1]+dists[line,ind_kernel1+1])) + (1-pI_sd[1]) * dexp(xvals, rate = 1/(dists[line,ind_kernel2]+dists[line,ind_kernel2+1])) - res[,2] <- pI_sd[2] * dexp(xvals, rate = 1/(dists[line,ind_kernel1]+dists[line,ind_kernel1+1])) + (1-pI_sd[2]) * dexp(xvals, rate = 1/(dists[line,ind_kernel2]+dists[line,ind_kernel2+1])) - res[,3] <- pI_sd[1] * dexp(xvals, rate = 1/(dists[line,ind_kernel1]-dists[line,ind_kernel1+1])) + (1-pI_sd[1]) * dexp(xvals, rate = 1/(dists[line,ind_kernel2]+dists[line,ind_kernel2+1])) - res[,4] <- pI_sd[2] * dexp(xvals, rate = 1/(dists[line,ind_kernel1]-dists[line,ind_kernel1+1])) + (1-pI_sd[2]) * dexp(xvals, rate = 1/(dists[line,ind_kernel2]+dists[line,ind_kernel2+1])) - res[,5] <- pI_sd[1] * dexp(xvals, rate = 1/(dists[line,ind_kernel1]+dists[line,ind_kernel1+1])) + (1-pI_sd[1]) * dexp(xvals, rate = 1/(dists[line,ind_kernel2]-dists[line,ind_kernel2+1])) - res[,6] <- pI_sd[2] * dexp(xvals, rate = 1/(dists[line,ind_kernel1]+dists[line,ind_kernel1+1])) + (1-pI_sd[2]) * dexp(xvals, rate = 1/(dists[line,ind_kernel2]-dists[line,ind_kernel2+1])) - res[,7] <- pI_sd[1] * dexp(xvals, rate = 1/(dists[line,ind_kernel1]-dists[line,ind_kernel1+1])) + (1-pI_sd[1]) * dexp(xvals, rate = 1/(dists[line,ind_kernel2]-dists[line,ind_kernel2+1])) - res[,8] <- pI_sd[2] * dexp(xvals, rate = 1/(dists[line,ind_kernel1]-dists[line,ind_kernel1+1])) + (1-pI_sd[2]) * dexp(xvals, rate = 1/(dists[line,ind_kernel2]-dists[line,ind_kernel2+1])) - polygon(c(xvals,rev(xvals)), c(apply(res, 1, min), rev(apply(res, 1, max))), border=NA, col='grey80') - } - yvals <- pI * dexp(xvals, rate = 1/dists[line,ind_kernel1]) + (1-pI) * dexp(xvals, rate = 1/dists[line,ind_kernel2]) - lines(xvals, yvals , type = "l", lty = 1, col = line) - } - else { - if (x@IndVar) { - res[,1] <- dexp(xvals, rate = 1/(dists[line,ind_kernel2])) - res[,2] <- dexp(xvals, rate = 1/(dists[line,ind_kernel2]+dists[line,ind_kernel2+1])) - res[,3] <- dexp(xvals, rate = 1/(dists[line,ind_kernel2]-dists[line,ind_kernel2+1])) - polygon(c(xvals,rev(xvals)), c(apply(res, 1, min), rev(apply(res, 1, max))), border=NA, col='grey80') - } - lines(xvals,dexp(xvals,rate = 1/dists[line,ind_kernel2]), type = "l", lty = 2, col = line) - } - } - else{ - lines(xvals, rep(0, length(xvals)), type = "l", lty = 2, col = line) - } - } - if (x@StageDep) { - if (x@SexDep) {leg.txt <- c(leg.txt, paste0("Stage ",dists[line,1], ifelse(dists[line,2]," male"," female")))} else {leg.txt <- c(leg.txt, paste0("Stage ",dists[line,1]))} - } - else { - if (x@SexDep) {leg.txt <- c(leg.txt, ifelse(dists[line,1],"male","female"))} - } - } - if (length(leg.txt)>0) { - legend("topright", leg.txt, col = 1:nrow(dists), lwd = 1.5) - } - } -}) - - - -## Transfer-class STOCHMOVE - -#' Set up a Stochastic Movement Simulator -#' -#' A method to describe \code{\link[RangeShiftR]{Transfer}}: -#' SMS is a stochastic individual-based movement model where organisms move through grid-based, heterogeneous landscapes. The model uses similar -#' cost surfaces as the least cost path (LCP) method, but it relaxes two of its main assumptions: Firstly, individuals are not assumed to be -#' omniscient, but move according to what they can perceive of the landscape within their perceptual range (\code{PR}). Secondly, individuals -#' do not know a priori their final destination, which is a reasonable assumption for dispersing individuals. For a complete description of the -#' method, see the Details below or refer to \insertCite{palmer2011introducing;textual}{RangeShiftR}. -#' -#' @usage SMS(PR = 1, PRMethod = 1, MemSize = 1, -#' DP = 1.0, -#' GoalType = 0, -#' GoalBias = 1.0, AlphaDB, BetaDB, -#' IndVar = FALSE, -#' Costs, StepMort = 0.0, -#' StraightenPath = TRUE) -#' @param PR Perceptual range. Given in number of cells, defaults to \eqn{1}. (integer) -#' @param PRMethod Method to evaluate the effective cost of a particular step from the landscape within the perceptual range:\cr \eqn{1 = }Arithmetic mean (default)\cr \eqn{2 = }Harmonic -#' mean\cr \eqn{3 = }Weighted arithmetic mean -#' @param MemSize Size of memory, given as the number of previous steps over which to calculate current direction to apply directional persistence -#' (\code{DP}). A maximum of \eqn{14} steps is supported, default is \eqn{1}. (integer) -#' @param DP Directional persistence. Corresponds to the tendency to follow a correlated random walk, must be \eqn{\ge 1.0}, defaults to \eqn{1.0}.\cr -#' If \code{IndVar=TRUE}, expects a vector of length three specifying (Mean, SD, TraitScaleFactor) of \code{DP}. -#' @param GoalType Goal bias type: \eqn{0 = } None (default), \eqn{2 = } Dispersal bias. -#' @param GoalBias Only if \code{GoalType=2}: Goal bias strength. Must be must be \eqn{\ge 1.0}, defaults to \eqn{1.0}. \cr If \code{IndVar=TRUE}, expects a vector of length three -#' specifying (Mean, SD, TraitScaleFactor) of \code{GoalBias}. -#' @param AlphaDB Required if \code{GoalType=2}: Dispersal bias decay rate. Must be must be \eqn{> 0.0}.\cr If \code{IndVar=TRUE}, expects a vector of length three -#' specifying (Mean, SD, TraitScaleFactor) of \code{AlphaDB}. -#' @param BetaDB Required if \code{GoalType=2}: Dispersal bias decay inflection point (given in number of steps). Must be must be \eqn{> 0.0}.\cr If \code{IndVar=TRUE}, -#' expects a vector of length three specifying (Mean, SD, TraitScaleFactor) of \code{BetaDB}. -#' @param IndVar Individual variability in SMS traits (i.e. \code{DP}, \code{GoalBias}, \code{AlphaDB} and \code{BetaDB})? Defaults to \code{FALSE}. -#' @param Costs Describes the landscapes resistance to movement. Set either: \cr -#' - \emph{habitat-specific} costs for each habitat type, or\cr -#' - \code{"file"}, to indictae to use the \emph{cost raster} map(s) specified in the landscape module and import the cost values from them.\cr -#' In the first case of \emph{habitat-specific} costs a numeric vector is expected with, respectively, length \code{Nhabitats} for an \code{\link[RangeShiftR]{ImportedLandscape}} -#' with habitat codes (i.e. \code{HabPercent=FALSE})) or length \eqn{2} for an \code{\link[RangeShiftR]{ArtificialLandscape}} (matrix and habitat costs).\cr -#' In the second case of importing a \emph{cost raster} file, specify the file name(s) in the \code{\link[RangeShiftR]{ImportedLandscape}} module. -#' The specified map has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value (\eqn{\ge 1}). -#' This is the only option for an imported landscape with habitat qualities / cover percentage (i.e. \code{HabPercent=TRUE}). -#' @param StepMort Per-step mortality probability. Can be either \emph{constant}, in which case a single numeric is expected (the default, with -#' value \eqn{0.0}) or \emph{habitat-specific}, in which case a numeric vector (with a length as described above for \code{Costs}) is expected. -#' All values must be within the half-open interval \eqn{[0,1)}. \cr -#' For an imported habitat quality landscape (\code{HabPercent=TRUE}), only constant per-step mortality is allowed. -#' @param StraightenPath Straighten path after decision not to settle in a patch? Defaults to \code{TRUE}, see Details below. -#' @details -#' SMS is a stochastic individual-based model where organisms move through grid-based, heterogeneous landscapes. The model uses similar cost -#' surfaces as the least cost path (LCP) \insertCite{adriaensen2003application,chardon2003incorporating,stevens2006gene,driezen2007evaluating}{RangeShiftR}, -#' but it relaxes two of the main assumptions/limitations of the latter. Firstly, individuals are not assumed to be omniscient, but move according to what they -#' can perceive of the landscape within their perceptual range. Secondly, individuals do not know a priori their final destination, which is a -#' reasonable assumption for dispersing individuals. Here, the core components of SMS are briefly described; -#' see \insertCite{palmer2011introducing;textual}{RangeShiftR} for a complete description of the method. -#' -#' SMS uses cost maps where a relative cost to movement is assigned to each habitat type. Costs are integer numbers and represent the cost of -#' moving through a particular land cover relative to the cost of moving through breeding habitat (which is conventionally set to a cost of \eqn{1}). -#' Individuals take single cell steps basing their decisions on three parameters: their perceptual range (\code{PR}) (given in number of cells), -#' the method used to evaluate the landscape within their perceptual range (\code{PRMethod}), and their directional persistence (\code{DP}), which corresponds to -#' their tendency to follow a correlated random walk. At each step, the individual evaluates the surrounding habitat in order to determine -#' the effective cost of taking a particular step to each of the eight neighbouring cells. The effective cost is a mean of the cost of the -#' neighbouring cell and the surrounding cells beyond it within the \code{PR}, and is calculated by one of three possible methods: -#' - \emph{Arithmetic mean}\cr -#' - \emph{Harmonic mean} - The reciprocal of the arithmetic mean of the reciprocals of the observations (cell costs). This method increases the -#' detectability of low cost cells but performs less well than the arithmetic mean in detecting high cost cells. Therefore, the choice between -#' the two depends on whether the main driver of the animal movement is selecting for good habitat or avoiding costly habitat.\cr -#' - \emph{Weighted arithmetic mean} - The cost of each cell is weighted by its inverse distance from the individual (which is assumed to be in -#' the centre of the current cell). -#' -#' The effective cost of each neighbouring cell is weighted by the \code{DP}, which is lowest in the direction of travel. \code{DP} can be -#' calculated over more steps than just the previous one (up to a maximum of \eqn{14}), which is controlled by the memory size parameter (\code{MemSize}) -#' \insertCite{palmer2014inter,aben2014simple}{RangeShiftR}. Increasing the memory size means that an individual retains for longer its tendency to move in a -#' certain direction, and hence paths tend to become somewhat smoother. -#' -#' There is an option to include goal bias, i.e. a tendency to move towards a particular destination \insertCite{aben2014simple}{RangeShiftR}, -#' which is implemented in a similar way to \code{DP}. However, as dispersers in \emph{RangeShiftR} are naĂŻve and have no goal, it may be applied only in the â€negative’ -#' sense of moving away from the natal location (\code{GoalType=2}), i.e. as a dispersal bias, which is subject to a decay in strength as a -#' function of the total number of steps taken (set the decay rate \code{AlphaDB} and inflection point \code{BetaDB}). -#' This enables a dispersal path to follow a straighter trajectory initially, and later become more responsive to perceived landscape costs. -#' -#' The product of the reciprocals of effective cost, \code{DP} and dispersal bias, scaled to sum to one, -#' give the probabilities that the individual will move to each neighbouring cell. All the dispersing individuals move simultaneously, i.e. at -#' each time-step they all make one move. In the case of patch-based models, the individual is forced to leave the natal patch by increasing its -#' \code{DP} ten-fold until it has taken a number of steps (\eqn{=2*}\code{PR}) outside the natal patch. -#' -#' When an individual arrives in a non-natal patch and decides not to settle there (as a result of a density-dependent or mate-finding settlement -#' rule; see \code{\link[RangeShiftR]{Settlement}}), then there is the option that its path is straightened (\code{StraightenPath=TRUE}). This means -#' that it leaves the patch as soon as possible in order to search for another patch. This is achieved by increasing its \code{DP} ten-fold. However, in -#' certain types of model, e.g. when arbitrary contiguous patches have been defined for what is basically a continuous population, this can lead -#' to the path always being straightened, as an individual enters a new patch as soon as it has left the one it has rejected. In such cases, it is -#' advisable to disable the feature (\code{StraightenPath=FALSE}), although care must be taken that individuals do not become trapped in patches -#' surrounded by very high cost matrix. -#' -#' When inter-individual variability is activated (set \code{IndVar=TRUE}), the four SMS movement traits \code{DP}, as well as - if dispersal goal bias -#' is enabled - \code{GB}, \code{AlphaDB} and \code{BetaDB} can evolve. -#' For each trait the population initial mean and standard deviations must be set (instead of the constant value), as well as its scaling factor -#' (see \code{\link[RangeShiftR]{Genetics}}).\cr -#' -#' As currently implemented, there is no sex- or stage- dependence of SMS traits. -#' -#' The production of the output â€dispersal heat maps’, which show the total number of times each cell is visited by dispersing individuals within a -#' single replicate simulation, can be enabled with the option \code{SMSHeatMap} in \code{\link[RangeShiftR]{Simulation}}. -#' -#' \emph{Costs layer} \cr -#' Critical for the outcomes of SMS are the relative costs assigned to the different habitats (as it is also the case for -#' the LCP approach). Habitat costs or resistance to movement can be set manually for each habitat code or imported as a raster map, which -#' allows for costs to be a function of multiple variables instead of a simple value associated to the habitat type. -#' In the latter case, the file names are provided in the \code{\link[RangeShiftR]{ImportedLandscape}} module. -#' The specified map has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being \eqn{1}. -#' Importing a cost layer is the only option when the landscape comprises habitat coverage or quality. -#' -#' \emph{Mortality} \cr -#' There are two main sources of mortality: First, dispersal mortality can arise as a result of individuals failing to reach suitable habitat. Some individuals may fail -#' to find suitable habitat before they use up their maximum number of movement steps (\code{MaxSteps} in \code{\link[RangeShiftR]{Settlement}}). -#' In this first case, dispersal mortality clearly depends upon the proportion of suitable habitat in the landscape and will increase as the -#' availability of habitat declines.\cr -#' A second source of dispersal mortality can be specified by the user in form of a per-step probability of mortality (\code{StepMort}. -#' This can be useful for representing mortality risks that increase with distance or time spent travelling \insertCite{bonte2012costs}{RangeShiftR}. -#' Additionally, it is possible that the per-step mortality varies according to the nature of the local environment by providing the \code{CostMap}. -#' -#' Note that the total dispersal mortality -#' experienced will be the sum of the mortalities due to the two sources identified above and, in parameterising the model, it will be important -#' to recognize this such that dispersal mortality is not double-accounted. -#' -#' @references -#' \insertAllCited{} -#' @return a parameter object of class "StochMove" -#' @author Anne-Kathleen Malchow -#' @name SMS -#' @export SMS -SMS <- setClass("StochMove", slots = c(PR = "integer_OR_numeric", - PRMethod = "integer_OR_numeric", # Perceptual range method: 1 = arithmetic mean; 2 = harmonic mean; 3 = weighted arithmtic mean - MemSize = "integer_OR_numeric", - GoalType = "integer_OR_numeric", # 0 (none) or 2 (dispersal bias) - IndVar = "logical", - DP = "numeric", - GoalBias = "numeric", - AlphaDB = "numeric", - BetaDB = "integer_OR_numeric", - StraightenPath = "logical", - Costs = "numeric_OR_character", # will determine on C++ level the values of CostHab1 ... CostHabN, CostHabitat, CostMatrix, CostMap, CostMapFile - CostMap = "logical", - StepMort = "numeric") # will determine on C++ level the values of HabMort, MortConst, MortHab1 ... MortHabN, MortHabitat, MortMatrix - , prototype = list(PR = 1L, - PRMethod = 1L, - MemSize = 1L, - GoalType = 0L, - IndVar = FALSE, - DP = 1.0, - GoalBias = 1.0, - #AlphaDB = 1.0, - #BetaDB = 100000, - StraightenPath = TRUE, - #Costs, - StepMort = 0.0) - , contains = "TransferParams" -) -setValidity("StochMove", function(object) { - msg <- NULL - if (anyNA(object@PR) || length(object@PR)!=1) { - msg <- c(msg, "PR must be set and of length 1!") - } - else{ - if (object@PR < 1.0) { - msg <- c(msg, "PR must be >= 1!") - } - } - if (anyNA(object@PRMethod) || length(object@PRMethod)!=1) { - msg <- c(msg, "PRMethod must be set and of length 1!") - } - else{ - if (object@PRMethod != 1 && object@PRMethod != 2 && object@PRMethod != 3) { - msg <- c(msg, "PRMethod must be either 1, 2 or 3!") - } - } - if (anyNA(object@MemSize) || length(object@MemSize)!=1) { - msg <- c(msg, "MemSize must be set and of length 1!") - } - else{ - if (object@MemSize < 1 || object@MemSize > 14) { - msg <- c(msg, "MemSize must be between 1 and 14 !") - } - } - if (anyNA(object@GoalType) || length(object@GoalType)!=1) { - msg <- c(msg, "GoalType must be set and of length 1!") - } - else{ - if (object@GoalType != 0 && object@GoalType != 2) { - msg <- c(msg, "GoalType must be either 0 or 2!") - } - } - if (anyNA(object@IndVar) || length(object@IndVar)!=1) { - msg <- c(msg, "IndVar must be set and of length 1!") - } - if(is.null(msg)){ - if (anyNA(object@DP) || length(object@DP)==0) { - msg <- c(msg, "DP must be set!") - } - else{ - if(object@IndVar){ - if(length(object@DP)==3){ - if (object@DP[1] < 1.0) { - msg <- c(msg, "DP (mean) must be >= 1.0!") - } - if (object@DP[2] <= 0.0) { - msg <- c(msg, "DP (SD) must be strictly positive!") - } - if (object@DP[3] <= 0.0) { - msg <- c(msg, "DP (scaling factor) must be strictly positive !") - } - if(is.null(msg)){ - if (object@DP[3] < object@DP[2]) { - msg <- c(msg, "DP scaling factor must be greater than or equal to its SD !") - } - } - } - else{ - msg <- c(msg, "DP must have length 3 if IndVar=TRUE!") - } - } - else { - if(length(object@DP)==1){ - if (object@DP < 1.0) { - msg <- c(msg, "DP must be >= 1.0 !") - } - } - else{ - msg <- c(msg, "DP must have length 1 if IndVar=FALSE!") - } - } - } - if (object@GoalType) { # GoalType = 2 - if (anyNA(object@GoalBias) || length(object@GoalBias)==0) { - msg <- c(msg, "GoalBias strength must be set!") - } - else{ - if(object@IndVar){ - if(length(object@GoalBias)==3){ - if (object@GoalBias[1] < 1.0) { - msg <- c(msg, "GoalBias strength (mean) must be >= 1.0!") - } - if (object@GoalBias[2] <= 0.0) { - msg <- c(msg, "GoalBias strength (SD) must be strictly positive!") - } - if (object@GoalBias[3] <= 0.0) { - msg <- c(msg, "GoalBias strength (scaling factor) must be strictly positive !") - } - if(is.null(msg)){ - if (object@GoalBias[3] < object@GoalBias[2]) { - msg <- c(msg, "GoalBias strength scaling factor must be greater than or equal to its SD !") - } - } - } - else{ - msg <- c(msg, "GoalBias strength must have length 3 if IndVar=TRUE!") - } - } - else { - if(length(object@GoalBias)==1){ - if (object@GoalBias < 1.0 ) { - msg <- c(msg, "GoalBias strength must be >= 1.0 !") - } - } - else{ - msg <- c(msg, "GoalBias strength must have length 1 if IndVar=FALSE!") - } - } - } - if (anyNA(object@AlphaDB) || length(object@AlphaDB)==0) { - msg <- c(msg, "AlphaDB must be set!") - } - else{ - if(object@IndVar){ - if(length(object@AlphaDB)==3){ - if (object@AlphaDB[1] <= 0.0) { - msg <- c(msg, "AlphaDB (mean) must be strictly positive!") - } - if (object@AlphaDB[2] <= 0.0) { - msg <- c(msg, "AlphaDB (SD) must be strictly positive!") - } - if (object@AlphaDB[3] <= 0.0) { - msg <- c(msg, "AlphaDB (scaling factor) must be strictly positive !") - } - if(is.null(msg)){ - if (object@AlphaDB[3] < object@AlphaDB[2]) { - msg <- c(msg, "AlphaDB scaling factor must be greater than or equal to its SD !") - } - } - } - else{ - msg <- c(msg, "AlphaDB must have length 3 if IndVar=TRUE!") - } - } - else { - if(length(object@AlphaDB)==1){ - if (object@AlphaDB <= 0.0) { - msg <- c(msg, "AlphaDB must be strictly positive!") - } - } - else{ - msg <- c(msg, "AlphaDB must have length 1 if IndVar=FALSE!") - } - } - } - if (anyNA(object@BetaDB) || length(object@BetaDB)==0) { - msg <- c(msg, "BetaDB must be set!") - } - else{ - if(object@IndVar){ - if(length(object@BetaDB)==3){ - if (object@BetaDB[1] < 1.0) { - msg <- c(msg, "BetaDB (mean) must be >= 1 steps!") - } - if (object@BetaDB[2] <= 0.0) { - msg <- c(msg, "BetaDB (SD) must be strictly positive!") - } - if (object@BetaDB[3] <= 0.0) { - msg <- c(msg, "BetaDB (scaling factor) must be strictly positive !") - } - if(is.null(msg)){ - if (object@BetaDB[3] < object@BetaDB[2]) { - msg <- c(msg, "BetaDB scaling factor must be greater than or equal to its SD !") - } - } - } - else{ - msg <- c(msg, "BetaDB must have length 3 if IndVar=TRUE!") - } - } - else { - if(length(object@BetaDB)==1){ - if (object@BetaDB < 1.0) { - msg <- c(msg, "BetaDB must be >= 1 steps!") - } - } - else{ - msg <- c(msg, "BetaDB must have length 1 if IndVar=FALSE!") - } - } - } - } - } - if (anyNA(object@StraightenPath) || length(object@StraightenPath)!=1) { - msg <- c(msg, "StraightenPath must be set and of length 1!") - } - if (anyNA(object@Costs) || length(object@Costs)==0) { - msg <- c(msg, "Costs must be set!") - } - else{ - if (class(object@Costs)=="numeric") { - if (any(object@Costs < 1) ) { - msg <- c(msg, "Costs must equal 1 (minimum cost) or be larger!") - } - } - else { - if (class(object@Costs)=="character") { - if (object@Costs != "file") { - msg <- c(msg, "Costs has a wrong format! Must be either numeric or the keyword \"file\".") - } - } - else{ # neither numeric nor character - msg <- c(msg, "Costs has a wrong format!") - } - } - } - if (anyNA(object@StepMort) || length(object@StepMort)==0) { - msg <- c(msg, "StepMort must be set!") - } - else{ - if (any(object@StepMort < 0.0 | object@StepMort >= 1.0) ) { - msg <- c(msg, "StepMort probabilities must be within the half-open interval [0,1) !") - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "StochMove", function(.Object,...) { - this_func = "SMS(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if (!.Object@GoalType) { # GoalType = 0 - .Object@GoalBias = 1.0 - if (!is.null(args$GoalBias)) { - warning(this_func, "GoalBias", warn_msg_ignored, "since GoalType = 0.", call. = FALSE) - } - .Object@AlphaDB = -9L - if (!is.null(args$AlphaDB)) { - warning(this_func, "AlphaDB", warn_msg_ignored, "since GoalType = 0.", call. = FALSE) - } - .Object@BetaDB = -9L - if (!is.null(args$BetaDB)) { - warning(this_func, "BetaDB", warn_msg_ignored, "since GoalType = 0.", call. = FALSE) - } - } - if (class(.Object@Costs)=="character") { - if (.Object@Costs == "file") .Object@CostMap = TRUE - } - else { - if (class(.Object@Costs)=="numeric") { - .Object@CostMap = FALSE - } - } - .Object} -) -setMethod("show", "StochMove", function(object){ - callNextMethod() - cat(" PR =", object@PR, ", MemSize =", object@MemSize, "\n") - if (object@PRMethod == 1) cat(" Method: Arithmetic mean \n") - if (object@PRMethod == 2) cat(" Method: Harmonic mean \n") - if (object@PRMethod == 3) cat(" Method: Weighted arithmetic mean \n") - - if (object@IndVar) { - cat(" DP =", object@DP[1], "\u00B1" , object@DP[2], ", scale \u03bc =", object@DP[3], "\n") - } - else { - cat(" DP =", object@DP, "\n") - } - - if (object@GoalType) { - cat(" GoalType: Dispersal bias:\n") - if (object@IndVar) { - cat(" GoalBias =", object@GoalBias[1], "\u00B1" , object@GoalBias[2], ", scale \u03bc =", object@GoalBias[3], "\n") - cat(" AlphaDB =", object@AlphaDB[1], "\u00B1" , object@AlphaDB[2], ", scale \u03bc =", object@AlphaDB[3], "\n") - cat(" BetaDB =", object@BetaDB[1], "\u00B1" , object@BetaDB[2], ", scale \u03bc =", object@BetaDB[3], "\n") - } - else { - cat(" GoalBias =", object@GoalBias, "\n") - cat(" AlphaDB =", object@AlphaDB, ", BetaDB =", object@BetaDB, "\n") - } - } - cat(" StraightenPath =", object@StraightenPath, "\n") - cat(" Costs ") - if (object@CostMap) cat(" read from file \n") - else cat("=", object@Costs, "\n") - cat(" StepMort =", object@StepMort, "\n") - } -) -setMethod("plotProbs", "StochMove", function(x, xmax = NULL, ymax = NULL){ - # get parameters - gb <- x@GoalBias - if (x@GoalType == 2) { - alp <- x@AlphaDB - bet <- x@BetaDB - main = "Dispersal Bias" - } else main = "Goal Bias is disabled" - # New plot - if (x@GoalType == 2) { - if (is.null(xmax)) xmax = 2*bet[1] - xvals = seq(0, xmax) - } - else {if(is.null(xmax)) xmax <- 100} - if (is.null(ymax)) {ymax = gb[1]*1.1} - plot(NULL, type = "n", main = main, xlab = "Nr of steps", ylab = "Bias strength", xlim = c(0,xmax), ylim = c(1.0,ymax)) - leg.txt <- c() - # add to plot: - if (x@IndVar) { - # plot shaded sd interval - if (x@GoalType == 2) { - res <- matrix(ncol = 8, nrow = length(xvals)) - res[,1] <- 1+densdep(xvals, A0 = (gb[1]-gb[2]-1), alpha = -(alp[1]-alp[2]), beta = (bet[1]-bet[2])) - res[,2] <- 1+densdep(xvals, A0 = (gb[1]-gb[2]-1), alpha = -(alp[1]-alp[2]), beta = (bet[1]+bet[2])) - res[,3] <- 1+densdep(xvals, A0 = (gb[1]-gb[2]-1), alpha = -(alp[1]+alp[2]), beta = (bet[1]-bet[2])) - res[,4] <- 1+densdep(xvals, A0 = (gb[1]-gb[2]-1), alpha = -(alp[1]+alp[2]), beta = (bet[1]+bet[2])) - res[,5] <- 1+densdep(xvals, A0 = (gb[1]+gb[2]-1), alpha = -(alp[1]-alp[2]), beta = (bet[1]-bet[2])) - res[,6] <- 1+densdep(xvals, A0 = (gb[1]+gb[2]-1), alpha = -(alp[1]-alp[2]), beta = (bet[1]+bet[2])) - res[,7] <- 1+densdep(xvals, A0 = (gb[1]+gb[2]-1), alpha = -(alp[1]+alp[2]), beta = (bet[1]-bet[2])) - res[,8] <- 1+densdep(xvals, A0 = (gb[1]+gb[2]-1), alpha = -(alp[1]+alp[2]), beta = (bet[1]+bet[2])) - polygon(c(xvals,rev(xvals)), c(apply(res, 1, min), rev(apply(res, 1, max))), border=NA, col='grey80') - } - else {#constant - polygon(c(0,xmax,xmax,0), c(rep(gb[1]-gb[2],2),rep(gb[1]+gb[2],2)), border=NA, col='grey80') - } - } - # plot lines - if (x@GoalType == 2) { - lines(xvals, 1+densdep(xvals, A0 = (gb[1]-1), alpha = -alp[1], beta = bet[1]), type = "b", lty = 1, col = "blue") - }else { # constant - lines(x=c(0,xmax), y=rep(gb[1],2), type = "b", lty = 1, col = "blue") - } -}) - - -## Transfer-class CORRRW - -#' Set up a Correlated Random Walk -#' -#' A method to describe \code{\link[RangeShiftR]{Transfer}}: -#' A simple correlated random walk without any bias; implemented in continuous space on the top of the landscape grid. -#' -#' @usage CorrRW(StepLength = 1, Rho = 0.5, -#' IndVar = FALSE, -#' StraightenPath = FALSE, -#' StepMort = 0.0) -#' @param StepLength Step length given in meters, defaults to \eqn{1}.\cr If \code{IndVar=TRUE}, expects a vector of length three -#' specifying (Mean, SD, TraitScaleFactor) of \code{StepLength}. -#' @param Rho Correlation parameter \eqn{Ď}, defaults to \eqn{0.5}. Must be in the open interval \eqn{(0,1)}.\cr If \code{IndVar=TRUE}, -#' expects a vector of length three specifying (Mean, SD, TraitScaleFactor) of \code{Rho}. -#' @param IndVar Individual variability in CorrRW traits (i.e. \code{StepLength} and \code{Rho})? Defaults to \code{FALSE}. -#' @param StraightenPath Straighten path after decision not to settle in a patch? Defaults to \code{TRUE}, see Details below. -#' @param StepMort Per-step mortality probability. Can be either \emph{constant}, in which case a single numeric is expected (the default, with -#' value \eqn{0.0}) or \emph{habitat-specific}, in which case a numeric vector is expected with a length of, respectively, \code{Nhabitats} for an -#' \code{\link[RangeShiftR]{ImportedLandscape}} with habitat codes (i.e. \code{HabPercent=FALSE})) or length \eqn{2} for an -#' \code{\link[RangeShiftR]{ArtificialLandscape}} (mortality probabilities for matrix and habitat cells).\cr -#' All values must be within the half-open interval \eqn{[0,1)}.\cr -#' For an imported habitat quality landscape (\code{HabPercent=TRUE}), only constant per-step mortality is allowed. -#' @details -#' Individuals take steps of a constant \code{StepLength}; the direction is sampled from a wrapped Cauchy distribution having a -#' correlation parameter \eqn{Rho} in the range \eqn{0} to \eqn{1} \insertCite{barton2009evolution,zollner1999search}{RangeShiftR}. -#' As for \code{\link[RangeShiftR]{SMS}}, all individuals take each step -#' simultaneously. In the case of patch-based models, -#' \eqn{Rho} is automatically set to \eqn{0.99} until the individual steps outside its natal patch, after which the value of -#' \eqn{Rho} set by the user is restored. \cr -#' The \code{StepLength} and \eqn{Rho} can be set to vary between individuals and evolve (set \code{IndVar=TRUE}). -#' In this case, each individual exhibits two traits for these two parameters. -#' For each trait the initial mean and standard deviations must be set, as well as the TraitScaleFactor (see \code{\link[RangeShiftR]{Settlement}}), -#' instead of only one constant value each.\cr -#' Note that the step length may not evolve below one fifth of -#' the landscape resolution, and correlation may not evolve above \eqn{0.999}. \cr -#' Per-step mortality is not allowed to vary between individuals or to evolve. \cr -#' There is no implementation of sex- or stage-specific CRW. -#' -#' When an individual arrives in a non-natal patch and decides not to settle there (as a result of a density-dependent or mate-finding settlement -#' rule, see \code{\link[RangeShiftR]{Settlement}}), then there is the option that its path is straightened (\code{StraightenPath=TRUE}). This means -#' that it leaves the patch as soon as possible in order to search for another patch. This is achieved by increasing its path correlation to -#' \code{Rho}\eqn{=0.999}. However, in certain types of model, e.g. when arbitrary contiguous patches have been defined for what is basically a continuous -#' population, this can lead to the path always being straightened, as an individual enters a new patch as soon as it has left the one it has -#' rejected. In such cases, it is advisable to disable the feature (\code{StraightenPath=FALSE}), although care must be taken that individuals -#' do not become trapped in patches surrounded by very high cost matrix. -#' -#' \emph{Mortality}\cr -#' There are two main sources of mortality: First, dispersal mortality can arise as a result of individuals failing to reach suitable habitat. Some individuals may fail -#' to find suitable habitat before they use up their maximum number of movement steps (\code{MaxSteps} in \code{\link[RangeShiftR]{Settlement}}). -#' In this first case, dispersal mortality clearly depends upon the proportion of suitable habitat in the landscape and will increase as the -#' availability of habitat declines.\cr -#' A second source of dispersal mortality can be specified by the user in form of a per-step probability of mortality (\code{StepMort}. -#' This can be useful for representing mortality risks that increase with distance or time spent travelling \insertCite{bonte2012costs}{RangeShiftR}. -#' -#' Note that the total dispersal mortality experienced will be the sum of the mortalities due to the two sources identified above and, in parameterising the model, -#' it will be important to recognize this such that dispersal mortality is not double-accounted. -#' @references -#' \insertAllCited{} -#' @return a parameter object of class "CorrRW" -#' @author Anne-Kathleen Malchow -#' @name CorrRW -#' @export CorrRW -CorrRW <- setClass("CorrRW", slots = c(IndVar = "logical", - StepLength = "numeric", - Rho = "numeric", - StraightenPath = "logical", - StepMort = "numeric") # will determine on C++ level the values of HabMort, MortConst, MortHab1 ... MortHabN, MortHabitat, MortMatrix - , prototype = list(IndVar = FALSE, - StepLength = 1L, - Rho = 0.5, - StraightenPath = FALSE, - StepMort = c(0.0)) - , contains = "TransferParams" -) -setValidity("CorrRW", function(object) { - msg <- NULL - if (anyNA(object@IndVar) || length(object@IndVar)!=1) { - msg <- c(msg, "IndVar must be set and of length 1!") - } - if (anyNA(object@StepLength) || length(object@StepLength)==0) { - msg <- c(msg, "StepLength must be set!") - } - else{ - if(object@IndVar){ - if(length(object@StepLength)==3){ - if (object@StepLength[1] <= 0.0) { - msg <- c(msg, "Step Length (mean) must be strictly positive!") - } - if (object@StepLength[2] <= 0.0) { - msg <- c(msg, "Step Length (SD) must be strictly positive!") - } - if (object@StepLength[3] <= 0.0) { - msg <- c(msg, "Step Length (scaling factor) must be strictly positive !") - } - if(is.null(msg)){ - if (object@StepLength[3] < object@StepLength[2]) { - msg <- c(msg, "Step Length scaling factor must be greater than or equal to its SD !") - } - } - } - else{ - msg <- c(msg, "StepLength must have length 3 if IndVar=TRUE!") - } - } - else { - if(length(object@StepLength)==1){ - if (object@StepLength <= 0.0) { - msg <- c(msg, "StepLength must be strictly positive!") - } - } - else{ - msg <- c(msg, "StepLength must have length 1 if IndVar=FALSE!") - } - } - } - if (anyNA(object@Rho) || length(object@Rho)==0) { - msg <- c(msg, "Rho must be set!") - } - else{ - if(object@IndVar){ - if(length(object@Rho)==3){ - if (object@Rho[1] <= 0.0 || object@Rho[1] >= 1.0) { - msg <- c(msg, "Rho (mean) must be within the open interval (1,0)!") - } - if (object@Rho[2] <= 0.0 || object@Rho[2] >= 1.0) { - msg <- c(msg, "Rho (SD) must be within the open interval (1,0)!") - } - if (object@Rho[3] <= 0.0 || object@Rho[3] >= 1.0) { - msg <- c(msg, "Rho (scaling factor) must be within the open interval (1,0)!") - } - if(is.null(msg)){ - if (object@Rho[3] < object@Rho[2]) { - msg <- c(msg, "Rho scaling factor must be greater than or equal to its SD !") - } - } - } - else{ - msg <- c(msg, "Rho must have length 3 if IndVar=TRUE!") - } - } - else { - if(length(object@Rho)==1){ - if (object@Rho <= 0.0 || object@Rho >= 1.0) { - msg <- c(msg, "Correlation coefficient (Rho) must be within the open interval (1,0)!") - } - } - else{ - msg <- c(msg, "Rho must have length 1 if IndVar=FALSE!") - } - } - } - if (anyNA(object@StraightenPath) || length(object@StraightenPath)!=1) { - msg <- c(msg, "StraightenPath must be set and of length 1!") - } - if (anyNA(object@StepMort) || length(object@StepMort)==0) { - msg <- c(msg, "StepMort must be set!") - } - else{ - if (any(object@StepMort < 0.0 | object@StepMort >= 1.0) ) { - msg <- c(msg, "StepMort probabilities must be within the half-open interval [0,1) !") - } - } - if (is.null(msg)) TRUE else msg} -) -# setMethod("initialize", "CorrRW", function(.Object,...) { -# this_func = "CorrRW(): " -# args <- list(...) -# .Object <- callNextMethod() -# if ( length(args) == 0 ) { -# validObject(.Object) -# } -# .Object} -# ) -setMethod("show", "CorrRW", function(object){ - callNextMethod() - if (object@IndVar) { - cat(" StepLength =", object@StepLength[1], "\u00B1" , object@StepLength[2], ", scale \u03bc =", object@StepLength[3], "\n") - cat(" Rho =", object@Rho[1], "\u00B1" , object@Rho[2], ", scale \u03bc =", object@Rho[3], "\n") - } - else { - cat(" StepLength =", object@StepLength, "\n") - cat(" Rho =", object@Rho, "\n") - } - cat(" StraightenPath =", object@StraightenPath, "\n") - cat(" StepMort =", object@StepMort, "\n") - } -) - - -### SUBCLASS SETTLEMENTPARAMS - -# from RS 'Settlement' file - -#' Set Settlement Parameters -#' -#' Settlement, or immigration, is the last phase of dispersal, when the organism stops in a new cell or patch of breeding habitat. The -#' available settlement conditions vary depending on the used \code{\link[RangeShiftR]{Transfer}} type. In any case, dispersing individuals -#' are not allowed to settle in their natal cell or patch and can only settle in suitable habitat.\cr -#' \emph{RangeShiftR} incorporates some basic settlement rules that can be stage- or sex-specific or both (set \code{StageDep}, \code{SexDep}). -#' If a movement process is used, density-dependence (\code{DensDep}) and/or inter-individual variability (\code{IndVar}) are available. -#' @usage Settlement(StageDep = FALSE, SexDep = FALSE, -#' Settle = 0, FindMate = FALSE, -#' DensDep = FALSE, -#' IndVar = FALSE, TraitScaleFactor, -#' MinSteps = 0, MaxSteps = 0, MaxStepsYear = 0) -#' @param StageDep Stage-dependent settlement requirements? (default: \code{FALSE}) -#' @param SexDep Sex-dependent settlement requirements? (default: \code{FALSE}) -#' @param Settle Settlement codes (for \code{DispersalKernel}) or settlement probability parameters (for \emph{Movement process}) for all -#' stages/sexes, defaults to \eqn{0} (i.e. 'die when unsuitable' for \emph{DispersalKernel} and -#' 'always settle when suitable' for \emph{Movement process}). See the Details below. -#' @param FindMate Mating requirements to settle? Set for all stages/sexes. Must be \code{FALSE} (default) in a female-only model. -#' @param DensDep Movement process only: Density-dependent settlement probability? (default: \code{FALSE}) -#' @param IndVar Movement process only: Individual variability in settlement probability traits? Must be \code{FALSE} (default), -#' if \code{DensDep=FALSE} or \code{StageDep=TRUE}. -#' @param TraitScaleFactor Movement process only, required if \code{IndVar=TRUE}: Scaling factors for the three traits of density-dependent settlement, -#' a numeric of length \eqn{3}. -#' @param MinSteps Movement process only: Minimum number of steps. Defaults to \eqn{0}. -#' @param MaxSteps Movement process only: Maximum number of steps. Must be \eqn{0} or more; set to \eqn{0} (default) for “per-step mortality only”. -#' @param MaxStepsYear Movement process and stage-structured population only: Maximum number of steps per year, if there are more than \eqn{1} reproductive seasons (option \code{RepSeasons} in \code{\link[RangeShiftR]{StageStructure}}). -#' Must be \eqn{0} or more. If \eqn{0}, every individual completes the dispersal phase in one year, i.e. between two successive reproduction phases. -#' @details -#' The settlement phase is determined by a suite of strategies, behaviours and reaction norms that lead individuals to the decision to stop -#' in a particular place. Habitat selection, mate finding and density dependence are probably three of the main processes involved, -#' but not the only ones. Like emigration, settlement is a complex process affected by multiple criteria including inter-individual -#' variability and context dependencies. -#' -#' The type of implemented settlement rules depends on the movement model utilized for the \code{\link[RangeShiftR]{Transfer}}. -#' In any case, dispersing individuals are not allowed to settle in their natal cell or patch.\cr -#' \emph{RangeShiftR} incorporates some basic settlement rules that can be stage- or sex-specific or both (set \code{StageDep}, \code{SexDep}). -#' Inter-individual variability (\code{IndVar}) is implemented only for movement processes and then for the three traits -#' determining density-dependent settlement (\ifelse{html}{\out{S0}}{\eqn{S_0}}, \ifelse{html}{\out{αS}}{\eqn{α_S}}, -#' \ifelse{html}{\out{βS}}{\eqn{β_S}}; see below). In this case, settlement may not be stage-dependent.\cr -#' -#' \emph{Settlement with dispersal kernels}\cr -#' When using a \code{\link[RangeShiftR]{DispersalKernel}}, individuals are displaced directly from the starting location to the arrival location. The suitability -#' of the arrival cell or patch determines whether the disperser is successful or not.\cr For species with \emph{non-overlapping generations}, -#' where individuals have only one chance to disperse and reproduce, the model has two options if the arrival cell is unsuitable: the -#' individual either dies (\code{Settle} code \eqn{0}) or it can move to one of the eight neighbouring cells in the case that at least one -#' of them is suitable (\code{Settle} code \eqn{2}). In -#' the latter case, if more than one of the neighbouring cells is suitable, the individual is placed in one of them chosen randomly. -#' For patch-based models, if the arrival patch is unsuitable, the individual either dies or can move to a randomly chosen neighbouring -#' suitable patch, provided that the new patch is only one cell apart from the arrival patch.\cr For species with \emph{overlapping generations} -#' (i.e. a \code{\link[RangeShiftR]{StageStructure}}d population), -#' where individuals can disperse over multiple seasons, there are two additional options: First, if the arrival cell/patch is unsuitable, -#' the individual can stay there waiting until the next dispersal event when it will disperse again according to the set kernel (\code{Settle} code \eqn{1}). Second, -#' if both the arrival cell/patch and all eight neighbouring cells, or all eventual neighbouring patches, are unsuitable the individual -#' can wait in the arrival cell/patch before moving again at the next dispersal event (\code{Settle} code \eqn{3}). The arrival cell/patch is considered suitable if -#' it contains breeding habitat. -#' -#' If the settlement condition is the same for the entire population (\code{StageDep=FALSE} and \code{SexDep=FALSE}), then the parameter -#' \code{Settle} takes a single integer, specifying the corresponding settlement condition code (\eqn{0,1,2} or \eqn{3}). -#' In case of stage- and/or sex-specific settlement conditions, \code{Settle} must be an integer matrix with the first one/two columns -#' stating 'stage' and/or 'sex' (\eqn{0} for \emph{female} and \eqn{1} for \emph{male}), and the last column giving the respective settlement condition. -#' Exactly one row for each stage/sex-combination is required, in no particular order. -#' -#' Settlement condition codes: If the individuals current step ends in unsuitable habitat, it:\cr -#' \eqn{0} = die (default),\cr -#' \eqn{1} = wait (stage-structured models only),\cr -#' \eqn{2} = randomly choose a suitable neighbouring cell or die,\cr -#' \eqn{3} = randomly choose a suitable neighbouring cell or wait (stage-structured models only).\cr -#' -#' Simple example for sex-dependence only: Females choose a neighbouring cell or wait, males wait: \tabular{cc}{\out{ } 0 \tab \out{ } 3 \cr \out{ } 1 \tab \out{ } 0 } -#' -#' \emph{Settlement with movement processes}\cr -#' If individuals are dispersing by one of the two movement processes implemented (\code{\link[RangeShiftR]{SMS}} or -#' \code{\link[RangeShiftR]{CorrRW}}), at each step (made simultaneously) they each evaluate their current cell or patch for the -#' possibility of settling. This allows for the implementation of more complex settlement rules. The simplest one is that the individual -#' decides to stop if there is suitable habitat; this is in any case a necessary condition (set \code{DensDep=FALSE}).\cr -#' If a Settlement module with a constant \eqn{S_0=0} (the default) is used in a model with \emph{movement process}, -#' it gets converted to \eqn{S_0=1.0}, i.e. 'always settle when habitat is suitable'. \cr -#' \cr -#' Furthermore, the settlement decision can be density-dependent (set \code{DensDep=TRUE}). In this case, the individual has a probability \ifelse{html}{\out{pS}}{\eqn{p_S}} -#' of settling in the cell or patch \eqn{i}, given by: -#' -#' \ifelse{html}{\out{   pS(i,t) = S0 / ( 1 + eS (N(i,t) / K(i,t) - βS) ) } }{\deqn{ p_S(i,t) = S_0 / ( 1 + exp[-α_S (N(i,t)/K(i,t) - β_S) ] ) } } -#' -#' In the case of stage-structured models the above equation is modified to: -#' -#' \ifelse{html}{\out{   pS(i,t) = S0 / ( 1 + eS (b(i,t) * N(i,t) - βS) ) } }{\deqn{ p_S(i,t) = S_0 / ( 1 + exp[-α_S (b(i,t) N(i,t) - β_S) ] ) } } -#' -#' In the first case, \eqn{K(i,t)} is the carrying capacity of the cell/patch \eqn{i} at time \eqn{t} given by \code{K_or_DensDep}. -#' In the latter case, \eqn{b(i,t)} represents the strength of density dependence that is given by the inverse of \code{K_or_DensDep}.\cr -#' Further, \ifelse{html}{\out{S0}}{\eqn{S_0}} is the maximum settlement probability, -#' \eqn{N(i,t)} is the number of individuals in the cell/patch \eqn{i} at time \eqn{t}, -#' \ifelse{html}{\out{βS}}{\eqn{β_S}} is the inflection point of the function and -#' \ifelse{html}{\out{αS}}{\eqn{α_S}} is the slope at the inflection point.\cr -#' -#' Inter-individual variability \code{IndVar=TRUE} and thus evolution is implemented only for the three traits determining density-dependent settlement -#' (\code{DensDep=TRUE}), and if so, it may not be stage-dependent (\code{StageDep=FALSE}). -#' For each trait the initial distribution in the population (as mean and standard variation) must be set in \code{Settle} (instead of only one constant value), -#' as well as their scaling factors in \code{TraitScaleFactor} (see \code{\link[RangeShiftR]{Genetics}}). -#' -#' The parameters that determine the settlement probabilities have to be provided via the parameter \code{Settle}, which generally takes a numeric matrix, or - if only a single constant probability is -#' used (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}) - a single numeric. -#' The format of the matrix is defined as follows: The number of columns depend on the options \code{DensDep} and \code{IndVar}. If \code{DensDep=FALSE}, the -#' density-independent probability \ifelse{html}{\out{pS}}{\eqn{p_S}} must be specified. If \code{DensDep=TRUE}, the functional parameters \ifelse{html}{\out{S0}}{\eqn{S_0}}, -#' \ifelse{html}{\out{αS}}{\eqn{α_S}} and \ifelse{html}{\out{βS}}{\eqn{β_S}} (cf. equation above) must be specified. -#' Additionally, if \code{IndVar=FALSE}, these traits are fixed, but if \code{IndVar=TRUE} each of them is replaced by two parameters: their respective initial mean and -#' standard deviation. They are used to normally distribute the traits values among the individuals of the initial population. Additionally, the \code{TraitScaleFactor} of -#' these traits have to be set. -#' -#' All parameters have to be given for each stage/sex if the respective dependency is enabled. If \code{StageDep=TRUE}, state the corresponding stage in the first column. -#' If \code{SexDep=TRUE}, state the corresponding stage in the next (i.e. first/second) column, with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. -#' The following table lists the required columns and their correct order for different settings: -#' -#' \tabular{ccccc}{DensDep \tab IndVar \tab StageDep \tab SexDep \tab columns \cr -# F \tab F \tab F \tab F \tab \ifelse{html}{\out{pS}}{\eqn{p_S}} \cr -#' F \tab F \tab F \tab F \tab - not applicable - \cr -#' F \tab F \tab T \tab F \tab stage \cr -#' F \tab F \tab F \tab T \tab sex \cr -#' F \tab F \tab T \tab T \tab stage, sex \cr -#' T \tab F \tab F \tab F \tab \ifelse{html}{\out{S0}}{\eqn{S_0}}, \ifelse{html}{\out{αS}}{\eqn{α_S}}, \ifelse{html}{\out{βS}}{\eqn{β_S}} \cr -#' \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \cr -#' T \tab F \tab T \tab T \tab stage, sex, \ifelse{html}{\out{S0}}{\eqn{S_0}}, \ifelse{html}{\out{αS}}{\eqn{α_S}}, \ifelse{html}{\out{βS}}{\eqn{β_S}} \cr -#' T \tab T \tab F \tab F \tab mean\ifelse{html}{\out{(S0)}}{\eqn{(S_0)}}, sd\ifelse{html}{\out{(S0)}}{\eqn{(S_0)}}, mean\ifelse{html}{\out{(αS)}}{(\eqn{α_S})}, sd\ifelse{html}{\out{(αS)}}{(\eqn{α_S})}, mean\ifelse{html}{\out{(βS)}}{(\eqn{β_S})}, sd\ifelse{html}{\out{(βS)}}{(\eqn{β_S})} \cr -#' T \tab T \tab F \tab T \tab sex, mean\ifelse{html}{\out{(S0)}}{\eqn{(S_0)}}, sd\ifelse{html}{\out{(S0)}}{\eqn{(S_0)}}, mean\ifelse{html}{\out{(αS)}}{(\eqn{α_S})}, sd\ifelse{html}{\out{(αS)}}{(\eqn{α_S})}, mean\ifelse{html}{\out{(βS)}}{(\eqn{β_S})}, sd\ifelse{html}{\out{(βS)}}{(\eqn{β_S})} -#' } -#' -#' The column headings need not be included, only the numeric matrix is required. The rows require no particular order, but there must be exactly one row for each stage/sex combination. -#' For example, in the case of density-, stage- and sex-dependent settlement with no individual variability: -#' \tabular{ccccc}{ \out{ } 0 \tab \out{ } 0 \tab \out{ } 1.0 \tab \out{ } 0.2 \tab \out{ } 4.0 \cr -#' \out{ } 0 \tab \out{ } 1 \tab \out{ } 1.0 \tab \out{ } 0.1 \tab \out{ } 6.0 \cr -#' \out{ } 1 \tab \out{ } 0 \tab \out{ } 0.7 \tab \out{ } 0.5 \tab \out{ } 2.0 \cr -#' \out{ } 1 \tab \out{ } 1 \tab \out{ } 0.5 \tab \out{ } 0.5 \tab \out{ } 2.0 \cr -#' \out{ } 2 \tab \out{ } 0 \tab \out{ } 0.05 \tab \out{ } 1.0 \tab \out{ } 1.0 \cr -#' \out{ } 2 \tab \out{ } 1 \tab \out{ } 0.05 \tab \out{ } 1.0 \tab \out{ } 1.0 -#' } -#' -#' To avoid having individuals moving perpetually because they cannot find suitable conditions to settle, the model requires a maximum number -#' of steps (\code{MaxSteps}) or a per-step mortality (within the \code{Transfer} object), or both, to be set. -#' The maximum number of steps defines the maximum time length of the transfer period. -#' When an individual reaches the maximum number of steps, it stops where it is regardless of the suitability of the location. In -#' the case of \emph{non-overlapping generations} this results in automatic death if the individual stops in unsuitable habitat. For species that can disperse -#' over multiple seasons, i.e. a \emph{stage-structured population}, the model additionally requires a maximum number of steps per dispersal event (\code{MaxStepsYear}); on reaching that limit, the individual will -#' stop where it is and the next season, if still alive, it will move again. -#' -#' An additional rule that can be set constitutes a minimum number of steps (\code{MinSteps}) that each individual must take before settlement can take -#' place. This is useful for simulating situations where animals, in a â€dispersal mode’, will keep moving and not consider settling even -#' if suitable conditions are available \insertCite{@e.g. @barton2012risky}{RangeShiftR}. -#' -#' \emph{Mating requirements}\cr -#' Sexual species may be required to find a mate, i.e. there has to be at least one individual of the opposite sex present for the cell/patch to be considered suitable for settlement. -#' Density-dependence and mating requirements can also be combined together to determine the settlement decision. -#' -#' The application of this mating condition can be switched on or off using the parameter \code{FindMate}, which takes either a single -#' logical if \code{StageDep=FALSE} and \code{SexDep=FALSE} or, otherwise, a logical vector of same length as the number rows in -#' \code{Settle}, using same order. -#' -#' @references -#' \insertAllCited{} -#' @return a parameter object of class "SettlementParams" -#' @author Anne-Kathleen Malchow -#' @name Settlement -#' @export Settlement -Settlement <- setClass("SettlementParams", slots = c(StageDep = "logical", - SexDep = "logical", - Settle = "matrix_OR_numeric", # Settlement conditions for all sexes/stages. Settlement rule if the arrival cell/patch is unsuitable: 0 = die, 1 = wait, 2 = randomly choose a suitable cell/patch or die, 3 = randomly choose a suitable cell/patch or wait - FindMate = "logical", - DensDep = "logical", # For MovementProcess only! - IndVar = "logical", # For MovementProcess only! - TraitScaleFactor = "numeric", # For MovementProcess only! For IndVar only. Set for stage=0 only and 1 bzw 2 sexes - MinSteps = "integer_OR_numeric", # For MovementProcess only! - MaxSteps = "integer_OR_numeric", # For MovementProcess only! - MaxStepsYear = "integer_OR_numeric") # For MovementProcess only! - , prototype = list(StageDep = FALSE, - SexDep = FALSE, - Settle = matrix(0L), # for DispKernel this is "die" - FindMate = FALSE, - DensDep = FALSE, - IndVar = FALSE, - #TraitScaleFactor, - MinSteps = 0L, - MaxSteps = 0L, - MaxStepsYear = 0L) -) - -setValidity("SettlementParams", function(object) { - msg <- NULL - if (anyNA(object@StageDep) || length(object@StageDep)!=1) { - msg <- c(msg, "StageDep must be set and of length 1!") - } - if (anyNA(object@SexDep) || length(object@SexDep)!=1) { - msg <- c(msg, "SexDep must be set and of length 1!") - } - if (anyNA(object@Settle) || length(object@Settle)==0) { - msg <- c(msg, "Settle must be set!") - } - else{ - if (class(object@Settle)[1]=="numeric" && length(object@Settle)!=1) { - msg <- c(msg, "Settle must be a matrix!") - } - } - if (anyNA(object@FindMate) || length(object@FindMate)==0) { - msg <- c(msg, "FindMate must be set!") - } - else { - if (is.null(msg)) { - if( length(object@FindMate)!=nrow(object@Settle) && length(object@FindMate)!=1 ) { - msg <- c(msg, "FindMate must have either 1 entry or as many as rows in the Settle matrix!") - } - } - } - if (anyNA(object@DensDep) || length(object@DensDep)!=1) { - msg <- c(msg, "DensDep must be set and of length 1!") - } - if (anyNA(object@IndVar) || length(object@IndVar)!=1) { - msg <- c(msg, "IndVar must be set and of length 1!") - } - if (is.null(msg)) { - if ( object@IndVar && !object@DensDep ) { - msg <- c(msg, "Inter-individual variability (IndVar=TRUE) in settlement traits requires density-dependence (DensDep=TRUE) !") - } - if ( object@IndVar && object@StageDep ) { - msg <- c(msg, "Inter-individual variability (IndVar=TRUE) in stage-dependent (StageDep=TRUE) settlement traits is not implemented!") - } - } - if (is.null(msg)) { - if (object@IndVar) { - if (anyNA(object@TraitScaleFactor) || length(object@TraitScaleFactor)==0) { - msg <- c(msg, "TraitScaleFactor must be set!") - } - else{ - if (object@DensDep) { - if (length(object@TraitScaleFactor)!=3) { - msg <- c(msg, "TraitScaleFactor must have length 3 if DensDep=TRUE!") - } - else { - if (object@TraitScaleFactor[1] <= 0.0 || object@TraitScaleFactor[1] > 1.0 ) { - msg <- c(msg, "TraitScaleFactor ÎĽ(S_0) must be in the half-open interval (0,1] !") - } - if (any(object@TraitScaleFactor[2:3] <= 0.0 )) { - msg <- c(msg, "TraitScaleFactor ÎĽ(α_s) and ÎĽ(β_s) must be strictly positive !") - } - } - } - else { - if (length(object@TraitScaleFactor)!=1) { - msg <- c(msg, "TraitScaleFactor must have length 1 if DensDep=FALSE!") - } - else { - if (object@TraitScaleFactor <= 0 || object@TraitScaleFactor > 1 ) { - msg <- c(msg, "TraitScaleFactor ÎĽ(S_0) must be in the half-open interval (0,1] !") - } - } - } - } - } - } - if (anyNA(object@MinSteps) || length(object@MinSteps)==0) { - msg <- c(msg, "MinSteps must be set!") - } - else { - if (any(object@MinSteps < 0)){ - msg <- c(msg, "MinSteps can't be negative!") - } - } - if (anyNA(object@MaxSteps) || length(object@MaxSteps)==0) { - msg <- c(msg, "MaxSteps must be set!") - } - else { - if (any(object@MaxSteps < 0)){ - msg <- c(msg, "MaxSteps can't be negative!") - } - } - if (is.null(msg)) { - if( length(object@MinSteps)!=nrow(object@Settle) && length(object@MinSteps)!=1 ) { - msg <- c(msg, "MinSteps must have either 1 entry or as many as rows in the Settle matrix!") - } - if( length(object@MaxSteps)!=nrow(object@Settle) && length(object@MaxSteps)!=1 ) { - msg <- c(msg, "MaxSteps must have either 1 entry or as many as rows in the Settle matrix!") - } - } - if (object@StageDep) { - if (anyNA(object@MaxStepsYear) || length(object@MaxStepsYear)==0) { - msg <- c(msg, "MaxStepsYear must be set!") - } - else { - if (any(object@MaxStepsYear < 0)){ - msg <- c(msg, "MaxStepsYear can't be negative!") - } - else{ - if( length(object@MaxStepsYear)!=nrow(object@Settle) && length(object@MaxStepsYear)!=1 ) { - msg <- c(msg, "MaxStepsYear must have either 1 entry or as many as rows in the Settle matrix!") - } - else { - if (any(object@MaxStepsYear>object@MaxSteps)) { - msg <- c(msg, "MaxStepsYear can't be larger than MaxSteps!") - } - } - } - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "SettlementParams", function(.Object,...) { - this_func = "Settlement(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if (!is.null(args$Settle)) { - if (class(args$Settle)[1]=="numeric" && length(args$Settle)==1) { - .Object@Settle <- as.matrix(args$Settle) - } - } - if (!.Object@IndVar) { - .Object@TraitScaleFactor = -9L - if (!is.null(args$TraitScaleFactor)) { - warning(this_func, "TraitScaleFactor", warn_msg_ignored, "since IndVar = FALSE.", call. = FALSE) - } - } - .Object} -) -setMethod("show", "SettlementParams", function(object){ - if (object@DensDep) { - cat(" DensDep =", object@DensDep, "\n") - } - if (object@IndVar) { - cat(" IndVar =", object@IndVar, "\n") - } - if (object@StageDep) { - cat(" StageDep =", object@StageDep, "\n") - } - if (object@SexDep) { - cat(" SexDep =", object@SexDep, "\n") - } - cat(" Settlement conditions:\n") - print(object@Settle) - if (object@IndVar) { - cat(" TraitScaleFactor =", object@TraitScaleFactor, "\n") - } - cat(" FindMate =", object@FindMate, "\n") - } -) -setMethod("plotProbs", "SettlementParams", function(x, stage = NULL, sex = NULL, xmax = NULL, ymax = NULL){ - sett <- x@Settle - if (x@DensDep) { - # error messages - if (!is.null(stage)){ - if (x@StageDep) { - sett <- subset(sett, sett[,1] %in% stage) - } - else{ print("This settlement module has no stage-dependency.\n") } - } - if (!is.null(sex)){ - if (x@SexDep) { - if (x@StageDep) sett <- subset(sett, sett[,2] %in% sex) - else sett <- subset(sett, sett[,1] %in% sex) - } - else{ print("This settlement module has no sex-dependency.\n") } - } - # get column indices - if (x@StageDep) { - if (x@SexDep) {ind_D0 <- 3} else {ind_D0 <- 2} - }else{ - if (x@SexDep) {ind_D0 <- 2} else {ind_D0 <- 1} - } - if (x@IndVar) {IV <- 2} else {IV <- 1} - # New plot - if (is.null(xmax)) { - ind_max <- which.max(sett[,ind_D0+2*IV]) - xmax = min(2*sett[ind_max,ind_D0+2*IV], sett[ind_max,ind_D0+2*IV] + 6.0/abs(sett[ind_max,ind_D0+IV])) - } - xvals = seq(0, xmax, length.out = 100) - - if (is.null(ymax)) {ymax = 1} - - plot(NULL, type = "n", ylab = "Settlement probability", xlab = "relative population density (N/K or bN)", xlim = c(0,xmax), ylim = c(0,ymax)) - leg.txt <- c() - # Go through lines of distances matrix and add curves to plot - for(line in 1:nrow(sett)){ - if (x@IndVar) { - res <- matrix(ncol = 8, nrow = length(xvals)) - res[,1] <- densdep(xvals, A0 = sett[line,ind_D0]-sett[line,ind_D0+1], alpha = sett[line,ind_D0+2]-sett[line,ind_D0+3], beta = sett[line,ind_D0+4]-sett[line,ind_D0+5]) - res[,2] <- densdep(xvals, A0 = sett[line,ind_D0]-sett[line,ind_D0+1], alpha = sett[line,ind_D0+2]-sett[line,ind_D0+3], beta = sett[line,ind_D0+4]+sett[line,ind_D0+5]) - res[,3] <- densdep(xvals, A0 = sett[line,ind_D0]-sett[line,ind_D0+1], alpha = sett[line,ind_D0+2]+sett[line,ind_D0+3], beta = sett[line,ind_D0+4]-sett[line,ind_D0+5]) - res[,4] <- densdep(xvals, A0 = sett[line,ind_D0]-sett[line,ind_D0+1], alpha = sett[line,ind_D0+2]+sett[line,ind_D0+3], beta = sett[line,ind_D0+4]+sett[line,ind_D0+5]) - res[,5] <- densdep(xvals, A0 = sett[line,ind_D0]+sett[line,ind_D0+1], alpha = sett[line,ind_D0+2]-sett[line,ind_D0+3], beta = sett[line,ind_D0+4]-sett[line,ind_D0+5]) - res[,6] <- densdep(xvals, A0 = sett[line,ind_D0]+sett[line,ind_D0+1], alpha = sett[line,ind_D0+2]-sett[line,ind_D0+3], beta = sett[line,ind_D0+4]+sett[line,ind_D0+5]) - res[,7] <- densdep(xvals, A0 = sett[line,ind_D0]+sett[line,ind_D0+1], alpha = sett[line,ind_D0+2]+sett[line,ind_D0+3], beta = sett[line,ind_D0+4]-sett[line,ind_D0+5]) - res[,8] <- densdep(xvals, A0 = sett[line,ind_D0]+sett[line,ind_D0+1], alpha = sett[line,ind_D0+2]+sett[line,ind_D0+3], beta = sett[line,ind_D0+4]+sett[line,ind_D0+5]) - polygon(c(xvals,rev(xvals)), c(apply(res, 1, min), rev(apply(res, 1, max))), border=NA, col='grey80') - } - lines(xvals, densdep(xvals, A0 = sett[line,ind_D0], alpha = sett[line,ind_D0+IV], beta = sett[line,ind_D0+2*IV]), type = "l", lty = 1, col = line) - - if (x@StageDep) { - if (x@SexDep) {leg.txt <- c(leg.txt, paste0("Stage ",sett[line,1], ifelse(sett[line,2]," male"," female")))} else {leg.txt <- c(leg.txt, paste0("Stage ",sett[line,1]))} - } - else { - if (x@SexDep) {leg.txt <- c(leg.txt, ifelse(sett[line,1],"male","female"))} - } - } - if (length(leg.txt)>0) { - legend("topright", leg.txt, col = 1:nrow(sett), lwd = 1.5) - } - } - else{ print("Plotting is only implemented for density-dependent settlement (in a movement process).\n") } -}) - - -#### CLASS DISPERSALPARAMS - -# Superclass holding the sub-classes 'EmigrationParams', 'TransferParams' and 'SettlementParams' - -#' Set Dispersal Parameters -#' -#' Dispersal is defined as movement leading to spatial gene flow. It typically involves three phases, which are all modelled explicitly: -#' \code{\link[RangeShiftR]{Emigration}}, \code{\link[RangeShiftR]{Transfer}} and \code{\link[RangeShiftR]{Settlement}}.\cr -#' The specific parameters of each phase are set through their respective functions. For more details, see their documentation.\cr -#' \cr -#' The potential evolution of several key dispersal traits is implemented through the possibility of inter-individual variability and heritability. -#' This option (called \code{IndVar}) can be enabled for each dispersal phase in their respective modules. See the Details below for information on how -#' to set the associated parameters. Additionally, the \code{\link[RangeShiftR]{Genetics}} module must be defined. -#' -#' @usage Dispersal(Emigration = Emigration(), -#' Transfer = DispersalKernel(), -#' Settlement = Settlement()) -#' @param Emigration The first phase of dispersal; determines if an individual leaves its natal patch. -#' @param Transfer (or transience) The second phase of dispersal; consists of the movement of an individual departing from its natal patch towards -#' a potential new patch, ending with settlement or mortality. This movement can be modelled by one of three alternative processes:\cr -#' - Dispersal kernel: use \code{\link[RangeShiftR]{DispersalKernel}}\cr -#' - Stochastic movement simulator (SMS): use \code{\link[RangeShiftR]{SMS}}\cr -#' - Correlated random walk (CRW): use \code{\link[RangeShiftR]{CorrRW}} -#' @param Settlement (or immigration) The last phase of dispersal; determines when the individual stops in a new cell or patch of -#' breeding habitat. -#' @details -#' Dispersal is defined as movement leading to spatial gene flow, and it typically involves three phases: -#' emigration, transfer and settlement -#' \insertCite{stenseth1992,clobert2001,clobert2009,clobert2012,bowler2005,ronce2007}{RangeShiftR}.\cr -#' -#' The key role of dispersal in species persistence and responses to environmental change is increasingly recognized \insertCite{travis2013dispersal}{RangeShiftR}. -#' Moreover, the importance of modelling dispersal as a complex process, explicitly considering its three phases, each of which has -#' ´its own mechanisms and costs, has been recently highlighted \insertCite{bonte2012costs,travis2012modelling,travis2013dispersal}{RangeShiftR}. -#' The implementation of the dispersal process in \emph{RangeShiftR} is based on these recent frameworks and the substantial dispersal -#' theory that has been developed so far \insertCite{clobert2012}{RangeShiftR}. -#' -#' It is possible to model all three phases - emigration, transfer and settlement - with stage- and/or sex-specific parameters via the -#' switches \code{StageDep} and \code{SexDep} in the respective functions. In the case of sex-dependence, the number of traits is doubled, with -#' one set coding for the trait in females and the other for the trait in males. As well as being sex-biased, all dispersal phases can be -#' stage-biased, meaning that parameters can vary for different stage or age classes. -#' -#' The options of inter-individual variability in the various dispersal traits can be enabled by setting \code{IndVar=TRUE} for the respective dispersal phase -#' module and defining the genetic module to simulate heritability and evolution of traits (\code{\link[RangeShiftR]{Genetics}}).\cr -#' For each such heritable dispersal trait, this requires to set the mean and standard deviation of the distribution of trait values -#' in the initial population (instead of a constant value each, as in the case of \code{IndVar=FALSE}), -#' as well as the \code{TraitScaleFactor} for each heritable trait (see \code{\link[RangeShiftR]{Genetics}} documentaion).\cr -#' -#' Note, however, that not all combinations of sex-/stage-dependencies with inter-individual variability are implemented.\cr -#' -#' @references -#' \insertAllCited{} -#' @return a parameter object of class "DispersalParams" -#' @author Anne-Kathleen Malchow -#' @name Dispersal -#' @export Dispersal -Dispersal <- setClass("DispersalParams", slots = c(Emigration = "EmigrationParams", - Transfer = "TransferParams", - Settlement = "SettlementParams") - , prototype = list(Emigration = Emigration(), - Transfer = DispersalKernel(), - Settlement = Settlement()) -) - ## add references to all sub-classes to this explanation of IndVar and TraitScaleFactor - -setValidity("DispersalParams", function(object) { - msg <- NULL - validObject(object@Emigration) - if (object@Emigration@UseFullKern) { - if (!class(object@Transfer)[1] == "DispersalKernel") { - msg <- c(msg, "Dispersal(): The emigration option \"UseFullKern\" can only be used if a dispersal kernel is used as transfer method!") - } - } - validObject(object@Transfer) - validObject(object@Settlement) - if (class(object@Transfer)[1] == "DispersalKernel") { - if (object@Settlement@DensDep) { - msg <- c(msg, "Dispersal(): Settlement can only be density-dependent (DensDep = TRUE) if a movement process is used as transfer method!") - } - }else{ - if (object@Settlement@MaxSteps<=0 && all(object@Transfer@StepMort<=0) ) { - msg <- c(msg, "Dispersal(): At least one of the two options MaxSteps and StepMort must be set (>0) if a movement process is used as transfer method!") - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "DispersalParams", function(.Object,...) { - this_func = "Dispersal(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - .Object} -) -setMethod("show", "DispersalParams", function(object){ - cat(" Dispersal: \n Emigration:\n") - print(object@Emigration) - cat("\n Transfer:\n") - print(object@Transfer) - cat("\n Settlement:\n") - print(object@Settlement) - if (!class(object@Transfer)[1] == "DispersalKernel") { - cat(" MinSteps =", object@Settlement@MinSteps, "\n") - cat(" MaxSteps =", object@Settlement@MaxSteps, "\n") - cat(" MaxStepsYear =", object@Settlement@MaxStepsYear, "\n") - } -}) - -# RS manual 2.5 (page 35) - 2.4.3 (page 34) diff --git a/RangeShiftR/R/class_GeneticsParams.R b/RangeShiftR/R/class_GeneticsParams.R deleted file mode 100644 index de519f4..0000000 --- a/RangeShiftR/R/class_GeneticsParams.R +++ /dev/null @@ -1,303 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -### CLASS GENETICSPARAMS - -# from RS 'Genetics' file - -#' Set Genetics parameters -#' -#' @description Set genetics parameters and architecture.\cr -#' -#' Controls heritability and evolution of traits (if inter-individual variability is enabled (\code{IndVar=TRUE}) for at least one (dispersal) trait). -#' Provides control over the number of chromosomes, the number of loci on each, the recombination rate (if the species is diploid) and a -#' flexible mapping of traits to chromosomes, allowing linkage, pleiotropy and neutral alleles to be incorporated. It is also possible to model -#' neutral alleles when no adaptive traits are present. -#' -#' @usage Genetics(Architecture = 0, -#' NLoci = 1, ArchFile = "NULL", -#' ProbMutn = 0.0, MutationSD = 0.1, -#' ProbCross = 0.0, -#' AlleleSD = 0.1) -#' @param Architecture Genetic Architecture: \cr 0 = One chromosome per trait (default), \cr 1 = Read from file (set \code{ArchFile}). -#' @param NLoci Required if \code{Architecture=0}: Number of loci per chromosome, defaults to \eqn{1} (integer). -#' @param ArchFile Required if \code{Architecture=1}: Name of the genetic architecture file. -#' @param ProbMutn Probability of mutation of each individual allele at meiosis, defaults to \eqn{0.0}.\cr -#' @param MutationSD Standard deviation of mutation magnitude, defaults to \eqn{0.1}.\cr Must be \eqn{> 0}. -#' Must be \eqn{0 \le}\code{ProbMutn} \eqn{\le 1}. -#' @param ProbCross Probability of crossover at each individual locus at meiosis, defaults to \eqn{0.0}.\cr -#' Must be \eqn{0 \le}\code{ProbCross} \eqn{\le 1}. -#' @param AlleleSD Standard deviation of initial allelic values around phenotypic value, defaults to \eqn{0.1}.\cr Must be \eqn{> 0}. -#' @details When inter-individual variability in at least one trait (at present limited to dispersal traits) -#' is enabled (\code{IndVar=TRUE}), each individual carries a genome coding for the varying trait values.\cr -#' If the reproductive model is \emph{asexual/female-only} (\code{ReproductionType} \eqn{=0}), the species is assumed to be haploid and chromosomes -#' hold a single allele at each locus. In this case, changes in the genotype, and hence also in the phenotype, can occur only through mutation (see below). \cr -#' In the case of \emph{sexual} models(\code{ReproductionType} \eqn{={1,2}}), the species is assumed to be diploid and chromosomes -#' hold two alleles at each locus. New-born offspring inherit one set of chromosomes from each of its parents. -#' Note that we use the term \emph{chromosome} here to represent both the single chromosomes of a haploid species and -#' the chromosome pair of a diploid species.\cr -#' -#' \emph{Simple genetic architecture}\cr -#' A simple type of architecture may be used by choosing the \emph{one chromosome per trait} -#' option (\code{Architecture} \eqn{=0}) and setting the number of loci per chromosome; -#' all chromosomes will carry the same number of loci.\cr -#' -#' In the 1.x versions of \emph{RangeShifter}, the trait value was held by the individual directly -#' as a â€pseudo-gene’ (for diploid species, the mean of two such alleles controlled the phenotype), -#' but this did not allow for representation of more complex genetic phenomena, such as linkage -#' between traits. This simple type of implementation may still be represented approximately by -#' choosing the â€one chromosome per trait’ option, and setting one locus per chromosome. -#' -#' \emph{Flexible genetic architecture}\cr -#' For a more realistic representation of heritable traits, an explicit genetic architecture -#' may be defined, which must be read from a text file (\code{Architecture} \eqn{=1}). -#' The file specifies how many chromosomes -#' each individual will have, the number of loci on each chromosome and which loci contribute -#' to the phenotypic value of each trait. Thus, for example, it is possible to model a species -#' exhibiting a single variable trait (e.g. the mean of a negative exponential dispersal kernel) -#' dependent on loci spreads across three chromosomes or a species exhibiting three trait (e.g. -#' density-dependent emigration) all of which are governed by loci located on a single chromosome. -#' In practice, most genetic architectures are likely to fall somewhere between these extremes, -#' i.e. there will be several chromosomes and traits will be mapped across them. In contrast to -#' \emph{RangeShifter} v1, whenever there are variable traits in a model, evolution is assumed, although -#' it can if desired be effectively eliminated for a haploid species by setting a very low mutation -#' probability (\code{ProbMutn}).\cr -#' -#' Care must be taken to specify the architecture file in the required format. This is an example -#' architecture file content:\cr\cr -#' NChromosomes 4\cr -#' NLoci 5 6 10 2\cr -#' Trait 0 NLoci 4 0 0 0 1 0 2 1 5\cr -#' Trait 1 NLoci 8 0 4 2 0 2 1 2 2 2 3 2 4 2 9 3 0\cr -#' Trait 2 NLoci 2 1 4 3 1 \cr -#' -#' The first line contains the keyword \code{NChromosomes} followed by an integer \eqn{n_C} that -#' specifies the number of chromosomes.\cr -#' The second line contains the keyword \code{NLoci} followed by \eqn{n_C} integers which specify -#' the number of loci on each chromosome.\cr -#' Then follows one line for each heritable trait, in the order they are defined in the model -#' (emigration / movement / settlement). -#' They begin with the keyword \code{Trait} followed by an consecutive (starting with zero) integer -#' trait ID. On the same line follows the keyword \code{NLoci} and an integer \eqn{n_Ti} that -#' specifies the number of loci the corresponding trait is mapped to. After this follow \eqn{n_Ti} -#' integer pairs specifying the respective chromosome and locus. (Note that numbering starts at \eqn{0}.)\cr -#' -#' Any loci which do not contribute to at least one trait are treated as neutral loci (see below). -#' Neutral loci may also be specified for a model in which there are no adaptive traits: -#' Specifying a genetic architecture file for a model having no adaptive traits will result in neutral -#' genetics being set up for the species.\cr -#' -#' \emph{From genotype to phenotype}\cr -#' All alleles are represented by integer values (positive or negative), -#' and the sum of alleles at all loci contributing to a trait (both alleles at each locus of a diploid -#' species) controls the phenotype. However, as phenotypic traits exist on several widely different -#' scales (e.g. emigration probability between \eqn{0} and \eqn{1}, dispersal kernel mean typically -#' many hundreds or thousands of metres), it is necessary to specify how the allelic scale relates -#' to the phenotypic scale. A scaling factor is specified for each trait (the parameter -#' \code{TraitScaleFactor} in each dispersal sub-module), which governs how large a -#' change of \eqn{100} units (which is the â€integer base’ of the genome) on the allele scale will be on the -#' phenotypic scale. For example, if the scaling factor for density-independent emigration probability -#' is \eqn{0.1}, and a juvenile’s sum of all alleles contributing to that trait is \eqn{150} less than -#' its parent’s equivalent sum, then the juvenile’s emigration probability phenotype will be \eqn{0.15} -#' lower than its parent’s phenotype (but subject in this case to the constraint that it may not be -#' less than zero).\cr -#' -#' \emph{Mutation and Linkage}\cr -#' Mutation can occur when an individual allele is inherited by a new-born individual from its parent. -#' It is governed by two genome-level parameters: the mutation probability \code{ProbMutn} -#' that a mutation takes place, and standard deviation \code{MutationSD} which sets the typical magnitude. -#' Both are applied in a standard way at the level of the individual locus (unlike in version 1, in -#' which separate probabilities and magnitudes were applied for separate traits). When a mutation occurs -#' at a locus, a random number is drawn from a normal distribution having zero mean and the mutation standard -#' deviation. This number is multiplied by the integer base to yield an integer value which is added to the -#' allele before it is copied to the juvenile’s chromosome. The default mutation standard deviation of \eqn{0.1} -#' will therefore give mutations which mostly range between \eqn{-30} and \eqn{+30} at the allele scale.\cr -#' -#' In a diploid species, traits may be linked if their coding loci are on the same chromosomes; or they can -#' evolve independently, if their coding loci are on different chromosomes. -#' The degree of linkage, however, also depends on the crossover probability \code{ProbCross} specified for -#' the genome. If it is high, the degree of linkage is reduced, and the linked traits tend to evolve more -#' independently. \cr -#' -#' The crossover probability denoted the probability that, -#' when copying a multi-locus chromosome from a parent’s to the offspring’s genome, there will -#' be a change at the current locus from copying the parent’s maternally-inherited alleles to the -#' parent’s paternally-inherited alleles or vice versa.\cr -#' The crossover probability parameter is applied at the scale of the locus, i.e. during meiosis. -#' As a parent’s chromosomes are being inherited by its offspring, a crossover occurs at each locus with the -#' specified probability \code{ProbCross}. If the crossover probability is high, the degree of linkage is reduced, and two linked -#' traits tend to evolve more independently.\cr -#' -#' \emph{Pleiotropy and Neutral loci}\cr -#' It is possible that a particular locus can be specified more than once for a particular trait; this -#' increases its weighting relative to other loci contributing to the trait. A locus may also code for -#' more than one trait, i.e. it is pleiotropic. Large positive allele values at that locus will tend to -#' lead to larger than average values of both traits (but subject to any other loci coding separately -#' for the two traits). Thus the two traits are forced (to some extent) to be positively correlated. It -#' is not possible to specify inverse correlation between two traits in this way.\cr -#' -#' A locus which does not code for any trait is neutral, and therefore not subject directly to -#' selection, although the distribution across the population of allele values at that locus may vary -#' over time owing to genetic drift and/or linkage to loci which are under selection. Such neutral -#' loci may be used as markers for estimating relatedness at the individual or population level.\cr -#' -#' \emph{Genome initialisation}\cr -#' At model initialisation, individuals are assigned phenotypic traits drawn from a normal -#' distribution controlled by a specified mean phenotype and standard deviation, but also subject -#' to any phenotypic constraints (e.g. a probability must lie between \eqn{0} and \eqn{1}, step length -#' must be positive, etc.). The values for the traits initial mean and standard deviation are set in the appropriate -#' sub-modules, where they replace the constant values used when \code{IndVar = FALSE}. -#' The standard deviation for a trait may not be greater than the corresponding -#' scaling factor (\code{TraitScaleFactor}), but it may be substantially less if an initial population which is highly homogeneous -#' for a particular trait is required. \cr -#' -#' The genome actually controls individual variation relative to the -#' initial population mean value of a trait; thus if the sum of an individual’s alleles is negative, its -#' phenotype will be less than the initial mean value, and if its sum is positive, its phenotype will be -#' greater than the mean value. However, to prevent all alleles for a multi-loci trait being identical in -#' initial individuals, further random variation is applied at the allele scale (i.e. common to all traits), -#' which is drawn from a normal distribution having zero mean and a standard deviation specified in \code{AlleleSD}. -#' Note that therefore the observed variance in a trait value across the initial population may not match -#' exactly the specified variance for the trait. -#' -#' Side note: This differs from the implementation in version 1.x, which used a uniform distribution; hence -#' an initial population cannot be set up in v2.0 to have exactly the same properties as in v1, but a similar -#' equilibrium population should arise after a period of sufficiently strong selection for one or more traits. -#' -#' -# #' @references \insertAllCited{} -#' @return a parameter object of class "GeneticsParams" -#' @author Anne-Kathleen Malchow -#' @name Genetics -#' @export Genetics -Genetics <- setClass("GeneticsParams", slots = c(Architecture = "integer_OR_numeric", - NLoci = "integer_OR_numeric", - ArchFile = "character", - ProbMutn = "numeric", - ProbCross = "numeric", - AlleleSD = "numeric", - MutationSD = "numeric") - , prototype = list(Architecture = 0L, - NLoci = 1L, - ArchFile = "NULL", - ProbMutn = 0.0, - ProbCross = 0.0, - AlleleSD = 0.1, - MutationSD = 0.1) -) -setValidity('GeneticsParams', function(object){ - msg <- NULL - if(anyNA(object@Architecture) || length(object@Architecture)!=1) { - msg <- c(msg, "Architecture must be set!") - } - else { - if(object@Architecture %in% c(0,1)) { - if(object@Architecture == 0) { - if(anyNA(object@NLoci) || length(object@NLoci)!=1) { - msg <- c(msg, "NLoci must be set if Architecture = 0 (one chromosome per trait)!") - } - else { - if(object@NLoci < 1) { - msg <- c(msg, "NLoci must be greater than 0!") - } - } - } - if(object@Architecture == 1) { - if (object@ArchFile == "NULL"){ - msg <- c(msg, 'ArchFile is required if Architecture = 1 (load architecture file).') - } - } - }else{ - msg <- c(msg, "Architecture must be either 0 or 1!") - } - } - if(anyNA(object@ProbMutn) || length(object@ProbMutn)!=1) { - msg <- c(msg, "ProbMutn must be set!") - } - else { - if(object@ProbMutn < 0.0 || object@ProbMutn > 1.0) { - msg <- c(msg, "ProbMutn must be within the closed interval [0,1]!") - } - } - if(anyNA(object@ProbCross) || length(object@ProbCross)!=1) { - msg <- c(msg, "ProbCross must be set!") - } - else { - if(object@ProbCross < 0.0 || object@ProbCross > 1.0) { - msg <- c(msg, "ProbCross must be within the closed interval [0,1]!") - } - } - if(anyNA(object@AlleleSD) || length(object@AlleleSD)!=1) { - msg <- c(msg, "AlleleSD must be set!") - } - else { - if(object@AlleleSD <= 0.0) { - msg <- c(msg, "AlleleSD must be strictly positive!") - } - } - if(anyNA(object@MutationSD) || length(object@MutationSD)!=1) { - msg <- c(msg, "MutationSD must be set!") - } - else { - if(object@MutationSD <= 0.0) { - msg <- c(msg, "MutationSD must be strictly positive!") - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod('initialize', 'GeneticsParams', function(.Object, ...) { - this_func = "Genetics(): " - args <- list(...) - .Object <- callNextMethod() - if(.Object@Architecture == 0) { - if (!is.null(args$ArchFile)) { - warning(this_func, "ArchFile", warn_msg_ignored, "since Architecture = 0 (one chromosome per trait).", call. = FALSE) - } - } - if(.Object@Architecture == 1) { - if (!is.null(args$NLoci)) { - warning(this_func, "NLoci", warn_msg_ignored, "since Architecture = 1 (load architecture file).", call. = FALSE) - } - } - .Object} -) -setMethod("show", "GeneticsParams", function(object){ - cat(" Genetics: \n") - cat(" Architecture =", object@Architecture, ": ") - if (object@Architecture == 0) { - cat("One chromosome per trait \n") - cat(" with", object@NLoci) - if (object@NLoci==1) cat(" locus") - else cat(" loci") - cat(" per chromosome.") - } - if (object@Architecture == 1) { - cat("loaded from architecture file:\n") - cat(" ", object@ArchFile) - } - cat("\n") - cat(" ProbMutn =", object@ProbMutn, "\n") - cat(" ProbCross =", object@ProbCross, "\n") - cat(" AlleleSD =", object@AlleleSD, "\n") - cat(" MutationSD =", object@MutationSD, "\n") -}) diff --git a/RangeShiftR/R/class_InitialisationParams.R b/RangeShiftR/R/class_InitialisationParams.R deleted file mode 100644 index bbb6ceb..0000000 --- a/RangeShiftR/R/class_InitialisationParams.R +++ /dev/null @@ -1,574 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -#### CLASS INITIALISATIONPARAMS - -# from RS 'Initialisation' file - -#' Set Initialisation Parameters -#' -#' Initialisation rules define the way in which initial individuals are placed in the landscape at the start of the simulation. -#' There are three initialisation types:\cr -#' Free initialisation according to the habitat map (\code{InitType}\eqn{= 0}), -#' initialisation from a loaded species distribution map (\code{InitType} \eqn{= 1}), -#' and the initialisation from an initial individuals list (\code{InitType} \eqn{= 2}), -#' with additional options for each type, see the Details.\cr -#' Additionally, initial density and, if applicable, initial stage and age distributions can be set. -#' -#' @include plotProbs.R -#' @include Rfunctions.R -#' @usage Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, -#' InitIndsFile = "NULL", InitIndsList = list(), -#' InitDens = 1, IndsHaCell, PropStages = 0, InitAge = 2, -#' minX, minY, maxX, maxY, InitFreezeYear = 0, -#' RestrictRows = 0, RestrictFreq = 0, FinalFreezeYear = 0) -#' @param InitType Type of initialisation:\cr -#' \code{InitType} = \eqn{0}: Free initialisation according to habitat map (default) (set \code{FreeType}), \cr -#' \code{InitType} = \eqn{1}: From loaded species distribution map (set \code{SpType}),\cr -#' \code{InitType} = \eqn{2}: From initial individuals list file (set \code{InitIndsFile} or \code{InitIndsList}, respectively). -#' \cr Must to be \eqn{0} for an \code{\link[RangeShiftR]{ArtificialLandscape}}. -#' @param FreeType,NrCells Option for \emph{free initialisation}, i.e. required only if \code{InitType}\eqn{ = 0}:\cr -#' \code{FreeType} = \eqn{0}: Random; provide number of cells/patches to initialise in \code{NrCells}. \cr -#' \code{FreeType} = \eqn{1}: All suitable cells/patches (default). -#' @param SpType,NrCells Option for \emph{initialisation from species distribution map}, i.e. required only if \code{InitType}\eqn{ = 1}:\cr -#' \code{SpType} = \eqn{0}: All suitable cells within all distribution presence cells (default), \cr -#' \code{SpType} = \eqn{1}: All suitable cells within some randomly chosen presence cells; set number of cells to initialise in \code{NrCells}. -#' @param InitIndsFile Name of \emph{initial individuals list file}, required only if \code{InitType}\eqn{ = 2}.\cr -#' For informaton on the required file format see the Details below. -#' @param InitIndsList The list of initial individuals given as a list of data.frames - one for each replicate simulation (instead of as file name in \code{InitIndsFile}), using the same format (see Details). -#' @param InitDens,IndsHaCell Number of individuals to be seeded in each cell/patch:\cr -#' \code{InitDens} = \eqn{0}: At \code{K_or_DensDep},\cr -#' \code{InitDens} = \eqn{1}: At half \code{K_or_DensDep} (default),\cr -#' \code{InitDens} = \eqn{2}: Set the number of individuals per cell/hectare to initialise in \code{IndsHaCell}. -#' @param PropStages For \code{\link[RangeShiftR]{StageStructure}}d models only: Proportion of individuals initialised in each stage. -#' Requires a vector of length equal to the number of stages; its entries must be \eqn{\ge 0} and sum to \eqn{1.0}. However, juveniles -#' can't be initialised and thus stage \eqn{0} (first entry) must have a value of \eqn{0.0}. -#' @param InitAge For \code{StageStructure}d models only: Initial age distribution within each stage:\cr -#' \code{InitAge} = \eqn{0}: Minimum age for the respective stage.\cr -#' \code{InitAge} = \eqn{1}: Age randomly sampled between the minimum and the maximum age for the respective stage.\cr -#' \code{InitAge} = \eqn{2}: According to a quasi-equilibrium distribution (default). -#' @param minX,maxX,minY,maxY Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): Restrict initial range in X- and/or Y- coordinates, given in number of cells. -#' All must be \eqn{\ge 0} and (\code{maxX,maxY})\eqn{>}(\code{minX,minY}). (Integer) -#' @param InitFreezeYear Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): The year until which species is confined to -#' its initial range limits. -#' @param RestrictRows Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): The number of rows at northern front to restrict range. -#' If set to \eqn{0}, the range restriction turned off. -#' @param RestrictFreq Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): Frequency in years at which range is restricted to northern front. -#' @param FinalFreezeYear Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): The year after which species is confined to its new, current range limits, after a -#' period of range expansion. Will be ignored if set to \eqn{0}, otherwise must be \eqn{>} \code{InitFreezeYear}. -#' @details -#' \emph{Initialisation Types}\cr -#' \itemize{ -#' \item \emph{Free Initialisation.} (\code{InitType}\eqn{ = 0})\cr The population is initialised according to suitable habitat in the landscape. -#' Either all (\code{FreeType}\eqn{=1}), or a specified number (\code{NrCells}) of randomly selected (\code{FreeType}\eqn{=0}) cells/patches -#' will be seeded. When using an artificial landscape, this is the only option available. -#' \item \emph{From loaded species distribution map.} (\code{InitType}\eqn{ = 1})\cr The population is initialised according to a loaded -#' species distribution map, which needs to be provided through the module \code{\link[RangeShiftR]{ImportedLandscape}}, option \code{SpDistFile}. -#' All habitat cells/patches within either all (\code{SpType}\eqn{=0}), or a specified number (\code{NrCells}) of randomly selected -#' (\code{SpType}\eqn{=1}) presence cells (which can have a lower resolution) specified by this distribution map will seeded. -#' \item \emph{From initial individuals list file.} (\code{InitType}\eqn{ = 2})\cr The population is initialised according to a list of specific -#' individuals (of given sex, age and stage, if appropriate) in specified cells/patches. This option allows simulation of a reintroduction -#' scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile} or given as a list of dataframes in \code{InitIndsList}. -#' It must be a tab-separated list with -#' explicit column headers and one row for each individual to be initialized. The expected column headers depend on the model settings and -#' must match the following order exactly: 'Year', 'Species' (must \eqn{= 0}), for cell-/patch-based: 'X', 'Y' / 'PatchID', 'Ninds', for sexual model: 'Sex', -#' for stage-structured population: 'Age', 'Stage'. The sex is specified with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. -#' } -#' -#' \emph{Initialial density, stage, and age}\cr -#' For \code{InitType}\eqn{ = {0,1}}, the number of individuals that should be seeded in each cell or patch has to be set. -#' There are three options: -#' \itemize{ -#' \item \emph{At} \code{K_or_DensDep}. (\code{InitDens}\eqn{=0})\cr The cell/patch will be saturated at its respective \eqn{K} or \eqn{1/b}. -#' \item \emph{At half} \code{K_or_DensDep}. (\code{InitDens}\eqn{=1})\cr The cell/patch will be initialised at half its \eqn{K} or \eqn{1/b}. -#' \item \emph{Set value} \code{IndsHaCell}. (\code{InitDens}\eqn{=2})\cr Set the number of individuals to be seeded in each cell or the density -#' in each patch (in units of individuals per hectare). -#' } -#' (These settings have no effect for \code{InitType}\eqn{ = 2}.) -#' -#' In the case of \code{\link[RangeShiftR]{StageStructure}}d models, the initial stage and age distributions must be specified. -#' If \code{InitType}\eqn{ = 2}, this is done via the \code{InitIndsFile} or \code{InitIndsList}, whereas for \code{InitType}\eqn{ = {0,1}}, -#' the proportion of individuals that should be initialised at each stage class is set via the numeric vector \code{PropStages}. It needs -#' to have as many entries as number of stages, starting from the juvenile stage (\eqn{0}). Note that these proportions must sum up to \eqn{1.0}, -#' however the proportion of juveniles must be \eqn{0.0}. -#' -#' Options for initial age distributions: -#' \itemize{ -#' \item \emph{Minimal age} of respective stage. (\code{InitAge}=0) -#' \item \emph{Randomise.} (\code{InitAge}=1)\cr Individuals initialised in each stage will get an age randomly sampled between -#' the minimum and the maximum age for their respective stage. -#' \item \emph{Quasi-equilibrium.} (\code{InitAge}=2)\cr Initial age distribution is set approximately in accordance with the number of years -#' taken to pass through the stage and the (female) survival rate of the respective stage. -#' } -#' (These settings have no effect for \code{InitType}\eqn{ = 2}.) -#' -#' \emph{Additional options for free initialisation}\cr -#' In the case of free initialisation, either all or a specified number of randomly selected cells/patches will be seeded. -#' It is possible to restrict the landscape area available for initialisation by setting limits to the x- and y- coordinates using -#' \code{minX,maxX,minY} and \code{maxY}). -#' -#' Additionally, for all free initialisation methods, it is possible to restrict the available landscape to the initialised range for -#' a specified period, specifically until year \code{InitFreezeYear}. This option may be particularly useful in an evolutionary model, -#' to allow a population to reach equilibrium in its original range before being allowed to expand into the remainder of the landscape. -#' -#' \emph{Restrict range to northern front} is a further option provided as an additional feature for models of range expansion. Whilst not -#' strictly an initialisation option, it is provided in this context as it will typically be applied together with restriction of the -#' initial range in theoretical eco-evolutional models, where the population is firstly allowed to evolve certain traits in a stable range, -#' then allowed to expand its range during a period of environmental change (when dispersal traits can come under strong selection), and -#' finally further restricted to a stable range (set \code{FinalFreezeYear}). During the period of range expansion, the population can build up to very large numbers -#' of individuals in the core of the range, but the area of interest, where strong selection occurs, lies close to the range front. -#' Therefore, individuals in the core can be discarded, and this is achieved by progressively restricting the suitable range to a number -#' of rows behind the current range front (set \code{RestrictRows}) so that local populations in the core go extinct. This occurs at -#' a frequency \code{RestrictFreq} specified in years. The parameter \code{FinalFreezeYear} sets the year after which the range will be -#' frozen to its new, current limits. It must either be zero, in which case range expansion continues until either the end of the simulation or the northern edge of the -#' landscape is reached, or set to a year after the year specified in \code{InitFreezeYear}. -#' -#' This feature is provided only for expansion in a northerly direction (increasing Y); the initial population should therefore be -#' established in the southern part of the landscape (low Y values). To turn it off, set \code{RestrictRows = 0}. -# -# For Instance a population is firstly allowed to evolve certain traits in a stable range of 1000 years (\code{InitFreezeYear}=1000). -# Then allowed to expand its range during a period of environmental change and is finally further restricted -# to a stable range in the year 5000 (\code{FinalFreezeYear}=5000). During the period of range expansion, the population -# can build up to very large numbers of individuals in the core of the range, but the area of interest, lies close -# to the range front (i.e. 50 rows). Therefore, individuals in the core can be discarded. This is achieved -# by progressively restricting the suitable range to a number of rows behind the front (\code{RestrictRows}=50), -# so that local populations outside of the area of interest go extinct. Note that \code{RestrictRows} is provided -# only for expansion in a northerly direction (increasing \eqn{y}-axis). Thus the initial population should be established in the -# southern part of the landscape (low value on the \eqn{y}-axis). -# -#' @examples init <- Initialise() # use all defaults (a stage-structured model requires setting PropStages) -#' @return a parameter object of class "InitialisationParams" -#' @author Anne-Kathleen Malchow -#' @name Initialise -#' @export Initialise -Initialise <- setClass("InitialisationParams", slots = c(InitType = "integer_OR_numeric", - FreeType = "integer_OR_numeric", - SpType = "integer_OR_numeric", - NrCells = "integer_OR_numeric", - InitIndsFile = "character", - InitIndsList = "list", # "data.frame", - InitDens = "integer_OR_numeric", - IndsHaCell = "integer_OR_numeric", - PropStages = "numeric", - InitAge = "integer_OR_numeric", - minX = "integer_OR_numeric", - minY = "integer_OR_numeric", - maxX = "integer_OR_numeric", - maxY = "integer_OR_numeric", - InitFreezeYear = "integer_OR_numeric", - RestrictRows = "integer_OR_numeric", - RestrictFreq = "integer_OR_numeric", - FinalFreezeYear = "integer_OR_numeric") - , prototype = list(InitType = 0L, #free initialisation - FreeType = 1L, #all - SpType = 0L, #all - #NrCells, - InitIndsFile = "NULL", - InitIndsList = list(), # data.frame(), - InitDens = 1L, #K/2 - #IndsHaCell, - PropStages = 0.0, - InitAge = 2L, #quasi-eq - #minX, - #minY, - #maxX, - #maxY, - InitFreezeYear = 0L, - RestrictRows = 0L, - RestrictFreq = 0L, - FinalFreezeYear = 0L) -) - -setValidity('InitialisationParams', function(object){ - msg <- NULL - if (anyNA(object@InitIndsFile) || length(object@InitIndsFile) != 1){ - msg <- c(msg, 'InitIndsFile must contain exactly one element.') - } - if (anyNA(object@InitType) || length(object@InitType)!=1){ - msg <- c(msg, 'Type of initialisation (InitType) must be set and of length 1!') - } - else { - if (!object@InitType %in% c(0,1,2)){ - msg <- c(msg, 'Type of initialisation (InitType) must be 0, 1 or 2!') - } - else { # Valid InitType - if (object@InitType == 0){ # Free Init - if (anyNA(object@FreeType) || length(object@FreeType)!=1){ - msg <- c(msg, 'FreeType is required if InitType = 0 (Free initialisation).') - } - else{ - if (!object@FreeType %in% c(0,1)){ - msg <- c(msg, 'FreeType must be 0 or 1.') - } - else { # Valid FreeType - if (object@FreeType == 0){ #random - if (anyNA(object@NrCells) || length(object@NrCells)!=1){ - msg <- c(msg, 'NrCells is required if FreeType = 0 (Random Free initialisation).') - } - else { # Valid NrCells - if (object@NrCells < 1){ - msg <- c(msg, 'NrCells must be positive.') - } - } - } - } - } - min.set = FALSE - max.set = FALSE - if (length(object@minX) != 1){ - msg <- c(msg, 'Minimum X coordinate (minX) must be of length 1!') - } - else{ - if (object@minX < 0 && object@minX != -9){ - msg <- c(msg, 'Minimum X coordinate (minX) has to be greater or equal 0!') - } - else min.set = TRUE - } - if (length(object@maxX) != 1){ - msg <- c(msg, 'Maximum X coordinate (maxX) must be of length 1!') - } - else{ - if (object@maxX < 0 && object@maxX != -9){ - msg <- c(msg, 'Maximum X coordinate (maxX) has to be greater or equal 0!') - } - else max.set = TRUE - } - if(min.set && max.set && object@minX > 0){ - Xextend = object@maxX - object@minX - if (object@maxX <= object@minX){ - msg <- c(msg, 'maxX has to be larger than minX!') - Xextend = FALSE - } - } - else {Xextend = FALSE} - min.set = FALSE - max.set = FALSE - if (length(object@minY) != 1){ - msg <- c(msg, 'Minimum Y coordinate (minY) must be of length 1!') - } - else{ - if (object@minY < 0 && object@minY != -9){ - msg <- c(msg, 'Minimum Y coordinate (minY) has to be greater or equal 0!') - } - else min.set = TRUE - } - if (length(object@maxY) != 1){ - msg <- c(msg, 'Maximum Y coordinate (maxY) must be of length 1!') - } - else{ - if (object@maxY < 0 && object@maxY != -9){ - msg <- c(msg, 'Maximum Y coordinate (maxY) has to be greater or equal 0!') - } - else max.set = TRUE - } - if(min.set && max.set && object@minY > 0){ - Yextend = object@maxY - object@minY - if (object@maxY <= object@minY){ - msg <- c(msg, 'maxY has to be larger than minY!') - Yextend = FALSE - } - } - else {Yextend = FALSE} - if(Xextend && Yextend && length(object@NrCells) > 0){ - if (object@NrCells > Xextend*Yextend){ - msg <- c(msg, 'The area bounded by (minX, maxX, minY, maxY) contains less cells than required by NrCells.') - } - } - } - if (object@InitType == 1){ # Init Distmap - if (anyNA(object@SpType) || length(object@SpType)!=1){ - msg <- c(msg, 'SpType is required if InitType = 1 (from loaded species distribution map).') - } - else{ - if (!object@SpType %in% c(0,1)){ - msg <- c(msg, 'SpType must be 0 or 1.') - } - else { # Valid SpType - if (object@SpType == 1){ #random - if (anyNA(object@NrCells) || length(object@NrCells)!=1){ - msg <- c(msg, 'NrCells is required if SpType = 1 (Random initialisation from loaded species distribution map).') - } - else { # Valid NrCells - if (object@NrCells < 1){ - msg <- c(msg, 'NrCells must be positive.') - } - } - } - } - } - } - if (object@InitType == 2){ # Init IndsList - if (object@InitIndsFile == "NULL" & length(object@InitIndsList)==0){ - msg <- c(msg, 'InitIndsFile or InitIndsList is required if InitType = 2 (from loaded initial individuals list).') - } - else { - if (object@InitIndsFile != "NULL" & length(object@InitIndsList)!=0){ # both are given - msg <- c(msg, 'Both InitIndsFile and InitIndsList are given, but only one can be used.') - } - } - } - } - } - if (anyNA(object@InitDens) || length(object@InitDens)!=1) { - msg <- c(msg, 'InitDens must be set and of length 1!') - } - else { - if (!object@InitDens %in% c(0,1,2)) { - msg <- c(msg, 'InitDens must be 0, 1 or 2!') - } - else { - if (object@InitDens == 2){ - if(anyNA(object@IndsHaCell) || length(object@IndsHaCell)!=1) { - msg <- c(msg, 'IndsHaCell is required if InitDens = 2') - } - else { - if (object@IndsHaCell <= 0){ - msg <- c(msg, 'IndsHaCell must be positive.') - } - } - } - } - } - if (object@InitType != 2) { - if (length(object@InitAge) != 0){ - if (!object@InitAge %in% c(0,1,2)){ - msg <- c(msg, 'InitAge must be 0, 1 or 2!') - } - } - if (length(object@PropStages) != 0){ - if(any(object@PropStages < 0.0) || any(object@PropStages > 1.0)) { - msg <- c(msg, 'All elements of PropStages must be in the closed interval [0,1]!') - } - else{ - if (object@PropStages[1] != 0.0) { - msg <- c(msg, 'Initial proportion of the juvenile stage (PropStages[1]) must be 0.0!') - } - else{ - if (length(object@PropStages)>1 && sum(object@PropStages) != 1.0) { - msg <- c(msg, 'The elements of PropStages must sum to 1!') - } - } - } - } - } - if (anyNA(object@InitFreezeYear) || length(object@InitFreezeYear)!=1) { - msg <- c(msg, 'InitFreezeYear must be set and of length 1!') - } - else { - if(object@InitFreezeYear < 0) { - msg <- c(msg, 'InitFreezeYear must be greater or equal 0!') - } - } - if (anyNA(object@RestrictRows) || length(object@RestrictRows)!=1) { - msg <- c(msg, 'RestrictRows must be set and of length 1!') - } - else { - if(object@RestrictRows < 0) { - msg <- c(msg, 'RestrictRows must be greater or equal 0!') - } - } - if (anyNA(object@RestrictFreq) || length(object@RestrictFreq)!=1) { - msg <- c(msg, 'RestrictFreq must be set and of length 1!') - } - else { - if(object@RestrictFreq <= 0 && object@RestrictRows > 0) { - msg <- c(msg, 'RestrictFreq must be strictly positive!') - } - } - if (anyNA(object@FinalFreezeYear) || length(object@FinalFreezeYear)!=1) { - msg <- c(msg, 'FinalFreezeYear must be set and of length 1!') - } - else { - if(object@FinalFreezeYear < 0) { - msg <- c(msg, 'FinalFreezeYear must be greater or equal 0!') - } - else { - if(object@FinalFreezeYear > 0 && object@FinalFreezeYear <= object@InitFreezeYear) { - msg <- c(msg, 'FinalFreezeYear must be greater than InitFreezeYear!') - } - } - } - if (is.null(msg)) TRUE else msg} -) - -setMethod('initialize', 'InitialisationParams', function(.Object, ...) { - this_func = "Initialise(): " - args <- list(...) - .Object <- callNextMethod() - if (.Object@InitType != 0) { - .Object@FreeType = -9L - if (!is.null(args$FreeType)) { - warning(this_func, "FreeType", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - } - if (.Object@InitType != 1) { - .Object@SpType = -9L - if (!is.null(args$SpType)) { - warning(this_func, "SpType", warn_msg_ignored, "since InitType != 1.", call. = FALSE) - } - } - if (.Object@InitType == 2) { - .Object@InitDens <- 0 - .Object@PropStages <- -9L - .Object@InitAge <- -9L - if (!is.null(args$InitDens)) { - warning(this_func, "InitDens", warn_msg_ignored, "since InitType = 2.", call. = FALSE) - } - if (!is.null(args$PropStages)) { - warning(this_func, "PropStages", warn_msg_ignored, "since InitType = 2.", call. = FALSE) - } - if (!is.null(args$InitAge)) { - warning(this_func, "InitAge", warn_msg_ignored, "since InitType = 2.", call. = FALSE) - } - } - else{ - .Object@InitIndsFile = "NULL" - .Object@InitIndsList = list() # data.frame() - if (!is.null(args$InitIndsFile)) { - warning(this_func, "InitIndsFile", warn_msg_ignored, "since InitType != 2.", call. = FALSE) - } - if (!is.null(args$InitIndsList)) { - warning(this_func, "InitIndsList", warn_msg_ignored, "since InitType != 2.", call. = FALSE) - } - } - if (!((.Object@InitType == 0 && .Object@FreeType == 0) || (.Object@InitType == 1 && .Object@SpType == 1))) { - .Object@NrCells = -9L - if (!is.null(args$NrCells)) { - warning(this_func, "NrCells", warn_msg_ignored, "since its not used.", call. = FALSE) - } - } - if (.Object@InitDens != 2) { - .Object@IndsHaCell = -9L - if (!is.null(args$IndsHaCell)) { - warning(this_func, "IndsHaCell", warn_msg_ignored, "since InitDens != 2.", call. = FALSE) - } - } - if (.Object@InitType == 0) { - # if (minX, maxX, minY, maxY) are negative, they will be set to their default values on C++ level - if (is.null(args$minX)) { - .Object@minX = -9L - } - if (is.null(args$minY)) { - .Object@minY = -9L - } - if (is.null(args$maxX)) { - .Object@maxX = -9L - } - if (is.null(args$maxY)) { - .Object@maxY = -9L - } - if (!.Object@RestrictRows) { - .Object@RestrictFreq = -9L - if (!is.null(args$RestrictFreq)) { - warning(this_func, "RestrictFreq", warn_msg_ignored, "since RestrictRows = 0.", call. = FALSE) - } - } - } - else { - .Object@minX = -9L - .Object@minY = -9L - .Object@maxX = -9L - .Object@maxY = -9L - if (!is.null(args$minX)) { - warning(this_func, "minX", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - if (!is.null(args$minY)) { - warning(this_func, "minY", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - if (!is.null(args$maxX)) { - warning(this_func, "maxX", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - if (!is.null(args$maxY)) { - warning(this_func, "maxY", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - if (!is.null(args$InitFreezeYear)) { - .Object@InitFreezeYear = 0L - warning(this_func, "InitFreezeYear", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - if (!is.null(args$RestrictRows)) { - .Object@RestrictRows = 0L - warning(this_func, "RestrictRows", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - if (!is.null(args$RestrictFreq)) { - .Object@RestrictFreq = 0L - warning(this_func, "RestrictFreq", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - if (!is.null(args$FinalFreezeYear)) { - .Object@FinalFreezeYear = 0L - warning(this_func, "FinalFreezeYear", warn_msg_ignored, "since InitType != 0.", call. = FALSE) - } - } - return(.Object) - } -) -setMethod("show", "InitialisationParams", function(object){ - cat(" Initialisation: \n") - cat(" InitType =", object@InitType, ": ") - if (object@InitType == 0) { - cat("Free initialisation \n") - if (object@FreeType == 0) {cat(" of", object@NrCells, "random suitable cells/patches.")} - else{cat(" of all suitable cells/patches.")} - } - if (object@InitType == 1) { - cat("Initialisation from loaded species distribution map\n") - if (object@FreeType == 0) {cat(" ", object@NrCells, "random presence cells/patches.")} - else{cat(" all presence cells/patches.")} - } - if (object@InitType == 2) { - if (object@InitIndsFile != "NULL") cat("Initialisation from initial individuals list\n from file:",object@InitIndsFile) - if (length(object@InitIndsList) != 0) cat("Initialisation from initial individuals list given as list of data.frames") - } - cat("\n") - - if (object@InitType != 2) { - cat(" InitDens =", object@InitDens, ": ") - if (object@InitDens == 0) { - cat("At K_or_DensDep \n") - } - if (object@InitDens == 1) { - cat("At half K_or_DensDep \n") - } - if (object@InitDens == 2) { - cat(object@IndsHaCell," individuals per cell/hectare \n") - } - if (length(object@PropStages) > 2) { - cat(" PropStages =", object@PropStages, "\n") - cat(" InitAge =", object@InitAge, " : ") - if (object@InitAge == 0) { cat("Minimum age \n") } - if (object@InitAge == 1) { cat("Random between min and max \n") } - if (object@InitAge == 2) { cat("Quasi-equilibrium \n") } - } - } - if (object@InitType == 0) { - if (object@minX >= 0 || object@minY >= 0 || object@maxX >= 0 || object@maxY >= 0) {cat(" ")} - if (object@minX >= 0) { cat("MinX =",object@minX, " ") } - if (object@maxX >= 0) { cat("MaxX =",object@maxX, " ") } - if (object@minY >= 0) { cat("MinY =",object@minY, " ") } - if (object@maxY >= 0) { cat("MaxY =",object@maxY, " ") } - if (object@minX >= 0 || object@minY >= 0 || object@maxX >= 0 || object@maxY >= 0) {cat("\n")} - if (object@InitFreezeYear > 0) { cat("InitFreezeYear =",object@InitFreezeYear,"\n") } - if (object@RestrictRows > 0) { cat("RestrictRows =",object@RestrictRows,", RestrictFreq =",object@RestrictFreq,"\n") } - if (object@FinalFreezeYear > 0) { cat("FinalFreezeYear =",object@FinalFreezeYear,"\n") } - } - cat("\n")} -) diff --git a/RangeShiftR/R/class_LandParams.R b/RangeShiftR/R/class_LandParams.R deleted file mode 100644 index a87db62..0000000 --- a/RangeShiftR/R/class_LandParams.R +++ /dev/null @@ -1,727 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -#### CLASS LANDPARAMS - -# from RS 'Land' file -# can take one of two forms: 'ArtificialLandscape' or 'ImportedLandscape' - -LandParams <- setClass("LandParams", slots = c(LandNum = "integer_OR_numeric") - , prototype = list(LandNum = 1L) - ) - # landscape number must be unique - -setValidity("LandParams", function(object) { - msg <- NULL - if (anyNA(object@LandNum) || length(object@LandNum)!=1) { - msg <- c(msg, "LandNum must be set and of length 1!") - } - else { - if (object@LandNum < 1) { - msg <- c(msg, "Landscape number must be positive.") - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "LandParams", function(.Object, ...) { - .Object <- callNextMethod() - .Object} -) - - - -### CLASS ARTIFICIALLANDSCAPE - -#' Create an Artificial Landscape -#' -#' An artificial landscape can be generated with a random or fractal spatial structure, and may be using binary or continuous habitat values to characterise each cell. -#' -#' @usage ArtificialLandscape(propSuit = 0.5, K_or_DensDep = 10, Resolution = 100, dimX = 65, dimY = 65, -#' fractal = FALSE, hurst, continuous = FALSE, minPct, maxPct) -#' @param propSuit Proportion of suitable habitat cells, defaults to \eqn{0.5}. -#' @param K_or_DensDep determines the demographic density dependence of the modelled species and is given in units of the number of individuals per hectare (defaults to \eqn{10}). -#' Its precise interpretation depends on the structure of the species' \code{\link[RangeShiftR]{Demography}}:\cr -#' If combined with a \code{\link[RangeShiftR]{StageStructure}}d model, \code{K_or_DensDep} will be used as the \emph{strength of demographic density dependence} \ifelse{html}{\out{b-1}}{\eqn{1/b}}. -#' If combined with a non-structured model, \code{K_or_DensDep} will be interpreted as \emph{limiting carrying capacity} \eqn{K}.\cr -#' @param Resolution Cell size in meters, defaults to \eqn{100}. (integer) -#' @param dimX,dimY Number of cells along the x- and y-axis, both default to \eqn{65}. (integer) \cr -#' If \code{fractal=TRUE}, \code{dimX} and \code{dimY} must be powers of \eqn{2} plus \eqn{1} (\eqn{2^n+1}) and \code{dimX} \eqn{\le} \code{dimY} . -#' @param fractal If \code{FALSE} (default), a random landscape is generated. Each cell has a certain probability of being a habitat.\cr -#' If \code{TRUE}, a fractal landscape is generated. These landscapes contain a greater structure than random landscapes but less than a completely deterministic one. -#' @param hurst Required if \code{fractal=TRUE}: Hurst exponent. Can be any number in the open interval \eqn{(0,1)}. -#' @param continuous Use continuous or binary habitat values to describe each cell?\cr If \code{FALSE} (default), the resulting landscape -#' is binary, with the two values \emph{Habitat} and \emph{Matrix} (i.e. Non-habitat).\cr If \code{TRUE}, each cell is given a continuous value -#' between \eqn{0} and \eqn{1}, which describes the percentage of habitat cover or habitat quality. -#' within a cell. The effective \code{K_or_DensDep} of that cell is calculated as the respective fraction of the value of \eqn{K_or_DensDep}. -#' @param minPct,maxPct Required if \code{continuous=TRUE}: Minimum and Maximum percentage of habitat cover within a cell. Can be any number in the open interval \eqn{(0,1)}, -#' \code{maxPct} may be exactly \eqn{1}. \code{minPct} must be smaller than \code{maxPct}. -#' @details For theoretical studies which might be related to fundamental questions in eco-evolutionary dynamics or strategic questions concerning -#' conservation ecology, it is often desirable to use artificial landscapes.\cr -#' Fractal landscapes are characterised by possessing greater structure than a completely random landscape, but less than a -#' completely deterministic one \insertCite{with1997application}{RangeShiftR} – but note that the spatial structure of landscapes fragmented -#' by human activities is often not fractal in nature and, depending upon the research question, other landscape generators may be more -#' appropriate \insertCite{@see review by @pe2013simple}{RangeShiftR}. -#' -#' Internally generated artificial landscapes may not be dynamic. -#' -#' The fractal landscape generator implemented in \emph{RangeShiftR} uses the midpoint displacemeant algorithm \insertCite{saupe1988algorithms}{RangeShiftR}. -#' The Hurst exponent, often referred to as \eqn{H}, describes the degree of spatial autocorrelation of the landscape configuration. -#' Values close to \eqn{0} represent a low autocorrelation but the generated landscapes still aren't completely spatially independent. -#' On the contrary, values close to \eqn{1} represent high autocorrelation, i.e. high habitat aggregation.\cr -#' -#' Note that more complex algorithms are available for providing fractals where setting \eqn{H = 0.0} results in no spatial autocorrelation -#' \insertCite{@see @chipperfield2011updated}{RangeShiftR}. For applications where the embedded algorithm is not sufficient, we recommend -#' to import landscapes generated by these alternative algorithms. -#' -#' -#' @references -#' \insertAllCited{} -#' @return A parameter object of class "ArtificialLandscape" -#' @author Anne-Kathleen Malchow -#' @name ArtificialLandscape -#' @export ArtificialLandscape -ArtificialLandscape <- setClass("ArtificialLandscape", slots = c(propSuit = "numeric", - K_or_DensDep = "integer_OR_numeric", - Resolution = "integer_OR_numeric", - dimX = "integer_OR_numeric", - dimY = "integer_OR_numeric", - fractal = "logical", - hurst = "numeric", - continuous = "logical", - minPct = "numeric", - maxPct = "numeric") - , prototype = list(propSuit = 0.5, - K_or_DensDep = 10L, - Resolution = 100L, - dimX = 65L, - dimY = 65L, - fractal = FALSE, - #hurst, - continuous = FALSE) - #minPct, - #maxPct, - , contains = "LandParams") - -setValidity("ArtificialLandscape", function(object) { - msg <- NULL - if (anyNA(object@propSuit) || length(object@propSuit)!=1) { - msg <- c(msg, "Proportion of suitable habitat must be set and of length 1!") - } - else { - if (object@propSuit<0 || object@propSuit>1) { - msg <- c(msg, "Proportion of suitable habitat must be in the interval [0,1].") - } - } - if (anyNA(object@K_or_DensDep) || length(object@K_or_DensDep)==0) { - msg <- c(msg, "K_or_DensDep must be set!") - } - else { - if (object@K_or_DensDep<0) { - msg <- c(msg, "K_or_DensDep must not be smaller than 0.") - } - } - if (anyNA(object@Resolution) || length(object@Resolution)!=1) { - msg <- c(msg, "Resolution of landscape must be set and of length 1!") - } - else { - if (object@Resolution < 1) { - msg <- c(msg, "Resolution of landscape must be positive.") - } - } - if (anyNA(object@dimX) || length(object@dimX)!=1) { - msg <- c(msg, "dimX must be set!") - } - if (anyNA(object@dimY) || length(object@dimY)!=1) { - msg <- c(msg, "dimY must be set!") - } - if (anyNA(object@fractal) || length(object@fractal)!=1) { - msg <- c(msg, "fractal must be set!") - } - if (anyNA(object@continuous) || length(object@continuous)!=1) { - msg <- c(msg, "continuous must be set!") - } - if (is.null(msg)) { - if (object@fractal) { - if (object@dimX < 3) { - msg <- c(msg, "Number of cells in any direction must be at least 3 for a fractal landscape.") - } - else { - if (!isPowerOf2(object@dimX-1)) { - msg <- c(msg, "Number of cells in any direction must be a power of 2 plus 1 for a fractal landscape.") - } - } - if (object@dimY < 3) { - msg <- c(msg, "Number of cells in any direction must be at least 3 for a fractal landscape.") - } - else { - if (!isPowerOf2(object@dimY-1)) { - msg <- c(msg, "Number of cells in any direction must be a power of 2 plus 1 for a fractal landscape.") - } - } - if (object@dimY < object@dimX) { - msg <- c(msg, "Y-dimension may not be less than X-dimension for a fractal landscape.") - } - if (anyNA(object@hurst) || length(object@hurst)!=1) { - msg <- c(msg, "Hurst exponent must be set for a fractal landscape.") - } - else { - if (object@hurst<0 || object@hurst>1) { - msg <- c(msg, "Hurst exponent must be in the open interval (0,1).") - } - if (object@hurst==0 || object@hurst==1) { - msg <- c(msg, "Hurst exponent must be in the open interval (0,1). It can't be exactly 0 or 1.") - } - } - } - else { # non-fractal landscape - if (object@dimX < 1) { - msg <- c(msg, "Number of cells in any direction must be at least 1 for a non-fractal landscape.") - } - if (object@dimY < 1) { - msg <- c(msg, "Number of cells in any direction must be at least 1 for a non-fractal landscape.") - } - } - if(object@continuous) { - if (anyNA(object@minPct) || length(object@minPct)!=1) { - minP.ok = FALSE - msg <- c(msg, "Minimum habitat percentage must be set for a continuous landscape.") - } - else { - if (object@minPct<=0 || object@minPct>=1) { - minP.ok = FALSE - msg <- c(msg, "Minimum habitat percentage must be in the open interval (0,1).") - } - else {minP.ok = TRUE} - } - if (anyNA(object@maxPct) || length(object@maxPct)!=1) { - maxP.ok = FALSE - msg <- c(msg, "Maximum habitat percentage must be set for a continuous landscape.") - } - else { - if (object@maxPct<=0 || object@maxPct>1) { - maxP.ok = FALSE - msg <- c(msg, "Maximum habitat percentage must be in the half-open interval (0,1].") - } - else {maxP.ok = TRUE} - } - if (minP.ok && maxP.ok) { - if (object@maxPct <= object@minPct) { - msg <- c(msg, "Maximum habitat percentage may not be less than Minimum habitat percentage.") - } - } - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "ArtificialLandscape", function(.Object,...) { - this_func = "ArtificialLandscape(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if (!.Object@fractal) { - .Object@hurst = -9L - if (!is.null(args$hurst)) { - warning(this_func, "Hurst exponent", warn_msg_ignored, "for a non-fractal landscape.", call. = FALSE) - } - } - if(!.Object@continuous) { - .Object@minPct = -9L - if (!is.null(args$minPct)) { - warning(this_func, "Minimum habitat percentage", warn_msg_ignored, "for a discrete landscape.", call. = FALSE) - } - .Object@maxPct = -9L - if (!is.null(args$maxPct)) { - warning(this_func, "Maximum habitat percentage", warn_msg_ignored, "for a discrete landscape.", call. = FALSE) - } - } - .Object} -) -setMethod("show", "ArtificialLandscape", function(object){ - cat(" Artificial landscape: ") - #cat(" Artificial landscape #", object@LandNum, ": ") - if(object@fractal) { - cat("fractal structure, ") - } - else { - cat("random structure, ") - } - if(object@continuous) { - cat("continuous habitat cover/quality\n") - } - else { - cat("binary habitat/matrix code\n") - } - cat (" Size :", paste(object@dimX), "x", paste(object@dimY), "cells\n") - cat (" Resolution : ", paste(object@Resolution) , "meters\n") - cat (" Proportion of suitable habitat:", object@propSuit,"\n") - cat (" K or 1/b :", object@K_or_DensDep,"\n") - if(object@fractal) { - cat (" Hurst exponent : H =", object@hurst, "\n") - } - if(object@continuous) { - cat (" Minimum habitat percentage: minPct =", object@minPct, "\n") - cat (" Maximum habitat percentage: maxPct =", object@maxPct, "\n") - } -}) - - -### CLASS IMPORTEDLANDSCAPE - -#' Import a Landscape from file -#' -#' @description Provide the matrices of the map(s) to be imported, their resolution, -#' origin coordinates and, if applicable, the number of habitat codes (\code{Nhabitats}) -#' as well as their respective demographic density dependence (\code{K_or_DensDep}). -#' -#' For a dynamic landscape, the year in which each landscape is loaded has to be provided. -#' -#' Other, optional input maps are:\cr -#' - Patch map(s) to define habitat patches,\cr -#' - SMS cost map(s) to define landscape resistance to,\cr -#' - a distribution map to define an initial species distribution. -#' -#' @usage ImportedLandscape(LandscapeFile, -#' Resolution = 100, OriginCoords = c(0,0), -#' HabPercent = FALSE, Nhabitats, -#' K_or_DensDep = 10, -#' PatchFile = list(), -#' CostsFile = list(), -#' DynamicLandYears = 0, -#' SpDistFile = list(), SpDistResolution, -#' demogScaleLayers, nrDemogScaleLayers) -#' @param LandscapeFile List of matrices of the landscape habitat raster(s); contains each cells' habitat suitability or land cover index. -#' @param Resolution Cell size in meters, defaults to \eqn{100}. (integer) -#' @param OriginCoords X- and Y-coordinates of the map origin given in meters as a vector of length 2. -#' @param HabPercent If \code{FALSE} (default), unique integer habitat codes are expected in the imported map to characterise the habitat of each cell. This requires to set \code{Nhabitats}. \cr -#' If \code{TRUE}, continuous values are expected, ranging from \eqn{0.0} to \eqn{100.0}, that represent percentages of habitat cover or quality.\cr -#' Make sure your imported landscape file uses the specified standard (see Details below). -#' @param Nhabitats Required if \code{HabPercent=FALSE}: Number of habitats in the imported landscape if unique integer habitat codes are used. (integer) -#' @param K_or_DensDep determines the demographic density dependence of the modelled species and is given in units of the number of individuals per hectare (defaults to \eqn{10}). -#' Its precise interpretation depends on the structure of the species' \code{\link[RangeShiftR]{Demography}}:\cr -#' If combined with a \code{\link[RangeShiftR]{StageStructure}}d model, \code{K_or_DensDep} will be used as the \emph{strength of demographic density dependence} \ifelse{html}{\out{b-1}}{\eqn{1/b}}. -#' If combined with a non-structured model, \code{K_or_DensDep} will be interpreted as \emph{limiting carrying capacity} \eqn{K}.\cr -#' The expected format:\cr -#' If \code{HabPercent=FALSE}: a vector of length \code{Nhabitats}, specifying the respective \code{K_or_DensDep} for every habitat code.\cr -#' If \code{HabPercent=TRUE}: \code{K_or_DensDep} is interpreted as the maximum \code{K_or_DensDep} reached in cells with \eqn{100}\% habitat. All other cells hold the respective fraction of \eqn{K_or_DensDep}. -#' @param PatchFile List of matrices of the patch raster(s); contains each cells' patch index. -#' @param CostsFile List of matrices of the SMS cost raster(s); contains each cells' SMS cost. -#' @param DynamicLandYears Integer vector indicating the years of landscape changes. For a non-dynamic landscape its only entry is \eqn{0} (default). -#' For a dynamic landscape, \code{DynamicLandYears} lists the years in which the corresponding habitat maps in \code{LandscapeFile} and - if applicable - their respective patch and/or costs -#' maps (in \code{PatchFile},\code{CostsFile}) are used in the simulation. More details below. -#' @param SpDistFile List of one matrix containing the species' initial distribution raster. -#' @param SpDistResolution Required if \code{SpDistFile} is given: Cell size of the distribution map in meters. (integer) Must be an integer multiple of the landscape resolution. -#' @param demogScaleLayers List of arrays that describe additional landscape layers which can be used to locally scale certain demographic rates and thus allow them to vary spatially. -#' The list must contain equally sized 3D-arrays, one for each element in \code{DynamicLandYears}, which are interpreted as stacked layers. -#' The arrays' first two dimensions correspond to the x- and y-dimensions of the maps in \code{LandscapeFile} and must match in resolution and offset; -#' the third dimension indexes the various layers (of which there are \code{nrDemogScaleLayers}). -#' Can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}. Contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. -#' @param nrDemogScaleLayers number of additional landscape layers for spatial demographic scaling -#' @details -#' The \code{LandscapeFile} can be of one of two different types:\cr -#' \itemize{ -#' \item \emph{Raster with habitat codes} (\code{HabPercent=FALSE})\cr In this option each habitat or land-cover type has a unique integer code. Each cell in the file contains a single habitat code and \eqn{100} percent coverage is assumed for the cell. The landscape is therefore composed of discrete habitat cells. The codes are required to be sequential integers starting from \eqn{1} and ranging to \code{Nhabitats}.\cr -#' \item \emph{Raster with habitat quality} (\code{HabPercent=TRUE})\cr Each cell in the landscape is assigned a continuous percentage value between \eqn{0.0} and \eqn{100.0} of the maximum \code{K_or_DensDep}. There are no explicit habitat or land-cover types. This allows integrating different methods for calculating the habitat suitability for a given species. For example, qualities can result from -#' different methods of suitability modelling, which incorporate multiple variables like habitat types, elevation, climate, etc. In the current version of the program, a straight-line relationship between the habitat quality and the actual density-dependence of the population dynamics (i.e. \eqn{K} or \eqn{1/b} in a non-structured or structured population, respectively) is assumed. -#' Therefore, the quality should be scaled accordingly in case of a curvilinear relationship. -#' } -#' -#' \code{OriginCoords} is the map origin given as a vector of length 2 where the first entry is the x-coordinate (longitude) of the lower-left corner and -#' the second entry is the y-coordinate (latitude) of the lower-left corner.\cr -#' -#' \emph{Patch map} \cr -#' The simulation can be run as a \emph{patch-based model} on the same habitat map described above. An additional matrix must be provided through \code{PatchFile}: a raster map of the same landscape, where -#' each cell contains the ID number of the patch to which it belongs. Each patch must have a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. -#' Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they -#' are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. -#' -#' \emph{Costs layer} \cr -#' Only used if the simulation is run with \code{\link[RangeShiftR]{SMS}} as its transfer module and the landscapes resistance to movement is given via a costs raster map (see argument \code{Costs} in \code{SMS()}). -#' In this case, the specified raster has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being \eqn{1}. -#' Using a cost layer is the only option when the landscape comprises habitat coverage or quality. -#' -#' \emph{Initial distribution} \cr -#' A \emph{species distribution map} can be overlaid on top of the habitat map and can be used to define an initial distribution. The raster matrix is provided through \code{SpDistFile} must be aligned with the landscape -#' map, i.e. the coordinates of the lower-left corner must be the same. The resolution can be the same or coarser, provided that it is a multiple of the landscape resolution. For example, if the landscape cell size is -#' \eqn{250m}, the species distribution can be at the resolution of \eqn{250m}, \eqn{500m}, \eqn{750m}, \eqn{1000m} etc. -#' Each cell of the species distribution map must contain either \eqn{0} (species absent or not recorded) or \eqn{1} (species present). -#' -#' \emph{Demographic scaling layers} \cr -#' A number of additional landscape layers can be provided in \code{demogScaleLayers} to locally scale certain demographic rates and thus allow them to vary spatially. -#' This can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}, and with a stage-structured population model. -#' The additional layers contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. Chosen demographic rates for a specified stage and sex can be mapped to one of these scaling layers using the -#' parameters \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} in \code{\link[RangeShiftR]{StageStructure}}. If a demographic rate varies spatially, its value in the transition matrix \code{TransMatrix}) -#' is now interpreted as a maximum value, while the realised local value in each cell or patch is determined as this maximum value scaled by the percentage given in the respective mapped scaling layer. -#' For a patch-based landscape, the scaling percentage of a patch is given by the average percentage of its constituent cells. -#' Potential density-dependence mediated by the strength 1/b still takes effect also for spatially-varying demographic rates. The respective base values φ_0, Ď_0 or Îł_0 are then replaced by their locally scaled values. -#' -#' \emph{Dynamic landscapes} \cr -#' An imported landscape may be dynamic, i.e. the attributes of cells (either habitat class or quality index) and its patch number (if the model is patch-based) may be changed at specified years during the course of -#' a simulation. Note that any landscape change occurs at the start of the year, i.e. before the first/only reproductive season. In a patch-based model, the shape of patches may change, patches may -#' be removed and new patches may be created where there was previously inter-patch matrix. Thus some populations may be extirpated (in a non-structured population, all individuals die; in a stage-structured population, -#' all individuals either die or have an immediate opportunity to disperse), and new populations may arise from colonisation of newly suitable areas. -#' -#' However, there are certain restrictions. Any part of the original landscape which was a â€no-data’ region (e.g. the sea or land beyond a study area boundary) must remain in that state for the whole simulation. -#' The identity of patches is not cross-checked between changes, and care must therefore be taken to ensure consistency; otherwise, a patch (and its resident population) can jump to a distant location or be split into -#' two or more disjunct parts, with unpredictable and possibly weird consequences. It is legitimate for a patch to be split into two or more separate patches (e.g. by construction of a motorway or some other barrier), -#' but any existing population will remain with the part (if any) which retains the original patch number, and populations within the other parts (having a new patch number) must arise through colonisation. -#' Possible ways to work around this restriction include: -#' \itemize{ -#' \item Assign to all post-change parts of the original patch a new, unique patch number and specify that dispersal is allowed after population destruction (which is possible only for a structured population), in which -#' case some colonisation of the new patches should occur. Note that the connectivity matrix will be misleading in such cases, as every successful â€disperser’ will appear to have moved from patch N to patch M (where M -#' is the new patch number). -#' \item Instead of a single original patch, define two (or more) distinct but adjacent patches in the original landscape, so that they each retain their own populations when they become separated by the landscape change. -#' } -#' -#' A dynamic landscape can be specified using the slots \code{LandscapeFile} (, \code{PatchFile}, \code{CostsFile}) and \code{DynamicLandYears}. \code{LandscapeFile} (and \code{PatchFile}, \code{CostsFile}) take a list with the matrices representing the raster maps -#' to be used. All provided maps must agree in resolution, extent and origin. \code{DynamicLandYears} is a number vector that contains the years, in which these landscapes shall be loaded; it must have the same ordering so -#' that years and maps can be matched. If a specific map is used multiple times, it must be listed each time nevertheless. -#' @return A parameter object of class ImportedLandscape -#' @author Anne-Kathleen Malchow -#' @name ImportedLandscape -#' @export ImportedLandscape -ImportedLandscape <- setClass("ImportedLandscape", slots = c(LandscapeFile = "list", - Resolution = "integer_OR_numeric", - OriginCoords = "numeric", - HabPercent = "logical", - Nhabitats = "integer_OR_numeric", # not used in RS anymore. In R is used to define maxNhab in ControlParams - K_or_DensDep = "integer_OR_numeric", - PatchFile = "list", # sets the patchmodel -switch in class ControlParams when added - CostsFile = "list", - SpDistFile = "list", # sets the speciesdist -switch in class ControlParams when added - SpDistResolution = "integer_OR_numeric", - DynamicLandYears = "integer_OR_numeric", #= "data.frame") - nrDemogScaleLayers = "integer", - demogScaleLayers = "list") - , prototype = list(#LandscapeFile, - Resolution = 100L, - OriginCoords = c(0,0), - HabPercent = FALSE, - #Nhabitats, - K_or_DensDep = 10L, - PatchFile = list(), # "NULL", - CostsFile = list(), # "NULL", - SpDistFile = list(), # "NULL", - #SpDistResolution, - DynamicLandYears = 0L, # = "data.frame") - nrDemogScaleLayers = 0L, - demogScaleLayers = list() ) - , contains = "LandParams") - -setValidity("ImportedLandscape", function(object) { - msg <- NULL - land_ncol <- 0 - land_nrow <- 0 - if (length(object@LandscapeFile)==0 ) { - msg <- c(msg, "Empty Landscape maps list from was given.") - } - else { - if(any(sapply(object@LandscapeFile, class)[1,] != "matrix")){ - msg <- c(msg, "All elements of Landscape maps list must be of class matrix.") - } - else{ - land_ncol <- ncol(object@LandscapeFile[[1]]) - land_nrow <- nrow(object@LandscapeFile[[1]]) - if( (any(sapply(object@LandscapeFile, ncol) != land_ncol)) || (any(sapply(object@LandscapeFile, nrow) != land_nrow)) ){ - msg <- c(msg, "All elements of Landscape maps list must have the same ncol and nrow.") - } - } - } - if (anyNA(object@Resolution) || length(object@Resolution)!=1) { - msg <- c(msg, "Resolution of landscape must be given and of length 1!") - } - else { - if (object@Resolution < 1) { - msg <- c(msg, "Resolution of landscape must be positive.") - } - } - if (anyNA(object@OriginCoords)) { - msg <- c(msg, "OriginCoords of landscape must be provided!") - } - else { - if (length(object@OriginCoords)!=2) { - msg <- c(msg, "OriginCoords of landscape must be of length 2!") - } - else { - if ( any(object@OriginCoords < 0) ) { - msg <- c(msg, "OriginCoords of landscape must be positive.") - } - } - } - if (anyNA(object@HabPercent) || length(object@HabPercent)!=1) { - msg <- c(msg, "HabPercent must be set!") - } - if (anyNA(object@K_or_DensDep) || length(object@K_or_DensDep)==0) { - msg <- c(msg, "K_or_DensDep must be set!") - } - else { - if (any(object@K_or_DensDep<0)) { - msg <- c(msg, "K_or_DensDep must not be smaller than zero for any habitat type.") - } - } - if (!object@HabPercent) { - if (anyNA(object@Nhabitats) || length(object@Nhabitats)!=1) { - msg <- c(msg, "Number of habitat codes must be given for the imported landscape. If your landscape is specified by a habitat cover percentage, please set \"HabPercent = TRUE\". ") - } - else { - if (object@Nhabitats < 2){ - msg <- c(msg, "Number of habitat codes must be at least 2 when habitat codes are used.") - } - } - } - if (is.null(msg)) { - if (object@HabPercent) { - if (length(object@K_or_DensDep) != 1) { - msg <- c(msg, "K_or_DensDep must be of length 1, specifying the maximum K or 1/b for 100% habitat.") - } - } - else { - if (length(object@K_or_DensDep) != object@Nhabitats) { - msg <- c(msg, "K_or_DensDep must be a vector of length 'Nhabitats', specifying the respective K or 1/b for every habitat code.") - } - } - } - if (length(object@PatchFile) > 0){ # patch model - if (length(object@PatchFile) != length(object@LandscapeFile) ) { - msg <- c(msg, "LandscapeFile and PatchFile must contain the same number of maps.") - } - else { - if(any(sapply(object@PatchFile, class)[1,] != "matrix")){ - msg <- c(msg, "All elements of PatchFile list must be of class matrix.") - } - else{ - if( (any(sapply(object@PatchFile, ncol) != land_ncol)) || (any(sapply(object@PatchFile, nrow) != land_nrow)) ){ - msg <- c(msg, "All elements of PatchFile list must have the same ncol and nrow as the LandscapeFile list") - } - } - } - } - if (length(object@CostsFile) > 0){ # cost maps given - if (length(object@CostsFile) != length(object@LandscapeFile) ) { - msg <- c(msg, "LandscapeFile and CostsFile must contain the same number of maps.") - } - else { - if(any(sapply(object@CostsFile, class)[1,] != "matrix")){ - msg <- c(msg, "All elements of CostsFile list must be of class matrix.") - } - else{ - if( (any(sapply(object@PatchFile, ncol) != land_ncol)) || (any(sapply(object@PatchFile, nrow) != land_nrow)) ){ - msg <- c(msg, "All elements of CostsFile list must have the same ncol and nrow as the LandscapeFile list") - } - } - } - } - if (length(object@SpDistFile) > 0) { # species distribution map given - if (anyNA(object@SpDistResolution) || length(object@SpDistResolution)!=1) { - msg <- c(msg, "Resolution of Species distribution must be set and of length 1!") - } - else { - if (object@SpDistResolution < 1) { - msg <- c(msg, "Resolution of species distribution must be positive.") - } - else { - if (object@SpDistResolution < object@Resolution) { - msg <- c(msg, "Resolution of species distribution may not be less than landscape resolution.") - } - else { - if (object@SpDistResolution %% object@Resolution) { - msg <- c(msg, "SpDistResolution must be an integer multiple of Resolution.") - } - else { - if (length(object@SpDistFile) != 1) { - msg <- c(msg, "Species distribution list can only contain exactly one map.") - } - else { - if( class(object@SpDistFile[[1]])[1] != "matrix") { - msg <- c(msg, "Species distribution must be of class matrix.") - } - else{ - coarse <- object@SpDistResolution / object@Resolution - if( (ncol(object@SpDistFile[[1]]) != ceiling(land_ncol/coarse)) || (nrow(object@SpDistFile[[1]]) != ceiling(land_nrow/coarse)) ){ - msg <- c(msg, "Extent of CostsFile must match thaat of the LandscapeFile map.") - } - } - } - } - } - } - } - } - if(anyNA(object@DynamicLandYears) || length(object@DynamicLandYears)==0) { - msg <- c(msg, "DynamicLandYears must be set!") - } - else { - if(length(object@LandscapeFile) != length(object@DynamicLandYears)){ - msg <- c(msg, "LandscapeFile and DynamicLandYears must have the same number of entries!") - } - else{ - if(object@DynamicLandYears[1] != 0){ - msg <- c(msg, "The first entry of DynamicLandYears must be 0!") - } - else{ - if(!all(sort(object@DynamicLandYears) == object@DynamicLandYears)){ - msg <- c(msg, "DynamicLandYears must contain subsequent years!") - } - } - } - } - # demographic spatial variation - if (object@HabPercent) { - if(length(object@nrDemogScaleLayers) != 1){ - msg <- c(msg, "nrDemogScaleLayers must be of length 1.") - } - else { - if( object@nrDemogScaleLayers < 0){ - msg <- c(msg, "nrDemogScaleLayers must be positive.") - } - else { - if (length(object@demogScaleLayers) > 0){ # scaling layers are given - if( any( sapply(object@demogScaleLayers, class) != "array")){ - msg <- c(msg, "demogScaleLayers must be a list that contains an array for each element in DynamicLandYears.") - } - else{ - if( length(object@demogScaleLayers) != length(object@DynamicLandYears) ){ - msg <- c(msg, "demogScaleLayers must be a list that contains an array for each element in DynamicLandYears.") - } - else{ - ds_dims <- sapply(object@demogScaleLayers, dim) # (size of dimensions per array) - if( !"matrix" %in% class(ds_dims) ){ - msg <- c(msg, "the arrays in demogScaleLayers must have the same dimensionality.") - } - else{ - if( dim(ds_dims)[1] != 3 ){ - msg <- c(msg, "demogScaleLayers must be a list that contains 3-dimensional arrays.") - } - else{ - if( any(apply(ds_dims,1,var)!=0) ){ - msg <- c(msg, "all arrays in demogScaleLayers must have the same size.") - } - else{ - if( object@nrDemogScaleLayers > 0 && ds_dims[3,1] != object@nrDemogScaleLayers ){ - msg <- c(msg, "nrDemogScaleLayers must give the number of layers contained in each element (array) of demogScaleLayers.") - } - else{ - if( ds_dims[1,1] != land_nrow || ds_dims[2,1] != land_ncol ){ - msg <- c(msg, "All elements of demogScaleLayers list must have the same ncol and nrow as the LandscapeFile list") - } - else{ - ds_vals <- c(unlist(object@demogScaleLayers)) - if( any( ds_vals < 0) || any( ds_vals > 100 ) ){ - msg <- c(msg, "All elements of the arrays in demogScaleLayers must be values between 0 and 100.") - } - } - } - } - } - } - } - } - } - } - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("initialize", "ImportedLandscape", function(.Object, ...) { - this_func = "ImportedLandscape(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if (.Object@HabPercent) { - .Object@Nhabitats = 1L - if (!is.null(args$Nhabitats)) { - warning(this_func, "Nhabitats", warn_msg_ignored, "for continuous habitat percentage landscape.", call. = FALSE) - } - } - if (length(.Object@SpDistFile)==0) { - .Object@SpDistResolution = -9 - if (!is.null(args$SpDistResolution)) { - warning(this_func, "Resolution of Species distribution", warn_msg_ignored, "since no species distribution map is given.", call. = FALSE) - } - } - if (.Object@HabPercent) { - if (is.null(args$nrDemogScaleLayers)) { - if (length(.Object@demogScaleLayers) > 0) { - .Object@nrDemogScaleLayers = dim(.Object@demogScaleLayers[[1]])[3] - } - } - else { - if (length(.Object@demogScaleLayers) == 0) { - warning(this_func, "nrDemogScaleLayers", warn_msg_ignored, "since no demogScaleLayers maps are given.", call. = FALSE) - } - } - } - else { - if (!is.null(args$demogScaleLayers) | !is.null(args$nrDemogScaleLayers)) { - warning(this_func, "demogScaleLayers", warn_msg_ignored, "since they can only be used in combination with habitat quality maps.", call. = FALSE) - } - } - .Object} -) -setMethod("show", "ImportedLandscape", function(object){ - cat(" Imported landscape from matrix\n") - if ( length(object@PatchFile) == 0 ) cat(" Cell-based \n") - else cat(" Patch-based \n") - if(object@HabPercent) { - cat(" with continuous habitat percentages,\n") - cat(" at 100%: K or 1/b =", paste(object@K_or_DensDep), "[inds per ha].\n") - } - else { - cat(" with", paste(object@Nhabitats), "unique integer habitat code(s)\n") - cat(" K or 1/b : ", paste(object@K_or_DensDep), "[inds per ha].\n") - } - if ( length(object@CostsFile) > 0 ) { - cat(" SMS costs map(s) given \n") - } - cat (" Resolution :", paste(object@Resolution),"\n") - if(length(object@DynamicLandYears) > 1) { - cat(" Land changes in years:\n ") - for (a in 1:(length(object@DynamicLandYears-1))) cat(paste(object@DynamicLandYears[a]),", ") - cat(paste(object@DynamicLandYears[length(object@DynamicLandYears)]),"\n") - } - if ( length(object@SpDistFile) > 0 ) { - cat(" Initial Species Distribution map given \n") - cat(" Resolution :", paste(object@SpDistResolution),"\n") - } - if ( length(object@demogScaleLayers) > 0 ) { - cat(" Demographic scaling given by",paste(object@nrDemogScaleLayers),"layers\n") - } -}) - - -### Helper functions - -## Check if a number is a power of 2 -isPowerOf2 <- function(x) { - n1s <- sum(as.numeric(intToBits(x))) - if (n1s == 1) { - return(TRUE) - } else { - return(FALSE) - } -} - -# RS manual 3.1.1 (page 51) - 3.1.2 (page 54) diff --git a/RangeShiftR/R/class_RSparams.R b/RangeShiftR/R/class_RSparams.R deleted file mode 100644 index 2da7aef..0000000 --- a/RangeShiftR/R/class_RSparams.R +++ /dev/null @@ -1,792 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -#### PARAMETER MASTER CLASS #### - -#' @include class_ControlParams.R -#' @include class_SimulationParams.R -#' @include class_LandParams.R -#' @include class_DemogParams.R -#' @include class_DispersalParams.R -#' @include class_GeneticsParams.R -#' @include class_InitialisationParams.R -RSparams <- setClass("RSparams", slots = c(control = "ControlParams", - simul = "SimulationParams", - land = "LandParams", - demog = "DemogParams", - dispersal = "DispersalParams", - gene = "GeneticsParams", - init = "InitialisationParams") -) -setValidity("RSparams", function(object) { - msg <- NULL - #CONTROL - validObject(object@control) - #SIMULATION - validObject(object@simul) - if (object@control@patchmodel) { - if (object@simul@Gradient) { - msg <- c(msg, "Environmental gradients are not implemented for patch-based models!") - } - if (object@simul@LocalExt) { - msg <- c(msg, "Local extinction is not implemented for patch-based models!") - } - if (object@simul@EnvStoch==2) { - msg <- c(msg, "Local environmental stochasticity (EnvStoch=2) is not implemented for patch-based models!") - } - if (object@simul@OutIntTraitRow) { # or rather both: (object@simul@OutIntTraitCell || object@simul@OutIntTraitRow) ??? - msg <- c(msg, "Traits output by row is only applicable for a cell-based model!") - } - } - else { - if (object@simul@OutIntConn) { - msg <- c(msg, " Connectivity output is only applicable for a patch-based model!") - } - } - if (object@simul@EnvStochType==1) { - if (object@control@landtype==0 || object@control@landtype==2) { - msg <- c(msg, "Environmental stochasticity in carrying capacity (EnvStochType=1) is implemented for artificial landscapes only!") - } - } - if (object@simul@OutIntTraitCell || object@simul@OutIntTraitRow) { - if (!object@dispersal@Emigration@IndVar && !object@dispersal@Transfer@IndVar && !object@dispersal@Settlement@IndVar) { - msg <- c(msg, "Traits output is only applicable for a model with inter-individual variability in (at least one) dispersal trait(s)!") - } - } - if (class(object@dispersal@Transfer)[1] != "StochMove"){ - if (object@simul@OutIntPaths) { - msg <- c(msg, "SMS paths output is only applicable for a model with the SMS transfer method!") - } - if (object@simul@SMSHeatMap){ - msg <- c(msg, "SMS heat map output is only applicable for a model with the SMS transfer method!") - } - } - #LAND - validObject(object@land) - if (any(object@control@landtype==c(0,2))){ - if (any(object@land@DynamicLandYears>object@simul@Years)) { - warning("ImportedLandscape(): Dynamic landscape contains years that exceed the simulated years, so that some land changes will not apply.", call. = FALSE) - } - if (length(object@land@CostsFile)>0) { - if (class(object@dispersal@Transfer)[1] == "StochMove") { - if (object@dispersal@Transfer@Costs[1] != "file") { - warning("ImportedLandscape(): Landscape module contains SMS cost layers, but SMS module does not use them.", call. = FALSE) - } - } - else{ - warning("ImportedLandscape(): Landscape module contains SMS cost layers, but Transfer module does not use SMS().", call. = FALSE) - } - } - } - - #DEMOGRAPHY - validObject(object@demog) - if (object@control@landtype == 2L){ # habitat quality - varydemogixs <- (length(object@demog@StageStruct@FecLayer)+length(object@demog@StageStruct@DevLayer)+length(object@demog@StageStruct@SurvLayer)>0) - varydemoglyr <- (length(object@land@demogScaleLayers)>0) - if(varydemogixs & !varydemoglyr){ - msg <- c(msg, "RSsim(): If FecLayer, DevLayer and/or SurvLayer are used, the deographic scaling layers must be given in ImportedLandscape.") - } - if(varydemoglyr & !varydemogixs){ - msg <- c(msg, "RSsim(): If deographic scaling layers are given, the demographic rates they correspond to must be defined with FecLayer, DevLayer and/or SurvLayer in StageStructure().") - } - if(varydemoglyr & varydemogixs){ - if ((length(object@demog@StageStruct@FecLayer) + length(object@demog@StageStruct@DevLayer) + length(object@demog@StageStruct@SurvLayer)) > 0 ){ # spatially varying demographic rates - ixs <- c(object@demog@StageStruct@FecLayer,object@demog@StageStruct@DevLayer,object@demog@StageStruct@SurvLayer) - ixs[is.na(ixs)] <- -9 - if ( any( ixs > object@land@nrDemogScaleLayers )){ - msg <- c(msg, "StageStructure(): Entries of FecLayer, DevLayer and SurvLayer must not exceed the number of layers in demogScaleLayers (of ImportedLandscape) !") - } - } - } - } - - #DISPERSAL - validObject(object@dispersal) - ## Emigration: check dimensions and values of EmigProb and EmigStage: - # check StageDep and SexDep - dim_ok = TRUE - if (object@dispersal@Emigration@StageDep) { - if (object@control@stagestruct) { - rows = object@control@stages - offset = 1 - if (object@dispersal@Emigration@IndVar) { - if (is.na(object@dispersal@Emigration@EmigStage) || length(object@dispersal@Emigration@EmigStage)!=1) { - msg <- c(msg, "Emigration(): EmigStage (exactly 1) must be set!") - } - else { - if (object@dispersal@Emigration@EmigStage<0 || object@dispersal@Emigration@EmigStage>rows) { - msg <- c(msg, "Emigration(): EmigStage must be within [0, #stages]!") - } - } - } - } - else { - dim_ok = FALSE - msg <- c(msg, "Emigration can only be stage-dependent in a stage-structured model (StageStruct = StageStructure()) !") - } - } - else { - rows = 1 - offset = 0 - } - if (object@dispersal@Emigration@SexDep) { - if (object@control@reproductn) { - rows = 2*rows - offset = 1+offset - } - else { - dim_ok = FALSE - msg <- c(msg, "Emigration can only be sex-dependent in a sexually explicit model (ReproductionType = {1,2}) !") - } - } - # check dimensions of EmigProb - if (dim_ok) { - if (object@dispersal@Emigration@DensDep) { - cols = 3 - } - else { - cols = 1 - } - if (object@dispersal@Emigration@IndVar) { - cols = 2*cols - } - if (dim(object@dispersal@Emigration@EmigProb)[1]!=rows) { - dim_ok = FALSE - msg <- c(msg, paste0("Matrix of emigration probability traits (EmigProb) must have ", rows ," rows (with the current settings)!")) - } - if (dim(object@dispersal@Emigration@EmigProb)[2]!=(offset+cols)) { - dim_ok = FALSE - msg <- c(msg, paste0("Matrix of emigration probability traits (EmigProb) must have ", (offset+cols) ," columns (with the current settings)!")) - } - } - if (dim_ok) { - # check stage column of EmigProb - if (object@dispersal@Emigration@StageDep) { - if(any(object@dispersal@Emigration@EmigProb[,1]%%1!=0)){ - msg <- c(msg, "First column of emigration probability traits matrix (EmigProb) must contain the stage numbers (but non-integer number(s) found)!") - } - else { - if(any(object@dispersal@Emigration@EmigProb[,1]<0 | object@dispersal@Emigration@EmigProb[,1]>object@control@stages)){ - msg <- c(msg, "First column of emigration probability traits matrix (EmigProb) must contain the stage numbers (found <0 or >#stages)!") - } - else{ - if(length(unique(object@dispersal@Emigration@EmigProb[,1])) != object@control@stages){ - msg <- c(msg, "First column of emigration probability traits matrix (EmigProb) must contain the stage numbers (but found incorrect stage numbers)!") - } - } - } - } - # check sex column of EmigProb - if (object@dispersal@Emigration@SexDep) { - if(any(object@dispersal@Emigration@EmigProb[,offset]!=0 && object@dispersal@Emigration@EmigProb[,offset]!=1)){ - msg <- c(msg, paste0(offset,". column of emigration probability traits matrix (EmigProb) must contain the sex numbers (0 for female, 1 for male)!")) - } - else { - if (object@dispersal@Emigration@StageDep) { - comb_ok = TRUE - for(i in 0:(object@control@stages-1)) { - if (length(unique(object@dispersal@Emigration@EmigProb[object@dispersal@Emigration@EmigProb[,1]==i, offset])) != 2) { - comb_ok = FALSE - } - } - if (!comb_ok) { - dim_ok = FALSE - msg <- c(msg, "The emigration probability traits matrix (EmigProb) must contain exactly one row for each stage (1. column) and sex (2. column) combination!") - } - } - else { - if (length(unique(object@dispersal@Emigration@EmigProb[, offset])) != 2) { - dim_ok = FALSE - msg <- c(msg, "The emigration probability traits matrix (EmigProb) must contain exactly one row for each sex (1. column)!") - } - } - } - } - } - if (dim_ok) { - # check value columns of EmigProb - if (object@dispersal@Emigration@IndVar) { - if(any(object@dispersal@Emigration@EmigProb[,(offset+1):(offset+2)]<=0 | object@dispersal@Emigration@EmigProb[,(offset+1):(offset+2)]>1)){ - msg <- c(msg, paste0("Columns ", (offset+1), " and ", (offset+2), " of emigration traits matrix (EmigProb) must contain mean(D0) and sd(D0), with values in the half-open inerval (0,1] !")) - } - else { - if(any(object@dispersal@Emigration@EmigProb[,(offset+2)] > object@dispersal@Emigration@TraitScaleFactor[1])) { - msg <- c(msg, paste0("Column ", (offset+2), " of emigration traits matrix (EmigProb) must contain sd(D0), with values less than or equal to TraitScaleFactor ÎĽ(D0)!")) - } - } - if (object@dispersal@Emigration@DensDep) { - if(any(object@dispersal@Emigration@EmigProb[,c((offset+4),(offset+6))]<=0 )){ - msg <- c(msg, paste0("Columns ", (offset+4), " and ", (offset+6), " of emigration traits matrix (EmigProb) must contain sd(α) and sd(β), with strictly positive values!")) - } - else { - if(any(object@dispersal@Emigration@EmigProb[,(offset+4)] > object@dispersal@Emigration@TraitScaleFactor[2])) { - msg <- c(msg, paste0("Column ", (offset+4), " of emigration traits matrix (EmigProb) must contain sd(α), with values less than or equal to TraitScaleFactor ÎĽ(α)!")) - } - if(any(object@dispersal@Emigration@EmigProb[,(offset+6)] > object@dispersal@Emigration@TraitScaleFactor[3])) { - msg <- c(msg, paste0("Column ", (offset+6), " of emigration traits matrix (EmigProb) must contain sd(β), with values less than or equal to TraitScaleFactor ÎĽ(β)!")) - } - } - } - } - else { # !IndVar - if (object@dispersal@Emigration@DensDep) { - if(any(object@dispersal@Emigration@EmigProb[,(offset+1)]<0 | object@dispersal@Emigration@EmigProb[,(offset+1)]>1)){ - msg <- c(msg, paste0("Column ", (offset+1), " of emigration traits matrix (EmigProb) must contain the maximum emigration probability D0, with values in the closed inerval [0,1] !")) - } - #// NB alpha and beta may take any value - } - else { - if(any(object@dispersal@Emigration@EmigProb[,(offset+1)]<0 | object@dispersal@Emigration@EmigProb[,(offset+1)]>1)){ - msg <- c(msg, paste0("Column ", (offset+1), " of emigration traits matrix (EmigProb) must contain the constant emigration probability d, with values in the closed inerval [0,1] !")) - } - } - } - } - ## Transfer / DispersalKernel: - # check StageDep and SexDep - dim_ok = TRUE - if (class(object@dispersal@Transfer)[1] == "DispersalKernel") { - if (object@control@transfer != 0) { - msg <- c(msg, "DispersalKernel(): Something went wrong adding a DispersalKernel to the Parameter Master!") - } - else { - if (object@dispersal@Transfer@StageDep) { - if (object@control@stagestruct) { - rows = object@control@stages - offset = 1 - } - else { - dim_ok = FALSE - msg <- c(msg, "Transfer (DispersalKernel) can only be stage-dependent in a stage-structured model (use Demography(StageStruct = StageStructure()) ) !") - } - } - else { - rows = 1 - offset = 0 - } - if (object@dispersal@Transfer@SexDep) { - if (object@control@reproductn) { - rows = 2*rows - offset = 1+offset - } - else { - dim_ok = FALSE - msg <- c(msg, "Transfer (DispersalKernel) can only be sex-dependent in a sexually explicit model (ReproductionType = {1,2}) !") - } - } - if (dim_ok) { - if (object@dispersal@Transfer@DoubleKernel) { - cols = 3 - } - else { - cols = 1 - } - if (object@dispersal@Transfer@IndVar) { - cols = 2*cols - } - if (dim(object@dispersal@Transfer@Distances)[1]!=rows) { - dim_ok = FALSE - msg <- c(msg, paste0("Matrix of dispersal kernel traits (Distances) must have ", rows ," rows (with the current settings)!")) - } - if (dim(object@dispersal@Transfer@Distances)[2]!=(offset+cols)) { - dim_ok = FALSE - msg <- c(msg, paste0("Matrix of dispersal kernel traits (Distances) must have ", (offset+cols) ," columns (with the current settings)!")) - } - } - if (dim_ok) { - # check stage column of Distances matrix - if (object@dispersal@Transfer@StageDep) { - if(any(object@dispersal@Transfer@Distances[,1]%%1!=0)){ - msg <- c(msg, "First column of dispersal kernel traits (Distances) matrix must contain the stage numbers (but non-integer number(s) found)!") - } - else { - if(any(object@dispersal@Transfer@Distances[,1]<0 | object@dispersal@Transfer@Distances[,1]>object@control@stages)){ - msg <- c(msg, "First column of dispersal kernel traits (Distances) matrix must contain the stage numbers (found <0 or >#stages)!") - } - else{ - if(length(unique(object@dispersal@Transfer@Distances[,1])) != object@control@stages){ - msg <- c(msg, "First column of dispersal kernel traits (Distances) matrix must contain the stage numbers (but found incorrect stage numbers)!") - } - } - } - } - if (object@dispersal@Transfer@SexDep) { - # check sex column of Distances matrix - if(any(object@dispersal@Transfer@Distances[,offset]!=0 && object@dispersal@Transfer@Distances[,offset]!=1)){ - msg <- c(msg, paste0(offset,". column of dispersal kernel traits (Distances) matrix must contain the sex numbers (0 for female, 1 for male)!")) - } - else { - if (object@dispersal@Transfer@StageDep) { - comb_ok = TRUE - for(i in 0:(object@control@stages-1)) { - if (length(unique(object@dispersal@Transfer@Distances[object@dispersal@Transfer@Distances[,1]==i, offset])) != 2) { - comb_ok = FALSE - } - } - if (!comb_ok) { - dim_ok = FALSE - msg <- c(msg, "The dispersal kernel traits (Distances) matrix must contain exactly one row for each stage (1. column) and sex (2. column) combination!") - } - } - else { - if (length(unique(object@dispersal@Transfer@Distances[, offset])) != 2) { - dim_ok = FALSE - msg <- c(msg, "The emigration dispersal kernel traits (Distances) matrix must contain exactly one row for each sex (1. column) !") - } - } - } - } - } - if (dim_ok) { - # check value columns of Distances matrix - if (object@dispersal@Emigration@UseFullKern) { - resol = 0.0000000000001 - } - else { - resol = object@control@resolution - } - if (object@dispersal@Transfer@IndVar) { - if (object@dispersal@Transfer@DoubleKernel) { - if(any(object@dispersal@Transfer@Distances[,(offset+1)]= ", (resol), " (=landscape resolution (unless UseFullKernel=TRUE)) !")) - } - if(any(object@dispersal@Transfer@Distances[,(offset+2)]<=0.0)){ - msg <- c(msg, paste0("Column ", (offset+2), " of dispersal kernel traits (Distances) matrix must contain the std. dev. of the mean distance of Kernel 1, sd(δ1), with strictly positive values!")) - } - else { - if(any(object@dispersal@Transfer@Distances[,(offset+2)] > object@dispersal@Transfer@TraitScaleFactor[1])) { - msg <- c(msg, paste0("Column ", (offset+2), " of dispersal kernel traits (Distances) matrix must contain sd(δ1), with values less than or equal to TraitScaleFactor ÎĽ(δ1)!")) - } - } - if(any(object@dispersal@Transfer@Distances[,(offset+3)]= ", (resol), " (=landscape resolution (unless UseFullKernel=TRUE)) !")) - } - if(any(object@dispersal@Transfer@Distances[,(offset+4)]<=0.0)){ - msg <- c(msg, paste0("Column ", (offset+4), " of dispersal kernel traits (Distances) matrix must contain the std. dev. of the mean distance of Kernel 2, sd(δ2), with strictly positive values!")) - } - else { - if(any(object@dispersal@Transfer@Distances[,(offset+4)] > object@dispersal@Transfer@TraitScaleFactor[2])) { - msg <- c(msg, paste0("Column ", (offset+4), " of dispersal kernel traits (Distances) matrix must contain sd(δ2), with values less than or equal to TraitScaleFactor ÎĽ(δ2)!")) - } - } - if(any(object@dispersal@Transfer@Distances[,(offset+5)]<=0.0 | object@dispersal@Transfer@Distances[,(offset+5)]>=1.0)){ - msg <- c(msg, paste0("Column ", (offset+5), " of dispersal kernel traits (Distances) matrix must contain the mean of the probability of using Kernel 1, mean(p), with values in the open interval (0,1) !")) - } - if(any(object@dispersal@Transfer@Distances[,(offset+6)]<=0.0)){ - msg <- c(msg, paste0("Column ", (offset+6), " of dispersal kernel traits (Distances) matrix must contain the std. dev. of the probability of using Kernel 1, sd(p), with strictly positive values!")) - } - else { - if(any(object@dispersal@Transfer@Distances[,(offset+6)] > object@dispersal@Transfer@TraitScaleFactor[3])) { - msg <- c(msg, paste0("Column ", (offset+6), " of dispersal kernel traits (Distances) matrix must contain sd(p), with values less than or equal to TraitScaleFactor ÎĽ(p)!")) - } - } - } - else { # !DoubleKernel - if(any(object@dispersal@Transfer@Distances[,(offset+1)]= ", (resol), " (=landscape resolution (unless UseFullKernel=TRUE)) !")) - } - if(any(object@dispersal@Transfer@Distances[,(offset+2)]<=0.0)){ - msg <- c(msg, paste0("Column ", (offset+2), " of dispersal kernel traits (Distances) matrix must contain the std. dev. of the mean distance, sd(δ), with strictly positive values!")) - } - else { - if(any(object@dispersal@Transfer@Distances[,(offset+2)] > object@dispersal@Transfer@TraitScaleFactor[1])) { - msg <- c(msg, paste0("Column ", (offset+2), " of dispersal kernel traits (Distances) matrix must contain sd(δ), with values less than or equal to TraitScaleFactor ÎĽ(δ)!")) - } - } - } - } - else { # !IndVar - if (object@dispersal@Transfer@DoubleKernel) { - if(any(object@dispersal@Transfer@Distances[,(offset+1):(offset+2)]= ", (resol), " (=landscape resolution (unless UseFullKernel=TRUE)) !")) - } - if(any(object@dispersal@Transfer@Distances[,(offset+3)]<=0 | object@dispersal@Transfer@Distances[,(offset+3)]>=1)) { - msg <- c(msg, paste0("Column ", (offset+3), " of dispersal kernel traits (Distances) matrix must contain the probability p of using kernel 1, with values in the open interval (0,1) !")) - } - } - else{ - if(any(object@dispersal@Transfer@Distances[,(offset+1)]= ", (resol), " (=landscape resolution (unless UseFullKernel=TRUE)) !")) - } - } - } - } - } - } - ## Transfer / StochMove: - if (class(object@dispersal@Transfer)[1] == "StochMove") { - if (object@control@transfer != 1) { - msg <- c(msg, "SMS(): Something went wrong adding a SMS Transfer method to the Parameter Master!") - } - else { - # check transfer cost parameters - if (object@control@landtype==0) { # imported land with habitat codes - if (!any(length(object@dispersal@Transfer@StepMort) == c(1,object@control@maxNhab) )) { - msg <- c(msg, "SMS(): Per-step mortality probability must have either 1 or Nhabitat entries for an imported landscape with habitat codes!") - } - if (class(object@dispersal@Transfer@Costs)=="numeric") { - if (length(object@dispersal@Transfer@Costs) != object@control@maxNhab) { - msg <- c(msg, "SMS(): Costs must have Nhabitat entries for an imported landscape with habitat codes!") - } - } - if (class(object@dispersal@Transfer@Costs)=="character") { - if (object@dispersal@Transfer@Costs == "file") { - if (length(object@land@CostsFile)==0) { - msg <- c(msg, "SMS(): Empty cost map list found in the landscape module!") - } - } - else{ - msg <- c(msg, "SMS(): Costs has a wrong format! Must be either numeric or the keyword \"file\".") - } - } - } - else { - if (object@control@landtype==2) { # imported land with habitat quality - if (length(object@dispersal@Transfer@StepMort)!=1) { - msg <- c(msg, "SMS(): Per-step mortality probability must be a constant for an imported habitat percentage landscape!") - } - if (class(object@dispersal@Transfer@Costs)=="character") { - if (object@dispersal@Transfer@Costs == "file") { - if (length(object@land@CostsFile)==0) { - msg <- c(msg, "SMS(): Empty cost map list found in the landscape module!") - } - } - else{ - msg <- c(msg, "SMS(): Costs has a wrong format! Must be either numeric or the keyword \"file\".") - } - } - else{ - msg <- c(msg, "SMS(): Costs must be imported from a raster map for an imported habitat percentage landscape!") - } - } - else { - if (object@control@landtype==9) { # artificial landscape - if (!any(length(object@dispersal@Transfer@StepMort) == c(1,2)) ) { - msg <- c(msg, "SMS(): Per-step mortality probability must have one or two (i.e. for matrix and habitat) entries for an artificial landscape!") - } - if (class(object@dispersal@Transfer@Costs)=="numeric") { - if (length(object@dispersal@Transfer@Costs) != 2) { - msg <- c(msg, "SMS(): Costs must have two entries (i.e. for matrix and habitat) for an artificial landscape!") - } - else { - if (class(object@dispersal@Transfer@Costs)=="character") { - msg <- c(msg, "SMS(): Costs can not be imported from a raster map for an artificial landscape!") - } - } - } - } - else { # no valid land code - msg <- c(msg, "SMS(): Something went wrong adding a SMS Transfer method to the Parameter Master: No valid landscape code.") - } - } - } - if(length(object@dispersal@Transfer@CostMap)==0) { - msg <- c(msg, "SMS(): Something went wrong adding a SMS Transfer method to the Parameter Master: No set CostMap switch.") - } - else{ - if(object@dispersal@Transfer@CostMap){ - if(object@dispersal@Transfer@Costs[1] != "file") { - msg <- c(msg, "SMS(): Something went wrong adding a SMS Transfer method to the Parameter Master: CostMap switch incorrect.") - } - } - else{ - if(object@dispersal@Transfer@Costs[1] == "file") { - msg <- c(msg, "SMS(): Something went wrong adding a SMS Transfer method to the Parameter Master: CostMap switch incorrect.") - } - - } - } - } - } - ## Transfer / CorrRW: - if (class(object@dispersal@Transfer)[1] == "CorrRW") { - if (object@control@transfer != 2) { - msg <- c(msg, "CorrRW(): Something went wrong adding a Correlated RW Transfer method to the Parameter Master!") - } - } - - ## Settlement: - # check StageDep and SexDep - dim_ok = TRUE - if (object@dispersal@Settlement@StageDep) { - if (object@control@stagestruct) { - rows = object@control@stages - offset = 1 - } - else { - dim_ok = FALSE - msg <- c(msg, "Settlement can only be stage-dependent in a stage-structured model (StageStruct = StageStructure()) !") - } - } - else { - rows = 1 - offset = 0 - } - if (object@dispersal@Settlement@SexDep) { - if (object@control@reproductn) { - rows = 2*rows - offset = 1+offset - } - else { - dim_ok = FALSE - msg <- c(msg, "Settlement can only be sex-dependent in a sexually explicit model (ReproductionType = {1,2}) !") - if (any(FindMate)){ - msg <- c(msg, "FindMate can only be TRUE in a sexually explicit model (ReproductionType = {1,2}) !") - } - } - } - #check dimensions and values of matrix Settle: - if (dim_ok) { - if (object@dispersal@Settlement@DensDep) { - cols = 3 - } - else { - if (object@control@transfer) cols = 0 - else cols = 1 - } - if (object@dispersal@Settlement@IndVar) { - cols = 2*cols - } - if (dim(object@dispersal@Settlement@Settle)[1]!=rows) { - dim_ok = FALSE - msg <- c(msg, paste0("Matrix of Settlement traits (Settle) must have ", rows ," rows (with the current settings)!")) - } - if((offset+cols) == 0){ - if (any(dim(object@dispersal@Settlement@Settle)!=c(1,1) )) { - msg <- c(msg, paste0("Matrix of Settlement traits is not needed with the current settings!")) - } - } - else{ - if (dim(object@dispersal@Settlement@Settle)[2]!=(offset+cols)) { - dim_ok = FALSE - msg <- c(msg, paste0("Matrix of Settlement traits (Settle) must have ", (offset+cols) ," columns (with the current settings)!")) - } - } - } - if (dim_ok) { - # check stage column of Settle - if (object@dispersal@Settlement@StageDep) { - if(any(object@dispersal@Settlement@Settle[,1]%%1!=0)){ - msg <- c(msg, "First column of Settlement traits matrix (Settle) must contain the stage numbers (but non-integer number(s) found)!") - } - else { - if(any(object@dispersal@Settlement@Settle[,1]<0 | object@dispersal@Settlement@Settle[,1]>object@control@stages)){ - msg <- c(msg, "First column of Settlement traits matrix (Settle) must contain the stage numbers (found <0 or >#stages)!") - } - else{ - if(length(unique(object@dispersal@Settlement@Settle[,1])) != object@control@stages){ - msg <- c(msg, "First column of Settlement traits matrix (Settle) must contain the stage numbers (but found incorrect stage numbers)!") - } - } - } - } - # check sex column of Settle - if (object@dispersal@Settlement@SexDep) { - if(!all(object@dispersal@Settlement@Settle[,offset] %in% c(0,1))){ - msg <- c(msg, paste0(offset,". column of Settlement traits matrix (Settle) must contain the sex numbers (0 for female, 1 for male)!")) - } - else { - if (object@dispersal@Settlement@StageDep) { - comb_ok = TRUE - for(i in 0:(object@control@stages-1)) { - if (length(unique(object@dispersal@Settlement@Settle[object@dispersal@Settlement@Settle[,1]==i, offset])) != 2) { - comb_ok = FALSE - } - } - if (!comb_ok) { - dim_ok = FALSE - msg <- c(msg, "The Settlement traits matrix (Settle) must contain exactly one row for each stage (1. column) and sex (2. column) combination!") - } - } - else { - if (length(unique(object@dispersal@Settlement@Settle[, offset])) != 2) { - dim_ok = FALSE - msg <- c(msg, "The Settlement traits matrix (Settle) must contain exactly one row for each sex (1. column)!") - } - } - } - } - } - if (dim_ok) { - # check value columns of Settle - if (object@control@transfer) { #if Movemodel: - if (object@dispersal@Settlement@IndVar) { - if (object@dispersal@Settlement@DensDep) { - if(any(object@dispersal@Settlement@Settle[,(offset+1):(offset+2)]<=0 | object@dispersal@Settlement@Settle[,(offset+1):(offset+2)]>1)){ - msg <- c(msg, paste0("Columns ", (offset+1), " and ", (offset+2), " of settlement traits matrix (Settle) must contain mean(S0) and sd(S0), with values in the half-open inerval (0,1] !")) - } - else { - if(any(object@dispersal@Settlement@Settle[,(offset+2)] > object@dispersal@Settlement@TraitScaleFactor[1])) { - msg <- c(msg, paste0("Column ", (offset+2), " of settlement traits matrix (Settle) must contain sd(S0), with values less than or equal to TraitScaleFactor ÎĽ(S0)!")) - } - } - if(any(object@dispersal@Settlement@Settle[,c((offset+4),(offset+6))]<=0 )){ - msg <- c(msg, paste0("Columns ", (offset+4), " and ", (offset+6), " of settlement traits matrix (Settle) must contain sd(α_s) and sd(β_s), with strictly positive values!")) - } - else { - if(any(object@dispersal@Settlement@Settle[,(offset+4)] > object@dispersal@Settlement@TraitScaleFactor[2])) { - msg <- c(msg, paste0("Column ", (offset+4), " of settlement traits matrix (Settle) must contain sd(α_s), with values less than or equal to TraitScaleFactor ÎĽ(α_s)!")) - } - if(any(object@dispersal@Settlement@Settle[,(offset+6)] > object@dispersal@Settlement@TraitScaleFactor[3])) { - msg <- c(msg, paste0("Column ", (offset+6), " of settlement traits matrix (Settle) must contain sd(β_s), with values less than or equal to TraitScaleFactor ÎĽ(β_s)!")) - } - } - } - else { - msg <- c(msg, paste0("Settlement(): Inter-individual variability (IndVar=TRUE) in settlement traits requires density-dependence (DensDep=TRUE) !")) - } - } - else { # !IndVar - if (object@dispersal@Settlement@DensDep) { - if(any(object@dispersal@Settlement@Settle[,(offset+1)]<=0 | object@dispersal@Settlement@Settle[,(offset+1)]>1)){ - msg <- c(msg, paste0("Column ", (offset+1), " of settlement traits matrix (Settle) must contain the maximum settlement probability S0, with values in the half-open inerval (0,1] !")) - } - #// NB alpha and beta may take any value - } - #else {} // no more colums required other than stage and sex if applicable - } - } - else { # DispersalKernel - if (object@control@stagestruct) { - if(!all(object@dispersal@Settlement@Settle[,(offset+1)] %in% c(0,1,2,3))){ - msg <- c(msg, paste0("Column ", (offset+1), " of settlement traits matrix (Settle) must contain the settlement condition codes, with valid values: 0, 1, 2 or 3.")) - } - } - else{ - if(!all(object@dispersal@Settlement@Settle[,(offset+1)] %in% c(0,2))){ - msg <- c(msg, paste0("Column ", (offset+1), " of settlement traits matrix (Settle) must contain the settlement condition codes; for a non-StageStructured population the only valid values are 0 and 2.")) - } - } - } - #if Movemodel, check its additional parameters: - if (object@control@transfer) { - if (!length(object@dispersal@Settlement@MinSteps) %in% c(1,rows) ){ - msg <- c(msg, paste0("Settlement(): MinSteps must have either 1 or ", rows ," rows (with the current settings)!")) - } - if (!length(object@dispersal@Settlement@MaxSteps) %in% c(1,rows) ){ - msg <- c(msg, paste0("Settlement(): MaxSteps must have either 1 or ", rows ," rows (with the current settings)!")) - } - if (object@dispersal@Settlement@StageDep) { - if (!length(object@dispersal@Settlement@MaxStepsYear) %in% c(1,rows) ){ - msg <- c(msg, paste0("Settlement(): MaxStepsYear must have either 1 or ", rows ," rows (with the current settings)!")) - } - } - } - } - #GENETICS - validObject(object@gene) - #INITIALISATION - validObject(object@init) - if (object@control@landtype == 9) { # artificial land - if (object@init@InitType) { - msg <- c(msg, 'Initialise(): InitType must be set to 0 (Free initialisation) for an artificial landscape!') - } - else { - if (object@init@minX > object@land@dimX) { - msg <- c(msg, 'Initialise(): minX exceeds the landscape dimensions!') - } - else { - if (object@init@maxX > object@land@dimX) { - msg <- c(msg, 'Initialise(): maxX exceeds the landscape dimensions!') - } - } - if (object@init@minY > object@land@dimY) { - msg <- c(msg, 'Initialise(): minY exceeds the landscape dimensions!') - } - else { - if (object@init@maxY > object@land@dimY) { - msg <- c(msg, 'Initialise(): maxY exceeds the landscape dimensions!') - } - } - } - } - else { # imported land - if (object@init@InitType == 1 && !object@control@speciesdist) { - msg <- c(msg, 'Initialise(): A species distribution map has to be loaded via the \'land\' module if InitType = 1 (initialisation from loaded species distribution map) !') - } - if (object@init@InitType == 2 && object@init@InitIndsFile != "NULL") { # from initial individuals list from list of data.frames in 'InitIndsList' - if(length(object@init@InitIndsList)!=object@simul@Replicates) { - msg <- c(msg, 'Initialise(): Number of elements in InitIndsList must equal the number of Replicates!') - } - } - } - if (object@control@stagestruct) { - if (is.na(object@init@InitAge) || length(object@init@InitAge) == 0){ - msg <- c(msg, 'Initialise(): InitAge must be set!') - } - else { - if (!object@init@InitAge %in% c(0,1,2) && object@init@InitType != 2){ - msg <- c(msg, 'Initialise(): InitAge must be 0, 1 or 2!') - } - } - if (object@init@InitType != 2) { - if ( is.na(object@init@PropStages) || length(object@init@PropStages) == 0 ){ - msg <- c(msg, 'Initialise(): PropStages must be set!') - } - else { - if(length(object@init@PropStages) != object@control@stages) { - msg <- c(msg, 'Initialise(): PropStages must have a length equal to number of stages!') - } - else{ - if(any(object@init@PropStages < 0.0) | any(object@init@PropStages > 1.0)) { - msg <- c(msg, 'Initialise(): All elements of PropStages must be in the closed interval [0,1]!') - } - else{ - if (object@init@PropStages[1] != 0.0) { - msg <- c(msg, 'Initialise(): Initial proportion of the juvenile stage (PropStages[1]) must be 0.0!') - } - else{ - if (length(object@init@PropStages)>1 && sum(object@init@PropStages) != 1.0) { - msg <- c(msg, 'Initialise(): The elements of PropStages must sum to 1!') - } - } - } - } - } - } - } - else{ - if (length(object@init@PropStages)>1 || !(object@init@PropStages[1] %in% c(0,-9))) { - msg <- c(msg, 'PropStages is not used for a population without stage structure.') - } - } - if (is.null(msg)) TRUE else msg} -) -setMethod("show", "RSparams", function(object){ - print(object@control) - cat("\n") - print(object@simul) - cat("\n") - print(object@land) - cat("\n") - print(object@demog) - cat("\n") - print(object@dispersal) - cat("\n") - if(any(object@dispersal@Emigration@IndVar,object@dispersal@Transfer@IndVar,object@dispersal@Settlement@IndVar)){ - print(object@gene) - cat("\n") - } - print(object@init)} -) diff --git a/RangeShiftR/R/class_SimulationParams.R b/RangeShiftR/R/class_SimulationParams.R deleted file mode 100644 index 06c73a6..0000000 --- a/RangeShiftR/R/class_SimulationParams.R +++ /dev/null @@ -1,1083 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -### CLASS SIMULATIONPARAMS - -# from RS 'Parameter' file - -#' Set Simulation parameters -#' -#' @description Set basic simulation parameters and control output types.\cr -#' Furthermore, optionally define a (\code{Shifting}) Environmental \code{Gradient}, Environmental Stochasticity (\code{EnvStoch}) and/or Local extinction (\code{LocalExt}). -#' (These options are to be moved to separate classes in future versions.) -#' -#' @author Anne-Kathleen Malchow -#' @usage Simulation(Simulation = 1, Replicates = 2, Years = 50, Absorbing = FALSE, -#' Gradient = 0, GradSteep, Optimum, f, ExtinctOptim, -#' Shifting = FALSE, ShiftRate, ShiftStart, ShiftEnd, -#' LocalExt = FALSE, LocalExtProb, -#' EnvStoch = 0, EnvStochType, std, ac, minR, maxR, minK, maxK, -#' OutIntRange = 1, OutIntOcc = 0, -#' OutIntPop = 1, OutIntInd = 0, -#' OutIntTraitCell = 0, OutIntTraitRow = 0, -#' OutIntConn = 0, OutIntPaths = 0, OutIntGenetic = 0, -#' OutGenType = 0, OutGenCrossTab = FALSE, -#' OutStartPop = 0, OutStartInd = 0, -#' OutStartTraitCell = 0, OutStartTraitRow = 0, -#' OutStartConn = 0, OutStartPaths = 0, OutStartGenetic = 0, -# #' SaveMaps = FALSE, MapsInterval, DrawLoadedSp = FALSE,, -# #' ReturnPopRaster = FALSE, CreatePopFile = TRUE -#' SMSHeatMap = FALSE) -#' @param Simulation ID number of current simulation, defaults to \eqn{1}. (integer) -#' @param Replicates Number of simulation iterations, defaults to \eqn{2}. (integer) -#' @param Years The number of simulated years, defaults to \eqn{50}. (integer) -#' @param Absorbing If \code{FALSE} (default), every move in the \code{\link[RangeShiftR]{Transfer}} process will be -#' repeated until a valid cell is met.\cr -#' If \code{TRUE}, an individual which hits a non-valid cell or -#' transgresses the landscape boundary during the dispersal act is eliminated from the simulation. -#' @param Gradient Whether to apply north-south gradient: -#' \eqn{0} = None (default), \cr -#' \eqn{1} = decreasing \code{K_or_DensDep}\cr -#' \eqn{2} = decreasing growth rate \eqn{r} or, for a \code{\link[RangeShiftR]{StageStructure}}d population, -#' fecundity \ifelse{html}{\out{φ}}{\eqn{\phi}}, \cr -#' \eqn{3} = increasing local extinction probability \eqn{e}. \cr -#' If activated, a gradient will be imposed along the north-south (\eqn{y}-) axis in which the selected parameter varies linearly with distance from the -#' optimum \eqn{y}-value \code{Optimum}. Note that a \code{Gradient} can not be applied in for patch-based models (must be \code{Gradient}\eqn{=0}). -#' @param GradSteep Required if \code{Gradient} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: gradient steepness in units of (fraction of local value) per cell. Must be \eqn{\ge 0}. -#' @param Optimum Required if \code{Gradient} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: \eqn{y}-value at which the extremum is obtained. Must be \eqn{\ge 0}. -#' @param f Required if \code{Gradient} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: local scaling factor that determines the magnitude of stochastic local heterogeneity relative to the optimal value. Must be \eqn{\ge 0}. -#' @param ExtinctOptim Required if \code{Gradient} \eqn{= 3}: optimum (i.e. minimal) local extinction probability at \code{Optimum}. Must be between \eqn{0} and \eqn{1}. -#' @param Shifting Only applicable if \code{Gradient} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}:\cr -#' If \code{FALSE} (default), the gradient is stationary.\cr -#' If \code{TRUE}, the \code{Gradient} shifts along the \eqn{y}-axis towards increasing \eqn{y} (northwards). Requires to set \code{ShiftRate}, \code{ShiftStart} and \code{ShiftEnd}, -#' @param ShiftRate Required if \code{Shifting=TRUE}: shift rate of the gradient in units of rows per year. (integer) -#' @param ShiftStart Required if \code{Shifting=TRUE}: year in which the gradient shifting starts (integer) -#' @param ShiftEnd Required if \code{Shifting=TRUE}: year in which the gradient shifting stops. (integer) -#' @param LocalExt If \code{FALSE} (default), no additional extinction probability is applied.\cr -#' If \code{TRUE}, an independent constant extinction probability \code{LocalExtProb} is applied, defined as -#' the probability that each population goes extinct at each year. -#' Note that \code{LocalExt} must be \code{FALSE} for a patch-based model or if \code{Gradient}\eqn{=3}. -#' @param LocalExtProb Required if \code{LocalExt=TRUE}: independent yearly extinction probability of populations. -#' @param EnvStoch Scale of environmental stochasticity:\cr -#' \eqn{0} = none (default),\cr -#' \eqn{1} = global (a single time series for entire landscape),\cr -#' \eqn{2} = local (each cell fluctuates independently, only permitted for cell-based model).\cr -#' Environmental stochasticity is always applied on a yearly basis. -#' @param EnvStochType Required if \code{EnvStoch} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: Parameter to which environmental stochasticity is applied:\cr -#' \eqn{0} = growth rate \eqn{r} or, for a \code{\link[RangeShiftR]{StageStructure}}d population, fecundity (\eqn{\phi}).\cr -#' \eqn{1} = demographic density dependence \code{K_or_DensDep} (carrying capacity or 1/b) (allowed for artificial landscapes only!). -#' @param std Required if \code{EnvStoch} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: magnitude of stochastic fluctuations. Must be \eqn{> 0.0} and \eqn{\le 1.0}. -#' @param ac Required if \code{EnvStoch} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: temporal autocorrelation coefficient. Must be \eqn{\ge 0.0} and \eqn{<1.0}. -#' @param minR,maxR Required if \code{EnvStochType}\eqn{=0}: minimum and maximum growth rates. -#' @param minK,maxK Required if \code{EnvStochType}\eqn{=1}: minimum and maximum value of \eqn{K} or \eqn{1/b}, respectively. -#' @param OutIntRange,OutIntOcc,OutIntPop,OutIntInd,OutIntGenetic,OutIntTraitCell,OutIntTraitRow,OutIntConn,OutIntPaths Control the various types -#' of Output files, i.e. range, occupancy, populations, individuals, traits (by cell or by row), connectivity, SMS paths and genetics:\cr -#' \eqn{=0 }: Output disabled.\cr -#' \eqn{>0 }: Output enabled; sets interval (in years) in which output is generated.\cr -#' If the output is enabled, start values are required. By default, only the output of Range and Population are enabled.\cr -#' Occupancy output is only applicable if \code{Replicates>1}. -#' Traits output is only applicable for a cell-based model with inter-individual variability. -#' Connectivity output is only applicable for a patch-based model. -#' SMS paths is only applicable for a model with SMS transfer method. -#' @param OutStartPop,OutStartInd,OutStartGenetic,OutStartTraitCell,OutStartTraitRow,OutStartConn,OutStartPaths -#' Starting years for output generation. Note that the first year is year \eqn{0}. Defaults to \eqn{0} for all output types. (integer) -#' @param OutGenType Required if \code{OutIntGenetic}\eqn{>0}: Genetics output will be generated for:\cr -#' \eqn{0} = juveniles only (default), \eqn{1} = all individuals, \eqn{2} = adults only. -#' @param OutGenCrossTab Required if \code{OutIntGenetic}\eqn{>0}:\cr -#' If \code{FALSE} (default), Genetics output will be written to several files. -#' \cr If \code{TRUE} Genetics output is generated as a cross table. -# #' @param SaveMaps If \code{FALSE} (default), no maps will be created.\cr If \code{TRUE}, maps will be generated. -# #' beginning in the first year in accordance to \code{MapsInterval}. -# #' @param MapsInterval Required if \code{SaveMaps=TRUE}: save maps every \eqn{n} reproductive seasons. (integer) -# #' @param DrawLoadedSp If \code{FALSE} (default), only the simulated distribution is drawn into the output map.\cr -# #' If \code{TRUE}, the initial species distribution is drawn additionally. -#' @param SMSHeatMap Produce SMS heat map raster as output? Defaults to \code{FALSE}. -# #' @param ReturnPopRaster Return population data to R (as data frame)? Defaults to \code{TRUE}. -# #' @param CreatePopFile Create population output file? Defaults to \code{TRUE}. -#' @details \emph{Environmental Gradient}\cr -#' In \emph{RangeShiftR}, it is possible to superimpose an artificial gradient on top of the landscape map (real or artificial). -#' Gradients are implemented for cell-based models only.\cr -#' An environmental gradient can be superimposed on the habitat map to describe gradual change in abiotic factors through space. Use the option \code{Gradient} -#' and choose one of three implemented parameter gradients. These are, respectively for non-structured / stage-structured population models:\cr -#' \itemize{ -#' \item{Decreasing values of \code{K_or_DensDep}, that mediates demographic density dependence (stronger with lower values) and is interpreted as -#' the \emph{carrying capacity} \eqn{K} / the \emph{strength of density dependence} \ifelse{html}{\out{b-1}}{\eqn{1/b}} (set \code{Gradient=1});} -#' \item{Decreasing growth rate \eqn{r} / fecundity (\eqn{\phi}) (set \code{Gradient=2});} -#' \item {Increasing local extinction probability \eqn{e} (set \code{Gradient=3}).} -#' } -#' The gradient is restrictively implemented along the north-south (\eqn{y})-axis and the selected parameter declines linearly with (\eqn{y})-distance from -#' an optimum location (\code{Optimum}). -#' -#' Gradients are implemented following the method of \insertCite{travis2004;textual}{RangeShiftR}, which combines linear variability with local heterogeneity. -#' If \eqn{Z} is one of the gradient variables listed above, \eqn{Z={K, 1/b, r, \phi, e}}, the value of \eqn{Z(x,y)} for a cell with \eqn{x} and \eqn{y}-coordinates -#' is given by the following equation: -#' -#' \ifelse{html}{\out{    Z(x,y) = Z0 * z(x,y)       for K and r,}}{\deqn{Z(x,y)=Z_0 * z(x,y)} for K and r,} -#' or\cr -#' \ifelse{html}{\out{    Z(x,y) = 1 - z(x,y) + eopt     for e}}{\deqn{Z(x,y)= 1 - z(x,y) + e_{opt}} for e} -#' \cr -#' -#' with \cr -#' \ifelse{html}{\out{    z(x,y) = 1 - |y - yopt| G + U(-1,1) f }}{\deqn{z(x,y) = 1 - |y - y_{opt}| G + U(-1,1) f }} -#' , constrained to \eqn{\ge 0} -#' -#' where \ifelse{html}{\out{Z0}}{Z_0} is the original parameter value at \eqn{(x,y)}, -#' \ifelse{html}{\out{eopt}}{e_{opt}} (\code{ExtinctOptim}) the minimum extinction probability. -#' The linear variability is specified by -#' \ifelse{html}{\out{yopt}}{y_{opt}} (\code{Optimum}), the \eqn{y}-value at which the extremum (i.e. \ifelse{html}{\out{Z0}}{Z_0} or \ifelse{html}{\out{eopt}}{e_{opt}}) is obtained, -#' and \eqn{G} (\code{GradSteep}), the gradient steepness in units of fraction of the local value per cell. -#' The local heterogeneity is determined by a random number drawn from a uniform distribution between \eqn{-1} and \eqn{1} for each cell -#' and \code{f}, the local scaling factor that determines the magnitude of this stochastic local variation relative to the extremal value. -#' -#' The gradient in fecundity φ applies to the fecundity of each stage. Negative local values in \eqn{z(x,y)} are set to \eqn{0}. -#' -#' It is also possible to simulate the shifting of the gradient by setting the option \code{Shifting}. Here the position \eqn{y} of the species’ -#' optimum is shifted northwards (increasing \eqn{y}) at a given rate \code{ShiftRate} (in units of rows per year), -#' starting from year \code{ShiftStart} to year \code{ShiftEnd}. -#' -#' Environmental gradients are available for cell-based models only, due to the cell-based character of operations and therefore \code{Gradient} -#' has to be \eqn{0} for patch-based models. -#' -#' \emph{Local Extinctions}\cr -#' An additional, independent extinction probability can be added using the option \code{LocalExt}. If set, -#' in each year, every population has an identical probability \code{LocalExtProb} of going extinct. -#' This does not affect any demographic parameters but simply kills off the local population. -#' -#' \emph{Environmental Stochasticity}\cr -#' It is possible to model environmental stochasticity via the option \code{EnvStoch} acting at a global or local scale -#' and can be applied to \code{K_or_DensDep}, the demographic density dependence (\code{EnvStoch=1}), or to growth rate / fecundity (\code{EnvStoch=0}). -#' It is implemented using a first order autoregressive process to generate time series of the noise value \eqn{ε} -#' \insertCite{ruokolainen2009}{RangeShiftR}: -#' -#' \deqn{ε(t+1) = Îş ε(t) + \omega(t) \sqrt(1-\kappa^2)} -#' -#' where Îş is the autocorrelation coefficient (\code{ac}) and ω is a random normal variable drawn from \eqn{N(0,Ď)}. -#' Changing Ď (\code{std}) changes the magnitude of the fluctuations. The spatial scale of the variation can either be global (a single time series -#' for the entire landscape) or local (each cell fluctuates independently), and is always applied on a yearly basis. -#' Different degrees of spatial autocorrelation are not implemented in the current version. -#' -#' The noise affects the species' selected parameter \eqn{Z} as follows: -#' \deqn{Z(x,y,t) = Z(x,y,0) + Z ε(t)} -#' where \eqn{x} and \eqn{y} are the cell coordinates and \eqn{Z} is the original parameter value in absence of stochasticity and gradients. -#' In the presence of an environmental gradient, \eqn{Z(x,y,0)} is the gradient value at the cell location, otherwise its equal to \eqn{Z}. -#' The resulting values \eqn{Z(x,y,t)} are limited to the maximum and minimum values \code{minR,maxR} or \code{minK,maxK}, respectively. -#' -#' \emph{Output files}\cr -#' Seven different types of outputs can be produced, plus one more for patch-based models. -#' All the output files will be named with a standard name reporting the simulation ID number and -#' the type of output. The file name will start with the batch number, and also indicate the number -#' of the landscape to which the output refers. Additionally, for each simulation all the set parameters -#' will be automatically written to a text file named \"Sim0_Parameters.txt\" in the case of simulation\eqn{#=0}. -#' -#' - \emph{Species range} (\code{Sim0_Range.txt}) \cr -#' contains the following general information regarding the species’ range:\cr -#' Replicate number (Rep), Year (Year), Reproductive season within the year (RepSeason), Total number of individuals (NInds), -#' Total number of individuals in each stage (NInd_stageX; only in case of stage-structured models), -#' Total number of juveniles born (NJuvs; only in case of stage-structured models), -#' Total number of occupied cells (NOccupCells) or total number of occupied patches (NOccupPatches), -#' Ratio between occupied and suitable cells or patches (OccupSuit), -#' Species’ range, in terms of maximum and minimum coordinates (min_X, max_X, min_Y, max_Y).\cr -#' Data are written before reproduction at each reproductive season at the specified yearly interval. An extra line is written -#' at the end of the simulation. -#' -#' - \emph{Occupancy} \cr -#' reports the cell/patch probability of occupancy. This is only possible if the number of replicates is greater than \eqn{1}. -#' Two files will be produced:\cr -#' -#' 1) \code{Sim0_Occupancy.txt}: contains a list of all the cells in the landscape (\eqn{x-} and \eqn{y-}coordinates) or -#' of all the patches (PatchID). The remaining columns give the occupancy probability of the cell/patch at defined time steps. -#' The occupancy probability is obtained by dividing the number of times (replicates) that the cell/patch has been occupied in -#' a given year, by the total number of replicates. -#' -#' 2) \code{Sim0_Occupancy_Stats.txt}: Summary occupancy statistics, i.e. the mean ratio between occupied and suitable cells -#' (Mean_OccupSuit) and its standard error (Std_error) at the set time interval. -#' -#' Data will be recorded at the beginning of the year before any other process (and only once a year no matter the number -#' of reproductive seasons per year). -#' -#' - \emph{Populations} (\code{Sim0_Pop.txt}) \cr -#' contains statistics regarding each population present in the landscape at a given time interval:\cr -#' Replicate number (Rep), Year (Year), Reproductive season within the year (RepSeason), Cell location (\eqn{x-} and \eqn{y-}coordinates) or -#' patch ID (PatchID), Species number (Species; not yet used, always \eqn{0}), Number of individuals in the population (NInd), -#' Number of individuals in each stage (NInd_stageX; only in case of stage-structured models). If the reproduction is sexual, -#' these columns will be replaced by the number of females (Nfemales_stageX) and of males (Nmales_stageX) in each stage. In the case -#' of sexual model without stage structure, two columns will indicate the number of females (Nfemales) and of males (Nmales) in -#' the population. In the case of a stage-structured population, the number of juveniles born (NJuvs). If the reproduction is sexual, -#' these columns will be replaced by the number of females juveniles (NJuvFemales) and males (NJuvMales).\cr -#' As for the species’ range output, data are collected before reproduction at each reproductive -#' season at the specified yearly interval and at the end of the simulation. -#' -#' - \emph{Individuals} (\code{Sim0_Rep0_Inds.txt}) \cr -#' contains information regarding each individual at a given time step. To avoid the production of huge files, a separate file is -#' saved for each replicate. Data are recorded after settlement and before aging (in the case of overlapping generations). For each -#' individual the following data are saved: \cr -#' Replicate number (Rep), Year, Reproductive season within the year (RepSeason), Species ID (always \eqn{0}), -#' Individual ID (IndID), the individual’s Status (Status), Natal cell (Natal_X and Natal_Y) and current cell (\eqn{x} and -#' \eqn{y}) coordinates or natal and current patch IDs (Natal_patch and PatchID), Sex (0 = female, 1 = male), Age in years -#' (in case of overlapping generations), Stage (in case of stage structure), Emigration traits, Transfer traits (depending on -#' transfer method). -#' -#' - \emph{Genetics} (\code{Sim0_Rep0_Genetics.txt}) \cr -#' lists the full genome of each individual selected for output (i.e. all individuals if the population is not structured) during the reporting year -#' (or present in the initial population at year \eqn{0}) for the current replicate. This file can therefore be \emph{extremely large}, and should be -#' produced only for temporally short simulations, small populations or at infrequent reporting time intervals. It comprises:\cr -#' - Replicate number (Rep), Year, Species ID (always \eqn{0}), Individual ID (IndID), \cr -#' and then \emph{either} one or more lines listing: -#' - Chromosome number (starting from 0), Locus on this chromosome (starting from 0), value of the only allele at the locus for a -#' haploid species (Allele0) or the values of both alleles at the locus for a diploid species (Allele0,Allele1) \cr -#' \emph{or} a single line of: -#' - a set of columns having compound headings of the form \code{Chr0Loc0Allele0} derived from each chromosome, locus and allele (as above). -#' -#' - \emph{Traits} \cr -#' In the case of inter-individual variability and evolution of the dispersal traits, it is possible to output the mean traits of -#' the population. There are two types of traits output:\cr -#' -#' 1) \code{Sim0_TraitsXcell.txt / Sim0_TraitsXpatch.txt} reports mean and standard deviation of the varying/evolving traits for each -#' cell/patch, for each replicate and reproductive season at the set year interval.\cr -#' -#' 2) \code{Sim0_TraitsXrow.txt} mean and standard deviation of the varying/evolving traits computed at the row (\eqn{y}) level, -#' pulling together all the populations occupying cells in \eqn{y}. Values are reported for each replicate and reproductive season -#' at the specified yearly interval. This is particularly useful for analyzing the structuring of traits along latitudinal gradients. -#' It is possible to compute this output only for cell-based models. \cr -#' -#' Data for these outputs are collected at the same time as for the -#' range and population outputs, i.e. before reproduction at each reproductive season at the set year interval and at the end of the -#' simulation. For sexual models, the standard deviation relates to the variation between all alleles in the local population (which -#' is greater than the variation in phenotypic expression; if the phenotypic s.d. is required, it must be calculated from -#' individual-level output data). -#' -#' - \emph{Connectivity matrix} (\code{Sim0_Connect.txt}) \cr -#' is available for a patch-based model only. It presents counts of the number of individuals successfully dispersing from each patch -#' to each other patch for each year specified by \code{OutIntConn}, starting from \code{OutStartConn}. If there is more than one -#' reproductive season during the year, cumulative year-end totals are reported. Although the file contains the data required for -#' true \eqn{NxN} matrices, the data are presented in list format:\cr -#' Replicate number (Rep), Year (Year), ID number of natal patch (StartPatch), ID number of settlement patch (EndPatch), Number of -#' individuals dispersing from StartPatch to EndPatch (NInds). -#' -#' - \emph{SMS paths} (\code{Sim0_Rep0_SMSpaths.txt}) \cr -#' is available for a model with transfer method SMS only. It lists the cell-based trajectories of all (successfully or unsuccessfully) -#' dispersed individuals from the natal to the final (settlement or fatal) patch for each year specified by \code{OutIntPaths}, starting -#' from \code{OutStartPaths}. The data are presented in list format with the columns:\cr -#' Year (Year), Individual ID (IndID), consecutive step number (Step), coordinates of cell at this step (\eqn{x} and \eqn{y}), -#' status of individual (Status). -#' The status is an integer number that codes for the following possible states:\cr -#' 0 = natal patch,\cr -#' 1 = disperser,\cr -#' 2 = disperser awaiting settlement in possible suitable patch,\cr -#' 3 = waiting between dispersal events,\cr -#' 4 = completed settlement,\cr -#' 5 = completed settlement in a suitable neighbouring cell,\cr -#' 6 = died during transfer by failing to find a suitable patch (includes exceeding maximum number of steps or crossing absorbing boundary),\cr -#' 7 = died during transfer by constant, step-dependent, habitat-dependent or distance-dependent mortality,\cr -#' 8 = failed to survive annual (demographic) mortality,\cr -#' 9 = exceeded maximum age.\cr\cr -#' -#' - \emph{SMS Heat map} (\code{OutputMaps/Sim0_Land0_Rep0_Visits.txt}) \cr -#' When the transfer model is \emph{SMS}, an additional optional output is a series of maps in ASCII raster format, showing how many times each -#' cell has been visited by a dispersing individual across the whole time period of the simulation. These heat maps may be useful, for example, -#' for identifying corridors which are heavily used during the dispersal phase. One raster map is created in the \emph{Output_Maps} folder for -#' each replicate simulation, and is in the same format as the input habitat file. -#' -#' - \emph{Log file} (\code{Batch1_RS_log.csv}) \cr -#' An additional log file will be created automatically. In it is listed the time taken (in seconds) to run the simulation. -#' It may also possibly include error codes, which can occur in rare occasions when the batch input files are in themselves valid, -#' but there is an inconsistency between files or an invalid habitat code or patch number occurs in an input map file. -#' Error codes are listed in the \emph{Batch_error_codes.xlsx} file. -#' -#' @references -#' \insertAllCited{} -#' @name Simulation -#' @export Simulation -Simulation <- setClass("SimulationParams", slots = c(Simulation = "integer_OR_numeric", - Replicates = "integer_OR_numeric", - Years = "integer_OR_numeric", - Absorbing = "logical", - Gradient = "integer_OR_numeric", #Environmental gradient: 0 = none, 1 = K or 1/b, 2 = growth rate (or fecundity), 3 = local extinction probability. - GradSteep = "numeric", - Optimum = "numeric", - f = "numeric", - ExtinctOptim = "numeric", - Shifting = "logical", - ShiftRate = "numeric", - ShiftStart = "integer_OR_numeric", - ShiftEnd = "integer_OR_numeric", - LocalExt = "logical", - LocalExtProb = "numeric", - EnvStoch = "integer_OR_numeric", #Environmental stochasticity: 0 = none, 1 = global, 2 = local - EnvStochType = "integer_OR_numeric", #Environmental stochasticity type: FALSE = in growth rate, TRUE = in K or 1/b - std = "numeric", - ac = "numeric", - minR = "numeric", - maxR = "numeric", - minK = "numeric", - maxK = "numeric", - OutIntRange = "integer_OR_numeric", - OutIntOcc = "integer_OR_numeric", - OutIntPop = "integer_OR_numeric", - OutIntInd = "integer_OR_numeric", - OutIntGenetic = "integer_OR_numeric", - OutGenType = "integer_OR_numeric", #Output genetics for: 0 = juveniles only, 1 = all individuals, 2 = adults only - OutGenCrossTab = "logical", - OutIntTraitCell = "integer_OR_numeric", - OutIntTraitRow = "integer_OR_numeric", - OutIntConn = "integer_OR_numeric", - OutIntPaths = "integer_OR_numeric", - OutStartPop = "integer_OR_numeric", - OutStartInd = "integer_OR_numeric", - OutStartGenetic = "integer_OR_numeric", - OutStartTraitCell = "integer_OR_numeric", - OutStartTraitRow = "integer_OR_numeric", - OutStartConn = "integer_OR_numeric", - OutStartPaths = "integer_OR_numeric", - SaveMaps = "logical", - MapsInterval = "integer_OR_numeric", - DrawLoadedSp = "logical", - SMSHeatMap = "logical", - ReturnPopRaster = "logical", - CreatePopFile = "logical" - #moved! PropMales = "integer_OR_numeric", #move to Demography - #moved! Harem = "integer_OR_numeric", #move to Demography - #moved! bc = "integer_OR_numeric", #move to Demography - determines density dependence - #moved! Rmax = "integer_OR_numeric", #move to Demography -> dem.lambda - #moved! K = "integer_OR_numeric", #move to Land - ) - , prototype = list(Simulation = 1L, - Replicates = 2L, - Years = 50L, - Absorbing = FALSE, - Gradient = 0L, - #GradSteep, - #Optimum, - #f, - #ExtinctOptim, - Shifting = FALSE, - #ShiftRate, - #ShiftStart, - #ShiftEnd, - LocalExt = FALSE, - #LocalExtProb, - EnvStoch = 0L, - #EnvStochType, - #std, - #ac, - #minR, - #maxR, - #minK, - #maxK, - OutIntRange = 1L, - OutIntOcc = 0L, - OutIntPop = 1L, - OutIntInd = 0L, - OutIntGenetic = 0L, - OutGenType = 0L, - OutGenCrossTab = FALSE, - OutIntTraitCell = 0L, - OutIntTraitRow = 0L, - OutIntConn = 0L, - OutIntPaths = 0L, - OutStartPop = 0L, - OutStartInd = 0L, - OutStartGenetic = 0L, - OutStartTraitCell = 0L, - OutStartTraitRow = 0L, - OutStartConn = 0L, - OutStartPaths = 0L, - SaveMaps = FALSE, - #MapsInterval, - DrawLoadedSp = FALSE, - SMSHeatMap = FALSE, - ReturnPopRaster = FALSE, - CreatePopFile = FALSE - #moved! PropMales, - #moved! Harem, - #moved! bc, - #moved! Rmax, - #moved! K, - ) -) -setValidity('SimulationParams', function(object){ - msg <- NULL - if (anyNA(object@Simulation || length(object@Simulation)!=1 )){ - msg <- c(msg, 'ID Number of current simulation must be set and of length 1!') - } - else { - if (object@Simulation<0){ - msg <- c(msg, 'Simulation ID Number must be positive or 0.') - } - } - if (anyNA(object@Replicates || length(object@Replicates)!=1 )){ - msg <- c(msg, 'Number of replicates must be set and of length 1!') - } - else { - if (object@Replicates<=0) { - msg <- c(msg, 'Number of replicates must be positive.') - } - } - if (anyNA(object@Years) || length(object@Years)!=1 ){ - msg <- c(msg,'Number of years must be set and of length 1!') - } - else { - if (object@Years<=0){ - msg <- c(msg, 'Number of year must be positive.') - } - } - if (anyNA(object@Absorbing) || length(object@Absorbing)!=1 ){ - msg <- c(msg, 'Absorbing must be set!') - } - if (anyNA(object@Gradient) || length(object@Gradient)!=1 ){ - msg <- c(msg, 'Gradient option must be set!') - } - else{ - if (object@Gradient!=0 && object@Gradient!=1 && object@Gradient!=2 && object@Gradient!=3){ - msg <- c(msg, 'Gradient must be set to 0, 1, 2 or 3!') - } - else{ - if (object@Gradient){ # Gradient = {1,2,3} - if (anyNA(object@GradSteep) || length(object@GradSteep)!=1 ){ - msg <- c(msg, 'GradSteep is required if Gradient is > 0.') - } - else { - if (object@GradSteep<0){ - msg <- c(msg, 'GradSteep has to be >= 0.') - } - } - if (anyNA(object@Optimum) || length(object@Optimum)!=1 ){ - msg <- c(msg, 'Optimum is required if Gradient is > 0.') - } - else { - if (object@Optimum<0){ - msg <- c(msg, 'Optimum has to be >= 0.') - } - } - if (anyNA(object@f) || length(object@f)!=1){ - msg <- c(msg, 'Local scaling factor f is required if Gradient is > 0.') - } - else { - if (object@f<0){ - msg <- c(msg, 'Local scaling factor f has to be >= 0.') - } - } - if (object@Gradient == 3){ - if (anyNA(object@ExtinctOptim) || length(object@ExtinctOptim)!=1){ - msg <- c(msg, 'ExtinctOptim must be set.') - } - else{ - if (object@ExtinctOptim<0 || object@ExtinctOptim>=1){ - msg <- c(msg, 'Value of ExtinctOptim mustlie in the half-open interval [0,1).') - } - } - } - if (anyNA(object@Shifting) || length(object@Shifting)!=1 ){ - msg <- c(msg, 'Shifting must be set.') - } - else{ - if (object@Shifting){ - if (anyNA(object@ShiftRate) || length(object@ShiftRate)!=1 ) { - msg <- c(msg, 'ShiftRate must be set.') - } - else{ - if (object@ShiftRate <= 0){ - msg <- c(msg, 'ShiftRate has to be > 0, if Shifting is = TRUE.') - } - } - if (anyNA(object@ShiftStart) || length(object@ShiftStart)!=1 ){ - msg <- c(msg, 'ShiftStart must be set.') - } - else{ - if (object@ShiftStart <= 0){ - msg <- c(msg, 'ShiftStart has to be > 0, if Shifting is = TRUE.') - } - } - if (anyNA(object@ShiftEnd)|| length(object@ShiftEnd)!=1 ){ - msg <- c(msg, 'ShiftEnd must be set.') - } - else{ - if(object@ShiftEnd <= 0) - msg <- c(msg, 'ShiftEnd has to be > 0, if Shifting is = TRUE.') - } - if (is.null(msg)) { - if (object@ShiftEnd <= object@ShiftStart ){ - msg <- c(msg, 'ShiftEnd must be greater than ShiftStart.') - } - } - } - } - } - else { # no gradient - if (anyNA(object@Shifting) || length(object@Shifting)!=1 ){ - msg <- c(msg, 'Shifting must be set.') - } - else{ - if (object@Shifting){ - msg <- c(msg, 'Shifting is not applicable if there is no gradient! (Gradient = 0).') - - } - } - } - } - } - if (anyNA(object@LocalExt || length(object@LocalExt)!=1)){ - msg <- c(msg, 'LocalExt must be set!') - } - else{ - if (object@LocalExt){ # LocalExt = TRUE - if (object@Gradient == 3){ - msg <- c(msg, 'LocalExt has to be FALSE if Gradient = 3 (i.e. environmental gradient in extinction probability)') - } - else { - if (anyNA(object@LocalExtProb) || length(object@LocalExtProb)!=1 ){ - msg <- c(msg, 'LocalExtProb has to be set.') - } - else{ - if (object@LocalExtProb<=0 || object@LocalExtProb>=1){ - msg <- c(msg, 'Value of LocalExtProb must be between 0 and 1.') - } - } - } - } - } - if (anyNA(object@EnvStoch) || length(object@EnvStoch)!=1){ - msg <- c(msg, 'Environmental stochasticity has to be set.') - } - else{ - if (! object@EnvStoch %in% (0:2) ) { - msg <- c(msg, 'Environmental stochasticity option (EnvStoch) has to be 0, 1 or 2.') - } - else{ - if (object@EnvStoch){ #EnvStoch = 1 or 2 - if (anyNA(object@ac) || length(object@ac)!=1 ){ - msg <- c(msg, 'Autocorrelation coefficient (ac) has to be set if environmental stochasticity is set.') - } - else { - if (object@ac < 0.0 || object@ac >= 1.0){ - msg <- c(msg, 'Autocorrelation coefficient (ac) must be in the half-open interval [0,1).') - } - } - if (anyNA(object@std) || length(object@std)!=1 ){ - msg <- c(msg, 'std has to be set if environmental stochasticity is set.') - } - else { - if (object@std <= 0.0 || object@std > 1.0){ - msg <- c(msg, 'std must be in the half-open interval (0,1].') - } - } - if (anyNA(object@EnvStochType) || length(object@EnvStochType)!=1 ){ - msg <- c(msg, 'Type of environmental stochasticity (EnvStochType) must be set.') - } - else { - if (object@EnvStochType != 1 & object@EnvStochType != 0 ){ - msg <- c(msg, 'Type of environmental stochasticity (EnvStochType) must be 0 or 1.') - } - else{ - if (object@EnvStochType == 0){ - if (anyNA(object@minR) || length(object@minR)!=1){ - msg <- c(msg, 'Minimum growth rate (minR) has to be set.') - } - else { - if (object@minR <= 0){ - msg <- c(msg, 'Minimum growth rate (minR) must be positive.') - } - else { - if (anyNA(object@maxR) || length(object@maxR)!=1){ - msg <- c(msg, 'Maximum growth rate (maxR) has to be set.') - } - else { - if (object@maxR <= object@minR){ - msg <- c(msg, 'Maximum growth rate (maxR) must be greater than minR.') - } - } - } - } - } - if (object@EnvStochType == 1){ - if (anyNA(object@minK) || length(object@minK)!=1){ - msg <- c(msg, 'Minimum growth rate (minK) has to be set.') - } - else { - if (object@minK <= 0){ - msg <- c(msg, 'Minimum growth rate (minK) must be positive.') - } - else { - if (anyNA(object@maxK) || length(object@maxK)!=1){ - msg <- c(msg, 'Maximum growth rate (maxK) has to be set.') - } - else { - if (object@maxK < 0){ - msg <- c(msg, 'Maximum growth rate (maxK) must be greater than minK.') - } - } - } - } - } - } - } - } - } - } - # Range - if (anyNA(object@OutIntRange) || length(object@OutIntRange)!=1 ){ - msg <- c(msg, 'Output interval of range (OutIntRange) has to be set.') - } - else{ - if (object@OutIntRange < 0){ - msg <- c(msg, 'Output interval of range (OutIntRange) must be positive or zero.') - } - } - # Occupancy - if (anyNA(object@OutIntOcc) || length(object@OutIntOcc)!=1 ){ - msg <- c(msg, 'Output interval of occupancy (OutIntOcc) has to be set.') - } - else{ - if (object@OutIntOcc > 0){ - if (object@Replicates < 2){ - msg <- c(msg, 'For Occupancy output, Replicates must be at least 2.') - } - } - else{ - if (object@OutIntOcc){ - msg <- c(msg, 'Output interval of occupancy (OutIntOcc) must be positive or zero.') - } - } - } - # Population - if (anyNA(object@OutIntPop) || length(object@OutIntPop)!=1 ){ - msg <- c(msg, 'Output interval of population (OutIntPop) has to be set.') - } - else { - if (object@OutIntPop > 0){ - if (anyNA(object@OutStartPop) || length(object@OutStartPop)!=1 ){ - msg <- c(msg, 'Start year of population output (OutStartPop) has to be set.') - } - else{ - if (object@OutStartPop < 0 || object@OutStartPop > object@Years){ - msg <- c(msg, 'Invalid value of output parameter OutStartPop: Value has to be positive and less than simulated Years') - } - } - } - else { - if (object@OutIntPop){ - msg <- c(msg, 'Output interval of population (OutIntPop) must be positive or zero.') - } - } - } - # Individuals - if (anyNA(object@OutIntInd) || length(object@OutIntInd)!=1 ){ - msg <- c(msg, 'Output interval of individuals (OutIntInd) has to be set.') - } - else { - if (object@OutIntInd > 0){ - if (anyNA(object@OutStartInd) || length(object@OutStartInd)!=1 ){ - msg <- c(msg, 'Start year of individuals output (OutStartInd) has to be set.') - } - else{ - if (object@OutStartInd < 0 || object@OutStartInd > object@Years){ - msg <- c(msg, 'Invalid value of output parameter OutStartInd: Value has to be positive and less than simulated Years') - } - } - } - else { - if (object@OutIntInd){ - msg <- c(msg, 'Output interval of individuals (OutIntInd) must be positive or zero.') - } - } - } - # Genetics - if (anyNA(object@OutIntGenetic) || length(object@OutIntGenetic)!=1 ){ - msg <- c(msg, 'Output interval of genetics (OutIntGenetic) has to be set.') - } - else { - if (object@OutIntGenetic > 0){ - if (anyNA(object@OutStartGenetic) || length(object@OutStartGenetic)!=1 ){ - msg <- c(msg, 'Start year of genetics output (OutStartGenetic) has to be set.') - } - else{ - if (object@OutStartGenetic < 0 || object@OutStartGenetic > object@Years){ - msg <- c(msg, 'Invalid value of output parameter OutStartGenetic: Value has to be positive and less than simulated Years') - } - } - if (anyNA(object@OutGenType) || length(object@OutGenType)!=1 ){ - msg <- c(msg, 'Type of genetics output (OutGenType) has to be specified.') - } - else{ - if (object@OutGenType != 0 && object@OutGenType != 1 && object@OutGenType != 2) { - msg <- c(msg, 'OutGenType has to be 0 (juveniles only), 1 (all individuals) or 2 (adults only).') - } - } - if (anyNA(object@OutGenCrossTab) || length(object@OutGenCrossTab)!=1 ){ - msg <- c(msg, 'OutGenCrossTab has to be set') - } - } - else { - if (object@OutIntGenetic){ - msg <- c(msg, 'Output interval of genetics (OutIntGenetic) must be positive or zero.') - } - } - } - # TraitCell - if (anyNA(object@OutIntTraitCell) || length(object@OutIntTraitCell)!=1 ){ - msg <- c(msg, 'Output interval of traits per cell (OutIntTraitCell) has to be set.') - } - else { - if (object@OutIntTraitCell > 0){ - if (anyNA(object@OutStartTraitCell) || length(object@OutStartTraitCell)!=1){ - msg <- c(msg, 'Start year of traits (per cell) output (OutStartTraitCell) has to be set.') - } - else { - if (object@OutStartTraitCell < 0 || object@OutStartTraitCell > object@Years){ - msg <- c(msg, 'Invalid value of output parameter OutStartTraitCell: Value has to be positive and less than simulated Years') - } - } - } - else{ - if(object@OutIntTraitCell){ - msg <- c(msg, 'Output interval of traits per cell (OutIntTraitCell) must be positive or zero.') - } - } - } - # TraitRow - if (anyNA(object@OutIntTraitRow) || length(object@OutIntTraitRow)!=1 ){ - msg <- c(msg, 'Output interval of traits per row (OutIntTraitRow) has to be set.') - } - else { - if (object@OutIntTraitRow > 0){ - if (anyNA(object@OutStartTraitRow) || length(object@OutStartTraitRow)!=1){ - msg <- c(msg, 'Start year of traits (per row) output (OutStartTraitRow) has to be set.') - } - else { - if (object@OutStartTraitRow < 0 || object@OutStartTraitRow > object@Years){ - msg <- c(msg, 'Invalid value of output parameter OutStartTraitRow: Value has to be positive and less than simulated Years') - } - } - } - else { - if(object@OutIntTraitRow){ - msg <- c(msg, 'Interval of traits per row output (OutIntTraitRow) must be positive or zero.') - } - } - } - # Connectivity matrix - if (anyNA(object@OutIntConn || length(object@OutIntConn)!=1 )){ - msg <- c(msg, 'Output interval of connectivity matrix (OutIntConn) has to be set.') - } - else { - if (object@OutIntConn > 0){ - if (anyNA(object@OutStartConn) || length(object@OutStartConn)!=1 ){ - msg <- c(msg, 'Start year of connectivity matrix output (OutStartConn) has to be set.') - } - else { - if (object@OutStartConn < 0 || object@OutStartConn > object@Years){ - msg <- c(msg, 'Invalid value of output parameter OutStartConn: Value has to be positive and less than simulated Years') - } - } - } - else { - if(object@OutIntConn){ - msg <- c(msg, 'Interval of connectivity output (OutIntConn) must be positive or zero.') - } - } - } - # Paths record - if (anyNA(object@OutIntPaths || length(object@OutIntPaths)!=1 )){ - msg <- c(msg, 'Output interval of SMS paths (OutIntPaths) has to be set.') - } - else { - if (object@OutIntPaths > 0){ - if (anyNA(object@OutStartPaths) || length(object@OutStartPaths)!=1 ){ - msg <- c(msg, 'Start year of SMS paths output (OutStartPaths) has to be set.') - } - else { - if (object@OutStartPaths < 0 || object@OutStartPaths > object@Years){ - msg <- c(msg, 'Invalid value of output parameter OutStartPaths: Value has to be positive and less than simulated Years') - } - } - } - else { - if(object@OutIntPaths){ - msg <- c(msg, 'Interval of SMS paths output (OutIntConn) must be positive or zero.') - } - } - } - # Maps - if (anyNA(object@SaveMaps) || length(object@SaveMaps)!=1 ){ - msg <- c(msg, 'SaveMaps has to be set') - } - else { - if (object@SaveMaps){ # TRUE - if (anyNA(object@MapsInterval) || length(object@MapsInterval)!=1 ){ - msg <- c(msg, 'MapsInterval has to be set.') - } - else{ - if(object@MapsInterval < 1){ - msg <- c(msg, 'MapsInterval must be positive.') - } - } - if (anyNA(object@DrawLoadedSp) || length(object@DrawLoadedSp)!=1 ){ - msg <- c(msg, 'DrawLoadedSp has to be set.') - } - } - } - if (anyNA(object@SMSHeatMap) || length(object@SMSHeatMap)!=1 ){ - msg <- c(msg, 'SMSHeatMap has to be set') - } - # R Output - if (anyNA(object@ReturnPopRaster) || length(object@ReturnPopRaster)!=1 ){ - msg <- c(msg, 'ReturnPopRaster has to be set') - } - if (anyNA(object@CreatePopFile) || length(object@CreatePopFile)!=1 ){ - msg <- c(msg, 'CreatePopFile has to be set') - } - if (is.null(msg)) TRUE else msg -}) - -setMethod("initialize", "SimulationParams", function(.Object, ...) { - this_func = "Simulation(): " - args <- list(...) - .Object <- callNextMethod() - if ( length(args) == 0 ) { - validObject(.Object) - } - if(.Object@Gradient == 0){ - .Object@GradSteep = -9L - if (!is.null(args$GradSteep)) { - warning(this_func, 'GradSteep', warn_msg_ignored, 'since Gradient is 0.', call. = FALSE) - } - .Object@Optimum = -9L - if (!is.null(args$Optimum)) { - warning(this_func, 'Optimum', warn_msg_ignored, 'since Gradient is 0.', call. = FALSE) - } - .Object@f = -9L - if (!is.null(args$f)) { - warning(this_func, 'f', warn_msg_ignored, 'since Gradient is 0.', call. = FALSE) - } - } - if (.Object@Gradient != 3){ - .Object@ExtinctOptim = -9L - if (!is.null(args$ExtinctOptim)) { - warning(this_func, 'ExtinctOptim is only used if Gradient is 3 and thus ', warn_msg_ignored , call. = FALSE) - } - } - if (!.Object@Shifting){ - .Object@ShiftRate = -9L - if (!is.null(args$ShiftRate)) { - warning(this_func, 'ShiftRate', warn_msg_ignored, 'since Shifting is = FALSE', call. = FALSE) - } - .Object@ShiftStart = -9L - if (!is.null(args$ShiftStart)) { - warning(this_func, 'ShiftStart', warn_msg_ignored, 'since Shifting is = FALSE', call. = FALSE) - } - .Object@ShiftEnd = -9L - if (!is.null(args$ShiftEnd)) { - warning(this_func, 'ShiftEnd', warn_msg_ignored, 'since Shifting is = FALSE', call. = FALSE) - } - } - if (!.Object@LocalExt){ - .Object@LocalExtProb = -9L - if (!is.null(args$LocalExtProb)) { - warning(this_func, 'LocalExtProb', warn_msg_ignored, 'since LocalExt is = FALSE', call. = FALSE) - } - } - if (.Object@EnvStoch){ # EnvStoch = {1,2} - if (.Object@EnvStochType == 1) { # EnvStoch in K - .Object@minR = -9L - if (!is.null(args$minR)) { - warning(this_func, 'minR', warn_msg_ignored, 'since EnvStochType is 1.', call. = FALSE) - } - .Object@maxR = -9L - if (!is.null(args$maxR)) { - warning(this_func, 'maxR', warn_msg_ignored, 'since EnvStochType is 1.', call. = FALSE) - } - } - if (.Object@EnvStochType == 0){ # EnvStoch in r - .Object@minK = -9L - if (!is.null(args$minK)) { - warning(this_func, 'minK', warn_msg_ignored, 'since EnvStochType is 0.', call. = FALSE) - } - .Object@maxK = -9L - if (!is.null(args$maxK)) { - warning(this_func, 'maxK', warn_msg_ignored, 'since EnvStochType is 0.', call. = FALSE) - } - } - } - else{ # EnvStoch = 0 - .Object@EnvStochType = -9L - if (!is.null(args$EnvStochType)) { - warning(this_func, 'EnvStochType', warn_msg_ignored, 'since EnvStoch is 0.', call. = FALSE) - } - .Object@ac = -9L - if (!is.null(args$ac)) { - warning(this_func, 'ac', warn_msg_ignored, 'since EnvStoch is 0.', call. = FALSE) - } - .Object@std = -9L - if (!is.null(args$std)) { - warning(this_func, 'std', warn_msg_ignored, 'since EnvStoch is 0.', call. = FALSE) - } - .Object@minR = -9L - if (!is.null(args$minR)) { - warning(this_func, 'minR', warn_msg_ignored, 'since EnvStoch is 0.', call. = FALSE) - } - .Object@maxR = -9L - if (!is.null(args$maxR)) { - warning(this_func, 'maxR', warn_msg_ignored, 'since EnvStoch is 0.', call. = FALSE) - } - .Object@minK = -9L - if (!is.null(args$minK)) { - warning(this_func, 'minK', warn_msg_ignored, 'since EnvStoch is 0.', call. = FALSE) - } - .Object@maxK = -9L - if (!is.null(args$maxK)) { - warning(this_func, 'maxK', warn_msg_ignored, 'since EnvStoch is 0.', call. = FALSE) - } - } - if (!.Object@OutIntPop){ - .Object@OutStartPop = 0L - if(!is.null(args$OutStartPop)){ - warning(this_func, 'OutStartPop', warn_msg_ignored, 'since OutIntPop is zero (output disabled).', call. = FALSE) - } - } - if (!.Object@OutIntInd){ - .Object@OutStartInd = 0L - if(!is.null(args$OutStartInd)){ - warning(this_func, 'OutStartInd', warn_msg_ignored, 'since OutIntInd is zero (output disabled).', call. = FALSE) - } - } - if (!.Object@OutIntTraitCell){ - .Object@OutStartTraitCell = 0L - if(!is.null(args$OutStartTraitCell)){ - warning(this_func, 'OutStartTraitCell', warn_msg_ignored, 'since OutIntTraitCell is zero (output disabled).', call. = FALSE) - } - } - if (!.Object@OutIntTraitRow) { - .Object@OutStartTraitRow = 0L - if(!is.null(args$OutStartTraitRow)){ - warning(this_func, 'OutStartTraitRow', warn_msg_ignored, 'since OutIntTraitRow is zero (output disabled).', call. = FALSE) - } - } - if (!.Object@OutIntConn){ - .Object@OutStartConn = 0L - if(!is.null(args$OutStartConn)){ - warning(this_func, 'OutStartConn', warn_msg_ignored, 'since OutIntConn is zero (output disabled).', call. = FALSE) - } - } - if (!.Object@OutIntPaths){ - .Object@OutStartPaths = 0L - if(!is.null(args$OutStartPaths)){ - warning(this_func, 'OutStartPaths', warn_msg_ignored, 'since OutIntPaths is zero (output disabled).', call. = FALSE) - } - } - if (!.Object@OutIntGenetic){ - .Object@OutStartGenetic = 0L - if(!is.null(args$OutStartGenetic)){ - warning(this_func, 'OutStartGenetic', warn_msg_ignored, 'since OutIntGenetic is zero (output disabled)', call. = FALSE) - } - .Object@OutGenType = 0L - if(!is.null(args$OutGenType)){ - warning(this_func, 'OutGenType', warn_msg_ignored, 'since OutIntGenetic is zero (output disabled)', call. = FALSE) - } - .Object@OutGenCrossTab = FALSE - if(!is.null(args$OutGenCrossTab)){ - warning(this_func, 'OutGenCrossTab', warn_msg_ignored, 'since OutIntGenetic is zero (output disabled)', call. = FALSE) - } - } - if (!.Object@SaveMaps){ - .Object@MapsInterval = -9L - if(!is.null(args$MapsInterval)){ - warning(this_func, 'MapsInterval', warn_msg_ignored, 'since SaveMaps = FALSE.', call. = FALSE) - } - if(!is.null(args$DrawLoadedSp)){ - warning(this_func, 'DrawLoadedSp', warn_msg_ignored, 'since SaveMaps = FALSE.', call. = FALSE) - } - } - return(.Object) -}) -setMethod("show", "SimulationParams", function(object) { - cat(" Simulation #", object@Simulation, "\n") - cat(" -----------------\n") - cat(" Replicates = ", object@Replicates, "\n") - cat(" Years = ", object@Years, "\n") - cat(" Absorbing = ", object@Absorbing, "\n") - if (object@Gradient) { - if (object@Shifting) cat(" Shifting Environmental Gradient in") - else cat(" Environmental Gradient in") - if (object@Gradient==1) cat(" K_or_DensDep:\n") - if (object@Gradient==2) cat(" r/phi:\n") - if (object@Gradient==3) cat(" e:\n") - cat(" G = ", object@GradSteep, ", y_opt = ", object@Optimum , sep = "") - if (object@Gradient==3) cat(", e_opt =", object@ExtinctOptim, "\n") else cat("\n") - cat(" f =", object@f, "\n") - } - if (object@Shifting) { - cat(" ShiftRate =", object@ShiftRate, "rows per year; from year", object@ShiftStart, "to", object@ShiftEnd, "\n") - } - if (object@LocalExt) { - cat(" Local Extinction probalitity =", object@LocalExtProb, "\n") - } - if (object@EnvStoch) { - if (object@EnvStoch==1) cat(" Global") - if (object@EnvStoch==2) cat(" Local") - cat(" Environmental Stochasticity in:") - if (object@EnvStochType) cat(" K_or_DensDep\n") else cat(" r/phi \n") - cat(" Std = ", object@std, "\n") - cat(" ac = ", object@ac, "\n Min/Max limits = ") - if (object@EnvStochType) cat(object@minK, object@maxK, "\n") else cat(object@minR, object@maxR, "\n") - } - cat(" File Outputs:\n") - if (object@OutIntRange) { - cat(" Range, every", object@OutIntRange, "years\n") - } - if (object@OutIntOcc) { - cat(" Occupancy, every", object@OutIntOcc, "years\n") - } - if (object@OutIntPop) { - cat(" Populations, every", object@OutIntPop, "years, starting year", object@OutStartPop) - if (object@ReturnPopRaster) { - cat("\n (R output: RasterStack)") - } - cat("\n") - } - if (object@OutIntInd) { - cat(" Individuals, every", object@OutIntInd, "years, starting year", object@OutStartInd, "\n") - } - if (object@OutIntTraitCell) { - cat(" Traits/cell, every", object@OutIntTraitCell, "years, starting year", object@OutStartTraitCell, "\n") - } - if (object@OutIntTraitRow) { - cat(" Traits/row, every", object@OutIntTraitRow, "years, starting year", object@OutStartTraitRow, "\n") - } - if (object@OutIntConn) { - cat(" Connectivity, every", object@OutIntConn, "years, starting year", object@OutStartConn, "\n") - } - if (object@OutIntPaths) { - cat(" SMS paths, every", object@OutIntPaths, "years, starting year", object@OutStartPaths, "\n") - } - if (object@OutIntGenetic) { - cat(" Genetics") - if (object@OutGenCrossTab) cat(" cross table") - if (object@OutGenType==0) cat(" of juveniles") - if (object@OutGenType==1) cat(" of all individuals") - if (object@OutGenType==2) cat(" of adults") - cat(", every", object@OutIntGenetic, "years, starting year", object@OutStartGenetic, "\n") - } - if (object@SMSHeatMap) { - cat(" SMS heat map\n") - } -}) diff --git a/RangeShiftR/R/output_handling.R b/RangeShiftR/R/output_handling.R deleted file mode 100644 index 4ac6175..0000000 --- a/RangeShiftR/R/output_handling.R +++ /dev/null @@ -1,937 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -#------------------- -# Output handling and plotting functions -#------------------- - - -#--------------------------------------------------------- - -### READING OUTPUT FILES - - -#' Read 'range' file -#' -#' Read the RangeShiftR output file 'range' into a data.frame, if it was generated. -#' @param s RSmaster parameter object -#' @param dirpath RS directory path -#' @return a data.frame -#' @export -setGeneric("readRange", function(s,dirpath) standardGeneric("readRange") ) - -setMethod("readRange", c(s="RSparams", dirpath="character"), function(s,dirpath) { - path <- paste0(dirpath, "Outputs/Batch", s@control@batchnum, "_Sim", s@simul@Simulation, "_Land", s@land@LandNum, "_Range.txt") - if(file.exists(path)){ - return(read.table(path, h = T, sep = "\t")) - }else { - warning("The 'range' output file for this simulation does not exist.", call. = FALSE) - } -}) - - -#' Read 'pop' file -#' -#' Read the RangeShiftR output file 'pop' into a data.frame, if it was generated. -#' @param s RSmaster parameter object -#' @param dirpath RS directory path -#' @param center In a cell-based model, the x- and y- coordinates will be converted from *nrow* and *ncol* (as in the 'pop' output file) -#' to true coordinates of the center of the cell measured in metres. -#' @return a data.frame -#' @export -setGeneric("readPop", function(s,dirpath,...) standardGeneric("readPop") ) - -setMethod("readPop", c(s="RSparams", dirpath="character"), function(s,dirpath,center=TRUE) { - path <- paste0(dirpath, "Outputs/Batch", s@control@batchnum, "_Sim", s@simul@Simulation, "_Land", s@land@LandNum, "_Pop.txt") - if(file.exists(path)){ - pop_table <- read.table(path, h = T, sep = "\t") - if (sum(grepl('x',names(pop_table))) & center){ - pop_table$x <- (pop_table$x+0.5)*s@land@Resolution - pop_table$y <- (pop_table$y+0.5)*s@land@Resolution - } - return(pop_table) - }else { - warning("The 'pop' output file for this simulation does not exist.", call. = FALSE) - } -}) - - -#--------------------------------------------------------- - -### PROCESS OUTPUT - - -#' ColonisationStats -#' -#' This function produces patch statistics and maps on occupancy probability and mean time to colonisation. -#' -#' It uses the RangeShiftR 'population' output data. -#' @usage ColonisationStats(x, y = getwd(), years = numeric(0), maps = FALSE) -#' ColonisationStats(x, y = NULL, years = numeric(0)) -#' @param x,y Either the parameter master (\code{x}) and RS directory path (\code{y}) of the simulation or, alternatively,\cr -#' the population output as a dataframe (\code{x}). In this case \code{y} is an optional parameter taking the patch map(s) as a raster layer (stack), -#' which will then be used to produce maps of the patch statistics. For more info on this, see the Details. -#' @param years Years at which the probabilty of occupancy over all replicates will be calculated. -#' @param maps Only in the parameter master (=\code{x}) notation: For each given \code{year}, uses the current patch map (in case of a dynamic landscape, otherwise the static patch map) -#' to produce a raster of occupancy probabilties. For time to colonisation, uses the current patch map of last year of population record. -#' @details In the population dataframe (=\code{x}) notation, there are 3 options on how many maps to produce: -#' (1) y = NULL: no raster maps produced. -#' (2) y is a RasterLayer: All statistics projected onto the same patch map. -#' (3) y is a RasterStack with 2 layers: The first will be used for probabilty of occupancy for all years, the second will be used for time to colonisation. -#' (4) y is a RasterStack with length(years)+1 layers: The first ones will be used for probabilty of occupancy on each year, the last for time to colonisation. -#' @return a list with the elements -#' \code{occ_prob} (a dataframe with mean (over all replicates) probabilty of occupancy for each patch (in rows) at the given year(s) in columns),\cr -#' \code{col_time} (a dataframe with first recorded year of colonisation for each patch; with replicates in columns and rows named by patch-IDs),\cr -#' Optional:\cr\cr -#' \code{patch_occ_prob} (a raster (stack) with the data from \code{occ_prob} stored in the respective patch cells per given year),\cr -#' \code{patch_col_time} (a raster with the data from \code{col_time_mean} stored in their respective patch cells) -#' @export -setGeneric("ColonisationStats", function(x, ...) standardGeneric("ColonisationStats") ) - -setMethod("ColonisationStats", "data.frame", function(x, y = NULL, years = numeric(0)) { -#test <- function(x, y = NULL, years = numeric(0)) { - if(class(years) %in% c("integer","numeric") ){ - if(length(years)==0) { - years <- max(x$Year) - }else{ - # check that requested years are in dataset - if(!all(years %in% unique(x$Year))){ - years <- sort(years[years %in% unique(x$Year)]) - warning("ColonisationStats(): Some of the given years are not included in the population dataframe. They will be ignored.", call. = FALSE) - } - } - }else{ - warning("ColonisationStats(): Years must be of class numeric or integer.", call. = FALSE) - return(NULL) - } - - if("PatchID" %in% names(x)) { - patchbased <- TRUE - x <- x[x$PatchID!=0,] # exclude matrix patch - } else { # cell-based -> create PatchIDs from (x,y)-coordinates: - patchbased <- FALSE - x[c("x","y")] <- x[c("x","y")]+1 # have counting start at 1 - maxX <- max(x$x) - maxY <- max(x$y) - digitsY <- ifelse(maxY < 1, 0, floor(log10(maxY)) + 1) - x$PatchID <- (x$x*(10^digitsY)) + (x$y) #+ (maxY+1-x$y) - } - - x <- subset(x, NInd>0, select = c("Rep","PatchID","Year","NInd") ) - reps <- sort(unique(x$Rep)) - n=length(reps) - - # calculate per patch - patchstats <- sapply(split(x, f=x$PatchID), - FUN=function(xs){ - return(list(occprob = sapply(years, - FUN=function(year){ - sum(xs$Year==year)/n - }), - coltime = sapply(reps, - FUN=function(rep){ - xxs <- xs[xs$Rep==rep,"Year"] - ifelse(length(xxs),min(xxs),NA) - } - ) - )) - } - ) - patches <- as.integer(colnames(patchstats)) - - # Occupancy Probability - occ_prob <- data.frame(patchstats["occprob",]) - rownames(occ_prob) <- years - if(patchbased) occ_prob <- cbind(data.frame(patch=patches), t(occ_prob)) - else occ_prob <- cbind(data.frame(x=floor(patches/(10^digitsY)),y=patches%%(10^digitsY)), t(occ_prob)) - rownames(occ_prob) <- NULL - - # Time to Colonisation - col_time <- data.frame(patchstats["coltime",]) - if(patchbased){ - col_time <- cbind(data.frame(patch=patches), t(col_time)) - names(col_time) <- c("patch",paste0("rep.",as.character(reps))) - }else{ - col_time <- cbind(data.frame(x=occ_prob$x,y=occ_prob$y), t(col_time)) - names(col_time) <- c("x","y",paste0("rep.",as.character(reps))) - } - rownames(col_time) <- NULL - - - # create maps - if(!is.null(y)){ - if(patchbased){ - col_time_mean <- rowMeans(col_time[,-1], na.rm = TRUE) - names(col_time_mean) <- patches - }else{ - col_time_mean <- rowMeans(col_time[,-(1:2)], na.rm = TRUE) - } - #require('raster') - - if(class(y) == "RasterLayer" || class(y) == "RasterStack" ){ - onelayer = FALSE - if(class(y) == "RasterLayer") onelayer = TRUE - if(class(y) == "RasterStack") if(length(y@layers)==1 ) onelayer = TRUE - - if(patchbased){ - # non-dynamic landscape - if(onelayer){ - # initialise output rasters - if(class(y) == "RasterStack") y <- y[[1]] - patch_occ_prob <- patch_col_time <- y - # denote matrix with NA - raster::values(patch_occ_prob)[raster::values(y)==0] <- raster::values(patch_col_time)[raster::values(y)==0] <- NA - # init all habitat patches to also address those that never had a population (these don't occur in RS output) - raster::values(patch_occ_prob)[raster::values(y) >0] <- 0 - raster::values(patch_col_time)[raster::values(y) >0] <- -9 - - # fill output rasters - #if(length(years)>1){ - patch_outstack <- raster::stack() - for (j in 1:length(years)){ - patch_outstack <- raster::addLayer(patch_outstack, patch_occ_prob) - for (i in patches){ - raster::values(patch_outstack[[j]])[raster::values(y)==i] <- occ_prob[occ_prob$patch==i,paste(years[j])] - } - } - #} - #else{ - # for (i in patches){ - # raster::values(patch_occ_prob)[raster::values(y)==i] <- occ_prob[occ_prob$patch==i,"occ_prob"] - # } - # patch_outstack <- patch_occ_prob - #} - - for (i in patches){ - raster::values(patch_col_time)[raster::values(y)==i] <- ifelse(is.na(col_time_mean[paste(i)]),-9,col_time_mean[paste(i)]) - } - - return(list(occ_prob=occ_prob, col_time=col_time, map_occ_prob=patch_outstack, map_col_time=patch_col_time)) - - }#else warning("ColonisationStats(): The given map raster stack must have only one layer for a non-dynamic landscape.", call. = FALSE) - - # dynamic landscape - if(!onelayer){ - - N_layers <- length(years)+1 - if( length(y@layers) != N_layers ){ - warning("ColonisationStats(): Number of raster layers must be either 1 or number of years plus 1.", call. = FALSE) - } - else{ - # initialise output rasters - patch_outstack <- y - # denote matrix with NA - raster::values(patch_outstack)[raster::values(y)==0] <- NA - # all habitat patches to address those that never had a population - raster::values(patch_outstack)[raster::values(y)>0] <- 0.0 - raster::values(patch_outstack[[N_layers]])[raster::values(y[[N_layers]])>0] <- -9 - - # fill output rasters - for (i in patches){ - #if(N_layers==2){ - # raster::values(patch_outstack[[1]])[raster::values(y[[1]])==i] <- occ_prob[occ_prob$patch==i,"occ_prob"] - #}else { - for (j in 1:length(years)){ - raster::values(patch_outstack[[j]])[raster::values(y[[j]])==i] <- occ_prob[occ_prob$patch==i,paste(years[j])] - } - #} - raster::values(patch_outstack[[N_layers]])[raster::values(y[[N_layers]])==i] <- ifelse(is.na(col_time_mean[paste(i)]),-9,col_time_mean[paste(i)]) - } - return(list(occ_prob=occ_prob, col_time=col_time, map_occ_prob=patch_outstack[[-N_layers]], map_col_time=patch_outstack[[N_layers]])) - - } - }#else warning("ColonisationStats(): Given map must be a raster stack for a dynamic landscape.", call. = FALSE) - - }else{ # cell-based - if(onelayer){ - - # initialise output rasters - if(class(y) == "RasterStack") y <- y[[1]] - patch_occ_prob <- patch_col_time <- y - # init all habitat patches to also address those that never had a population (these don't occur in RS output) - raster::values(patch_occ_prob)[!is.na(raster::values(y))] <- 0 - raster::values(patch_col_time)[!is.na(raster::values(y))] <- -9 - # make value index from patchIDs - value_ix <- floor(patches/(10^digitsY))+(nrow(y)-patches%%(10^digitsY))*ncol(y) - - # fill output rasters - #if(length(years)>1){ - patch_outstack <- raster::stack() - for (j in 1:length(years)){ - patch_outstack <- raster::addLayer(patch_outstack, patch_occ_prob) - raster::values(patch_outstack[[j]])[value_ix] <- occ_prob[,j+2] - } - #} else{ - # raster::values(patch_occ_prob)[value_ix] <- occ_prob[,1] - # patch_outstack <- patch_occ_prob - #} - raster::values(patch_col_time)[value_ix] <- ifelse(is.na(col_time_mean[]),-9,col_time_mean[]) - - return(list(occ_prob=occ_prob, col_time=col_time, map_occ_prob=patch_outstack, map_col_time=patch_col_time)) - - }else warning("ColonisationStats(): The given map raster stack must have only one layer for a cell-based landscape.", call. = FALSE) - } - - }else warning("ColonisationStats(): Given map is not a raster layer or raster stack.", call. = FALSE) - } - return(list(occ_prob=occ_prob, col_time=col_time)) -}) - -setMethod("ColonisationStats", "RSparams", function(x, y = getwd(), years = numeric(0), maps = FALSE) { - res <- NULL - if(class(x@land)=="ImportedLandscape" || class(maps)=="logical") { - if(x@simul@OutIntPop>0){ - if(!is.null(y) & class(y)=="character" ){ - if(class(years) %in% c("integer","numeric") ){ - - # read population output - pop_df <- try(readPop(x, y, center=FALSE)) - if ( class(pop_df) == "try-error" ) { # try() returned a warning - warning("ColonisationStats(): Couldn't read population output for this simulation.", call. = FALSE) - return(NULL) - } - if ( class(pop_df) == "character" ) return(NULL) # readPop() returned a warning - - # set year to last recorded year if none is given - if(length(years)==0) years <- max(pop_df$Year) - - # read patch rasters if needed - if(maps){ - #require('raster') - if(x@control@patchmodel){ # for patch-based model, read all relevant patch-maps - # non-dynamic landscape - if(length(x@land@LandscapeFile)==1){ - - patch_r <- raster(x@land@PatchFile[[1]], - xmn = x@land@OriginCoords[1], - xmx = x@land@OriginCoords[1] + x@land@Resolution * ncol(x@land@PatchFile[[1]]), - ymn = x@land@OriginCoords[2], - ymx = x@land@OriginCoords[2] + x@land@Resolution * nrow(x@land@PatchFile[[1]]) - ) - - if( class(pop_df) == "data.frame" & class(patch_r) == "RasterLayer" ) res <- ColonisationStats(pop_df,patch_r,years) - - } - # dynamic landscape - else{ - patch_r <- raster::stack() - # rasters for occ_prob output - for(year in years){ - current <- which(x@land@DynamicLandYears == max(x@land@DynamicLandYears[x@land@DynamicLandYears<=year]) ) - patch_curr <- raster(x@land@PatchFile[[current]], - xmn = x@land@OriginCoords[1], - xmx = x@land@OriginCoords[1] + x@land@Resolution * ncol(x@land@PatchFile[[1]]), - ymn = x@land@OriginCoords[2], - ymx = x@land@OriginCoords[2] + x@land@Resolution * nrow(x@land@PatchFile[[1]]) - ) - patch_r <- raster::addLayer(patch_r , patch_curr) - } - # rasters for col_time output - year <- max(pop_df$Year) - current <- which(x@land@DynamicLandYears == max(x@land@DynamicLandYears[x@land@DynamicLandYears<=year]) ) - patch_curr <- raster(x@land@PatchFile[[current]], - xmn = x@land@OriginCoords[1], - xmx = x@land@OriginCoords[1] + x@land@Resolution * ncol(x@land@PatchFile[[1]]), - ymn = x@land@OriginCoords[2], - ymx = x@land@OriginCoords[2] + x@land@Resolution * nrow(x@land@PatchFile[[1]]) - ) - patch_r <- raster::addLayer(patch_r , patch_curr) - - if(class(pop_df) == "data.frame" & length(patch_r@layers)==(length(years)+1) ) res <- ColonisationStats(pop_df,patch_r,years) - } - }else{ - # for cell-based model, read only main habitat maps to use as raster template - patch_r <- raster(x@land@LandscapeFile[[1]], - xmn = x@land@OriginCoords[1], - xmx = x@land@OriginCoords[1] + x@land@Resolution * ncol(x@land@LandscapeFile[[1]]), - ymn = x@land@OriginCoords[2], - ymx = x@land@OriginCoords[2] + x@land@Resolution * nrow(x@land@LandscapeFile[[1]]) - ) - if(class(pop_df) == "data.frame" & class(patch_r) == "RasterLayer" ) res <- ColonisationStats(pop_df,patch_r,years) - } - }else { # no maps requested - if(class(pop_df) == "data.frame") res <- ColonisationStats(pop_df,NULL,years) - } - - if(is.null(res)) warning("ColonisationStats(): Couldn't get population output or patch raster file.", call. = FALSE) - else return(res) - - }else { - warning("ColonisationStats(): Years must be of class numeric or integer.", call. = FALSE)} - }else { - warning("ColonisationStats(): dirpath must be set", call. = FALSE)} - }else{ - warning("ColonisationStats(): This simulation has population output turned off (OutIntPop=0), but that is needed to calculate the colonisation statistics.", call. = FALSE)} - }else { - warning("ColonisationStats(): For Artificial Landscape models, maps must be FALSE", call. = FALSE)} -}) - - - - -#--------------------------------------------------------- - -### PLOTTING - - -#' Plot Abundance -#' -#' Uses the RangeShiftR output data 'range' to generate abundance time series. -#' Plots the mean abundance over all replicates, and optionally the standard deviation and/or the single replicates. -#' @param s RSparams object or a data.frame in the 'range' file format -#' @param dirpath RS directory path; required if \code{s} is a \code{RSparams} -#' @param sd plot standard deviation? (default is \code{FALSE}) -#' @param replicates plot the replicates? (default is \code{TRUE}) -#' @param ylim upper limit to the y-axis -#' @export -setGeneric("plotAbundance", function(s,...) standardGeneric("plotAbundance") ) - -setMethod("plotAbundance", "data.frame", function(s, sd = FALSE, replicates = TRUE, ylim=NULL, ...) { - # Calculate means - rep_means <- aggregate(NInds~Year, data = s, FUN = "mean") - # Calculate standard deviation - if (sd) { - rep_sd <- aggregate(NInds~Year, data = s, FUN = "sd") - rep_sd[is.na(rep_sd)] <- 0 - } - # Set y-limits - if (is.null(ylim)) { - if (replicates) { - ylim <- c(min(s$NInds),max(s$NInds)) - }else { - if (sd) { - ylim <- c(max(0,min(rep_means$NInds-rep_sd$NInds)), max(rep_means$NInds+rep_sd$NInds)) - }else{ - ylim <- c(min(rep_means$NInds),max(rep_means$NInds)) - } - } - } - # New plot - plot(NULL, type = "n", ylab = "Abundance", xlab = "Year", xlim=c(0, max(s$Year)), ylim=ylim, ...) - # Plot standard deviation - if (sd) { - polygon(c(rep_sd$Year,rev(rep_sd$Year)), c(rep_means$NInds+rep_sd$NInds, rev(pmax(0,rep_means$NInds-rep_sd$NInds))), border=NA, col='grey80') - } - # Plot replicates - if (replicates) { - for (i in 0:max(s$Rep)) { - lines(s$Year[s$Rep==i], s$NInds[s$Rep==i], type = "l", lwd = 0.5) - } - } - # Plot abundance - lines(rep_means$Year, rep_means$NInds, type = "l", lwd = 3, col = "red") -}) -setMethod("plotAbundance", "RSparams", function(s, dirpath, ...) { - if (class(dirpath)=="character"){ - range_table <- try(readRange(s, dirpath)) - if ( class(range_table) == "data.frame") { - plotAbundance(range_table, ...) - } - }else{ - warning("plotAbundance(): dirpath must be of type character.", call. = TRUE) - } -}) - - -#' Plot Occupancy -#' -#' Uses the RangeShiftR output data 'range' to generate occupancy time series. -#' Plots the mean occupancy over all replicates, and optionally the standard deviation and/or the single replicates. -#' @param s RSparams object or a data.frame in the 'range' file format -#' @param dirpath RS directory path; required if \code{s} is a \code{RSparams} -#' @param sd plot standard deviation? (default is \code{FALSE}) -#' @param replicates plot the replicates? (default is \code{TRUE}) -#' @param ylim upper limit to the y-axis -#' @export -setGeneric("plotOccupancy", function(s,...) standardGeneric("plotOccupancy") ) - -setMethod("plotOccupancy", "data.frame", function(s, sd = FALSE, replicates = TRUE, ylim=NULL, ...) { - names(s)[grep('NOccup',names(s))] <- 'NOccup' - # Calculate means - rep_means <- aggregate(NOccup~Year, data = s, FUN = "mean") - # Calculate standard deviation - if (sd) { - rep_sd <- aggregate(NOccup~Year, data = s, FUN = "sd") - rep_sd[is.na(rep_sd)] <- 0 - } - # Set y-limits - if (is.null(ylim)) { - if (replicates) { - ylim <- c(min(s$NOccup),max(s$NOccup)) - } else { - if (sd) { - ylim <- c(max(0,min(rep_means$NOccup-rep_sd$NOccup)), max(rep_means$NOccup+rep_sd$NOccup)) - } else { - ylim <- c(min(rep_means$NOccup),max(rep_means$NOccup)) - } - } - } - # New plot - plot(NULL, type = "n", ylab = "Occupancy", xlab = "Year", xlim=c(0, max(s$Year)), ylim=ylim, ...) - # Plot standard deviation - if (sd) { - polygon(c(rep_sd$Year,rev(rep_sd$Year)), c(rep_means$NOccup+rep_sd$NOccup, rev(pmax(0,rep_means$NOccup-rep_sd$NOccup))), border=NA, col='grey80') - } - # plot replicates - if (replicates) { - for (i in 0:max(s$Rep)) { - lines(s$Year[s$Rep==i], s$NOccup[s$Rep==i], type = "l", lwd = 0.5) - } - } - # Plot occupancy - lines(rep_means$Year, rep_means$NOccup, type = "l", lwd = 3, col = "blue") -}) -setMethod("plotOccupancy", "RSparams", function(s, dirpath, ...) { - if (class(dirpath)=="character"){ - range_table <- try(readRange(s, dirpath)) - if ( class(range_table) == "data.frame") { - plotOccupancy(range_table, ...) - } - }else{ - warning("plotOccupancy(): dirpath must be of type character.", call. = TRUE) - } -}) - - -#--------------------------------------------------------- - -#--- SMS PathLenghts - -#' Get the distribution of SMS Path Lengths -#' -#' Reads the RangeShiftR output files 'MovePaths' (if they were generated) to get the distribution of lengths of SMS -#' paths taken in all recorded years. -#' @param s RSmaster parameter object -#' @param dirpath RS directory path -#' @return a data.frame that contains the mean (over replicates) number of SNS paths of a given length (rows) per simulated map (columns) -#' @export -setGeneric("SMSpathLengths", function(s,dirpath,...) standardGeneric("SMSpathLengths") ) - -setMethod("SMSpathLengths", c(s="RSparams", dirpath="character"), function(s,dirpath) { - if(class(s@dispersal@Transfer)!="StochMove"){ - warning("SMSpathLengths(): Transfer must be of type SMS.", call. = TRUE) - return(NULL) - } - if(s@simul@OutIntPaths<1){ - warning("SMSpathLengths(): Output of SMS paths ('OutIntPaths') is disabled in this RS simulation.", call. = TRUE) - return(NULL) - } - - maxLength = s@dispersal@Settlement@MaxSteps - if(maxLength<1) maxLength = as.integer(log(.015)/log(1-s@dispersal@Transfer@StepMort)) + 1 - year_blocks = s@land@DynamicLandYears - nr_maps = length(year_blocks) - - steps_sum <- matrix(0, nrow = maxLength, ncol = nr_maps) - rownames(steps_sum) <- sapply(1:maxLength, FUN=paste0) - null_tb <- rep(0,maxLength) - names(null_tb) <- sapply(1:maxLength, FUN=paste0) - for(i in 0:(s@simul@Replicates-1)){ - steps <- try(read.table(paste0(dirpath, - "Outputs/Batch",s@control@batchnum, - "_Sim",s@simul@Simulation, - "_Land",s@land@LandNum, - "_Rep",i, - "_MovePaths.txt"), - header = T)) - if ( class(steps) == "try-error" ) { - warning(cat("SMSpathLengths(): Couldn't read MovePaths output for replicate",i,", skipping it."), call. = FALSE) - #return(NULL) - }else{ - steps_y <- sapply(seq(nr_maps), FUN = function(y){ - tb <- null_tb - lo <- year_blocks[y] - if (y==nr_maps) tb_n <- table(aggregate(Step~IndID, data=subset(steps, Year >= lo), FUN = max)$Step) - else { - up <- year_blocks[y+1] - tb_n <- table(aggregate(Step~IndID, data=subset(steps, Year >= lo & Year < up), FUN = max)$Step) - } - ix <- names(tb) %in% names(tb_n) - tb[ix] <- tb_n[1:sum(ix)] - tb - }) - steps_sum <- steps_sum + steps_y - } - } - colnames(steps_sum) <- sapply(1:nr_maps, function(m){paste0('Map_',m)}) - # mean over replicates - steps_sum <- data.frame(steps_sum / s@simul@Replicates) - - return(steps_sum) -}) - - - - -#--------------------------------------------------------- - -### B FUNCTION - - -## ---- Backend matrix model simulation function ----- - -get_eq_pop <- function(b, demog, N_0 = NULL, t_max = 1000, t_rec = 1, delta = .1, diagnostics = FALSE, rm.stage0 = TRUE){ - if(class(demog)!="DemogParams"){ - warning("This function expects an object of class DemogParams.", call. = FALSE) - return(NULL) - } - else{ - if(class(demog@StageStruct)!="StagesParams"){ - warning("demog needs to have a StageStructure", call. = FALSE) - return(NULL) - } - } - - TraMa <- demog@StageStruct@TransMatrix - - if(demog@ReproductionType>1){ - # for sex-specific (ReproductionType = 2) need to include Sex-ratio to weigh fecundities and make transition matrix quadratic - SexDep <- TRUE - TraMa <- rbind(TraMa[1,]*demog@PropMales,TraMa) - TraMa[2,] <- TraMa[2,]*(1-demog@PropMales) - } - else SexDep <- FALSE - TraMa_t <- TraMa - lines <- nrow(TraMa) - N_rec <- matrix(0, ncol = t_rec, nrow = lines-rm.stage0*(1+SexDep)) - - if(demog@StageStruct@FecDensDep){ - FecDensDep <- TRUE - if(demog@StageStruct@FecStageWts) { - FecStageDep <- TRUE - FecStageWts <- demog@StageStruct@FecStageWtsMatrix - } - else FecStageDep <- FALSE - } - else FecDensDep <- FALSE - - if(demog@StageStruct@DevDensDep){ - DevDensDep <- TRUE - C_dev <- demog@StageStruct@DevDensCoeff - if(demog@StageStruct@DevStageWts) { - DevStageDep <- TRUE - DevStageWts <- demog@StageStruct@DevStageWtsMatrix - } - else DevStageDep <- FALSE - # disentangle survival and development rates: - surv <- devs <- rep(0,lines) - for(s in 1:lines ){ - ss <- TraMa[s,s] - if (SexDep) if((s+2)>lines) dd <- 0 else dd <- TraMa[s+2,s] - else if(s==lines) dd <- 0 else dd <- TraMa[s+1,s] - surv[s] <- ss+dd - devs[s] <- dd/(ss+dd) - } - surv_t <- surv - devs_t <- devs - } - else DevDensDep <- FALSE - - if(demog@StageStruct@SurvDensDep){ - SurvDensDep <- TRUE - C_surv <- demog@StageStruct@SurvDensCoeff - if(demog@StageStruct@SurvStageWts) { - SurvStageDep <- TRUE - SurvStageWts <- demog@StageStruct@SurvStageWtsMatrix - } - else SurvStageDep <- FALSE - } - else SurvDensDep <- FALSE - - if(is.null(N_0)) N_0 <- matrix( rep(1/b/lines, lines), ncol = 1) - N_t2 <- N_0 - t <- 0 - repeat{ - # reset abundance vector and time-dependent transition matrix - N_t1 <- N_t2 - TraMa_t <- TraMa - # calculate density-dependent rates - abund <- sum(N_t1) - if(SexDep){ - if(FecDensDep) { - if(FecStageDep) { - TraMa_t[1:2,] <- TraMa[1:2,]*rep(exp(-b*FecStageWts%*%N_t1),each=2) - } - else TraMa_t[1:2,] <- TraMa[1:2,]*exp(-b*abund) - } - if(DevDensDep) { - if(DevStageDep) { - # dev diagonals - devs_t <- devs*exp(-C_dev*b*DevStageWts%*%N_t1) - diag(TraMa_t) <- surv*(1-devs_t) - # dev off-diagonals - TraMa_t[row(TraMa)==col(TraMa)+2] <- TraMa[row(TraMa)==col(TraMa)+2]*exp(-C_dev*b*(DevStageWts%*%N_t1)[-c(lines-1,lines)]) - } - else { - # dev diagonals - devs_t <- devs*exp(-C_dev*b*abund) - diag(TraMa_t) <- surv*(1-devs_t) - # dev off-diagonals - TraMa_t[row(TraMa)==col(TraMa)+2] <- TraMa[row(TraMa)==col(TraMa)+2]*exp(-C_dev*b*abund) - } - if(SurvDensDep) { - if(SurvStageDep){ - # surv diagonals - diag(TraMa_t) <- diag(TraMa_t)*exp(-C_surv*b*SurvStageWts%*%N_t1) - # surv off-diagonals - TraMa_t[row(TraMa_t)==col(TraMa_t)+2] <- TraMa_t[row(TraMa_t)==col(TraMa_t)+2]*exp(-C_surv*b*(SurvStageWts%*%N_t1)[-c(lines-1,lines)]) - } - else { - # surv diagonals - diag(TraMa_t) <- diag(TraMa_t)*exp(-C_surv*b*abund) - # surv off-diagonals - TraMa_t[row(TraMa_t)==col(TraMa_t)+2] <- TraMa_t[row(TraMa_t)==col(TraMa_t)+2]*exp(-C_surv*b*abund) - } - } - } - else{ - if(SurvDensDep) { - if(SurvStageDep){ - # surv diagonals - diag(TraMa_t) <- diag(TraMa)*exp(-C_surv*b*SurvStageWts%*%N_t1) - # surv off-diagonals - TraMa_t[row(TraMa)==col(TraMa)+2] <- TraMa[row(TraMa)==col(TraMa)+2]*exp(-C_surv*b*(SurvStageWts%*%N_t1)[-c(lines-1,lines)]) - } - else { - # surv diagonals - diag(TraMa_t) <- diag(TraMa)*exp(-C_surv*b*abund) - # surv off-diagonals - TraMa_t[row(TraMa)==col(TraMa)+2] <- TraMa[row(TraMa)==col(TraMa)+2]*exp(-C_surv*b*abund) - } - } - } - } - else{ # !SexDep - if(FecDensDep) { - if(FecStageDep) TraMa_t[1,] <- TraMa[1,]*exp(-b*FecStageWts%*%N_t1) - else TraMa_t[1,] <- TraMa[1,]*exp(-b*abund) - } - if(DevDensDep) { - if(DevStageDep) { - # dev diagonals - devs_t <- devs*exp(-C_dev*b*DevStageWts%*%N_t1) - diag(TraMa_t) <- surv*(1-devs_t) - # dev off-diagonals - TraMa_t[row(TraMa)==col(TraMa)+1] <- TraMa[row(TraMa)==col(TraMa)+1]*exp(-C_dev*b*(DevStageWts%*%N_t1)[-lines]) - } - else { - # dev diagonals - devs_t <- devs*exp(-C_dev*b*abund) - diag(TraMa_t) <- surv*(1-devs_t) - # dev off-diagonals - TraMa_t[row(TraMa)==col(TraMa)+1] <- TraMa[row(TraMa)==col(TraMa)+1]*exp(-C_dev*b*abund) - } - if(SurvDensDep) { - if(SurvStageDep){ - # surv diagonals - diag(TraMa_t) <- diag(TraMa_t)*exp(-C_surv*b*SurvStageWts%*%N_t1) - # surv off-diagonals - TraMa_t[row(TraMa_t)==col(TraMa_t)+1] <- TraMa_t[row(TraMa_t)==col(TraMa_t)+1]*exp(-C_surv*b*(SurvStageWts%*%N_t1)[-lines]) - } - else { - # surv diagonals - diag(TraMa_t) <- diag(TraMa_t)*exp(-C_surv*b*abund) - # surv off-diagonals - TraMa_t[row(TraMa_t)==col(TraMa_t)+1] <- TraMa_t[row(TraMa_t)==col(TraMa_t)+1]*exp(-C_surv*b*abund) - } - } - } - else{ - if(SurvDensDep) { - if(SurvStageDep){ - # surv diagonals - diag(TraMa_t) <- diag(TraMa)*exp(-C_surv*b*SurvStageWts%*%N_t1) - # surv off-diagonals - TraMa_t[row(TraMa)==col(TraMa)+1] <- TraMa[row(TraMa)==col(TraMa)+1]*exp(-C_surv*b*(SurvStageWts%*%N_t1)[-lines]) - } - else { - # surv diagonals - diag(TraMa_t) <- diag(TraMa)*exp(-C_surv*b*abund) - # surv off-diagonals - TraMa_t[row(TraMa)==col(TraMa)+1] <- TraMa[row(TraMa)==col(TraMa)+1]*exp(-C_surv*b*abund) - } - } - } - } - # turn RS transition matrix into actual Leslie matrix (i.e. remove zeroth stage) - if(rm.stage0){ - if(SexDep){ - TraMa_t[1:2,] <- TraMa_t[1:2,] * diag(TraMa_t[c(3,4),c(1,2)]) # put survival rate into fecundity - TraMa_t[3:4,] <- TraMa_t[3:4,] + TraMa_t[1:2,] - TraMa_t <- TraMa_t[3:lines,3:lines] # get rid of stage 0 - # compress state vector as well - N_t1[3] <- sum(N_t1[c(1,3)]) - N_t1[4] <- sum(N_t1[c(2,4)]) - N_t1 <- matrix(N_t1[3:lines], ncol = 1) - } - else{ # !SexDep - TraMa_t[1,] <- TraMa_t[1,] * TraMa_t[2,1] # -"- - TraMa_t[2,] <- TraMa_t[2,] + TraMa_t[1,] - TraMa_t <- TraMa_t[2:lines,2:lines] - # compress state vector as well - N_t1[2] <- sum(N_t1[1:2]) - N_t1 <- matrix(N_t1[2:lines], ncol = 1) - } - } - # take a time step - N_t2 <- TraMa_t %*% N_t1 - # evaluate convergence - del <- sqrt(sum((N_t2-N_t1)^2)) - N_rec[,1+(t%%t_rec)] <- N_t2 - if(del < delta || t >= t_max ){ - if(t >= t_max) warning("No convergence") - if(t < t_rec ) N_rec <- N_rec[,1:t] - if(diagnostics) return(list(N=N_rec, TraMa_t=TraMa_t, t=t, del=del)) - else return(N_rec) - break - } - # end time step - t <- t+1 - # expand state vector again - if(rm.stage0){ - if(SexDep){ - N_t2[1:2] <- N_t2[1:2]/2 - N_t2 <- matrix(c(N_t2[1:2],N_t2), ncol = 1) - } - else{ # !SexDep - N_t2[1] <- N_t2[1]/2 - N_t2 <- matrix(c(N_t2[1],N_t2), ncol = 1) - } - } - } -} - - -## ---- Frontend Plot function ----- - -#' Calculates the equilibrium density and stage distribution for a localised (i.e. non-spatial) closed population -#' -#' Uses the \emph{RangeShiftR} Demography module to create the corresponding matrix model and runs it until equilibrium is reached. -#' This corresponds to a localised population in a single cell without dispersal (i.e. no immigration or emigration). -#' Since the matrix model representation is used, some options (e.g. maximum age) of the \code{\link[RangeShiftR]{Demography}} module can not be taken into account. -#' @param demog DemogParams object with a \code{StageStructure} -#' @param DensDep_values values of \eqn{1/b} to run the matrix model for -#' @param plot plot the equilibrium densities? (default is \code{TRUE}) -#' @param stages_out which stages to plot? (defaults to all) -#' @param juv.stage use explicit juvenile (zeroth) stage? (default is \code{TRUE}) -#' @param t_rec number of time steps to record at the end (defaults to \eqn{1}); if \code{t_rec}\eqn{>1}, the mean over all recorded time steps is returned -#' @param N_0 initial condition, i.e. population density at time zero; must include stage zero regardless of the value of \code{juv.stage} -#' @param t_max allowed number of time steps to reach equilibrium (default is \eqn{1000}) -#' @param delta tolerance to check for equilibrium (default is \eqn{.1}); the utilised measure is euclidian distance of current to previous time steps -#' @param diagnostics in addition to recorded population vectors, returns the number of steps taken as well as the transition matrix and the value if delta at the last step (default is \code{FALSE}) -#' @details \emph{RangeShiftR} requires an additional juvenile stage to be added to the common transition matrix as stage \eqn{0} (in order -#' to allow for juvenile dispersal). For the simulation with \code{RunMatrixModel()}, this stage can be kept (\code{juv.stage=TRUE}) -#' or removed to yield the corresponding Lefkovitch matrix (\code{juv.stage=FALSE}).\cr -#' The default initial state \code{N_0} is a population at its respective density \eqn{1/b} with unpopulated juvenile stage and -#' all higher stages equally populated.\cr -#' @return a matrix of population densities with a named row for each stage and a column for each given value of \eqn{1/b} -#' @export -setGeneric("getLocalisedEquilPop", function(demog,...) standardGeneric("getLocalisedEquilPop") ) - -setMethod("getLocalisedEquilPop", "DemogParams", function(demog, DensDep_values, plot=TRUE, stages_out=NULL, juv.stage=TRUE, t_rec=1, - t_max = 1000, N_0 = NULL, delta=.1, diagnostics=FALSE){ - # make b from 1/b - b_vector <- 1/DensDep_values - # calculate equilibrium population - if(t_rec==1) res <- sapply(b_vector, get_eq_pop, demog=demog, t_rec = t_rec, rm.stage0 = !juv.stage) - if(t_rec>1) {res <- lapply(b_vector, get_eq_pop, demog=demog, t_rec = t_rec, rm.stage0 = !juv.stage) - res <- sapply(res, rowMeans)} - # name rows - if(demog@ReproductionType <2){row.names(res) <- seq((!juv.stage),demog@StageStruct@Stages-1)} - if(demog@ReproductionType==2){row.names(res) <- rep(seq((!juv.stage),demog@StageStruct@Stages-1), each = 2)} - # plot stages ? - if(plot) { - # x-axis labels - xlabs <- print(DensDep_values, digits = 2) - # which stages to plot? - if(is.null(stages_out)) stages_out = seq((!juv.stage),demog@StageStruct@Stages-1) - colors <- hcl.colors(length(stages_out), palette = "Harmonic") - if(demog@ReproductionType <2){ - barplot(res[as.character(stages_out),], names.arg = xlabs, beside = F, col = colors, - main = "Localised equilibrium densities", xlab = "1/b", ylab = "Population density") - } - if(demog@ReproductionType==2){ - if(length(stages_out)<2) warning("getLocalisedEquilPop(): Please specify more than one stage when plotting a sex-explicit model.", call. = TRUE) - else { - res_2 <- res[which(rownames(res) %in% stages_out),] - mal <- seq.int(1,length(stages_out)*2,2) - fem <- seq.int(2,length(stages_out)*2,2) - res_2 <- cbind(res_2[mal,1:length(DensDep_values)],res_2[fem,1:length(DensDep_values)]) - res_2 <- cbind(res_2[,c(sapply(1:length(DensDep_values), function(i){c(0,1)*length(DensDep_values)+i}))]) - barplot(res_2, space=c(0.3,0.1), names.arg = c(rbind(xlabs,NA)), beside = F, col = rep(colors, 2), - main = "Localised equilibrium densities", xlab = "1/b", ylab = "Population density") - text(seq(0.5,length(DensDep_values)*2,2)*1.2, colSums(res_2[,seq(1,length(DensDep_values)*2,2)])*1.1, "m", cex=1, col="black") - text(seq(1.5,length(DensDep_values)*2,2)*1.2, colSums(res_2[,seq(2,length(DensDep_values)*2,2)])*1.1, "f", cex=1, col="black") - } - } - legend("topleft", legend = rev(sapply(stages_out, function(s){paste("Stage",s)})), col = rev(colors), pch = 16) - } - # return equilibrium population densities - return(res) -}) - -## ---- ODD documentation ----- - -#' Creating ODD template file for a specific RangeShiftR parameter master object -#' -#' This function creates an ODD template file for a specific RangeShiftR parameter master object \code{s}. -#' It only creates a new file, if the \code{filename} doesn't exist in the folder. -#' If the \code{filename} already exists, it only renders the document to either pdf, word or md. -#' @usage createODD(filename, s, type) -#' -#' @param filename Name of the R markdown file and document to be created, e.g. 'ODD_protocol.rmd' -#' @param s RangeShiftR parameter object -#' @param type file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document" -#' @export -setGeneric("createODD", function(filename, s, type,...) standardGeneric("createODD") ) - -setMethod("createODD", c(filename = "character", s="RSparams", type="character"), function(filename="ODD_protocol_template.Rmd", s, type="pdf_document"){ - if(!file.exists(filename)) { - unlink(c("RSflowchart_big.pdf", "RSflowchart_detail.pdf", "RSflowchart_big.svg", "RSflowchart_detail.svg", "style-template.docx", "RS_ODD.json", "ecography.csl", "RS_ODD.bib")) - rmarkdown::draft(filename, template = "odd_protocol", package = "RangeShiftR", edit = FALSE) - } - if (type=="pdf_document") format <- "pdf" - if (type=="md_document") format <- "md" - if (type=="rtf_document") format <- "word" - if (type=="word_document") format <- "word" - rmarkdown::render(input = filename, output_format = type, params=list(format = format)) -}) - -#' Creating parameter table file for a specific RangeShiftR parameter master object -#' -#' This function creates template file including tables of the parameter set for a specific RangeShiftR parameter master object \code{s}. It only creates a new file, if the \code{filename} doesn't exist in the folder. -#' If the \code{filename} already exists, it only renders the document to either pdf, word or md. -#' @usage createParameterTables(filename, s, type) -#' -#' @param filename Name of the R markdown file and document to be created, e.g. 'Parameter_table.rmd' -#' @param s RangeShiftR parameter object -#' @param type file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document" -#' @export -setGeneric("createParameterTables", function(filename, s, type,...) standardGeneric("createParameterTables") ) - -setMethod("createParameterTables", c(filename = "character", s="RSparams", type="character"), function(filename="ParameterTable_template.Rmd", s, type="pdf_document"){ - if(!file.exists(filename)) { - rmarkdown::draft(filename, template = "parameter_table", package = "RangeShiftR", edit = FALSE) - } - rmarkdown::render(input = filename, output_format = type) -}) diff --git a/RangeShiftR/R/plotProbs.R b/RangeShiftR/R/plotProbs.R deleted file mode 100644 index aec6a9e..0000000 --- a/RangeShiftR/R/plotProbs.R +++ /dev/null @@ -1,58 +0,0 @@ -#--------------------------------------------------------------------------- -# -# Copyright (C) 2020-2022 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell -# -# This file is part of RangeShiftR. -# -# RangeShiftR is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# RangeShiftR is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with RangeShiftR. If not, see . -# -#---------------------------------------------------------------------------- - - - -# ----- -# -# Plotting parameterised probabilities functions -# (the respective methods are defined together with their class) -# -# ----- - -#' Plot parameterised probabilities -#' -#' Visualise the dependencies or distributions of probabilities of the various processes that are defined by the different parameter modules, -#' like e.g. fecundity or mortality. -#' -#' @param x a RangeShiftR parameter object -#' @param xmax,ymax upper plotting limits (lower limits are fixed to \eqn{0}) -#' @param stage,sex stage(s) and sexe(s) to plot, default: all -#' @param ... various options, depend on the given parameter module type -#' @details -#' Available methods and their options: -#' \itemize{ -#' \item \code{\link[RangeShiftR]{Emigration}}: plot emigration probability -#' \item \code{\link[RangeShiftR]{DispersalKernel}}: -#' \itemize{ -#' \item \code{mortality=FALSE} - plot dispersal distance probability density (default) -#' \item \code{mortality= TRUE} - plot mortality probability -#' } -#' If a mixed kernel was defined (i.e. \code{DoubleKernel=TRUE}), plot the resulting dispersal probability by... -#' \itemize{ -#' \item \code{combinekernels=FALSE} - ...plotting both kernels separately (default) -#' \item \code{combinekernels= TRUE} - ...combining both kernels, i.e. \ifelse{html}{ \out{p(d; δ12) = pI p(d;δ1) + (1-pI) p(d;δ1) } }{\deqn{ p(d; δ_1,δ_2) = p_I p(d;δ_1) + (1-p_I) p(d;δ_2)} } -#' } -#' \item \code{\link[RangeShiftR]{StageStructure}}: plot fecundity as well as survival and development probabilities -#' } -#' @export -setGeneric("plotProbs", function(x, ...) standardGeneric("plotProbs") ) - diff --git a/RangeShiftR/RangeShiftR.Rproj b/RangeShiftR/RangeShiftR.Rproj deleted file mode 100644 index e5687b1..0000000 --- a/RangeShiftR/RangeShiftR.Rproj +++ /dev/null @@ -1,24 +0,0 @@ -Version: 1.0 - -RestoreWorkspace: No -SaveWorkspace: No -AlwaysSaveHistory: Yes - -EnableCodeIndexing: Yes -UseSpacesForTab: Yes -NumSpacesForTab: 4 -Encoding: UTF-8 - -RnwWeave: knitr -LaTeX: pdfLaTeX - -StripTrailingWhitespace: Yes -LineEndingConversion: Native - -BuildType: Package -PackageUseDevtools: Yes -PackageInstallArgs: --no-multiarch --with-keep.source -PackageBuildBinaryArgs: --no-multiarch --with-keep.source -PackageRoxygenize: rd,collate,namespace - -QuitChildProcessesOnExit: Yes diff --git a/RangeShiftR/inst/CITATION b/RangeShiftR/inst/CITATION deleted file mode 100644 index 728804d..0000000 --- a/RangeShiftR/inst/CITATION +++ /dev/null @@ -1,15 +0,0 @@ -citHeader("To cite RangeShiftR in publications use:") - -citEntry(entry = "Article", - title = "{RangeShiftR}: an {R} package for individual-based simulation of spatial eco-evolutionary dynamics and species' responses to environmental change", - author = personList(as.person("Anne-Kathleen Malchow"), - as.person("Greta Bocedi"), - as.person("Stephen C. F. Palmer"), - as.person("Justin M.J. Travis"), - as.person("Damaris Zurell")), - journal = "Ecography", - year = "2021", - doi = "10.1111/ecog.05689", - textVersion = NULL -) - diff --git a/RangeShiftR/inst/REFERENCES.bib b/RangeShiftR/inst/REFERENCES.bib deleted file mode 100644 index 3c88e2d..0000000 --- a/RangeShiftR/inst/REFERENCES.bib +++ /dev/null @@ -1,544 +0,0 @@ -@article{bocedi2020, - title = {{RangeShifter} 2.0: {An} extended and enhanced platform for modelling spatial eco-evolutionary dynamics and species' responses to environmental changes.}, - shorttitle = {{RangeShifter} 2.0}, - doi = {10.1111/ecog.05687}, - journal = {Ecography}, - language = {en}, - author = {Bocedi, Greta and Palmer, Stephen C. F. and Malchow, Anne-Kathleen and Zurell, Damaris and Watts, Kevin and Travis, Justin MJ}, - year = {2021} -} - -@article{bocedi2014, - title = {RangeShifter: a platform for modelling spatial eco-evolutionary dynamics and species' responses to environmental changes}, - volume = {5}, - url = {https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/2041-210X.12162}, - doi = {10.1111/2041-210X.12162}, - language = {en}, - number = {4}, - urldate = {2020-07-31}, - journal = {Methods in Ecology and Evolution}, - author = {Bocedi, Greta and Palmer, Stephen C. F. and Pe'er, Guy and Heikkinen, Risto K. and Matsinos, Yiannis G. and Watts, Kevin and Travis, Justin M. J.}, - year = {2014}, - keywords = {population dynamics, connectivity, dispersal, dynamic modelling, environmental change, individual-based modelling, population viability}, - pages = {388--396} -} - -@article{smith1973, - title={The stability of predator-prey systems}, - author={Maynard Smith, J and Slatkin, M}, - journal={Ecology}, - volume={54}, - number={2}, - pages={384--391}, - year={1973}, - publisher={Wiley Online Library} -} - -@article{caswell2001, - title={Matrix Population Models: Construction, Analysis, and Interpretation. 2nd edn Sinauer Associates}, - author={Caswell, Hal}, - journal={Inc., Sunderland, MA}, - year={2001} -} - -@article{lindstrom1998, - title={Sexual reproduction and population dynamics: the role of polygyny and demographic sex differences}, - author={Lindstr{\"o}m, Jan and Kokko, Hanna}, - journal={Proceedings of the Royal Society of London. Series B: Biological Sciences}, - volume={265}, - number={1395}, - pages={483--488}, - year={1998}, - publisher={The Royal Society} -} - -@article{legendre2004, - title={Age structure, mating system and population viability}, - author={Legendre, St{\'e}phane}, - journal={Evolutionary conservation biology. Cambridge University Press, Cambridge}, - pages={41--58}, - year={2004} -} - -@article{bessa2010, - title={Discrete two-sex models of population dynamics: on modelling the mating function}, - author={Bessa-Gomes, Carmen and Legendre, St{\'e}phane and Clobert, Jean}, - journal={Acta Oecologica}, - volume={36}, - number={5}, - pages={439--445}, - year={2010}, - publisher={Elsevier} -} - -@article{weeks1986, - title={Two-sex models: chaos, extinction, and other dynamic consequences of sex}, - author={Caswell, Hal and Weeks, Daniel E}, - journal={The American Naturalist}, - volume={128}, - number={5}, - pages={707--735}, - year={1986}, - publisher={University of Chicago Press} -} - -@article{neubert2000, - title={Density-dependent vital rates and their population dynamic consequences}, - author={Neubert, Michael G and Caswell, Hal}, - journal={Journal of Mathematical Biology}, - volume={41}, - number={2}, - pages={103--121}, - year={2000}, - publisher={Springer} -} - -@article{caswell2004, - title={Sensitivity analysis of equilibrium in density-dependent matrix population models}, - author={Caswell, Hal and Takada, Takenori and Hunter, Christine M}, - journal={Ecology Letters}, - volume={7}, - number={5}, - pages={380--387}, - year={2004}, - publisher={Wiley Online Library} -} - -@article{travis2004, - title={A method for simulating patterns of habitat availability at static and dynamic range margins}, - author={Travis, Justin Mark John and Dytham, C}, - journal={Oikos}, - pages={410--416}, - year={2004}, - publisher={JSTOR} -} - -@article{ruokolainen2009, - title={Ecological and evolutionary dynamics under coloured environmental variation}, - author={Ruokolainen, Lasse and Lind{\'e}n, Andreas and Kaitala, Veijo and Fowler, Mike S}, - journal={Trends in Ecology \& Evolution}, - volume={24}, - number={10}, - pages={555--563}, - year={2009}, - publisher={Elsevier} -} - -@book{stenseth1992, - title={Animal dispersal: small mammals as a model}, - author={Stenseth, Nils Chr and Lidicker Jr, William Z and Lidicker, WZ}, - year={1992}, - publisher={Springer Science \& Business Media} -} - -@book{clobert2001, - title={Dispersal}, - author={Clobert, J and Danchin, E and Dhondt, AA and Nichols, JD}, - year={2001}, - publisher={Oxford, Oxford University Press} -} - -@article{clobert2009, - title={Informed dispersal, heterogeneity in animal dispersal syndromes and the dynamics of spatially structured populations}, - author={Clobert, Jean and Le Galliard, Jean-Fran{\c{c}}ois and Cote, Julien and Meylan, Sandrine and Massot, Manuel}, - journal={Ecology letters}, - volume={12}, - number={3}, - pages={197--209}, - year={2009}, - publisher={Wiley Online Library} -} - -@book{clobert2012, - title={Dispersal ecology and evolution}, - author={Clobert, Jean and Baguette, Michel and Benton, Tim G and Bullock, James M}, - year={2012}, - publisher={Oxford University Press} -} - -@article{bowler2005, - title={Causes and consequences of animal dispersal strategies: relating individual behaviour to spatial dynamics}, - author={Bowler, Diana E and Benton, Tim G}, - journal={Biological Reviews}, - volume={80}, - number={2}, - pages={205--225}, - year={2005}, - publisher={Wiley Online Library} -} - -@article{ronce2007, - title={How does it feel to be like a rolling stone? Ten questions about dispersal evolution}, - author={Ronce, Oph{\'e}lie}, - journal={Annu. Rev. Ecol. Evol. Syst.}, - volume={38}, - pages={231--253}, - year={2007}, - publisher={Annual Reviews} -} - -@article{travis2011improving, - title={Improving prediction and management of range expansions by combining analytical and individual-based modelling approaches}, - author={Travis, Justin MJ and Harris, Catriona M and Park, Kirsty J and Bullock, James M}, - journal={Methods in Ecology and Evolution}, - volume={2}, - number={5}, - pages={477--488}, - year={2011}, - publisher={Wiley Online Library} -} - -@article{travis2012modelling, - title={Modelling dispersal: an eco-evolutionary framework incorporating emigration, movement, settlement behaviour and the multiple costs involved}, - author={Travis, Justin MJ and Mustin, Karen and Barto{\'n}, Kamil A and Benton, Tim G and Clobert, Jean and Delgado, Maria M and Dytham, Calvin and Hovestadt, Thomas and Palmer, Stephen CF and Van Dyck, Hans and others}, - journal={Methods in Ecology and Evolution}, - volume={3}, - number={4}, - pages={628--641}, - year={2012}, - publisher={Wiley Online Library} -} - -@article{travis2013dispersal, - title={Dispersal and species’ responses to climate change}, - author={Travis, Justin MJ and Delgado, Maria and Bocedi, Greta and Baguette, Michel and Barto{\'n}, Kamil and Bonte, Dries and Boulangeat, Isabelle and Hodgson, Jenny A and Kubisch, Alexander and Penteriani, Vincenzo and others}, - journal={Oikos}, - volume={122}, - number={11}, - pages={1532--1540}, - year={2013}, - publisher={Wiley Online Library} -} - -@article{bonte2012costs, - title={Costs of dispersal}, - author={Bonte, Dries and Van Dyck, Hans and Bullock, James M and Coulon, Aur{\'e}lie and Delgado, Maria and Gibbs, Melanie and Lehouck, Valerie and Matthysen, Erik and Mustin, Karin and Saastamoinen, Marjo and others}, - journal={Biological reviews}, - volume={87}, - number={2}, - pages={290--312}, - year={2012}, - publisher={Wiley Online Library} -} - -@article{kun2006evolution, - title={The evolution of density-dependent dispersal in a noisy spatial population model}, - author={Kun, {\'A}d{\'a}m and Scheuring, Istv{\'a}n}, - journal={Oikos}, - volume={115}, - number={2}, - pages={308--320}, - year={2006}, - publisher={Wiley Online Library} -} - -@article{poethke2011ability, - title={The ability of individuals to assess population density influences the evolution of emigration propensity and dispersal distance}, - author={Poethke, Hans Joachim and Gros, Andreas and Hovestadt, Thomas}, - journal={Journal of Theoretical Biology}, - volume={282}, - number={1}, - pages={93--99}, - year={2011}, - publisher={Elsevier} -} - -@article{hovestadt2010information, - title={Information processing in models for density-dependent emigration: a comparison}, - author={Hovestadt, Thomas and Kubisch, Alexander and Poethke, Hans-Joachim}, - journal={Ecological Modelling}, - volume={221}, - number={3}, - pages={405--410}, - year={2010}, - publisher={Elsevier} -} - -@article{hovestadt2011all, - title={Do all inter-patch movements represent dispersal? A mixed kernel study of butterfly mobility in fragmented landscapes}, - author={Hovestadt, Thomas and Binzenh{\"o}fer, Birgit and Nowicki, Piotr and Settele, Josef}, - journal={Journal of Animal Ecology}, - volume={80}, - number={5}, - pages={1070--1077}, - year={2011}, - publisher={Wiley Online Library} -} - -@article{hovestadt2012evolution, - title={Evolution and emergence of dispersal kernels--a brief theoretical evaluation}, - author={Hovestadt, Thomas and Bonte, Dries and Dytham, Calvin and Poethke, Hans Joachim}, - journal={Dispersal ecology and evolution}, - volume={211}, - pages={221}, - year={2012}, - publisher={Oxford University Press Oxford} -} - -@article{greenwood1980mating, - title={Mating systems, philopatry and dispersal in birds and mammals}, - author={Greenwood, Paul J}, - journal={Animal behaviour}, - volume={28}, - number={4}, - pages={1140--1162}, - year={1980}, - publisher={Elsevier} -} - -@article{bocedi2012projecting, - title={Projecting species’ range expansion dynamics: sources of systematic biases when scaling up patterns and processes}, - author={Bocedi, Greta and Pe’er, Guy and Heikkinen, Risto K and Matsinos, Yiannis and Travis, Justin MJ}, - journal={Methods in Ecology and Evolution}, - volume={3}, - number={6}, - pages={1008--1018}, - year={2012}, - publisher={Wiley Online Library} -} - - -@article{lawson2007advances, - title={Advances in our understanding of mammalian sex-biased dispersal}, - author={Lawson Handley, LJ and Perrin, N}, - journal={Molecular ecology}, - volume={16}, - number={8}, - pages={1559--1578}, - year={2007}, - publisher={Wiley Online Library} -} - -@misc{nathan2012dispersal, - title={Dispersal kernels: review In: Clobert J, Baguette M, Benton TG, Bullock JM, editors. Dispersal Ecology and Evolution}, - author={Nathan, R and Klein, E and Robledo-Arnuncio, JJ and Revilla, E}, - year={2012}, - publisher={Oxford: Oxford University Press} -} - -@article{palmer2011introducing, - title={Introducing a â€stochastic movement simulator’for estimating habitat connectivity}, - author={Palmer, Stephen CF and Coulon, Aurelie and Travis, Justin MJ}, - journal={Methods in Ecology and Evolution}, - volume={2}, - number={3}, - pages={258--268}, - year={2011}, - publisher={Wiley Online Library} -} - -@article{anderson2009dynamics, - title={Dynamics of range margins for metapopulations under climate change}, - author={Anderson, BJ and Ak{\c{c}}akaya, HR and Ara{\'u}jo, MB and Fordham, DA and Martinez-Meyer, E and Thuiller, W and Brook, BW}, - journal={Proceedings of the Royal Society B: Biological Sciences}, - volume={276}, - number={1661}, - pages={1415--1420}, - year={2009}, - publisher={The Royal Society London} -} - -@article{adriaensen2003application, - title={The application of â€least-cost’modelling as a functional landscape model}, - author={Adriaensen, Frank and Chardon, JP and De Blust, Geert and Swinnen, Else and Villalba, S and Gulinck, Hubert and Matthysen, Erik}, - journal={Landscape and urban planning}, - volume={64}, - number={4}, - pages={233--247}, - year={2003}, - publisher={Elsevier} -} - -@article{chardon2003incorporating, - title={Incorporating landscape elements into a connectivity measure: a case study for the Speckled wood butterfly (Pararge aegeria L.)}, - author={Chardon, J Paul and Adriaensen, Frank and Matthysen, Erik}, - journal={Landscape Ecology}, - volume={18}, - number={6}, - pages={561--573}, - year={2003}, - publisher={Springer} -} - -@article{stevens2006gene, - title={Gene flow and functional connectivity in the natterjack toad}, - author={Stevens, Virginie M and Verkenne, Catherine and Vandewoestijne, Sofie and Wesselingh, Renate A and Baguette, Michel}, - journal={Molecular Ecology}, - volume={15}, - number={9}, - pages={2333--2344}, - year={2006}, - publisher={Wiley Online Library} -} - -@article{driezen2007evaluating, - title={Evaluating least-cost model predictions with empirical dispersal data: a case-study using radiotracking data of hedgehogs (Erinaceus europaeus)}, - author={Driezen, Kassandra and Adriaensen, Frank and Rondinini, Carlo and Doncaster, C Patrick and Matthysen, Erik}, - journal={Ecological modelling}, - volume={209}, - number={2-4}, - pages={314--322}, - year={2007}, - publisher={Elsevier} -} - -@article{palmer2014inter, - title={Inter-individual variability in dispersal behaviours impacts connectivity estimates}, - author={Palmer, Stephen CF and Coulon, Aur{\'e}lie and Travis, Justin MJ}, - journal={Oikos}, - volume={123}, - number={8}, - pages={923--932}, - year={2014}, - publisher={Wiley Online Library} -} - -@article{aben2014simple, - title={Simple individual-based models effectively represent A frotropical forest bird movement in complex landscapes}, - author={Aben, Job and Strubbe, Diederik and Adriaensen, Frank and Palmer, Stephen CF and Travis, Justin MJ and Lens, Luc and Matthysen, Erik}, - journal={Journal of Applied Ecology}, - volume={51}, - number={3}, - pages={693--702}, - year={2014}, - publisher={Wiley Online Library} -} - -@article{zollner1999search, - title={Search strategies for landscape-level interpatch movements}, - author={Zollner, Patrick A and Lima, Steven L}, - journal={Ecology}, - volume={80}, - number={3}, - pages={1019--1030}, - year={1999}, - publisher={Wiley Online Library} -} - -@article{barton2009evolution, - title={The evolution of an â€intelligent’dispersal strategy: biased, correlated random walks in patchy landscapes}, - author={Barton, Kamil A and Phillips, Ben L and Morales, Juan M and Travis, Justin MJ}, - journal={Oikos}, - volume={118}, - number={2}, - pages={309--319}, - year={2009}, - publisher={Wiley Online Library} -} - -@article{barton2012risky, - title={Risky movement increases the rate of range expansion}, - author={Barto{\'n}, KA and Hovestadt, T and Phillips, BL and Travis, JMJ}, - journal={Proceedings of the Royal Society B: Biological Sciences}, - volume={279}, - number={1731}, - pages={1194--1202}, - year={2012}, - publisher={The Royal Society} -} - -@article{jongejans2008dispersal, - title={Dispersal, demography and spatial population models for conservation and control management}, - author={Jongejans, Eelke and Skarpaas, Olav and Shea, Katriona}, - journal={Perspectives in Plant Ecology, Evolution and Systematics}, - volume={9}, - number={3-4}, - pages={153--170}, - year={2008}, - publisher={Elsevier} -} - -@book{grimm2005individual, - title={Individual-based modeling and ecology}, - author={Grimm, Volker and Railsback, Steven F}, - volume={8}, - year={2005}, - publisher={Princeton university press} -} - -@article{kendall2003unstructured, - title={Unstructured individual variation and demographic stochasticity}, - author={Kendall, Bruce E and Fox, Gordon A}, - journal={Conservation biology}, - volume={17}, - number={4}, - pages={1170--1172}, - year={2003}, - publisher={JSTOR} -} - -@article{robert2003variation, - title={Variation among individuals, demographic stochasticity, and extinction: response to Kendall and Fox}, - author={Robert, Alexandre and Sarrazin, Fran{\c{c}}ois and Couvet, Denis}, - journal={Conservation Biology}, - volume={17}, - number={4}, - pages={1166--1169}, - year={2003}, - publisher={JSTOR} -} - -@article{clark2001invasion, - title={Invasion by extremes: population spread with variation in dispersal and reproduction}, - author={Clark, James S and Lewis, Mark and Horvath, Lajos}, - journal={The American Naturalist}, - volume={157}, - number={5}, - pages={537--554}, - year={2001}, - publisher={The University of Chicago Press} -} - -@article{bian2003representation, - title={The representation of the environment in the context of individual-based modeling}, - author={Bian, Ling}, - journal={Ecological Modelling}, - volume={159}, - number={2-3}, - pages={279--296}, - year={2003}, - publisher={Elsevier} -} - -@incollection{saupe1988algorithms, - title={Algorithms for random fractals}, - author={Saupe, Dietmar}, - booktitle={The science of fractal images}, - pages={71--136}, - year={1988}, - publisher={Springer} -} - -@article{pe2013simple, - title={Simple process-based simulators for generating spatial patterns of habitat loss and fragmentation: a review and introduction to the G-RaFFe model}, - author={Pe'er, Guy and Zurita, Gustavo A and Schober, Lucia and Bellocq, Maria I and Strer, Maximilian and M{\"u}ller, Michael and P{\"u}tz, Sandro}, - journal={PLoS One}, - volume={8}, - number={5}, - pages={e64968}, - year={2013}, - publisher={Public Library of Science} -} - -@article{with1997application, - title={The Application of Neutral Landscape Models in Conservation Biology: Aplicaci{\'o}n de Modelos de Paisaje Neutros en la Biolog{\'\i}a de la Conservaci{\'o}n}, - author={With, Kimberly A}, - journal={Conservation Biology}, - volume={11}, - number={5}, - pages={1069--1080}, - year={1997}, - publisher={Wiley Online Library} -} - -@article{chipperfield2011updated, - title={An updated algorithm for the generation of neutral landscapes by spectral synthesis}, - author={Chipperfield, Joseph D and Dytham, Calvin and Hovestadt, Thomas}, - journal={PLoS One}, - volume={6}, - number={2}, - pages={e17040}, - year={2011}, - publisher={Public Library of Science} -} - diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.bib b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.bib deleted file mode 100644 index c95e86b..0000000 --- a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.bib +++ /dev/null @@ -1,5146 +0,0 @@ - -@article{abenSimpleIndividualbasedModels2014, - title = {Simple Individual-Based Models Effectively Represent {{Afrotropical}} Forest Bird Movement in Complex Landscapes}, - author = {Aben, Job and Strubbe, Diederik and Adriaensen, Frank and Palmer, Stephen C. F. and Travis, Justin M. J. and Lens, Luc and Matthysen, Erik}, - year = {2014}, - journal = {Journal of Applied Ecology}, - volume = {51}, - number = {3}, - pages = {693--702}, - issn = {1365-2664}, - doi = {10.1111/1365-2664.12224}, - abstract = {Reliable estimates of dispersal rates between habitat patches (i.e. functional connectivity) are critical for predicting long-term effects of habitat fragmentation on population persistence. Connectivity measures are frequently derived from least cost path or graph-based approaches, despite the fact that these methods make biologically unrealistic assumptions. Individual-based models (IBMs) have been proposed as an alternative as they allow modelling movement behaviour in response to landscape resistance. However, IBMs typically require excessive data to be useful for management. Here, we test the extent to which an IBM requiring only an uncomplicated set of movement rules [the `stochastic movement simulator' (SMS)] can predict animal movement behaviour in real-world landscapes. Movement behaviour of two forest birds, the Cabanis's greenbul Phyllastrephus cabanisi (a forest specialist) and the white-starred robin Pogonocichla stellata (a habitat generalist), across an Afrotropical matrix was simulated using SMS. Predictions from SMS were evaluated against a set of detailed movement paths collected by radiotracking homing individuals. SMS was capable of generating credible predictions of bird movement, although simulations were sensitive to the cost values and the movement rules specified. Model performance was generally highest when movement was simulated across low-contrasting cost surfaces and when virtual individuals were assigned low directional persistence and limited perceptual range. SMS better predicted movements of the habitat specialist than the habitat generalist, which highlights its potential to model functional connectivity when species movements are affected by the matrix. Synthesis and applications. Modelling the dispersal process with greater biological realism is likely to be critical for improving our predictive capability regarding functional connectivity and population persistence. For more realistic models to be widely applied, it is vital that their application is not overly complicated or data demanding. Here, we show that given relatively basic understanding of a species' dispersal ecology, the stochastic movement simulator represents a promising tool for estimating connectivity, which can help improve the design of functional ecological networks aimed at successful species conservation.}, - langid = {english}, - keywords = {dispersal,functional connectivity,habitat fragmentation,homing experiment,perceptual range,true skill statistic}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/1365-2664.12224}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\BK8SA76N\\Aben et al. - 2014 - Simple individual-based models effectively represe.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\AMNGG6P5\\1365-2664.html} -} - -@article{adriaensenApplicationLeastcostModelling2003, - title = {The Application of `Least-Cost' Modelling as a Functional Landscape Model}, - author = {Adriaensen, F. and Chardon, J. P. and De Blust, G. and Swinnen, E. and Villalba, S. and Gulinck, H. and Matthysen, E.}, - year = {2003}, - month = aug, - journal = {Landscape and Urban Planning}, - volume = {64}, - number = {4}, - pages = {233--247}, - issn = {0169-2046}, - doi = {10.1016/S0169-2046(02)00242-6}, - abstract = {The growing awareness of the adverse effects of habitat fragmentation on natural systems has resulted in a rapidly increasing number of actions to reduce current fragmentation of natural systems as well as a growing demand for tools to predict and evaluate the effect of changes in the landscape on connectivity in the natural world. Recent studies used `least-cost' modelling (available as a toolbox in GIS-systems) to calculate `effective distance', a measure for distance modified with the cost to move between habitat patches based on detailed geographical information on the landscape as well as behavioural aspects of the organisms studied. We applied the method to a virtual landscape and a small scaled agricultural system subject to different scenarios in a land re-allotment project. We discuss the importance of technical aspects and ecological assumption underlying this modelling method. The model is shown to be a flexible tool to model functional connectivity in the study of the relation between landscape and mobility of organisms as well as in scenario building and evaluation in wild life protection projects and applied land management projects. Since `effective distance' has the same units as Euclidean distance (m), this effective distance may be a straightforward way to include landscape and behavioural aspects in other models which include distance as a measure for isolation. We show the importance of the `ecological' quality of the input maps and the choice of relevant landscape features and resistance values.}, - langid = {english}, - keywords = {Connectivity,Cost-distance,Effective distance,Environmental planning,Isolation,Landscape model}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\9X9J957L\\S0169204602002426.html} -} - -@article{altweggDensitydependentDispersalSpeed2013, - title = {Density-Dependent Dispersal and the Speed of Range Expansions}, - author = {Altwegg, Res and Collingham, Yvonne C. and Erni, Birgit and Huntley, Brian}, - year = {2013}, - journal = {Diversity and Distributions}, - volume = {19}, - number = {1}, - pages = {60--68}, - issn = {1472-4642}, - doi = {10.1111/j.1472-4642.2012.00943.x}, - abstract = {Aim The speed of range expansions, be it invasive species colonizing a new area or species tracking a moving climatic niche, critically depends on dispersal. Models for species' range expansions generally assume dispersal to be independent of local population densities. However, animals often disperse in response to high population size or alternatively may avoid or leave areas of very low population sizes. We explore whether such density dependence in dispersal can safely be ignored when predicting the speed of range expansions. Location Simulation study. Methods We use simulations to examine the effect of different forms of density dependence in emigration and immigration on the speed of range expansions. For emigration, we consider linear and nonlinear forms of positive density dependence, negative density dependence at low population densities and constant emigration rates. For immigration, we consider options where individuals avoid crowded patches, are attracted to the presence of conspecifics or settle independent of local density. Results The speed of range expansion was slowest when emigration was strongly positively related to density (higher emigration at higher densities) and when individuals avoided settling in low-density patches. It tended to be fastest under negatively density-dependent emigration (higher emigration at lower densities). These results were consistent across two different life histories and different levels of carrying capacity. Main conclusions Our results suggest that considering density-dependent dispersal and the mechanisms leading to it are important for correctly predicting species' rates of spread. Organisms with a tendency to aggregate, for example, by relying on conspecific attraction in settlement and emigrating mainly in response to high local densities, are predicted to be least likely to expand their ranges and most at risk from spatial shifts in their climatic niches.}, - langid = {english}, - keywords = {Allee effect,climate change,density-dependent emigration,density-dependent immigration,global change,invasion,range expansion,settlement,simulation model}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2012.00943.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\6HS9GCCF\\Altwegg et al. - 2013 - Density-dependent dispersal and the speed of range.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\QXVH4PMB\\j.1472-4642.2012.00943.html} -} - -@article{andersonDynamicsRangeMargins2009, - title = {Dynamics of Range Margins for Metapopulations under Climate Change}, - author = {Anderson, B.j and Ak{\c c}akaya, H.r and Ara{\'u}jo, M.b and Fordham, D.a and {Martinez-Meyer}, E and Thuiller, W and Brook, B.w}, - year = {2009}, - month = apr, - journal = {Proceedings of the Royal Society B: Biological Sciences}, - volume = {276}, - number = {1661}, - pages = {1415--1420}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.2008.1681}, - abstract = {We link spatially explicit climate change predictions to a dynamic metapopulation model. Predictions of species' responses to climate change, incorporating metapopulation dynamics and elements of dispersal, allow us to explore the range margin dynamics for two lagomorphs of conservation concern. Although the lagomorphs have very different distribution patterns, shifts at the edge of the range were more pronounced than shifts in the overall metapopulation. For Romerolagus diazi (volcano rabbit), the lower elevation range limit shifted upslope by approximately 700{$\mkern1mu$}m. This reduced the area occupied by the metapopulation, as the mountain peak currently lacks suitable vegetation. For Lepus timidus (European mountain hare), we modelled the British metapopulation. Increasing the dispersive estimate caused the metapopulation to shift faster on the northern range margin (leading edge). By contrast, it caused the metapopulation to respond to climate change slower, rather than faster, on the southern range margin (trailing edge). The differential responses of the leading and trailing range margins and the relative sensitivity of range limits to climate change compared with that of the metapopulation centroid have important implications for where conservation monitoring should be targeted. Our study demonstrates the importance and possibility of moving from simple bioclimatic envelope models to second-generation models that incorporate both dynamic climate change and metapopulation dynamics.}, - keywords = {elevation,extinction risk,global warming,latitude,population dynamics,range limits}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\SW9KLN7A\\Anderson et al. - 2009 - Dynamics of range margins for metapopulations unde.pdf} -} - -@article{araujoClimateChangeThreatens2011, - title = {Climate Change Threatens {{European}} Conservation Areas}, - author = {Ara{\'u}jo, Miguel B. and Alagador, Diogo and Cabeza, Mar and {Nogu{\'e}s-Bravo}, David and Thuiller, Wilfried}, - year = {2011}, - journal = {Ecology Letters}, - volume = {14}, - number = {5}, - pages = {484--492}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2011.01610.x}, - abstract = {Ecology Letters (2011) 14: 484\textendash 492 Abstract Europe has the world's most extensive network of conservation areas. Conservation areas are selected without taking into account the effects of climate change. How effectively would such areas conserve biodiversity under climate change? We assess the effectiveness of protected areas and the Natura 2000 network in conserving a large proportion of European plant and terrestrial vertebrate species under climate change. We found that by 2080, 58 {$\pm$} 2.6\% of the species would lose suitable climate in protected areas, whereas losses affected 63 {$\pm$} 2.1\% of the species of European concern occurring in Natura 2000 areas. Protected areas are expected to retain climatic suitability for species better than unprotected areas (P {$<$} 0.001), but Natura 2000 areas retain climate suitability for species no better and sometimes less effectively than unprotected areas. The risk is high that ongoing efforts to conserve Europe's biodiversity are jeopardized by climate change. New policies are required to avert this risk.}, - langid = {english}, - keywords = {Bioclimatic envelope models,climate change,conservation planning,gap analysis,Natura 2000 networks,protected areas}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2011.01610.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\U2354LV7\\AraĂşjo et al. - 2011 - Climate change threatens European conservation are.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\C2EKNDRI\\j.1461-0248.2011.01610.html} -} - -@article{araujoReducingUncertaintyProjections2005, - title = {Reducing Uncertainty in Projections of Extinction Risk from Climate Change}, - author = {Ara{\'u}jo, Miguel B. and Whittaker, Robert J. and Ladle, Richard J. and Erhard, Markus}, - year = {2005}, - journal = {Global Ecology and Biogeography}, - volume = {14}, - number = {6}, - pages = {529--538}, - issn = {1466-8238}, - doi = {10.1111/j.1466-822X.2005.00182.x}, - abstract = {Aim Concern over the implications of climate change for biodiversity has led to the use of species\textendash climate `envelope' models to forecast risks of species extinctions under climate change scenarios. Recent studies have demonstrated significant variability in model projections and there remains a need to test the accuracy of models and to reduce uncertainties. Testing of models has been limited by a lack of data against which projections of future ranges can be tested. Here we provide a first test of the predictive accuracy of such models using observed species' range shifts and climate change in two periods of the recent past. Location Britain. Methods Observed range shifts for 116 breeding bird species in Britain between 1967 and 1972 (t1) and 1987\textendash 91 (t2) are used. We project range shifts between t1 and t2 for each species based on observed climate using 16 alternative models (4 methods \texttimes{} 2 data parameterizations \texttimes{} 2 rules to transform probabilities of occurrence into presence and absence records). Results Modelling results were extremely variable, with projected range shifts varying both in magnitude and in direction from observed changes and from each other. However, using approaches that explore the central tendency (consensus) of model projections, we were able to improve agreement between projected and observed shifts significantly. Conclusions Our results provide the first empirical evidence of the value of species\textendash climate `envelope' models under climate change and demonstrate reduction in uncertainty and improvement in accuracy through selection of the most consensual projections.}, - langid = {english}, - keywords = {Bioclimatic envelope modelling,British birds,climate change,consensus forecasting,model variability,probabilistic modelling,species distributions,uncertainty}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-822X.2005.00182.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\QL2L633L\\AraĂşjo et al. - 2005 - Reducing uncertainty in projections of extinction .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PXZS6NGK\\j.1466-822X.2005.00182.html} -} - -@article{armsworthConditionalDispersalClines2008, - title = {Conditional Dispersal, Clines, and the Evolution of Dispersiveness}, - author = {Armsworth, Paul R.}, - year = {2008}, - journal = {Theoretical Ecology}, - volume = {2}, - number = {2}, - pages = {105--117}, - issn = {1874-1746}, - doi = {10.1007/s12080-008-0032-2}, - abstract = {Conditional dispersal, in which an individual's decision over whether to disperse is a response to environmental conditions, features prominently in studies of dispersal evolution. Using models of clines, I examine how one widely discussed cost of dispersal, namely, that dispersal impedes local adaptation, changes with conditional dispersal and what this implies for dispersal evolution. I examine the consequences for dispersal evolution of the responsiveness of dispersal to the environment, the accuracy of any proximal cues that individuals rely upon to assess habitat quality, and whether dispersal responds to fitness itself or only to some fitness components (juvenile survivorship). All of the conditional dispersal behaviors that I consider weaken the indirect cost of dispersal inhibiting local adaptation. However, if individuals rely on imprecise cues to assess habitat quality and base dispersal decisions on juvenile survivorship, then conditional dispersal can incur additional costs by exacerbating overcrowding. Conditional dispersal initially leads to steeper clines in traits under direct selection, but when dispersiveness can itself evolve, conditional dispersal allows sigmoidal clines to persist long after those obtained with unconditional movement would become stepped.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\4XFB9WFK\\Armsworth - 2009 - Conditional dispersal, clines, and the evolution o.pdf} -} - -@article{armsworthStructureClinesFitness2008, - title = {The {{Structure}} of {{Clines}} with {{Fitness}}-{{Dependent Dispersal}}.}, - author = {Armsworth, Paul R. and Roughgarden, Joan E.}, - year = {2008}, - month = nov, - journal = {The American Naturalist}, - volume = {172}, - number = {5}, - pages = {648--657}, - publisher = {{The University of Chicago Press}}, - issn = {0003-0147}, - doi = {10.1086/591685}, - abstract = {Spatial models commonly assume that dispersal does not depend on environmental conditions or phenotype. For example, these assumptions underpin explanations for clines on the basis of a trade-off between dispersal and local adaptation. We reexamine clines when an individual's decisions over whether and where to disperse depend on its fitness. We compare fitness-dependent dispersal with cases where dispersal responds to juvenile survivorship only. Clines are steeper the more responsive dispersal is to environmental conditions for all dispersal behaviors that we consider. Clines eventually become stepped as the responsiveness of dispersal to environmental conditions is increased for half of the dispersal behaviors we consider, but smooth clines are maintained for the remaining cases. Smooth clines are maintained by the biased movement of individuals out of the hybrid zone when individuals move directionally in response to gradients in juvenile survivorship, which is a different mechanism to that maintaining smooth clines in classic cline theory.}, - keywords = {cline,conditional dispersal,directed movement,fitnessâ€dependent dispersal,habitat selection,hybrid zone}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\CJSL35EC\\Armsworth und Roughgarden - 2008 - The Structure of Clines with Fitnessâ€Dependent Dis.pdf} -} - -@article{atkinsLocalAdaptationEvolution2010, - title = {Local Adaptation and the Evolution of Species' Ranges under Climate Change}, - author = {Atkins, K. E. and Travis, J. M. J.}, - year = {2010}, - month = oct, - journal = {Journal of Theoretical Biology}, - volume = {266}, - number = {3}, - pages = {449--457}, - issn = {0022-5193}, - doi = {10.1016/j.jtbi.2010.07.014}, - abstract = {The potential impact of climate change on biodiversity is well documented. A well developed range of statistical methods currently exists that projects the possible future habitat of a species directly from the current climate and a species distribution. However, studies incorporating ecological and evolutionary processes remain limited. Here, we focus on the potential role that local adaptation to climate may play in driving the range dynamics of sessile organisms. Incorporating environmental adaptation into a stochastic simulation yields several new insights. Counter-intuitively, our simulation results suggest that species with broader ranges are not necessarily more robust to climate change. Instead, species with broader ranges can be more susceptible to extinction as locally adapted genotypes are often blocked from range shifting by the presence of cooler adapted genotypes that persist even when their optimum climate has left them behind. Interestingly, our results also suggest that it will not always be the cold-adapted phenotypes that drive polewards range expansion. Instead, range shifts may be driven by phenotypes conferring adaptation to conditions prevalent towards the centre of a species' equilibrium distribution. This may have important consequences for the conservation method termed predictive provenancing. These initial results highlight the potential importance of local adaptation in determining how species will respond to climate change and we argue that this is an area requiring urgent theoretical and empirical attention.}, - langid = {english}, - keywords = {Environmental gradient,Environmental niche,Extinction,Local density dependence,Species’ range}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\Y5SR9B3N\\Atkins und Travis - 2010 - Local adaptation and the evolution of species’ ran.pdf} -} - -@article{bachEvolutionConditionalDispersal2007, - title = {On the Evolution of Conditional Dispersal under Environmental and Demographic Stochasticity}, - author = {Bach, Lars and Ripa, J{\"o}rgen and Lundberg, Per}, - year = {2007}, - journal = {Evolutionary Ecology}, - volume = {9}, - number = {4}, - pages = {663--673}, - publisher = {{Springer}}, - issn = {1573-8477}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\22L7H7FA\\on-the-evolution-of-conditional-dispersal-under-environmental-and-demographic-stochasticity(f23.html} -} - -@article{baguetteIndividualDispersalLandscape2013, - title = {Individual Dispersal, Landscape Connectivity and Ecological Networks}, - author = {Baguette, Michel and Blanchet, Simon and Legrand, Delphine and Stevens, Virginie M. and Turlure, Camille}, - year = {2013}, - journal = {Biological Reviews}, - volume = {88}, - number = {2}, - pages = {310--326}, - issn = {1469-185X}, - doi = {10.1111/brv.12000}, - abstract = {Connectivity is classically considered an emergent property of landscapes encapsulating individuals' flows across space. However, its operational use requires a precise understanding of why and how organisms disperse. Such movements, and hence landscape connectivity, will obviously vary according to both organism properties and landscape features. We review whether landscape connectivity estimates could gain in both precision and generality by incorporating three fundamental outcomes of dispersal theory. Firstly, dispersal is a multi-causal process; its restriction to an `escape reaction' to environmental unsuitability is an oversimplification, as dispersing individuals can leave excellent quality habitat patches or stay in poor-quality habitats according to the relative costs and benefits of dispersal and philopatry. Secondly, species, populations and individuals do not always react similarly to those cues that trigger dispersal, which sometimes results in contrasting dispersal strategies. Finally, dispersal is a major component of fitness and is thus under strong selective pressures, which could generate rapid adaptations of dispersal strategies. Such evolutionary responses will entail spatiotemporal variation in landscape connectivity. We thus strongly recommend the use of genetic tools to: (i) assess gene flow intensity and direction among populations in a given landscape; and (ii) accurately estimate landscape features impacting gene flow, and hence landscape connectivity. Such approaches will provide the basic data for planning corridors or stepping stones aiming at (re)connecting local populations of a given species in a given landscape. This strategy is clearly species- and landscape-specific. But we suggest that the ecological network in a given landscape could be designed by stacking up such linkages designed for several species living in different ecosystems. This procedure relies on the use of umbrella species that are representative of other species living in the same ecosystem.}, - langid = {english}, - keywords = {biodiversity,biological conservation,extinction,functional connectivity,gene flow,habitat selection,ideal free distribution,individual fitness,landscape,landscape fragmentation,landscape genetics,linkage strategy,population isolation,seascape,structural connectivity,umbrella species,water basin}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/brv.12000}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\BITCE59D\\Baguette et al. - 2013 - Individual dispersal, landscape connectivity and e.pdf} -} - -@article{baguetteLandscapeConnectivityAnimal2007, - title = {Landscape Connectivity and Animal Behavior: Functional Grain as a Key Determinant for Dispersal}, - shorttitle = {Landscape Connectivity and Animal Behavior}, - author = {Baguette, Michel and Van Dyck, Hans}, - year = {2007}, - month = oct, - journal = {Landscape Ecology}, - volume = {22}, - number = {8}, - pages = {1117--1129}, - issn = {1572-9761}, - doi = {10.1007/s10980-007-9108-4}, - abstract = {Landscape connectivity can be viewed from two perspectives that could be considered as extremes of a gradient: functional connectivity (refers to how the behavior of a dispersing organism is affected by landscape structure and elements) and structural connectivity (depends on the spatial configuration of habitat patches in the landscape like vicinity or presence of barriers). Here we argue that dispersal behavior changes with landscape configuration stressing the evolutionary dimension that has often been ignored in landscape ecology. Our working hypothesis is that the functional grain of resource patches in the landscape is a crucial factor shaping individual movements, and therefore influencing landscape connectivity. Such changes are likely to occur on the short-term (some generations). We review empirical studies comparing dispersal behavior in landscapes differing in their fragmentation level, i.e., with variable resource grain. We show that behavioral variation affecting each of the three stages of the dispersal process (emigration, displacement or transfer in the matrix, and immigration) is indeed likely to occur according to selective pressures resulting from changes in the grain of the landscape (mortality or deferred costs). Accordingly, landscape connectivity results from the interaction between the dispersal behavior of individuals and the grain of each particular landscape. The existence of this interaction requires that connectivity estimates (being based on individual-based models, least cost distance algorithms, and structural connectivity metrics or even Euclidian distance) should be carefully evaluated for their applicability with respect to the required level of precision in species-specific and landscape information.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\MDCFMANN\\Baguette und Van Dyck - 2007 - Landscape connectivity and animal behavior functi.pdf} -} - -@article{baguetteLongDistanceDispersal2003, - title = {Long {{Distance Dispersal}} and {{Landscape Occupancy}} in a {{Metapopulation}} of the {{Cranberry Fritillary Butterfly}}}, - author = {Baguette, Michel}, - year = {2003}, - journal = {Ecography}, - volume = {26}, - number = {2}, - pages = {153--160}, - publisher = {{[Nordic Society Oikos, Wiley]}}, - issn = {0906-7590}, - abstract = {Movements between habitat patches in a patchy population of the butterfly Boloria aquilonaris were monitored using capture-mark-recapture methods during three successive generations. For each data set, the inverse cumulative proportion of individuals moving 100 m distance classes was fitted to the negative exponential function and the inverse power function. In each case, the negative exponential function provided a better fit than the inverse power function. Two dispersal kernels were generated using both negative exponential and inverse power functions. These dispersal kernels were used to predict movements between 14 suitable sites in a landscape of \$220\textbackslash{} \{\textbackslash rm km\}\^\{2\}\$. The negative exponential function generated a dispersal kernel predicting extremely low probabilities for movements exceeding 1 km. The inverse power function generated probabilities predicting that between site movements were possible, according to metapopulation size. CMR studies in the landscape revealed that long distance movements occurred at each generation, corresponding to predictions of the inverse power function dispersal kernel. A total of 26 movements between sites (up to 13 km) were detected, together with recolonisation of empty sites. The spatial scale of the metapopulation dynamics is larger than ever reported on butterflies and long distance movements clearly matter to the persistence of this species in a highly fragmented landscape.} -} - -@article{bakerIncrementalCostsBenefits2004, - title = {Incremental {{Costs}} and {{Benefits Shape Natal Dispersal}}: {{Theory}} and {{Example}} with {{Hemilepistus}} Reaumuri}, - shorttitle = {Incremental {{Costs}} and {{Benefits Shape Natal Dispersal}}}, - author = {Baker, Mitchell B. and Rao, Steven}, - year = {2004}, - journal = {Ecology}, - volume = {85}, - number = {4}, - pages = {1039--1051}, - publisher = {{Ecological Society of America}}, - issn = {0012-9658}, - abstract = {Incremental (distance-dependent) costs and benefits of dispersal have received less attention than those that are qualitative. We present a dynamic programming model of settling behavior using parameters estimated from a field study of dispersal in desert isopods, Hemilepistus reaumuri, which walk up to thousands of meters before settling in new or already-established burrows each spring. The model shows that incremental costs of dispersal lead to right-skewed population dispersal patterns, in contrast to cost-free systems or those with unitary costs (i.e., a one time cost of leaving a group or patch). In the model, continuous variation in habitat quality, as opposed to discrete suitable vs. unsuitable sites, allows for trade-offs with dispersal costs that lead to shifts in the likelihood of settling in a patch of a given quality. Thus, measurement of quantitative costs and benefits of movement are needed to understand population dispersal distributions. These costs or benefits may be observable during or after movement, and we examined both pre- and postsettling incremental consequences of dispersal. The daily mortality rate of traveling isopods was 4.2\% during the dispersal season, higher than that of settled individuals. Successful settlers traveled more slowly, but burrows started in midseason were most likely to succeed. More distant burrows failed more often, suggesting either an additional cost of movement or a difference in the quality of individuals traveling different distances. The predicted mean dispersal duration from the simulations matched observed values closely, but was based on an unrealistic assumption of perfect knowledge of habitat quality, suggesting some other factor favors longer times before settling. Reproductive success was much higher in re-used burrows than in new burrows, making them a possible incentive for long-distance movements.} -} - -@article{balciauskasEstimationCarryingCapacity2009, - title = {Estimation of {{Carrying Capacity}} and {{Growth Rate}} of {{Wolf}} in {{Lithuania}}}, - author = {Bal{\v c}iauskas, Linas and Kawata, Yukichika}, - year = {2009}, - month = jan, - journal = {Acta Zoologica Lituanica}, - volume = {19}, - number = {2}, - pages = {79--84}, - publisher = {{Taylor \& Francis}}, - issn = {1392-1657}, - doi = {10.2478/v10043-009-0018-3}, - abstract = {The purpose of this paper is to estimate ecological carrying capacity (K) and growth rate (r) of Lithuanian wolf based on the estimated population sizes and number of harvests from 1966 to 2007. We used the modified Schaefer model where population dynamics is described by the logistic-equation-type growth function with time lag operator ({$\tau$}) and harvest. We statistically selected the best model whose {$\tau$} value was 4 and estimated value of K and r were 626 heads for the total Lithuanian territory and 0.776/ year, respectively. Then we examined the appropriateness of the values from the ecological point of view and concluded that ecological carrying capacity is supported by the prey base of wild animals, mainly cervids, and also by depredation on domestic animals. In 1994\textendash 1998, the population was near ecological carrying capacity or exceeding it, what we explain by high ecological plasticity of the species and increased use of domestic animals.}, - keywords = {Canis lupus,ecological carrying capacity,growth rate,Schaefer model}, - annotation = {\_eprint: https://doi.org/10.2478/v10043-009-0018-3}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\HUEETBTZ\\BalÄŤiauskas und Kawata - 2009 - Estimation of Carrying Capacity and Growth Rate of.pdf} -} - -@article{bartonEvolutionIntelligentDispersal2009, - title = {The Evolution of an `Intelligent' Dispersal Strategy: Biased, Correlated Random Walks in Patchy Landscapes}, - shorttitle = {The Evolution of an `Intelligent' Dispersal Strategy}, - author = {Barto{\'n}, Kamil A. and Phillips, Ben L. and Morales, Juan M. and Travis, Justin M. J.}, - year = {2009}, - journal = {Oikos}, - volume = {118}, - number = {2}, - pages = {309--319}, - issn = {1600-0706}, - doi = {10.1111/j.1600-0706.2008.16936.x}, - abstract = {Theoretical work exploring dispersal evolution focuses on the emigration rate of individuals and typically assumes that movement occurs either at random to any other patch or to one of the nearest-neighbour patches. There is a lack of work exploring the process by which individuals move between patches, and how this process evolves. This is of concern because any organism that can exert control over dispersal direction can potentially evolve efficiencies in locating patches, and the process by which individuals find new patches will potentially have major effects on metapopulation dynamics and gene flow. Here, we take an initial step towards filling this knowledge gap. To do this we constructed a continuous space population model, in which individuals each carry heritable trait values that specify the characteristics of the biased correlated random walk they use to disperse from their natal patch. We explore how the evolution of the random walk depends upon the cost of dispersal, the density of patches in the landscape, and the emigration rate. The clearest result is that highly correlated walks always evolved (individuals tended to disperse in relatively straight lines from their natal patch), reflecting the efficiency of straight-line movement. In our models, more costly dispersal resulted in walks with higher correlation between successive steps. However, the exact walk that evolved also depended upon the density of suitable habitat patches, with low density habitat evolving more biased walks (individuals which orient towards suitable habitat at quite large distances from that habitat). Thus, low density habitat will tend to develop individuals which disperse efficiently between adjacent habitat patches but which only rarely disperse to more distant patches; a result that has clear implications for metapopulation theory. Hence, an understanding of the movement behaviour of dispersing individuals is critical for robust long-term predictions of population dynamics in fragmented landscapes.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2008.16936.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\JNCMDJPJ\\Barton et al. - 2009 - The evolution of an â€intelligent’ dispersal strate.pdf} -} - -@article{bartonRiskyMovementIncreases2012, - title = {Risky Movement Increases the Rate of Range Expansion}, - author = {Barto{\'n}, K. A. and Hovestadt, T. and Phillips, B. L. and Travis, J. M. J.}, - year = {2012}, - month = mar, - journal = {Proceedings of the Royal Society B: Biological Sciences}, - volume = {279}, - number = {1731}, - pages = {1194--1202}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.2011.1254}, - abstract = {The movement rules used by an individual determine both its survival and dispersal success. Here, we develop a simple model that links inter-patch movement behaviour with population dynamics in order to explore how individual dispersal behaviour influences not only its dispersal and survival, but also the population's rate of range expansion. Whereas dispersers are most likely to survive when they follow nearly straight lines and rapidly orient movement towards a non-natal patch, the most rapid rates of range expansion are obtained for trajectories in which individuals delay biasing their movement towards a non-natal patch. This result is robust to the spatial structure of the landscape. Importantly, in a set of evolutionary simulations, we also demonstrate that the movement strategy that evolves at an expanding front is much closer to that maximizing the rate of range expansion than that which maximizes the survival of dispersers. Our results suggest that if one of our conservation goals is the facilitation of range-shifting, then current indices of connectivity need to be complemented by the development and utilization of new indices providing a measure of the ease with which a species spreads across a landscape.}, - keywords = {biased correlated random walk,evolution,individual-based model,movement,range margin}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\M8C2KNS4\\BartoĹ„ et al. - 2012 - Risky movement increases the rate of range expansi.pdf} -} - -@article{beaumontApproximateBayesianComputation2010, - title = {Approximate {{Bayesian Computation}} in {{Evolution}} and {{Ecology}}}, - author = {Beaumont, Mark A.}, - year = {2010}, - journal = {Annual Review of Ecology, Evolution, and Systematics}, - volume = {41}, - number = {1}, - pages = {379--406}, - doi = {10.1146/annurev-ecolsys-102209-144621}, - abstract = {In the past 10years a statistical technique, approximate Bayesian computation (ABC), has been developed that can be used to infer parameters and choose between models in the complicated scenarios that are often considered in the environmental sciences. For example, based on gene sequence and microsatellite data, the method has been used to choose between competing models of human demographic history as well as to infer growth rates, times of divergence, and other parameters. The method fits naturally in the Bayesian inferential framework, and a brief overview is given of the key concepts. Three main approaches to ABC have been developed, and these are described and compared. Although the method arose in population genetics, ABC is increasingly used in other fields, including epidemiology, systems biology, ecology, and agent-based modeling, and many of these applications are briefly described.}, - annotation = {\_eprint: https://doi.org/10.1146/annurev-ecolsys-102209-144621}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\GYAR69T9\\Beaumont - 2010 - Approximate Bayesian Computation in Evolution and .pdf} -} - -@article{bellardImpactsClimateChange2012, - title = {Impacts of Climate Change on the Future of Biodiversity}, - author = {Bellard, C{\'e}line and Bertelsmeier, Cleo and Leadley, Paul and Thuiller, Wilfried and Courchamp, Franck}, - year = {2012}, - month = apr, - journal = {Ecology Letters}, - volume = {15}, - number = {4}, - pages = {365--377}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2011.01736.x}, - abstract = {Many studies in recent years have investigated the effects of climate change on the future of biodiversity. In this review, we first examine the different possible effects of climate change that can operate at individual, population, species, community, ecosystem and biome scales, notably showing that species can respond to climate change challenges by shifting their climatic niche along three non-exclusive axes: time (e.g. phenology), space (e.g. range) and self (e.g. physiology). Then, we present the principal specificities and caveats of the most common approaches used to estimate future biodiversity at global and sub-continental scales and we synthesise their results. Finally, we highlight several challenges for future research both in theoretical and applied realms. Overall, our review shows that current estimates are very variable, depending on the method, taxonomic group, biodiversity loss metrics, spatial scales and time periods considered. Yet, the majority of models indicate alarming consequences for biodiversity, with the worst-case scenarios leading to extinction rates that would qualify as the sixth mass extinction in the history of the earth.}, - langid = {english}, - pmcid = {PMC3880584}, - pmid = {22257223}, - keywords = {Biodiversity,climate change,Climate Change,Conservation of Natural Resources,Ecosystem,Models; Theoretical,Population Dynamics,species extinctions}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\HLSEUUDE\\Bellard et al. - 2012 - Impacts of climate change on the future of biodive.pdf} -} - -@incollection{bentonDispersalInvertebratesInfluences2012, - title = {Dispersal in Invertebrates: Influences on Individual Decisions}, - shorttitle = {Dispersal in Invertebrates}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Benton, Tim G. and Bowler, Diana E.}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0004}, - abstract = {This chapter briefly lists some of the generic factors that differentiate dispersal in invertebrates from vertebrates. Invertebrates can have considerable flexibility in their life histories and can often develop specific machinery or life-history stages for movement or a combination of life-history stage and behaviour. This makes the overall context of the life history crucial in determining the scope for dispersal, which is often constrained developmentally into a short period. There has been an increasing recognition that variability between individuals is both ubiquitous and important in ecology. The purpose of this chapter is to focus on the proximal factors that influence an individual's decisions, using examples from invertebrates. Environmental factors are first addressed, followed by the role of an individual's age, stage, sex, and condition on dispersal decisions.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {ecology,invertebrates,life histories,life-history stages,variability,vertebrates} -} - -@article{bentonMicrocosmExperimentsCan2007, - title = {Microcosm Experiments Can Inform Global Ecological Problems}, - author = {Benton, Tim G. and Solan, Martin and Travis, Justin M. J. and Sait, Steven M.}, - year = {2007}, - month = oct, - journal = {Trends in Ecology \& Evolution}, - volume = {22}, - number = {10}, - pages = {516--521}, - issn = {0169-5347}, - doi = {10.1016/j.tree.2007.08.003}, - abstract = {Global-scale environmental problems are rarely regarded as amenable to traditional scientific experiment. We argue here that small-scale experiments using `model organisms' in microcosms or mesocosms can be a useful approach for apparently intractable global problems, such as ecosystem responses to climate change or managing biodiversity through the design of nature reserves. An experimental, small-scale research programme can easily be coupled with the development of theory and act as a stimulus to further research, thereby hastening both understanding of the issues and development of practical solutions. This process \textendash{} from microcosm experiment to the development of practical application \textendash{} has previously been influential but also has a long time lag. We suggest short-cuts in an attempt to stimulate the use of small-scale experiments to address globally urgent issues with meaningful policy implications.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\L32VQKBL\\S0169534707002315.html} -} - -@article{bessa-gomesDiscreteTwosexModels2010, - title = {Discrete Two-Sex Models of Population Dynamics: {{On}} Modelling the Mating Function}, - shorttitle = {Discrete Two-Sex Models of Population Dynamics}, - author = {{Bessa-Gomes}, Carmen and Legendre, St{\'e}phane and Clobert, Jean}, - year = {2010}, - month = sep, - journal = {Acta Oecologica}, - volume = {36}, - pages = {439--445}, - issn = {1146-609X}, - doi = {10.1016/j.actao.2010.02.010}, - abstract = {Although sexual reproduction has long been a central subject of theoretical ecology, until recently its consequences for population dynamics were largely overlooked. This is now changing, and many studies have addressed this issue, showing that when the mating system is taken into account, the population dynamics depends on the relative abundance of males and females, and is non-linear. Moreover, sexual reproduction increases the extinction risk, namely due to the Allee effect. Nevertheless, different studies have identified diverse potential consequences, depending on the choice of mating function. In this study, we investigate the consequences of three alternative mating functions that are frequently used in discrete population models: the minimum; the harmonic mean; and the modified harmonic mean. We consider their consequences at three levels: on the probability that females will breed; on the presence and intensity of the Allee effect; and on the extinction risk. When we consider the harmonic mean, the number of times the individuals of the least abundant sex mate exceeds their mating potential, which implies that with variable sex-ratios the potential reproductive rate is no longer under the modeller's control. Consequently, the female breeding probability exceeds 1 whenever the sex-ratio is male-biased, which constitutes an obvious problem. The use of the harmonic mean is thus only justified if we think that this parameter should be re-defined in order to represent the females' breeding rate and the fact that females may reproduce more than once per breeding season. This phenomenon buffers the Allee effect, and reduces the extinction risk. However, when we consider birth-pulse populations, such a phenomenon is implausible because the number of times females can reproduce per birth season is limited. In general, the minimum or modified harmonic mean mating functions seem to be more suitable for assessing the impact of mating systems on population dynamics.} -} - -@article{bestWhichSpeciesWill2007, - title = {Which Species Will Succesfully Track Climate Change? {{The}} Influence of Intraspecific Competition and Density Dependent Dispersal on Range Shifting Dynamics}, - shorttitle = {Which Species Will Succesfully Track Climate Change?}, - author = {Best, A. S. and Johst, K. and M{\"u}nkem{\"u}ller, T. and Travis, J. M. J.}, - year = {2007}, - journal = {Oikos}, - volume = {116}, - number = {9}, - pages = {1531--1539}, - issn = {1600-0706}, - doi = {10.1111/j.0030-1299.2007.16047.x}, - abstract = {Understanding the ability of species to shift their geographic range is of considerable importance given the current period of rapid climate change. Furthermore, a greater understanding of the spatial population dynamics underlying range shifting is required to complement the advances made in climate niche modelling. A simulation model is developed which incorporates three key features that have been largely overlooked in studies of range shifting dynamics: the form of intraspecific competition, density dependent dispersal and the transient dynamics of habitat patches. The results show that the exact shape of the response depends critically on both local and patch dynamics. Species whose intraspecific competition is contest based are more vulnerable than those whose competition is scramble based. Contesters are especially sensitive when combined with density dependent dispersal. Species living in patches whose carrying capacity grows slowly are also susceptible to rapid shifts of environmental conditions. A complementary analytic approach further highlights the importance of intraspecific competition.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0030-1299.2007.16047.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\IJZ8ET6D\\Best et al. - 2007 - Which species will succesfully track climate chang.pdf} -} - -@article{bianRepresentationEnvironmentContext2003, - title = {The Representation of the Environment in the Context of Individual-Based Modeling}, - author = {Bian, Ling}, - year = {2003}, - month = jan, - journal = {Ecological Modelling}, - volume = {159}, - number = {2}, - pages = {279--296}, - issn = {0304-3800}, - doi = {10.1016/S0304-3800(02)00298-3}, - abstract = {Individual-based modeling includes the explicit representation of the environment, to which individual organisms interact. From the perspective of spatial representation, spatially extended environment is different from discrete individual organisms, thus the success of object-orientation in the representation of individual organisms may not be applicable to the representation of the environment. Over the past few years, the attempt to adopt object-orientation in the representation of the environment has stimulated interesting discussions over what space is and how it may be represented in ecological modeling. The objective of this paper is to evaluate the merit of two traditional approaches used to represent the environment, i.e., the grid model and the patch model, and, in particular, the object-oriented versions of the two approaches in the representation of the environment. Two case studies are provided in support of the discussions of how the environment may be represented. One case study concerns individual fish growth and movement in an aquatic environment and the other concerns the movement of calving elk in a short-grass prairie. The discussion stresses the importance of two issues in the context of individual-based modeling: (1) the distinction between object-orientation used as a programming technique and as a representation means, and (2) the conceptual compatibility between a perceived phenomenon and the approach used to represent the phenomenon. It is suggested that caution be exercised in the practice of treating cells as objects. The paper concludes that two approaches may be appropriate for individual-based modeling. One is a hybrid approach that incorporates the traditional grid model of the environment and an object-oriented model of individual organisms. The other is the all-object approach that combines the object-oriented patches of the environment and the object-oriented individual organisms.}, - langid = {english}, - keywords = {Individual-based modeling,Object-orientation,Spatial representation}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RLNSJF35\\S0304380002002983.html} -} - -@article{bitumeDensityGeneticRelatedness2013, - title = {Density and Genetic Relatedness Increase Dispersal Distance in a Subsocial Organism}, - author = {Bitume, E. V. and Bonte, D. and Ronce, O. and Bach, F. and Flaven, E. and Olivieri, I. and Nieberding, C. M.}, - year = {2013}, - journal = {Ecology Letters}, - volume = {16}, - number = {4}, - pages = {430--437}, - issn = {1461-0248}, - doi = {10.1111/ele.12057}, - abstract = {Although dispersal distance plays a major role in determining whether organisms will reach new habitats, empirical data on the environmental factors that affect dispersal distance are lacking. Population density and kin competition are two factors theorised to increase dispersal distance. Using the two-spotted spider mite as a model species, we altered these two environmental conditions and measured the mean dispersal distance of individuals, as well as other attributes of the dispersal kernel. We find that both density and relatedness in the release patch increase dispersal distance. Relatedness, but not density, changes the shape of the dispersal kernel towards a more skewed and leptokurtic shape including a longer `fat-tail'. This is the first experimental demonstration that kin competition can shape the whole distribution of dispersal distances in a population, and thus affect the geographical spread of dispersal phenotypes.}, - langid = {english}, - keywords = {Conditional dispersal,density,distance,invasion,kernel,plasticity,relatedness}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ele.12057}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\8XQNKD3E\\Bitume et al. - 2013 - Density and genetic relatedness increase dispersal.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\7RE73I53\\ele.html} -} - -@article{bocediEffectsLocalAdaptation2013, - title = {Effects of Local Adaptation and Interspecific Competition on Species' Responses to Climate Change}, - author = {Bocedi, Greta and Atkins, Katherine E. and Liao, Jishan and Henry, Roslyn C. and Travis, Justin M. J. and Hellmann, Jessica J.}, - year = {2013}, - month = sep, - journal = {Annals of the New York Academy of Sciences}, - volume = {1297}, - pages = {83--97}, - issn = {1749-6632}, - doi = {10.1111/nyas.12211}, - abstract = {Local adaptation and species interactions have been shown to affect geographic ranges; therefore, we need models of climate impact that include both factors. To identify possible dynamics of species when including these factors, we ran simulations of two competing species using an individual-based, coupled map-lattice model using a linear climatic gradient that varies across latitude and is warmed over time. Reproductive success is governed by an individual's adaptation to local climate as well as its location relative to global constraints. In exploratory experiments varying the strength of adaptation and competition, competition reduces genetic diversity and slows range change, although the two species can coexist in the absence of climate change and shift in the absence of competitors. We also found that one species can drive the other to extinction, sometimes long after climate change ends. Weak selection on local adaptation and poor dispersal ability also caused surfing of cooler-adapted phenotypes from the expanding margin backwards, causing loss of warmer-adapted phenotypes. Finally, geographic ranges can become disjointed, losing centrally-adapted genotypes. These initial results suggest that the interplay between local adaptation and interspecific competition can significantly influence species' responses to climate change, in a way that demands future research.}, - langid = {english}, - pmid = {23905876}, - keywords = {Adaptation; Physiological,Animals,Biodiversity,Climate,climate change,Climate Change,competition,Computer Simulation,Ecology,Genetic Variation,geographic range shift,Geography,lattice map model,local adaptation,Phenotype,Plants,species interactions,Species Specificity,Temperature} -} - -@article{bocediProjectingSpeciesRange2012a, - title = {Projecting Species' Range Expansion Dynamics: {{Sources}} of Systematic Biases When Scaling up Patterns and Processes}, - shorttitle = {Projecting Species' Range Expansion Dynamics}, - author = {Bocedi, Greta and Pe'er, Guy and Heikkinen, Risto and Matsinos, Yiannis and Travis, Justin}, - year = {2012}, - month = dec, - journal = {Methods in Ecology and Evolution}, - volume = {3}, - pages = {1008--1018}, - doi = {10.1111/j.2041-210X.2012.00235.x}, - abstract = {1. Dynamic simulation models are a promising tool for assessing how species respond to habitat fragmentation and climate change. However, sensitivity of their outputs to impacts of spatial resolution is insufficiently known. 2. Using an individual-based dynamic model for species' range expansion, we demonstrate an inherent risk of substantial biases resulting from choices relating to the resolution at which key patterns and processes are modelled. 3. Increasing cell size leads to overestimating dispersal distances, the extent of the range shift and population size. Overestimation accelerates with cell size for species with short dispersal capacity and is particularly severe in highly fragmented landscapes. 4. The overestimation results from three main interacting sources: homogenisation of spatial information, alteration of dispersal kernels and stabilisation/aggregation of population dynamics. 5. We urge for caution in selecting the spatial resolution used in dynamic simulations and other predictive models and highlight the urgent need to develop upscaling methods that maintain important patterns and processes at fine scales.}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RUMGZ673\\Bocedi et al. - 2012 - Projecting species' range expansion dynamics Sour.pdf} -} - -@article{bocediRangeShifterPlatformModelling2014, - title = {{{RangeShifter}}: A Platform for Modelling Spatial Eco-Evolutionary Dynamics and Species' Responses to Environmental Changes}, - shorttitle = {{{RangeShifter}}}, - author = {Bocedi, Greta and Palmer, Stephen C. F. and Pe'er, Guy and Heikkinen, Risto K. and Matsinos, Yiannis G. and Watts, Kevin and Travis, Justin M. J.}, - year = {2014}, - journal = {Methods in Ecology and Evolution}, - volume = {5}, - number = {4}, - pages = {388--396}, - issn = {2041-210X}, - doi = {10.1111/2041-210X.12162}, - abstract = {Rapid environmental changes are threatening biodiversity and exposing species to novel ecological and evolutionary pressures. The scientific community increasingly recognizes the need for dynamic models integrating sufficient complexity both to improve our understanding of species' responses to environmental changes and to inform effective management strategies. Using three illustrative examples, we introduce a novel modelling platform, RangeShifter, which integrates complex population dynamics and dispersal behaviour, includes plastic and evolutionary processes and simulates scenarios on spatially explicit landscapes. The software provides functionality for a wide variety of modelling applications ranging from applied questions, where it can be parameterized for real landscapes and species to compare alternative potential management interventions, to purely theoretical studies of species' eco-evolutionary dynamics and responses to different environmental pressures. RangeShifter provides an important tool for facilitating the advancement of ecological theory on species' spatial dynamics in response to environmental changes, and linking it directly to application in biodiversity conservation.}, - langid = {english}, - keywords = {connectivity,dispersal,dynamic modelling,environmental change,individual-based modelling,population dynamics,population viability}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.12162}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\QHNGAGMT\\Bocedi et al. - 2014 - RangeShifter a platform for modelling spatial eco.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\7ZLZZ8X7\\2041-210X.html} -} - -@article{bocediUncertaintyRoleInformation2012, - title = {Uncertainty and the {{Role}} of {{Information Acquisition}} in the {{Evolution}} of {{Context-Dependent Emigration}}.}, - author = {Bocedi, Greta and Heinonen, Johannes and Travis, Justin M. J.}, - year = {2012}, - month = may, - journal = {The American Naturalist}, - volume = {179}, - number = {5}, - pages = {606--620}, - publisher = {{The University of Chicago Press}}, - issn = {0003-0147}, - doi = {10.1086/665004}, - abstract = {There is increasing empirical evidence that individuals utilize social and environmental cues in making decisions as to whether or not to disperse. However, we lack theory exploring the influence of information acquisition and use on the evolution of dispersal strategies and metapopulation dynamics. We used an individual-based, spatially explicit simulation model to explore the evolution of emigration strategies under varying precision of information about the natal patch, cost of information acquisition, and environmental predictability. Our findings show an interesting interplay between information use and the evolved emigration propensity. Lack of information led to higher emigration probabilities in more unpredictable environments but to lower emigration probabilities in constant or highly predictable scenarios. Somewhat-informed dispersal strategies were selected for in most cases, even when the acquisition of information was associated with a moderate reproductive cost. Notably, selection rarely favored investment in acquisition of high-precision information, and the tendency to invest in information acquisition was greatest in predictable environments when the associated cost was low. Our results highlight that information use can affect dispersal in a complex manner and also emphasize that information-acquisition behaviors can themselves come under strong selection, resulting in evolutionary dynamics that are tightly coupled to those of context-dependent behaviors.}, - keywords = {context-dependent dispersal,cost of information,emigration,environmental stochasticity,information,uncertainty}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VIVSA5K9\\Bocedi et al. - 2012 - Uncertainty and the Role of Information Acquisitio.pdf} -} - -@article{boeyeMoreRapidClimate2013, - title = {More Rapid Climate Change Promotes Evolutionary Rescue through Selection for Increased Dispersal Distance}, - author = {Boeye, Jeroen and Travis, Justin M J and Stoks, Robby and Bonte, Dries}, - year = {2013}, - month = feb, - journal = {Evolutionary Applications}, - volume = {6}, - number = {2}, - pages = {353--364}, - issn = {1752-4571}, - doi = {10.1111/eva.12004}, - abstract = {Species can either adapt to new conditions induced by climate change or shift their range in an attempt to track optimal environmental conditions. During current range shifts, species are simultaneously confronted with a second major anthropogenic disturbance, landscape fragmentation. Using individual-based models with a shifting climate window, we examine the effect of different rates of climate change on the evolution of dispersal distances through changes in the genetically determined dispersal kernel. Our results demonstrate that the rate of climate change is positively correlated to the evolved dispersal distances although too fast climate change causes the population to crash. When faced with realistic rates of climate change, greater dispersal distances evolve than those required for the population to keep track of the climate, thereby maximizing population size. Importantly, the greater dispersal distances that evolve when climate change is more rapid, induce evolutionary rescue by facilitating the population in crossing large gaps in the landscape. This could ensure population persistence in case of range shifting in fragmented landscapes. Furthermore, we highlight problems in using invasion speed as a proxy for potential range shifting abilities under climate change.}, - pmcid = {PMC3586623}, - pmid = {23467649}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\YF5C6PZH\\Boeye et al. - 2013 - More rapid climate change promotes evolutionary re.pdf} -} - -@incollection{bonenfantChapterEmpiricalEvidence2009, - title = {Chapter 5 {{Empirical Evidence}} of {{Density}}-{{Dependence}} in {{Populations}} of {{Large Herbivores}}}, - booktitle = {Advances in {{Ecological Research}}}, - author = {Bonenfant, Christophe and Gaillard, Jean-Michel and Coulson, Tim and Festa-Bianchet, Marco and Loison, Anne and Garel, Mathieu and Loe, Leif Egil and Blanchard, Pierrick and Pettorelli, Nathalie and Owen-Smith, Norman and Du Toit, Johan and Duncan, Patrick}, - year = {2009}, - month = jan, - volume = {41}, - pages = {313--357}, - publisher = {{Academic Press}}, - doi = {10.1016/S0065-2504(09)00405-X}, - abstract = {Density-dependence is a key concept in population dynamics. Here, we review how body mass and demographic parameters vary with population density in large herbivores. The demographic parameters we consider are age- and sex-specific reproduction, survival and dispersal. As population density increases, the body mass of large herbivores typically declines, affecting individual performance traits such as age of first reproduction and juvenile survival. We documented density-dependent variations in reproductive rates for many species from the Arctic to subtropical zones, both with and without predation. At high density, a trade-off between growth and reproduction delays the age of primiparity and often increases the costs of reproduction, decreasing both survival and future reproductive success of adult females. Density-dependent preweaning juvenile survival occurs more often in polytocous than monotocous species, while the effects of density on post-weaning juvenile survival are independent of litter size. Responses of adult survival to density are much less marked than for juvenile survival, and may be exaggerated by density-dependent changes in age structure. The role of density-dependent dispersal in population dynamics remains uncertain, because very few studies have examined it. For sexually dimorphic species, we found little support for higher sensitivity to increasing density in the life history traits of males compared to females, except for young age classes. It remains unclear whether males of dimorphic species are sensitive to male density, female density or a combination of both. Eberhardt's model predicting a sequential effect of density on demographic parameters (from juvenile survival to adult survival) was supported by 9 of 10 case studies. In addition, population density at birth can also lead to cohort effects, including a direct effect on juvenile survival and long-term effects on average cohort performance as adults. Density effects typically interact with weather, increasing in strength in years of harsh weather. For some species, the synchronization between plant phenology and reproductive cycle is a key process in population dynamics. The timing of late gestation as a function of plant phenology determines whether density-dependence influences juvenile survival or adult female reproduction. The detection of density-dependence can be made difficult by nonlinear relationships with density, high sampling variability, lagged responses to density changes, changes in population age structure, and temporal variation in the main factors limiting population growth. The negative feedbacks of population size on individual performance, and hence on life history traits, are thus only expected in particular ecological contexts and are most often restricted to certain age-specific demographic traits.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\GW6JUAKL\\S006525040900405X.html} -} - -@article{bonteCostsDispersal2012a, - title = {Costs of Dispersal}, - author = {Bonte, D. and Bullock, James M. and Coulon, Aur{\'e}lie and Delgado, Maria and Gibbs, Melanie and Lehouck, Valerie and Matthysen, Erik and Mustin, Karin and Saastamoinen, Marjo and Schtickzelle, Nicolas and Stevens, Virginie M. and Vandewoestijne, Sofie and Baguette, Michel and Barton, Kamil and Benton, Tim G. and {Chaput-Bardy}, Audrey and Clobert, Jean and Dytham, Calvin and Hovestadt, Thomas and Meier, Christoph M. and Palmer, Steve C. F. and Turlure, Camille and Travis, Justin M. J.}, - year = {2012}, - month = may, - journal = {Biological Reviews of the Cambridge Philosophical Society}, - volume = {87}, - number = {2}, - pages = {290--312}, - issn = {1469-185X}, - doi = {10.1111/j.1469-185X.2011.00201.x}, - abstract = {Dispersal costs can be classified into energetic, time, risk and opportunity costs and may be levied directly or deferred during departure, transfer and settlement. They may equally be incurred during life stages before the actual dispersal event through investments in special morphologies. Because costs will eventually determine the performance of dispersing individuals and the evolution of dispersal, we here provide an extensive review on the different cost types that occur during dispersal in a wide array of organisms, ranging from micro-organisms to plants, invertebrates and vertebrates. In general, costs of transfer have been more widely documented in actively dispersing organisms, in contrast to a greater focus on costs during departure and settlement in plants and animals with a passive transfer phase. Costs related to the development of specific dispersal attributes appear to be much more prominent than previously accepted. Because costs induce trade-offs, they give rise to covariation between dispersal and other life-history traits at different scales of organismal organisation. The consequences of (i) the presence and magnitude of different costs during different phases of the dispersal process, and (ii) their internal organisation through covariation with other life-history traits, are synthesised with respect to potential consequences for species conservation and the need for development of a new generation of spatial simulation models.}, - langid = {english}, - pmid = {21929715}, - keywords = {Animals,Biological Evolution,Demography,Ecosystem,Models; Biological,Plants} -} - -@article{bonteEvolutionDispersalPolymorphism2010, - title = {Evolution of Dispersal Polymorphism and Local Adaptation of Dispersal Distance in Spatially Structured Landscapes}, - author = {Bonte, Dries and Hovestadt, Thomas and Poethke, Hans-Joachim}, - year = {2010}, - journal = {Oikos}, - volume = {119}, - number = {3}, - pages = {560--566}, - issn = {1600-0706}, - doi = {10.1111/j.1600-0706.2009.17943.x}, - abstract = {Many organisms show polymorphism in dispersal distance strategies. This variation is particularly ecological relevant if it encompasses a functional separation of short- (SDD) and long-distance dispersal (LDD). It remains, however, an open question whether both parts of the dispersal kernel are similarly affected by landscape related selection pressures. We implemented an individual-based model to analyze the evolution of dispersal traits in fractal landscapes that vary in the proportion of habitat and its spatial configuration. Individuals are parthenogenetic with dispersal distance determined by two alleles on each individual's genome: one allele coding for the probability of global dispersal and one allele coding for the variance {$\sigma$} of a Gaussian local dispersal with mean value zero. Simulations show that mean distances of local dispersal and the probability of global dispersal, increase with increasing habitat availability, but that changes in the habitat's spatial autocorrelation impose opposing selective pressure: local dispersal distances decrease and global dispersal probabilities increase with decreasing spatial autocorrelation of the available habitat. Local adaptation of local dispersal distance emerges in landscapes with less than 70\% of clumped habitat. These results demonstrate that long and short distance dispersal evolve separately according to different properties of the landscape. The landscape structure may consequently largely affect the evolution of dispersal distance strategies and the level of dispersal polymorphism.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2009.17943.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\26JI7GPW\\Bonte et al. - 2010 - Evolution of dispersal polymorphism and local adap.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\TWEVRDE9\\j.1600-0706.2009.17943.html} -} - -@article{bonteGeographicalVariationWolf2006, - title = {Geographical Variation in Wolf Spider Dispersal Behaviour Is Related to Landscape Structure}, - author = {Bonte, D. and Borre, J. V. and Lens, L. and Maelfait, J.}, - year = {2006}, - journal = {Animal Behaviour}, - doi = {10.1016/j.anbehav.2005.11.026}, - abstract = {Theoretical studies suggest that mechanisms underlying habitat and population structure are important for shaping inter- and intraspecific variation in dispersal behaviour. Empirical evidence, especially in organisms living in spatially structured populations, however, is scarce. We investigated the relation between habitat configuration (patch size, connectivity) and dispersal by studying variation in tiptoe behaviour in the dune wolf spider, Pardosa monticola, under standardized laboratory conditions. Tiptoe behaviour prepares spiderlings for ballooning and can hence be considered as a precursor of aerial dispersal. The proportion of individuals that displayed tiptoe behaviour was highest in offspring from grasslands in a large dune landscape where habitat was continuously available, intermediate in offspring originating from a fragmented landscape, and lowest in offspring originating from a small and extremely isolated grassland patch. At the level of the fragmented landscape, variation was related to size and connectivity of four subpopulations. Both between and within landscapes, maternal condition had no effect on offspring dispersal. These results indicate that changes in habitat configuration from a large, connected landscape towards a small, fragmented one may lead to a decrease in dispersal rates, even at small spatial scales. Hence, behavioural traits narrowly linked to dispersal evolve towards less mobile phenotypes in small, isolated habitats, indicating high dispersal costs and low efficacy for gene flow in a spider species restricted to fragmented habitats.}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VZYMCIZB\\Bonte et al. - 2006 - Geographical variation in wolf spider dispersal be.pdf} -} - -@article{bonteSexspecificDispersalEvolutionary2009, - title = {Sex-Specific Dispersal and Evolutionary Rescue in Metapopulations Infected by Male Killing Endosymbionts}, - author = {Bonte, Dries and Hovestadt, Thomas and Poethke, Hans Joachim}, - year = {2009}, - abstract = {Background: Male killing endosymbionts manipulate their arthropod host reproduction by only allowing female embryos to develop into infected females and killing all male offspring. Because the resulting change in sex ratio is expected to affect the evolution of sex-specific dispersal, we investigated under which environmental conditions strong sex-biased dispersal would emerge, and how this would affect host and endosymbiont metapopulation persistence. Results: We simulated host-endosymbiont metapopulation dynamics in an individual-based model, in which dispersal rates are allowed to evolve independently for the two sexes. Prominent male-biased dispersal emerges under conditions of low environmental stochasticity and high dispersal mortality. By applying a reshuffling algorithm, we show that kin-competition is a major driver of this evolutionary pattern because of the high within-population relatedness of males compared to those of females. Moreover, the evolution of sex-specific dispersal rescues metapopulations from extinction by (i) reducing endosymbiont fixation rates and (ii) by enhancing the extinction of endosymbionts within metapopulations that are characterized by low environmental stochasticity. Conclusion: Male killing endosymbionts induce the evolution of sex-specific dispersal, with prominent male-biased dispersal under conditions of low environmental stochasticity and high dispersal mortality. This male-biased dispersal emerges from stronger kin-competition in males compared to females and induces an evolutionary rescue mechanism.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\247LIPEI\\Bonte et al. - 2009 - Sex-specific dispersal and evolutionary rescue in .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\HUQ9MEX5\\3999.html} -} - -@article{boulangeatAccountingDispersalBiotic2012, - title = {Accounting for Dispersal and Biotic Interactions to Disentangle the Drivers of Species Distributions and Their Abundances}, - author = {Boulangeat, Isabelle and Gravel, Dominique and Thuiller, Wilfried}, - year = {2012}, - journal = {Ecology Letters}, - volume = {15}, - number = {6}, - pages = {584--593}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2012.01772.x}, - abstract = {Ecology Letters (2012) Abstract Although abiotic factors, together with dispersal and biotic interactions, are often suggested to explain the distribution of species and their abundances, species distribution models usually focus on abiotic factors only. We propose an integrative framework linking ecological theory, empirical data and statistical models to understand the distribution of species and their abundances together with the underlying community assembly dynamics. We illustrate our approach with 21 plant species in the French Alps. We show that a spatially nested modelling framework significantly improves the model's performance and that the spatial variations of species presence\textendash absence and abundances are predominantly explained by different factors. We also show that incorporating abiotic, dispersal and biotic factors into the same model bring new insights to our understanding of community assembly. This approach, at the crossroads between community ecology and biogeography, is a promising avenue for a better understanding of species co-existence and biodiversity distribution.}, - langid = {english}, - keywords = {Abiotic niche,co-occurrence index,community assembly rules,dispersal mechanisms,fundamental niche,niche overlap,species distribution model,species pool}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2012.01772.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\Z73IB6IG\\Boulangeat et al. - 2012 - Accounting for dispersal and biotic interactions t.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\3EFKHHTR\\j.1461-0248.2012.01772.html} -} - -@article{bowlerCausesConsequencesAnimal2005a, - title = {Causes and Consequences of Animal Dispersal Strategies: Relating Individual Behaviour to Spatial Dynamics}, - shorttitle = {Causes and Consequences of Animal Dispersal Strategies}, - author = {Bowler, Diana E. and Benton, Tim G.}, - year = {2005}, - month = may, - journal = {Biological Reviews of the Cambridge Philosophical Society}, - volume = {80}, - number = {2}, - pages = {205--225}, - issn = {1464-7931}, - doi = {10.1017/s1464793104006645}, - abstract = {Knowledge of the ecological and evolutionary causes of dispersal can be crucial in understanding the behaviour of spatially structured populations, and predicting how species respond to environmental change. Despite the focus of much theoretical research, simplistic assumptions regarding the dispersal process are still made. Dispersal is usually regarded as an unconditional process although in many cases fitness gains of dispersal are dependent on environmental factors and individual state. Condition-dependent dispersal strategies will often be superior to unconditional, fixed strategies. In addition, dispersal is often collapsed into a single parameter, despite it being a process composed of three interdependent stages: emigration, inter-patch movement and immigration, each of which may display different condition dependencies. Empirical studies have investigated correlates of these stages, emigration in particular, providing evidence for the prevalence of conditional dispersal strategies. Ill-defined use of the term 'dispersal', for movement across many different spatial scales, further hinders making general conclusions and relating movement correlates to consequences at the population level. Logistical difficulties preclude a detailed study of dispersal for many species, however incorporating unrealistic dispersal assumptions in spatial population models may yield inaccurate and costly predictions. Further studies are necessary to explore the importance of incorporating specific condition-dependent dispersal strategies for evolutionary and population dynamic predictions.}, - langid = {english}, - pmid = {15921049}, - keywords = {Animals,Animals; Wild,Behavior; Animal,Breeding,Ecosystem,Female,Food Chain,Inbreeding,Male,Population Density,Population Dynamics,Sex Ratio} -} - -@article{bridleLimitsEvolutionRange2007, - title = {Limits to Evolution at Range Margins: When and Why Does Adaptation Fail?}, - shorttitle = {Limits to Evolution at Range Margins}, - author = {Bridle, Jon R and Vines, Timothy H}, - year = {2007}, - month = mar, - journal = {Trends in Ecology \& Evolution}, - volume = {22}, - number = {3}, - pages = {140--147}, - issn = {0169-5347}, - doi = {10.1016/j.tree.2006.11.002}, - abstract = {What stops populations expanding into new territory beyond the edge of a range margin? Recent models addressing this problem have brought together population genetics and population ecology, and some have included interactions among species at range edges. Here, we review these models of adaptation at environmental or parapatric margins, and discuss the contrasting effects of migration in either swamping local adaptation, or supplying the genetic variation that is necessary for adaptation to continue. We illustrate how studying adaptation at range margins (both with and without hybridization) can provide insight into the genetic and ecological factors that limit evolution more generally, especially in response to current rates of environmental change.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\G3XSAUPQ\\S0169534706003636.html} -} - -@article{brookerModellingSpeciesRange2007, - title = {Modelling Species' Range Shifts in a Changing Climate: The Impacts of Biotic Interactions, Dispersal Distance and the Rate of Climate Change}, - shorttitle = {Modelling Species' Range Shifts in a Changing Climate}, - author = {Brooker, Rob W. and Travis, Justin M. J. and Clark, Ewen J. and Dytham, Calvin}, - year = {2007}, - month = mar, - journal = {Journal of Theoretical Biology}, - volume = {245}, - number = {1}, - pages = {59--65}, - issn = {0022-5193}, - doi = {10.1016/j.jtbi.2006.09.033}, - abstract = {There is an urgent need for accurate prediction of climate change impacts on species ranges. Current reliance on bioclimatic envelope approaches ignores important biological processes such as interactions and dispersal. Although much debated, it is unclear how such processes might influence range shifting. Using individual-based modelling we show that interspecific interactions and dispersal ability interact with the rate of climate change to determine range-shifting dynamics in a simulated community with two growth forms--mutualists and competitors. Interactions determine spatial arrangements of species prior to the onset of rapid climate change. These lead to space-occupancy effects that limit the rate of expansion of the fast-growing competitors but which can be overcome by increased long-distance dispersal. As the rate of climate change increases, lower levels of long-distance dispersal can drive the mutualists to extinction, demonstrating the potential for subtle process balances, non-linear dynamics and abrupt changes from species coexistence to species loss during climate change.}, - langid = {english}, - pmid = {17087974}, - keywords = {Animals,Behavior; Animal,Biodiversity,Climate,Competitive Behavior,Ecosystem,Environment,Models; Biological,Population Dynamics} -} - -@article{broquetMolecularEstimationDispersal2009, - title = {Molecular {{Estimation}} of {{Dispersal}} for {{Ecology}} and {{Population Genetics}}}, - author = {Broquet, Thomas and Petit, Eric J.}, - year = {2009}, - journal = {Annual Review of Ecology, Evolution, and Systematics}, - volume = {40}, - number = {1}, - pages = {193--216}, - doi = {10.1146/annurev.ecolsys.110308.120324}, - abstract = {The dispersal process, by which individuals or other dispersing agents such as gametes or seeds move from birthplace to a new settlement locality, has important consequences for the dynamics of genes, individuals, and species. Many of the questions addressed by ecology and evolutionary biology require a good understanding of species' dispersal patterns. Much effort has thus been devoted to overcoming the difficulties associated with dispersal measurement. In this context, genetic tools have long been the focus of intensive research, providing a great variety of potential solutions to measuring dispersal. This methodological diversity is reviewed here to help (molecular) ecologists find their way toward dispersal inference and interpretation and to stimulate further developments.}, - annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.110308.120324}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\FEHEGY8P\\Broquet und Petit - 2009 - Molecular Estimation of Dispersal for Ecology and .pdf} -} - -@article{bullockLongDistanceSeed2000, - title = {Long Distance Seed Dispersal by Wind: Measuring and Modelling the Tail of the Curve}, - shorttitle = {Long Distance Seed Dispersal by Wind}, - author = {Bullock, J. M. and Clarke, R. T.}, - year = {2000}, - month = sep, - journal = {Oecologia}, - volume = {124}, - number = {4}, - pages = {506--521}, - issn = {1432-1939}, - doi = {10.1007/PL00008876}, - abstract = {The size and shape of the tail of the seed dispersal curve is important in determining the spatial dynamics of plants, but is difficult to quantify. We devised an experimental protocol to measure long-distance dispersal which involved measuring dispersal by wind from isolated individuals at a range of distances from the source, but maintaining a large and constant sampling intensity at each distance. Seeds were trapped up to 80 m from the plants, the furthest a dispersal curve for an individual plant has been measured for a non-tree species. Standard empirical negative exponential and inverse power models were fitted using likelihood methods. The latter always had a better fit than the former, but in most cases neither described the data well, and strongly under-estimated the tail of the dispersal curve. An alternative model formulation with two kernel components had a much better fit in most cases and described the tail data more accurately. Mechanistic models provide an alternative to direct measurement of dispersal. However, while a previous mechanistic model accurately predicted the modal dispersal distance, it always under-predicted the measured tail. Long-distance dispersal may be caused by rare extremes in horizontal wind speed or turbulence. Therefore, under-estimation of the tail by standard empirical models and mechanistic models may indicate a lack of flexibility to take account of such extremes. Future studies should examine carefully whether the widely used exponential and power models are, in fact, valid, and investigate alternative models.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RYBFU2QH\\Bullock und Clarke - 2000 - Long distance seed dispersal by wind measuring an.pdf} -} - -@article{cagnacciAnimalEcologyMeets2010, - title = {Animal Ecology Meets {{GPS-based}} Radiotelemetry: A Perfect Storm of Opportunities and Challenges}, - shorttitle = {Animal Ecology Meets {{GPS-based}} Radiotelemetry}, - author = {Cagnacci, Francesca and Boitani, Luigi and Powell, Roger A. and Boyce, Mark S.}, - year = {2010}, - month = jul, - journal = {Philosophical Transactions of the Royal Society B: Biological Sciences}, - volume = {365}, - number = {1550}, - pages = {2157--2162}, - publisher = {{Royal Society}}, - doi = {10.1098/rstb.2010.0107}, - abstract = {Global positioning system (GPS) telemetry technology allows us to monitor and to map the details of animal movement, securing vast quantities of such data even for highly cryptic organisms. We envision an exciting synergy between animal ecology and GPS-based radiotelemetry, as for other examples of new technologies stimulating rapid conceptual advances, where research opportunities have been paralleled by technical and analytical challenges. Animal positions provide the elemental unit of movement paths and show where individuals interact with the ecosystems around them. We discuss how knowing where animals go can help scientists in their search for a mechanistic understanding of key concepts of animal ecology, including resource use, home range and dispersal, and population dynamics. It is probable that in the not-so-distant future, intense sampling of movements coupled with detailed information on habitat features at a variety of scales will allow us to represent an animal's cognitive map of its environment, and the intimate relationship between behaviour and fitness. An extended use of these data over long periods of time and over large spatial scales can provide robust inferences for complex, multi-factorial phenomena, such as meta-analyses of the effects of climate change on animal behaviour and distribution.}, - keywords = {animal movement,autocorrelation,biotelemetry,fitness,global positioning system technology,mechanistic models}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\373TI4KL\\Cagnacci et al. - 2010 - Animal ecology meets GPS-based radiotelemetry a p.pdf} -} - -@book{caswellMatrixPopulationModels2001a, - title = {Matrix {{Population Models}}: {{Construction}}, {{Analysis}}, and {{Interpretation}}}, - shorttitle = {Matrix {{Population Models}}}, - author = {Caswell, Hal}, - year = {2001}, - edition = {Second Edition, Matrix Population Models, Second Edition, is a comprehensive treatment of matrix population models and their applications in ecology and ...}, - publisher = {{Oxford University Press}}, - address = {{Oxford, New York}}, - abstract = {Published by Sinauer Associates, an imprint of Oxford University Press. Matrix Population Models, Second Edition, is a comprehensive treatment of matrix population models and their applications in ecology and demography. It begins with simple cases, presented in detail so that beginning students can learn how to use these powerful models. It goes on to cover advanced topics in stochastic and nonlinear models. Analytical methods and theoretical issues are illustrated with empirical examples throughout. The decade since the publication of the First Edition of this book has seen enormous progress in the theory and application of matrix population models. The new edition includes greatly expanded treatment of stochastic and density-dependent models, sensitivity analysis, and statistical inference, and new chapters on parameter estimation, structured population models, demographic stochasticity, and applications of matrix models in conservation biology. Matrix Population Models, Second Edition, is an indispensable reference for graduate students and researchers in ecology, population biology, conservation biology, and human demography}, - isbn = {978-0-87893-121-7}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\WGS8CE2Q\\matrix-population-models-9780878931217.html} -} - -@article{caswellSensitivityAnalysisEquilibrium2004, - title = {Sensitivity Analysis of Equilibrium in Density-Dependent Matrix Population Models}, - author = {Caswell, Hal and Takada, Takenori and Hunter, Christine M.}, - year = {2004}, - journal = {Ecology Letters}, - volume = {7}, - number = {5}, - pages = {380--387}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2004.00595.x}, - abstract = {We consider the effects of parameter perturbations on a density-dependent population at equilibrium. Such perturbations change the dominant eigenvalue {$\lambda$} of the projection matrix evaluated at the equilibrium as well as the equilibrium itself. We show that, regardless of the functional form of density dependence, the sensitivity of {$\lambda$} is equal to the sensitivity of an effective equilibrium density , which is a weighted combination of the equilibrium stage densities. The weights measure the contributions of each stage to density dependence and their effects on demography. Thus, is in general more relevant than total density, which simply adds all stages regardless of their ecological properties. As log {$\lambda$} is the invasion exponent, our results show that successful invasion will increase , and that an evolutionary stable strategy will maximize . Our results imply that eigenvalue sensitivity analysis of a population projection matrix that is evaluated near equilibrium can give useful information about the sensitivity of the equilibrium population, even if no data on density dependence are available.}, - langid = {english}, - keywords = {Density dependence,elasticity analysis,equilibrium,evolutionary stable strategy,invasion exponent,matrix population models,nonlinear,sensitivity analysis,territory limitation,Tribolium}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00595.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\3CZR3IWE\\Caswell et al. - 2004 - Sensitivity analysis of equilibrium in density-dep.pdf} -} - -@article{caswellTwoSexModelsChaos1986, - title = {Two-{{Sex Models}}: {{Chaos}}, {{Extinction}}, and {{Other Dynamic Consequences}} of {{Sex}}}, - shorttitle = {Two-{{Sex Models}}}, - author = {Caswell, Hal and Weeks, Daniel E.}, - year = {1986}, - journal = {The American Naturalist}, - volume = {128}, - number = {5}, - pages = {707--735}, - publisher = {{[University of Chicago Press, American Society of Naturalists]}}, - issn = {0003-0147}, - abstract = {Most demographic models consider only one sex, usually the female. The widespread occurrence of sexual dimorphism in life history traits and the occurrence of skewed and fluctuating sex ratios suggest that one-sex models or those dominated by one sex may often be less appropriate than two-sex models. Reproduction in two-sex models is a frequency-dependent nonlinear function (the birth or marriage function) of the relative abundance of males and females. In this paper, we examine the population dynamics resulting from three different two-sex, discrete-time, population-projection models. For a large class of birth functions, models without inter-stage mate competition are shown to converge to a locally stable adult sex ratio. Formulas for the stable population structure, stable sex ratio, and reproductive value at equilibrium are derived. When individuals of different stages compete for mates, the equilibrium population structure may become unstable. A sequence of bifurcations then occurs, leading to periodic oscillations, quasi-periodic fluctuations, and chaos as the intensity of competition increases. Finally, when per capita fecundity is a sigmoid function of the relative abundance of the other sex, perturbations of the sex ratio may lead to extinction.} -} - -@article{chaineCoevolutionMultiplyinformedDispersal2013, - title = {The Co-Evolution of Multiply-Informed Dispersal: Information Transfer across Landscapes from Neighbors and Immigrants}, - shorttitle = {The Co-Evolution of Multiply-Informed Dispersal}, - author = {Chaine, Alexis S. and Legendre, St{\'e}phane and Clobert, Jean}, - year = {2013}, - month = feb, - journal = {PeerJ}, - volume = {1}, - pages = {e44}, - publisher = {{PeerJ Inc.}}, - issn = {2167-8359}, - doi = {10.7717/peerj.44}, - abstract = {Dispersal plays a key role in natural systems by shaping spatial population and evolutionary dynamics. Dispersal has been largely treated as a population process with little attention to individual decisions and the influence of information use on the fitness benefits of dispersal despite clear empirical evidence that dispersal behavior varies among individuals. While information on local density is common, more controversial is the notion that indirect information use can easily evolve. We used an individual-based model to ask under what conditions indirect information use in dispersal will evolve. We modeled indirect information provided by immigrant arrival into a population which should be linked to overall metapopulation density. We also modeled direct information use of density which directly impacts fitness. We show that immigrant-dependent dispersal evolves and does so even when density dependent information is available. Use of two sources of information also provides benefits at the metapopulation level by reducing extinction risk and prolonging the persistence of populations. Our results suggest that use of indirect information in dispersal can evolve under conservative conditions and thus could be widespread.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RW45GZGV\\Chaine et al. - 2013 - The co-evolution of multiply-informed dispersal i.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\MMN68IIM\\44.html} -} - -@article{chaput-bardyConditionPhenotypeDependentDispersal2010, - title = {Condition and {{Phenotype-Dependent Dispersal}} in a {{Damselfly}}, {{Calopteryx}} Splendens}, - author = {{Chaput-Bardy}, Audrey and Gr{\'e}goire, Arnaud and Baguette, Michel and Pagano, Alain and Secondi, Jean}, - year = {2010}, - month = may, - journal = {PLOS ONE}, - volume = {5}, - number = {5}, - pages = {e10694}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0010694}, - abstract = {Individual dispersal decisions may be affected by the internal state of the individual and the external information of its current environment. Here we estimated the influence of dispersal on survival and investigated if individual phenotype (sex and wing length) and environmental condition (conspecific density and sex-ratio) affected dispersal decisions in the banded damselfly, Calopteryx splendens. As suspected from the literature, we showed that the proportion of dispersing individuals was higher in females than in males. We also found negative-density dependent dispersal in both sexes and influence of sex-ratio on dispersal. Individuals moved less when sex-ratio was male biased. These results are consistent with a lek mating system where males aggregate in a place and hold mating territories. Contrary to our expectations, neither dispersal nor survival was affected by wing length. Nevertheless, mean adult survival was about 8\% lower in dispersing individuals than in residents. This might reflect a mortality cost due to dispersal.}, - langid = {english}, - keywords = {Animal flight,Animal wings,Habitats,Insect flight,Insects,Mating behavior,Physiological parameters,Thorax}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\X6NDS2LP\\Chaput-Bardy et al. - 2010 - Condition and Phenotype-Dependent Dispersal in a D.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\ENLD9MSR\\article.html} -} - -@article{chardonIncorporatingLandscapeElements2003, - title = {Incorporating Landscape Elements into a Connectivity Measure: A Case Study for the {{Speckled}} Wood Butterfly ({{Pararge}} Aegeria {{L}}.)}, - shorttitle = {Incorporating Landscape Elements into a Connectivity Measure}, - author = {Chardon, J. Paul and Adriaensen, Frank and Matthysen, Erik}, - year = {2003}, - month = sep, - journal = {Landscape Ecology}, - volume = {18}, - number = {6}, - pages = {561--573}, - issn = {1572-9761}, - doi = {10.1023/A:1026062530600}, - abstract = {In spatial studies of populations, Euclidean distance is commonly used to measure the structural connectivity between habitat patches. The role of the matrix on patch connectivity is thereby ignored. However, the importance of the matrix for (dispersal) movement is increasingly being acknowledged. Our study compared the cost-distance measure with the Euclidean distance. The cost-distance is a simple GIS-calculated connectivity measure that incorporates the resistance of the landscape matrix to movement behaviour. We used presence-absence data from a field study on the Speckled wood butterfly in two Belgian landscapes. Logistic regression revealed that the cost-distance measure had a significantly better predictive power than the Euclidean distance. This result was consistent for all the six sets of different matrix resistance values. In our study the cost-distance proves to be a better connectivity measure than the Euclidean distance.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\5MAK4WU6\\Chardon et al. - 2003 - Incorporating landscape elements into a connectivi.pdf} -} - -@article{chenRapidRangeShifts2011, - title = {Rapid {{Range Shifts}} of {{Species Associated}} with {{High Levels}} of {{Climate Warming}}}, - author = {Chen, I.-Ching and Hill, Jane K. and Ohlem{\"u}ller, Ralf and Roy, David B. and Thomas, Chris D.}, - year = {2011}, - month = aug, - journal = {Science}, - volume = {333}, - number = {6045}, - pages = {1024--1026}, - publisher = {{American Association for the Advancement of Science}}, - issn = {0036-8075, 1095-9203}, - doi = {10.1126/science.1206432}, - abstract = {The distributions of many terrestrial organisms are currently shifting in latitude or elevation in response to changing climate. Using a meta-analysis, we estimated that the distributions of species have recently shifted to higher elevations at a median rate of 11.0 meters per decade, and to higher latitudes at a median rate of 16.9 kilometers per decade. These rates are approximately two and three times faster than previously reported. The distances moved by species are greatest in studies showing the highest levels of warming, with average latitudinal shifts being generally sufficient to track temperature changes. However, individual species vary greatly in their rates of change, suggesting that the range shift of each species depends on multiple internal species traits and external drivers of change. Rapid average shifts derive from a wide diversity of responses by individual species. A meta-analysis shows that species are shifting their distributions in response to climate change at an accelerating rate. A meta-analysis shows that species are shifting their distributions in response to climate change at an accelerating rate.}, - chapter = {Report}, - copyright = {Copyright \textcopyright{} 2011, American Association for the Advancement of Science}, - langid = {english}, - pmid = {21852500}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\5EB2EIIC\\Chen et al. - 2011 - Rapid Range Shifts of Species Associated with High.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\X6WJLETL\\1024.html} -} - -@article{chipperfieldUpdatedAlgorithmGeneration2011, - title = {An {{Updated Algorithm}} for the {{Generation}} of {{Neutral Landscapes}} by {{Spectral Synthesis}}}, - author = {Chipperfield, Joseph D. and Dytham, Calvin and Hovestadt, Thomas}, - year = {2011}, - month = feb, - journal = {PLOS ONE}, - volume = {6}, - number = {2}, - pages = {e17040}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0017040}, - abstract = {Background Patterns that arise from an ecological process can be driven as much from the landscape over which the process is run as it is by some intrinsic properties of the process itself. The disentanglement of these effects is aided if it possible to run models of the process over artificial landscapes with controllable spatial properties. A number of different methods for the generation of so-called `neutral landscapes' have been developed to provide just such a tool. Of these methods, a particular class that simulate fractional Brownian motion have shown particular promise. The existing methods of simulating fractional Brownian motion suffer from a number of problems however: they are often not easily generalisable to an arbitrary number of dimensions and produce outputs that can exhibit some undesirable artefacts. Methodology We describe here an updated algorithm for the generation of neutral landscapes by fractional Brownian motion that do not display such undesirable properties. Using Monte Carlo simulation we assess the anisotropic properties of landscapes generated using the new algorithm described in this paper and compare it against a popular benchmark algorithm. Conclusion/Significance The results show that the existing algorithm creates landscapes with values strongly correlated in the diagonal direction and that the new algorithm presented here corrects this artefact. A number of extensions of the algorithm described here are also highlighted: we describe how the algorithm can be employed to generate landscapes that display different properties in different dimensions and how they can be combined with an environmental gradient to produce landscapes that combine environmental variation at the local and macro scales.}, - langid = {english}, - keywords = {Algorithms,Anisotropy,Autocorrelation,Brownian motion,Fourier analysis,Fractals,Habitats,Monte Carlo method}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\2XFWN3MP\\Chipperfield et al. - 2011 - An Updated Algorithm for the Generation of Neutral.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\QMA3HRR3\\article.html} -} - -@article{clarkInvasionExtremesPopulation2001, - title = {Invasion by Extremes: Population Spread with Variation in Dispersal and Reproduction}, - shorttitle = {Invasion by Extremes}, - author = {Clark, J. S. and Lewis, M. and Horvath, L.}, - year = {2001}, - month = may, - journal = {The American Naturalist}, - volume = {157}, - number = {5}, - pages = {537--554}, - issn = {1537-5323}, - doi = {10.1086/319934}, - abstract = {For populations having dispersal described by fat-tailed kernels (kernels with tails that are not exponentially bounded), asymptotic population spread rates cannot be estimated by traditional models because these models predict continually accelerating (asymptotically infinite) invasion. The impossible predictions come from the fact that the fat-tailed kernels fitted to dispersal data have a quality (nondiscrete individuals and, thus, no moment-generating function) that never applies to data. Real organisms produce finite (and random) numbers of offspring; thus, an empirical moment-generating function can always be determined. Using an alternative method to estimate spread rates in terms of extreme dispersal events, we show that finite estimates can be derived for fat-tailed kernels, and we demonstrate how variable reproduction modifies these rates. Whereas the traditional models define spread rate as the speed of an advancing front describing the expected density of individuals, our alternative definition for spread rate is the expected velocity for the location of the furthest-forward individual in the population. The asymptotic wave speed for a constant net reproductive rate R0 is approximated as (1/T)(piuR)/2)(1/2) m yr(-1), where T is generation time, and u is a distance parameter (m2) of Clark et al.'s 2Dt model having shape parameter p = 1. From fitted dispersal kernels with fat tails and infinite variance, we derive finite rates of spread and a simple method for numerical estimation. Fitted kernels, with infinite variance, yield distributions of rates of spread that are asymptotically normal and, thus, have finite moments. Variable reproduction can profoundly affect rates of spread. By incorporating the variance in reproduction that results from variable life span, we estimate much lower rates than predicted by the standard approach, which assumes a constant net reproductive rate. Using basic life-history data for trees, we show these estimated rates to be lower than expected from previous analytical models and as interpreted from paleorecords of forest spread at the end of the Pleistocene. Our results suggest reexamination of past rates of spread and the potential for future response to climate change.}, - langid = {english}, - pmid = {18707261} -} - -@article{clarkReidParadoxRapid1998, - title = {Reid's {{Paradox}} of {{Rapid Plant Migration}}: {{Dispersal}} Theory and Interpretation of Paleoecological Records}, - shorttitle = {Reid's {{Paradox}} of {{Rapid Plant Migration}}}, - author = {Clark, James S. and Fastie, Chris and Hurtt, George and Jackson, Stephen T. and Johnson, Carter and King, George A. and Lewis, Mark and Lynch, Jason and Pacala, Stephen and Prentice, Colin and Schupp, Eugene W. and Webb, III, Thompson and Wyckoff, Peter}, - year = {1998}, - month = jan, - journal = {BioScience}, - volume = {48}, - number = {1}, - pages = {13--24}, - issn = {0006-3568}, - doi = {10.2307/1313224}, - abstract = {The oak, to gain its present most northerly position in North Britain after being driven out by the cold probably had to travel fully six hundred miles, and this without external aid would take something like a million years. (Reid 1899)}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\WD97WG6G\\Clark et al. - 1998 - Reid's Paradox of Rapid Plant Migration Dispersal.pdf} -} - -@book{clobertDispersal2001, - title = {Dispersal}, - editor = {Clobert, Jean and Danchin, Etienne and Dhondt, Andre A. and Nichols, James D.}, - year = {2001}, - month = feb, - publisher = {{Oxford University Press}}, - address = {{Oxford, New York}}, - abstract = {The ability of species to migrate that has interested ecologists for many years. Now that so many species and ecosystems face major environmental change, the ability of species to adapt to these changes by dispersing, migrating, or moving between different patches of habitat can be crucial to ensuring their survivial. This book provides a timely and wide-ranging overview of the study of dispersal and incorporates much of the latest research. The causes, mechanisms, and consequences of dispersal at the individual, population, species and community levels are considered. The potential of new techniques and models for studying dispersal, drawn from molecular biology and demography, is also explored. Perspectives and insights are offered from the fields of evolution, conservation biology and genetics. Throughout the book, theoretical approaches are combined with empirical data, and care has been taken to include examples from as wide a range of species as possible.}, - isbn = {978-0-19-850659-1}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\F9QZQAE9\\dispersal-9780198506591.html} -} - -@book{clobertDispersalEcologyEvolution2012a, - title = {Dispersal {{Ecology}} and {{Evolution}}}, - editor = {Clobert, Jean and Baguette, Michel and Benton, Tim G. and Bullock, James M.}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.001.0001}, - abstract = {Now that so many ecosystems face rapid and major environmental change, the ability of species to respond to these changes by dispersing or moving between different patches of habitat can be crucial to ensuring their survival. Understanding dispersal has become key to understanding how populations may persist. This book provides an overview of the fast expanding field of dispersal ecology, incorporating the very latest research. The causes, mechanisms, and consequences of dispersal at the individual, population, species, and community levels are considered. Perspectives and insights are offered from the fields of evolution, behavioural ecology, conservation biology, and genetics. Throughout the book theoretical approaches are combined with empirical data, and care has been taken to include examples from as wide a range of species as possible \textemdash{} both plant and animal.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {behavioural ecology,conservation biology,dispersal ecology,ecosystems,environmental change,evolution,genetics,habitat,species,survival} -} - -@article{clobertInformedDispersalHeterogeneity2009, - title = {Informed Dispersal, Heterogeneity in Animal Dispersal Syndromes and the Dynamics of Spatially Structured Populations}, - author = {Clobert, Jean and Le Galliard, Jean-Fran{\c c}ois and Cote, Julien and Meylan, Sandrine and Massot, Manuel}, - year = {2009}, - month = mar, - journal = {Ecology Letters}, - volume = {12}, - number = {3}, - pages = {197--209}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2008.01267.x}, - abstract = {There is accumulating evidence that individuals leave their natal area and select a breeding habitat non-randomly by relying upon information about their natal and future breeding environments. This variation in dispersal is not only based on external information (condition dependence) but also depends upon the internal state of individuals (phenotype dependence). As a consequence, not all dispersers are of the same quality or search for the same habitats. In addition, the individual's state is characterized by morphological, physiological or behavioural attributes that might themselves serve as a cue altering the habitat choice of conspecifics. These combined effects of internal and external information have the potential to generate complex movement patterns and could influence population dynamics and colonization processes. Here, we highlight three particular processes that link condition-dependent dispersal, phenotype-dependent dispersal and habitat choice strategies: (1) the relationship between the cause of departure and the dispersers' phenotype; (2) the relationship between the cause of departure and the settlement behaviour and (3) the concept of informed dispersal, where individuals gather and transfer information before and during their movements through the landscape. We review the empirical evidence for these processes with a special emphasis on vertebrate and arthropod model systems, and present case studies that have quantified the impacts of these processes on spatially structured population dynamics. We also discuss recent literature providing strong evidence that individual variation in dispersal has an important impact on both reinforcement and colonization success and therefore must be taken into account when predicting ecological responses to global warming and habitat fragmentation.}, - langid = {english}, - pmid = {19170731}, - keywords = {Animal Migration,Animals,Competitive Behavior,Ecosystem,Female,Male,Population Dynamics} -} - -@article{clotucheSettlementDecisionsTwospotted2013, - title = {Settlement Decisions by the Two-Spotted Spider Mite {{Tetranychus}} Urticae}, - author = {Clotuche, Gwendoline and Mailleux, Anne-Catherine and Yano, Shuichi and Detrain, Claire and Deneubourg, Jean-Louis and Hance, Thierry}, - year = {2013}, - month = feb, - journal = {Comptes Rendus Biologies}, - volume = {336}, - number = {2}, - pages = {93--101}, - issn = {1631-0691}, - doi = {10.1016/j.crvi.2013.02.006}, - abstract = {In silk-spinning arthropods, silk can be used for web building, protection, and communication. Silk is an informative material about the presence of conspecifics. It can therefore inform on habitat suitability and hence assist in habitat choice. In this context, we investigated the influence of silk on microhabitat choice by the two-spotted spider mite, Tetranychus urticae. Three factors that could potentially influence habitat choice were manipulated: the strain, number, and the stage of mites. Our study showed that these factors all influence the choice of microhabitat. The tendency of whether to settle on a silk-covered area was influenced by the origin of mites (strain effect). Adult females showed a higher tendency to settle on an area covered with the silk laid by numerous congeners (number effect). Moreover, larvae seemed to be more responsive to the presence of silk than adults (stage effect). This suggests that individuals use silk as a social cue in selecting their microhabitat and that the spatial organization and group behaviour seem to be shaped by the individuals' response to social cues, such as the amount of silk already present. R\'esum\'e Chez les arthropodes tisseurs, la soie peut \^etre utilis\'ee pour la construction, la protection et la communication. La soie peut \'egalement informer de la pr\'esence de cong\'en\`eres. Elle peut renseigner sur la qualit\'e d'un habitat et donc aider les individus lors du choix d'\'etablissement. Dans ce contexte, nous avons \'etudi\'e l'influence de la soie lors de la s\'election d'un micro-habitat chez l'acarien tisserand, Tetranychus urticae. Trois facteurs ont \'et\'e manipul\'es~: la souche, le nombre et le stade des acariens. Notre \'etude montre que ces facteurs influencent le choix du micro-habitat. La tendance \`a s'installer sur une zone couverte de soie diff\`ere en fonction de l'origine des acariens. Les femelles adultes montrent une plus forte tendance \`a s'installer sur une zone couverte de soie tiss\'ee par de nombreux cong\'en\`eres. Les larves semblent plus sensibles que les adultes \`a la pr\'esence de soie. La soie est utilis\'ee comme indice social pour choisir le micro-habitat et, d\`es lors, l'organisation spatiale et l'agr\'egation de cet acarien semblent \^etre fa\c{c}onn\'ees par la r\'eponse des individus \`a des signaux sociaux tels que la quantit\'e de soie.}, - langid = {english}, - keywords = {Comportement de groupe,Group behaviour,Habitat settlement,Indice social,Localisation spatiale,SĂ©lection d’un micro-habitat,Silk,Social cue,Soie,Souche,Spatial location,Strain}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\I5KZK44U\\Clotuche et al. - 2013 - Settlement decisions by the two-spotted spider mit.pdf} -} - -@article{codlingRandomWalkModels2008, - title = {Random Walk Models in Biology}, - author = {Codling, Edward A. and Plank, Michael J. and Benhamou, Simon}, - year = {2008}, - month = aug, - journal = {Journal of the Royal Society, Interface}, - volume = {5}, - number = {25}, - pages = {813--834}, - issn = {1742-5689}, - doi = {10.1098/rsif.2008.0014}, - abstract = {Mathematical modelling of the movement of animals, micro-organisms and cells is of great relevance in the fields of biology, ecology and medicine. Movement models can take many different forms, but the most widely used are based on the extensions of simple random walk processes. In this review paper, our aim is twofold: to introduce the mathematics behind random walks in a straightforward manner and to explain how such models can be used to aid our understanding of biological processes. We introduce the mathematical theory behind the simple random walk and explain how this relates to Brownian motion and diffusive processes in general. We demonstrate how these simple models can be extended to include drift and waiting times or be used to calculate first passage times. We discuss biased random walks and show how hyperbolic models can be used to generate correlated random walks. We cover two main applications of the random walk model. Firstly, we review models and results relating to the movement, dispersal and population redistribution of animals and micro-organisms. This includes direct calculation of mean squared displacement, mean dispersal distance, tortuosity measures, as well as possible limitations of these model approaches. Secondly, oriented movement and chemotaxis models are reviewed. General hyperbolic models based on the linear transport equation are introduced and we show how a reinforced random walk can be used to model movement where the individual changes its environment. We discuss the applications of these models in the context of cell migration leading to blood vessel growth (angiogenesis). Finally, we discuss how the various random walk models and approaches are related and the connections that underpin many of the key processes involved.}, - langid = {english}, - pmcid = {PMC2504494}, - pmid = {18426776}, - keywords = {Cell Movement,Diffusion,Models; Biological,Movement,Stochastic Processes}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\KHCXT9UB\\Codling et al. - 2008 - Random walk models in biology.pdf} -} - -@article{cominsEvolutionarilyStableDispersal1980, - title = {Evolutionarily Stable Dispersal Strategies}, - author = {Comins, Hugh N. and Hamilton, William D. and May, Robert M.}, - year = {1980}, - month = jan, - journal = {Journal of Theoretical Biology}, - volume = {82}, - number = {2}, - pages = {205--230}, - issn = {0022-5193}, - doi = {10.1016/0022-5193(80)90099-5}, - abstract = {Using the idea that life-history parameters are subject to natural selection and should approach values that are stable optima, with the population immune to invasion by mutant individuals, we derive an analytic expression for the evolutionarily stable dispersal rate in a stochastic island model with random site extinction. The results provide interesting contrasts between three different optimization criteria: species survival, individual fitness and gene fitness. We also consider the effects of sexual reproduction, and of localized migration (stepping-stone structure).}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RZJSV49C\\Comins et al. - 1980 - Evolutionarily stable dispersal strategies.pdf} -} - -@article{conliskUncertaintyAssessingImpacts2013, - title = {Uncertainty in Assessing the Impacts of Global Change with Coupled Dynamic Species Distribution and Population Models}, - author = {Conlisk, Erin and Syphard, Alexandra D. and Franklin, Janet and Flint, Lorraine and Flint, Alan and Regan, Helen}, - year = {2013}, - month = mar, - journal = {Global Change Biology}, - volume = {19}, - number = {3}, - pages = {858--869}, - issn = {1354-1013}, - doi = {10.1111/gcb.12090}, - abstract = {Concern over rapid global changes and the potential for interactions among multiple threats are prompting scientists to combine multiple modelling approaches to understand impacts on biodiversity. A relatively recent development is the combination of species distribution models, land-use change predictions, and dynamic population models to predict the relative and combined impacts of climate change, land-use change, and altered disturbance regimes on species' extinction risk. Each modelling component introduces its own source of uncertainty through different parameters and assumptions, which, when combined, can result in compounded uncertainty that can have major implications for management. Although some uncertainty analyses have been conducted separately on various model components - such as climate predictions, species distribution models, land-use change predictions, and population models - a unified sensitivity analysis comparing various sources of uncertainty in combined modelling approaches is needed to identify the most influential and problematic assumptions. We estimated the sensitivities of long-run population predictions to different ecological assumptions and parameter settings for a rare and endangered annual plant species (Acanthomintha ilicifolia, or San Diego thornmint). Uncertainty about habitat suitability predictions, due to the choice of species distribution model, contributed most to variation in predictions about long-run populations.}, - langid = {english}, - pmid = {23504842}, - keywords = {Biodiversity,Climate Change,Models; Theoretical,Population Dynamics,Uncertainty} -} - -@article{coteSocialInformationEmigration2007, - title = {Social Information and Emigration: Lessons from Immigrants}, - shorttitle = {Social Information and Emigration}, - author = {Cote, J. and Clobert, J.}, - year = {2007}, - month = may, - journal = {Ecology Letters}, - volume = {10}, - number = {5}, - pages = {411--417}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2007.01032.x}, - abstract = {'Should I stay or should I go?' is a fundamental question facing any candidate for emigration, as emigrating without outside information has major costs. Most studies on this topic have concentrated on risk-reducing strategies (e.g. exploration) developed after leaving the natal habitat. The idea that information might be acquired before leaving has not been investigated. Immigrants carrying information about their origins could provide such information to potential emigrants in their initial habitat. We manipulated the density of common lizard (Lacerta vivipara) populations, to investigate whether immigrants originating from these populations transmitted such information to the population they joined. Emigration of the residents of this new population clearly depended on the origin of the immigrant. Immigrants are therefore a source of information, in this case about surrounding population densities, and may have a major effect on dispersal and species persistence in a fragmented habitat.}, - langid = {english}, - pmid = {17498140}, - keywords = {Animals,Behavior; Animal,Lizards,Population Dynamics} -} - -@article{cottoNemoageSpatiallyExplicit2020, - title = {Nemo-Age: {{Spatially}} Explicit Simulations of Eco-Evolutionary Dynamics in Stage-Structured Populations under Changing Environments}, - shorttitle = {Nemo-Age}, - author = {Cotto, Olivier and Schmid, Max and Guillaume, Fr{\'e}d{\'e}ric}, - year = {2020}, - journal = {Methods in Ecology and Evolution}, - volume = {11}, - number = {10}, - pages = {1227--1236}, - issn = {2041-210X}, - doi = {10.1111/2041-210X.13460}, - abstract = {Anticipating and preparing for the effect of environmental changes on biodiversity requires to understand and predict both the ecological and evolutionary responses of populations. Tools and methods to efficiently integrate these complex processes are lacking. We present the genetically and spatially explicit individual-based simulation software Nemo-age combining ecological and evolutionary processes. Nemo-age has a strong emphasis on modelling complex life histories. We here provide a methodology to predict changes in species distribution for given climate projections using Nemo-age. Modelling complex life histories, spatial distribution and evolutionary processes unravel possible eco-evolutionary mechanisms that have been previously overlooked when populations endure rapid environmental changes. The interface of Nemo-age is designed to integrate species' data from different fields, from demography to genetic architecture and spatial distributions, thus representing a versatile tool to model a variety of applied and theoretical scenarios.}, - langid = {english}, - keywords = {adaptation,forward-time simulations,life history,population dynamics,spatially explicit}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.13460}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\62TTZ4SR\\Cotto et al. - 2020 - Nemo-age Spatially explicit simulations of eco-ev.pdf} -} - -@article{coulsonEstimatingFunctionalForm2008, - title = {Estimating the {{Functional Form}} for the {{Density Dependence}} from {{Life History Data}}}, - author = {Coulson, T. and Ezard, T. H. G. and Pelletier, F. and Tavecchia, G. and Stenseth, N. C. and Childs, D. Z. and Pilkington, J. G. and Pemberton, J. M. and Kruuk, L. E. B. and {Clutton-Brock}, T. H. and Crawley, M. J.}, - year = {2008}, - journal = {Ecology}, - volume = {89}, - number = {6}, - pages = {1661--1674}, - publisher = {{Ecological Society of America}}, - issn = {0012-9658}, - abstract = {Two contrasting approaches to the analysis of population dynamics are currently popular: demographic approaches where the associations between demographic rates and statistics summarizing the population dynamics are identified; and time series approaches where the associations between population dynamics, population density, and environmental covariates are investigated. In this paper, we develop an approach to combine these methods and apply it to detailed data from Soay sheep (Ovis aries). We examine how density dependence and climate contribute to fluctuations in population size via age- and sex-specific demographic rates, and how fluctuations in demographic structure influence population dynamics. Density dependence contributes most, followed by climatic variation, age structure fluctuations and interactions between density and climate. We then simplify the density-dependent, stochastic, age-structured demographic model and derive a new phenomenological time series which captures the dynamics better than previously selected functions. The simple method we develop has potential to provide substantial insight into the relative contributions of population and individual-level processes to the dynamics of populations in stochastic environments.} -} - -@article{coumouDecadeWeatherExtremes2012, - title = {A Decade of Weather Extremes}, - author = {Coumou, Dim and Rahmstorf, Stefan}, - year = {2012}, - month = jul, - journal = {Nature Climate Change}, - volume = {2}, - number = {7}, - pages = {491--496}, - publisher = {{Nature Publishing Group}}, - issn = {1758-6798}, - doi = {10.1038/nclimate1452}, - abstract = {The ostensibly large number of recent extreme weather events has triggered intensive discussions, both in- and outside the scientific community, on whether they are related to global warming. Here, we review the evidence and argue that for some types of extreme \textemdash{} notably heatwaves, but also precipitation extremes \textemdash{} there is now strong evidence linking specific events or an increase in their numbers to the human influence on climate. For other types of extreme, such as storms, the available evidence is less conclusive, but based on observed trends and basic physical concepts it is nevertheless plausible to expect an increase.}, - copyright = {2012 Nature Publishing Group, a division of Macmillan Publishers Limited. All Rights Reserved.}, - langid = {english}, - annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Reviews Subject\_term: Climate change;Climate-change impacts Subject\_term\_id: climate-change;climate-change-impacts}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\2MBSWQEE\\nclimate1452.html} -} - -@article{davisRangeShiftsAdaptive2001, - title = {Range {{Shifts}} and {{Adaptive Responses}} to {{Quaternary Climate Change}}}, - author = {Davis, Margaret B. and Shaw, Ruth G.}, - year = {2001}, - month = apr, - journal = {Science}, - volume = {292}, - number = {5517}, - pages = {673--679}, - publisher = {{American Association for the Advancement of Science}}, - issn = {0036-8075, 1095-9203}, - doi = {10.1126/science.292.5517.673}, - abstract = {Tree taxa shifted latitude or elevation range in response to changes in Quaternary climate. Because many modern trees display adaptive differentiation in relation to latitude or elevation, it is likely that ancient trees were also so differentiated, with environmental sensitivities of populations throughout the range evolving in conjunction with migrations. Rapid climate changes challenge this process by imposing stronger selection and by distancing populations from environments to which they are adapted. The unprecedented rates of climate changes anticipated to occur in the future, coupled with land use changes that impede gene flow, can be expected to disrupt the interplay of adaptation and migration, likely affecting productivity and threatening the persistence of many species.}, - chapter = {Special Reviews}, - langid = {english}, - pmid = {11326089}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\WE6DSYX8\\Davis und Shaw - 2001 - Range Shifts and Adaptive Responses to Quaternary .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\5Z9K4ENH\\673.html} -} - -@article{dawsonPredictionsBiodiversityConservation2011, - title = {Beyond {{Predictions}}: {{Biodiversity Conservation}} in a {{Changing Climate}}}, - shorttitle = {Beyond {{Predictions}}}, - author = {Dawson, Terence P. and Jackson, Stephen T. and House, Joanna I. and Prentice, Iain Colin and Mace, Georgina M.}, - year = {2011}, - month = apr, - journal = {Science}, - volume = {332}, - number = {6025}, - pages = {53--58}, - publisher = {{American Association for the Advancement of Science}}, - issn = {0036-8075, 1095-9203}, - doi = {10.1126/science.1200303}, - abstract = {Climate change is predicted to become a major threat to biodiversity in the 21st century, but accurate predictions and effective solutions have proved difficult to formulate. Alarming predictions have come from a rather narrow methodological base, but a new, integrated science of climate-change biodiversity assessment is emerging, based on multiple sources and approaches. Drawing on evidence from paleoecological observations, recent phenological and microevolutionary responses, experiments, and computational models, we review the insights that different approaches bring to anticipating and managing the biodiversity consequences of climate change, including the extent of species' natural resilience. We introduce a framework that uses information from different sources to identify vulnerability and to support the design of conservation responses. Although much of the information reviewed is on species, our framework and conclusions are also applicable to ecosystems, habitats, ecological communities, and genetic diversity, whether terrestrial, marine, or fresh water.}, - chapter = {Review}, - copyright = {Copyright \textcopyright{} 2011, American Association for the Advancement of Science}, - langid = {english}, - pmid = {21454781}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\EWLKGXFQ\\Dawson et al. - 2011 - Beyond Predictions Biodiversity Conservation in a.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\CEML54NW\\53.html} -} - -@article{deblockLocalGeneticAdaptation2013, - title = {Local Genetic Adaptation Generates Latitude-Specific Effects of Warming on Predator-Prey Interactions}, - author = {De Block, Marjan and Pauwels, Kevin and Van Den Broeck, Maarten and De Meester, Luc and Stoks, Robby}, - year = {2013}, - month = mar, - journal = {Global Change Biology}, - volume = {19}, - number = {3}, - pages = {689--696}, - issn = {1354-1013}, - doi = {10.1111/gcb.12089}, - abstract = {Temperature effects on predator-prey interactions are fundamental to better understand the effects of global warming. Previous studies never considered local adaptation of both predators and prey at different latitudes, and ignored the novel population combinations of the same predator-prey species system that may arise because of northward dispersal. We set up a common garden warming experiment to study predator-prey interactions between Ischnura elegans damselfly predators and Daphnia magna zooplankton prey from three source latitudes spanning {$>$}1500~km. Damselfly foraging rates showed thermal plasticity and strong latitudinal differences consistent with adaptation to local time constraints. Relative survival was higher at 24~\textdegree C than at 20~\textdegree C in southern Daphnia and higher at 20~\textdegree C than at 24~\textdegree C, in northern Daphnia indicating local thermal adaptation of the Daphnia prey. Yet, this thermal advantage disappeared when they were confronted with the damselfly predators of the same latitude, reflecting also a signal of local thermal adaptation in the damselfly predators. Our results further suggest the invasion success of northward moving predators as well as prey to be latitude-specific. We advocate the novel common garden experimental approach using predators and prey obtained from natural temperature gradients spanning the predicted temperature increase in the northern populations as a powerful approach to gain mechanistic insights into how community modules will be affected by global warming. It can be used as a space-for-time substitution to inform how predator-prey interaction may gradually evolve to long-term warming.}, - langid = {english}, - pmid = {23504827}, - keywords = {Adaptation; Physiological,Animals,Daphnia,Global Warming,Odonata,Predatory Behavior} -} - -@article{delattreDispersalMoodRevealed2010, - title = {Dispersal Mood Revealed by Shifts from Routine to Direct Flights in the Meadow Brown Butterfly {{Maniola}} Jurtina.}, - author = {Delattre, Thomas and Burel, Francoise and Humeau, Antoine and Stevens, Virginie Marie and Vernon, Philippe and Baguette, Michel}, - year = {2010}, - journal = {Oikos}, - volume = {119}, - number = {12}, - pages = {1900--1908}, - publisher = {{Nordic Ecological Society}}, - doi = {10.1111/j.1600-0706.2010.18615.x}, - abstract = {A comprehensive mechanistic approach to dispersal requires the translation of the whole mobility register of the target organism into movement rules that could subsequently be used to model its displacements. According to the optimality paradigm, this procedure implies a cost \textendash{} benefi t analysis of mobility patterns taking into account not only movements, but also their external context and the internal state of the moving individuals. Using this framework, we detected a `dispersal mood' in some individuals of the meadow brown butterfly Maniola jurtina. These adopted a direct flight strategy, which was topologically different from the previously documented foray search strategy. Those individuals that used the direct flight strategy moved straighter as soon as they left the habitat and avoided heading back to their patch of origin, which is the best inter-patch search strategy when dispersal risks and costs are high. The direct flight strategy was conditional to sex: females used it twice as much as males. We suggest that this sex bias was due to female investment in off spring, which is maximized by male avoidance and spatial bet hedging. Inter-patch dispersal of gravid females is crucial for the persistence of M. jurtina populations in spatially and temporally unpredictable environments.}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\8ECDD6JJ\\hal-00557623.html} -} - -@article{delgadoEffectPhenotypicTraits2010, - title = {The Effect of Phenotypic Traits and External Cues on Natal Dispersal Movements}, - author = {Delgado, Mar{\'i}a del Mar and Penteriani, Vincenzo and Revilla, Eloy and Nams, Vilis O.}, - year = {2010}, - journal = {Journal of Animal Ecology}, - volume = {79}, - number = {3}, - pages = {620--632}, - issn = {1365-2656}, - doi = {10.1111/j.1365-2656.2009.01655.x}, - abstract = {1. Natal dispersal has the potential to affect most ecological and evolutionary processes. However, despite its importance, this complex ecological process still represents a significant gap in our understanding of animal ecology due to both the lack of empirical data and the intrinsic complexity of dispersal dynamics. 2. By studying natal dispersal of 74 radiotagged juvenile eagle owls Bubo bubo (Linnaeus), in both the wandering and the settlement phases, we empirically addressed the complex interactions by which individual phenotypic traits and external cues jointly shape individual heterogeneity through the different phases of dispersal, both at nightly and weekly temporal scales. 3. Owls in poorer physical conditions travelled shorter total distances during the wandering phase, describing straighter paths and moving slower, especially when crossing heterogeneous habitats. In general, the owls in worse condition started dispersal later and took longer times to find further settlement areas. Net distances were also sex biased, with females settling at further distances. Dispersing individuals did not seem to explore wandering and settlement areas by using a search image of their natal surroundings. Eagle owls showed a heterogeneous pattern of patch occupancy, where few patches were highly visited by different owls whereas the majority were visited by just one individual. During dispersal, the routes followed by owls were an intermediate solution between optimized and randomized ones. Finally, dispersal direction had a marked directionality, largely influenced by dominant winds. These results suggest an asymmetric and anisotropic dispersal pattern, where not only the number of patches but also their functions can affect population viability. 4. The combination of the information coming from the relationships among a large set of factors acting and integrating at different spatial and temporal scales, under the perspective of heterogeneous life histories, are a fruitful ground for future understanding of natal dispersal.}, - langid = {english}, - keywords = {animal movements,dispersal behaviour,dispersal condition dependent,eagle owl,spatial networks}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2009.01655.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\EUQHADWP\\Delgado et al. - 2010 - The effect of phenotypic traits and external cues .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\KJMLTTZT\\j.1365-2656.2009.01655.html} -} - -@article{demeesterInformationUseDensitydependent2010, - title = {Information Use and Density-Dependent Emigration in an Agrobiont Spider}, - author = {De Meester, Nele and Bonte, Dries}, - year = {2010}, - month = sep, - journal = {Behavioral Ecology}, - volume = {21}, - number = {5}, - pages = {992--998}, - issn = {1045-2249}, - doi = {10.1093/beheco/arq088}, - abstract = {Density of conspecifics is considered as one of the main conditions affecting dispersal behavior and leading to a stabilization of population dynamics. Density-dependent dispersal can be induced by local competition at different phases during development and/or by density-related sources of social information. Here, we assessed the importance of population density on emigration rates and the degree to which the presence of silk threads at dispersal takeoff locations affects immediate dispersal decision making in the spider Erigone atra. By quantifying behaviors in wind tunnels under standardized laboratory conditions, silk-assisted long- and short-distance dispersal is quantified before the actual onset of the dispersal event.Increased densities during juvenile development only affected short-distance dispersal behavior. In females, short-distance dispersal increased with the female density experienced during development, whereas responses in males increased under combined high male/low female-experienced densities. Elevated densities at the onset of dispersal led to a general increase of predispersal behaviors. The presence of silk threads at takeoff platforms similarly induced an increase of dispersal displays, with specifically an increase in long-distance dispersal in both sexes.Our results demonstrate that the spider E. atra uses information related to density during development, most probably to avoid competition by performing short-distance dispersal. In contrast, density-related cues at the time of dispersal (i.e., increased densities and the presence of silk threads) increase general dispersal activities and long-distance ballooning events. Short- and long-distance dispersal strategies are consequently guided by differential density-related information use.}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\9WEVP9KQ\\De Meester und Bonte - 2010 - Information use and density-dependent emigration i.pdf} -} - -@article{dennoHabitatPersistenceUnderlies1996, - title = {Habitat {{Persistence Underlies Intraspecific Variation}} in the {{Dispersal Strategies}} of {{Planthoppers}}}, - author = {Denno, Robert F. and Roderick, George K. and Peterson, Merrill A. and Huberty, Andrea F. and Dobel, Hartmut G. and Eubanks, Micky D. and Losey, John E. and Langellotto, Gail A.}, - year = {1996}, - journal = {Ecological Monographs}, - volume = {66}, - number = {4}, - pages = {389--408}, - publisher = {{Ecological Society of America}}, - issn = {0012-9615}, - doi = {10.2307/2963487}, - abstract = {Dispersal is considered a vital life history characteristic for insects exploiting temporary habitats, and life history theorists have often hypothesized an inverse relationship between dispersal capability and habitat persistence. Most often, this hypothesis has been tested using interspecific comparisons of dispersal capability and qualitative estimates of habitat persistence. Consequently, most assessments have failed to control for possible phylogenetic nonindependence and they also lack quantitative rigor. We capitalized on existing intraspecific variation in the dispersal capability of Prokelisia planthoppers to examine the relationship between habitat persistence and dispersal, thereby minimizing possible phylogenetic effects. Two congeneric species (Prokelisia marginata and P. dolus) occur in the intertidal marshes of North America, where they feed exclusively on cordgrasses (Spartina). Because these planthoppers exhibit wing dimorphism, flight-capable adults (macropters with fully developed wings) are easily differentiated from flightless adults (brachypters with reduced wings). Thus, dispersal capability can be readily estimated by the percentage of macropters in a population. At a regional spatial scale, we found a highly significant negative relationship between dispersal capability (percent macroptery) and habitat persistence. In this system, habitat persistence is influenced by a combination of marsh elevation, winter severity, and tidal range, which interact to determine the ability of planthoppers to endure through winter in their primary habitat for development. P. marginata develops primarily in low-marsh habitats during summer, habitats that can be subjected to pronounced winter disturbance due to ice scouring and/or extensive tidal inundation. Levels of winter disturbance of the low marsh are extreme along the Atlantic coast, intermediate along the Pacific, and low along the Gulf. Both the failure of P. marginata populations to remain through winter in this habitat, and the dispersal ability of these populations (92\%, 29\%, and 17\% macroptery, respectively), are correlated with levels of disturbance. Thus, in regions where winter disturbance is high, levels of dispersal are correspondingly high to allow for recolonization of extirpated habitats from overwintering sites on the high marsh. Unlike P. marginata, P. dolus develops primarily in high-marsh habitats, which are much less disturbed on all coasts during winter. Consequently, this species remains year-round in its primary habitat for development, and most populations exhibit relatively low levels of macroptery ({$<$}10\%). When raised under common garden conditions, many more macropters of both species were produced from Atlantic compared to Gulf populations. Thus the proportion of macropters produced from the populations used in this experiment paralleled the incidence of macroptery measured in the field, providing evidence that the geographic variation in dispersal capability in both species has in part a genetic basis. The results of this study provide strong intraspecific evidence for an inverse relationship between the dispersal capability of insects and the persistence of their habitats.}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZHTGPG3S\\Denno et al. - 1996 - Habitat Persistence Underlies Intraspecific Variat.pdf} -} - -@article{doerrConnectivityDispersalBehaviour2011a, - title = {Connectivity, Dispersal Behaviour and Conservation under Climate Change: A Response to {{Hodgson}} et Al.}, - shorttitle = {Connectivity, Dispersal Behaviour and Conservation under Climate Change}, - author = {Doerr, Veronica A. J. and Barrett, Tom and Doerr, Erik D.}, - year = {2011}, - journal = {Journal of Applied Ecology}, - volume = {48}, - number = {1}, - pages = {143--147}, - issn = {1365-2664}, - doi = {10.1111/j.1365-2664.2010.01899.x}, - abstract = {1. Hodgson et al. [Journal of Applied Ecology46 (2009) 964] argue that connectivity is complex and uncertain, that it can be improved incidentally by increasing habitat extent, and that connectivity conservation is unlikely to be effective under climate change. 2. We believe that they have overlooked recent research on dispersal behaviour and structural connectivity, which has improved our understanding of functional connectivity and revealed that it will not necessarily increase with habitat extent. 3. New modelling techniques including least-cost path models incorporate this more detailed understanding of connectivity into conservation planning, facilitating the true aim of connectivity conservation \textendash{} to ensure appropriate interactions between habitat extent, quality and connectivity. 4. Synthesis and applications. Advances in behavioural research and modelling techniques allow us to manage structural connectivity with as much certainty as we manage extent and quality of habitat. Successful landscape conservation to address both current threats and future climate change must manage these three elements in concert.}, - langid = {english}, - keywords = {aggregation,behavioural ecology,connectivity conservation,corridor,fragmentation,gap-crossing,metapopulation,population viability,range shift,stepping stone}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2010.01899.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\EZMNQQG4\\Doerr et al. - 2011 - Connectivity, dispersal behaviour and conservation.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\KRMKE8WD\\j.1365-2664.2010.01899.html} -} - -@article{doligezAvailabilityUsePublic2004, - title = {Availability and {{Use}} of {{Public Information}} and {{Conspecific Density}} for {{Settlement Decisions}} in the {{Collared Flycatcher}}}, - author = {Doligez, Blandine and P{\"a}rt, Tomas and Danchin, Etienne and Clobert, Jean and Gustafsson, Lars}, - year = {2004}, - journal = {Journal of Animal Ecology}, - volume = {73}, - number = {1}, - pages = {75--87}, - publisher = {{[Wiley, British Ecological Society]}}, - issn = {0021-8790}, - abstract = {1. Public information, i.e. local reproductive performance of conspecifics, is expected to be a highly valuable cue for breeding habitat selection. However, the access to this cue may be spatially and temporally constrained. When public information is unavailable, individuals may use other integrative cues, such as the local density of breeders. 2. Departure decisions of collared flycatchers (Ficedula albicollis) were shown previously to be related to both public information and breeding density, in a long-term correlative study of a fragmented population. Here, we tested whether flycatchers also use public information (number and condition of fledglings produced locally) and breeding density to make individual settlement decisions in the following year. 3. Immigration rates were computed to measure the degree of attractiveness of patches to new breeders. We investigated the relative influence of public information and breeding density on immigration rates of yearlings and older adults separately. The access to public information for settlement decisions may indeed be more limited for yearlings. 4. Immigration rate in a patch increased with mean fledgling number in the previous year for older adults but not for yearlings. Yearling immigration rate was correlated positively to mean fledgling condition when patch breeding density in the previous year was low, but negatively when density was high. 5. Immigration rates of both yearlings and older adults increased with breeding density in the previous year. Breeding density explained a larger part of the variance in immigration rate than patch reproductive success. 6. The proportion of yearlings among breeders decreased with increasing patch reproductive success and breeding density in the previous year, suggesting that local competition was high in attractive patches. 7. Our results thus suggest that public information is also used for immigration decisions. However, decisions of yearlings are more complex than those of older adults, due to their more limited access to public information and the higher impact of intraspecific competition. Conversely, all individuals seemed to cue on breeding density in a similar way. Density is correlated to patch reproductive success, and may be a more easily accessible cue. We discuss the potential advantages of using conspecific density over conspecific reproductive performance for future immigration decisions.} -} - -@article{dormannCorrelationProcessSpecies2012, - title = {Correlation and Process in Species Distribution Models: Bridging a Dichotomy}, - shorttitle = {Correlation and Process in Species Distribution Models}, - author = {Dormann, Carsten F. and Schymanski, Stanislaus J. and Cabral, Juliano and Chuine, Isabelle and Graham, Catherine and Hartig, Florian and Kearney, Michael and Morin, Xavier and R{\"o}mermann, Christine and Schr{\"o}der, Boris and Singer, Alexander}, - year = {2012}, - journal = {Journal of Biogeography}, - volume = {39}, - number = {12}, - pages = {2119--2131}, - issn = {1365-2699}, - doi = {10.1111/j.1365-2699.2011.02659.x}, - abstract = {Within the field of species distribution modelling an apparent dichotomy exists between process-based and correlative approaches, where the processes are explicit in the former and implicit in the latter. However, these intuitive distinctions can become blurred when comparing species distribution modelling approaches in more detail. In this review article, we contrast the extremes of the correlative\textendash process spectrum of species distribution models with respect to core assumptions, model building and selection strategies, validation, uncertainties, common errors and the questions they are most suited to answer. The extremes of such approaches differ clearly in many aspects, such as model building approaches, parameter estimation strategies and transferability. However, they also share strengths and weaknesses. We show that claims of one approach being intrinsically superior to the other are misguided and that they ignore the process\textendash correlation continuum as well as the domains of questions that each approach is addressing. Nonetheless, the application of process-based approaches to species distribution modelling lags far behind more correlative (process-implicit) methods and more research is required to explore their potential benefits. Critical issues for the employment of species distribution modelling approaches are given, together with a guideline for appropriate usage. We close with challenges for future development of process-explicit species distribution models and how they may complement current approaches to study species distributions.}, - langid = {english}, - keywords = {Hypothesis generation,mechanistic model,parameterization,process-based model,SDM,species distribution model,uncertainty,validation}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2011.02659.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\GPTLTKUH\\Dormann et al. - 2012 - Correlation and process in species distribution mo.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\SEGWRBYA\\j.1365-2699.2011.02659.html} -} - -@article{dormannEffectsIncorporatingSpatial2007, - title = {Effects of Incorporating Spatial Autocorrelation into the Analysis of Species Distribution Data}, - author = {Dormann, Carsten F.}, - year = {2007}, - journal = {Global Ecology and Biogeography}, - volume = {16}, - number = {2}, - pages = {129--138}, - issn = {1466-8238}, - doi = {10.1111/j.1466-8238.2006.00279.x}, - abstract = {Aim Spatial autocorrelation (SAC) in data, i.e. the higher similarity of closer samples, is a common phenomenon in ecology. SAC is starting to be considered in the analysis of species distribution data, and over the last 10 years several studies have incorporated SAC into statistical models (here termed `spatial models'). Here, I address the question of whether incorporating SAC affects estimates of model coefficients and inference from statistical models. Methods I review ecological studies that compare spatial and non-spatial models. Results In all cases coefficient estimates for environmental correlates of species distributions were affected by SAC, leading to a mis-estimation of on average c. 25\%. Model fit was also improved by incorporating SAC. Main conclusions These biased estimates and incorrect model specifications have implications for predicting species occurrences under changing environmental conditions. Spatial models are therefore required to estimate correctly the effects of environmental drivers on species present distributions, for a statistically unbiased identification of the drivers of distribution, and hence for more accurate forecasts of future distributions.}, - langid = {english}, - keywords = {Autologistic regression,autoregressive model,spatial autocorrelation,spatial statistics,species distribution analysis,statistical biogeography}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2006.00279.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\TLWDUIYD\\Dormann - 2007 - Effects of incorporating spatial autocorrelation i.pdf} -} - -@article{doverInfluencesLandscapeStructure2009, - title = {The Influences of Landscape Structure on Butterfly Distribution and Movement: A Review}, - shorttitle = {The Influences of Landscape Structure on Butterfly Distribution and Movement}, - author = {Dover, John and Settele, Josef}, - year = {2009}, - month = feb, - journal = {Journal of Insect Conservation}, - volume = {13}, - number = {1}, - pages = {3--27}, - issn = {1572-9753}, - doi = {10.1007/s10841-008-9135-8}, - abstract = {We review the literature on the influence of landscape structure on butterfly distribution and movement. We start by examining the definition of landscape commonly used in spatial ecology. Landscape-level processes are reviewed before focusing on the impact of the geometry and spatial arrangement of habitat patches on butterflies e.g. the nature of the matrix, patch size and shape, minimum area requirements, immigration and emigration, and temporal habitat dynamics. The role of landscape elements is reviewed in terms of corridors (and stepping-stones), barriers, nodes, environmental buffers, and prominent landmark features.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\LJVY2JZQ\\Dover und Settele - 2009 - The influences of landscape structure on butterfly.pdf} -} - -@article{driezenEvaluatingLeastcostModel2007, - title = {Evaluating Least-Cost Model Predictions with Empirical Dispersal Data: {{A}} Case-Study Using Radiotracking Data of Hedgehogs ({{Erinaceus}} Europaeus)}, - shorttitle = {Evaluating Least-Cost Model Predictions with Empirical Dispersal Data}, - author = {Driezen, Kassandra and Adriaensen, Frank and Rondinini, Carlo and Doncaster, C. Patrick and Matthysen, Erik}, - year = {2007}, - journal = {Ecological Modelling}, - volume = {209}, - number = {2}, - pages = {314--322}, - publisher = {{Elsevier}}, - abstract = {Habitat fragmentation and habitat loss are widely recognized as major threats to biodiversity on a regional as well as on a global scale. To restrict its effects, ecological networks such as the trans-European network NATURA2000 are being developed based on the assumption that structural connections between habitat fragments lead to increased exchange through dispersal and a higher viability of (meta)populations. However, there is a great need for techniques that translate these networks and/or structural characteristics of landscapes into functional connectivity for specific organisms. Least-cost analysis has the capacities to fulfill these needs, but has never been validated against actual observations of dispersal paths. Here we present a method to validate the results of a least-cost analysis by comparing realized movement paths of hedgehogs in unfamiliar areas, obtained by radiotracking, with statistics on landscape-wide distribution of cost values. The degree of correspondence between empirical dispersal paths and the output of a least-cost analysis can be visualized and quantified, and least-cost scenarios can be statistically compared. We show that hedgehogs moved along paths with significantly lower cost values than the average landscape, implying that they took better than random routes, but performance was relatively poor. We attribute this to the relatively generalistic habitat use of the model species and the rather homogeneous landscapes. We conclude that this approach can be useful for further validation of the least-cost model and allows a direct comparison of model performance among different taxa and/or landscapes.}, - langid = {english}, - keywords = {Connectivity,Cost-distance,Dispersal path,Erinaceus europaeus,Least-cost model}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\8A74C4QW\\v209y2007i2p314-322.html} -} - -@article{duckworthAdaptiveDispersalStrategies2008, - title = {Adaptive Dispersal Strategies and the Dynamics of a Range Expansion}, - author = {Duckworth, Ren{\'e}e A.}, - year = {2008}, - month = jul, - journal = {The American Naturalist}, - volume = {172 Suppl 1}, - pages = {S4-17}, - issn = {1537-5323}, - doi = {10.1086/588289}, - abstract = {In species undergoing range expansion, newly established populations are often more dispersive than older populations. Because dispersal phenotypes are complex and often costly, it is unclear how highly dispersive phenotypes are maintained in a species to enable their rapid expression during periods of range expansion. Here I test the idea that metapopulation dynamics of local extinction and recolonization maintain distinct dispersal strategies outside the context of range expansion. Western bluebirds display distinct dispersal phenotypes where aggressive males are more dispersive than nonaggressive males, resulting in highly aggressive populations at the edge of their expanding range. I experimentally created new habitat interior to the range edge to show that, as on the range front, it was colonized solely by aggressive males. Moreover, fitness consequences of aggression depended on population age: aggressive males had high fitness when colonizing new populations, while nonaggressive males performed best in an older population. These results suggest that distinct dispersal strategies were maintained before range expansion as an adaptation for the continual recolonization of new habitat. These results emphasize similarities between range expansion and metapopulation dynamics and suggest that preexisting adaptive dispersal strategies may explain rapid changes in dispersal phenotypes during range expansion.}, - langid = {english}, - pmid = {18554143}, - keywords = {Adaptation; Biological,Aggression,Animals,Ecosystem,Female,Geography,Male,Montana,Population Dynamics,Selection; Genetic,Songbirds} -} - -@article{dyckHabitatFragmentationInsect1999, - title = {Habitat Fragmentation and Insect Flight: A Changing `Design' in a Changing Landscape?}, - shorttitle = {Habitat Fragmentation and Insect Flight}, - author = {Dyck, Hans Van and Matthysen, Erik}, - year = {1999}, - month = may, - journal = {Trends in Ecology \& Evolution}, - volume = {14}, - number = {5}, - pages = {172--174}, - publisher = {{Elsevier}}, - issn = {0169-5347}, - doi = {10.1016/S0169-5347(99)01610-9}, - langid = {english}, - pmid = {10322528}, - keywords = {butterflies,dispersal,Ecology,evolution,Evolution,habitat fragmentation,insect flight,morphological design}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\3A89AYW2\\Dyck et al. - 1999 - Habitat fragmentation and insect flight a changin.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\LL532EVX\\S0169-5347(99)01610-9.html} -} - -@article{dythamEvolvedDispersalStrategies2009, - title = {Evolved Dispersal Strategies at Range Margins}, - author = {Dytham, Calvin}, - year = {2009}, - month = apr, - journal = {Proceedings of the Royal Society B: Biological Sciences}, - volume = {276}, - number = {1661}, - pages = {1407--1413}, - issn = {0962-8452}, - doi = {10.1098/rspb.2008.1535}, - abstract = {Dispersal is a key component of a species's ecology and will be under different selection pressures in different parts of the range. For example, a long-distance dispersal strategy suitable for continuous habitat at the range core might not be favoured at the margin, where the habitat is sparse. Using a spatially explicit, individual-based, evolutionary simulation model, the dispersal strategies of an organism that has only one dispersal event in its lifetime, such as a plant or sessile animal, are considered. Within the model, removing habitat, increasing habitat turnover, increasing the cost of dispersal, reducing habitat quality or altering vital rates imposes range limits. In most cases, there is a clear change in the dispersal strategies across the range, although increasing death rate towards the margin has little impact on evolved dispersal strategy across the range. Habitat turnover, reduced birth rate and reduced habitat quality all increase evolved dispersal distances at the margin, while increased cost of dispersal and reduced habitat density lead to lower evolved dispersal distances at the margins. As climate change shifts suitable habitat poleward, species ranges will also start to shift, and it will be the dispersal capabilities of marginal populations, rather than core populations, that will influence the rate of range shifting.}, - pmcid = {PMC2677228}, - pmid = {19324810}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\625B7SCP\\Dytham - 2009 - Evolved dispersal strategies at range margins.pdf} -} - -@article{dythamEvolvingDispersalAge2006, - title = {Evolving {{Dispersal}} and {{Age}} at {{Death}}}, - author = {Dytham, Calvin and Travis, Justin M. J.}, - year = {2006}, - journal = {Oikos}, - volume = {113}, - number = {3}, - pages = {530--538}, - publisher = {{[Nordic Society Oikos, Wiley]}}, - issn = {0030-1299}, - abstract = {Traditional, and often competing, theories on ageing agree that a programmed age at death must have arisen as a side effect of natural selection, and that it can have no adaptive value of its own. However, theoretical models suggest that ageing and programmed death can be adaptive. Travis J. M. J. suggested that if fecundity declines with age, a programmed age of death evolves through kin selection and that the nature of dispersal is crucial as it determines the degree of spatial structure and hence the strength of kin selection. Here, using a similar model, we consider the interplay between dispersal and age of death. We incorporate more realistic dispersal kernels and allow both dispersal and age of death to evolve. Our results show each trait can evolve in response to the other: earlier age of death evolves when individuals disperse less and greater dispersal distances evolve when individuals are programmed to die later. When we allow dispersal and age of death to evolve at the same time we typically find that dispersal evolves more rapidly, and that ageing then evolves in response to the new dispersal regime. The cost of dispersal is crucial in determining the evolution of both traits. We argue both that ageing is an overlooked ecological process, and that the field of gerontology could learn a lot from evolutionary ecology. We suggest that it is time to develop the field of ecological gerontology and we highlight a few areas where future work might be particularly rewarding.} -} - -@article{easterlingClimateExtremesObservations2000, - title = {Climate {{Extremes}}: {{Observations}}, {{Modeling}}, and {{Impacts}}}, - shorttitle = {Climate {{Extremes}}}, - author = {Easterling, David R. and Meehl, Gerald A. and Parmesan, Camille and Changnon, Stanley A. and Karl, Thomas R. and Mearns, Linda O.}, - year = {2000}, - month = sep, - journal = {Science}, - volume = {289}, - number = {5487}, - pages = {2068--2074}, - publisher = {{American Association for the Advancement of Science}}, - issn = {0036-8075, 1095-9203}, - doi = {10.1126/science.289.5487.2068}, - abstract = {One of the major concerns with a potential change in climate is that an increase in extreme events will occur. Results of observational studies suggest that in many areas that have been analyzed, changes in total precipitation are amplified at the tails, and changes in some temperature extremes have been observed. Model output has been analyzed that shows changes in extreme events for future climates, such as increases in extreme high temperatures, decreases in extreme low temperatures, and increases in intense precipitation events. In addition, the societal infrastructure is becoming more sensitive to weather and climate extremes, which would be exacerbated by climate change. In wild plants and animals, climate-induced extinctions, distributional and phenological changes, and species' range shifts are being documented at an increasing rate. Several apparently gradual biological changes are linked to responses to extreme weather and climate events.}, - chapter = {Review}, - langid = {english}, - pmid = {11000103}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\F5G4BRUV\\Easterling et al. - 2000 - Climate Extremes Observations, Modeling, and Impa.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\4GK3BV9N\\2068.html} -} - -@article{edelaarMatchingHabitatChoice2008, - title = {Matching {{Habitat Choice Causes Directed Gene Flow}}: {{A Neglected Dimension}} in {{Evolution}} and {{Ecology}}}, - shorttitle = {Matching {{Habitat Choice Causes Directed Gene Flow}}}, - author = {Edelaar, Pim and Siepielski, Adam M. and Clobert, Jean}, - year = {2008}, - journal = {Evolution}, - volume = {62}, - number = {10}, - pages = {2462--2472}, - issn = {1558-5646}, - doi = {10.1111/j.1558-5646.2008.00459.x}, - abstract = {Gene flow among populations is typically thought to be antagonistic to population differentiation and local adaptation. However, this assumes that dispersing individuals disperse randomly with respect to their ability to use the environment. Yet dispersing individuals often sample and compare environments and settle in those environments that best match their phenotype, causing directed gene flow, which can in fact promote population differentiation and adaptation. We refer to this process as ``matching habitat choice.'' Although this process has been acknowledged by several researchers, no synthesis or perspective on its potentially widespread importance exists. Here we synthesize empirical and theoretical studies, and offer a new perspective that matching habitat choice can have significant effects on important and controversial topics. We discuss the potential implications of matching habitat choice for the degree and rate of local adaptation, the evolution of niche width, adaptive peak shifts, speciation in the presence of gene flow, and on our view and interpretation of measures of natural selection. Because of its potential importance for such a wide range of topics, we call for heightened empirical and theoretical attention for this neglected dimension in evolutionary and ecological studies.}, - langid = {english}, - keywords = {Dispersal,gene flow,habitat choice,local adaptation,migration–selection balance,natural selection,population differentiation}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1558-5646.2008.00459.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\DBFI93ZP\\Edelaar et al. - 2008 - Matching Habitat Choice Causes Directed Gene Flow.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\756WY33F\\j.1558-5646.2008.00459.html} -} - -@article{elithSpeciesDistributionModels, - title = {Species {{Distribution Models}}: {{Ecological Explanation}} and {{Prediction Across Space}} and {{Time}}}, - author = {Elith, J and Leathwick, J. R.}, - journal = {Annual Review of Ecology, Evolution, and Systematics}, - number = {40}, - pages = {677--697} -} - -@article{enfjallEvolutionDispersalImportance2009, - title = {The Evolution of Dispersal \textendash{} the Importance of Information about Population Density and Habitat Characteristics}, - author = {Enfj{\"a}ll, Karin and Leimar, Olof}, - year = {2009}, - journal = {Oikos}, - volume = {118}, - number = {2}, - pages = {291--299}, - issn = {1600-0706}, - doi = {10.1111/j.1600-0706.2008.16863.x}, - abstract = {The evolution of mobility patterns and dispersal strategies depend on different population, habitat and life history characteristics. The ability to perceive and make use of information about the surrounding environment for dispersal decisions will also differ between organisms. To investigate the evolutionary consequences of such differences, we have used a simulation model with nearest-neighbour dispersal in a metapopulation to study how variation in the ability to obtain and make use of information about habitat quality and conspecific density affects the evolution of dispersal strategies. We found a rather strong influence of variation in information on the overall rate of dispersal in a metapopulation. The highest emigration rate evolved in organisms with no information about either density or habitat quality and the lowest rate was found in organisms with information about both the natal and the neighbouring patches. For organisms that can make use of information about conspecific density, positively density-dependent dispersal evolved in the majority of cases, with the strongest density dependence occurring when an individual only has information about density in the natal patch. However, we also identified situations, involving strong local population fluctuations and frequent local extinctions, where negatively density-dependent dispersal evolved.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2008.16863.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\LT3FZ62H\\Enfjäll und Leimar - 2009 - The evolution of dispersal – the importance of inf.pdf} -} - -@article{englerMigClimPredictingPlant2009, - title = {{{MigClim}}: {{Predicting}} Plant Distribution and Dispersal in a Changing Climate}, - shorttitle = {{{MigClim}}}, - author = {Engler, Robin and Guisan, Antoine}, - year = {2009}, - journal = {Diversity and Distributions}, - volume = {15}, - number = {4}, - pages = {590--601}, - issn = {1472-4642}, - doi = {10.1111/j.1472-4642.2009.00566.x}, - abstract = {Aim Many studies have forecasted the possible impact of climate change on plant distributions using models based on ecological niche theory, but most of them have ignored dispersal-limitations, assuming dispersal to be either unlimited or null. Depending on the rate of climatic change, the landscape fragmentation and the dispersal capabilities of individual species, these assumptions are likely to prove inaccurate, leading to under- or overestimation of future species distributions and yielding large uncertainty between these two extremes. As a result, the concepts of `potentially suitable' and `potentially colonizable' habitat are expected to differ significantly. To quantify to what extent these two concepts can differ, we developed MigClim, a model simulating plant dispersal under climate change and landscape fragmentation scenarios. MigClim implements various parameters, such as dispersal distance, increase in reproductive potential over time, landscape fragmentation or long-distance dispersal. Location Western Swiss Alps. Methods Using our MigClim model, several simulations were run for two virtual species by varying dispersal distance and other parameters. Each simulation covered the 100-year period 2001\textendash 2100 and three different IPCC-based temperature warming scenarios were considered. Results of dispersal-limited projections were compared with unlimited and no-dispersal projections. Results Our simulations indicate that: (1) using realistic parameter values, the future potential distributions generated using MigClim can differ significantly (up to more than 95\% difference in colonized surface) from those that ignore dispersal; (2) this divergence increases under more extreme climate warming scenarios and over longer time periods; and (3) the uncertainty associated with the warming scenario can be as large as the one related to dispersal parameters. Main conclusions Accounting for dispersal, even roughly, can importantly reduce uncertainty in projections of species distribution under climate change scenarios.}, - langid = {english}, - keywords = {Cellular automaton,climate change,dispersal modelling,dynamic niche-based models,GLM,plant species distribution}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2009.00566.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\23WHR4RV\\Engler und Guisan - 2009 - MigClim Predicting plant distribution and dispers.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\SCAJT7CB\\j.1472-4642.2009.00566.html} -} - -@article{eppersonUtilityComputerSimulations2010, - title = {Utility of Computer Simulations in Landscape Genetics}, - author = {Epperson, Bryan K. and Mcrae, Brad H. and Scribner, Kim and Cushman, Samuel A. and Rosenberg, Michael S. and Fortin, Marie-Jos{\'e}e and James, Patrick M. A. and Murphy, Melanie and Manel, St{\'e}phanie and Legendre, Pierre and Dale, Mark R. T.}, - year = {2010}, - journal = {Molecular Ecology}, - volume = {19}, - number = {17}, - pages = {3549--3564}, - issn = {1365-294X}, - doi = {10.1111/j.1365-294X.2010.04678.x}, - abstract = {Population genetics theory is primarily based on mathematical models in which spatial complexity and temporal variability are largely ignored. In contrast, the field of landscape genetics expressly focuses on how population genetic processes are affected by complex spatial and temporal environmental heterogeneity. It is spatially explicit and relates patterns to processes by combining complex and realistic life histories, behaviours, landscape features and genetic data. Central to landscape genetics is the connection of spatial patterns of genetic variation to the usually highly stochastic space\textendash time processes that create them over both historical and contemporary time periods. The field should benefit from a shift to computer simulation approaches, which enable incorporation of demographic and environmental stochasticity. A key role of simulations is to show how demographic processes such as dispersal or reproduction interact with landscape features to affect probability of site occupancy, population size, and gene flow, which in turn determine spatial genetic structure. Simulations could also be used to compare various statistical methods and determine which have correct type I error or the highest statistical power to correctly identify spatio-temporal and environmental effects. Simulations may also help in evaluating how specific spatial metrics may be used to project future genetic trends. This article summarizes some of the fundamental aspects of spatial\textendash temporal population genetic processes. It discusses the potential use of simulations to determine how various spatial metrics can be rigorously employed to identify features of interest, including contrasting locus-specific spatial patterns due to micro-scale environmental selection.}, - langid = {english}, - keywords = {individual-based models,landscape ecology,population genetics,simulations,spatial statistics}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-294X.2010.04678.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\V96KB67J\\Epperson et al. - 2010 - Utility of computer simulations in landscape genet.pdf} -} - -@article{excoffierGeneticConsequencesRange2009, - title = {Genetic {{Consequences}} of {{Range Expansions}}}, - author = {Excoffier, Laurent and Foll, Matthieu and Petit, R{\'e}my J.}, - year = {2009}, - journal = {Annual Review of Ecology, Evolution, and Systematics}, - volume = {40}, - number = {1}, - pages = {481--501}, - doi = {10.1146/annurev.ecolsys.39.110707.173414}, - abstract = {Although range expansions have occurred recurrently in the history of most species, their genetic consequences have been little investigated. Theoretical studies show that range expansions are quite different from pure demographic expansions and that the extent of recent gene flow conditions expected patterns of molecular diversity within and between populations. Spatially explicit simulation studies have led to unexpected and fascinating results about genetic patterns emerging after a range expansion. For instance, spatial expansions can generate allele frequency gradients, promote the surfing of rare variants into newly occupied territories, induce the structuring of newly colonized areas into distinct sectors of low genetic diversity, or lead to massive introgression of local genes into the genome of an invading species. Interestingly, most of these patterns had been previously attributed to distinct selective processes, showing that taking into account the dynamic nature of a species range can lead to a paradigm shift in our perception of evolutionary processes.}, - annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.39.110707.173414}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ME9I5RQA\\Excoffier et al. - 2009 - Genetic Consequences of Range Expansions.pdf} -} - -@article{fahrigEffectsHabitatFragmentation2003a, - title = {Effects of {{Habitat Fragmentation}} on {{Biodiversity}}}, - author = {Fahrig, Lenore}, - year = {2003}, - journal = {Annual Review of Ecology, Evolution, and Systematics}, - volume = {34}, - number = {1}, - pages = {487--515}, - doi = {10.1146/annurev.ecolsys.34.011802.132419}, - abstract = {The literature on effects of habitat fragmentation on biodiversity is huge. It is also very diverse, with different authors measuring fragmentation in different ways and, as a consequence, drawing different conclusions regarding both the magnitude and direction of its effects. Habitat fragmentation is usually defined as a landscape-scale process involving both habitat loss and the breaking apart of habitat. Results of empirical studies of habitat fragmentation are often difficult to interpret because (a) many researchers measure fragmentation at the patch scale, not the landscape scale and (b) most researchers measure fragmentation in ways that do not distinguish between habitat loss and habitat fragmentation per se, i.e., the breaking apart of habitat after controlling for habitat loss. Empirical studies to date suggest that habitat loss has large, consistently negative effects on biodiversity. Habitat fragmentation per se has much weaker effects on biodiversity that are at least as likely to be positive as negative. Therefore, to correctly interpret the influence of habitat fragmentation on biodiversity, the effects of these two components of fragmentation must be measured independently. More studies of the independent effects of habitat loss and fragmentation per se are needed to determine the factors that lead to positive versus negative effects of fragmentation per se. I suggest that the term ``fragmentation'' should be reserved for the breaking apart of habitat, independent of habitat loss.}, - annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.34.011802.132419}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\JW2M3HGH\\Fahrig - 2003 - Effects of Habitat Fragmentation on Biodiversity.pdf} -} - -@article{fahrigNonoptimalAnimalMovement2007a, - title = {Non-Optimal Animal Movement in Human-Altered Landscapes}, - author = {Fahrig, Lenore}, - year = {2007}, - journal = {Functional Ecology}, - volume = {21}, - number = {6}, - pages = {1003--1015}, - issn = {1365-2435}, - doi = {10.1111/j.1365-2435.2007.01326.x}, - abstract = {1 I synthesize the understanding of the relationship between landscape structure and animal movement in human-modified landscapes. 2 The variety of landscape structures is first classified into four categories: continuous habitat, patchy habitat with high-quality matrix, patchy habitat with low-quality matrix, and patchy, ephemeral habitat. Using this simplification I group the range of evolved movement parameters into four categories or movement types. I then discuss how these movement types interact with current human-caused landscape changes, and how this often results in non-optimal movement. 3 From this synthesis I develop a hypothesis that predicts the relative importance of the different population-level consequences of these non-optimal movements, for the four movement types. 4 Populations of species that have inhabited landscapes with high habitat cover or patchy landscapes with low-risk matrix should have evolved low boundary responses and moderate to high movement probabilities. These species are predicted to be highly susceptible to increased movement mortality resulting from habitat loss and reduced matrix quality. 5 In contrast, populations of species that evolved in patchy landscapes with high-risk matrix or dynamic patchy landscapes are predicted to be highly susceptible to decreased immigration and colonization success, due to the increasing patch isolation that results from habitat loss. 6 Finally, I discuss three implications of this synthesis: (i) `least cost path' analysis should not be used for land management decisions without data on actual movement paths and movement risks in the landscape; (ii) `dispersal ability' is not simply an attribute of a species, but varies strongly with landscape structure such that the relative rankings of species' dispersal abilities can change following landscape alteration; and (iii) the assumption that more mobile species are more resilient to human-caused landscape change is not generally true, but depends on the structure of the landscape where the species evolved.}, - langid = {english}, - keywords = {colonization,dispersal ability,dispersal mortality,landscape structure,least cost path}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2435.2007.01326.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\SAETXSAN\\Fahrig - 2007 - Non-optimal animal movement in human-altered lands.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\9NAZ9VUH\\j.1365-2435.2007.01326.html} -} - -@article{fellousQuorumSensingDensityDependent2012, - title = {Quorum {{Sensing}} and {{Density-Dependent Dispersal}} in an {{Aquatic Model System}}}, - author = {Fellous, Simon and Duncan, Alison and Coulon, Aur{\'e}lie and Kaltz, Oliver}, - year = {2012}, - month = nov, - journal = {PLOS ONE}, - volume = {7}, - number = {11}, - pages = {e48436}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0048436}, - abstract = {Many organisms use cues to decide whether to disperse or not, especially those related to the composition of their environment. Dispersal hence sometimes depends on population density, which can be important for the dynamics and evolution of sub-divided populations. But very little is known about the factors that organisms use to inform their dispersal decision. We investigated the cues underlying density-dependent dispersal in inter-connected microcosms of the freshwater protozoan Paramecium caudatum. In two experiments, we manipulated (i) the number of cells per microcosm and (ii) the origin of their culture medium (supernatant from high- or low-density populations). We found a negative relationship between population density and rates of dispersal, suggesting the use of physical cues. There was no significant effect of culture medium origin on dispersal and thus no support for chemical cues usage. These results suggest that the perception of density \textendash{} and as a result, the decision to disperse \textendash{} in this organism can be based on physical factors. This type of quorum sensing may be an adaptation optimizing small scale monitoring of the environment and swarm formation in open water.}, - langid = {english}, - keywords = {Allee effect,Behavior,Cloning,Paramecium,Population density,Quorum sensing,Statistical dispersion,Swimming}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\KNTDRHDG\\Fellous et al. - 2012 - Quorum Sensing and Density-Dependent Dispersal in .pdf} -} - -@article{fischerLandscapeModificationHabitat2007, - title = {Landscape Modification and Habitat Fragmentation: A Synthesis}, - shorttitle = {Landscape Modification and Habitat Fragmentation}, - author = {Fischer, Joern and Lindenmayer, David B.}, - year = {2007}, - journal = {Global Ecology and Biogeography}, - volume = {16}, - number = {3}, - pages = {265--280}, - issn = {1466-8238}, - doi = {10.1111/j.1466-8238.2007.00287.x}, - abstract = {Landscape modification and habitat fragmentation are key drivers of global species loss. Their effects may be understood by focusing on: (1) individual species and the processes threatening them, and (2) human-perceived landscape patterns and their correlation with species and assemblages. Individual species may decline as a result of interacting exogenous and endogenous threats, including habitat loss, habitat degradation, habitat isolation, changes in the biology, behaviour, and interactions of species, as well as additional, stochastic threats. Human-perceived landscape patterns that are frequently correlated with species assemblages include the amount and structure of native vegetation, the prevalence of anthropogenic edges, the degree of landscape connectivity, and the structure and heterogeneity of modified areas. Extinction cascades are particularly likely to occur in landscapes with low native vegetation cover, low landscape connectivity, degraded native vegetation and intensive land use in modified areas, especially if keystone species or entire functional groups of species are lost. This review (1) demonstrates that species-oriented and pattern-oriented approaches to understanding the ecology of modified landscapes are highly complementary, (2) clarifies the links between a wide range of interconnected themes, and (3) provides clear and consistent terminology. Tangible research and management priorities are outlined that are likely to benefit the conservation of native species in modified landscapes around the world.}, - langid = {english}, - keywords = {Connectivity,countryside biogeography,edge effects,extinction proneness,habitat fragmentat,habitat loss,keystone,landscape heterogeneity,matrix,species,threatening processes}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2007.00287.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\FH4QSVBH\\Fischer und Lindenmayer - 2007 - Landscape modification and habitat fragmentation .pdf} -} - -@article{fletcherjr.EmergentPropertiesConspecific2006, - title = {Emergent {{Properties}} of {{Conspecific Attraction}} in {{Fragmented Landscapes}}}, - author = {Fletcher Jr., Robert J. and Grimm, Associate Editor: Volker and DeAngelis, Editor: Donald L.}, - year = {2006}, - journal = {The American Naturalist}, - volume = {168}, - number = {2}, - pages = {207--219}, - publisher = {{[The University of Chicago Press, The American Society of Naturalists]}}, - issn = {0003-0147}, - doi = {10.1086/505764}, - abstract = {Abstract: Attraction to conspecifics may have wide-ranging implications for habitat selection and metapopulation theory, yet little is known about the process of attraction and its effects relative to other habitat selection strategies. Using individual-based simulations, I investigated the emergent properties of conspecific attraction during habitat selection on survival, fecundity, short-term fitness (sur \textbackslash documentclass\{aastex\} \textbackslash usepackage\{amsbsy\} \textbackslash usepackage\{amsfonts\} \textbackslash usepackage\{amssymb\} \textbackslash usepackage\{bm\} \textbackslash usepackage\{mathrsfs\} \textbackslash usepackage\{pifont\} \textbackslash usepackage\{stmaryrd\} \textbackslash usepackage\{textcomp\} \textbackslash usepackage\{portland,xspace\} \textbackslash usepackage\{amsmath,amsxtra\} \textbackslash usepackage[OT2,OT1]\{fontenc\} \textbackslash newcommand\textbackslash cyr\{ \textbackslash renewcommand\textbackslash rmdefault\{wncyr\} \textbackslash renewcommand\textbackslash sfdefault\{wncyss\} \textbackslash renewcommand\textbackslash encodingdefault\{OT2\} \textbackslash normalfont \textbackslash selectfont\} \textbackslash DeclareTextFontCommand\{\textbackslash textcyr\}\{\textbackslash cyr\} \textbackslash pagestyle\{empty\} \textbackslash DeclareMathSizes\{10\}\{9\}\{7\}\{6\} \textbackslash begin\{document\} \textbackslash landscape \$\textbackslash mathrm\{vival\}\textbackslash,\textbackslash times \textbackslash mathrm\{fecundity\}\textbackslash,\$ \textbackslash end\{document\} ), and distributions in fragmented landscapes. I simulated conspecific attraction during searching and settlement decisions and compared attraction with random, habitat-based (searching for the presence of habitat), and habitat quality sampling strategies (searching for and settling in high-quality habitat). Conspecific attraction during searching or settlement decisions had different consequences for animals: attraction while searching increased survival by decreasing time spent in nonsuitable habitat, whereas attraction during settlement increased fecundity by aggregating animals in high-quality habitats. Habitat-based sampling did not improve fitness over attraction, but directly sampling habitat quality resulted in the highest short-term fitness among strategies. These results suggest that attraction can improve fitness when animals cannot directly assess habitat quality. Interestingly, conspecific attraction influenced distributions by generating patch size effects and weak edge effects, highlighting that attraction is one potential, yet previously unappreciated, mechanism to explain the widespread patterns of animal sensitivity to habitat fragmentation.} -} - -@article{fletcherSpeciesInteractionsPopulation2007, - title = {Species Interactions and Population Density Mediate the Use of Social Cues for Habitat Selection}, - author = {Fletcher, Robert J.}, - year = {2007}, - month = may, - journal = {The Journal of Animal Ecology}, - volume = {76}, - number = {3}, - pages = {598--606}, - issn = {0021-8790}, - doi = {10.1111/j.1365-2656.2007.01230.x}, - abstract = {1. The perspective that populations and communities are structured by antagonistic interactions among individuals has dominated much of ecology. Yet how animals use social information to guide decisions, such as habitat selection, may be influenced by both positive and negative interactions among individuals. Recent theory also suggests that the way animals use social information may be substantially influenced by population density, which alters the potential costs and benefits of such behaviours. 2. I manipulated cues of two competitors, the dominant least flycatcher Empidonax minimus (Baird \& Baird) and the subordinate American redstart Setophaga ruticilla (Linnaeus), to assess the use of conspecific and heterospecific cues during habitat selection, and if population density influences these strategies. The experiment consisted of surveying birds during a pre-treatment year, which allows for the control and testing the effect of baseline densities, and a treatment year, in which treatments were applied just prior to settlement. Treatments included broadcasting songs of flycatchers and redstarts, and were compared with controls. 3. When controlling for pre-treatment densities, bird densities, and to a lesser extent arrival dates, during the treatment year suggested that flycatchers were attracted to both conspecific and heterospecific cues during settlement. Furthermore, attraction was strongest for flycatchers in plots with moderate pre-treatment densities. American redstarts were rare in the study area but showed apparent attraction to conspecifics and avoidance of heterospecifics. 4. These results provide experimental evidence for the use of multiple social cues in habitat selection and suggest that heterospecific attraction may operate under broader contexts than originally envisioned. In such instances, nontarget effects can potentially occur when manipulating social cues to elicit settlement in conservation strategies. The impact of population density on the use of social cues shown here can also influence our understanding of metapopulation dynamics by causing complex threshold effects on the likelihood of rescue, which may influence metapopulation stability and the likelihood of local extinction.}, - langid = {english}, - pmid = {17439476}, - keywords = {Animals,Behavior; Animal,Competitive Behavior,Conservation of Natural Resources,Ecosystem,Female,Male,Population Density,Population Dynamics,Social Behavior,Songbirds,Species Specificity}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\AMEKHZ9S\\Fletcher - 2007 - Species interactions and population density mediat.pdf} -} - -@article{fowlerConfoundingEnvironmentalColour2013, - title = {Confounding {{Environmental Colour}} and {{Distribution Shape Leads}} to {{Underestimation}} of {{Population Extinction Risk}}}, - author = {Fowler, Mike S. and Ruokolainen, Lasse}, - year = {2013}, - month = feb, - journal = {PLOS ONE}, - volume = {8}, - number = {2}, - pages = {e55855}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0055855}, - abstract = {The colour of environmental variability influences the size of population fluctuations when filtered through density dependent dynamics, driving extinction risk through dynamical resonance. Slow fluctuations (low frequencies) dominate in red environments, rapid fluctuations (high frequencies) in blue environments and white environments are purely random (no frequencies dominate). Two methods are commonly employed to generate the coloured spatial and/or temporal stochastic (environmental) series used in combination with population (dynamical feedback) models: autoregressive [AR(1)] and sinusoidal (1/f) models. We show that changing environmental colour from white to red with 1/f models, and from white to red or blue with AR(1) models, generates coloured environmental series that are not normally distributed at finite time-scales, potentially confounding comparison with normally distributed white noise models. Increasing variability of sample Skewness and Kurtosis and decreasing mean Kurtosis of these series alter the frequency distribution shape of the realised values of the coloured stochastic processes. These changes in distribution shape alter patterns in the probability of single and series of extreme conditions. We show that the reduced extinction risk for undercompensating (slow growing) populations in red environments previously predicted with traditional 1/f methods is an artefact of changes in the distribution shapes of the environmental series. This is demonstrated by comparison with coloured series controlled to be normally distributed using spectral mimicry. Changes in the distribution shape that arise using traditional methods lead to underestimation of extinction risk in normally distributed, red 1/f environments. AR(1) methods also underestimate extinction risks in traditionally generated red environments. This work synthesises previous results and provides further insight into the processes driving extinction risk in model populations. We must let the characteristics of known natural environmental covariates (e.g., colour and distribution shape) guide us in our choice of how to best model the impact of coloured environmental variation on population dynamics.}, - langid = {english}, - keywords = {Autocorrelation,Extinction risk,Normal distribution,Population density,Population dynamics,Probability distribution,Skewness,Stochastic processes}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\4YG8CQTQ\\Fowler und Ruokolainen - 2013 - Confounding Environmental Colour and Distribution .pdf} -} - -@article{frankhamWhereAreWe2010, - title = {Where Are We in Conservation Genetics and Where Do We Need to Go?}, - author = {Frankham, Richard}, - year = {2010}, - month = apr, - journal = {Conservation Genetics}, - volume = {11}, - number = {2}, - pages = {661--663}, - issn = {1572-9737}, - doi = {10.1007/s10592-009-0010-2}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\R8F8LQK2\\Frankham - 2010 - Where are we in conservation genetics and where do.pdf} -} - -@article{franklinMovingStaticSpecies2010, - title = {Moving beyond Static Species Distribution Models in Support of Conservation Biogeography}, - author = {Franklin, Janet}, - year = {2010}, - journal = {Diversity and Distributions}, - volume = {16}, - number = {3}, - pages = {321--330}, - issn = {1472-4642}, - doi = {10.1111/j.1472-4642.2010.00641.x}, - abstract = {Aim To demonstrate that multi-modelling methods have effectively been used to combine static species distribution models (SDM), predicting the geographical pattern of suitable habitat, with dynamic landscape and population models to forecast the impacts of environmental change on species' status, an important goal of conservation biogeography. Methods Three approaches were considered: (1) incorporating models of species migration to understand the ability of a species to occupy suitable habitat in new locations; (2) linking models of landscape disturbance and succession to models of habitat suitability; and (3) fully linking models of habitat suitability, habitat dynamics and spatially explicit population dynamics. Results Linking species\textendash environment relationships, landscape dynamics and population dynamics in a multi-modelling framework allows the combined impacts of climate change (affecting species distribution and vital rates) and land cover dynamics (land use change, altered disturbance regimes) on species to be predicted. This approach is only feasible if the life history parameters and habitat requirements of the species are well understood. Main conclusions Forecasts of the impacts of global change on species may be improved by considering multiple causes. A range of methods are available to address the interactions of changing habitat suitability, habitat dynamics and population response that vary in their complexity, realism and data requirements.}, - langid = {english}, - keywords = {Climate change,disturbance,landscape dynamics,metapopulation model,species distribution model,species migration}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00641.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\M47NGK2Z\\Franklin - 2010 - Moving beyond static species distribution models i.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\QTJPQC4Y\\j.1472-4642.2010.00641.html} -} - -@article{franksGeneticsClimateChange2012, - title = {Genetics of {{Climate Change Adaptation}}}, - author = {Franks, Steven J. and Hoffmann, Ary A.}, - year = {2012}, - month = dec, - journal = {Annual Review of Genetics}, - volume = {46}, - number = {1}, - pages = {185--208}, - publisher = {{Annual Reviews}}, - issn = {0066-4197}, - doi = {10.1146/annurev-genet-110711-155511}, - abstract = {The rapid rate of current global climate change is having strong effects on many species and, at least in some cases, is driving evolution, particularly when changes in conditions alter patterns of selection. Climate change thus provides an opportunity for the study of the genetic basis of adaptation. Such studies include a variety of observational and experimental approaches, such as sampling across clines, artificial evolution experiments, and resurrection studies. These approaches can be combined with a number of techniques in genetics and genomics, including association and mapping analyses, genome scans, and transcription profiling. Recent research has revealed a number of candidate genes potentially involved in climate change adaptation and has also illustrated that genetic regulatory networks and epigenetic effects may be particularly relevant for evolution driven by climate change. Although genetic and genomic data are rapidly accumulating, we still have much to learn about the genetic architecture of climate change adaptation.}, - keywords = {epigenetics,evolutionary constraints,genetic response networks,global change,natural selection}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\L6ZEU4D8\\Franks und Hoffmann - 2012 - Genetics of Climate Change Adaptation.pdf} -} - -@article{fraserRangeExpansionInvasive2015, - title = {Range Expansion of an Invasive Species through a Heterogeneous Landscape \textendash{} the Case of {{American}} Mink in {{Scotland}}}, - author = {Fraser, Elaine J. and Lambin, Xavier and Travis, Justin M. J. and Harrington, Lauren A. and Palmer, Stephen C. F. and Bocedi, Greta and Macdonald, David W.}, - year = {2015}, - journal = {Diversity and Distributions}, - volume = {21}, - number = {8}, - pages = {888--900}, - issn = {1472-4642}, - doi = {10.1111/ddi.12303}, - abstract = {Aim The impact of invasive species is one of the main causes of biodiversity loss world-wide, and as a result, there is much interest in understanding the pattern and rate of expansion of species outside their native range. We aimed to characterize the range expansion of the American mink (Neovison vison) invading from multiple introduction points through a varied landscape bounded by coastline to better understand and manage its spread. Location Scotland, UK. Method We collated and used records of mink presence to calculate the historical range and rate of range expansion at successive time intervals. We used a presence-only model to predict habitat suitability and a newly developed individual-based modelling platform, RangeShifter, to simulate range expansion. Results Records showed that mink were distributed throughout Scotland, except in the far north. We found that the rate of spread varied both spatially and temporally and was related to landscape heterogeneity. Habitat suitable for mink in west Scotland is restricted to the coast. Main conclusions We concluded that temporal and spatial variation in range expansion is attributable to heterogeneity within the landscape and also demonstrated that the potential for long-distance dispersal does not necessarily facilitate range expansion when availability of suitable habitat occurs in narrow strips and/or is fragmented. We have highlighted methodological gaps in calculating rates of expansion in invasive species but have demonstrated alternative methods that successfully utilize presence-only data. Our study reaffirms that invasive species will colonize less favourable habitats and highlights the need to remain vigilant of their potential for expansion even when distribution appears to be static for a time.}, - langid = {english}, - keywords = {American mink,biological invasions,habitat availability,heterogeneous landscape,invasive species,multiple introduction points,range expansion}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ddi.12303}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\3GUP8LM2\\Fraser et al. - 2015 - Range expansion of an invasive species through a h.pdf} -} - -@article{friedenbergExperimentalEvolutionDispersal2003, - title = {Experimental Evolution of Dispersal in Spatiotemporally Variable Microcosms}, - author = {Friedenberg, Nicholas A.}, - year = {2003}, - journal = {Ecology Letters}, - volume = {6}, - number = {10}, - pages = {953--959}, - issn = {1461-0248}, - doi = {10.1046/j.1461-0248.2003.00524.x}, - abstract = {The world is an uncertain place. Individuals' fates vary from place to place and from time to time. Natural selection in unpredictable environments should favour individuals that hedge their bets by dispersing offspring. I confirm this basic prediction using Caenorhabditis elegans in experimental microcosms. My results agree with evolutionary models and correlations found previously between habitat stability and individual dispersal propensity in nature. However, I also find that environmental variation that triggers conditional dispersal behaviour may not impose selection on baseline dispersal rates. These findings imply that an increased rate of disturbance in natural systems has the potential to cause an evolutionary response in the life history of impacted organisms.}, - langid = {english}, - keywords = {bet hedging,Caenorhabditis elegans,fluctuating environments,geometric mean fitness,life-history evolution}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1461-0248.2003.00524.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\B6TKT5B8\\Friedenberg - 2003 - Experimental evolution of dispersal in spatiotempo.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\K3GENDHD\\j.1461-0248.2003.00524.html} -} - -@article{fronhoferPickyHitchhikersVector2013a, - title = {Picky Hitch-Hikers: Vector Choice Leads to Directed Dispersal and Fat-Tailed Kernels in a Passively Dispersing Mite}, - shorttitle = {Picky Hitch-Hikers}, - author = {Fronhofer, Emanuel A. and Sperr, Ellen B. and Kreis, Anna and Ayasse, Manfred and Poethke, Hans Joachim and Tschapka, Marco}, - year = {2013}, - journal = {Oikos}, - volume = {122}, - number = {8}, - pages = {1254--1264}, - issn = {1600-0706}, - doi = {10.1111/j.1600-0706.2013.00503.x}, - abstract = {Dispersal is a central life-history trait for most animals and plants: it allows to colonize new habitats, escape from competition or avoid inbreeding. Yet, not all species are mobile enough to perform sufficient dispersal. Such passive dispersers may use more mobile animals as dispersal vectors. If multiple potential vectors are available, an active choice can allow to optimize the dispersal process and to determine the distribution of dispersal distances, i.e. an optimal dispersal kernel. We explore dispersal and vector choice in the neotropical flower mite Spadiseius calyptrogynae using a dual approach which combines experiments with an individual-based simulation model. Spadiseius calyptrogynae is found in lowland rainforests in Costa Rica. It inhabits inflorescences of the understorey palm Calyptrogyne ghiesbreghtiana and is phoretic on a number of flower visitors including bats, beetles and stingless bees. We hypothesised that the mites should optimise their dispersal kernel by actively choosing a specific mix of potential phoretic vectors. In a simple olfactometer setup we showed that the flower mites do indeed discriminate between potential vectors. Subsequently we used an individual-based model to analyse the evolutionary forces responsible for the observed patterns of vector choice. The mites combine vectors exhibiting long-distance dispersal with those allowing for more localized dispersal. This results in a fat-tailed dispersal kernel that guarantees the occasional colonization of new host plant patches (long distance) while optimizing the exploitation of clumped resources (local dispersal). Additionally, kin competition results in a preference for small vectors that transport only few individuals at a time. At the same time, these vectors lead to directed dispersal towards suitable habitat, which increases the stability of this very specialized interaction. Our findings can be applied to other phoretic systems but also to vector-based seed dispersal, for example.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2013.00503.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\FW6TQ7UN\\Fronhofer et al. - 2013 - Picky hitch-hikers vector choice leads to directe.pdf} -} - -@article{fryxellMultipleMovementModes2008, - title = {Multiple Movement Modes by Large Herbivores at Multiple Spatiotemporal Scales}, - author = {Fryxell, John M. and Hazell, Megan and B{\"o}rger, Luca and Dalziel, Ben D. and Haydon, Daniel T. and Morales, Juan M. and McIntosh, Therese and Rosatte, Rick C.}, - year = {2008}, - month = dec, - journal = {Proceedings of the National Academy of Sciences}, - volume = {105}, - number = {49}, - pages = {19114--19119}, - publisher = {{National Academy of Sciences}}, - issn = {0027-8424, 1091-6490}, - doi = {10.1073/pnas.0801737105}, - abstract = {Recent theory suggests that animals should switch facultatively among canonical movement modes as a complex function of internal state, landscape characteristics, motion capacity, and navigational capacity. We tested the generality of this paradigm for free-ranging elk (Cervus elaphus) over 5 orders of magnitude in time (minutes to years) and space (meters to 100 km). At the coarsest spatiotemporal scale, elk shifted from a dispersive to a home-ranging phase over the course of 1\textendash 3 years after introduction into a novel environment. At intermediate spatiotemporal scales, elk continued to alternate between movement modes. During the dispersive phase, elk alternated between encamped and exploratory modes, possibly linked to changes in motivational goals from foraging to social bonding. During the home-ranging phase, elk movements were characterized by a complex interplay between attraction to preferred habitat types and memory of previous movements across the home-range. At the finest temporal and spatial scale, elk used area-restricted search while browsing, interspersed with less sinuous paths when not browsing. Encountering a patch of high-quality food plants triggered the switch from one mode to the next, creating biphasic movement dynamics that were reinforced by local resource heterogeneity. These patterns suggest that multiphasic structure is fundamental to the movement patterns of elk at all temporal and spatial scales tested.}, - chapter = {Research Article}, - copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, - langid = {english}, - pmid = {19060190}, - keywords = {elk,foraging,group formation,motivation}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\NY2W7UKL\\Fryxell et al. - 2008 - Multiple movement modes by large herbivores at mul.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XMU2FA36\\19114.html} -} - -@article{gallienPredictingPotentialDistributions2010, - title = {Predicting Potential Distributions of Invasive Species: Where to Go from Here?}, - shorttitle = {Predicting Potential Distributions of Invasive Species}, - author = {Gallien, Laure and M{\"u}nkem{\"u}ller, Tamara and Albert, C{\'e}cile H. and Boulangeat, Isabelle and Thuiller, Wilfried}, - year = {2010}, - journal = {Diversity and Distributions}, - volume = {16}, - number = {3}, - pages = {331--342}, - issn = {1472-4642}, - doi = {10.1111/j.1472-4642.2010.00652.x}, - abstract = {Aim There has been considerable recent interest in modelling the potential distributions of invasive species. However, research has developed in two opposite directions: the first, focusing on screening, utilizes phenomenological models; the second, focusing on predictions of invasion dynamics, utilizes mechanistic models. Here, we present hybrid modelling as an approach to bridge the gap and to integrate the advantages of both research directions. Location Global. Methods First, we briefly summarize the characteristics and limitations of both approaches (screening vs. understanding). Then, we review the recent developments of hybrid models, discuss their current problems and offer suggestions to improve them. Results Generally, hybrid models are able to combine the advantages of currently used phenomenological and mechanistic approaches. Main challenges in building hybrid models are the choices of the appropriate degree of detail and efficiency and the decision on how to connect the different sub-models. Given these challenges, we discuss the links between the phenomenological and the mechanistic model parameters, the underlying concepts of fundamental and realized niches and the problem of feedback loops between population dynamics and environmental factors. Main conclusions Once the above challenges have been addressed and the necessary framework has been developed, hybrid models will provide outstanding tools for overcoming past limitations and will provide the means to make reliable and robust predictions of the potential distribution of invasive species, their population dynamics and the potential outcomes of the overall invasion process.}, - langid = {english}, - keywords = {Biological invasions,habitat suitability model,hybrid model,invasion dynamics,mechanistic model,species distribution model}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00652.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\JRSESJ9E\\Gallien et al. - 2010 - Predicting potential distributions of invasive spe.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UAA8SRQH\\j.1472-4642.2010.00652.html} -} - -@article{gardnerSimulatingDispersalReintroduced2004b, - title = {Simulating Dispersal of Reintroduced Species within Heterogeneous Landscapes}, - author = {Gardner, Robert H. and Gustafson, Eric J.}, - year = {2004}, - month = feb, - journal = {Ecological Modelling}, - volume = {171}, - number = {4}, - pages = {339--358}, - issn = {0304-3800}, - doi = {10.1016/j.ecolmodel.2003.08.008}, - abstract = {This paper describes the development and application of a spatially explicit, individual based model of animal dispersal (J-walk) to determine the relative effects of landscape heterogeneity, prey availability, predation risk, and the energy requirements and behavior of dispersing organisms on dispersal success. Significant unknowns exist for the simulation of complex movement behavior within heterogeneous landscapes. Therefore, initial simulations with J-walk examined the relative effect of landscape patterns and species-specific characteristics on dispersal success. Differences in landscape pattern were simulated by random generation of fractal maps with average available energy (i.e. prey) and predation risk expressed as a function of habitat type. Variation in species-specific patterns were then simulated by a series of scenarios that varied the response of dispersing individuals to habitat heterogeneity, including: habitat selection to maximize energy intake, habitat selection to minimize predation risk, or habitat selection contingent on energy reserves. Results showed that significant shifts in dispersal could be related to (1) the unique spatial arrangement of habitat within each map, (2) changes in relative prey abundance, and (3) variation in the relationship between energy availability and predation risk. Hypothetical management scenarios were used to identify critical data needed to assure the persistence of reintroduced populations of American martens (Martes americana).}, - langid = {english}, - keywords = {American marten,Dispersal model,Landscape heterogeneity,Movement behavior,Predation risk,Prediction uncertainty,Prey availability}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\D6I3HGZ2\\Gardner und Gustafson - 2004 - Simulating dispersal of reintroduced species withi.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XSYTAJKC\\S0304380003003387.html} -} - -@article{gastonGeographicRangeLimits2009, - title = {Geographic Range Limits: Achieving Synthesis}, - shorttitle = {Geographic Range Limits}, - author = {Gaston, Kevin J}, - year = {2009}, - month = apr, - journal = {Proceedings of the Royal Society B: Biological Sciences}, - volume = {276}, - number = {1661}, - pages = {1395--1406}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.2008.1480}, - abstract = {Understanding of the determinants of species' geographic range limits remains poorly integrated. In part, this is because of the diversity of perspectives on the issue, and because empirical studies have lagged substantially behind developments in theory. Here, I provide a broad overview, drawing together many of the disparate threads, considering, in turn, how influences on the terms of a simple single-population equation can determine range limits. There is theoretical and empirical evidence for systematic changes towards range limits under some circumstances in each of the demographic parameters. However, under other circumstances, no such changes may take place in particular parameters, or they may occur in a different direction, with limitation still occurring. This suggests that (i) little about range limitation can categorically be inferred from many empirical studies, which document change in only one demographic parameter, (ii) there is a need for studies that document variation in all of the parameters, and (iii) in agreement with theoretical evidence that range limits can be formed in the presence or absence of hard boundaries, environmental gradients or biotic interactions, there may be few general patterns as to the determinants of these limits, with most claimed generalities at least having many exceptions.}, - keywords = {births,deaths,emigration,immigration,population size,range limits}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\2WA2DK9B\\Gaston - 2009 - Geographic range limits achieving synthesis.pdf} -} - -@article{gilmanFrameworkCommunityInteractions2010a, - title = {A Framework for Community Interactions under Climate Change}, - author = {Gilman, Sarah E. and Urban, Mark C. and Tewksbury, Joshua and Gilchrist, George W. and Holt, Robert D.}, - year = {2010}, - month = jun, - journal = {Trends in Ecology \& Evolution}, - volume = {25}, - number = {6}, - pages = {325--331}, - issn = {0169-5347}, - doi = {10.1016/j.tree.2010.03.002}, - abstract = {Predicting the impacts of climate change on species is one of the biggest challenges that ecologists face. Predictions routinely focus on the direct effects of climate change on individual species, yet interactions between species can strongly influence how climate change affects organisms at every scale by altering their individual fitness, geographic ranges and the structure and dynamics of their community. Failure to incorporate these interactions limits the ability to predict responses of species to climate change. We propose a framework based on ideas from global-change biology, community ecology, and invasion biology that uses community modules to assess how species interactions shape responses to climate change.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\M5WL4NHK\\Gilman et al. - 2010 - A framework for community interactions under clima.pdf} -} - -@article{gilroyMateFindingOverlookedCritical2012, - title = {Mate-{{Finding}} as an {{Overlooked Critical Determinant}} of {{Dispersal Variation}} in {{Sexually-Reproducing Animals}}}, - author = {Gilroy, James J. and Lockwood, Julie L.}, - year = {2012}, - month = may, - journal = {PLOS ONE}, - volume = {7}, - number = {5}, - pages = {e38091}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0038091}, - abstract = {Dispersal is a critically important process in ecology, but robust predictive models of animal dispersal remain elusive. We identify a potentially ubiquitous component of variation in animal dispersal that has been largely overlooked until now: the influence of mate encounters on settlement probability. We use an individual-based model to simulate dispersal in sexually-reproducing organisms that follow a simple set of movement rules based on conspecific encounters, within an environment lacking spatial habitat heterogeneity. We show that dispersal distances vary dramatically with fluctuations in population density in such a model, even in the absence of variation in dispersive traits between individuals. In a simple random-walk model with promiscuous mating, dispersal distributions become increasingly `fat-tailed' at low population densities due to the increasing scarcity of mates. Similar variation arises in models incorporating territoriality. In a model with polygynous mating, we show that patterns of sex-biased dispersal can even be reversed across a gradient of population density, despite underlying dispersal mechanisms remaining unchanged. We show that some widespread dispersal patterns found in nature (e.g. fat tailed distributions) can arise as a result of demographic variability in the absence of heterogeneity in dispersive traits across the population. This implies that models in which individual dispersal distances are considered to be fixed traits might be unrealistic, as dispersal distances vary widely under a single dispersal mechanism when settlement is influenced by mate encounters. Mechanistic models offer a promising means of advancing our understanding of dispersal in sexually-reproducing organisms.}, - langid = {english}, - keywords = {Behavior,Habitats,Population density,Population size,Probability density,Probability distribution,Random walk,Sex ratio}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\NQGCKTGQ\\Gilroy und Lockwood - 2012 - Mate-Finding as an Overlooked Critical Determinant.pdf} -} - -@article{greenmanImpactEnvironmentalFluctuations2005, - title = {The Impact of Environmental Fluctuations on Structured Discrete Time Population Models: {{Resonance}}, Synchrony and Threshold Behaviour}, - shorttitle = {The Impact of Environmental Fluctuations on Structured Discrete Time Population Models}, - author = {Greenman, J. V. and Benton, T. G.}, - year = {2005}, - month = dec, - journal = {Theoretical Population Biology}, - volume = {68}, - number = {4}, - pages = {217--235}, - issn = {0040-5809}, - doi = {10.1016/j.tpb.2005.06.007}, - abstract = {External forcing of a discrete time ecological system does not just add variation to existing dynamics but can change the dynamics. We study the mechanisms that can bring this about, focusing on the key concepts of excitation and suppression which emerge when analysing the power spectra of the system in linear approximation. Excitation, through resonance between the system dynamics and the external forcing, is the greater the closer the system is to the boundary of the stability region. This amplification means that the extinction of populations becomes possible sooner than expected and, conversely, invasion can be significantly delayed. Suppression and the consequent redistribution of power within the spectrum proves to be a function both of the connectivity of the network graph of the system and the way that external forcing is applied to the system. It is also established that colour in stochastic forcing can have a major impact, by enhancing resonance and by greater redistribution of power. This can mean a higher risk of extinction through larger fluctuations in population numbers and a higher degree of synchrony between populations. The implications of external forcing for stage-structured species, for populations in competition and for trophic web systems are studied using the tools and concepts developed in the paper.}, - langid = {english}, - keywords = {Coloured noise,Environmental noise,Population covariance,Power spectra,Resonance,Synchrony,Threshold behaviour}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\Q9AAGDGF\\S0040580905000936.html} -} - -@article{greenwoodMatingSystemsPhilopatry1980, - title = {Mating Systems, Philopatry and Dispersal in Birds and Mammals}, - author = {Greenwood, Paul J.}, - year = {1980}, - month = nov, - journal = {Animal Behaviour}, - volume = {28}, - number = {4}, - pages = {1140--1162}, - issn = {0003-3472}, - doi = {10.1016/S0003-3472(80)80103-5}, - abstract = {Many species of birds and mammals are faithful to their natal and breeding site or group. In most of them one sex is more philopatric than the other. In birds it is usually females which disperse more than males; in mammals it is usually males which disperse more than females. Reproductive enhancement through increased access to mates or resources and the avoidance of inbreeding are important in promoting sex differences in dispersal. It is argued that the direction of the sex bias is a consequence of the type of mating system. Philopatry will favour the evolution of cooperative traits between members of the sedentary sex. Disruptive acts will be a feature of dispersers.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\59TUWI7L\\Greenwood - 1980 - Mating systems, philopatry and dispersal in birds .pdf} -} - -@book{grimmIndividualbasedModelingEcology2005, - title = {Individual-Based {{Modeling}} and {{Ecology}}}, - author = {Grimm, Volker and Railsback, Steven F.}, - year = {2005}, - publisher = {{Princeton University Press}}, - isbn = {978-0-691-09666-7}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZPBZJJKE\\individual-based-modeling-and-ecology.html} -} - -@article{grosEvolutionSexbiasedDispersal2008, - title = {Evolution of Sex-Biased Dispersal : The Role of Sex-Specific Dispersal Costs, Demographic Stochasticity, and Inbreeding}, - shorttitle = {Evolution of Sex-Biased Dispersal}, - author = {Gros, Andreas and Hovestadt, Thomas and Poethke, Hans Joachim}, - year = {2008}, - abstract = {Abstract: Inbreeding avoidance and asymmetric competition over resources have both been identified as factors favoring the evolution of sex-biased dispersal. It has also been recognized that sex-specific costs of dispersal would select for sex-biased dispersal, but there is little quantitative information on this aspect. In this paper we explore (i) the quantitative relationship between cost-asymmetry and a bias in dispersal, (ii) the influence of demographic stochasticity on this effect, and (iii) how inbreeding and cost-asymmetry interact in their effect on sex-specific dispersal. We adjust an existing analytical model to account for sex-specific costs of dispersal. Based on numerical calculations we predict a severe bias in dispersal already for small differences in dispersal costs. We corroborate these predictions in individual-based simulations, but show that demographic stochasticity generally leads to more balanced dispersal. In combination with inbreeding, cost asymmetries will usually determine which of the two sexes becomes the more dispersive.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\QJ4634CE\\Gros et al. - 2008 - Evolution of sex-biased dispersal the role of se.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\GNJFZXMY\\4031.html} -} - -@article{grosSexspecificSpatiotemporalVariability2009, - title = {Sex-Specific Spatio-Temporal Variability in Reproductive Success Promotes the Evolution of Sex-Biased Dispersal}, - author = {Gros, Andreas and Poethke, Hans Joachim and Hovestadt, Thomas}, - year = {2009}, - month = aug, - journal = {Theoretical Population Biology}, - volume = {76}, - number = {1}, - pages = {13--18}, - issn = {1096-0325}, - doi = {10.1016/j.tpb.2009.03.002}, - abstract = {Inbreeding depression, asymmetries in costs or benefits of dispersal, and the mating system have been identified as potential factors underlying the evolution of sex-biased dispersal. We use individual-based simulations to explore how the mating system and demographic stochasticity influence the evolution of sex-specific dispersal in a metapopulation with females competing over breeding sites, and males over mating opportunities. Comparison of simulation results for random mating with those for a harem system (locally, a single male sires all offspring) reveal that even extreme variance in local male reproductive success (extreme male competition) does not induce male-biased dispersal. The latter evolves if the between-patch variance in reproductive success is larger for males than females. This can emerge due to demographic stochasticity if the habitat patches are small. More generally, members of a group of individuals experiencing higher spatio-temporal variance in fitness expectations may evolve to disperse with greater probability than others.}, - langid = {english}, - pmid = {19303892}, - keywords = {Animals,Biological Evolution,Competitive Behavior,Computer Simulation,Demography,Female,Inbreeding,Male,Mammals,Models; Theoretical,Population Dynamics,Probability,Reproduction,Sex Characteristics,Sexual Behavior; Animal,Stochastic Processes}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\KIRQPU2J\\Gros et al. - 2009 - Sex-specific spatio-temporal variability in reprod.pdf} -} - -@article{guillaumeInbreedingLoadBet2009, - title = {Inbreeding {{Load}}, {{Bet Hedging}}, and the {{Evolution}} of {{Sex}}-{{Biased Dispersal}}.}, - author = {Guillaume, Fr{\'e}d{\'e}ric and Perrin, Nicolas}, - year = {2009}, - month = apr, - journal = {The American Naturalist}, - volume = {173}, - number = {4}, - pages = {536--541}, - publisher = {{The University of Chicago Press}}, - issn = {0003-0147}, - doi = {10.1086/597218}, - abstract = {Inbreeding load affects not only the average fecundity of philopatric individuals but also its variance. From bet-hedging theory, this should add further dispersal pressures to those stemming from the mere avoidance of inbreeding. Pressures on both sexes are identical under monogamy or promiscuity. Under polygyny, by contrast, the variance in reproductive output decreases with dispersal rate in females but increases in males, which should induce a female-biased dispersal. To test this prediction, we performed individual-based simulations. From our results, a female-biased dispersal indeed emerges as both polygyny and inbreeding load increase. We conclude that sex-biased dispersal may be selected for as a bet-hedging strategy.}, - keywords = {fecundity variance,inbreeding avoidance,kin competition,mating system,selection,simulation}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\XCCVHWDS\\Guillaume und Perrin - 2009 - Inbreeding Load, Bet Hedging, and the Evolution of.pdf} -} - -@article{guillaumeNEMOEvolutionaryPopulation2006, - title = {{{NEMO}}: An Evolutionary and Population Genetics Programming Framework}, - shorttitle = {{{NEMO}}}, - author = {Guillaume, Fr{\'e}d{\'e}ric and Rougemont, Jacques}, - year = {2006}, - month = nov, - journal = {Bioinformatics (Oxford, England)}, - volume = {22}, - pages = {2556--7}, - doi = {10.1093/bioinformatics/btl415}, - abstract = {Unlabelled: Nemo is an individual-based, genetically explicit and stochastic population computer program for the simulation of population genetics and life-history trait evolution in a metapopulation context. It comes as both a C++ programming framework and an executable program file. Its object-oriented programming design gives it the flexibility and extensibility needed to implement a large variety of forward-time evolutionary models. It provides developers with abstract models allowing them to implement their own life-history traits and life-cycle events. Nemo offers a large panel of population models, from the Island model to lattice models with demographic or environmental stochasticity and a variety of already implemented traits (deleterious mutations, neutral markers and more), life-cycle events (mating, dispersal, aging, selection, etc.) and output operators for saving data and statistics. It runs on all major computer platforms including parallel computing environments. Availability: The source code, binaries and documentation are available under the GNU General Public License at http://nemo2.sourceforge.net.}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\DFMHPVAE\\Guillaume und Rougemont - 2006 - NEMO an evolutionary and population genetics prog.pdf} -} - -@article{guisanPredictingSpeciesDistribution2005a, - title = {Predicting Species Distribution: Offering More than Simple Habitat Models}, - shorttitle = {Predicting Species Distribution}, - author = {Guisan, Antoine and Thuiller, Wilfried}, - year = {2005}, - journal = {Ecology Letters}, - volume = {8}, - number = {9}, - pages = {993--1009}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2005.00792.x}, - abstract = {In the last two decades, interest in species distribution models (SDMs) of plants and animals has grown dramatically. Recent advances in SDMs allow us to potentially forecast anthropogenic effects on patterns of biodiversity at different spatial scales. However, some limitations still preclude the use of SDMs in many theoretical and practical applications. Here, we provide an overview of recent advances in this field, discuss the ecological principles and assumptions underpinning SDMs, and highlight critical limitations and decisions inherent in the construction and evaluation of SDMs. Particular emphasis is given to the use of SDMs for the assessment of climate change impacts and conservation management issues. We suggest new avenues for incorporating species migration, population dynamics, biotic interactions and community ecology into SDMs at multiple spatial scales. Addressing all these issues requires a better integration of SDMs with ecological theory.}, - langid = {english}, - keywords = {Dispersal,ecological niche theory,future projections,habitat suitability maps,population dynamics,prediction errors,predictive biogeography,spatial scales,species distribution models}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2005.00792.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\TMINZAMA\\Guisan und Thuiller - 2005 - Predicting species distribution offering more tha.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\WHKHQ5FR\\j.1461-0248.2005.00792.html} -} - -@article{hallerSLiMForwardGenetic, - title = {{{SLiM}} 3: {{Forward Genetic Simulations Beyond}} the {{Wright}}\textendash{{Fisher Model}} | {{Molecular Biology}} and {{Evolution}} | {{Oxford Academic}}}, - author = {Haller, Benjamin C. and Messer, Phillip W.}, - journal = {Molecular Biology and Evolution}, - number = {36}, - pages = {632--637}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\8CDTMTUW\\5229931.html} -} - -@article{hansenPerceptionClimateChange2012, - title = {Perception of Climate Change}, - author = {Hansen, James and Sato, Makiko and Ruedy, Reto}, - year = {2012}, - month = sep, - journal = {Proceedings of the National Academy of Sciences}, - volume = {109}, - number = {37}, - pages = {E2415-E2423}, - publisher = {{National Academy of Sciences}}, - issn = {0027-8424, 1091-6490}, - doi = {10.1073/pnas.1205276109}, - abstract = {``Climate dice,'' describing the chance of unusually warm or cool seasons, have become more and more ``loaded'' in the past 30 y, coincident with rapid global warming. The distribution of seasonal mean temperature anomalies has shifted toward higher temperatures and the range of anomalies has increased. An important change is the emergence of a category of summertime extremely hot outliers, more than three standard deviations (3{$\sigma$}) warmer than the climatology of the 1951\textendash 1980 base period. This hot extreme, which covered much less than 1\% of Earth's surface during the base period, now typically covers about 10\% of the land area. It follows that we can state, with a high degree of confidence, that extreme anomalies such as those in Texas and Oklahoma in 2011 and Moscow in 2010 were a consequence of global warming because their likelihood in the absence of global warming was exceedingly small. We discuss practical implications of this substantial, growing, climate change.}, - chapter = {PNAS Plus}, - copyright = {\textcopyright{} . Freely available online through the PNAS open access option.}, - langid = {english}, - pmid = {22869707}, - keywords = {climate anomalies,climate impacts,heat waves}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\6LR5JE3W\\Hansen et al. - 2012 - Perception of climate change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\F6ZFUZWL\\E2415.html} -} - -@article{hanskiEcoevolutionaryDynamicsDispersal2011a, - title = {Eco-Evolutionary Dynamics of Dispersal in Spatially Heterogeneous Environments}, - author = {Hanski, Ilkka and Mononen, Tommi}, - year = {2011}, - month = oct, - journal = {Ecology Letters}, - volume = {14}, - number = {10}, - pages = {1025--1034}, - issn = {1461-023X}, - doi = {10.1111/j.1461-0248.2011.01671.x}, - abstract = {Evolutionary changes in natural populations are often so fast that the evolutionary dynamics may influence ecological population dynamics and vice versa. Here we construct an eco-evolutionary model for dispersal by combining a stochastic patch occupancy metapopulation model with a model for changes in the frequency of fast-dispersing individuals in local populations. We test the model using data on allelic variation in the gene phosphoglucose isomerase (Pgi), which is strongly associated with dispersal rate in the Glanville fritillary butterfly. Population-specific measures of immigration and extinction rates and the frequency of fast-dispersing individuals among the immigrants explained 40\% of spatial variation in Pgi allele frequency among 97 local populations. The model clarifies the roles of founder events and gene flow in dispersal evolution and resolves a controversy in the literature about the consequences of habitat loss and fragmentation on the evolution of dispersal.}, - pmcid = {PMC3187866}, - pmid = {21794053}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\HTJE2888\\Hanski und Mononen - 2011 - Eco-evolutionary dynamics of dispersal in spatiall.pdf} -} - -@article{hanskiVariationMigrationPropensity2004, - title = {Variation in Migration Propensity among Individuals Maintained by Landscape Structure}, - author = {Hanski, Ilkka and Er{\"a}lahti, Claudia and Kankare, Maaria and Ovaskainen, Otso and Sir{\'e}n, Heli}, - year = {2004}, - journal = {Ecology Letters}, - volume = {7}, - number = {10}, - pages = {958--966}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2004.00654.x}, - abstract = {Metapopulation dynamics lead to predictable patterns of habitat occupancy, population density and trophic structure in relation to landscape features such as habitat patch size and isolation. Comparable patterns may occur in behavioural, physiological and life-history traits but remain little studied. In the Glanville fritillary butterfly, females in newly established populations were more mobile than females in old populations. Among females from new populations, mobility decreased with increasing connectivity (decreasing isolation), but in females from old populations mobility increased with connectivity. The [ATP]/[ADP] ratio of flight muscles following controlled activity showed the same pattern as mobility in relation to population age and connectivity, suggesting that physiological differences in flight metabolic performance contribute to the observed variation in mobility. We demonstrate with an evolutionary metapopulation model parameterised for the Glanville fritillary that increasing spatial variation in landscape structure increases variance in mobility among individuals in a metapopulation, supporting the general notion that complex landscape structure maintains life-history variation.}, - langid = {english}, - keywords = {Connectivity,flight metabolism,Glanville fritillary,landscape structure,life-history evolution,metapopulation dynamics,migration,population age}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00654.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\57ITLBI4\\Hanski et al. - 2004 - Variation in migration propensity among individual.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\9DM6SNTT\\j.1461-0248.2004.00654.html} -} - -@article{hartigConnectingDynamicVegetation2012, - title = {Connecting Dynamic Vegetation Models to Data \textendash{} an Inverse Perspective}, - author = {Hartig, Florian and Dyke, James and Hickler, Thomas and Higgins, Steven I. and O'Hara, Robert B. and Scheiter, Simon and Huth, Andreas}, - year = {2012}, - journal = {Journal of Biogeography}, - volume = {39}, - number = {12}, - pages = {2240--2252}, - issn = {1365-2699}, - doi = {10.1111/j.1365-2699.2012.02745.x}, - abstract = {Dynamic vegetation models provide process-based explanations of the dynamics and the distribution of plant ecosystems. They offer significant advantages over static, correlative modelling approaches, particularly for ecosystems that are outside their equilibrium due to global change or climate change. A persistent problem, however, is their parameterization. Parameters and processes of dynamic vegetation models (DVMs) are traditionally determined independently of the model, while model outputs are compared to empirical data for validation and informal model comparison only. But field data for such independent estimates of parameters and processes are often difficult to obtain, and the desire to include better descriptions of processes such as biotic interactions, dispersal, phenotypic plasticity and evolution in future vegetation models aggravates limitations related to the current parameterization paradigm. In this paper, we discuss the use of Bayesian methods to bridge this gap. We explain how Bayesian methods allow direct estimates of parameters and processes, encoded in prior distributions, to be combined with inverse estimates, encoded in likelihood functions. The combination of direct and inverse estimation of parameters and processes allows a much wider range of vegetation data to be used simultaneously, including vegetation inventories, species traits, species distributions, remote sensing, eddy flux measurements and palaeorecords. The possible reduction of uncertainty regarding structure, parameters and predictions of DVMs may not only foster scientific progress, but will also increase the relevance of these models for policy advice.}, - langid = {english}, - keywords = {Bayesian statistics,calibration,data assimilation,forest models,inverse modelling,model selection,parameterization,plant functional types,predictive uncertainty,process-based models}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2012.02745.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\86DDHZRK\\Hartig et al. - 2012 - Connecting dynamic vegetation models to data – an .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XJDT75SX\\j.1365-2699.2012.02745.html} -} - -@article{hartigStatisticalInferenceStochastic2011, - title = {Statistical Inference for Stochastic Simulation Models \textendash{} Theory and Application}, - author = {Hartig, Florian and Calabrese, Justin M. and Reineking, Bj{\"o}rn and Wiegand, Thorsten and Huth, Andreas}, - year = {2011}, - journal = {Ecology Letters}, - volume = {14}, - number = {8}, - pages = {816--827}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2011.01640.x}, - abstract = {Ecology Letters (2011) 14: 816\textendash 827 Abstract Statistical models are the traditional choice to test scientific theories when observations, processes or boundary conditions are subject to stochasticity. Many important systems in ecology and biology, however, are difficult to capture with statistical models. Stochastic simulation models offer an alternative, but they were hitherto associated with a major disadvantage: their likelihood functions can usually not be calculated explicitly, and thus it is difficult to couple them to well-established statistical theory such as maximum likelihood and Bayesian statistics. A number of new methods, among them Approximate Bayesian Computing and Pattern-Oriented Modelling, bypass this limitation. These methods share three main principles: aggregation of simulated and observed data via summary statistics, likelihood approximation based on the summary statistics, and efficient sampling. We discuss principles as well as advantages and caveats of these methods, and demonstrate their potential for integrating stochastic simulation models into a unified framework for statistical modelling.}, - langid = {english}, - keywords = {Bayesian statistics,indirect inference,intractable likelihood,inverse modelling,likelihood approximation,likelihood-free inference,maximum likelihood,model selection,parameter estimation,stochastic simulation}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2011.01640.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\W3D7U7DD\\Hartig et al. - 2011 - Statistical inference for stochastic simulation mo.pdf} -} - -@article{hastingsSpatialSpreadInvasions2005, - title = {The Spatial Spread of Invasions: New Developments in Theory and Evidence}, - shorttitle = {The Spatial Spread of Invasions}, - author = {Hastings, Alan and Cuddington, Kim and Davies, Kendi F. and Dugaw, Christopher J. and Elmendorf, Sarah and Freestone, Amy and Harrison, Susan and Holland, Matthew and Lambrinos, John and Malvadkar, Urmila and Melbourne, Brett A. and Moore, Kara and Taylor, Caz and Thomson, Diane}, - year = {2005}, - journal = {Ecology Letters}, - volume = {8}, - number = {1}, - pages = {91--101}, - issn = {1461-0248}, - doi = {10.1111/j.1461-0248.2004.00687.x}, - abstract = {We review and synthesize recent developments in the study of the spread of invasive species, emphasizing both empirical and theoretical approaches. Recent theoretical work has shown that invasive species spread is a much more complex process than the classical models suggested, as long range dispersal events can have a large influence on the rate of range expansion through time. Empirical work goes even further, emphasizing the role of spatial heterogeneity, temporal variability, other species, and evolution. As in some of the classic work on spread, the study of range expansion of invasive species provides unique opportunities to use differences between theory and data to determine the important underlying processes that control spread rates.}, - langid = {english}, - keywords = {Diffusion,dispersal,integro-difference equations,invasions,reaction-diffusion,spatial spread}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00687.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\Z59DZSQD\\Hastings et al. - 2005 - The spatial spread of invasions new developments .pdf} -} - -@article{haughlandExplorationCorrelatesSettlement2004, - title = {Exploration Correlates with Settlement: Red Squirrel Dispersal in Contrasting Habitats}, - shorttitle = {Exploration Correlates with Settlement}, - author = {Haughland, Diane L. and Larsen, Karl W.}, - year = {2004}, - journal = {Journal of Animal Ecology}, - volume = {73}, - number = {6}, - pages = {1024--1034}, - issn = {1365-2656}, - doi = {10.1111/j.0021-8790.2004.00884.x}, - abstract = {1 Dispersers in heterogeneous habitat theoretically should target the habitat(s) where reproduction and survival (i.e. fitness) will be highest. However, the cues that dispersing animals respond to are not well understood: differences in habitat quality ultimately may be important, but whether animals respond to these differences may be influenced by their own familiarity with different habitats. 2 To determine if dispersers reacted to differences in habitat, we documented the exploratory movements, dispersal, and settlement patterns of juvenile North American red squirrels (Tamiasciurus hudsonicus) originating in adjacent patches of different habitats. 3 Dispersers originating in mature, closed-canopy forest (linked to higher female reproductive success and smaller territories) did not explore contrasting open forest with lower tree densities, and the magnitude of the dispersers' explorations was relatively similar. In contrast, dispersers from the open forest habitat made explorations that carried them into contrasting, mature forest habitat, and their explorations were more variable across individuals. 4 When settlement occurred, it was strongly philopatric in all groups of dispersers, although the distances and directions favoured during the exploratory phase of dispersal remained strong predictors of where settlement occurred. Overall, processes favouring philopatry (i.e. maternal influences, competitive advantages, etc.) appeared to dominate the dispersal of our study animals, even those that were exposed to higher quality habitat during their explorations. 5 Secondarily, annual stochasticity (or some correlate) affected the scale of exploration and timing of settlement more than the relative quality of habitat in which dispersers were born. 6 Studies such as this that seek to understand the relative importance of individual experience, habitat familiarity, and habitat quality are important to ultimately understanding how individual animals and populations react to habitat heterogeneity.}, - langid = {english}, - keywords = {habitat quality,habitat selection,juvenile experience,movement,natal dispersal,North American red squirrel,seasonal stochasticity.,Tamiasciurus hudsonicus}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8790.2004.00884.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RWPMJBW5\\Haughland und Larsen - 2004 - Exploration correlates with settlement red squirr.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\3R8H9TSQ\\j.0021-8790.2004.00884.html} -} - -@article{hauserDispersalClobertDanchin2001, - title = {Dispersal. {{J}}. {{Clobert}}, {{E}}. {{Danchin}}, {{A}}. {{A}}. {{Dhondt}} and {{J}}. {{D}}. {{Nichols}} (Eds). {{Oxford University Press}}, {{New York}}. 2001. Pp. 452. {{Price}} \textsterling 24.95, Paperback. {{ISBN}}: 0-19-850659-7.}, - shorttitle = {Dispersal. {{J}}. {{Clobert}}, {{E}}. {{Danchin}}, {{A}}. {{A}}. {{Dhondt}} and {{J}}. {{D}}. {{Nichols}} (Eds). {{Oxford University Press}}, {{New York}}. 2001. Pp. 452. {{Price}} \textsterling 24.95, Paperback. {{ISBN}}}, - author = {Hauser, Lorenz}, - year = {2001}, - journal = {Heredity}, - volume = {87}, - number = {4}, - pages = {508--508}, - issn = {1365-2540}, - doi = {10.1046/j.1365-2540.2001.0963a.x}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2540.2001.0963a.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VT58TDAZ\\Hauser - 2001 - Dispersal. J. Clobert, E. Danchin, A. A. Dhondt an.pdf} -} - -@article{hawkesLinkingMovementBehaviour2009, - title = {Linking Movement Behaviour, Dispersal and Population Processes: Is Individual Variation a Key?}, - shorttitle = {Linking Movement Behaviour, Dispersal and Population Processes}, - author = {Hawkes, Colin}, - year = {2009}, - journal = {Journal of Animal Ecology}, - volume = {78}, - number = {5}, - pages = {894--906}, - issn = {1365-2656}, - doi = {10.1111/j.1365-2656.2009.01534.x}, - abstract = {1 Movement behaviour has become increasingly important in dispersal ecology and dispersal is central to the development of spatially explicit population ecology. The ways in which the elements have been brought together are reviewed with particular emphasis on dispersal distance distributions and the value of mechanistic models. 2 There is a continuous range of movement behaviours and in some species, dispersal is a clearly delineated event but not in others. The biological complexities restrict conclusions to high-level generalizations but there may be principles that are common to dispersal and other movements. 3 Random walk and diffusion models when appropriately elaborated can provide an understanding of dispersal distance relationships on spatial and temporal scales relevant to dispersal. Leptokurtosis in the relationships may be the result of a combination of factors including population heterogeneity, correlation, landscape features, time integration and density dependence. The inclusion in diffusion models of individual variation appears to be a useful elaboration. The limitations of the negative exponential and other phenomenological models are discussed. 4 The dynamics of metapopulation models are sensitive to what appears to be small differences in the assumptions about dispersal. In order to represent dispersal realistically in population models, it is suggested that phenomenological models should be replaced by those based on movement behaviour incorporating individual variation. 5 The conclusions are presented as a set of candidate principles for evaluation. The main features of the principles are that uncorrelated or correlated random walk, not linear movement, is expected where the directions of habitat patches are unpredictable and more complex behaviour when organisms have the ability to orientate or navigate. Individuals within populations vary in their movement behaviour and dispersal; part of this variation is a product of random elements in movement behaviour and some of it is heritable. Local and metapopulation dynamics are influenced by population heterogeneity in dispersal characteristics and heritable changes in dispersal propensity occur on time-scales short enough to impact population dynamics.}, - langid = {english}, - keywords = {diffusion equations,dispersal distance distributions,metapopulations,negative exponential,population heterogeneity}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2009.01534.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\Y9F3RVCJ\\Hawkes - 2009 - Linking movement behaviour, dispersal and populati.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\A2375F9G\\j.1365-2656.2009.01534.html} -} - -@article{heikkinenMethodsUncertaintiesBioclimatic2006, - title = {Methods and Uncertainties in Bioclimatic Envelope Modelling under Climate Change}, - author = {Heikkinen, Risto K. and Luoto, Miska and Ara{\'u}jo, Miguel B. and Virkkala, Raimo and Thuiller, Wilfried and Sykes, Martin T.}, - year = {2006}, - month = dec, - journal = {Progress in Physical Geography: Earth and Environment}, - volume = {30}, - number = {6}, - pages = {751--777}, - publisher = {{SAGE Publications Ltd}}, - issn = {0309-1333}, - doi = {10.1177/0309133306071957}, - abstract = {Potential impacts of projected climate change on biodiversity are often assessed using single-species bioclimatic `envelope'models. Such models are a special case of species distribution models in which the current geographical distribution of species is related to climatic variables so to enable projections of distributions under future climate change scenarios. This work reviews a number of critical methodological issues that may lead to uncertainty in predictions from bioclimatic modelling. Particular attention is paid to recent developments of bioclimatic modelling that address some of these issues as well as to the topics where more progress needs to be made. Developing and applying bioclimatic models in a informative way requires good understanding of a wide range of methodologies, including the choice of modelling technique, model validation, collinearity, autocorrelation, biased sampling of explanatory variables, scaling and impacts of non-climatic factors. A key challenge for future research is integrating factors such as land cover, direct CO2 effects, biotic interactions and dispersal mechanisms into species-climate models. We conclude that, although bioclimatic envelope models have a number of important advantages, they need to be applied only when users of models have a thorough understanding of their limitations and uncertainties.}, - langid = {english}, - keywords = {bioclimatic model,climate change,land cover,model performance,modelling methods,niche properties,scale,species distribution model,species geography,uncertainty,validation}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\5IV85WML\\Heikkinen et al. - 2006 - Methods and uncertainties in bioclimatic envelope .pdf} -} - -@article{heinoEvolutionMigrationRate2001, - title = {Evolution of Migration Rate in a Spatially Realistic Metapopulation Model}, - author = {Heino, M. and Hanski, I.}, - year = {2001}, - month = may, - journal = {The American Naturalist}, - volume = {157}, - number = {5}, - pages = {495--511}, - issn = {1537-5323}, - doi = {10.1086/319927}, - abstract = {We use an individual-based, spatially realistic metapopulation model to study the evolution of migration rate. We first explore the consequences of habitat change in hypothetical patch networks on a regular lattice. If the primary consequence of habitat change is an increase in local extinction risk as a result of decreased local population sizes, migration rate increases. A nonmonotonic response, with migration rate decreasing at high extinction rate, was obtained only by assuming very frequent catastrophes. If the quality of the matrix habitat deteriorates, leading to increased mortality during migration, the evolutionary response is more complex. As long as habitat patch occupancy does not decrease markedly with increased migration mortality, reduced migration rate evolves. However, once mortality becomes so high that empty patches remain uncolonized for a long time, evolution tends to increase migration rate, which may lead to an "evolutionary rescue" in a fragmented landscape. Kin competition has a quantitative effect on the evolution of migration rate in our model, but these patterns in the evolution of migration rate appear to be primarily caused by spatiotemporal variation in fitness and mortality during migration. We apply the model to real habitat patch networks occupied by two checkerspot butterfly (Melitaea) species, for which sufficient data are available to estimate rigorously most of the model parameters. The model-predicted migration rate is not significantly different from the empirically observed one. Regional variation in patch areas and connectivities leads to regional variation in the optimal migration rate, predictions that can be tested empirically.}, - langid = {english}, - pmid = {18707258}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\MMH6N8F5\\Heino und Hanski - 2001 - Evolution of migration rate in a spatially realist.pdf} -} - -@article{heinoExtinctionRiskColoured2000, - title = {Extinction Risk under Coloured Environmental Noise}, - author = {Heino, Mikko and Ripa, J{\"o}rgen and Kaitala, Veijo}, - year = {2000}, - journal = {Ecography}, - volume = {23}, - number = {2}, - pages = {177--184}, - issn = {1600-0587}, - doi = {10.1111/j.1600-0587.2000.tb00273.x}, - abstract = {Positively autocorrelated red environmental noise is characterized by a strong dependence of expected sample variance on sample length. This dependence has to be taken into account when assessing extinction risk under red and white uncorrelated environmental noise. To facilitate a comparison between red and white noise, their expected variances can be scaled to be equal, but only at a chosen time scale. We show with a simple one-dimensional population dynamics model that the different but equally reasonable choices of the time scale yield qualitatively different results on the dependence of extinction risk on the colour of environmental noise: extinction risk might increase as well as decrease when the temporal correlation of noise increases.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2000.tb00273.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\4E9UG5N7\\Heino et al. - 2000 - Extinction risk under coloured environmental noise.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\6YEG4YTK\\j.1600-0587.2000.tb00273.html} -} - -@article{heinoExtinctionRiskColoured2000a, - title = {Extinction Risk under Coloured Environmental Noise}, - author = {Heino, Mikko and Ripa, J{\"o}rgen and Kaitala, Veijo}, - year = {2000}, - journal = {Ecography}, - volume = {23}, - number = {2}, - pages = {177--184}, - issn = {1600-0587}, - doi = {10.1111/j.1600-0587.2000.tb00273.x}, - abstract = {Positively autocorrelated red environmental noise is characterized by a strong dependence of expected sample variance on sample length. This dependence has to be taken into account when assessing extinction risk under red and white uncorrelated environmental noise. To facilitate a comparison between red and white noise, their expected variances can be scaled to be equal, but only at a chosen time scale. We show with a simple one-dimensional population dynamics model that the different but equally reasonable choices of the time scale yield qualitatively different results on the dependence of extinction risk on the colour of environmental noise: extinction risk might increase as well as decrease when the temporal correlation of noise increases.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2000.tb00273.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RXXNNDM2\\Heino et al. - 2000 - Extinction risk under coloured environmental noise.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\SLQHME3R\\j.1600-0587.2000.tb00273.html} -} - -@article{heinzAdaptivePatchSearching2006, - title = {Adaptive {{Patch Searching Strategies}} in {{Fragmented Landscapes}}}, - author = {Heinz, S. K. and Strand, E.}, - year = {2006}, - journal = {Evolutionary Ecology}, - number = {20}, - pages = {113--130} -} - -@article{hellmannInfluenceSpeciesInteractions2012, - title = {The Influence of Species Interactions on Geographic Range Change under Climate Change}, - author = {Hellmann, Jessica J. and Prior, Kirsten M. and Pelini, Shannon L.}, - year = {2012}, - month = feb, - journal = {Annals of the New York Academy of Sciences}, - volume = {1249}, - pages = {18--28}, - issn = {1749-6632}, - doi = {10.1111/j.1749-6632.2011.06410.x}, - abstract = {The fossil record tells us that many species shifted their geographic distributions during historic climate changes, but this record does not portray the complete picture of future range change in response to climate change. In particular, it does not provide information on how species interactions will affect range shifts. Therefore, we also need modern research to generate understanding of range change. This paper focuses on the role that species interactions play in promoting or preventing geographic ranges shifts under current and future climate change, and we illustrate key points using empirical case studies from an integrated study system. Case studies can have limited generalizability, but they are critical to defining possible outcomes under climate change. Our case studies emphasize host limitation that could reduce range shifts and enemy release that could facilitate range expansion. We also need improvements in modeling that explicitly consider species interactions, and this modeling can be informed by empirical research. Finally, we discuss how species interactions have implications for range management by people.}, - langid = {english}, - pmid = {22329888}, - keywords = {Animals,Climate Change,Conservation of Natural Resources,Ecosystem,Fossils,Geography,Population Dynamics,Species Specificity} -} - -@article{henryEcoevolutionaryDynamicsRange2012, - title = {Eco-Evolutionary Dynamics of Range Shifts: {{Elastic}} Margins and Critical Thresholds}, - shorttitle = {Eco-Evolutionary Dynamics of Range Shifts}, - author = {Henry, Roslyn and Bocedi, Greta and Travis, Justin}, - year = {2012}, - month = dec, - journal = {Journal of theoretical biology}, - volume = {321}, - doi = {10.1016/j.jtbi.2012.12.004} -} - -@article{herefordQuantitativeSurveyLocal2009, - title = {A Quantitative Survey of Local Adaptation and Fitness Trade-Offs}, - author = {Hereford, Joe}, - year = {2009}, - month = may, - journal = {The American Naturalist}, - volume = {173}, - number = {5}, - pages = {579--588}, - issn = {1537-5323}, - doi = {10.1086/597611}, - abstract = {The long history of reciprocal transplant studies testing the hypothesis of local adaptation has shown that populations are often adapted to their local environments. Yet many studies have not demonstrated local adaptation, suggesting that sometimes native populations are no better adapted than are genotypes from foreign environments. Local adaptation may also lead to trade-offs, in which adaptation to one environment comes at a cost of adaptation to another environment. I conducted a survey of published studies of local adaptation to quantify its frequency and magnitude and the costs associated with local adaptation. I also quantified the relationship between local adaptation and environmental differences and the relationship between local adaptation and phenotypic divergence. The overall frequency of local adaptation was 0.71, and the magnitude of the native population advantage in relative fitness was 45\%. Divergence between home site environments was positively associated with the magnitude of local adaptation, but phenotypic divergence was not. I found a small negative correlation between a population's relative fitness in its native environment and its fitness in a foreign environment, indicating weak trade-offs associated with local adaptation. These results suggest that populations are often locally adapted but stochastic processes such as genetic drift may limit the efficacy of divergent selection.}, - langid = {english}, - pmid = {19272016}, - keywords = {Adaptation; Biological,Environment,Phenotype} -} - -@article{higginsNicheBiologySpecies2012, - title = {A Niche for Biology in Species Distribution Models}, - author = {Higgins, Steven I. and O'Hara, Robert B. and R{\"o}mermann, Christine}, - year = {2012}, - journal = {Journal of Biogeography}, - volume = {39}, - number = {12}, - pages = {2091--2095}, - issn = {1365-2699}, - doi = {10.1111/jbi.12029}, - abstract = {Why species are found where they are is a central question in biogeography. The most widely used tool for understanding the controls on distribution is species distribution modelling. Species distribution modelling is now a well-established method in both the theoretical and applied ecological literature. In this special issue we examine the current state of the art in species distribution modelling and explore avenues for including more biological processes in such models. In particular we focus on physiological, demographic, dispersal, competitive and ecological-modulation processes. This overview highlights opportunities for new species distribution model concepts and developments, as well as a statistical agenda for implementing such models.}, - langid = {english}, - keywords = {Biodiversity,correlative models,model fitting,niche,process-based models,species distributions}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/jbi.12029}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\3Q5L563J\\Higgins et al. - 2012 - A niche for biology in species distribution models.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\K3SJU7UM\\jbi.html} -} - -@article{hobanComputerSimulationsTools2012, - title = {Computer Simulations: Tools for Population and Evolutionary Genetics}, - shorttitle = {Computer Simulations}, - author = {Hoban, Sean and Bertorelle, Giorgio and Gaggiotti, Oscar E.}, - year = {2012}, - month = jan, - journal = {Nature Reviews. Genetics}, - volume = {13}, - number = {2}, - pages = {110--122}, - issn = {1471-0064}, - doi = {10.1038/nrg3130}, - abstract = {Computer simulations are excellent tools for understanding the evolutionary and genetic consequences of complex processes whose interactions cannot be analytically predicted. Simulations have traditionally been used in population genetics by a fairly small community with programming expertise, but the recent availability of dozens of sophisticated, customizable software packages for simulation now makes simulation an accessible option for researchers in many fields. The in silico genetic data produced by simulations, along with greater availability of population-genomics data, are transforming genetic epidemiology, anthropology, evolutionary and population genetics and conservation. In this Review of the state-of-the-art of simulation software, we identify applications of simulations, evaluate simulator capabilities, provide a guide for their use and summarize future directions.}, - langid = {english}, - pmid = {22230817}, - keywords = {Animals,Computer Simulation,Evolution; Molecular,Genetics; Population,Humans,Models; Genetic,Plants,Research Design,Software}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\8WYHR6UG\\Hoban et al. - 2012 - Computer simulations tools for population and evo.pdf} -} - -@article{hobbsEstimatesHabitatCarrying1985, - title = {Estimates of Habitat Carrying Capacity Incorporating Explicit Nutritional Constraints}, - author = {Hobbs, N.}, - year = {1985}, - doi = {10.2307/3801716}, - abstract = {Presentation d'un algorithme pour estimer la densite supportable d'herbivores consommant des ressources alimentaires a des degres divers de qualite nutritive. Influence des brulis. On prend pour exemple Odocoileus hemionus et Ovis canadensis} -} - -@article{hodgsonClimateChangeConnectivity2009a, - title = {Climate Change, Connectivity and Conservation Decision Making: Back to Basics}, - shorttitle = {Climate Change, Connectivity and Conservation Decision Making}, - author = {Hodgson, Jenny A. and Thomas, Chris D. and Wintle, Brendan A. and Moilanen, Atte}, - year = {2009}, - journal = {Journal of Applied Ecology}, - volume = {46}, - number = {5}, - pages = {964--969}, - issn = {1365-2664}, - doi = {10.1111/j.1365-2664.2009.01695.x}, - abstract = {1. The challenge of climate change forces us to re-examine the assumptions underlying conservation planning. 2. Increasing `connectivity' has emerged as the most favoured option for conservation in the face of climate change. 3. We argue that the importance of connectivity is being overemphasized: quantifying the benefits of connectivity per se is plagued with uncertainty, and connectivity can be co-incidentally improved by targeting more concrete metrics: habitat area and habitat quality. 4. Synthesis and applications. Before investing in connectivity projects, conservation practitioners should analyse the benefits expected to arise from increasing connectivity and compare them with alternative investments, to ensure as much biodiversity conservation and resilience to climate change as possible within their budget. Strategies that we expect to remain robust in the face of climate change include maintaining and increasing the area of high quality habitats, prioritizing areas that have high environmental heterogeneity and controlling other anthropogenic threatening processes.}, - langid = {english}, - keywords = {adaptation,biodiversity,conservation prioritization,habitat quality,landscape planning,spatial ecology,species–area relationship,uncertainty}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2009.01695.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\6E8TD9JR\\Hodgson et al. - 2009 - Climate change, connectivity and conservation deci.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\4PV2BC2M\\j.1365-2664.2009.01695.html} -} - -@article{hodgsonHabitatAreaQuality2011a, - title = {Habitat Area, Quality and Connectivity: Striking the Balance for Efficient Conservation}, - shorttitle = {Habitat Area, Quality and Connectivity}, - author = {Hodgson, Jenny A. and Moilanen, Atte and Wintle, Brendan A. and Thomas, Chris D.}, - year = {2011}, - journal = {Journal of Applied Ecology}, - volume = {48}, - number = {1}, - pages = {148--152}, - issn = {1365-2664}, - doi = {10.1111/j.1365-2664.2010.01919.x}, - abstract = {1. Population viability can depend on habitat area, habitat quality, the spatial arrangement of habitats (aggregations and connections) and the properties of the intervening non-breeding (matrix) land. Hodgson et al. [Journal of Applied Ecology46 (2009) 964] and Doerr, Barrett \& Doerr (Journal of Applied Ecology, 2011) disagree on the relative importance of these landscape attributes in enabling species to persist and change their distributions in response to climate change. 2. A brief review of published evidence suggests that variations in habitat area and quality have bigger effects than variations in spatial arrangement of habitats or properties of the intervening land. Even if structural features in the matrix have a measurable effect on dispersal rates, this does not necessarily lead to significant increases in population viability. 3. Large and high-quality habitats provide source populations and locations for colonisation, so they are the main determinants of the capacity of species to shift their distributions in response to climate change because populations must be established successively in each new region. 4. Synthesis and applications. Retaining as much high quality natural and semi-natural habitat as possible should remain the key focus for conservation, especially during a period of climate change.}, - langid = {english}, - keywords = {aggregation,climate change,conservation planning,corridor,landscape,matrix,uncertainty}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2010.01919.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\2HKI9D57\\Hodgson et al. - 2011 - Habitat area, quality and connectivity striking t.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\RH6SCBLK\\j.1365-2664.2010.01919.html} -} - -@article{hodgsonSpeedRangeShifts2012, - title = {The {{Speed}} of {{Range Shifts}} in {{Fragmented Landscapes}}}, - author = {Hodgson, Jenny A. and Thomas, Chris D. and Dytham, Calvin and Travis, Justin M. J. and Cornell, Stephen J.}, - year = {2012}, - month = oct, - journal = {PLOS ONE}, - volume = {7}, - number = {10}, - pages = {e47141}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0047141}, - abstract = {Species may be driven extinct by climate change, unless their populations are able to shift fast enough to track regions of suitable climate. Shifting will be faster as the proportion of suitable habitat in the landscape increases. However, it is not known how the spatial arrangement of habitat will affect the speed of range advance, especially when habitat is scarce, as is the case for many specialist species. We develop methods for calculating the speed of advance that are appropriate for highly fragmented, stochastic systems. We reveal that spatial aggregation of habitat tends to reduce the speed of advance throughout a wide range of species parameters: different dispersal distances and dispersal kernel shapes, and high and low extinction probabilities. In contrast, aggregation increases the steady-state proportion of habitat that is occupied (without climate change). Nonetheless, we find that it is possible to achieve both rapid advance and relatively high patch occupancy when the habitat has a ``channeled'' pattern, resembling corridors or chains of stepping stones. We adapt techniques from electrical circuit theory to predict the rate of advance efficiently for complex, realistic landscape patterns, whereas the rate cannot be predicted by any simple statistic of aggregation or fragmentation. Conservationists are already advocating corridors and stepping stones as important conservation tools under climate change, but they are vaguely defined and have so far lacked a convincing basis in fundamental population biology. Our work shows how to discriminate properties of a landscape's spatial pattern that affect the speed of colonization (including, but not limited to, patterns like corridors and chains of stepping stones), and properties that affect a species' probability of persistence once established. We can therefore point the way to better land use planning approaches, which will provide functional habitat linkages and also maintain local population viability.}, - langid = {english}, - keywords = {Climate change,Conservation science,Electric conductivity,Extinction risk,Fractals,Habitats,Species colonization,Species extinction}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\L758T9YL\\Hodgson et al. - 2012 - The Speed of Range Shifts in Fragmented Landscapes.pdf} -} - -@article{hodgsonSpeedRangeShifts2012a, - title = {The {{Speed}} of {{Range Shifts}} in {{Fragmented Landscapes}}}, - author = {Hodgson, Jenny A. and Thomas, Chris D. and Dytham, Calvin and Travis, Justin M. J. and Cornell, Stephen J.}, - year = {2012}, - month = oct, - journal = {PLOS ONE}, - volume = {7}, - number = {10}, - pages = {e47141}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0047141}, - abstract = {Species may be driven extinct by climate change, unless their populations are able to shift fast enough to track regions of suitable climate. Shifting will be faster as the proportion of suitable habitat in the landscape increases. However, it is not known how the spatial arrangement of habitat will affect the speed of range advance, especially when habitat is scarce, as is the case for many specialist species. We develop methods for calculating the speed of advance that are appropriate for highly fragmented, stochastic systems. We reveal that spatial aggregation of habitat tends to reduce the speed of advance throughout a wide range of species parameters: different dispersal distances and dispersal kernel shapes, and high and low extinction probabilities. In contrast, aggregation increases the steady-state proportion of habitat that is occupied (without climate change). Nonetheless, we find that it is possible to achieve both rapid advance and relatively high patch occupancy when the habitat has a ``channeled'' pattern, resembling corridors or chains of stepping stones. We adapt techniques from electrical circuit theory to predict the rate of advance efficiently for complex, realistic landscape patterns, whereas the rate cannot be predicted by any simple statistic of aggregation or fragmentation. Conservationists are already advocating corridors and stepping stones as important conservation tools under climate change, but they are vaguely defined and have so far lacked a convincing basis in fundamental population biology. Our work shows how to discriminate properties of a landscape's spatial pattern that affect the speed of colonization (including, but not limited to, patterns like corridors and chains of stepping stones), and properties that affect a species' probability of persistence once established. We can therefore point the way to better land use planning approaches, which will provide functional habitat linkages and also maintain local population viability.}, - langid = {english}, - keywords = {Climate change,Conservation science,Electric conductivity,Extinction risk,Fractals,Habitats,Species colonization,Species extinction}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\I88PSM6F\\Hodgson et al. - 2012 - The Speed of Range Shifts in Fragmented Landscapes.pdf} -} - -@article{hoegh-guldbergAssistedColonizationRapid2008, - title = {Assisted {{Colonization}} and {{Rapid Climate Change}}}, - author = {{Hoegh-Guldberg}, O. and Hughes, L. and McIntyre, S. and Lindenmayer, D. B. and Parmesan, C. and Possingham, H. P. and Thomas, C. D.}, - year = {2008}, - month = jul, - journal = {Science}, - volume = {321}, - number = {5887}, - pages = {345--346}, - publisher = {{American Association for the Advancement of Science}}, - issn = {0036-8075, 1095-9203}, - doi = {10.1126/science.1157897}, - abstract = {Moving species outside their historic ranges may mitigate loss of biodiversity in the face of global climate change. Moving species outside their historic ranges may mitigate loss of biodiversity in the face of global climate change.}, - chapter = {Policy Forum}, - copyright = {\textcopyright{} 2008 American Association for the Advancement of Science}, - langid = {english}, - pmid = {18635780}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\Q9T3HJJW\\Hoegh-Guldberg et al. - 2008 - Assisted Colonization and Rapid Climate Change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\N4MI9DZH\\345.html} -} - -@article{hoffmannClimateChangeEvolutionary2011, - title = {Climate Change and Evolutionary Adaptation}, - author = {Hoffmann, Ary A. and Sgr{\`o}, Carla M.}, - year = {2011}, - month = feb, - journal = {Nature}, - volume = {470}, - number = {7335}, - pages = {479--485}, - publisher = {{Nature Publishing Group}}, - issn = {1476-4687}, - doi = {10.1038/nature09670}, - abstract = {Natural populations are responding to global climate change by shifting their geographical distribution and the timing of their growth and reproduction, but for many species, such responses are likely to be inadequate to counter the speed and magnitude of climate change. Can evolutionary change help their cause? Ary Hoffmann and Carla Sgr\`o review the evidence for evolutionary adaptation in response to recent climate change and consider the implications for population and ecosystem management.}, - copyright = {2011 Nature Publishing Group, a division of Macmillan Publishers Limited. All Rights Reserved.}, - langid = {english}, - annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Reviews Subject\_term: Climate-change adaptation;Genetic variation Subject\_term\_id: climate-change-adaptation;genetic-variation}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\EE3BF8KJ\\Hoffmann und Sgrò - 2011 - Climate change and evolutionary adaptation.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\EVQ3W24A\\nature09670.html} -} - -@article{holtEvolutionaryEcologySpecies2003, - title = {On the Evolutionary Ecology of Species' Ranges}, - author = {Holt, R.}, - year = {2003}, - month = feb, - journal = {Evolutionary Ecology Research}, - volume = {5}, - pages = {159--178}, - abstract = {A species' range limits may shift in space either because of changes in ecological factors (e.g. climate, the abundances of interacting species) or because the traits which influence range limits (e.g. dispersal, niche characteristics) evolve by natural selection. In Geographical Ecology, Robert MacArthur (1972) provided a synthesis of the evolutionary factors that may drive range dynamics. In this paper, I revisit this theme in the light of recent theoretical studies of evolution in heterogeneous environments. These studies suggest that a rich range of evolutionary patterns in species' ranges may occur, including expansions or contractions, leading to dynamism in ranges even in epochs without strong directional environmental change.} -} - -@article{holtTheoreticalModelsSpecies2005, - title = {Theoretical Models of Species' Borders: Single Species Approaches}, - shorttitle = {Theoretical Models of Species' Borders}, - author = {Holt, Robert D. and Keitt, Timothy H. and Lewis, Mark A. and Maurer, Brian A. and Taper, Mark L.}, - year = {2005}, - journal = {Oikos}, - volume = {108}, - number = {1}, - pages = {18--27}, - issn = {1600-0706}, - doi = {10.1111/j.0030-1299.2005.13147.x}, - abstract = {The range of potential mechanisms limiting species' distributions in space is nearly as varied and complex as the diversity of life itself. Yet viewed abstractly, a species' border is a geographic manifestation of a species' demographic responses to a spatially and temporally varying world. Population dynamic models provide insight into the different routes by which range limits can arise owing to gradients in demographic rates. In a metapopulation context, for example, range limits may be caused by gradients in extinction rates, colonization rates or habitat availability. We have consider invasion models in uniform and heterogeneous environments as a framework for understanding non-equilibrium range limits, and explore conditions under which invasions may cease to spread leaving behind a stationary range limit. We conclude that non-equilibrial range dynamics need further theoretical and empirical attention.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0030-1299.2005.13147.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\N9YWIB4T\\Holt et al. - 2005 - Theoretical models of species’ borders single spe.pdf} -} - -@article{holyoakTrendsMissingParts2008, - title = {Trends and Missing Parts in the Study of Movement Ecology}, - author = {Holyoak, Marcel and Casagrandi, Renato and Nathan, Ran and Revilla, Eloy and Spiegel, Orr}, - year = {2008}, - month = dec, - journal = {Proceedings of the National Academy of Sciences}, - volume = {105}, - number = {49}, - pages = {19060--19065}, - publisher = {{National Academy of Sciences}}, - issn = {0027-8424, 1091-6490}, - doi = {10.1073/pnas.0800483105}, - abstract = {Movement is important to all organisms, and accordingly it is addressed in a huge number of papers in the literature. Of nearly 26,000 papers referring to movement, an estimated 34\% focused on movement by measuring it or testing hypotheses about it. This enormous amount of information is difficult to review and highlights the need to assess the collective completeness of movement studies and identify gaps. We surveyed 1,000 randomly selected papers from 496 journals and compared the facets of movement studied with a suggested framework for movement ecology, consisting of internal state (motivation, physiology), motion and navigation capacities, and external factors (both the physical environment and living organisms), and links among these components. Most studies simply measured and described the movement of organisms without reference to ecological or internal factors, and the most frequently studied part of the framework was the link between external factors and motion capacity. Few studies looked at the effects on movement of navigation capacity, or internal state, and those were mainly from vertebrates. For invertebrates and plants most studies were at the population level, whereas more vertebrate studies were conducted at the individual level. Consideration of only population-level averages promulgates neglect of between-individual variation in movement, potentially hindering the study of factors controlling movement. Terminology was found to be inconsistent among taxa and subdisciplines. The gaps identified in coverage of movement studies highlight research areas that should be addressed to fully understand the ecology of movement.}, - chapter = {Review}, - copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, - langid = {english}, - pmid = {19060194}, - keywords = {dispersal,foraging,migration,navigation,physiology}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VH2J4QFJ\\Holyoak et al. - 2008 - Trends and missing parts in the study of movement .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\7CKNWVRG\\19060.html} -} - -@article{hovestadtAllInterpatchMovements2011, - title = {Do All Inter-Patch Movements Represent Dispersal? {{A}} Mixed Kernel Study of Butterfly Mobility in Fragmented Landscapes}, - shorttitle = {Do All Inter-Patch Movements Represent Dispersal?}, - author = {Hovestadt, Thomas and Binzenh{\"o}fer, Birgit and Nowicki, Piotr and Settele, Josef}, - year = {2011}, - month = sep, - journal = {The Journal of Animal Ecology}, - volume = {80}, - number = {5}, - pages = {1070--1077}, - issn = {1365-2656}, - doi = {10.1111/j.1365-2656.2011.01848.x}, - abstract = {1. In times of ongoing habitat fragmentation, the persistence of many species is determined by their dispersal abilities. Consequently, understanding the rules underlying movement between habitat patches is a key issue in conservation ecology. 2. We have analysed mark-release-recapture (MRR) data on inter-patches movements of the Dusky Large Blue butterfly Maculinea nausithous in a fragmented landscape in northern Bavaria, Germany. The aim of the analysis was to quantify distance dependence of dispersal as well as to evaluate the effect of target patch area on immigration probability. For statistical evaluation, we apply a 'reduced version' of the virtual migration model (VM), only fitting parameters for dispersal distance and immigration. In contrast to other analyses, we fit a mixed dispersal kernel to the MRR data. 3. A large fraction of recaptures happened in other habitat patches than those where individuals were initially caught. Further, we found significant evidence for the presence of a mixed dispersal kernel. The results indicate that individuals follow different strategies in their movements. Most movements are performed over small distances, nonetheless involving travelling between nearby habitat patches (median distance c. 480 m). A small fraction (c. 0{$\cdot$}025) of the population has a tendency to move over larger distances (median distance c. 3800 m). Further, immigration was positively affected by patch area (I{$\sim$}A({$\zeta$}) ), with the scaling parameter {$\zeta$} = 0{$\cdot$}5. 4. Our findings should help to resolve the long-lasting dispute over the suitability of the negative exponential function vs. inverse-power one for modelling dispersal. Previous studies on various organisms found that the former typically gives better overall fit to empirical distance distributions, but that the latter better represents long-distance movement probabilities. As long-distance movements are more important for landscape-level effects and thus, e.g. for conservation-oriented analyses like PVAs, fitting inverse-power kernels has often been preferred. 5. We conclude that the above discrepancy may simply stem from the fact that recorded inter-patch movements are an outcome of two different processes: daily routine movements and genuine dispersal. Consequently, applying mixed dispersal kernels to disentangle the two processes is recommended.}, - langid = {english}, - pmid = {21585369}, - keywords = {Animal Migration,Animals,Butterflies,Ecosystem,Germany,Models; Biological} -} - -@incollection{hovestadtEvolutionEmergenceDispersal2012, - title = {Evolution and Emergence of Dispersal Kernels\textemdash a Brief Theoretical Evaluation}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Hovestadt, Thomas and Bonte, Dries and Dytham, Calvin and Poethke, Hans Joachim}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0016}, - abstract = {This chapter discusses hypothetical kernels for single individuals since this kernel defines the long-term average success of a dispersal strategy, and is the ultimate target of selection; consequently, it is the appropriate definition in the context of models of dispersal. It is vital to have a detailed knowledge of dispersal kernels when predicting the expansion of invasive species, for example, or the recolonisation of sites in fragmented landscapes. The chapter starts with a definition of the term `dispersal kernel', as its definition is not consistent throughout the literature. There is ambiguity in certain respects. Firstly, it has been used to describe the density probability density function. Secondly, it has been used as the summary description of dispersal events for a whole population or of a single individual. Finally, it has also been used as the statistical description of real dispersal data or of a `hypothetical' kernel from which a single dispersal event is drawn as a random realization.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {dispersal kernels,dispersal strategy,hypothetical kernels,models of dispersal,random realization} -} - -@article{hovestadtEvolutionReducedDispersal2001, - title = {Evolution of Reduced Dispersal Mortality and 'fat-Tailed' Dispersal Kernels in Autocorrelated Landscapes.}, - author = {Hovestadt, T. and Messner, S. and Poethke, H. J.}, - year = {2001}, - month = feb, - journal = {Proceedings of the Royal Society B: Biological Sciences}, - volume = {268}, - number = {1465}, - pages = {385--391}, - issn = {0962-8452}, - doi = {10.1098/rspb.2000.1379}, - abstract = {Models describing the evolution of dispersal strategies have mostly focused on the evolution of dispersal rates. Taking trees as a model for organisms with undirected, passive dispersal, we have developed an individual-based, spatially explicit simulation tool to investigate the evolution of the dispersal kernel, P(r), and its resulting cumulative seed-density distribution, D(r). Simulations were run on a variety of fractal landscapes differing in the fraction of suitable habitat and the spatial autocorrelation. Starting from a uniform D(r), evolution led to an increase in the fraction of seeds staying in the home cell, a reduction of the dispersal mortality (arrival in unsuitable habitat), and the evolution of 'fat-tailed' D(r) in autocorrelated landscapes and approximately uniform D(r) in random landscapes. The evolutionary process was characterized by long periods of stasis with a few bouts of rapid change in the dispersal rate.}, - pmcid = {PMC1088618}, - pmid = {11270435}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\TB9UDVEL\\Hovestadt et al. - 2001 - Evolution of reduced dispersal mortality and 'fat-.pdf} -} - -@article{hovestadtInformationProcessingModels2010, - title = {Information Processing in Models for Density-Dependent Emigration: {{A}} Comparison}, - shorttitle = {Information Processing in Models for Density-Dependent Emigration}, - author = {Hovestadt, Thomas and Kubisch, Alexander and Poethke, Hans-Joachim}, - year = {2010}, - month = feb, - journal = {Ecological Modelling}, - volume = {221}, - number = {3}, - pages = {405--410}, - issn = {0304-3800}, - doi = {10.1016/j.ecolmodel.2009.11.005}, - abstract = {Density-dependent emigration has been recognized as a fitness enhancing strategy. Yet, especially in the modelling literature there is no consensus about how density-dependent emigration should quantitatively be incorporated into metapopulation models. In this paper we compare the performance of five different dispersal strategies (defined by the functional link between density and emigration probability). Four of these strategies are based on published functional relationships between local population density and emigration probability, one assumes density-independent dispersal. We use individual-based simulations of time-discrete metapopulation dynamics and conduct evolution experiments for a broad range of values for dispersal mortality and environmental stochasticity. For each set of these conditions we analyze the evolution of emigration rates in `monoculture experiments' (with only one type of dispersal strategy used by all individuals in the metapopulation) as well as in selection experiments that allow a pair-wise comparison of the performance of each functional type. We find that a single-parameter `asymptotic threshold' strategy \textendash{} derived from the marginal value theorem \textendash{} with a decelerating increase of emigration rate with increasing population density, out-competes any other strategy, i.e. density-independent emigration, a `linear threshold' strategy and a flexible three-parameter strategy. Only when environmental conditions select for extremely high emigration probabilities (close to one), strategies may perform approximately equally. A simple threshold strategy derived for the case of continuous population growth performs even worse than the density-independent strategy. As the functional type of the dispersal function implemented in metapopulation models may severely affect predictions concerning the survival of populations, range expansion, or community changes we clearly recommend to carefully select adequate functions to model density-dependent dispersal.}, - langid = {english}, - keywords = {Density-dependent dispersal,Evolutionary contest,Individual-based simulation,Information processing}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\7F2FMY3M\\Hovestadt et al. - 2010 - Information processing in models for density-depen.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XZ8PTT8W\\S0304380009007510.html} -} - -@article{hughesEvolutionaryTradeoffsReproduction2003, - title = {Evolutionary Trade-Offs between Reproduction and Dispersal in Populations at Expanding Range Boundaries}, - author = {Hughes, Clare L. and Hill, Jane K. and Dytham, Calvin}, - year = {2003}, - month = nov, - journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, - volume = {270}, - number = {suppl\_2}, - pages = {S147-S150}, - publisher = {{Royal Society}}, - doi = {10.1098/rsbl.2003.0049}, - abstract = {During recent climate warming, some species have expanded their ranges northwards to keep track of climate changes. Evolutionary changes in dispersal have been demonstrated in these expanding populations and here we show that increased dispersal is associated with reduced investment in reproduction in populations of the speckled wood butterfly, Pararge aegeria. Evolutionary changes in flight versus reproduction will affect the pattern and rate of expansion at range boundaries in the future, and understanding these responses will be crucial for predicting the distribution of species in the future as climates continue to warm.}, - keywords = {Climate Change,Flight Morphology,Parargeaegeria,Range Expansion,Trade-Off}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\SESHT37A\\Hughes et al. - 2003 - Evolutionary trade-offs between reproduction and d.pdf} -} - -@article{hughesModellingAnalysingEvolution2007, - title = {Modelling and Analysing Evolution of Dispersal in Populations at Expanding Range Boundaries}, - author = {Hughes, Clare L. and Dytham, Calvin and Hill, Jane K.}, - year = {2007}, - journal = {Ecological Entomology}, - volume = {32}, - number = {5}, - pages = {437--445}, - issn = {1365-2311}, - doi = {10.1111/j.1365-2311.2007.00890.x}, - abstract = {1. Species would be expected to shift northwards in response to current climate warming, but many are failing to do so because of fragmentation of breeding habitats. Dispersal is important for colonisation and an individual-based spatially explicit model was developed to investigate impacts of habitat availability on the evolution of dispersal in expanding populations. Model output was compared with field data from the speckled wood butterfly Pararge aegeria, which currently is expanding its range in Britain. 2. During range expansion, models simulated positive linear relationships between dispersal and distance from the seed location. This pattern was observed regardless of quantity (100\% to 10\% habitat availability) or distribution (random vs. gradient distribution) of habitat, although higher dispersal evolved at expanding range margins in landscapes with greater quantity of habitat and in gradient landscapes. Increased dispersal was no longer evident in any landscape once populations had reached equilibrium; dispersal values returned to those of seed populations. However, in landscapes with the least quantity of habitat, reduced dispersal (below that of seed populations) was observed at equilibrium. 3. Evolutionary changes in adult flight morphology were examined in six populations of P. aegeria along a transect from the distribution core to an expanding range margin in England (spanning a latitudinal distance of {$>$}200 km). Empirical data were in agreement with model output and showed increased dispersal ability (larger and broader thoraxes, smaller abdomens, higher wing aspect ratios) with increasing distance from the distribution core. Increased dispersal ability was evident in populations from areas colonised {$>$}30 years previously, although dispersal changes were generally evident only in females. 4. Evolutionary increases in dispersal ability in expanding populations may help species track future climate changes and counteract impacts of habitat fragmentation by promoting colonisation. However, at the highest levels of habitat loss, increased dispersal was less evident during expansion and reduced dispersal was observed at equilibrium indicating that, for many species, continued habitat fragmentation is likely to outweigh any benefits from dispersal.}, - langid = {english}, - keywords = {Climate change,flight morphology,invasion,Lepidoptera,metapopulation}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2311.2007.00890.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\24C8RLRB\\Hughes et al. - 2007 - Modelling and analysing evolution of dispersal in .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\G3CQC3PD\\j.1365-2311.2007.00890.html} -} - -@article{huntleyBioclimaticEnvelopesDynamic2010, - title = {Beyond Bioclimatic Envelopes: Dynamic Species' Range and Abundance Modelling in the Context of Climatic Change}, - shorttitle = {Beyond Bioclimatic Envelopes}, - author = {Huntley, Brian and Barnard, Phoebe and Altwegg, Res and Chambers, Lynda and Coetzee, Bernard W. T. and Gibson, Lesley and Hockey, Philip A. R. and Hole, David G. and Midgley, Guy F. and Underhill, Les G. and Willis, Stephen G.}, - year = {2010}, - journal = {Ecography}, - volume = {33}, - number = {3}, - pages = {621--626}, - issn = {1600-0587}, - doi = {10.1111/j.1600-0587.2009.06023.x}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.06023.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\3HQTNQ3N\\Huntley et al. - 2010 - Beyond bioclimatic envelopes dynamic species' ran.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UDN8BWLC\\j.1600-0587.2009.06023.html} -} - -@article{jeltschIntegratingMovementEcology2013a, - title = {Integrating Movement Ecology with Biodiversity Research - Exploring New Avenues to Address Spatiotemporal Biodiversity Dynamics}, - author = {Jeltsch, Florian and Bonte, Dries and Pe'er, Guy and Reineking, Bj{\"o}rn and Leimgruber, Peter and Balkenhol, Niko and Schr{\"o}der, Boris and Buchmann, Carsten M. and Mueller, Thomas and Blaum, Niels and Zurell, Damaris and {B{\"o}hning-Gaese}, Katrin and Wiegand, Thorsten and Eccard, Jana A. and Hofer, Heribert and Reeg, Jette and Eggers, Ute and Bauer, Silke}, - year = {2013}, - month = aug, - journal = {Movement Ecology}, - volume = {1}, - number = {1}, - pages = {6}, - issn = {2051-3933}, - doi = {10.1186/2051-3933-1-6}, - abstract = {Movement of organisms is one of the key mechanisms shaping biodiversity, e.g. the distribution of genes, individuals and species in space and time. Recent technological and conceptual advances have improved our ability to assess the causes and consequences of individual movement, and led to the emergence of the new field of `movement ecology'. Here, we outline how movement ecology can contribute to the broad field of biodiversity research, i.e. the study of processes and patterns of life among and across different scales, from genes to ecosystems, and we propose a conceptual framework linking these hitherto largely separated fields of research. Our framework builds on the concept of movement ecology for individuals, and demonstrates its importance for linking individual organismal movement with biodiversity. First, organismal movements can provide `mobile links' between habitats or ecosystems, thereby connecting resources, genes, and processes among otherwise separate locations. Understanding these mobile links and their impact on biodiversity will be facilitated by movement ecology, because mobile links can be created by different modes of movement (i.e., foraging, dispersal, migration) that relate to different spatiotemporal scales and have differential effects on biodiversity. Second, organismal movements can also mediate coexistence in communities, through `equalizing' and `stabilizing' mechanisms. This novel integrated framework provides a conceptual starting point for a better understanding of biodiversity dynamics in light of individual movement and space-use behavior across spatiotemporal scales. By illustrating this framework with examples, we argue that the integration of movement ecology and biodiversity research will also enhance our ability to conserve diversity at the genetic, species, and ecosystem levels.}, - keywords = {Biodiversity conservation,Community dynamics,Individual based modeling,Landscape genetics,Long distance movement,Mobile links,Species coexistence}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\4YXDG6ZL\\Jeltsch et al. - 2013 - Integrating movement ecology with biodiversity res.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\88THE2A8\\2051-3933-1-6.html} -} - -@article{johstExtinctionRiskTemporally1997, - title = {Extinction Risk in a Temporally Correlated Fluctuating Environment}, - author = {Johst, K. and Wissel, C.}, - year = {1997}, - month = oct, - journal = {Theoretical Population Biology}, - volume = {52}, - number = {2}, - pages = {91--100}, - issn = {0040-5809}, - doi = {10.1006/tpbi.1997.1322}, - abstract = {Usually extinction risk due to environmental stochasticity is estimated under the assumption of white environmental noise. This holds for a sufficiently short correlation time tauc of the fluctuations compared to the internal time scale of population growth r-1 (tauc/r-1{$<<$}1). Using a time-discrete simulation model we investigate when the white noise approximation is misleading. Environmental fluctuations are related to fluctuations of the birth and death rates of the species and the temporal correlation of these fluctuations (coloured noise) is described by a first-order autoregressive process. We found that extinction risk increases rapidly with correlation time tauc if the strength of noise is large. In this case the white noise approximation underestimates extinction risk essentially unless temporal correlation is very small (tauc/r-1{$<<$}0.1). Extinction risk increases only slowly with correlation time if the strength of noise is small. Then the white noise approximation may be used even for stronger temporal correlations (tauc/r-1{$>$}/=0.1). Thus, the estimation of extinction risk on the basis of white or coloured noise must be justified by time scale and strength of the fluctuations. Especially for species that are sensitive to environmental fluctuations the applicability of the white noise approximation should be carefully checked.}, - langid = {english}, - pmid = {9356326}, - keywords = {Animals,Artifacts,Bias,Birth Rate,Demography,Environment,Humans,Logistic Models,Models; Statistical,Mortality,Population Growth,Regression Analysis,Reproducibility of Results,Risk Factors,Species Specificity,Stochastic Processes,Time} -} - -@article{johstMetapopulationPersistenceDynamic2002, - title = {Metapopulation Persistence in Dynamic Landscapes: The Role of Dispersal Distance}, - shorttitle = {Metapopulation Persistence in Dynamic Landscapes}, - author = {Johst, Karin and Brandl, Roland and Eber, Sabine}, - year = {2002}, - journal = {Oikos}, - volume = {98}, - number = {2}, - pages = {263--270}, - issn = {1600-0706}, - doi = {10.1034/j.1600-0706.2002.980208.x}, - abstract = {Species associated with transient habitats need efficient dispersal strategies to ensure their regional survival. Using a spatially explicit metapopulation model, we studied the effect of the dispersal range on the persistence of a metapopulation as a function of the local population and landscape dynamics (including habitat patch destruction and subsequent regeneration). Our results show that the impact of the dispersal range depends on both the local population and patch growth. This is due to interactions between dispersal and the dynamics of patches and populations via the number of potential dispersers. In general, long-range dispersal had a positive effect on persistence in a dynamic landscape compared to short-range dispersal. Long-range dispersal increases the number of couplings between the patches and thus the colonisation of regenerated patches. However, long-range dispersal lost its advantage for long-term persistence when the number of potential dispersers was low due to small population growth rates and/or small patch growth rates. Its advantage also disappeared with complex local population dynamics and in a landscape with clumped patch distribution.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1034/j.1600-0706.2002.980208.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\F9GL83GZ\\Johst et al. - 2002 - Metapopulation persistence in dynamic landscapes .pdf} -} - -@article{jongejansDispersalDemographySpatial2008, - title = {Dispersal, Demography and Spatial Population Models for Conservation and Control Management}, - author = {Jongejans, Eelke and Skarpaas, Olav and Shea, Katriona}, - year = {2008}, - month = mar, - journal = {Perspectives in Plant Ecology, Evolution and Systematics}, - series = {Space Matters - {{Novel}} Developments in Plant Ecology through Spatial Modelling}, - volume = {9}, - number = {3}, - pages = {153--170}, - issn = {1433-8319}, - doi = {10.1016/j.ppees.2007.09.005}, - abstract = {Spatial population dynamics can seldom be ignored in management aimed at conserving or controlling plant species in a spatial context. Therefore, spatial population models, that bring together knowledge about a species' local demography and dispersal behavior, are of growing applied importance. Here, we survey increasingly complex analytical and simulation models that are being developed to describe both demography and dispersal in applied studies. Local population dynamics can be modeled in an unstructured way, by specifying age- or stage-structure or by modeling each individual. Dispersal is often summarized in population-spread models with descriptive and simple statistical models. Mechanistic models that incorporate the physical or behavioral dynamics of dispersal vectors, however, provide more insight and can more readily be applied to novel situations. Importantly, mechanistic models provide a tool for linking variation in species traits and environments to dispersal and population spread. Spatial population models span a wide range: from diffusion models, metapopulation models, integrodifference equation models, and Neubert\textendash Caswell models, to spatially explicit individual-based models. The complexity (and biological realism) of such models often trades off with tractability: for instance, individual-based simulation models allow for unlimited incorporation of biological detail, but rarely for analytical exploration of the model dynamics. We discuss the advantages and disadvantages of these various spatial population models; the choice of the most appropriate model will depend on the management objective, the biological complexity, available data and the principle of parsimony. We present five case studies of endangered and invasive species for which spatial population models have been developed to inform management, for instance to decrease the spread rate of invasive species or to improve the regional persistence of endangered species. We also anticipate exciting new developments in both spatial analytical and spatial simulation models with increasing demographic, dispersal and spatial sophistication.}, - langid = {english}, - keywords = {Demography,Seed dispersal,Spatial population models,Species management}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\2V5QTP82\\S1433831907000467.html} -} - -@article{keithPredictingExtinctionRisks2008, - title = {Predicting Extinction Risks under Climate Change: Coupling Stochastic Population Models with Dynamic Bioclimatic Habitat Models}, - shorttitle = {Predicting Extinction Risks under Climate Change}, - author = {Keith, David A and Ak{\c c}akaya, H. Resit and Thuiller, Wilfried and Midgley, Guy F and Pearson, Richard G and Phillips, Steven J and Regan, Helen M and Ara{\'u}jo, Miguel B and Rebelo, Tony G}, - year = {2008}, - month = oct, - journal = {Biology Letters}, - volume = {4}, - number = {5}, - pages = {560--563}, - publisher = {{Royal Society}}, - doi = {10.1098/rsbl.2008.0049}, - abstract = {Species responses to climate change may be influenced by changes in available habitat, as well as population processes, species interactions and interactions between demographic and landscape dynamics. Current methods for assessing these responses fail to provide an integrated view of these influences because they deal with habitat change or population dynamics, but rarely both. In this study, we linked a time series of habitat suitability models with spatially explicit stochastic population models to explore factors that influence the viability of plant species populations under stable and changing climate scenarios in South African fynbos, a global biodiversity hot spot. Results indicate that complex interactions between life history, disturbance regime and distribution pattern mediate species extinction risks under climate change. Our novel mechanistic approach allows more complete and direct appraisal of future biotic responses than do static bioclimatic habitat modelling approaches, and will ultimately support development of more effective conservation strategies to mitigate biodiversity losses due to climate change.}, - keywords = {bioclimatic envelope,fire,fynbos,niche model,population viability analysis,uncertainty}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\28GGBZYF\\Keith et al. - 2008 - Predicting extinction risks under climate change .pdf} -} - -@article{kendallUnstructuredIndividualVariation2003, - title = {Unstructured {{Individual Variation}} and {{Demographic Stochasticity}}}, - author = {Kendall, Bruce E. and Fox, Gordon A.}, - year = {2003}, - journal = {Conservation Biology}, - volume = {17}, - number = {4}, - pages = {1170--1172}, - publisher = {{[Wiley, Society for Conservation Biology]}}, - issn = {0888-8892} -} - -@article{knowltonUsingBehavioralLandscape2010, - title = {Using Behavioral Landscape Ecology to Predict Species' Responses to Land-Use and Climate Change}, - author = {Knowlton, Jessie L. and Graham, Catherine H.}, - year = {2010}, - month = jun, - journal = {Biological Conservation}, - volume = {143}, - number = {6}, - pages = {1342--1354}, - issn = {0006-3207}, - doi = {10.1016/j.biocon.2010.03.011}, - abstract = {Climate change and habitat destruction are widely recognized as major threats to species' survival. As a result of these anthropogenic impacts, species are often forced into novel landscapes where their persistence is difficult to predict. Knowledge of how individuals move or disperse through the landscape, choose habitat in which to settle, and produce offspring which survive to repeat the process can greatly improve our ability to predict species' persistence. The field of behavioral landscape ecology uses a strong theoretical base to explore, often experimentally, how the behavior of a particular species is affected by heterogeneous and rapidly changing landscapes and can offer valuable insight for managing species in the face of human-induced environmental changes. When interpreted by modelers, results of landscape-level behavioral experiments can be quantified for use in predictive models. To this end, we summarize the methods and results of research using direct experimental manipulation techniques broken into the following categories: translocations, playback experiments, food resource manipulations, manipulations of reproductive success, direct manipulations of the landscape, and manipulations of predation risk. We review and place in a theoretical framework the results from this emerging body of research regarding how organisms move in and respond to different types of landscapes, both natural and human-altered. We go onto highlight the potential of each experimental method to quantify different processes, which may be useful when interpreted by modelers attempting to parameterize predictive models. Finally, we suggest future directions for experimental research that will allow for greater integration of behavioral landscape ecology and predictive modeling.}, - langid = {english}, - keywords = {Experiments,Fragmentation,Individual-based,Metapopulation,Movement,Predictive models,Spatially explicit}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ST67FW3K\\Knowlton und Graham - 2010 - Using behavioral landscape ecology to predict spec.pdf} -} - -@article{kokkoIndividualDispersalSpecies2006, - title = {From {{Individual Dispersal}} to {{Species Ranges}}: {{Perspectives}} for a {{Changing World}}}, - shorttitle = {From {{Individual Dispersal}} to {{Species Ranges}}}, - author = {Kokko, Hanna and {L{\'o}pez-Sepulcre}, Andr{\'e}s}, - year = {2006}, - month = aug, - journal = {Science}, - volume = {313}, - number = {5788}, - pages = {789--791}, - publisher = {{American Association for the Advancement of Science}}, - issn = {0036-8075, 1095-9203}, - doi = {10.1126/science.1128566}, - abstract = {Dispersal is often risky to the individual, yet the long-term survival of populations depends on having a sufficient number of individuals that move, find each other, and locate suitable breeding habitats. This tension has consequences that rarely meet our conservation or management goals. This is particularly true in changing environments, which makes the study of dispersal urgently topical in a world plagued with habitat loss, climate change, and species introductions. Despite the difficulty of tracking mobile individuals over potentially vast ranges, recent research has revealed a multitude of ways in which dispersal evolution can either constrain, or accelerate, species' responses to environmental changes.}, - chapter = {Special Perspectives}, - copyright = {American Association for the Advancement of Science}, - langid = {english}, - pmid = {16902127}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\HDS46C8H\\Kokko und LĂłpez-Sepulcre - 2006 - From Individual Dispersal to Species Ranges Persp.pdf} -} - -@article{kramer-schadtFragmentedLandscapesRoad2004, - title = {Fragmented Landscapes, Road Mortality and Patch Connectivity: Modelling Influences on the Dispersal of {{Eurasian}} Lynx}, - shorttitle = {Fragmented Landscapes, Road Mortality and Patch Connectivity}, - author = {{Kramer-Schadt}, Stephanie and Revilla, Eloy and Wiegand, Thorsten and Breitenmoser, Urs}, - year = {2004}, - journal = {Journal of Applied Ecology}, - volume = {41}, - number = {4}, - pages = {711--723}, - issn = {1365-2664}, - doi = {10.1111/j.0021-8901.2004.00933.x}, - abstract = {1 Although many reintroduction schemes for the Eurasian lynx Lynx lynx in Germany have been discussed, the implications of connectivity between suitable patches have not been assessed. 2 We introduce an individual-based, spatially explicit dispersal model to assess the probability of a dispersing animal reaching another suitable patch in the complex heterogeneous German landscape, with its dense transport system. The dispersal model was calibrated using telemetric data from the Swiss Jura and based on a map of potential lynx dispersal habitat. 3 Most suitable patches could be interconnected by movements of dispersing lynx within 10 years of reintroduction. However, when realistic levels of mortality risks on roads were applied, most patches become isolated except along the German\textendash Czech border. Consequently, patch connectivity is limited not so much by the distribution of dispersal habitat but by the high mortality of dispersing lynx. Accordingly, rather than solely investing in habitat restoration, management efforts should try to reduce road mortality. 4 Synthesis and applications. Our approach illustrates how spatially explicit dispersal models can guide conservation efforts and reintroduction programmes even where data are scarce. Clear limits imposed by substantial road mortality will affect dispersing lynx as well as other large carnivores, unless offset by careful road-crossing management or by the careful selection of release points in reintroduction programmes.}, - langid = {english}, - keywords = {conservation,large carnivores,large-scale approach,Lynx lynx,movement,spatially explicit individual-based model,species reintroduction}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8901.2004.00933.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\7QQGM4EP\\Kramer-Schadt et al. - 2004 - Fragmented landscapes, road mortality and patch co.pdf} -} - -@article{krosbyEcologicalConnectivityChanging2010a, - title = {Ecological {{Connectivity}} for a {{Changing Climate}}}, - author = {KROSBY, MEADE and TEWKSBURY, JOSHUA and HADDAD, NICK M. and HOEKSTRA, JONATHAN}, - year = {2010}, - journal = {Conservation Biology}, - volume = {24}, - number = {6}, - pages = {1686--1689}, - publisher = {{[Wiley, Society for Conservation Biology]}}, - issn = {0888-8892} -} - -@article{kubischDensitydependentDispersalFormation2011, - title = {Density-Dependent Dispersal and the Formation of Range Borders}, - author = {Kubisch, Alexander and Poethke, Hans-Joachim and Hovestadt, Thomas}, - year = {2011}, - journal = {Ecography}, - volume = {34}, - number = {6}, - pages = {1002--1008}, - publisher = {{Wiley}}, - issn = {0906-7590}, - abstract = {Knowledge about the mechanisms of range formation is crucial for scientifically based species conservation strategies in the face of ongoing global climate change. In recent years an increasing amount of studies have focused on the influences of density-dependent dispersal on demographic and biogeographical patterns. However, it still remains unclear, to what extent and in what ways this strategy would affect the range formation of species. In order to fill this gap, we present a study using individual-based simulations of a species with discrete generations living along a dispersal mortality gradient. We compare the evolution of range sizes for species following density-dependent and density-independent emigration. Furthermore we assess the influence of environmental stochasticity and Allee effects on range formation, as both processes are known to play an important role for dispersal evolution. We find that density-dependent dispersal always results in much wider ranges than unconditional dispersal. Increasing environmental stochasticity, a predicted consequence of climate change, can remarkably expand the ranges of species living in such connectivity gradients if dispersal decisions are based on local population density. A strong Allee effect causes range contraction for both strategies, but the effect is considerably less dramatic under density-dependent compared to density-independent emigration. We strongly recommend accounting for these findings in future attempts to model species' range shifts due to climate change.} -} - -@article{kubischElasticityRangeLimits2010, - title = {On the Elasticity of Range Limits during Periods of Expansion}, - author = {Kubisch, Alexander and Hovestadt, Thomas and Poethke, Hans-Joachim}, - year = {2010}, - month = oct, - journal = {Ecology}, - volume = {91}, - number = {10}, - pages = {3094--3099}, - issn = {0012-9658}, - doi = {10.1890/09-2022.1}, - abstract = {Dispersal is known to play a crucial role in the formation of species' ranges. Recent studies demonstrate that dispersiveness increases rapidly during the range expansion of species due to a fitness increase for dispersers at the expanding front. R. D. Holt concluded, however, that emigration should decline after the period of invasion and hence predicted some range contraction following the initial expansion phase. In this study, we evaluate this hypothesis using a spatially explicit individual-based model of populations distributed along environmental gradients. In our experiments we allow the species to spread along a gradient of declining conditions. Results show that range contraction did emerge in a gradient of dispersal mortality, caused by the rapid increase in emigration probability during invasion and selection disfavoring dispersal, once a stable range is formed. However, gradients in growth rate, local extinction rate, and patch capacity did not lead to a noticeable contraction of the range. We conclude, that the phenomenon of range contraction may emerge, but only under conditions that select for a reduction in dispersal at the range edge in comparison to the core region once the expansion period is over.}, - langid = {english}, - pmid = {21058568}, - keywords = {Computer Simulation,Demography,Ecosystem,Models; Biological} -} - -@article{kubischPredictingRangeShifts2013, - title = {Predicting Range Shifts under Global Change: The Balance between Local Adaptation and Dispersal}, - shorttitle = {Predicting Range Shifts under Global Change}, - author = {Kubisch, Alexander and Degen, Tobias and Hovestadt, Thomas and Poethke, Hans Joachim}, - year = {2013}, - journal = {Ecography}, - volume = {36}, - number = {8}, - pages = {873--882}, - issn = {1600-0587}, - doi = {10.1111/j.1600-0587.2012.00062.x}, - abstract = {Bioclimate envelope models (BEMs) have often been criticized as being too simplistic due to e.g. not incorporating effects of biotic interactions or evolutionary adaptation. However, BEMs are widely applied and have proven to be often useful. Here we investigate, under which conditions evolution of dispersal, local adaptation or interspecific competition may be of minor importance for forecasting future range shifts. Therefore we use individual-based simulations of metapopulations under climate change living in spatial temperature gradients. Scenarios incorporate single-species systems or systems with competing species, respectively. Dispersal rate is evolving and adaptation to local conditions may also evolve in some scenarios. Results show that in single-species scenarios excluding evolutionary adaptation, species either follow optimal habitat conditions or go extinct if habitat connectivity is too low. These simulations are in close accordance to predictions from BEMs. Including evolutionary adaptation qualitatively changes these results. In the absence of competing species the species either completely invades the world or goes extinct. With competitors, results strongly depend on habitat fragmentation. For highly connected habitats the range border may shift as predicted by BEMs, for intermediate connectivity it will lag behind, while species will go extinct if fragmentation is too high. Our results indicate that (simple) BEMs may work well if habitats are well connected and species will not encounter many difficulties in dispersing to new sites. Selection in this case may promote evolution of even higher dispersal activities. We thus show that the presence of biotic interactions may be ignored for predictions of range shifts when high dispersal can be expected.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2012.00062.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZGXWGBLN\\Kubisch et al. - 2013 - Predicting range shifts under global change the b.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XHBH8TMS\\j.1600-0587.2012.00062.html} -} - -@article{kubischRangeBorderFormation2011, - title = {Range Border Formation in a World with Increasing Climatic Variance}, - author = {Kubisch, Alexander and Poethke, Hans}, - year = {2011}, - month = feb, - journal = {Evolutionary Ecology Research}, - volume = {13}, - pages = {159--169}, - abstract = {Questions: How will a change in climatic conditions characterized by an increase in the variance of environmental conditions affect the distribution of species along spatial environmental gradients? How does the specific type of gradient influence their response? Features of the model: Spatially explicit individual-based simulation of a metapopulation. Logistic population growth and density-dependent emigration. Spatial gradients in habitat isolation, quality, and size. Ranges of the key variables: Environmental stochasticity was modelled as a variation of net reproductive rate (lambda). For a mean reproductive rate of lambda = 2, the standard deviation (sigma) was varied in the range of 0 to 3. Conclusions: When the range margin was predominantly determined by a lack of colonizers, ranges initially expanded with increasing environmental fluctuations, but contracted again when these fluctuations became too strong (sigma textgreater 1). When extinction risk was more important for range formation, the initial expansion was damped or completely absent. When the climate changed too fast to allow for local adaptation of dispersal behaviour, the described patterns were less pronounced.} -} - -@article{kunEvolutionDensityDependentDispersal2006, - title = {The {{Evolution}} of {{Density-Dependent Dispersal}} in a {{Noisy Spatial Population Model}}}, - author = {Kun, {\'A}d{\'a}m and Scheuring, Istv{\'a}n}, - year = {2006}, - journal = {Oikos}, - volume = {115}, - number = {2}, - pages = {308--320}, - publisher = {{[Nordic Society Oikos, Wiley]}}, - issn = {0030-1299}, - abstract = {It is well-known that dispersal is advantageous in many different ecological situations, e.g. to survive local catastrophes where populations live in spatially and temporally heterogeneous habitats. However, the key question, what kind of dispersal strategy is optimal in a particular situation, has remained unanswered. We studied the evolution of density-dependent dispersal in a coupled map lattice model, where the population dynamics are perturbed by external environmental noise. We used a very flexible dispersal function to enable evolution to select from practically all possible types of monotonous density-dependent dispersal functions. We treated the parameters of the dispersal function as continuously changing phenotypic traits. The evolutionary stable dispersal strategies were investigated by numerical simulations. We pointed out that irrespective of the cost of dispersal and the strength of environmental noise, this strategy leads to a very weak dispersal below a threshold density, and dispersal rate increases in an accelerating manner above this threshold. Decreasing the cost of dispersal increases the skewness of the population density distribution, while increasing the environmental noise causes more pronounced bimodality in this distribution. In case of positive temporal autocorrelation of the environmental noise, there is no dispersal below the threshold, and only low dispersal below it, on the other hand with negative autocorrelation practically all individual disperses above the threshold. We found our results to be in good concordance with empirical observations.} -} - -@incollection{lambinHighConnectivityHigh2012, - title = {High Connectivity despite High Fragmentation: Iterated Dispersal in a Vertebrate Metapopulation}, - shorttitle = {High Connectivity despite High Fragmentation}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Lambin, Xavier and Bouille, Diane Le and Oliver, Matthew K and Sutherland, Chris and Tedesco, Edoardo and Douglas, Alex}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0032}, - abstract = {This chapter reviews published and unpublished studies on dispersal by water voles inhabiting fragmented habitats and organized as metapopulations. Studies of dispersal that have checked the consistency of pattern emerging at behavioural, individual, and population scale are rare or altogether lacking. This chapter describes how inferences have been drawn from exceptionally large-scale, but largely descriptive, studies of dispersal through the use of molecular markers, combined with small-scale individual-level experiments. These studies reveal a high degree of connectivity through dispersal between geographically isolated water vole colonies. Experiments with `enforced dispersers' show how water vole behaviour during the transience phase of dispersal might bring this about, if dispersal takes place over a long time through multiple stepping-stone movements.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {enforced dispersers,fragmented habitats,molecular markers,stepping-stone movements,transience phase,water voles} -} - -@article{landeEstimatingDensityDependence2006, - title = {Estimating {{Density Dependence}} from {{Time Series}} of {{Population Age Structure}}}, - author = {Lande, Russell and Engen, Steinar and S{\ae}ther, Bernt-Erik and Coulson, Tim and Solow, Associate Editor: Andrew R. and DeAngelis, Editor: Donald L.}, - year = {2006}, - journal = {The American Naturalist}, - volume = {168}, - number = {1}, - pages = {76--87}, - publisher = {{[The University of Chicago Press, The American Society of Naturalists]}}, - issn = {0003-0147}, - doi = {10.1086/504851}, - abstract = {Abstract: Population fluctuations are caused by demographic and environmental stochasticity, time lags due to life history, and density dependence. We model a general life history allowing density dependence within and among age or stage classes in a population undergoing small or moderate fluctuations around a stable equilibrium. We develop a method for estimating the overall strength of density dependence measured by the rate of return toward equilibrium, and we also consider a simplified population description and forecasting using the density-dependent reproductive value. This generality comes at the cost of requiring a time series of the population age or stage structure instead of a univariate time series of adult or total population size. The method is illustrated by analyzing the dynamics of a fully censused population of red deer (Cervus elaphus) based on annual fluctuations of age structure through 21 years.} -} - -@article{lawsonhandleyAdvancesOurUnderstanding2007, - title = {Advances in Our Understanding of Mammalian Sex-Biased Dispersal}, - author = {Lawson Handley, L. J. and Perrin, N.}, - year = {2007}, - month = apr, - journal = {Molecular Ecology}, - volume = {16}, - number = {8}, - pages = {1559--1578}, - issn = {0962-1083}, - doi = {10.1111/j.1365-294X.2006.03152.x}, - abstract = {Sex-biased dispersal is an almost ubiquitous feature of mammalian life history, but the evolutionary causes behind these patterns still require much clarification. A quarter of a century since the publication of seminal papers describing general patterns of sex-biased dispersal in both mammals and birds, we review the advances in our theoretical understanding of the evolutionary causes of sex-biased dispersal, and those in statistical genetics that enable us to test hypotheses and measure dispersal in natural populations. We use mammalian examples to illustrate patterns and proximate causes of sex-biased dispersal, because by far the most data are available and because they exhibit an enormous diversity in terms of dispersal strategy, mating and social systems. Recent studies using molecular markers have helped to confirm that sex-biased dispersal is widespread among mammals and varies widely in direction and intensity, but there is a great need to bridge the gap between genetic information, observational data and theory. A review of mammalian data indicates that the relationship between direction of sex-bias and mating system is not a simple one. The role of social systems emerges as a key factor in determining intensity and direction of dispersal bias, but there is still need for a theoretical framework that can account for the complex interactions between inbreeding avoidance, kin competition and cooperation to explain the impressive diversity of patterns.}, - langid = {english}, - pmid = {17402974}, - keywords = {Animal Migration,Animals,Biological Evolution,Female,Gene Flow,Genetic Markers,Humans,Male,Mammals,Models; Biological,Sex Factors,Sexual Behavior; Animal,Social Behavior}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\JMH9UKXM\\Lawson Handley und Perrin - 2007 - Advances in our understanding of mammalian sex-bia.pdf} -} - -@incollection{legalliardDispersalRangeDynamics2012, - title = {Dispersal and Range Dynamics in Changing Climates: A Review}, - shorttitle = {Dispersal and Range Dynamics in Changing Climates}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Le Galliard, Jean Fran{\c c}ois Le and Massot, Manuel and Clobert, Jean}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0025}, - abstract = {This chapter presents an attempt to summarize existing results and methods in the development of predictive models of ecological responses to climate change, with the aim of highlighting existing patterns and trends in the current data, the most important knowledge gaps, and some fruitful avenues for future research. It highlights the urgent need for a good understanding of the effects of climate change on dispersal. Global climate changes, in fact, have been responsible for the growing awareness and recent surge of interest in studies of dispersal aimed at understanding and predicting the ecological effects of climate change. One of the most common ecological responses to climate change involves range or habitat shifts due to spatial expansions at the cool range margins and spatial retractions at the warm range margins.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {climate change,ecological effects,ecological responses,habitat shifts,spatial expansions,spatial retractions} -} - -@article{legalliardPatternsProcessesDispersal2012, - title = {Patterns and Processes of Dispersal Behaviour in Arvicoline Rodents}, - author = {Le Galliard, Jean-Fran{\c c}ois and R{\'e}my, Alice and Ims, Rolf A. and Lambin, Xavier}, - year = {2012}, - month = feb, - journal = {Molecular Ecology}, - volume = {21}, - number = {3}, - pages = {505--523}, - issn = {1365-294X}, - doi = {10.1111/j.1365-294X.2011.05410.x}, - abstract = {A good understanding of mammalian societies requires measuring patterns and comprehending processes of dispersal in each sex. We investigated dispersal behaviour in arvicoline rodents, a subfamily of mammals widespread in northern temperate environments and characterized by a multivoltine life cycle. In arvicoline rodents, variation in life history strategies occurs along a continuum from precocial to delayed maturation that reflects seasonal and ecological fluctuations. We compared dispersal across and within species focusing on the effects of external (condition-dependent) and internal (phenotype-dependent) factors. Our data revealed substantial, unexplained variation between species for dispersal distances and a strong variation within species for both dispersal distance and fraction. Some methodological aspects explained variation across studies, which cautions against comparisons that do not control for them. Overall, the species under consideration display frequent short-distance dispersal events and extremely flexible dispersal strategies, but they also have hitherto unexpected capacity to disperse long distances. Female arvicolines are predominantly philopatric relative to males, but we found no clear association between the mating system and the degree of sex bias in dispersal across species. Dispersal is a response to both various proximate and ultimate factors, including competition, inbreeding avoidance, mate searching and habitat quality. In particular, our review suggests that costs and benefits experienced during transience and settlement are prime determinants of condition dependence. Patterns of phenotype-dependent dispersal are idiosyncratic, except for a widespread association between an exploration/activity syndrome and natal dispersal. Consequences for population dynamics and genetic structures are discussed.}, - langid = {english}, - pmid = {22211403}, - keywords = {Animal Migration,Animals,Arvicolinae,Ecosystem,Female,Homing Behavior,Inbreeding,Male,Population Dynamics,Sex Characteristics,Sexual Behavior; Animal,Species Specificity}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\K2MXWVEX\\Le Galliard et al. - 2012 - Patterns and processes of dispersal behaviour in a.pdf} -} - -@incollection{legendreAgeStructureMating2004, - title = {Age {{Structure}}, {{Mating System}}, and {{Population Viability}}}, - booktitle = {Evolutionary {{Conservation Biology}}}, - author = {Legendre, St{\'e}phane}, - editor = {Couvet, Denis and Ferri{\`e}re, R{\'e}gis and Dieckmann, Ulf}, - year = {2004}, - series = {Cambridge {{Studies}} in {{Adaptive Dynamics}}}, - pages = {41--58}, - publisher = {{Cambridge University Press}}, - address = {{Cambridge}}, - doi = {10.1017/CBO9780511542022.005}, - abstract = {IntroductionThe fate of populations depends on the life-history traits of the species and possible adaptive changes in these traits in response to selective pressure. In unstructured population models, life-history traits are compounded into few parameters, like the intrinsic growth rate r and the carrying capacity K (see Chapter 2). Structured population models, based on life-cycle graphs, allow the effects of specific life-history traits (survival rates, fecundities, generation time, age at maturity) on population dynamics to be investigated. For example, sensitivities of the growth rate to changes in life-cycle transitions can be computed. Individual life-history traits are important determinants of a population's extinction risk, and are also both factors in and targets of a population's adaptive response to environmental change.When population size is small \textendash{} always a concern in conservation biology \textendash{} both individual life-history traits and the structure of interactions between individuals and the genetic system are expected to influence viability. The mating system, for example, may be conducive to an Allee effect (see Chapter 2), and inbreeding depression is a potentially important factor of the extinction process of small populations. In this chapter, we study the interplay between population structure, in terms of age and sex, and population persistence. Two-sex structured models that incorporate specific features of the social mating system and possible differences in male and female life cycles are analyzed. Also, attempts to merge genetic factors and demography into integrated models are presented.}, - isbn = {978-0-521-82700-3}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\2JPB2JW7\\Legendre - 2004 - Age Structure, Mating System, and Population Viabi.pdf} -} - -@article{lenoirSignificantUpwardShift2008, - title = {A {{Significant Upward Shift}} in {{Plant Species Optimum Elevation During}} the 20th {{Century}}}, - author = {Lenoir, J. and G{\'e}gout, J. C. and Marquet, P. A. and de Ruffray, P. and Brisse, H.}, - year = {2008}, - month = jun, - journal = {Science}, - volume = {320}, - number = {5884}, - pages = {1768--1771}, - publisher = {{American Association for the Advancement of Science}}, - issn = {0036-8075, 1095-9203}, - doi = {10.1126/science.1156831}, - abstract = {Spatial fingerprints of climate change on biotic communities are usually associated with changes in the distribution of species at their latitudinal or altitudinal extremes. By comparing the altitudinal distribution of 171 forest plant species between 1905 and 1985 and 1986 and 2005 along the entire elevation range (0 to 2600 meters above sea level) in west Europe, we show that climate warming has resulted in a significant upward shift in species optimum elevation averaging 29 meters per decade. The shift is larger for species restricted to mountain habitats and for grassy species, which are characterized by faster population turnover. Our study shows that climate change affects the spatial core of the distributional range of plant species, in addition to their distributional margins, as previously reported. A 100-year survey shows that the optimal elevations for growth of plant species in European temperate forests have shifted upward by about 30 meters per decade. A 100-year survey shows that the optimal elevations for growth of plant species in European temperate forests have shifted upward by about 30 meters per decade.}, - chapter = {Report}, - copyright = {American Association for the Advancement of Science}, - langid = {english}, - pmid = {18583610}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\JEYP24ZQ\\Lenoir et al. - 2008 - A Significant Upward Shift in Plant Species Optimu.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\YTEYEHUC\\1768.html} -} - -@article{lesserContributionsLongdistanceDispersal2013, - title = {Contributions of Long-Distance Dispersal to Population Growth in Colonising {{Pinus}} Ponderosa Populations}, - author = {Lesser, Mark R. and Jackson, Stephen T.}, - year = {2013}, - month = mar, - journal = {Ecology Letters}, - volume = {16}, - number = {3}, - pages = {380--389}, - issn = {1461-0248}, - doi = {10.1111/ele.12053}, - abstract = {Long-distance dispersal is an integral part of plant species migration and population development. We aged and genotyped 1125 individuals in four disjunct populations of Pinus ponderosa that were initially established by long-distance dispersal in the 16th and 17th centuries. Parentage analysis was used to determine if individuals were the product of local reproductive events (two parents present), long-distance pollen dispersal (one parent present) or long-distance seed dispersal (no parents present). All individuals established in the first century at each site were the result of long-distance dispersal. Individuals reproduced at younger ages with increasing age of the overall population. These results suggest Allee effects, where populations were initially unable to expand on their own, and were dependent on long-distance dispersal to overcome a minimum-size threshold. Our results demonstrate that long-distance dispersal was not only necessary for initial colonisation but also to sustain subsequent population growth during early phases of expansion.}, - langid = {english}, - pmid = {23279647}, - keywords = {Age Factors,Genotype,Pinus ponderosa,Pollen,Population Growth,Seed Dispersal,Wyoming} -} - -@article{limaBehavioralEcologyEcological1996, - title = {Towards a Behavioral Ecology of Ecological Landscapes}, - author = {Lima, Steven L. and Zollner, Patrick A.}, - year = {1996}, - month = mar, - journal = {Trends in Ecology \& Evolution}, - volume = {11}, - number = {3}, - pages = {131--135}, - issn = {0169-5347}, - doi = {10.1016/0169-5347(96)81094-9}, - abstract = {Recent developments in landscape-level ecological modeling rest upon poorly understood behavioral phenomena. Surprisingly, these phenomena include animal movement and habitat selection, two areas with a long history of study in behavioral ecology. A major problem in applying traditional behavioral ecology to landscape-level ecological problems is that ecologists and behaviorists work at very different spatial scales. Thus a behavioral ecology of ecological landscapes would strive to overcome this inopportune differential in spatial scales. Such a landscape-conscious behavioral undertaking would not only establish more firmly the link between behavior and ecological systems, but also catalyze the study of basic biological phenomena of Interest to behaviorists and ecologists alike.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RSMHXEG9\\Lima und Zollner - 1996 - Towards a behavioral ecology of ecological landsca.pdf} -} - -@article{lindstromSexualReproductionPopulation1998, - title = {Sexual Reproduction and Population Dynamics: The Role of Polygyny and Demographic Sex Differences}, - shorttitle = {Sexual Reproduction and Population Dynamics}, - author = {Lindstr{\"o}m, Jan and Kokko, Hanna}, - year = {1998}, - month = mar, - journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, - volume = {265}, - number = {1395}, - pages = {483--488}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.1998.0320}, - abstract = {Most models of population dynamics do not take sexual reproduction into account (i.e. they do not consider the role of males). However, assumptions behind this practice\textemdash that no demographic sex differences exist and males are always abundant enough to fertilize all the females\textemdash are usually not justified in natural populations. On the contrary, demographic sex differences are common, especially in polygynous species. Previous models that consider sexual reproduction report a stabilizing effect through mixing of different genotypes, thus suggesting a decrease in the propensity for complex dynamics in sexually reproducing populations. Here we show that considering the direct role of males in reproduction and density dependence leads to the conclusion that a two\textendash sex model is not necessarily more stable compared with the corresponding one\textendash sex model. Although solutions exist where sexual reproduction has a stabilizing effect even when no genotypic variability is included (primarily when associated with monogamy), factors like polygyny, sex differences in survival or density dependence, and possible alterations of the primary sex ratio (the Trivers\textendash Willard mechanism), may enlarge the parametric region of complex dynamics. Sexual reproduction therefore does not necessarily increase the stability of population dynamics and can have destabilizing effects, at least in species with complicated mating systems and sexual dimorphism.}, - keywords = {chaos,polygyny,population dynamics,sexual reproduction,Trivers–Willard,two–sex model}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\LPZI96MA\\Lindström und Kokko - 1998 - Sexual reproduction and population dynamics the r.pdf} -} - -@article{loarieVelocityClimateChange2009, - title = {The Velocity of Climate Change}, - author = {Loarie, Scott R. and Duffy, Philip B. and Hamilton, Healy and Asner, Gregory P. and Field, Christopher B. and Ackerly, David D.}, - year = {2009}, - month = dec, - journal = {Nature}, - volume = {462}, - number = {7276}, - pages = {1052--1055}, - publisher = {{Nature Publishing Group}}, - issn = {1476-4687}, - doi = {10.1038/nature08649}, - abstract = {In the event of climate change, species have to move if they are to remain in an area with the same average temperature: their chances of survival therefore depend on the ability to keep pace with a moving climate as well as on the extent of change in temperature and other climate factors. To put this pressure on species into context, a novel index designed to quantify climate change in the coming century has been developed. Its value gives the local velocity along the Earth's surface needed to maintain constant temperatures, and is derived from temperature gradients scaled by distance (\textdegree C per km) and time (\textdegree C per year). The index provides a quantitative view of the role of topography in buffering climate change as it would affect plants and animals: on the IPCC's A1B emission scenario the index has a global mean of 0.42 km per year, compared to extremes of 0.08 and 1.26 km per year for mountains forest biomes and flooded grasslands, respectively. Climate change velocity, it turns out, is large relative to species migration speeds and the sizes of protected habitats. The data suggest that, in some ecosystems, helping species to relocate more rapidly via habitat corridors or new reserves could be an important contribution to conservation.}, - copyright = {2009 Macmillan Publishers Limited. All rights reserved}, - langid = {english}, - annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\8H63BYT5\\Loarie et al. - 2009 - The velocity of climate change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\QLK855B9\\nature08649.html} -} - -@article{lossAssistedColonizationIntegrating2011, - title = {Assisted Colonization: {{Integrating}} Conservation Strategies in the Face of Climate Change}, - shorttitle = {Assisted Colonization}, - author = {Loss, Scott R. and Terwilliger, Lauren A. and Peterson, Anna C.}, - year = {2011}, - month = jan, - journal = {Biological Conservation}, - volume = {144}, - number = {1}, - pages = {92--100}, - issn = {0006-3207}, - doi = {10.1016/j.biocon.2010.11.016}, - abstract = {Global climate change poses an immense challenge for conservation biologists seeking to mitigate impacts to species and ecosystems. Species persistence will depend on geographic range shifts or adaptation in response to warming patterns as novel climates and community assemblages arise. Assisted colonization has been proposed as a method for addressing these challenges. This technique, which consists of transporting species to a new range that is predicted to be favorable for persistence under future climate scenarios, has become the subject of controversy and discussion in the conservation community due to its highly manipulative nature, questions about widespread feasibility, and uncertainty associated with the likelihood of translocated species becoming invasive. We reviewed the discussion and criticism associated with assisted colonization and sought to identify other conservation techniques that also display potential to promote the colonization and adaptation of species in response to climate change. We propose an integrated conservation strategy that includes management for habitat connectivity, conservation genetics, and when necessary, assisted colonization of species that are still unable to shift their ranges even given implementation of the above standard conservation approaches. We argue that this integrated approach will facilitate persistence for a larger proportion of species than is possible by solely using assisted colonization. Furthermore, a multi-faceted approach will likely reduce the uncertainty of conservation outcomes and will become increasingly necessary for conservation of biodiversity in a changing climate.}, - langid = {english}, - keywords = {Assisted colonization,Assisted migration,Climate change,Conservation genetics,Landscape connectivity,Managed relocation}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\98DAYUGC\\Loss et al. - 2011 - Assisted colonization Integrating conservation st.pdf} -} - -@article{manelLandscapeGeneticsCombining2003a, - title = {Landscape Genetics: Combining Landscape Ecology and Population Genetics}, - shorttitle = {Landscape Genetics}, - author = {Manel, St{\'e}phanie and Schwartz, Michael K. and Luikart, Gordon and Taberlet, Pierre}, - year = {2003}, - month = apr, - journal = {Trends in Ecology \& Evolution}, - volume = {18}, - number = {4}, - pages = {189--197}, - issn = {0169-5347}, - doi = {10.1016/S0169-5347(03)00008-9}, - abstract = {Understanding the processes and patterns of gene flow and local adaptation requires a detailed knowledge of how landscape characteristics structure populations. This understanding is crucial, not only for improving ecological knowledge, but also for managing properly the genetic diversity of threatened and endangered populations. For nearly 80 years, population geneticists have investigated how physiognomy and other landscape features have influenced genetic variation within and between populations. They have relied on sampling populations that have been identified beforehand because most population genetics methods have required discrete populations. However, a new approach has emerged for analyzing spatial genetic data without requiring that discrete populations be identified in advance. This approach, landscape genetics, promises to facilitate our understanding of how geographical and environmental features structure genetic variation at both the population and individual levels, and has implications for ecology, evolution and conservation biology. It differs from other genetic approaches, such as phylogeography, in that it tends to focus on processes at finer spatial and temporal scales. Here, we discuss, from a population genetic perspective, the current tools available for conducting studies of landscape genetics.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VHXZ67SP\\S0169534703000089.html} -} - -@article{mathiasDivergentEvolutionDispersal2001, - title = {Divergent {{Evolution}} of {{Dispersal}} in a {{Heterogeneous Landscape}}}, - author = {Mathias, Andrea and Kisdi, Eva and Olivieri, Isabelle}, - year = {2001}, - journal = {Evolution}, - volume = {55}, - number = {2}, - pages = {246--259}, - publisher = {{[Society for the Study of Evolution, Wiley]}}, - issn = {0014-3820}, - abstract = {The evolution of dispersal is investigated in a landscape of many patches with fluctuating carrying capacities and spatial heterogeneity in temporal fluctuations. Although asynchronous temporal fluctuations select for dispersal, spatial heterogeneity in the distribution of fluctuating environmental variables selects against it. We find evolutionary branching in dispersal rate leading to the evolutionarily stable coexistence of a high- and a low-dispersal phenotype. We study how the opposing forces of selection for and against dispersal change with the relative size and the environmental qualities of the source and sink habitats. Our results suggest that the evolution of dispersal dimorphism could be a first step towards speciation and local adaptation.} -} - -@article{matthysenDensitydependentDispersalBirds2005, - title = {Density-Dependent Dispersal in Birds and Mammals}, - author = {Matthysen, Erik}, - year = {2005}, - journal = {Ecography}, - volume = {28}, - number = {3}, - pages = {403--416}, - issn = {1600-0587}, - doi = {10.1111/j.0906-7590.2005.04073.x}, - abstract = {Density-dependent dispersal can be caused by various mechanisms, from competition inducing individuals to emigrate (positive density-dependence) to social crowding effects impeding free movement (negative density-dependence). Various spatial population models have incorporated positively density-dependent dispersal algorithms, and recent theoretical models have explored the conditions for density-dependent dispersal (DD) to evolve. However, while the existence of DD is well documented in some taxa such as insects, there is no clear picture on its generality in vertebrates. Here I review the available empirical data on DD in birds and mammals, focusing mainly on variation in dispersal between years and on experimental density manipulations. Surprisingly few studies have explicitly focused on DD, and interpretation of the available data is often hampered by differences in approach, small sample sizes and/or statistical shortcomings. Positive DD was reported in 50 and 33\% of the selected mammal and bird studies, respectively, while two studies on mammals (out of eight) reported negative DD. Among bird studies, DD was more often reported for emigration rates or long-distance recoveries than for average distances within finite study areas. Experimental studies manipulating densities (mainly on mammals) have consistently generated positive DD, typically showing reduced emigration in response to partial population removal. Studies that examined dispersal in relation to seasonal changes in density (small mammals only) have more often reported negative DD. Studies that compared dispersal between sites differing in density, also show a mixture of positive and negative DD. This suggests that dispersal changes in a more complex way with seasonal and spatial density variation than with annual densities, and/or that these results are confounded by other factors differing between seasons and sites, such as habitat quality. I conclude that both correlational and experimental studies support the existence of positive, rather than negative, density-dependent dispersal in birds and mammals.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0906-7590.2005.04073.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\LV8BYIUJ\\Matthysen - 2005 - Density-dependent dispersal in birds and mammals.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\FT5PD7Y5\\j.0906-7590.2005.04073.html} -} - -@incollection{matthysenMulticausalityDispersalReview2012, - title = {Multicausality of Dispersal: A Review}, - shorttitle = {Multicausality of Dispersal}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Matthysen, Erik}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0001}, - abstract = {This chapter reviews the main causes leading to dispersal, and emphasises its proximate factors. Dispersal is the main mechanism leading to gene flow within and between populations, and is defined as the movement of an individual from site of birth to site of reproduction or its movement between successive sites of reproduction. Causality in dispersal here is considered as any factor that explains variation among individuals in any component of dispersal. Following a general introduction, the different types of causal factors that may explain dispersal patterns are reviewed. The chapter begins with a discussion of the concept of dispersal. This is followed by a brief discussion of its ultimate explications. Lastly, an overview of its different possible mechanisms.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {causality in dispersal,dispersal,gene flow,site of birth,site of reproduction} -} - -@article{mclaughlinClimateChangeHastens2002, - title = {{Climate change hastens population extinctions}}, - author = {McLaughlin, John F. and Hellmann, Jessica J. and Boggs, Carol L. and Ehrlich, Paul R.}, - year = {2002}, - month = apr, - journal = {Proceedings of the National Academy of Sciences of the United States of America}, - volume = {99}, - number = {9}, - pages = {6070--6074}, - publisher = {{National Academy of Sciences}}, - issn = {0027-8424}, - doi = {10.1073/pnas.052131199}, - langid = {English (US)}, - pmid = {11972020}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZBIGGYI2\\McLaughlin et al. - 2002 - Climate change hastens population extinctions.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\FNQ8GFK8\\climate-change-hastens-population-extinctions.html} -} - -@article{mcpeekEvolutionDispersalSpatially1992, - title = {The {{Evolution}} of {{Dispersal}} in {{Spatially}} and {{Temporally Varying Environments}}}, - author = {McPeek, Mark A. and Holt, Robert D.}, - year = {1992}, - journal = {The American Naturalist}, - volume = {140}, - number = {6}, - pages = {1010--1027}, - publisher = {{[University of Chicago Press, American Society of Naturalists]}}, - issn = {0003-0147}, - abstract = {Using a simple two-patch model, we examine how patterns of spatial and temporal variation in carrying capacities affect natural selection on dispersal. The size of the population in each patch is regulated separately, according to a discrete-generation logistic equation, and individuals disperse from each patch at propensities determined by their genotype. We consider genotypes that express the same dispersal propensities in both patches and genotypes that express patch-specific disperal propensities. Contrary to previous analyses, our results show that some level of dispersal is favored by selection under almost all regimes of habitat variability, including a spatially varying and temporally constant environment. Furthermore, two very different polymorphisms are favored under different conditions. When carrying capacities vary spatially but not temporally, any number of genotypes with patch-specific dispersal propensities in ratios inversely proportional to the ratio of the carrying capacities can coexist. This result extends previous analyses to show that dispersal is favored in such an environment if individuals can alter dispersal propensities in response to environmental cues. In contrast, when carrying capacities vary both spatially and temporally but differ in mean or variance, a polymorphism of only two genotypes (a high-dispersal and a no-dispersal genotype) is favored when the only genotypes possible are ones expressing the same dispersal propensity in both patches. However, this dimorphism can be invaded and replaced by one genotype with a particular combination of patch-specific dispersal propensities in a ratio also inversely proportional to the ratio of the average population sizes. We discuss a number of testable predictions this model suggests about the amounts of phenotypic and genetic variation in dispersal characters that are expected both within and between populations, and the degree to which the expression of phenotypic characters affecting dispersal propensity should be sensitive to environmental conditions. The model also suggests novel mechanisms for coexistence between competing species in varying environments.} -} - -@article{merckxEvolutionMovementsBehaviour2003, - title = {The Evolution of Movements and Behaviour at Boundaries in Different Landscapes: A Common Arena Experiment with Butterflies}, - shorttitle = {The Evolution of Movements and Behaviour at Boundaries in Different Landscapes}, - author = {Merckx, Thomas and Dyck, Hans Van and Karlsson, Bengt and Leimar, Olof}, - year = {2003}, - month = sep, - journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, - volume = {270}, - number = {1526}, - pages = {1815--1821}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.2003.2459}, - abstract = {As landscapes change, mobility patterns of species may alter. Different mechanistic scenarios may, however, lead to particular patterns. Here, we tested conflicting predictions from two hypotheses on butterfly movements in relation to habitat fragmentation. According to the resource distribution hypothesis, butterflies in more fragmented landscapes would have higher levels of mobility as resources are more scattered. However, these butterflies could have lower levels of mobility as they experience `hard' habitat boundaries more frequently (i.e. higher crossing costs) compared with butterflies in landscapes with continuous habitat; i.e. the behaviour\textendash at\textendash boundaries hypothesis. We studied movements, habitat boundary crossing and habitat preference of laboratory\textendash reared individuals of Pararge aegeria that originated from woodland and agricultural landscapes, by using an experimental landscape as a common environment (outdoor cages) to test the predictions, taking into account sexual differences and weather. Woodland butterflies covered longer distances, were more prone to cross open\textendash shade boundaries, travelled more frequently between woodland parts of the cages and were more at flight than agricultural butterflies. Our results support the behaviour\textendash at\textendash boundaries hypothesis, with `softer' boundaries for woodland landscapes. Because the butterflies were reared in a common environment, the observed behavioural differences rely on heritable variation between populations from woodland and agricultural landscapes.}, - keywords = {butterflies,dispersal,fragmentation,habitat exploration,movements}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\HA5VVEYF\\Merckx et al. - 2003 - The evolution of movements and behaviour at bounda.pdf} -} - -@article{merckxLandscapeStructurePhenotypic2006, - title = {Landscape Structure and Phenotypic Plasticity in Flight Morphology in the Butterfly {{Pararge}} Aegeria}, - author = {Merckx, Thomas and Dyck, Hans Van}, - year = {2006}, - journal = {Oikos}, - volume = {113}, - number = {2}, - pages = {226--232}, - issn = {1600-0706}, - doi = {10.1111/j.2006.0030-1299.14501.x}, - abstract = {In evolutionary time, varying environments may lead to different morphs as a result of genetic adaptation and divergence or phenotypic plasticity. Landscapes that differ in the extent of habitat fragmentation may provide different selection regimes for dispersal, but also for other ecological functions. Several studies on flying insects have shown differences in flight morphology between landscapes, but whether such differences result from plastic responses have rarely been tested. We did a reciprocal transplant experiment with offspring of speckled wood butterfly females (Parargeaegeria) from three types of landscape differing in fragmentation: woodland landscape, landscape with woodland fragments and agricultural landscape with only hedgerows. Young caterpillars were allowed to grow individually on potted host grasses in small enclosures under the three landscape conditions (split-brood design). Mortality in caterpillars was much higher in agricultural landscape compared to the other landscapes. Additive to the effect of landscape of development, landscape of origin also affected mortality rate in a similar way. Flight morphology of the adults resulting from the experiment differed significantly with landscape. Independent of the landscape of origin, males and females that developed in agricultural landscape were the heaviest and had the greatest wing loadings. Females that developed in agricultural landscape had higher relative thorax mass (i.e. greater flight muscle allocation) in line with adaptive predictions on altered dispersal behaviour with type of landscape. In males, relative thorax mass did not respond significantly relative to landscape of development, but males originating from landscape with woodland fragments allocated more into their thorax compared to males from the other types. We found significant G\texttimes E interactions for total dry mass and wing loading. Our results suggest the existence of phenotypic plasticity in butterfly flight morphology associated with landscape structure.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.2006.0030-1299.14501.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\D9SH6LTA\\Merckx und Dyck - 2006 - Landscape structure and phenotypic plasticity in f.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\ACGPY298\\j.2006.0030-1299.14501.html} -} - -@article{metzHowShouldWe2001, - title = {How Should We Define Fitness in Structured Metapopulation Models? {{Including}} an Application to the Calculation of Evolutionarily Stable Dispersal Strategies}, - shorttitle = {How Should We Define Fitness in Structured Metapopulation Models?}, - author = {Metz, J. a. J. and Gyllenberg, M.}, - year = {2001}, - month = mar, - journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, - volume = {268}, - number = {1466}, - pages = {499--508}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.2000.1373}, - abstract = {We define a fitness concept applicable to structured metapopulations consisting of infinitely many equally coupled patches. In addition, we introduce a more easily calculated quantity Rm that relates to fitness in the same manner as R0 relates to fitness in ordinary population dynamics: the Rm of a mutant is only defined when the resident population dynamics converges to a point equilibrium and Rm is larger (smaller) than 1 if and only if mutant fitness is positive (negative). Rm corresponds to the average number of newborn dispersers resulting from the (on average less than one) local colony founded by a newborn disperser. Efficient algorithms for calculating its numerical value are provided. As an example of the usefulness of these concepts we calculate the evolutionarily stable conditional dispersal strategy for individuals that can account for the local population density in their dispersal decisions. Below a threshold density \~a, at which staying and leaving are equality profitable, everybody should stay and above \~a everybody should leave, where profitability is measured as the mean number of dispersers produced through lines of descent consisting of only non\textendash dispersers.}, - keywords = {dispersal,evolutionary ecology,fitness,metapopulation}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\GHK3HBZM\\Metz und Gyllenberg - 2001 - How should we define fitness in structured metapop.pdf} -} - -@article{midgleyBioMoveIntegratedPlatform2010, - title = {{{BioMove}} \textendash{} an Integrated Platform Simulating the Dynamic Response of Species to Environmental Change}, - author = {Midgley, Guy F. and Davies, Ian D. and Albert, C{\'e}cile H. and Altwegg, Res and Hannah, Lee and Hughes, Gregory O. and O'Halloran, Lydia R. and Seo, Changwan and Thorne, James H. and Thuiller, Wilfried}, - year = {2010}, - journal = {Ecography}, - volume = {33}, - number = {3}, - pages = {612--616}, - issn = {1600-0587}, - doi = {10.1111/j.1600-0587.2009.06000.x}, - abstract = {BioMove simulates plant species' geographic range shifts in response to climate, habitat structure and disturbance, at annual time steps. This spatially explicit approach integrates species' bioclimatic suitability and population-level demographic rates with simulation of landscape-level processes (dispersal, disturbance, species' response to dynamic dominant vegetation structure). Species population dynamics are simulated through matrix modelling that includes scaling demographic rates by climatic suitability. Dispersal functions simulate population spread. User-specified plant functional types (PFTs) provide vegetation structure that determines resource competition and disturbance. PFTs respond annually through dispersal, inter-PFT competition and demographic shifts. BioMove provides a rich framework for dynamic range simulations.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.06000.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\GEVPZ5KT\\Midgley et al. - 2010 - BioMove – an integrated platform simulating the dy.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\SAGTYKRD\\j.1600-0587.2009.06000.html} -} - -@article{millerSexbiasedDispersalSpeed2011, - title = {Sex-Biased Dispersal and the Speed of Two-Sex Invasions}, - author = {Miller, Tom E. X. and Shaw, Allison K. and Inouye, Brian D. and Neubert, Michael G.}, - year = {2011}, - month = may, - journal = {The American Naturalist}, - volume = {177}, - number = {5}, - pages = {549--561}, - issn = {1537-5323}, - doi = {10.1086/659628}, - abstract = {Population models that combine demography and dispersal are important tools for forecasting the spatial spread of biological invasions. Current models describe the dynamics of only one sex (typically females). Such models cannot account for the sex-related biases in dispersal and mating behavior that are typical of many animal species. In this article, we construct a two-sex integrodifference equation model that overcomes these limitations. We derive an explicit formula for the invasion speed from the model and use it to show that sex-biased dispersal may significantly increase or decrease the invasion speed by skewing the operational sex ratio at the invasion's low-density leading edge. Which of these possible outcomes occurs depends sensitively on complex interactions among the direction of dispersal bias, the magnitude of bias, and the relative contributions of females and males to local population growth.}, - langid = {english}, - pmid = {21508603}, - keywords = {Animals,Female,Introduced Species,Male,Models; Biological,Population Dynamics,Sex Characteristics}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VSWI5WN7\\Miller et al. - 2011 - Sex-biased dispersal and the speed of two-sex inva.pdf} -} - -@article{millerSexStochasticityAffect2013, - title = {Sex and Stochasticity Affect Range Expansion of Experimental Invasions}, - author = {Miller, Tom E. X. and Inouye, Brian D.}, - year = {2013}, - month = mar, - journal = {Ecology Letters}, - volume = {16}, - number = {3}, - pages = {354--361}, - issn = {1461-0248}, - doi = {10.1111/ele.12049}, - abstract = {Understanding and predicting range expansion are key objectives in many basic and applied contexts. Among dioecious organisms, there is strong evidence for sex differences in dispersal, which could alter the sex ratio at the expansion's leading edge. However, demographic stochasticity could also affect leading-edge sex ratios, perhaps overwhelming sex-biased dispersal. We used insects in laboratory mesocosms to test the effects of sex-biased dispersal on range expansion, and a simulation model to explore interactive effects of sex-biased dispersal and demographic stochasticity. Sex-biased dispersal created spatial clines in the sex ratio, which influenced offspring production at the front and altered invasion velocity. Increasing female dispersal relative to males accelerated spread, despite the prediction that demographic stochasticity would weaken a signal of sex-biased dispersal. Our results provide the first experimental evidence for an influence of sex-biased dispersal on invasion velocity, highlighting the value of accounting for sex structure in studies of range expansion.}, - langid = {english}, - pmid = {23237200}, - keywords = {Animal Distribution,Animals,Coleoptera,Computer Simulation,Female,Male,Models; Biological,Population Growth,Sex Factors}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\FILVYCMY\\Miller und Inouye - 2013 - Sex and stochasticity affect range expansion of ex.pdf} -} - -@article{mitikkaRangeExpansionEuropean2010, - title = {The Range Expansion of the {{European}} Map Butterfly in {{Finland}}}, - author = {Mitikka, Varpu}, - year = {2010}, - month = mar, - publisher = {{Helsingin yliopisto}}, - abstract = {Climate change will influence the living conditions of all life on Earth. For some species the change in the environmental conditions that has occurred so far has already increased the risk of extinction, and the extinction risk is predicted to increase for large numbers of species in the future. Some species may have time to adapt to the changing environmental conditions, but the rate and magnitude of the change are too great to allow many species to survive via evolutionary changes. Species responses to climate change have been documented for some decades. Some groups of species, like many insects, respond readily to changes in temperature conditions and have shifted their distributions northwards to new climatically suitable regions. Such range shifts have been well documented especially in temperate zones. In this context, butterflies have been studied more than any other group of species, partly for the reason that their past geographical ranges are well documented, which facilitates species-climate modelling and other analyses. The aim of the modelling studies is to examine to what extent shifts in species distributions can be explained by climatic and other factors. Models can also be used to predict the future distributions of species. In this thesis, I have studied the response to climate change of one species of butterfly within one geographically restricted area. The study species, the European map butterfly (Araschnia levana), has expanded rapidly northwards in Finland during the last two decades. I used statistical and dynamic modelling approaches in combination with field studies to analyse the effects of climate warming and landscape structure on the expansion. I studied possible role of molecular variation in phosphoglucose isomerase (PGI), a glycolytic enzyme affecting flight metabolism and thereby flight performance, in the observed expansion of the map butterfly at two separate expansion fronts in Finland. The expansion rate of the map butterfly was shown to be correlated with the frequency of warmer than average summers during the study period. The result is in line with the greater probability of occurrence of the second generation during warm summers and previous results on this species showing greater mobility of the second than first generation individuals. The results of a field study in this thesis indicated low mobility of the first generation butterflies. Climatic variables alone were not sufficient to explain the observed expansion in Finland. There are also problems in transferring the climate model to new regions from the ones from which data were available to construct the model. The climate model predicted a wider distribution in the south-western part of Finland than what has been observed. Dynamic modelling of the expansion in response to landscape structure suggested that habitat and landscape structure influence the rate of expansion. In southern Finland the landscape structure may have slowed down the expansion rate. The results on PGI suggested that allelic variation in this enzyme may influence flight performance and thereby the rate of expansion. Genetic differences of the populations at the two expansion fronts may explain at least partly the observed differences in the rate of expansion. Individuals with the genotype associated with high flight metabolic rate were most frequent in eastern Finland, where the rate of range expansion has been highest.}, - copyright = {Julkaisu on tekij\"anoikeuss\"a\"ann\"osten alainen. Teosta voi lukea ja tulostaa henkil\"okohtaista k\"aytt\"o\"a varten. K\"aytt\"o kaupallisiin tarkoituksiin on kielletty.}, - isbn = {9789521061462}, - langid = {english}, - annotation = {Accepted: 2010-11-25T13:18:36Z}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ECPF4G3G\\Mitikka - 2010 - The range expansion of the European map butterfly .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\B65UEQXI\\22114.html} -} - -@article{moralesBehaviorHabitatBoundaries2002, - title = {Behavior at {{Habitat Boundaries Can Produce Leptokurtic Movement Distributions}}.}, - author = {Morales, Juan Manuel}, - year = {2002}, - month = oct, - journal = {The American Naturalist}, - volume = {160}, - number = {4}, - pages = {531--538}, - publisher = {{The University of Chicago Press}}, - issn = {0003-0147}, - doi = {10.1086/342076}, - keywords = {correlated random walk,diffusion,edge effects,kurtosis,landscape heterogeneity,movement}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\H7T3TLJK\\Morales - 2002 - Behavior at Habitat Boundaries Can Produce Leptoku.pdf} -} - -@article{moralesBuildingBridgeAnimal2010a, - title = {Building the Bridge between Animal Movement and Population Dynamics}, - author = {Morales, Juan M. and Moorcroft, Paul R. and Matthiopoulos, Jason and Frair, Jacqueline L. and Kie, John G. and Powell, Roger A. and Merrill, Evelyn H. and Haydon, Daniel T.}, - year = {2010}, - month = jul, - journal = {Philosophical Transactions of the Royal Society B: Biological Sciences}, - volume = {365}, - number = {1550}, - pages = {2289--2301}, - publisher = {{Royal Society}}, - doi = {10.1098/rstb.2010.0082}, - abstract = {While the mechanistic links between animal movement and population dynamics are ecologically obvious, it is much less clear when knowledge of animal movement is a prerequisite for understanding and predicting population dynamics. GPS and other technologies enable detailed tracking of animal location concurrently with acquisition of landscape data and information on individual physiology. These tools can be used to refine our understanding of the mechanistic links between behaviour and individual condition through `spatially informed' movement models where time allocation to different behaviours affects individual survival and reproduction. For some species, socially informed models that address the movements and average fitness of differently sized groups and how they are affected by fission\textendash fusion processes at relevant temporal scales are required. Furthermore, as most animals revisit some places and avoid others based on their previous experiences, we foresee the incorporation of long-term memory and intention in movement models. The way animals move has important consequences for the degree of mixing that we expect to find both within a population and between individuals of different species. The mixing rate dictates the level of detail required by models to capture the influence of heterogeneity and the dynamics of intra- and interspecific interaction.}, - keywords = {demography,dispersal,perfect mixing,redistribution kernels,spatial ecology,time budgets}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\49RJGBRA\\Morales et al. - 2010 - Building the bridge between animal movement and po.pdf} -} - -@article{moralesScalingAnimalMovements2002, - title = {Scaling up {{Animal Movements}} in {{Heterogeneous Landscapes}}: {{The Importance}} of {{Behavior}}}, - shorttitle = {Scaling up {{Animal Movements}} in {{Heterogeneous Landscapes}}}, - author = {Morales, Juan Manuel and Ellner, Stephen P.}, - year = {2002}, - journal = {Ecology}, - volume = {83}, - number = {8}, - pages = {2240--2247}, - publisher = {{Ecological Society of America}}, - issn = {0012-9658}, - doi = {10.2307/3072055}, - abstract = {Two major challenges of spatial ecology are understanding the effects of landscape heterogeneity on movement, and translating observations taken at small spatial and temporal scales into expected patterns at greater scales. Using a combination of computer simulations and micro-landscape experiments with Tribolium confusum beetles we found that conventional correlated random walk models with constant parameters severely underestimated spatial spread because organisms changed movement behaviors over time. However, a model incorporating behavioral heterogeneity between individuals, and within individuals over time, was able to account for observed patterns of spread. Our results suggest that the main challenge for scaling up movement patterns resides in the complexities of individual behavior rather than in the spatial structure of the landscape.} -} - -@article{munozWindLongDistanceDispersal2004, - title = {Wind as a {{Long-Distance Dispersal Vehicle}} in the {{Southern Hemisphere}}}, - author = {Mu{\~n}oz, Jes{\'u}s and Felic{\'i}simo, {\'A}ngel M. and Cabezas, Francisco and Burgaz, Ana R. and Mart{\'i}nez, Isabel}, - year = {2004}, - month = may, - journal = {Science}, - volume = {304}, - number = {5674}, - pages = {1144--1147}, - publisher = {{American Association for the Advancement of Science}}, - issn = {0036-8075, 1095-9203}, - doi = {10.1126/science.1095210}, - abstract = {Anisotropic (direction-dependent) long-distance dispersal (LDD) by wind has been invoked to explain the strong floristic affinities shared among landmasses in the Southern Hemisphere. Its contribution has not yet been systematically tested because of the previous lack of global data on winds. We used global winds coverage from the National Aeronautics and Space Administration SeaWinds scatterometer to test whether floristic similarities of Southern Hemisphere moss, liverwort, lichen, and pteridophyte floras conform better with (i) the anisotropic LDD hypothesis, which predicts that connection by ``wind highways'' increases floristic similarities, or (ii) a direction-independent LDD hypothesis, which predicts that floristic similarities among sites increase with geographic proximity. We found a stronger correlation of floristic similarities with wind connectivity than with geographic proximities, which supports the idea that wind is a dispersal vehicle for many organisms in the Southern Hemisphere. Wind patterns, not geographical proximity, best explain the distribution of lower plants in the Southern Hemisphere. Wind patterns, not geographical proximity, best explain the distribution of lower plants in the Southern Hemisphere.}, - chapter = {Report}, - copyright = {American Association for the Advancement of Science}, - langid = {english}, - pmid = {15155945}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\7BWCQBSH\\Muñoz et al. - 2004 - Wind as a Long-Distance Dispersal Vehicle in the S.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\V7BXQ37E\\1144.html} -} - -@article{murrellEvolutionDispersalDistance2002, - title = {The Evolution of Dispersal Distance in Spatially Structured Populations}, - author = {Murrell, David and Travis, Justin and Dytham, Calvin}, - year = {2002}, - month = may, - journal = {Oikos}, - volume = {97}, - doi = {10.1034/j.1600-0706.2002.970209.x}, - abstract = {Most evolutionary models of dispersal have concentrated on dispersal rate, with emigration being either global or restricted to nearest neighbours. Yet most organisms fall into an intermediate region where most dispersal is local but there is a wide range of dispersal distances. We use an individual-based model with 2500 patches each with identical local dynamics and show that the dispersal distance is under selection pressure. The dispersal distance that evolves is critically dependent on the ecological dynamics. When the cost of dispersal increases linearly with distance, selection is for short-distance dispersal under stable and damped local dynamics but longer distance dispersal is favoured as local dynamics become more complex. For the cases of stable, damped and periodic patch dynamics global patch synchrony occurs even with very short-distance dispersal. Increasing the scale of dispersal for chaotic local dynamics increases the scale of synchrony but global synchrony does not neccesarily occur. We discuss these results in the light of other possible causes of dispersal and argue for the importance of incorporating non-equilibrium population dynamics into evolutionary models of dispersal distance.}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ENLB2BRA\\Murrell et al. - 2002 - The evolution of dispersal distance in spatially s.pdf} -} - -@article{mustinDynamicsClimateInducedRange2009, - title = {The {{Dynamics}} of {{Climate-Induced Range Shifting}}; {{Perspectives}} from {{Simulation Modelling}}}, - author = {Mustin, Karen and Benton, Tim G. and Dytham, Calvin and Travis, Justin M. J.}, - year = {2009}, - journal = {Oikos}, - volume = {118}, - number = {1}, - pages = {131--137}, - publisher = {{[Nordic Society Oikos, Wiley]}}, - issn = {0030-1299}, - abstract = {Predicted future climate change will alter species' distributions as they attempt to track the most suitable ' climate window'. Climate envelope models indicate the direction of likely range changes but do not incorporate population dynamics, therefore observed responses may differ greatly from these projections. We use simulation modelling to explore the consequences of a period of environmental change for a species structured across an environmental gradient. Results indicate that a species' range may lag behind its climate envelope and demonstrate that the rate of movement of a range can accelerate during a period of climate change. We conclude that the inclusion of both population dynamics and spatial environmental variability is vital to develop models that can both predict, and be used to manage, the impact of changing climate on species' biogeography.} -} - -@article{mustinRedNoiseIncreases2013, - title = {Red Noise Increases Extinction Risk during Rapid Climate Change}, - author = {Mustin, Karen and Dytham, Calvin and Benton, Tim G. and Travis, Justin M. J.}, - year = {2013}, - journal = {Diversity and Distributions}, - volume = {19}, - number = {7}, - pages = {815--824}, - issn = {1472-4642}, - doi = {10.1111/ddi.12038}, - abstract = {Aim As the global climate is changing rapidly, there is a need to make conservation decisions to facilitate species' persistence under climate change. Models employed to make predictions regarding the impacts of climate change on species' distributions, and ultimately persistence, typically assume that interannual variability in environmental conditions is independent between years. However, the colour of environmental noise has been shown to affect extinction risk in populations occupying spatially static environments, and should therefore affect persistence during climate change. This study aims to investigate the importance of noise colour for extinction risk during climate-induced range shifts. Methods We use a spatially explicit coupled map lattice with a latitudinal gradient in climatic suitability, together with time series of environmental noise, to simulate periods of directional climate change and investigate the effects of noise colour on extinction risk and range size. Results Extinction risk increases with reddening of the environmental noise, and this effect is particularly pronounced over short time frames when climate change is rapid. Main conclusions Given that management decisions are typically made over such short time frames, and the rapid rates of climate change currently being experienced, we highlight the importance of incorporating realistic time series of environmental noise into models used for conservation planning under climate change.}, - langid = {english}, - keywords = {Climate change,colour,environmental noise,extinction risk,range shifting,spatial population dynamics}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ddi.12038}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\CSU2RWSB\\Mustin et al. - 2013 - Red noise increases extinction risk during rapid c.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\W7EQWYA9\\ddi.html} -} - -@article{nathanDispersalKernelsReview2012, - title = {Dispersal Kernels: Review. {{Chapter}} 15}, - shorttitle = {Dispersal Kernels}, - author = {Nathan, Ran and Klein, Etienne and {Robledo-Anuncio}, J.J. and Revilla, Eloy}, - year = {2012}, - month = jan, - journal = {Dispersal Ecology and Evolution}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\9NC3YWW6\\Nathan et al. - 2012 - Dispersal kernels review. Chapter 15.pdf} -} - -@article{nathanMovementEcologyParadigm2008a, - title = {A Movement Ecology Paradigm for Unifying Organismal Movement Research}, - author = {Nathan, Ran and Getz, Wayne M. and Revilla, Eloy and Holyoak, Marcel and Kadmon, Ronen and Saltz, David and Smouse, Peter E.}, - year = {2008}, - month = dec, - journal = {Proceedings of the National Academy of Sciences}, - volume = {105}, - number = {49}, - pages = {19052--19059}, - publisher = {{National Academy of Sciences}}, - issn = {0027-8424, 1091-6490}, - doi = {10.1073/pnas.0800375105}, - abstract = {Movement of individual organisms is fundamental to life, quilting our planet in a rich tapestry of phenomena with diverse implications for ecosystems and humans. Movement research is both plentiful and insightful, and recent methodological advances facilitate obtaining a detailed view of individual movement. Yet, we lack a general unifying paradigm, derived from first principles, which can place movement studies within a common context and advance the development of a mature scientific discipline. This introductory article to the Movement Ecology Special Feature proposes a paradigm that integrates conceptual, theoretical, methodological, and empirical frameworks for studying movement of all organisms, from microbes to trees to elephants. We introduce a conceptual framework depicting the interplay among four basic mechanistic components of organismal movement: the internal state (why move?), motion (how to move?), and navigation (when and where to move?) capacities of the individual and the external factors affecting movement. We demonstrate how the proposed framework aids the study of various taxa and movement types; promotes the formulation of hypotheses about movement; and complements existing biomechanical, cognitive, random, and optimality paradigms of movement. The proposed framework integrates eclectic research on movement into a structured paradigm and aims at providing a basis for hypothesis generation and a vehicle facilitating the understanding of the causes, mechanisms, and spatiotemporal patterns of movement and their role in various ecological and evolutionary processes. ''Now we must consider in general the common reason for moving with any movement whatever.`` (Aristotle, De Motu Animalium, 4th century B.C.)}, - chapter = {Perspective}, - copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, - langid = {english}, - pmid = {19060196}, - keywords = {dispersal,foraging,migration,motion capacity,navigation capacity}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\A9QGRRWW\\Nathan et al. - 2008 - A movement ecology paradigm for unifying organisma.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\63VHJ7ZD\\19052.html} -} - -@article{nathanSpreadNorthAmerican2011, - title = {Spread of {{North American}} Wind-dispersed Trees in Future Environments}, - author = {Nathan, R. and Horvitz, N and He, Y and Kuparinen, A and Schurr, F. M. and Katul, G. G.}, - year = {2011}, - journal = {Ecology Letters}, - number = {14}, - pages = {211--219}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\TLLVVDB3\\j.1461-0248.2010.01573.html} -} - -@article{neubertDensitydependentVitalRates2000, - title = {Density-Dependent Vital Rates and Their Population Dynamic Consequences}, - author = {Neubert, M. G. and Caswell, H. C.}, - year = {2000}, - month = aug, - journal = {Journal of Mathematical Biology}, - volume = {41}, - number = {2}, - pages = {103--121}, - issn = {0303-6812}, - doi = {10.1007/s002850070001}, - abstract = {We explore a set of simple, nonlinear, two-stage models that allow us to compare the effects of density dependence on population dynamics among different kinds of life cycles. We characterize the behavior of these models in terms of their equilibria, bifurcations. and nonlinear dynamics, for a wide range of parameters. Our analyses lead to several generalizations about the effects of life history and density dependence on population dynamics. Among these are: (1) iteroparous life histories are more likely to be stable than semelparous life histories; (2) an increase in juvenile survivorship tends to be stabilizing; (3) density-dependent adult survival cannot control population growth when reproductive output is high: (4) density-dependent reproduction is more likely to cause chaotic dynamics than density dependence in other vital rates; and (5) changes in development rate have only small effects on bifurcation patterns.}, - langid = {english}, - pmid = {11039693}, - keywords = {Animals,Birds,Fishes,Humans,Insecta,Mammals,Models; Biological,Numerical Analysis; Computer-Assisted,Plant Development,Population Density,Population Dynamics} -} - -@article{norbergEcoevolutionaryResponsesBiodiversity2012, - title = {Eco-Evolutionary Responses of Biodiversity to Climate Change}, - author = {Norberg, Jon and Urban, Mark C. and Vellend, Mark and Klausmeier, Christopher A. and Loeuille, Nicolas}, - year = {2012}, - month = oct, - journal = {Nature Climate Change}, - volume = {2}, - number = {10}, - pages = {747--751}, - publisher = {{Nature Publishing Group}}, - issn = {1758-6798}, - doi = {10.1038/nclimate1588}, - abstract = {This study describes the development of a multi-species model used to explore the integrated eco-evolutionary responses to climate change. The results should help to understand and predict the responses of biological diversity, ecosystems, and ecological services to changing climate.}, - copyright = {2012 Nature Publishing Group}, - langid = {english}, - annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research Subject\_term: Biodiversity;Climate change;Evolutionary ecology Subject\_term\_id: biodiversity;climate-change;evolutionary-ecology}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\YGNYRLK5\\nclimate1588.html} -} - -@article{northEvolutionaryResponsesDispersal2011, - title = {Evolutionary Responses of Dispersal Distance to Landscape Structure and Habitat Loss}, - author = {North, Ace and Cornell, Stephen and Ovaskainen, Otso}, - year = {2011}, - month = jun, - journal = {Evolution; International Journal of Organic Evolution}, - volume = {65}, - number = {6}, - pages = {1739--1751}, - issn = {1558-5646}, - doi = {10.1111/j.1558-5646.2011.01254.x}, - abstract = {It is generally well understood that some ecological factors select for increased and others for decreased dispersal. However, it has remained difficult to assess how the evolutionary dynamics are influenced by the spatio-temporal structure of the environment. We address this question with an individual-based model that enables habitat structure to be controlled through variables such as patch size, patch turnover rate, and patch quality. Increasing patch size at the expense of patch density can select for more or less dispersal, depending on the initial configuration. In landscapes consisting of high-quality and long-lived habitat patches, patch degradation selects for increased dispersal, yet patch loss may select for reduced dispersal. These trends do not depend on the component of life-history that is affected by habitat quality or the component of life-history through which density-dependence operates. Our results are based on a mathematical method that enables derivation of both the evolutionary stable strategy and the stationary genotype distribution that evolves in a polymorphic population. The two approaches generally lead to similar predictions. However, the evolutionary stable strategy assumes that the ecological and evolutionary time scales can be separated, and we find that violation of this assumption can critically alter the evolutionary outcome.}, - langid = {english}, - pmid = {21644960}, - keywords = {Biological Evolution,Ecosystem,Logistic Models,Models; Biological,Mutation,Polymorphism; Genetic,Population Dynamics,Selection; Genetic}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\AWCPHKBY\\North et al. - 2011 - Evolutionary responses of dispersal distance to la.pdf} -} - -@article{okamotoFrameworkHighthroughputEcoevolutionary2018, - title = {A Framework for High-Throughput Eco-Evolutionary Simulations Integrating Multilocus Forward-Time Population Genetics and Community Ecology}, - author = {Okamoto, Kenichi W. and Amarasekare, Priyanga}, - year = {2018}, - journal = {Methods in Ecology and Evolution}, - volume = {9}, - number = {3}, - pages = {525--534}, - issn = {2041-210X}, - doi = {10.1111/2041-210X.12889}, - abstract = {The evolutionary dynamics of quantitative traits in a species depends on demographic structure (e.g. age- and size-dependent vital rates, migration across subpopulations, mate preferences, and the presence or absence of overlapping generations), which in turn can depend on interspecific interactions with other evolving species. Furthermore, biologists increasingly appreciate that evolutionary change in a single species can substantively affect broader ecological processes, such as community assembly and ecosystem functioning. Models integrating insights from classical population and quantitative genetics, on the one hand, and community ecology theory, on the other, are therefore critical to elucidating the interplay between ecological and evolutionary processes. However, few modelling approaches integrate ecological and genetic details into a comprehensive framework. Such models are needed to account for the reciprocal feedback between evolutionary change and ecological dynamics, and develop effective responses to anthropogenic disturbances on natural communities, improve agricultural practices and manage global health risks such as emerging pathogens. Here we introduce an open-source, multi-species forward-time population genetics simulator and framework for rapidly simulating eco-evolutionary dynamics. Our approach permits building models that can account for alternative genetic architectures, non-standard population dynamics and demographic structures, including those driven by interspecific interactions with other evolving species and the spatial dynamics of metacommunities. By integrating these processes into a common framework, we aim to facilitate the development of models that can further elucidate eco-evolutionary dynamics. While multi-species, forward-time population genetic models can be computationally expensive, we show how our framework leverages relatively economical graphics cards installed in modern desktops. We illustrate the versatility and general applicability of our approach for two very different case studies: antagonistic coevolution in space, and the evolution of life-history traits in response to resource dynamics in physiologically structured populations. We find that our analyses can run up to c. 200 times faster on a single commodity graphics card than on a single CPU core, comparable to the performance gains on small-to-medium sized computer clusters. Our approach therefore substantively reduces implementation difficulties to integrating ecological and evolutionary theory.}, - langid = {english}, - keywords = {community ecology,cuda,eco-evolutionary dynamics,forward-time population genetics models,individual-based models,parallel computing}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.12889}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\TMSBSGVN\\Okamoto und Amarasekare - 2018 - A framework for high-throughput eco-evolutionary s.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\3BIUZ9BL\\2041-210X.html} -} - -@article{oldenContextdependentPerceptualRanges2004, - title = {Context-Dependent Perceptual Ranges and Their Relevance to Animal Movements in Landscapes}, - author = {Olden, Julian D. and Schooley, Robert L. and Monroe, Jeremy B. and Poff, N. Leroy}, - year = {2004}, - journal = {Journal of Animal Ecology}, - volume = {73}, - number = {6}, - pages = {1190--1194}, - issn = {1365-2656}, - doi = {10.1111/j.0021-8790.2004.00889.x}, - abstract = {1 An animal's perceptual range defines the spatial extent of the landscape for which information is available to make movement decisions. Ecologists studying and modelling animal dispersal have commonly assumed that individual movements arise from a predefined set of local decision rules operating within a static isotropic (i.e. circular) perceptual range. 2 We discuss how this assumption fails to recognize the potential for plasticity in perceptual ranges and present a conceptual model that illustrates how anisotropic perceptual ranges can arise from animal orientation to environmental stimuli. 3 Using model simulations we show how perceptual distance (i.e. greatest Euclidean distance at which habitat patches can be perceived), horizon (i.e. panoramic view or angular degrees of the landscape perceived) and breadth (i.e. areal extent of the landscape perceived), change as a function of increased strength of a hypothetical stimuli. 4 Our results show that anisotropic perceptual ranges can differ substantially from traditional, isotropic perceptual ranges in all three aspects depending on the strength of the stimuli and nature in which it interacts with other elements of the landscape. 5 We highlight the implications of these findings for modelling animal movements in ecological landscapes with the hope that context-dependent perceptual ranges are considered in future studies.}, - langid = {english}, - keywords = {anisotropic,behaviour,connectivity,isotropic,orientation,patch context}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8790.2004.00889.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\QFFEYIVB\\Olden et al. - 2004 - Context-dependent perceptual ranges and their rele.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\ADLCYEJ2\\j.0021-8790.2004.00889.html} -} - -@article{opdamClimateChangeMeets2004, - title = {Climate Change Meets Habitat Fragmentation: Linking Landscape and Biogeographical Scale Levels in Research and Conservation}, - shorttitle = {Climate Change Meets Habitat Fragmentation}, - author = {Opdam, Paul and Wascher, Dirk}, - year = {2004}, - month = may, - journal = {Biological Conservation}, - volume = {117}, - number = {3}, - pages = {285--297}, - issn = {0006-3207}, - doi = {10.1016/j.biocon.2003.12.008}, - abstract = {Climate change and habitat fragmentation are considered key pressures on biodiversity. In this paper we explore the potential synergetic effects between these factors. We argue that processes at two levels of spatial scale interact: the metapopulation level and the species range level. Current concepts of spatially dynamic metapopulations and species ranges are consistent, and integration improves our understanding of the interaction of landscape level and geographical range level processes. In landscape zones in which the degree of habitat fragmentation allows persistence, the shifting of ranges is inhibited, but not blocked. In areas where the spatial cohesion of the habitat is below the critical level of metapopulation persistence, the expansion of ranges will be blocked. An increased frequency of large-scale disturbances caused by extreme weather events will cause increasing gaps and an overall contraction of the distribution range, particularly in areas with relatively low levels of spatial cohesion. Taking into account the effects of climate change on metapopulations, habitat distribution and land use changes, future biodiversity research and conservation strategies are facing the challenge to re-orient their focus and scope by integrating spatially and conceptually more dynamic aspects at the landscape level.}, - langid = {english}, - keywords = {Climate change,Geographical range,Habitat fragmentation,Habitat network,Metapopulation dynamics}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\QRBYM366\\Opdam und Wascher - 2004 - Climate change meets habitat fragmentation linkin.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PPS5IQ8F\\S0006320703004890.html} -} - -@article{ovaskainenBiasedMovementBoundary2003, - title = {Biased {{Movement}} at a {{Boundary}} and {{Conditional Occupancy Times}} for {{Diffusion Processes}}}, - author = {Ovaskainen, Otso and Cornell, Stephen J.}, - year = {2003}, - journal = {Journal of Applied Probability}, - volume = {40}, - number = {3}, - pages = {557--580}, - publisher = {{Applied Probability Trust}}, - issn = {0021-9002}, - abstract = {Motivated by edge behaviour reported for biological organisms, we show that random walks with a bias at a boundary lead to a discontinuous probability density across the boundary. We continue by studying more general diffusion processes with such a discontinuity across an interior boundary. We show how hitting probabilities, occupancy times and conditional occupancy times may be solved from problems that are adjoint to the original diffusion problem. We highlight our results with a biologically motivated example, where we analyze the movement behaviour of an individual in a network of habitat patches surrounded by dispersal habitat.} -} - -@article{ovaskainenEmpiricalTestDiffusion2008, - title = {An Empirical Test of a Diffusion Model: Predicting Clouded Apollo Movements in a Novel Environment}, - shorttitle = {An Empirical Test of a Diffusion Model}, - author = {Ovaskainen, Otso and Luoto, Miska and Ikonen, Iiro and Rekola, Hanna and Meyke, Evgeniy and Kuussaari, Mikko}, - year = {2008}, - month = may, - journal = {The American Naturalist}, - volume = {171}, - number = {5}, - pages = {610--619}, - issn = {1537-5323}, - doi = {10.1086/587070}, - abstract = {Functional connectivity is a fundamental concept in conservation biology because it sets the level of migration and gene flow among local populations. However, functional connectivity is difficult to measure, largely because it is hard to acquire and analyze movement data from heterogeneous landscapes. Here we apply a Bayesian state-space framework to parameterize a diffusion-based movement model using capture-recapture data on the endangered clouded apollo butterfly. We test whether the model is able to disentangle the inherent movement behavior of the species from landscape structure and sampling artifacts, which is a necessity if the model is to be used to examine how movements depend on landscape structure. We show that this is the case by demonstrating that the model, parameterized with data from a reference landscape, correctly predicts movements in a structurally different landscape. In particular, the model helps to explain why a movement corridor that was constructed as a management measure failed to increase movement among local populations. We illustrate how the parameterized model can be used to derive biologically relevant measures of functional connectivity, thus linking movement data with models of spatial population dynamics.}, - langid = {english}, - pmid = {18419523}, - keywords = {Algorithms,Animals,Bayes Theorem,Butterflies,Conservation of Natural Resources,Demography,Ecosystem,Finland,Models; Theoretical,Motor Activity,Population Dynamics} -} - -@article{ovaskainenHabitatSpecificMovementParameters2004, - title = {Habitat-{{Specific Movement Parameters Estimated Using Mark}}\textendash{{Recapture Data}} and a {{Diffusion Model}}}, - author = {Ovaskainen, Otso}, - year = {2004}, - journal = {Ecology}, - volume = {85}, - number = {1}, - pages = {242--257}, - issn = {1939-9170}, - doi = {10.1890/02-0706}, - abstract = {I describe a diffusion model aimed at the quantitative analysis of movement in heterogeneous landscapes. The model is based on classifying a landscape into a number of habitat types, which are assumed to differ from each other in terms of the movement behavior of the focal species. In addition to habitat-specific diffusion and mortality coefficients, the model accounts for edge-mediated behavior, meaning biased behavior close to boundaries between the habitat types. I illustrate the model with three examples. In the first example, I examine how the strength of edge-mediated behavior and the size of a habitat patch affect the probability that an individual will immigrate to a patch, the probability that an individual will emigrate from a patch, and the time that an individual is expected to spend in a patch. In the second example, I study how a dispersal corridor affects the probability that an individual will move through a landscape. In the third example, I estimate the movement parameters for a species of butterfly from mark\textendash recapture data. In the butterfly example, I classify the landscape into habitat patches, other open areas, and forests. Edge-mediated behavior is found to have a highly significant effect on the general dispersal pattern of the butterfly: the model predicts that the density of butterflies inside habitat patches is {$>$}100 times the density of butterflies in adjacent areas.}, - langid = {english}, - keywords = {butterflies,correlated random walk,diffusion model,dispersal corridor,edge-mediated behavior,habitat patch size,heterogeneous landscape,mark–recapture,Melitaea diamina,movement parameters}, - annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/02-0706}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ISFBXGBV\\Ovaskainen - 2004 - Habitat-Specific Movement Parameters Estimated Usi.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\IYFJ6IXN\\02-0706.html} -} - -@article{ovaskainenModelingAnimalMovement2009, - title = {{Modeling animal movement with diffusion}}, - author = {Ovaskainen, Otso and Crone, E. E.}, - year = {2009}, - journal = {Spatial Ecology}, - publisher = {{Chapman \& Hall / CRC}}, - langid = {finnish}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\GZEAIB96\\modeling-animal-movement-with-diffusion.html} -} - -@article{ovaskainenTrackingButterflyMovements2008, - title = {Tracking Butterfly Movements with Harmonic Radar Reveals an Effect of Population Age on Movement Distance}, - author = {Ovaskainen, Otso and Smith, Alan D. and Osborne, Juliet L. and Reynolds, Don R. and Carreck, Norman L. and Martin, Andrew P. and Niitep{\~o}ld, Kristjan and Hanski, Ilkka}, - year = {2008}, - month = dec, - journal = {Proceedings of the National Academy of Sciences}, - volume = {105}, - number = {49}, - pages = {19090--19095}, - publisher = {{National Academy of Sciences}}, - issn = {0027-8424, 1091-6490}, - doi = {10.1073/pnas.0802066105}, - abstract = {We used harmonic radar to track freely flying Glanville fritillary butterfly (Melitaea cinxia) females within an area of 30 ha. Butterflies originated from large and continuous populations in China and Estonia, and from newly established or old ({$>$} 5 years) small local populations in a highly fragmented landscape in Finland. Caterpillars were raised under common garden conditions and unmated females were tested soon after eclosion. The reconstructed flight paths for 66 individuals comprised a total distance of 51 km with high spatial resolution. Butterflies originating from large continuous populations and from old local populations in Finland exhibited similar movement behaviors, whereas butterflies originating from newly established local populations in the fragmented landscape in Finland moved significantly more than the others. There was no difference in the lengths of individual flight bouts, but the new-population females flew more frequently, resulting in longer daily movement tracks. The flight activity of all individuals was affected by environmental conditions, peaking at 19\textendash 23\textdegree C (depending on population type), in the early afternoon, and during calm weather. Butterflies from all population types showed a strong tendency to follow habitat edges between the open study area and the neighboring woodlands.}, - chapter = {Research Article}, - copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, - langid = {english}, - pmid = {19060191}, - keywords = {edge-following,evolution of dispersal,fight behavior,fragmented habitat,Glanville fritillary}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VTIJCXS8\\Ovaskainen et al. - 2008 - Tracking butterfly movements with harmonic radar r.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UKZANMR3\\19090.html} -} - -@article{pagelForecastingSpeciesRanges2012a, - title = {Forecasting Species Ranges by Statistical Estimation of Ecological Niches and Spatial Population Dynamics}, - author = {Pagel, J{\"o}rn and Schurr, Frank M.}, - year = {2012}, - journal = {Global Ecology and Biogeography}, - volume = {21}, - number = {2}, - pages = {293--304}, - issn = {1466-8238}, - doi = {10.1111/j.1466-8238.2011.00663.x}, - abstract = {Aim The study and prediction of species\textendash environment relationships is currently mainly based on species distribution models. These purely correlative models neglect spatial population dynamics and assume that species distributions are in equilibrium with their environment. This causes biased estimates of species niches and handicaps forecasts of range dynamics under environmental change. Here we aim to develop an approach that statistically estimates process-based models of range dynamics from data on species distributions and permits a more comprehensive quantification of forecast uncertainties. Innovation We present an approach for the statistical estimation of process-based dynamic range models (DRMs) that integrate Hutchinson's niche concept with spatial population dynamics. In a hierarchical Bayesian framework the environmental response of demographic rates, local population dynamics and dispersal are estimated conditional upon each other while accounting for various sources of uncertainty. The method thus: (1) jointly infers species niches and spatiotemporal population dynamics from occurrence and abundance data, and (2) provides fully probabilistic forecasts of future range dynamics under environmental change. In a simulation study, we investigate the performance of DRMs for a variety of scenarios that differ in both ecological dynamics and the data used for model estimation. Main conclusions Our results demonstrate the importance of considering dynamic aspects in the collection and analysis of biodiversity data. In combination with informative data, the presented framework has the potential to markedly improve the quantification of ecological niches, the process-based understanding of range dynamics and the forecasting of species responses to environmental change. It thereby strengthens links between biogeography, population biology and theoretical and applied ecology.}, - langid = {english}, - keywords = {Biogeography,ecological forecasts,global change,hierarchical Bayesian statistics,long-distance dispersal,niche theory,process-based model,range shifts,spatial demography,species distribution modelling}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2011.00663.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\4PCDDTAG\\Pagel und Schurr - 2012 - Forecasting species ranges by statistical estimati.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UAJ6JBTS\\j.1466-8238.2011.00663.html} -} - -@article{palmerInterindividualVariabilityDispersal2014, - title = {Inter-Individual Variability in Dispersal Behaviours Impacts Connectivity Estimates}, - author = {Palmer, Stephen C. F. and Coulon, Aur{\'e}lie and Travis, Justin M. J.}, - year = {2014}, - journal = {Oikos}, - volume = {123}, - number = {8}, - pages = {923--932}, - issn = {1600-0706}, - doi = {10.1111/oik.01248}, - abstract = {The importance of landscape connectivity in determining biodiversity outcomes under environmental change has led to indices of connectivity becoming amongst the most widely used measures in conservation. Thus, it is vital that our understanding of connectivity and our use of indices describing it are reliable. Dispersal is the key ecological process involved in determining connectivity, and there is increasing evidence of substantial within-population variability in dispersal behaviours. Here, we incorporate this inter-individual variability into two approaches for estimating connectivity, least cost path analysis and stochastic movement simulation. Illustrative results demonstrate that including dispersal variability can yield substantially different estimates of connectivity. While connectivity is typically similar between nearby patches, the frequency of movements between patches further apart is often substantially increased when inter-individual variability is included. Given the disproportionate role that unusual long-distance dispersal events play in spatial dynamics, connectivity indices should seek to incorporate variability in dispersal behaviour.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/oik.01248}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\V8T4KEHW\\Palmer et al. - 2014 - Inter-individual variability in dispersal behaviou.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\5U6B8LDI\\oik.html} -} - -@article{palmerIntroducingStochasticMovement2011, - title = {Introducing a `Stochastic Movement Simulator' for Estimating Habitat Connectivity}, - author = {Palmer, Stephen C. F. and Coulon, Aur{\'e}lie and Travis, Justin M. J.}, - year = {2011}, - journal = {Methods in Ecology and Evolution}, - volume = {2}, - number = {3}, - pages = {258--268}, - issn = {2041-210X}, - doi = {10.1111/j.2041-210X.2010.00073.x}, - abstract = {1. Estimating and improving landscape connectivity has become a key topic in conservation biology. While a range of connectivity indices exist and are widely used to inform spatial planning, they have potentially serious limitations. 2. We introduce a new method for modelling animals moving between habitat patches across a heterogeneous matrix. Our approach integrates features of least cost path analysis with stochastic movement modelling. Importantly, it relaxes assumptions that are implicit in the least cost path algorithm: our method does not assume omniscience nor does it assume that an individual has a planned destination when it leaves a habitat patch. The algorithm incorporates resistance values for matrix elements and parameters that relate to both perceptual range and to the degree of correlation in movement. By simulating sets of movements for individuals emigrating from habitat patches, relative connectivities between habitat patches are estimated. 3. Using an already published stylised landscape, we demonstrate that the connectivities estimated using our new method can differ considerably from those provided by structural methods and by least cost path analysis. Further, our results emphasise the sensitivity of the relative connectivities to an organism's perceptual range and the degree of correlation between movement steps. 4. We believe that using stochastic movement modelling can improve estimates of connectivity and also provide a method for determining how robust the indices derived from simpler methods are likely to be for different types of organisms.}, - langid = {english}, - keywords = {dispersal,habitat fragmentation,individual-based model,perceptual range}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2010.00073.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\EDWNZBEL\\Palmer et al. - 2011 - Introducing a â€stochastic movement simulator’ for .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\I7JJNEUN\\j.2041-210X.2010.00073.html} -} - -@article{parmesanGloballyCoherentFingerprint2003, - title = {A Globally Coherent Fingerprint of Climate Change Impacts across Natural Systems}, - author = {Parmesan, Camille and Yohe, Gary}, - year = {2003}, - month = jan, - journal = {Nature}, - volume = {421}, - number = {6918}, - pages = {37--42}, - publisher = {{Nature Publishing Group}}, - issn = {1476-4687}, - doi = {10.1038/nature01286}, - abstract = {Causal attribution of recent biological trends to climate change is complicated because non-climatic influences dominate local, short-term biological changes. Any underlying signal from climate change is likely to be revealed by analyses that seek systematic trends across diverse species and geographic regions; however, debates within the Intergovernmental Panel on Climate Change (IPCC) reveal several definitions of a `systematic trend'. Here, we explore these differences, apply diverse analyses to more than 1,700 species, and show that recent biological trends match climate change predictions. Global meta-analyses documented significant range shifts averaging 6.1\,km per decade towards the poles (or metres per decade upward), and significant mean advancement of spring events by 2.3 days per decade. We define a diagnostic fingerprint of temporal and spatial `sign-switching' responses uniquely predicted by twentieth century climate trends. Among appropriate long-term/large-scale/multi-species data sets, this diagnostic fingerprint was found for 279 species. This suite of analyses generates `very high confidence' (as laid down by the IPCC) that climate change is already affecting living systems.}, - copyright = {2003 Macmillan Magazines Ltd.}, - langid = {english}, - annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\6NY7WUQZ\\Parmesan und Yohe - 2003 - A globally coherent fingerprint of climate change .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\3CICWYLS\\nature01286.html} -} - -@article{parmesanPolewardShiftsGeographical1999, - title = {Poleward Shifts in Geographical Ranges of Butterfly Species Associated with Regional Warming}, - author = {Parmesan, Camille and Ryrholm, Nils and Stefanescu, Constant{\'i} and Hill, Jane K. and Thomas, Chris D. and Descimon, Henri and Huntley, Brian and Kaila, Lauri and Kullberg, Jaakko and Tammaru, Toomas and Tennent, W. John and Thomas, Jeremy A. and Warren, Martin}, - year = {1999}, - month = jun, - journal = {Nature}, - volume = {399}, - number = {6736}, - pages = {579--583}, - publisher = {{Nature Publishing Group}}, - issn = {1476-4687}, - doi = {10.1038/21181}, - abstract = {Mean global temperatures have risen this century, and further warming is predicted to continue for the next 50\textendash 100 years1,2,3. Some migratory species can respond rapidly to yearly climate variation by altering the timing or destination of migration4, but most wildlife is sedentary and so is incapable of such a rapid response. For these species, responses to the warming trend should be slower, reflected in poleward shifts of the range. Such changes in distribution would occur at the level of the population, stemming not from changes in the pattern of individuals' movements, but from changes in the ratios of extinctions to colonizations at the northern and southern boundaries of the range. A northward range shift therefore occurs when there is net extinction at the southern boundary or net colonization at the northern boundary. However, previous evidence has been limited to a single species5 or to only a portion of the species' range6,7. Here we provide the first large-scale evidence of poleward shifts in entire species' ranges. In a sample of 35 non-migratory European butterflies, 63\% have ranges that have shifted to the north by 35\textendash 240\,km during this century, and only 3\% have shifted to the south.}, - copyright = {1999 Macmillan Magazines Ltd.}, - langid = {english}, - annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\NQDYEF5R\\Parmesan et al. - 1999 - Poleward shifts in geographical ranges of butterfl.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\XSUEU8LT\\21181.html} -} - -@article{pattersonStateSpaceModels2008, - title = {State\textendash Space Models of Individual Animal Movement}, - author = {Patterson, Toby A. and Thomas, Len and Wilcox, Chris and Ovaskainen, Otso and Matthiopoulos, Jason}, - year = {2008}, - month = feb, - journal = {Trends in Ecology \& Evolution}, - volume = {23}, - number = {2}, - pages = {87--94}, - issn = {0169-5347}, - doi = {10.1016/j.tree.2007.10.009}, - abstract = {Detailed observation of the movement of individual animals offers the potential to understand spatial population processes as the ultimate consequence of individual behaviour, physiological constraints and fine-scale environmental influences. However, movement data from individuals are intrinsically stochastic and often subject to severe observation error. Linking such complex data to dynamical models of movement is a major challenge for animal ecology. Here, we review a statistical approach, state\textendash space modelling, which involves changing how we analyse movement data and draw inferences about the behaviours that shape it. The statistical robustness and predictive ability of state\textendash space models make them the most promising avenue towards a new type of movement ecology that fuses insights from the study of animal behaviour, biogeography and spatial population dynamics.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\CISHUFMZ\\S0169534707003588.html} -} - -@article{pearsonPredictingImpactsClimate2003, - title = {Predicting the Impacts of Climate Change on the Distribution of Species: Are Bioclimate Envelope Models Useful?}, - shorttitle = {Predicting the Impacts of Climate Change on the Distribution of Species}, - author = {Pearson, Richard G. and Dawson, Terence P.}, - year = {2003}, - journal = {Global Ecology and Biogeography}, - volume = {12}, - number = {5}, - pages = {361--371}, - issn = {1466-8238}, - doi = {10.1046/j.1466-822X.2003.00042.x}, - abstract = {Modelling strategies for predicting the potential impacts of climate change on the natural distribution of species have often focused on the characterization of a species' bioclimate envelope. A number of recent critiques have questioned the validity of this approach by pointing to the many factors other than climate that play an important part in determining species distributions and the dynamics of distribution changes. Such factors include biotic interactions, evolutionary change and dispersal ability. This paper reviews and evaluates criticisms of bioclimate envelope models and discusses the implications of these criticisms for the different modelling strategies employed. It is proposed that, although the complexity of the natural system presents fundamental limits to predictive modelling, the bioclimate envelope approach can provide a useful first approximation as to the potentially dramatic impact of climate change on biodiversity. However, it is stressed that the spatial scale at which these models are applied is of fundamental importance, and that model results should not be interpreted without due consideration of the limitations involved. A hierarchical modelling framework is proposed through which some of these limitations can be addressed within a broader, scale-dependent context.}, - langid = {english}, - keywords = {bioclimate envelope,climate change,climate space,ecological modelling,ecological niche,hierarchy,scale}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1466-822X.2003.00042.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\CLWUT8UI\\Pearson und Dawson - 2003 - Predicting the impacts of climate change on the di.pdf} -} - -@article{peerBreakingFunctionalConnectivity2011, - title = {Breaking {{Functional Connectivity}} into {{Components}}: {{A Novel Approach Using}} an {{Individual-Based Model}}, and {{First Outcomes}}}, - shorttitle = {Breaking {{Functional Connectivity}} into {{Components}}}, - author = {Pe'er, Guy and Henle, Klaus and Dislich, Claudia and Frank, Karin}, - year = {2011}, - month = aug, - journal = {PLOS ONE}, - volume = {6}, - number = {8}, - pages = {e22355}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0022355}, - abstract = {Landscape connectivity is a key factor determining the viability of populations in fragmented landscapes. Predicting `functional connectivity', namely whether a patch or a landscape functions as connected from the perspective of a focal species, poses various challenges. First, empirical data on the movement behaviour of species is often scarce. Second, animal-landscape interactions are bound to yield complex patterns. Lastly, functional connectivity involves various components that are rarely assessed separately. We introduce the spatially explicit, individual-based model FunCon as means to distinguish between components of functional connectivity and to assess how each of them affects the sensitivity of species and communities to landscape structures. We then present the results of exploratory simulations over six landscapes of different fragmentation levels and across a range of hypothetical bird species that differ in their response to habitat edges. i) Our results demonstrate that estimations of functional connectivity depend not only on the response of species to edges (avoidance versus penetration into the matrix), the movement mode investigated (home range movements versus dispersal), and the way in which the matrix is being crossed (random walk versus gap crossing), but also on the choice of connectivity measure (in this case, the model output examined). ii) We further show a strong effect of the mortality scenario applied, indicating that movement decisions that do not fully match the mortality risks are likely to reduce connectivity and enhance sensitivity to fragmentation. iii) Despite these complexities, some consistent patterns emerged. For instance, the ranking order of landscapes in terms of functional connectivity was mostly consistent across the entire range of hypothetical species, indicating that simple landscape indices can potentially serve as valuable surrogates for functional connectivity. Yet such simplifications must be carefully evaluated in terms of the components of functional connectivity they actually predict.}, - langid = {english}, - keywords = {Animal behavior,Birds,Community structure,Forests,Habitats,Random walk,Simulation and modeling,Statistical dispersion}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\RXZJNWG8\\Pe'er et al. - 2011 - Breaking Functional Connectivity into Components .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\INFAXPUX\\article.html} -} - -@article{peerIncorporatingPerceptualRange2008, - title = {Incorporating the Perceptual Range of Animals into Connectivity Models}, - author = {Pe'er, Guy and {Kramer-Schadt}, Stephanie}, - year = {2008}, - month = apr, - journal = {Ecological Modelling}, - volume = {213}, - number = {1}, - pages = {73--85}, - issn = {0304-3800}, - doi = {10.1016/j.ecolmodel.2007.11.020}, - abstract = {The perceptual range of an animal towards different landscape elements affects its movements through heterogeneous landscapes. However, empirical knowledge and modeling tools are lacking to assess the consequences of variation in the perceptual range for movement patterns and connectivity. In this study we tested how changes in the assumed perception of different landscape elements affect the outcomes of a connectivity model. We used an existing individual-based, spatially explicit model for the dispersal of Eurasian lynx (Lynx lynx). We systematically altered the perceptual range in which animals recognize forest fragments, water bodies or cities, as well as the probability that they respond to these landscape elements. Overall, increasing the perceptual range of the animals enhanced connectivity substantially, both qualitatively and quantitatively. An enhanced range of attraction to forests had the strongest impact, doubling immigration success; an enhanced range of attraction to rivers had a slightly lower impact; and an enhanced range of avoidance of cities had the lowest impact. Correcting the enhancement in connectivity by the abundance of each of the landscape elements in question reversed the results, indicating the potential sensitivity of connectivity models to rare landscape elements (in our case barriers such as cities). Qualitatively, the enhanced perception resulted in strong changes in movement patterns and connectivity. Furthermore, model results were highly parameter-specific and patch-specific. These results emphasize the need for further empirical research on the perceptual capabilities of different animals in different landscapes and conditions. They further indicate the usefulness of spatially explicit individual-based simulation models for recognizing consistent patterns that emerge, despite uncertainty regarding animals' movement behavior. Altogether, this study demonstrates the need to extend the concept of `perceptual ranges' beyond patch detection processes, to encompass the wide range of elements that can direct animal movements during dispersal through heterogeneous landscapes.}, - langid = {english}, - keywords = {Connectivity,Directing stimuli,Dispersal,Eurasian lynx,Heuristic model,Individual-based spatially explicit model,Movement decisions,Perceptual range,Spatial gradients,Spatial heterogeneity}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\R4A28CIL\\S0304380007006199.html} -} - -@article{peerSimpleProcessBasedSimulators2013, - title = {Simple {{Process-Based Simulators}} for {{Generating Spatial Patterns}} of {{Habitat Loss}} and {{Fragmentation}}: {{A Review}} and {{Introduction}} to the {{G-RaFFe Model}}}, - shorttitle = {Simple {{Process-Based Simulators}} for {{Generating Spatial Patterns}} of {{Habitat Loss}} and {{Fragmentation}}}, - author = {Pe'er, Guy and Zurita, Gustavo A. and Schober, Lucia and Bellocq, Maria I. and Strer, Maximilian and M{\"u}ller, Michael and P{\"u}tz, Sandro}, - year = {2013}, - month = may, - journal = {PLOS ONE}, - volume = {8}, - number = {5}, - pages = {e64968}, - publisher = {{Public Library of Science}}, - issn = {1932-6203}, - doi = {10.1371/journal.pone.0064968}, - abstract = {Landscape simulators are widely applied in landscape ecology for generating landscape patterns. These models can be divided into two categories: pattern-based models that generate spatial patterns irrespective of the processes that shape them, and process-based models that attempt to generate patterns based on the processes that shape them. The latter often tend toward complexity in an attempt to obtain high predictive precision, but are rarely used for generic or theoretical purposes. Here we show that a simple process-based simulator can generate a variety of spatial patterns including realistic ones, typifying landscapes fragmented by anthropogenic activities. The model ``G-RaFFe'' generates roads and fields to reproduce the processes in which forests are converted into arable lands. For a selected level of habitat cover, three factors dominate its outcomes: the number of roads (accessibility), maximum field size (accounting for land ownership patterns), and maximum field disconnection (which enables field to be detached from roads). We compared the performance of G-RaFFe to three other models: Simmap (neutral model), Qrule (fractal-based) and Dinamica EGO (with 4 model versions differing in complexity). A PCA-based analysis indicated G-RaFFe and Dinamica version 4 (most complex) to perform best in matching realistic spatial patterns, but an alternative analysis which considers model variability identified G-RaFFe and Qrule as performing best. We also found model performance to be affected by habitat cover and the actual land-uses, the latter reflecting on land ownership patterns. We suggest that simple process-based generators such as G-RaFFe can be used to generate spatial patterns as templates for theoretical analyses, as well as for gaining better understanding of the relation between spatial processes and patterns. We suggest caution in applying neutral or fractal-based approaches, since spatial patterns that typify anthropogenic landscapes are often non-fractal in nature.}, - langid = {english}, - keywords = {Farms,Forests,Habitats,Land use,Principal component analysis,Regression analysis,Roads,Trees}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\YDCNGWDB\\Pe'er et al. - 2013 - Simple Process-Based Simulators for Generating Spa.pdf} -} - -@article{perrinDispersalInbreedingAvoidance1999, - title = {Dispersal and {{Inbreeding Avoidance}}}, - author = {Perrin, Nicolas and Mazalov, Vladimir}, - year = {1999}, - month = sep, - journal = {The American Naturalist}, - volume = {154}, - number = {3}, - pages = {282--292}, - issn = {1537-5323}, - doi = {10.1086/303236}, - abstract = {Using a game-theoretical approach, we investigate the dispersal patterns expected if inbreeding avoidance were the only reason for dispersal. The evolutionary outcome is always complete philopatry by one sex. The rate of dispersal by the other sex depends on patch size and mating system, as well as inbreeding and dispersal costs. If such costs are sex independent, then two stable equilibria coexist (male or female philopatry), with symmetric domains of attraction. Which sex disperses is determined entirely by history, genetic drift, and gene flow. An asymmetry in costs makes one domain of attraction extend at the expense of the other. In such a case, the dispersing sex might also be, paradoxically, the one that incurs the higher dispersal costs. As asymmetry increases, one equilibrium eventually disappears, which may result in a sudden evolutionary shift in the identity of the dispersing sex. Our results underline the necessity to control for phylogenetic relationships (e.g., through the use of independent-comparisons methods) when investigating empirical trends in dispersal. Our model also makes quantitative predictions on the rate of dispersal by the dispersing sex and suggests that inbreeding avoidance may only rarely be the sole reason for dispersal.}, - langid = {english}, - pmid = {10506544}, - keywords = {evolutionarily stable strategy,mating systems,polygyny,sexâ€biased dispersal} -} - -@article{perrinLocalCompetitionInbreeding2000, - title = {Local {{Competition}}, {{Inbreeding}}, and the {{Evolution}} of {{Sex-Biased Dispersal}}}, - author = {Perrin, Nicolas and Mazalov, Vladimir}, - year = {2000}, - month = jan, - journal = {The American Naturalist}, - volume = {155}, - number = {1}, - pages = {116--127}, - issn = {1537-5323}, - doi = {10.1086/303296}, - abstract = {Using game theory, we developed a kin-selection model to investigate the consequences of local competition and inbreeding depression on the evolution of natal dispersal. Mating systems have the potential to favor strong sex biases in dispersal because sex differences in potential reproductive success affect the balance between local resource competition and local mate competition. No bias is expected when local competition equally affects males and females, as happens in monogamous systems and also in polygynous or promiscuous ones as long as female fitness is limited by extrinsic factors (breeding resources). In contrast, a male-biased dispersal is predicted when local mate competition exceeds local resource competition, as happens under polygyny/promiscuity when female fitness is limited by intrinsic factors (maximal rate of processing resources rather than resources themselves). This bias is reinforced by among-sex interactions: female philopatry enhances breeding opportunities for related males, while male dispersal decreases the chances that related females will inbreed. These results meet empirical patterns in mammals: polygynous/promiscuous species usually display a male-biased dispersal, while both sexes disperse in monogamous species. A parallel is drawn with sex-ratio theory, which also predicts biases toward the sex that suffers less from local competition. Optimal sex ratios and optimal sex-specific dispersal show mutual dependence, which argues for the development of coevolution models.}, - langid = {english}, - pmid = {10657181}, - keywords = {kin selection,local mate competition,local resource competition,mating systems,potential reproductive rate} -} - -@article{petitSurveyColumnarCacti1996, - title = {Survey of {{Columnar Cacti}} and {{Carrying Capacity}} for {{Nectar-Feeding Bats}} on {{Curacao}}}, - author = {Petit, Sophie and Pors, Leon}, - year = {1996}, - journal = {Conservation Biology}, - volume = {10}, - number = {3}, - pages = {769--775}, - publisher = {{[Wiley, Society for Conservation Biology]}}, - issn = {0888-8892}, - abstract = {We estimated the population sizes of the three species of columnar cacti that grow on the island of Curacao using ground and aerial transects, and we examined the island's carrying capacity for two species of nectar-feeding bats that depend on nectar from the flowers of these cacti. We calculated carrying capacity based on the daily availability of mature flowers between January and December 1993 and the field energy requirements of bats as estimated from an equation for eutherian mammals (low estimate) and one for passerine birds (high estimate) based on body mass. Additional energy requirements of pregnancy and lactation were taken into account. We estimated that 461,172 columnar cacti were present on Curacao (38\% Subpilocereus repandus, 51\% Stenocereus griseus, and 11\% Pilosocereus lanuginosus). May through September are the critical months when bats rely most heavily on cactus for food. July 1993 was a bottleneck with the smallest number of mature flowers per day. July and August were months of greatest energy demand because females were lactating. We estimate that the carrying capacity for Glossophaga longirostris in July, when the bat (Leptonycteris curasoae) population was 900, was near 1200, an estimate that fits the observed population size of nectar-feeding bats on the island. We suggest that the extensive removal of native vegetation occurring on Curacao be strictly regulated because further destruction of the cacti will result in a decrease and potential loss of the already low populations of nectar-feeding bats.} -} - -@article{phillipsLifehistoryEvolutionRangeshifting2010a, - title = {Life-History Evolution in Range-Shifting Populations}, - author = {Phillips, Benjamin L. and Brown, Gregory P. and Shine, Richard}, - year = {2010}, - journal = {Ecology}, - volume = {91}, - number = {6}, - pages = {1617--1627}, - issn = {1939-9170}, - doi = {10.1890/09-0910.1}, - abstract = {Most evolutionary theory does not deal with populations expanding or contracting in space. Invasive species, climate change, epidemics, and the breakdown of dispersal barriers, however, all create populations in this kind of spatial disequilibrium. Importantly, spatial disequilibrium can have important ecological and evolutionary outcomes. During continuous range expansion, for example, populations on the expanding front experience novel evolutionary pressures because frontal populations are assorted by dispersal ability and have a lower density of conspecifics than do core populations. These conditions favor the evolution of traits that increase rates of dispersal and reproduction. Additionally, lowered density on the expanding front eventually frees populations on the expanding edge from specialist, coevolved enemies, permitting higher investment into traits associated with dispersal and reproduction rather than defense against pathogens. As a result, the process of range expansion drives rapid life-history evolution, and this seems to occur despite ongoing serial founder events that have complex effects on genetic diversity at the expanding front. Traits evolving on the expanding edge are smeared across the landscape as the front moves through, leaving an ephemeral signature of range expansion in the life-history traits of a species across its newly colonized range. Recent studies suggest that such nonequilibrium processes during recent population history may have contributed to many patterns usually ascribed to evolutionary forces acting in populations at spatial equilibrium.}, - langid = {english}, - keywords = {climate change,contemporary evolution,defense allocation,density dependence,dispersal rate,enemy escape,genotype “smearing”,nonequilibrium processes,range shift,rapid life-history evolution,reproductive rate}, - annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/09-0910.1}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\P576JEPR\\Phillips et al. - 2010 - Life-history evolution in range-shifting populatio.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\WU9FHHYS\\09-0910.html} -} - -@article{phillipsRangeShiftPromotes2012, - title = {Range Shift Promotes the Formation of Stable Range Edges}, - author = {Phillips, Ben L.}, - year = {2012}, - journal = {Journal of Biogeography}, - volume = {39}, - number = {1}, - pages = {153--161}, - issn = {1365-2699}, - doi = {10.1111/j.1365-2699.2011.02597.x}, - abstract = {Aim I investigate the counter-intuitive possibility that range shift promotes the formation of stable range edges. This might be expected because: (1) range-shifting populations typically evolve increased dispersal on the expanding range edge; (2) increased dispersal steepens the relative slope of environmental gradients (gradients appear steeper to a more dispersive population); and (3) environmental gradients that are steep relative to dispersal encourage the formation of stable range edges (when gradients appear steep, adaptation on the range edge is swamped by maladapted genes). Methods I test the idea that populations take longer to evolve across an environmental gradient when those populations have already undergone a period of spread. I do this using an individual-based coupled map lattice simulation, in which individuals carry heritable traits for dispersal probability and environment-specific fitness. Results Numerous simulations across parameter space confirm that a period of range shift almost always results in a longer time to evolve through an environmental gradient. This occurs because of both the mechanism described above and the erosion of adaptive variation resulting from the serial foundering that occurs during range advance. Main conclusions This result suggests that species may often shift their range due to intrinsic changes in the population rather than extrinsic changes in the environment. The result also suggests a new mechanism regulating the speed of invasion, and sounds a cautionary note for climate change impacts: the longer a species tracks climate change, the less able it may be to track that change into the future.}, - langid = {english}, - keywords = {Dispersal,ecological gradient,evolution,range edge,range shift,simulation modelling}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2011.02597.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\H7X4DWWC\\Phillips - 2012 - Range shift promotes the formation of stable range.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\45UCVE34\\j.1365-2699.2011.02597.html} -} - -@article{phillipsReidParadoxRevisited2008a, - title = {Reid's Paradox Revisited: The Evolution of Dispersal Kernels during Range Expansion}, - shorttitle = {Reid's Paradox Revisited}, - author = {Phillips, Benjamin L. and Brown, Gregory P. and Travis, Justin M. J. and Shine, Richard}, - year = {2008}, - month = jul, - journal = {The American Naturalist}, - volume = {172 Suppl 1}, - pages = {S34-48}, - issn = {1537-5323}, - doi = {10.1086/588255}, - abstract = {Current approaches to modeling range advance assume that the distribution describing dispersal distances in the population (the "dispersal kernel") is a static entity. We argue here that dispersal kernels are in fact highly dynamic during periods of range advance because density effects and spatial assortment by dispersal ability ("spatial selection") drive the evolution of increased dispersal on the expanding front. Using a spatially explicit individual-based model, we demonstrate this effect under a wide variety of population growth rates and dispersal costs. We then test the possibility of an evolved shift in dispersal kernels by measuring dispersal rates in individual cane toads (Bufo marinus) from invasive populations in Australia (historically, toads advanced their range at 10 km/year, but now they achieve {$>$}55 km/year in the northern part of their range). Under a common-garden design, we found a steady increase in dispersal tendency with distance from the invasion origin. Dispersal kernels on the invading front were less kurtotic and less skewed than those from origin populations. Thus, toads have increased their rate of range expansion partly through increased dispersal on the expanding front. For accurate long-range forecasts of range advance, we need to take into account the potential for dispersal kernels to be evolutionarily dynamic.}, - langid = {english}, - pmid = {18554142}, - keywords = {Animals,Australia,Biological Evolution,Bufo marinus,Ecosystem,Geography,Models; Biological,Population Dynamics,Predatory Behavior,Selection; Genetic} -} - -@article{plotnickGeneralModelSimulating2002, - title = {A General Model for Simulating the Effects of Landscape Heterogeneity and Disturbance on Community Patterns}, - author = {Plotnick, Roy E and Gardner, Robert H}, - year = {2002}, - month = jan, - journal = {Ecological Modelling}, - volume = {147}, - number = {2}, - pages = {171--197}, - issn = {0304-3800}, - doi = {10.1016/S0304-3800(01)00418-5}, - abstract = {An individual-based, spatially explicit stochastic lattice model, CAPS, was designed to examine multiple processes responsible for spatial patterns of abundance and diversity of sessile species in heterogeneous landscapes. Species simulated by CAPS differ in habitat preferences (niche width), dispersal of propagules, and relative fecundity. The spatial distribution of habitat types are represented as heterogeneous gridded landscapes. The outcome of competition and establishment processes in successive generations is determined locally via a seed lottery. A series of 200 year-long simulations was performed to investigate the effects of variation in species characteristics and competition, landscape heterogeneity, and disturbance on patterns of species abundances. The outcome of competition was most sensitive to differences in fecundity between species, the spatial distribution of suitable habitat and the initial distribution of species. Species with a narrow niche were confined to a single habitat type and remained at or near their initialization sites. Broader niches resulted in increasing niche overlap and competition but enhanced species mobility, allowing abundance levels to approach expected values determined by map resources. Even so, initial distributions still affected the spatial patterns of species distributions at year 200. Disturbance regimes were simulated by varying the frequency, extent and spatial pattern of disturbances. Disturbance events removed species from affected sites but did not otherwise alter habitat characteristics. Results showed that disturbances may lead to a reversal in competition and establishment, dependent on species-specific differences in fecundity and dispersal. Although intermediate levels of disturbance frequency and extent increased the probability of species coexistence, the spatial pattern of disturbance played an unexpectedly important role in the tradeoff between dispersal and fecundity. The ability to simulate multiple factors affecting patterns of persistence, abundance and spatial distribution of species provided by CAPS allows new insight into the temporal and spatial patterns of community development.}, - langid = {english}, - keywords = {Cellular automata,Community dynamics,Disturbance,Heterogeneity,Landscape,Lattice models,Spatial simulation}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\TH6ID3NW\\Plotnick und Gardner - 2002 - A general model for simulating the effects of land.pdf} -} - -@article{poethkeAbilityIndividualsAssess2011, - title = {The Ability of Individuals to Assess Population Density Influences the Evolution of Emigration Propensity and Dispersal Distance}, - author = {Poethke, Hans Joachim and Gros, Andreas and Hovestadt, Thomas}, - year = {2011}, - month = aug, - journal = {Journal of Theoretical Biology}, - volume = {282}, - number = {1}, - pages = {93--99}, - issn = {1095-8541}, - doi = {10.1016/j.jtbi.2011.05.012}, - abstract = {We analyze the simultaneous evolution of emigration and settlement decisions for actively dispersing species differing in their ability to assess population density. Using an individual-based model we simulate dispersal as a multi-step (patch to patch) movement in a world consisting of habitat patches surrounded by a hostile matrix. Each such step is associated with the same mortality risk. Our simulations show that individuals following an informed strategy, where emigration (and settlement) probability depends on local population density, evolve a lower (natal) emigration propensity but disperse over significantly larger distances - i.e. postpone settlement longer - than individuals performing density-independent emigration. This holds especially when variation in environmental conditions is spatially correlated. Both effects can be traced to the informed individuals' ability to better exploit existing heterogeneity in reproductive chances. Yet, already moderate distance-dependent dispersal costs prevent the evolution of multi-step (long-distance) dispersal, irrespective of the dispersal strategy.}, - langid = {english}, - pmid = {21605568}, - keywords = {Biological Evolution,Humans,Models; Theoretical,Population Density}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\7V5ILEU6\\Poethke et al. - 2011 - The ability of individuals to assess population de.pdf} -} - -@article{poethkeEvolutionDensityPatch2002, - title = {Evolution of Density\textendash and Patch\textendash Size\textendash Dependent Dispersal Rates}, - author = {Poethke, Hans Joachim and Hovestadt, Thomas}, - year = {2002}, - month = mar, - journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, - volume = {269}, - number = {1491}, - pages = {637--645}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.2001.1936}, - abstract = {Based on a marginal value approach, we derive a nonlinear expression for evolutionarily stable (ES) dispersal rates in a metapopulation with global dispersal. For the general case of density-dependent population growth, our analysis shows that individual dispersal rates should decrease with patch capacity and\textemdash beyond a certain threshold\textendash increase with population density. We performed a number of spatially explicit, individual-based simulation experiments to test these predictions and to explore further the relevance of variation in the rate of population increase, density dependence, environmental fluctuations and dispersal mortality on the evolution of dispersal rates. They confirm the predictions of our analytical approach. In addition, they show that dispersal rates in metapopulations mostly depend on dispersal mortality and inter-patch variation in population density. The latter is dominantly driven by environmental fluctuations and the rate of population increase. These conclusions are not altered by the introduction of neighbourhood dispersal. With patch capacities in the order of 100 individuals, kin competition seems to be of negligible importance for ES dispersal rates except when overall dispersal rates are low.}, - keywords = {density-dependent dispersal,dispersal rate,evolutionarily stable strategy,individual based model,metapopulation,patch size}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\WILYAUAH\\Poethke und Hovestadt - 2002 - Evolution of density–and patch–size–dependent disp.pdf} -} - -@article{poyrySpeciesTraitsExplain2009, - title = {Species Traits Explain Recent Range Shifts of {{Finnish}} Butterflies}, - author = {P{\"o}yry, Juha and Luoto, Miska and Heikkinen, Risto K. and Kuussaari, Mikko and Saarinen, Kimmo}, - year = {2009}, - journal = {Global Change Biology}, - volume = {15}, - number = {3}, - pages = {732--743}, - issn = {1365-2486}, - doi = {10.1111/j.1365-2486.2008.01789.x}, - abstract = {This study provides a novel systematic comparative analysis of the species characteristics affecting the range margin shifts in butterflies towards higher latitudes, while taking phylogenetic relatedness among species into account. We related observed changes in the northern range margins of 48 butterfly species in Finland between two time periods (1992\textendash 1996 and 2000\textendash 2004) to 11 species traits. Species with positive records in at least ten 10 km \texttimes{} 10 km grid squares (in the Finnish National Butterfly Recording Scheme, NAFI) in both periods were included in the study. When corrected for range size change, the 48 butterfly species had shifted their range margins northwards on average by 59.9 km between the study periods, with maximum shifts of over 300 km for three species. This rate of range shifts exceeds all previously reported records worldwide. Our findings may be explained by two factors: the study region is situated in higher latitudes than in most previous studies and it focuses on the period of most prominent warming during the last 10\textendash 15 years. Several species traits exhibited a significant univariate relationship with the range margin shift according to generalized estimation equations (GEE) taking into account the phylogenetic relatedness among species. Nonthreatened butterflies had on average expanded their ranges strongly northwards (84.5 km), whereas the distributions of threatened species were stationary (-2.1 km). Hierarchical partitioning (HP) analysis indicated that mobile butterflies living in forest edges and using woody plants as their larval hosts exhibited largest range shifts towards the north. Thus, habitat availability and dispersal capacity of butterfly species are likely to determine whether they will be successful in shifting their ranges in response to the warming climate.}, - langid = {english}, - keywords = {atlas data,butterflies,climate change,distribution,Finland,generalized estimation equations (GEE),hierarchical partitioning (HP),range shift,species traits}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2486.2008.01789.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\Y4XNIRXF\\Pöyry et al. - 2009 - Species traits explain recent range shifts of Finn.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\FPJZ9C4C\\j.1365-2486.2008.01789.html} -} - -@article{revillaEffectsMatrixHeterogeneity2004, - title = {Effects of {{Matrix Heterogeneity}} on {{Animal Dispersal}}: {{From Individual Behavior}} to {{Metapopulation}}-{{Level Parameters}}.}, - shorttitle = {Effects of {{Matrix Heterogeneity}} on {{Animal Dispersal}}}, - author = {Revilla, Eloy and Wiegand, Thorsten and Palomares, Francisco and Ferreras, Pablo and Delibes, Miguel}, - year = {2004}, - month = nov, - journal = {The American Naturalist}, - volume = {164}, - number = {5}, - pages = {E130-E153}, - publisher = {{The University of Chicago Press}}, - issn = {0003-0147}, - doi = {10.1086/424767}, - abstract = {Mounting theoretical and empirical evidence shows that matrix heterogeneity may have contrasting effects on metapopulation dynamics by contributing to patch isolation in nontrivial ways. We analyze the movement properties during interpatch dispersal in a metapopulation of Iberian lynx (Lynx pardinus). On a daily temporal scale, lynx habitat selection defines two types of matrix habitats where individuals may move: open and dispersal habitats (avoided and used as available, respectively). There was a strong and complex impact of matrix heterogeneity on movement properties at several temporal scales (hourly and daily radiolocations and the entire dispersal event). We use the movement properties on the hourly temporal scale to build a simulation model to reconstruct individual dispersal events. The two most important parameters affecting model predictions at both the individual (daily) and metapopulation scales were related to the movement capacity (number of movement steps per day and autocorrelation in dispersal habitat) followed by the parameters representing the habitat selection in the matrix. The model adequately reproduced field estimates of population-level parameters (e.g., interpatch connectivity, maximum and final dispersal distances), and its performance was clearly improved when including the effect of matrix heterogeneity on movement properties. To assume there is a homogeneous matrix results in large errors in the estimate of interpatch connectivity, especially for close patches separated by open habitat or corridors of dispersal habitat, showing how important it is to consider matrix heterogeneity when it is present. Movement properties affect the interaction of dispersing individuals with the landscape and can be used as a mechanistic representation of dispersal at the metapopulation level. This is so when the effect of matrix heterogeneity on movement properties is evaluated under biologically meaningful spatial and temporal scales.}, - keywords = {autocorrelated random walk,individualâ€based spatially explicit simulations,interpatch connectivity,Lynx pardinus,matrix fragmentation,standard of plausibility}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\DIPDQW6W\\Revilla et al. - 2004 - Effects of Matrix Heterogeneity on Animal Dispersa.pdf} -} - -@article{revillaIndividualMovementBehavior2008a, - title = {Individual Movement Behavior, Matrix Heterogeneity, and the Dynamics of Spatially Structured Populations}, - author = {Revilla, Eloy and Wiegand, Thorsten}, - year = {2008}, - month = dec, - journal = {Proceedings of the National Academy of Sciences}, - volume = {105}, - number = {49}, - pages = {19120--19125}, - publisher = {{National Academy of Sciences}}, - issn = {0027-8424, 1091-6490}, - doi = {10.1073/pnas.0801725105}, - abstract = {The dynamics of spatially structured populations is characterized by within- and between-patch processes. The available theory describes the latter with simple distance-dependent functions that depend on landscape properties such as interpatch distance or patch size. Despite its potential role, we lack a good mechanistic understanding of how the movement of individuals between patches affects the dynamics of these populations. We used the theoretical framework provided by movement ecology to make a direct representation of the processes determining how individuals connect local populations in a spatially structured population of Iberian lynx. Interpatch processes depended on the heterogeneity of the matrix where patches are embedded and the parameters defining individual movement behavior. They were also very sensitive to the dynamic demographic variables limiting the time moving, the within-patch dynamics of available settlement sites (both spatiotemporally heterogeneous) and the response of individuals to the perceived risk while moving. These context-dependent dynamic factors are an inherent part of the movement process, producing connectivities and dispersal kernels whose variability is affected by other demographic processes. Mechanistic representations of interpatch movements, such as the one provided by the movement-ecology framework, permit the dynamic interaction of birth\textendash death processes and individual movement behavior, thus improving our understanding of stochastic spatially structured populations.}, - chapter = {Research Article}, - copyright = {\textcopyright{} 2008 by The National Academy of Sciences of the USA}, - langid = {english}, - pmid = {19060193}, - keywords = {demography,Iberian lynx,metapopulation,population dynamics,source-sink}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\H8BTU5CK\\Revilla und Wiegand - 2008 - Individual movement behavior, matrix heterogeneity.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UYMB72DH\\19120.html} -} - -@article{rickettsMatrixMattersEffective2001, - title = {The Matrix Matters: Effective Isolation in Fragmented Landscapes}, - shorttitle = {The Matrix Matters}, - author = {Ricketts, T. H.}, - year = {2001}, - month = jul, - journal = {The American Naturalist}, - volume = {158}, - number = {1}, - pages = {87--99}, - issn = {1537-5323}, - doi = {10.1086/320863}, - abstract = {Traditional approaches to the study of fragmented landscapes invoke an island-ocean model and assume that the nonhabitat matrix surrounding remnant patches is uniform. Patch isolation, a crucial parameter to the predictions of island biogeography and metapopulation theories, is measured by distance alone. To test whether the type of interpatch matrix can contribute significantly to patch isolation, I conducted a mark-recapture study on a butterfly community inhabiting meadows in a naturally patchy landscape. I used maximum likelihood to estimate the relative resistances of the two major matrix types (willow thicket and conifer forest) to butterfly movement between meadow patches. For four of the six butterfly taxa (subfamilies or tribes) studied, conifer was 3-12 times more resistant than willow. For the two remaining taxa (the most vagile and least vagile in the community), resistance estimates for willow and conifer were not significantly different, indicating that responses to matrix differ even among closely related species. These results suggest that the surrounding matrix can significantly influence the "effective isolation" of habitat patches, rendering them more or less isolated than simple distance or classic models would indicate. Modification of the matrix may provide opportunities for reducing patch isolation and thus the extinction risk of populations in fragmented landscapes.}, - langid = {english}, - pmid = {18707317} -} - -@article{ripaNoiseColourRisk1996, - title = {Noise Colour and the Risk of Population Extinctions}, - author = {Ripa, J{\"o}rgen and Lundberg, Per}, - year = {1996}, - month = dec, - journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, - volume = {263}, - number = {1377}, - pages = {1751--1753}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.1996.0256}, - abstract = {A recurrent problem in ecology and conservation biology is to estimate the risk of population extinctions. Extinction probabilities are not only imperative for conservation and management, but may also elucidate basic mechanisms of the regulation of natural populations (Burgman et al. 1993; Pimm 1994). The usual way of modelling stochastic influence on population dynamics has been to assume that the external noise is uncorrelated. This means that each and every randomly drawn noise value is totally independent on previous ones. This is what is generally called `white' noise. However, the noise itself can be temporally autocorrelated. That is, the values of the random numbers used in the noise process will depend on previous ones. Here we show that the autocorrelation, or colour, of the external noise assumed to influence population dynamics strongly modifies estimated extinction probabilities. For positively autocorrelated (`red') noise, the risk of extinction clearly decreases the stronger the autocorrelation is, Negatively autocorrelated (`blue') noise is more ambiguously related to extinction probability. Thus, the commonly assumed white noise in population modelling will severely bias population extinction risk estimates. Moreover, the extinction probability estimates are also significantly dependent on model structure which calls for a cautious use of traditional discrete-time models.} -} - -@article{robertVariationIndividualsDemographic2003, - title = {Variation among {{Individuals}}, {{Demographic Stochasticity}}, and {{Extinction}}: {{Response}} to {{Kendall}} and {{Fox}}}, - shorttitle = {Variation among {{Individuals}}, {{Demographic Stochasticity}}, and {{Extinction}}}, - author = {Robert, Alexandre and Sarrazin, Fran{\c c}ois and Couvet, Denis}, - year = {2003}, - journal = {Conservation Biology}, - volume = {17}, - number = {4}, - pages = {1166--1169}, - publisher = {{[Wiley, Society for Conservation Biology]}}, - issn = {0888-8892} -} - -@incollection{ronceDispersalSyndromes2012, - title = {Dispersal Syndromes}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Ronce, Oph{\'e}lie and Clobert, Jean}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0010}, - abstract = {This chapter focuses on dispersal syndromes and how they describe patterns of covariation of morphological, behavioural, and/or life-history traits associated with dispersal. Covariation is a continuous measure of statistical association between traits composing a complex phenotype. There are four main reasons why this chapter is interested in covariation: firstly, syndromes may help us predict a priori, from the observation of dispersal phenotypes, the intensity, nature, and modalities of movement. Secondly, they have the potential to provide information regarding the mechanistic determinants of dispersal and the constraints associated with movement. Thirdly, they may provide information about the proximate motivations and ultimate causes of dispersal. Lastly, and most convincingly, the patterns of covariation between traits associated with dispersal will critically affect both the demographic and genetic consequences of movement.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {complex phenotype,covariation,dispersal syndromes,modalities of movement,statistical association} -} - -@article{ronceHowDoesIt2007a, - title = {How {{Does It Feel}} to {{Be Like}} a {{Rolling Stone}}? {{Ten Questions About Dispersal Evolution}}}, - shorttitle = {How {{Does It Feel}} to {{Be Like}} a {{Rolling Stone}}?}, - author = {Ronce, Oph{\'e}lie}, - year = {2007}, - journal = {Annual Review of Ecology, Evolution, and Systematics}, - volume = {38}, - number = {1}, - pages = {231--253}, - doi = {10.1146/annurev.ecolsys.38.091206.095611}, - abstract = {This review proposes ten tentative answers to frequently asked questions about dispersal evolution. I examine methodological issues, model assumptions and predictions, and their relation to empirical data. Study of dispersal evolution points to the many ecological and genetic feedbacks affecting the evolution of this complex trait, which has contributed to our better understanding of life-history evolution in spatially structured populations. Several lines of research are suggested to ameliorate the exchanges between theoretical and empirical studies of dispersal evolution.}, - annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.38.091206.095611}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\SXEHMND3\\Ronce - 2007 - How Does It Feel to Be Like a Rolling Stone Ten Q.pdf} -} - -@article{ronceLandscapeDynamicsEvolution2000, - title = {Landscape Dynamics and Evolution of Colonizer Syndromes: Interactions between Reproductive Effortand Dispersal in a Metapopulation}, - shorttitle = {Landscape Dynamics and Evolution of Colonizer Syndromes}, - author = {Ronce, Oph{\'e}lie and Perret, Florence and Olivieri, Isabelle}, - year = {2000}, - month = may, - journal = {Evolutionary Ecology}, - volume = {14}, - number = {3}, - pages = {233--260}, - issn = {1573-8477}, - doi = {10.1023/A:1011068005057}, - abstract = {The evolutionary consequences of changes in landscape dynamics for the evolution of life history syndromes are studied using a metapopulation model. We consider in turn the long-term effects of a change in the local disturbance rate, in the maximal local population persistence, in habitat productivity, and in habitat fragmentation. We examine the consequences of selective interactions between dispersal and reproductive effort by comparing the outcome of joint evolution to a situation where the species has lost the potential to evolve either its reproductive effort or its dispersal rate. We relax the classical assumption that any occupied site in the metapopulation reaches its carrying capacity immediately after recolonization. Our main conclusions are the following: (1) genetic diversity modifies the range of landscape parameters for which the metapopulation is viable, but it alters very little the qualitative evolutionary trends observed for each trait within this range. Although they are both part of a competition/colonization axis, reproductive effort and dispersal are not substitutable traits: their evolution reflects more directly the change in the landscape dynamics, than a selective interaction among them. (2) no general syndrome of covariation between reproductive effort and dispersal can be predicted: the pattern of association between the two traits depends on the type of change in landscape dynamics and on the saturation level. We review empirical evidence on colonizer syndromes and suggest lines for further empirical work.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\25UJK666\\Ronce et al. - 2000 - Landscape dynamics and evolution of colonizer synd.pdf} -} - -@article{roussetEvolutionDistributionDispersal2002, - title = {Evolution of the Distribution of Dispersal Distance under Distance-Dependent Cost of Dispersal}, - author = {Rousset, F. and Gandon, S.}, - year = {2002}, - journal = {Journal of Evolutionary Biology}, - volume = {15}, - number = {4}, - pages = {515--523}, - issn = {1420-9101}, - doi = {10.1046/j.1420-9101.2002.00430.x}, - abstract = {We analyse the evolution of the distribution of dispersal distances in a stable and homogeneous environment in one- and two-dimensional habitats. In this model, dispersal evolves to avoid the competition between relatives although some cost might be associated with this behaviour. The evolutionarily stable dispersal distribution is characterized by an equilibration of the fitness gains among all the different dispersal distances. This cost-benefit argument has heuristic value and facilitates the comprehension of results obtained numerically. In particular, it explains why some minimal or maximal probability of dispersal may evolve at intermediate distances when the cost of dispersal function is an increasing function of distance. We also show that kin selection may favour long range dispersal even if the survival cost of dispersal is very high, provided the survival probability does not vanish at long distances.}, - langid = {english}, - keywords = {dispersal,evolutionarily stable strategy,isolation by distance,kin selection}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1420-9101.2002.00430.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\IV89N5LY\\Rousset und Gandon - 2002 - Evolution of the distribution of dispersal distanc.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PR6J2389\\j.1420-9101.2002.00430.html} -} - -@article{ruokolainenEcologicalEvolutionaryDynamics2009, - title = {Ecological and Evolutionary Dynamics under Coloured Environmental Variation}, - author = {Ruokolainen, Lasse and Lind{\'e}n, Andreas and Kaitala, Veijo and Fowler, Mike S.}, - year = {2009}, - month = oct, - journal = {Trends in Ecology \& Evolution}, - volume = {24}, - number = {10}, - pages = {555--563}, - issn = {0169-5347}, - doi = {10.1016/j.tree.2009.04.009}, - abstract = {Environmental variation is a ubiquitous component of individual, population and community processes in the natural world. Here, we review the consequences of spatio-temporally autocorrelated (coloured) environmental variation for ecological and evolutionary population dynamics. In single-species population models, environmental reddening increases (decreases) the amplitude of fluctuations in undercompensatory (overcompensatory) populations. This general result is also found in structurally more complex models (e.g. with space or species interactions). Environmental autocorrelation will also influence evolutionary dynamics as the changing environment is filtered through ecological dynamics. In the context of long-term environmental change, it becomes crucial to understand the potential impacts of different regimes of environmental variation at different scales of organization, from genes to species to communities.}, - langid = {english} -} - -@article{ruxtonFitnessDependentDispersal1998, - title = {Fitness-dependent Dispersal in Metapopulations and Its Consequences for Persistence and Synchrony}, - author = {Ruxton, G. D. and Rohani, P}, - year = {1998}, - journal = {Journal of Animal Ecology}, - number = {67}, - pages = {530--539} -} - -@incollection{saupeAlgorithmsRandomFractals1988, - title = {Algorithms for Random Fractals}, - booktitle = {The {{Science}} of {{Fractal Images}}}, - author = {Saupe, Dietmar}, - editor = {Barnsley, Michael F. and Devaney, Robert L. and Mandelbrot, Benoit B. and Peitgen, Heinz-Otto and Saupe, Dietmar and Voss, Richard F. and Peitgen, Heinz-Otto and Saupe, Dietmar}, - year = {1988}, - pages = {71--136}, - publisher = {{Springer}}, - address = {{New York, NY}}, - doi = {10.1007/978-1-4612-3784-6_2}, - abstract = {For about 200 years now mathematicians have developed the theory of smooth curves and surfaces in two, three or higher dimensions. These are curves and surfaces that globally may have a very complicated structure but in small neighborhoods they are just straight lines or planes. The discipline that deals with these objects is differential geometry. It is one of the most evolved and fascinating subjects in mathematics. On the other hand fractals feature just the opposite of smoothness. While the smooth objects do not yield any more detail on smaller scales a fractal possesses infinite detail at all scales no matter how small they are. The fascination that surrounds fractals has two roots: Fractals are very suitable to simulate many natural phenomena. Stunning pictures have already been produced, and it will not take very long until an uninitiated observer will no longer be able to tell whether a given scene is natural or just computer simulated. The other reason is that fractals are simple to generate on computers. In order to generate a fractal one does not have to be an expert of an involved theory such as calculus, which is necessary for differential geometry. More importantly, the complexity of a fractal, when measured in terms of the length of the shortest computer program that can generate it, is very small.}, - isbn = {978-1-4612-3784-6}, - langid = {english}, - keywords = {Brownian Motion,Fractal Cloud,Fractal Dimension,Fractional Brownian Motion,Random Function} -} - -@article{schiffersLimitedEvolutionaryRescue2013, - title = {Limited Evolutionary Rescue of Locally Adapted Populations Facing Climate Change}, - author = {Schiffers, Katja and Bourne, Elizabeth C. and Lavergne, S{\'e}bastien and Thuiller, Wilfried and Travis, Justin M. J.}, - year = {2013}, - month = jan, - journal = {Philosophical Transactions of the Royal Society B: Biological Sciences}, - volume = {368}, - number = {1610}, - pages = {20120083}, - issn = {0962-8436}, - doi = {10.1098/rstb.2012.0083}, - abstract = {Dispersal is a key determinant of a population's evolutionary potential. It facilitates the propagation of beneficial alleles throughout the distributional range of spatially outspread populations and increases the speed of adaptation. However, when habitat is heterogeneous and individuals are locally adapted, dispersal may, at the same time, reduce fitness through increasing maladaptation. Here, we use a spatially explicit, allelic simulation model to quantify how these equivocal effects of dispersal affect a population's evolutionary response to changing climate. Individuals carry a diploid set of chromosomes, with alleles coding for adaptation to non-climatic environmental conditions and climatic conditions, respectively. Our model results demonstrate that the interplay between gene flow and habitat heterogeneity may decrease effective dispersal and population size to such an extent that substantially reduces the likelihood of evolutionary rescue. Importantly, even when evolutionary rescue saves a population from extinction, its spatial range following climate change may be strongly narrowed, that is, the rescue is only partial. These findings emphasize that neglecting the impact of non-climatic, local adaptation might lead to a considerable overestimation of a population's evolvability under rapid environmental change.}, - pmcid = {PMC3538450}, - pmid = {23209165}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\3522YZAC\\Schiffers et al. - 2013 - Limited evolutionary rescue of locally adapted pop.pdf} -} - -@article{schtickzelleBehaviouralResponsesHabitat2003, - title = {Behavioural Responses to Habitat Patch Boundaries Restrict Dispersal and Generate Emigration\textendash Patch Area Relationships in Fragmented Landscapes}, - author = {Schtickzelle, Nicolas and Baguette, Michel}, - year = {2003}, - journal = {Journal of Animal Ecology}, - volume = {72}, - number = {4}, - pages = {533--545}, - issn = {1365-2656}, - doi = {10.1046/j.1365-2656.2003.00723.x}, - abstract = {We studied the consequences of behaviour at habitat patch boundaries on dispersal for the bog fritillary butterfly Proclossiana eunomia Esper in two networks of habitat differing in fragmentation and matrix quality. We tested for differences in responses to patch boundaries according to the fragmentation level of the network by analysing movement paths of adult butterflies. Butterflies systematically engaged in U-turns when they reached a boundary in the fragmented network while they crossed over boundaries in more than 40\% of boundary encounters in the continuous one. We applied the Virtual Migration model (Hanski, Alho \& Moilanen 2000) to capture\textendash mark\textendash recapture data collected in both networks. The model indicated (i) a lower dispersal rate and (ii) a lower survival during dispersal in the fragmented network. This latter difference is likely to be the key biological process leading to behavioural avoidance of patch boundary crossings. On the basis of this behavioural difference, we designed an individual-based simulation model to explore the relationship between patch area, boundary permeability and emigration rate. Predictions of the model fitted observed results of the effect of patch area on emigration rate according to fragmentation: butterflies are more likely to leave small patches than large ones in fragmented landscapes (where patch boundary permeability is low), while this relationship disappears in more continuous landscapes (where patch boundary permeability is high).}, - langid = {english}, - keywords = {boundary permeability,cost of dispersal,habitat fragmentation,metapopulation,Proclossiana eunomia}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2656.2003.00723.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VL9G8K9G\\Schtickzelle und Baguette - 2003 - Behavioural responses to habitat patch boundaries .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\C3ACNVD5\\j.1365-2656.2003.00723.html} -} - -@article{schtickzelleDispersalDepressionHabitat2006, - title = {Dispersal {{Depression}} with {{Habitat Fragmentation}} in the {{Bog Fritillary Butterfly}}}, - author = {Schtickzelle, Nicolas and Mennechez, Gw{\'e}na{\"e}lle and Baguette, Michel and Mennechez, Gw{\'e}nna{\"e}lle}, - year = {2006}, - journal = {Ecology}, - volume = {87}, - number = {4}, - pages = {1057--1065}, - publisher = {{Ecological Society of America}}, - issn = {0012-9658}, - abstract = {Habitat fragmentation is expected to impose strong selective pressures on dispersal rates. However, evolutionary responses of dispersal are not self-evident, since various selection pressures act in opposite directions. Here we disentangled the components of dispersal behavior in a metapopulation context using the Virtual Migration model, and we linked their variation to habitat fragmentation in the specialist butterfly Proclossiana eunomia. Our study provided a nearly unique opportunity to study how habitat fragmentation modifies dispersal at the landscape scale, as opposed to microlandscapes or simulation studies. Indeed, we studied the same species in four landscapes with various habitat fragmentation levels, in which large amounts of field data were collected and analyzed using similar methodologies. We showed the existence of quantitative variations in dispersal behavior correlated with increased fragmentation. Dispersal propensity from habitat patches (for a given patch size), and mortality during dispersal (for a given patch connectivity) were lower in more fragmented landscapes. We suggest that these were the consequences of two different evolutionary responses of dispersal behavior at the individual level: (1) when fragmentation increased, the reluctance of individuals to cross habitat patch boundaries also increased; (2) when individuals dispersed, they flew straighter in the matrix, which is the best strategy to improve dispersal success. Such evolutionary responses could generate complex nonlinear patterns of dispersal changes at the metapopulation level according to habitat fragmentation. Due to the small size and increased isolation of habitat patches in fragmented landscapes, overall emigration rate and mortality during dispersal remained high. As a consequence, successful dispersal at the metapopulation scale remained limited. Therefore, to what extent the selection of individuals with a lower dispersal propensity and a higher survival during dispersal is able to limit detrimental effects of habitat fragmentation on dispersal success is unknown, and any conclusion that metapopulations would compensate for them is flawed.} -} - -@incollection{schtickzelleTemporalVariationDispersal2012, - title = {Temporal Variation in Dispersal Kernels in a Metapopulation of the Bog Fritillary Butterfly ({{Boloria}} Eunomia)}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Schtickzelle, Nicolas and Turlure, Camille and Baguette, Michel}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0018}, - abstract = {This chapter aims to quantify the temporal variation existing in the dispersal kernel by making the kernels comparable. Variation of dispersal kernels in time has received less attention, even if temporal change in dispersal rates among local populations has been repeatedly documented in the metapopulation literature. Changes in individual mobility that generate temporal shifts in dispersal kernels would obviously be context- and phenotypic-dependent. Both environmental conditions and conspecific density are thus expected to play a central role in temporal variation of dispersal kernels. This chapter uses standardized capture-mark-recapture (CMR) data from long-term monitoring of bog fritillary butterfly, Boloria eunomia, metapopulation dynamics in a single landscape to investigate the amount of temporal variability and the amount of this temporal variability that has been explained by climatic variables and conspecific density.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {conspecific density,dispersal kernel,environmental conditions,individual mobility,metapopulation,temporal variation} -} - -@article{schultzEdgeMediatedDispersalBehavior2001, - title = {Edge-{{Mediated Dispersal Behavior}} in a {{Prairie Butterfly}}}, - author = {Schultz, Cheryl B. and Crone, Elizabeth E.}, - year = {2001}, - journal = {Ecology}, - volume = {82}, - number = {7}, - pages = {1879--1892}, - publisher = {{Ecological Society of America}}, - issn = {0012-9658}, - doi = {10.2307/2680054}, - abstract = {Animal responses to habitat boundaries will influence the effects of habitat fragmentation on population dynamics. Although this is an intuitive and often observed animal behavior, the influences of habitat boundaries have rarely been quantified in the field or considered in theoretical models of large scale processes. We quantified movement behavior of the Fender's blue butterfly (Icaricia icarioides fenderi) as a function of distance from host-plant patches. We measured the butterfly's tendency to move toward habitat patches (bias) and their tendency to continue to move in the direction they were already going (correlation). We found that butterflies significantly modify their behavior within 10-22 m from the habitat boundary. We used these data to predict large scale patterns of residence time as a function of patch size, using three dispersal models: homogeneous response to habitat, heterogeneous response to habitat, and heterogeneous response to habitat with edge-mediated behavior. We simulated movement for males and females in eight patch sizes (0.1-8 ha) and asked how residence time varies among the models. We found that adding edge-mediated behavior significantly increases the residence of Fender's blue butterflies in their natal patch. Only the model with edge-mediated behavior for females was consistent with independent mark-release-recapture (MRR) estimates of residence time; other models dramatically underestimated residence times, relative to MRR data.} -} - -@incollection{schurrHowRandomDispersal2012, - title = {How Random Is Dispersal? {{From}} Stochasticity to Process in the Description of Seed Movement}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Schurr, F. M.}, - editor = {Clobert, J and Baguette, M and Benton, T G and Bullock, J M}, - year = {2012}, - pages = {240--247}, - publisher = {{Oxford University Press}} -} - -@article{schurrHowUnderstandSpecies2012, - title = {How to Understand Species' Niches and Range Dynamics: A Demographic Research Agenda for Biogeography}, - shorttitle = {How to Understand Species' Niches and Range Dynamics}, - author = {Schurr, Frank M. and Pagel, J{\"o}rn and Cabral, Juliano Sarmento and Groeneveld, J{\"u}rgen and Bykova, Olga and O'Hara, Robert B. and Hartig, Florian and Kissling, W. Daniel and Linder, H. Peter and Midgley, Guy F. and Schr{\"o}der, Boris and Singer, Alexander and Zimmermann, Niklaus E.}, - year = {2012}, - journal = {Journal of Biogeography}, - volume = {39}, - number = {12}, - pages = {2146--2162}, - issn = {1365-2699}, - doi = {10.1111/j.1365-2699.2012.02737.x}, - abstract = {Range dynamics causes mismatches between a species' geographical distribution and the set of suitable environments in which population growth is positive (the Hutchinsonian niche). This is because source\textendash sink population dynamics cause species to occupy unsuitable environments, and because environmental change creates non-equilibrium situations in which species may be absent from suitable environments (due to migration limitation) or present in unsuitable environments that were previously suitable (due to time-delayed extinction). Because correlative species distribution models do not account for these processes, they are likely to produce biased niche estimates and biased forecasts of future range dynamics. Recently developed dynamic range models (DRMs) overcome this problem: they statistically estimate both range dynamics and the underlying environmental response of demographic rates from species distribution data. This process-based statistical approach qualitatively advances biogeographical analyses. Yet, the application of DRMs to a broad range of species and study systems requires substantial research efforts in statistical modelling, empirical data collection and ecological theory. Here we review current and potential contributions of these fields to a demographic understanding of niches and range dynamics. Our review serves to formulate a demographic research agenda that entails: (1) advances in incorporating process-based models of demographic responses and range dynamics into a statistical framework, (2) systematic collection of data on temporal changes in distribution and abundance and on the response of demographic rates to environmental variation, and (3) improved theoretical understanding of the scaling of demographic rates and the dynamics of spatially coupled populations. This demographic research agenda is challenging but necessary for improved comprehension and quantification of niches and range dynamics. It also forms the basis for understanding how niches and range dynamics are shaped by evolutionary dynamics and biotic interactions. Ultimately, the demographic research agenda should lead to deeper integration of biogeography with empirical and theoretical ecology.}, - langid = {english}, - keywords = {Biodiversity monitoring,climate change,ecological forecasts,ecological niche modelling,ecological theory,geographical range shifts,global environmental change,mechanistic models,migration,process-based statistics}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2012.02737.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\P5HSYZC4\\Schurr et al. - 2012 - How to understand species’ niches and range dynami.pdf} -} - -@article{schwagerDoesRedNoise2006, - title = {Does Red Noise Increase or Decrease Extinction Risk? {{Single}} Extreme Events versus Series of Unfavorable Conditions}, - shorttitle = {Does Red Noise Increase or Decrease Extinction Risk?}, - author = {Schwager, Monika and Johst, Karin and Jeltsch, Florian}, - year = {2006}, - month = jun, - journal = {The American Naturalist}, - volume = {167}, - number = {6}, - pages = {879--888}, - issn = {1537-5323}, - doi = {10.1086/503609}, - abstract = {Recent theoretical studies have shown contrasting effects of temporal correlation of environmental fluctuations (red noise) on the risk of population extinction. It is still debated whether and under which conditions red noise increases or decreases extinction risk compared with uncorrelated (white) noise. Here, we explain the opposing effects by introducing two features of red noise time series. On the one hand, positive autocorrelation increases the probability of series of poor environmental conditions, implying increasing extinction risk. On the other hand, for a given time period, the probability of at least one extremely bad year ("catastrophe") is reduced compared with white noise, implying decreasing extinction risk. Which of these two features determines extinction risk depends on the strength of environmental fluctuations and the sensitivity of population dynamics to these fluctuations. If extreme (catastrophic) events can occur (strong noise) or sensitivity is high (overcompensatory density dependence), then temporal correlation decreases extinction risk; otherwise, it increases it. Thus, our results provide a simple explanation for the contrasting previous findings and are a crucial step toward a general understanding of the effect of noise color on extinction risk.}, - langid = {english}, - pmid = {16615033}, - keywords = {Animals,Computer Simulation,Disasters,Environment,Extinction; Biological,Models; Biological} -} - -@article{schymanskiProcessCorrelationParameter2013, - title = {Process, Correlation and Parameter Fitting in Species Distribution Models: A Response to {{Kriticos}} et Al.}, - shorttitle = {Process, Correlation and Parameter Fitting in Species Distribution Models}, - author = {Schymanski, Stanislaus J. and Dormann, Carsten F. and Cabral, Juliano and Chuine, Isabelle and Graham, Catherine H. and Hartig, Florian and Kearney, Michael and Morin, Xavier and R{\"o}mermann, Christine and Schr{\"o}der, Boris and Singer, Alexander}, - year = {2013}, - journal = {Journal of Biogeography}, - volume = {40}, - number = {3}, - pages = {611--613}, - publisher = {{Wiley}}, - issn = {0305-0270}, - abstract = {In a recent article (Dormann et al., 2012, Journal of Biogeography, 39, 2119\textemdash 2131), we compared different approaches to species distribution modelling and depicted modelling approaches along an axis from purely 'correlative' to 'forward process-based' models. In their correspondence, Kriticos et al. (2013, Journal of Biogeography, doi:10.1111/j.1365-2699.2012.02791.x) challenge this view, claiming that our continuum representation neglects differences among models and does not consider the ability of fitted process-based models to combine the advantages of both process-based and correlative modelling approaches. Here we clarify that the continuum view resulted from recognition of the manifold differences between models. We also reinforce the point that the current trend towards combining different modelling approaches may lead not only to the desired combination of the advantages but also to the accumulation of the disadvantages of those approaches. This point has not been made sufficiently clear previously.} -} - -@article{sextonEvolutionEcologySpecies2009, - title = {Evolution and {{Ecology}} of {{Species Range Limits}}}, - author = {Sexton, Jason P. and McIntyre, Patrick J. and Angert, Amy L. and Rice, Kevin J.}, - year = {2009}, - journal = {Annual Review of Ecology, Evolution, and Systematics}, - volume = {40}, - number = {1}, - pages = {415--436}, - doi = {10.1146/annurev.ecolsys.110308.120317}, - abstract = {Species range limits involve many aspects of evolution and ecology, from species distribution and abundance to the evolution of niches. Theory suggests myriad processes by which range limits arise, including competitive exclusion, Allee effects, and gene swamping; however, most models remain empirically untested. Range limits are correlated with a number of abiotic and biotic factors, but further experimentation is needed to understand underlying mechanisms. Range edges are characterized by increased genetic isolation, genetic differentiation, and variability in individual and population performance, but evidence for decreased abundance and fitness is lacking. Evolution of range limits is understudied in natural systems; in particular, the role of gene flow in shaping range limits is unknown. Biological invasions and rapid distribution shifts caused by climate change represent large-scale experiments on the underlying dynamics of range limits. A better fusion of experimentation and theory will advance our understanding of the causes of range limits.}, - annotation = {\_eprint: https://doi.org/10.1146/annurev.ecolsys.110308.120317}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\HD74T3Z2\\Sexton et al. - 2009 - Evolution and Ecology of Species Range Limits.pdf} -} - -@article{shreeveLandscapeScaleConservation2011, - title = {Landscape Scale Conservation: Resources, Behaviour, the Matrix and Opportunities}, - shorttitle = {Landscape Scale Conservation}, - author = {Shreeve, T. G. and Dennis, R. L. H.}, - year = {2011}, - month = apr, - journal = {Journal of Insect Conservation}, - volume = {15}, - number = {1}, - pages = {179--188}, - issn = {1572-9753}, - doi = {10.1007/s10841-010-9336-9}, - abstract = {Landscape scale conservation efforts are becoming more commonplace in conservation, with a move from single species to multi-species initiatives. These initiatives are reliant on modelling processes, largely underpinned by metapopulation models. We argue that generic models developed for individual species in particular landscapes over selected time periods may only be applicable to alternative landscapes and time periods in restricted circumstances. Variability in species responses to landscapes and environmental conditions is dependent on a range of species-specific intrinsic characteristics, dependent on their responses to resources, (including weather) and also individual states. We propose that the behavioural component of how species respond to resources needs to be taken into account in modelling species responses to landscape, and therefore how limited resources for conservation are deployed. Species behaviours are inherently complex. We argue that because of this complexity the conservation of the majority of species, especially of the least rare, may be best served if conservation effort is additionally focused on increasing landscape heterogeneity and disturbance. This may also facilitate persistence in the face of climate change. We suggest that heterogeneity should be promoted through agri-environment schemes.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\6D5I6VCL\\Shreeve und Dennis - 2011 - Landscape scale conservation resources, behaviour.pdf} -} - -@article{simmonsChangesDispersalSpecies2004, - title = {Changes in Dispersal during Species' Range Expansions}, - author = {Simmons, Adam D. and Thomas, Chris D.}, - year = {2004}, - month = sep, - journal = {The American Naturalist}, - volume = {164}, - number = {3}, - pages = {378--395}, - issn = {1537-5323}, - doi = {10.1086/423430}, - abstract = {Explanations for rapid species' range expansions have typically been purely ecological, with little attention given to evolutionary processes. We tested predictions for the evolution of dispersal during range expansion using four species of wing-dimorphic bush cricket (Conocephalus discolor, Conocephalus dorsalis, Metrioptera roeselii, and Metrioptera brachyptera). We observed distinct changes in dispersal in the two species with expanding ranges. Recently colonized populations at the range margin showed increased frequencies of dispersive, long-winged (macropterous) individuals, compared with longer-established populations in the range core. This increase in dispersal appeared to be short-lived because 5-10 years after colonization populations showed similar incidences of macroptery to populations in the range core. These changes are consistent with evolutionary change; field patterns persisted when nymphs were reared under controlled environmental conditions, and range margin individuals reared in the laboratory flew farther than range core individuals in a wind tunnel. There was also a reproductive trade-off with dispersal in both females and males, which could explain the rapid reversion to lower rates of dispersal once populations become established. The effect of population density on wing morphology differed between populations from the range core (no significant effect of density) and expanding range margins (negative density dependence), which we propose is part of the mechanism of the changes in dispersal. Transient changes in dispersal are likely to be common in many species undergoing range expansion and can have major population and biogeographic consequences.}, - langid = {english}, - pmid = {15478092}, - keywords = {Animal Migration,Animals,Behavior; Animal,Biological Evolution,Body Weight,England,Female,Gryllidae,Male,Population Dynamics,Wings; Animal} -} - -@article{sinclairHowUsefulAre2010, - title = {How {{Useful Are Species Distribution Models}} for {{Managing Biodiversity}} under {{Future Climates}}?}, - author = {Sinclair, Steve J. and White, Matthew D. and Newell, Graeme R.}, - year = {2010}, - journal = {Ecology and Society}, - volume = {15}, - number = {1}, - publisher = {{Resilience Alliance Inc.}}, - issn = {1708-3087}, - abstract = {ABSTRACT. Climate change presents unprecedented challenges for biological conservation. Agencies are increasingly looking to modeled projections of species' distributions under future climates to inform management strategies. As government scientists with a responsibility to communicate the best available science to our policy colleagues, we question whether current modeling approaches and outputs are practically useful. Here, we synthesize conceptual problems with species distribution models (SDMs) associated with interspecific interactions, dispersal, ecological equilibria and time lags, evolution, and the sampling of niche space. Although projected SDMs have undoubtedly been critical in alerting us to the magnitude of climate change impacts, we conclude that until they offer insights that are more precise than what we can derive from basic ecological theory, we question their utility in deciding how to allocate scarce funds to large-scale conservation projects.} -} - -@article{singerInterspecificInteractionsAffect2013, - title = {Interspecific Interactions Affect Species and Community Responses to Climate Shifts}, - author = {Singer, Alexander and Travis, Justin M. J. and Johst, Karin}, - year = {2013}, - journal = {Oikos}, - volume = {122}, - number = {3}, - pages = {358--366}, - issn = {1600-0706}, - doi = {10.1111/j.1600-0706.2012.20465.x}, - abstract = {The response of individual species to climate change may alter the composition and dynamics of communities. Here, we show that the impacts of environmental change on communities can depend on the nature of the interspecific interactions: mutualistic communities typically respond differently than commensalistic or parasitic communities. We model and analyse the geographic range shifting of metapopulations of two interacting species \textendash{} a host and an obligate species. Different types of interspecific interactions are implemented by modifying local extinction rates according to the presence/absence of the other species. We distinguish and compare three fundamentally different community types: mutualism, commensalism and parasitism. We find that community dynamics during geographic range shifting critically depends on the type of interspecific interactions. Parasitic interactions exacerbate the negative effect of environmental change whereas mutualistic interactions only partly compensate it. Commensalistic interactions exhibit an intermediate response. Based on these model outcomes, we predict that parasitic species interactions may be more vulnerable to geographic range shifting than commensalistic or mutualistic ones. However, we observe that when climate stabilises following a period of change, the rate of community recovery is largely independent of the type of interspecific interactions. These results emphasize that communities respond delicately to environmental change, and that local interspecific interactions can affect range shifting communities at large spatial scales.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2012.20465.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\SEGSL2J7\\Singer et al. - 2013 - Interspecific interactions affect species and comm.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\LC2QTHEQ\\j.1600-0706.2012.20465.html} -} - -@article{smithStabilityPredatorPreySystems1973, - title = {The {{Stability}} of {{Predator-Prey Systems}}}, - author = {Smith, J. Maynard and Slatkin, M.}, - year = {1973}, - journal = {Ecology}, - volume = {54}, - number = {2}, - pages = {384--391}, - publisher = {{Ecological Society of America}}, - issn = {0012-9658}, - doi = {10.2307/1934346}, - abstract = {The interactions between a predator and prey species have been analyzed by computer simulation of a model in which there are discrete breeding seasons, separated by a winter during which the predator must be able to find prey at a certain minimum rate or starve. The model is intended to represent a warm-blooded vertebrate predator and its prey. The main conclusions are: (1) Coexistence of predator and prey is possible, but if so, the number of prey present will not be substantially below the equilibrium number in the absence of predators. Mutual regulation of predator and prey, with the latter substantially below the carrying capacity of the environment, is unstable. (2) Coexistence is more likely if there are differences in hunting ability between different individual predators--for example, between young and old predators. (3) Cover for the prey enables the prey species to survive the extinction of the predator, but does not make coexistence more likely.} -} - -@article{smouseStochasticModellingAnimal2010, - title = {Stochastic Modelling of Animal Movement}, - author = {Smouse, Peter E and Focardi, S and Moorcroft, P.R. and Kie, John G and Forester, J. D. and Morales, Juan M}, - year = {2010}, - journal = {Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences}, - number = {365}, - pages = {2201--2211} -} - -@article{spearUseResistanceSurfaces2010, - title = {Use of Resistance Surfaces for Landscape Genetic Studies: Considerations for Parameterization and Analysis}, - shorttitle = {Use of Resistance Surfaces for Landscape Genetic Studies}, - author = {Spear, Stephen F. and Balkenhol, Niko and Fortin, Marie-Jos{\'e}e and McRae, Brad H. and Scribner, Kim}, - year = {2010}, - month = sep, - journal = {Molecular Ecology}, - volume = {19}, - number = {17}, - pages = {3576--3591}, - issn = {1365-294X}, - doi = {10.1111/j.1365-294X.2010.04657.x}, - abstract = {Measures of genetic structure among individuals or populations collected at different spatial locations across a landscape are commonly used as surrogate measures of functional (i.e. demographic or genetic) connectivity. In order to understand how landscape characteristics influence functional connectivity, resistance surfaces are typically created in a raster GIS environment. These resistance surfaces represent hypothesized relationships between landscape features and gene flow, and are based on underlying biological functions such as relative abundance or movement probabilities in different land cover types. The biggest challenge for calculating resistance surfaces is assignment of resistance values to different landscape features. Here, we first identify study objectives that are consistent with the use of resistance surfaces and critically review the various approaches that have been used to parameterize resistance surfaces and select optimal models in landscape genetics. We then discuss the biological assumptions and considerations that influence analyses using resistance surfaces, such as the relationship between gene flow and dispersal, how habitat suitability may influence animal movement, and how resistance surfaces can be translated into estimates of functional landscape connectivity. Finally, we outline novel approaches for creating optimal resistance surfaces using either simulation or computational methods, as well as alternatives to resistance surfaces (e.g. network and buffered paths). These approaches have the potential to improve landscape genetic analyses, but they also create new challenges. We conclude that no single way of using resistance surfaces is appropriate for every situation. We suggest that researchers carefully consider objectives, important biological assumptions and available parameterization and validation techniques when planning landscape genetic studies.}, - langid = {english}, - pmid = {20723064}, - keywords = {Algorithms,Artificial Intelligence,Computer Simulation,Ecology,Environment,Gene Flow,Genetics; Population,Geography,Models; Genetic} -} - -@article{stampsConspecificAttractionAggregation1988, - title = {Conspecific {{Attraction}} and {{Aggregation}} in {{Territorial Species}}}, - author = {Stamps, J. A.}, - year = {1988}, - journal = {The American Naturalist}, - volume = {131}, - number = {3}, - pages = {329--347}, - publisher = {{[University of Chicago Press, American Society of Naturalists]}}, - issn = {0003-0147}, - abstract = {For many years, field studies of birds have suggested that territorial individuals may be attracted to one another, forming territorial clusters independent of resource distributions. However, virtually no experiments have studied these phenomena in either the laboratory or the field. The present field study was designed to test whether prospective territory owners preferentially settle near conspecifics and form territorial aggregations when territory quality is held constant. Juvenile Anolis aeneus lizards arriving at juvenile habitats in clearings were given a choice of artificial homesites arranged around a clear-walled enclosure divided into two parts, one of which contained resident A. aeneus juveniles. Juveniles showed a clear preference for the homesites adjacent to the established territorial residents (the "experimental" homesites). In each of eight trials, the first arrivals appeared on the experimental homesites. Juveniles that first appeared on the experimental homesites were more apt to settle in the clearing, and colonists on the experimental side moved around less before choosing a final territory. During the colonization process, juveniles spent more time on the experimental sides of the enclosures; and by the end of the trials, more juveniles had eventually settled on the experimental homesites. Throughout the settlement process, new territory owners tended to cluster around the previous residents within the experimental side of the enclosures. These results indicate that A. aeneus juveniles are attracted to conspecifics while settling a territory and that this process can lead to territorial aggregations that are independent of territory quality.} -} - -@article{stampsEffectsNatalExperience2006, - title = {Effects of Natal Experience on Habitat Selection When Individuals Make Choices in Groups: {{A}} Multilevel Analysis}, - shorttitle = {Effects of Natal Experience on Habitat Selection When Individuals Make Choices in Groups}, - author = {Stamps, Judy A. and Blozis, Shelley A.}, - year = {2006}, - journal = {Animal Behaviour}, - volume = {71}, - number = {3}, - pages = {663--672}, - publisher = {{Elsevier Science}}, - address = {{Netherlands}}, - issn = {1095-8282(Electronic),0003-3472(Print)}, - doi = {10.1016/j.anbehav.2005.07.015}, - abstract = {We studied the effects of natal experience on preference for a postdispersal habitat (natal habitat preference induction, NHPI) in groups of newly eclosed female Drosophila melanogaster, using multilevel statistical models to take into account dependencies of responses from individuals making choices within the same hour. Groups consisting of flies with one of five genotypes (crosses of highly inbred female isolines) were allowed free access to a high-quality natal habitat after emergence from their pupae. The flies were then allowed to select one of two new habitats in a large 'seminatural' environment over the next 3 days. The flies showed strong positive effects of training habitat on their choice of a new habitat, after controlling for potential dependence in choices within hours and trials. The genotypes also varied with respect to the effects of conspecifics and humidity on individual choice. A second analysis using data aggregated at the trial level and a traditional statistical approach (a generalized linear model, GLM) also detected effects of training on habitat choice. However, the GLM produced other results that may have been artefacts resulting from the omission of within-trial factors with important effects on choice in this trial-level analysis. This study shows the advantages of using multilevel models rather than aggregating data to control for interactions among subjects when animals select items in groups. (PsycINFO Database Record (c) 2017 APA, all rights reserved)}, - keywords = {Animal Environments,Choice Behavior,Drosophila,Early Experience,Female Animals,Genotypes}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\GW2GM63A\\2006-03109-022.html} -} - -@incollection{stampsHabitatSelectionDispersers2001, - title = {Habitat Selection by Dispersers: Integrating Proximate and Ultimate Approaches}, - shorttitle = {Habitat Selection by Dispersers}, - booktitle = {Dispersal}, - author = {Stamps, Judy}, - editor = {Clobert, J. and Danchin, Etienne and Dhondt, Andre A. and Nichols, James D.}, - year = {2001}, - month = jan, - pages = {230--242}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - abstract = {Behavioural research is shedding new light on the complex relationships between the proximate mechanisms involved in habitat selection and the selective pressures that may have contributed to the evolution of those mechanisms. Habitat selection by dispersers can be divided into three stages (search, settlement and residency); recent studies suggest that the adaptive significance of behaviour at each of these stages may differ from the assumptions of traditional habitat selection theory. For instance, dispersers may benefit from the presence of conspecifics or heterospecifics while searching for, settling in, or living in new habitats, and individuals may prefer to settle in post-dispersal habitats similar to their pre-dispersal habitats, because this behaviour reduces the costs of detecting or assessing suitable habitats (habitat cuing) or because experience in a pre-dispersal habitat improves performance if an animal settles in the same type of habitat after dispersing (habitat training). Dispersers have evolved a variety of proximate behavioural mechanisms to reduce search and settlement costs in natural environments, but if they currently rely on these processes, species living in areas modified by human activities may not exhibit 'ideal' habitat selection behaviour. Insights from recent studies of habitat selection may help solve specific problems in conservation biology, and more generally, help biologists understand the intimate relationship between dispersal and habitat selection behaviour.}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\PZNZVCJ8\\Stamps - 2001 - Habitat selection by dispersers integrating proxi.pdf} -} - -@article{stampsHowDifferentTypes2009, - title = {How {{Different Types}} of {{Natal Experience Affect Habitat Preference}}}, - author = {Stamps, Judy A. and Krishnan, V. V. and Willits, Neil H. and Ketterson, Associate Editor: Ellen D. and Shaw, Editor: Ruth G.}, - year = {2009}, - journal = {The American Naturalist}, - volume = {174}, - number = {5}, - pages = {623--630}, - publisher = {{[The University of Chicago Press, The American Society of Naturalists]}}, - issn = {0003-0147}, - doi = {10.1086/644526}, - abstract = {Abstract: In many animals, exposure to cues in a natal habitat increases disperser preferences for those cues (natal habitat preference induction [NHPI]), but the proximate and ultimate bases for this phenomenon are obscure. We developed a Bayesian model to study how different types of experience in the natal habitat and survival to the age/stage of dispersal interact to affect a disperser's estimate of the quality of new natal-type habitats. The model predicts that the types of experience a disperser had before leaving its natal habitat will affect the attractiveness of cues from new natal-type habitats and that favorable experiences will increase the level of preference for natal-type habitats more than unfavorable experiences will decrease it. An experimental study of NHPI in Drosophila melanogaster provided with ``good'' and ``bad'' experiences in their natal habitats supports these predictions while also indicating that the effects of different types of natal experience on NHPI vary across genotypes. If habitat preferences are modulated by an individual's experience before dispersal as described in this study, then NHPI may have stronger effects on sympatric speciation, metapopulation dynamics, conservation biology, and pest management than previously supposed.} -} - -@article{stampsSearchCostsHabitat2005, - title = {Search {{Costs}} and {{Habitat Selection}} by {{Dispersers}}}, - author = {Stamps, Judy A. and Krishnan, V. V. and Reid, Mary L.}, - year = {2005}, - journal = {Ecology}, - volume = {86}, - number = {2}, - pages = {510--518}, - publisher = {{Ecological Society of America}}, - issn = {0012-9658}, - abstract = {The effects of search costs on habitat selection by dispersers are largely unknown. We explore how habitat selection behavior is affected by the risk of mortality en route and by deferred search costs (i.e., costs incurred during search that reduce fitness after arrival in the new habitat), using a model designed for long-distance natal dispersers searching for scarce patches of suitable habitat embedded within a matrix of unsuitable habitat. In this situation, increases in the risk of mortality during search reduce disperser selectivity, where selectivity is reflected by the period during search when dispersers are only willing to accept a high-quality habitat. However, the effects of deferred costs on selectivity depend on other factors with pronounced effects on selectivity, including encounter rates with high-quality habitats, relative habitat quality, and total search time. Surprisingly, under some sets of conditions, increases in deferred costs lead to increases in disperser selectivity. Overall, the effects of mortality and deferred costs on selectivity are small relative to the effects of other factors on selectivity. For instance, our model suggests that selectivity is much more strongly affected by total search time than by search costs, and it predicts a positive relationship between total search time and disperser selectivity across individuals in the same population, even in the face of considerable inter-individual variation in risk of mortality or deferred search costs.} -} - -@article{starrfeltParentoffspringConflictEvolution2010, - title = {Parent-Offspring Conflict and the Evolution of Dispersal Distance}, - author = {Starrfelt, Jostein and Kokko, Hanna}, - year = {2010}, - month = jan, - journal = {The American Naturalist}, - volume = {175}, - number = {1}, - pages = {38--49}, - issn = {1537-5323}, - doi = {10.1086/648605}, - abstract = {Parent-offspring conflict emerges in many different contexts, but a rarely emphasized perspective is that of space as a resource that is allocated or acquired through dispersal. Early theoretical work has shown that there are different optima in rates of dispersal between parents and offspring. Here we examine this principle when space is explicitly modeled and dispersal is achieved through a dispersal kernel. We find a consistent pattern that selection favors longer dispersal distances under maternal control of dispersal (e.g., maternal tissue surrounding a seed) compared with scenarios where offspring themselves control dispersal (as in many animals). Intriguingly, offspring control leads to better resource utilization (higher habitat occupancy) in equilibrium scenarios than does maternal control. In contrast, in species that expand their ranges, maternal control of dispersal initially leads to faster range expansion. If there is evolutionary potential for dispersal kernels to change at the leading edge of a population, this difference vanishes quickly during an invasion because offspring-controlled dispersal evolves faster and catches up with scenarios involving maternal control. There is thus less conflict in nonequilibrium scenarios. In invasive scenarios with an evolving kernel shape, disruptive selection against intermediate distances can make the kernel not only fat-tailed but also bimodal.}, - langid = {english}, - pmid = {19911910}, - keywords = {Animal Migration,Animals,Computer Simulation,Conflict; Psychological,Female,Homing Behavior,Models; Theoretical,Population Density,Population Dynamics,Reproduction} -} - -@book{stensethAnimalDispersalSmall1992, - title = {Animal {{Dispersal}}: {{Small}} Mammals as a Model}, - shorttitle = {Animal {{Dispersal}}}, - editor = {Stenseth, N. C. and Lidicker, W. Z.}, - year = {1992}, - publisher = {{Springer Netherlands}}, - doi = {10.1007/978-94-011-2338-9}, - abstract = {4.1.1 Demographic significance Confined populations grow more rapidly than populations from which dispersal is permitted (Lidicker, 1975; Krebs, 1979; Tamarin et at., 1984), and demography in island populations where dispersal is restricted differs greatly from nearby mainland populations (Lidicker, 1973; Tamarin, 1977, 1978; Gliwicz, 1980), clearly demonstrating the demographic signi\- ficance of dispersal. The prevalence of dispersal in rapidly expanding populations is held to be the best evidence for presaturation dispersal. Because dispersal reduces the growth rate of source populations, it is generally believed that emigration is not balanced by immigration, and that mortality of emigrants occurs as a result of movement into a 'sink' of unfavourable habitat. If such dispersal is age- or sex-biased, the demo\- graphy of the population is markedly affected, as a consequence of differ\- ences in mortality in the dispersive sex or age class. Habitat heterogeneity consequently underlies this interpretation of dispersal and its demographic consequences, although the spatial variability of environments is rarely assessed in dispersal studies.}, - isbn = {978-0-412-29330-6}, - langid = {english} -} - -@article{stevensGeneFlowFunctional2006, - title = {Gene Flow and Functional Connectivity in the Natterjack Toad}, - author = {Stevens, Virginie M. and Verkenne, Catherine and Vandewoestijne, Sofie and Wesselingh, Renate A. and Baguette, Michel}, - year = {2006}, - month = aug, - journal = {Molecular Ecology}, - volume = {15}, - number = {9}, - pages = {2333--2344}, - issn = {0962-1083}, - doi = {10.1111/j.1365-294X.2006.02936.x}, - abstract = {Functional connectivity is a key factor for the persistence of many specialist species in fragmented landscapes. However, connectivity estimates have rarely been validated by the observation of dispersal movements. In this study, we estimated functional connectivity of a real landscape by modelling dispersal for the endangered natterjack toad (Bufo calamita) using cost distance. Cost distance allows the evaluation of 'effective distances', which are distances corrected for the costs involved in moving between habitat patches in spatially explicit landscapes. We parameterized cost-distance models using the results of our previous experimental investigation of natterjack's movement behaviour. These model predictions (connectivity estimates from the GIS study) were then confronted to genetic-based dispersal rates between natterjack populations in the same landscape using Mantel tests. Dispersal rates between the populations were inferred from variation at six microsatellite loci. Based on these results, we conclude that matrix structure has a strong effect on dispersal rates. Moreover, we found that cost distances generated by habitat preferences explained dispersal rates better than did the Euclidian distances, or the connectivity estimate based on patch-specific resistances (patch viscosity). This study is a clear example of how landscape genetics can validate operational functional connectivity estimates.}, - langid = {english}, - pmid = {16842409}, - keywords = {Animals,Belgium,Bufonidae,Gene Flow,Genetic Variation,Microsatellite Repeats,Population Dynamics} -} - -@incollection{stevensLandscapeEffectsSpatial2012, - title = {Landscape Effects on Spatial Dynamics: The Natterjack Toad as a Case Study}, - shorttitle = {Landscape Effects on Spatial Dynamics}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Stevens, Virginie M. and Coulon, Aur{\'e}lie}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0022}, - abstract = {This chapter discusses the two reasons that make dispersal a key process in population dynamics: first, the movement of individuals impacts population dynamics, and second, dispersal movement also has important consequences for the degree of genetic mixing expected among populations, and hence on the genetic variation found within populations. This chapter, in the attempt to address the question of what landscape changes may affect spatial dynamics, presents an example of a species with limited mobility and one which has been extensively studied in this regard \textemdash{} the natterjack toad. Firstly, empirical studies were used to measure the effects of landscape elements on movement patterns. Secondly, the results from these empirical studies were used to model the effects of landscape on movement patterns. Thirdly, the model was validated through a comparison of the movements predicted by the models with those estimated by the analysis of gene flow among populations. Finally, the model was used to predict natterjack population dynamics under different landscape management scenarios.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {dispersal movement,genetic mixing,genetic variation,natterjack toad,population dynamics,spatial dynamics} -} - -@article{stevensMetaanalysisDispersalButterflies2010, - title = {A Meta-Analysis of Dispersal in Butterflies}, - author = {Stevens, Virginie M. and Turlure, Camille and Baguette, Michel}, - year = {2010}, - journal = {Biological Reviews}, - volume = {85}, - number = {3}, - pages = {625--642}, - issn = {1469-185X}, - doi = {10.1111/j.1469-185X.2009.00119.x}, - abstract = {Dispersal has recently gained much attention because of its crucial role in the conservation and evolution of species facing major environmental changes such as habitat loss and fragmentation, climate change, and their interactions. Butterflies have long been recognized as ideal model systems for the study of dispersal and a huge amount of data on their ability to disperse has been collected under various conditions. However, no single `best' method seems to exist leading to the co-occurrence of various approaches to study butterfly mobility, and therefore a high heterogeneity among data on dispersal across this group. Accordingly, we here reviewed the knowledge accumulated on dispersal and mobility in butterflies, to detect general patterns. This meta-analysis specifically addressed two questions. Firstly, do the various methods provide a congruent picture of how dispersal ability is distributed across species? Secondly, is dispersal species-specific? Five sources of data were analysed: multisite mark-recapture experiments, genetic studies, experimental assessments, expert opinions, and transect surveys. We accounted for potential biases due to variation in genetic markers, sample sizes, spatial scales or the level of habitat fragmentation. We showed that the various dispersal estimates generally converged, and that the relative dispersal ability of species could reliably be predicted from their relative vagrancy (records of butterflies outside their normal habitat). Expert opinions gave much less reliable estimates of realized dispersal but instead reflected migration propensity of butterflies. Within-species comparisons showed that genetic estimates were relatively invariable, while other dispersal estimates were highly variable. This latter point questions dispersal as a species-specific, invariant trait.}, - langid = {english}, - keywords = {butterfly,dispersal,genetic structure,Lepidoptera,mark-release-recapture,meta-analysis,migration,mobility,vagrancy}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1469-185X.2009.00119.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\GSJ39H3B\\Stevens et al. - 2010 - A meta-analysis of dispersal in butterflies.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\5MP6UBQH\\j.1469-185X.2009.00119.html} -} - -@article{stevensQuantifyingFunctionalConnectivity2006, - title = {Quantifying Functional Connectivity: Experimental Assessment of Boundary Permeability for the Natterjack Toad ({{Bufo}} Calamita)}, - shorttitle = {Quantifying Functional Connectivity}, - author = {Stevens, Virginie M. and Lebouleng{\'e}, {\'E}ric and Wesselingh, Renate A. and Baguette, Michel}, - year = {2006}, - month = nov, - journal = {Oecologia}, - volume = {150}, - number = {1}, - pages = {161--171}, - issn = {1432-1939}, - doi = {10.1007/s00442-006-0500-6}, - abstract = {Like other pond-breeding amphibians, the natterjack toad (Bufo calamita) typically presents a patchy distribution. Because the species experiences high probabilities of local population extinction, its persistence within landscapes relies on both local and landscape-scale processes [dispersal allowing the (re)colonization of habitat patches]. However, the structure and composition of the matrix surrounding local populations can alter the dispersal rates between populations. As shown previously (Landscape Ecol 19:829\textendash 842, 2004), the locomotor performances of individuals at the dispersal stage depend on the nature of the component crossed: some landscape components offer high resistance to movement (high resistance or high viscosity components) whereas others allow high efficiency of movement (low resistance components). We now examine the ability of individuals to discriminate between landscape components and select low-resistance components. Our experimental study investigates the ways in which young natterjack toads choose from among landscape components common to southern Belgium. Toadlets (the dispersal stage) were experimentally confronted with boundaries between surrogates of sandy soils, roads, forests, agricultural fields and intensive pastures. Our results show: 1 the ability of toadlets to react to boundaries between landscape components, 2 differences in permeability among boundaries, and 3 our inability to predict correctly the permeability of the boundaries from the patch-specific resistance assessed previously. Toadlets showed a preference for bare environments and forests, whereas they avoided the use of agricultural environments. This pattern could not be explained in terms of patch-specific resistance only, and is discussed in terms of mortality risks and resource availability in the various landscape components, with particular attention to repercussions on conservation strategies.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\XFCWCPEX\\Stevens et al. - 2006 - Quantifying functional connectivity experimental .pdf} -} - -@article{thomasClimateClimateChange2010, - title = {Climate, Climate Change and Range Boundaries}, - author = {Thomas, Chris D.}, - year = {2010}, - journal = {Diversity and Distributions}, - volume = {16}, - number = {3}, - pages = {488--495}, - issn = {1472-4642}, - doi = {10.1111/j.1472-4642.2010.00642.x}, - abstract = {Aim A major issue in ecology, biogeography, conservation biology and invasion biology is the extent to which climate, and hence climate change, contributes to the positions of species' range boundaries. Thirty years of rapid climate warming provides an excellent opportunity to test the hypothesis that climate acts as a major constraint on range boundaries, treating anthropogenic climate change as a large-scale experiment. Location UK and global data, and literature. Methods This article analyses the frequencies with which species have responded to climate change by shifting their range boundaries. It does not consider abundance or other changes. Results For the majority of species, boundaries shifted in a direction that is concordant with being a response to climate change; 84\% of all species have expanded in a polewards direction as the climate has warmed (for the best data available), which represents an excess of 68\% of species after taking account of the fact that some species may shift in this direction for non-climatic reasons. Other data sets also show an excess of animal range boundaries expanding in the expected direction. Main conclusions Climate is likely to contribute to the majority of terrestrial and freshwater range boundaries. This generalization excludes species that are endemic to specific islands, lakes, rivers and geological outcrops, although these local endemics are not immune from the effects of climate change. The observed shifts associated with recent climate change are likely to have been brought about through both direct and indirect (changes to species' interactions) effects of climate; indirect effects are discussed in relation to laboratory experiments and invasive species. Recent observations of range boundary shifts are consistent with the hypothesis that climate contributes to, but is not the sole determinant of, the position of the range boundaries of the majority of terrestrial animal species.}, - langid = {english}, - keywords = {Adaptation,biological invasions,climate warming,distributions,extinction,range margins,thermal ecology}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00642.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\QPSUM57U\\Thomas - 2010 - Climate, climate change and range boundaries.pdf} -} - -@article{thomasExtinctionRiskClimate2004, - title = {Extinction Risk from Climate Change}, - author = {Thomas, Chris D. and Cameron, Alison and Green, Rhys E. and Bakkenes, Michel and Beaumont, Linda J. and Collingham, Yvonne C. and Erasmus, Barend F. N. and {de Siqueira}, Marinez Ferreira and Grainger, Alan and Hannah, Lee and Hughes, Lesley and Huntley, Brian and {van Jaarsveld}, Albert S. and Midgley, Guy F. and Miles, Lera and {Ortega-Huerta}, Miguel A. and Townsend Peterson, A. and Phillips, Oliver L. and Williams, Stephen E.}, - year = {2004}, - month = jan, - journal = {Nature}, - volume = {427}, - number = {6970}, - pages = {145--148}, - publisher = {{Nature Publishing Group}}, - issn = {1476-4687}, - doi = {10.1038/nature02121}, - abstract = {Climate change over the past {$\sim$}30 years has produced numerous shifts in the distributions and abundances of species1,2 and has been implicated in one species-level extinction3. Using projections of species' distributions for future climate scenarios, we assess extinction risks for sample regions that cover some 20\% of the Earth's terrestrial surface. Exploring three approaches in which the estimated probability of extinction shows a power-law relationship with geographical range size, we predict, on the basis of mid-range climate-warming scenarios for 2050, that 15\textendash 37\% of species in our sample of regions and taxa will be `committed to extinction'. When the average of the three methods and two dispersal scenarios is taken, minimal climate-warming scenarios produce lower projections of species committed to extinction ({$\sim$}18\%) than mid-range ({$\sim$}24\%) and maximum-change ({$\sim$}35\%) scenarios. These estimates show the importance of rapid implementation of technologies to decrease greenhouse gas emissions and strategies for carbon sequestration.}, - copyright = {2003 Macmillan Magazines Ltd.}, - langid = {english}, - annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\HI7CVX3F\\Thomas et al. - 2004 - Extinction risk from climate change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PSWK38HT\\nature02121.html} -} - -@article{thomasTranslocationSpeciesClimate2011, - title = {Translocation of Species, Climate Change, and the End of Trying to Recreate Past Ecological Communities}, - author = {Thomas, Chris D.}, - year = {2011}, - month = may, - journal = {Trends in Ecology \& Evolution}, - volume = {26}, - number = {5}, - pages = {216--221}, - issn = {1872-8383}, - doi = {10.1016/j.tree.2011.02.006}, - abstract = {Many of the species at greatest risk of extinction from anthropogenic climate change are narrow endemics that face insurmountable dispersal barriers. In this review, I argue that the only viable option to maintain populations of these species in the wild is to translocate them to other locations where the climate is suitable. Risks of extinction to native species in destination areas are small, provided that translocations take place within the same broad geographic region and that the destinations lack local endemics. Biological communities in these areas are in the process of receiving many hundreds of other immigrant species as a result of climate change; ensuring that some of the 'new' inhabitants are climate-endangered species could reduce the net rate of extinction.}, - langid = {english}, - pmid = {21411178}, - keywords = {Biota,Climate Change,Conservation of Natural Resources,Environment,Extinction; Biological} -} - -@article{thuillerBIOMODPlatformEnsemble2009a, - title = {{{BIOMOD}} \textendash{} a Platform for Ensemble Forecasting of Species Distributions}, - author = {Thuiller, Wilfried and Lafourcade, Bruno and Engler, Robin and Ara{\'u}jo, Miguel B.}, - year = {2009}, - journal = {Ecography}, - volume = {32}, - number = {3}, - pages = {369--373}, - issn = {1600-0587}, - doi = {10.1111/j.1600-0587.2008.05742.x}, - abstract = {BIOMOD is a computer platform for ensemble forecasting of species distributions, enabling the treatment of a range of methodological uncertainties in models and the examination of species-environment relationships. BIOMOD includes the ability to model species distributions with several techniques, test models with a wide range of approaches, project species distributions into different environmental conditions (e.g. climate or land use change scenarios) and dispersal functions. It allows assessing species temporal turnover, plot species response curves, and test the strength of species interactions with predictor variables. BIOMOD is implemented in R and is a freeware, open source, package.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2008.05742.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\V2PLBLC9\\Thuiller et al. - 2009 - BIOMOD – a platform for ensemble forecasting of sp.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\YY2UVVUC\\j.1600-0587.2008.05742.html} -} - -@article{thuillerClimateChangeThreats2005, - title = {Climate Change Threats to Plant Diversity in {{Europe}}}, - author = {Thuiller, Wilfried and Lavorel, Sandra and Ara{\'u}jo, Miguel B. and Sykes, Martin T. and Prentice, I. Colin}, - year = {2005}, - month = jun, - journal = {Proceedings of the National Academy of Sciences}, - volume = {102}, - number = {23}, - pages = {8245--8250}, - publisher = {{National Academy of Sciences}}, - issn = {0027-8424, 1091-6490}, - doi = {10.1073/pnas.0409902102}, - abstract = {Climate change has already triggered species distribution shifts in many parts of the world. Increasing impacts are expected for the future, yet few studies have aimed for a general understanding of the regional basis for species vulnerability. We projected late 21st century distributions for 1,350 European plants species under seven climate change scenarios. Application of the International Union for Conservation of Nature and Natural Resources Red List criteria to our projections shows that many European plant species could become severely threatened. More than half of the species we studied could be vulnerable or threatened by 2080. Expected species loss and turnover per pixel proved to be highly variable across scenarios (27-42\% and 45-63\% respectively, averaged over Europe) and across regions (2.5-86\% and 17-86\%, averaged over scenarios). Modeled species loss and turnover were found to depend strongly on the degree of change in just two climate variables describing temperature and moisture conditions. Despite the coarse scale of the analysis, species from mountains could be seen to be disproportionably sensitive to climate change ({$\approx$}60\% species loss). The boreal region was projected to lose few species, although gaining many others from immigration. The greatest changes are expected in the transition between the Mediterranean and Euro-Siberian regions. We found that risks of extinction for European plants may be large, even in moderate scenarios of climate change and despite inter-model variability.}, - chapter = {Biological Sciences}, - copyright = {Copyright \textcopyright{} 2005, The National Academy of Sciences. Freely available online through the PNAS open access option.}, - langid = {english}, - pmid = {15919825}, - keywords = {Intergovernmental Panel on Climate Change storylines,niche-based model,species extinction,species turnover}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\6GXYGT85\\Thuiller et al. - 2005 - Climate change threats to plant diversity in Europ.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\5WF56L7K\\8245.html} -} - -@article{thuillerPredictingGlobalChange2008, - title = {Predicting Global Change Impacts on Plant Species' Distributions: {{Future}} Challenges}, - shorttitle = {Predicting Global Change Impacts on Plant Species' Distributions}, - author = {Thuiller, Wilfried and Albert, C{\'e}cile and Ara{\'u}jo, Miguel B. and Berry, Pam M. and Cabeza, Mar and Guisan, Antoine and Hickler, Thomas and Midgley, Guy F. and Paterson, James and Schurr, Frank M. and Sykes, Martin T. and Zimmermann, Niklaus E.}, - year = {2008}, - month = mar, - journal = {Perspectives in Plant Ecology, Evolution and Systematics}, - series = {Space Matters - {{Novel}} Developments in Plant Ecology through Spatial Modelling}, - volume = {9}, - number = {3}, - pages = {137--152}, - issn = {1433-8319}, - doi = {10.1016/j.ppees.2007.09.004}, - abstract = {Given the rate of projected environmental change for the 21st century, urgent adaptation and mitigation measures are required to slow down the on-going erosion of biodiversity. Even though increasing evidence shows that recent human-induced environmental changes have already triggered species' range shifts, changes in phenology and species' extinctions, accurate projections of species' responses to future environmental changes are more difficult to ascertain. This is problematic, since there is a growing awareness of the need to adopt proactive conservation planning measures using forecasts of species' responses to future environmental changes. There is a substantial body of literature describing and assessing the impacts of various scenarios of climate and land-use change on species' distributions. Model predictions include a wide range of assumptions and limitations that are widely acknowledged but compromise their use for developing reliable adaptation and mitigation strategies for biodiversity. Indeed, amongst the most used models, few, if any, explicitly deal with migration processes, the dynamics of population at the ``trailing edge'' of shifting populations, species' interactions and the interaction between the effects of climate and land-use. In this review, we propose two main avenues to progress the understanding and prediction of the different processes occurring on the leading and trailing edge of the species' distribution in response to any global change phenomena. Deliberately focusing on plant species, we first explore the different ways to incorporate species' migration in the existing modelling approaches, given data and knowledge limitations and the dual effects of climate and land-use factors. Secondly, we explore the mechanisms and processes happening at the trailing edge of a shifting species' distribution and how to implement them into a modelling approach. We finally conclude this review with clear guidelines on how such modelling improvements will benefit conservation strategies in a changing world.}, - langid = {english}, - keywords = {Conservation planning,Global change,Habitat models,Process-based models,Species distribution modeling}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\76H4F7LQ\\S1433831907000376.html} -} - -@article{thuillerRoadMapIntegrating2013, - title = {A Road Map for Integrating Eco-Evolutionary Processes into Biodiversity Models}, - author = {Thuiller, Wilfried and M{\"u}nkem{\"u}ller, Tamara and Lavergne, S{\'e}bastien and Mouillot, David and Mouquet, Nicolas and Schiffers, Katja and Gravel, Dominique}, - year = {2013}, - journal = {Ecology Letters}, - volume = {16}, - number = {s1}, - pages = {94--105}, - issn = {1461-0248}, - doi = {10.1111/ele.12104}, - abstract = {The demand for projections of the future distribution of biodiversity has triggered an upsurge in modelling at the crossroads between ecology and evolution. Despite the enthusiasm around these so-called biodiversity models, most approaches are still criticised for not integrating key processes known to shape species ranges and community structure. Developing an integrative modelling framework for biodiversity distribution promises to improve the reliability of predictions and to give a better understanding of the eco-evolutionary dynamics of species and communities under changing environments. In this article, we briefly review some eco-evolutionary processes and interplays among them, which are essential to provide reliable projections of species distributions and community structure. We identify gaps in theory, quantitative knowledge and data availability hampering the development of an integrated modelling framework. We argue that model development relying on a strong theoretical foundation is essential to inspire new models, manage complexity and maintain tractability. We support our argument with an example of a novel integrated model for species distribution modelling, derived from metapopulation theory, which accounts for abiotic constraints, dispersal, biotic interactions and evolution under changing environmental conditions. We hope such a perspective will motivate exciting and novel research, and challenge others to improve on our proposed approach.}, - langid = {english}, - keywords = {Biotic interactions,hybrid modelling,metacommunity,rapid adaptation,species distribution}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ele.12104}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZIYWEFA9\\Thuiller et al. - 2013 - A road map for integrating eco-evolutionary proces.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\T4IQJ2MV\\ele.html} -} - -@article{travisAcceleratingInvasionRates2009, - title = {Accelerating Invasion Rates Result from the Evolution of Density-Dependent Dispersal}, - author = {Travis, Justin M. J. and Mustin, Karen and Benton, Tim G. and Dytham, Calvin}, - year = {2009}, - month = jul, - journal = {Journal of Theoretical Biology}, - volume = {259}, - number = {1}, - pages = {151--158}, - issn = {0022-5193}, - doi = {10.1016/j.jtbi.2009.03.008}, - abstract = {Evolutionary processes play an important role in shaping the dynamics of range expansions, and selection on dispersal propensity has been demonstrated to accelerate rates of advance. Previous theory has considered only the evolution of unconditional dispersal rates, but dispersal is often more complex. For example, many species emigrate in response to crowding. Here, we use an individual-based model to investigate the evolution of density dependent dispersal into empty habitat, such as during an invasion. The landscape is represented as a lattice and dispersal between populations follows a stepping-stone pattern. Individuals carry three `genes' that determine their dispersal strategy when experiencing different population densities. For a stationary range we obtain results consistent with previous theoretical studies: few individuals emigrate from patches that are below equilibrium density. However, during the range expansion of a previously stationary population, we observe evolution towards dispersal strategies where considerable emigration occurs well below equilibrium density. This is true even for moderate costs to dispersal, and always results in accelerating rates of range expansion. Importantly, the evolution we observe at an expanding front depends upon fitness integrated over several generations and cannot be predicted by a consideration of lifetime reproductive success alone. We argue that a better understanding of the role of density dependent dispersal, and its evolution, in driving population dynamics is required especially within the context of range expansions.}, - langid = {english}, - keywords = {Climate change,Dispersal,Evolution,Exotic,Fitness,Invasion,Lifetime reproductive success,Migration,Range shifting}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\CB74RFNV\\Travis et al. - 2009 - Accelerating invasion rates result from the evolut.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\JDIHVPXQ\\S0022519309001155.html} -} - -@article{travisClimateChangeHabitat2003, - title = {Climate Change and Habitat Destruction: A Deadly Anthropogenic Cocktail}, - shorttitle = {Climate Change and Habitat Destruction}, - author = {Travis, J. M. J.}, - year = {2003}, - month = mar, - journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, - volume = {270}, - number = {1514}, - pages = {467--473}, - publisher = {{Royal Society}}, - doi = {10.1098/rspb.2002.2246}, - abstract = {Climate change and habitat destruction are two of the greatest threats to global biodiversity. Lattice models have been used to investigate how hypothetical species with different characteristics respond to habitat loss. The main result shows that a sharp threshold in habitat availability exists below which a species rapidly becomes extinct. Here, a similar modelling approach is taken to establish what determines how species respond to climate change. A similar threshold exists for the rate of climate change as has been observed for habitat loss\textemdash patch occupancy remains high up to a critical rate of climate change, beyond which species extinction becomes likely. Habitat specialists, especially those of relatively poor colonizing ability are least able to keep pace with climate change. The interaction between climate change and habitat loss might be disastrous. During climate change, the habitat threshold occurs sooner. Similarly, species suffer more from climate change in a fragmented habitat.}, - keywords = {dispersal,extinction thresholds,metapopulation,migration,patch occupancy,spatially explicit}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\CSFELH54\\Travis - 2003 - Climate change and habitat destruction a deadly a.pdf} -} - -@article{travisColorNoiseEvolution2001, - title = {The Color of Noise and the Evolution of Dispersal}, - author = {Travis, Justin M. J.}, - year = {2001}, - month = mar, - journal = {Ecological Research}, - volume = {16}, - number = {1}, - pages = {157--163}, - issn = {1440-1703}, - doi = {10.1046/j.1440-1703.2001.00381.x}, - abstract = {The process of dispersal is vital for the long-term persistence of all species and hence is a ubiquitous characteristic of living organisms. A present challenge is to increase our understanding of the factors that govern the dispersal rate of individuals. Here I extend previous work by incorporating both spatial and temporal heterogeneity in terms of patch quality into a spatially explicit lattice model. The spatial heterogeneity is modeled as a two-dimensional fractal landscape, while temporal heterogeneity is included by using one-dimensional noise. It was found that the color of both the spatial and temporal variability influences the rate of dispersal selected as reddening of the temporal noise leads to a reduction in dispersal, while reddening of spatial variability results in an increase in the dispersal rate. These results demonstrate that the color of environmental noise should be considered in future studies looking at the evolution of life history characteristics.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\D6WTTYXA\\Travis - 2001 - The color of noise and the evolution of dispersal.pdf} -} - -@incollection{travisDispersalClimateChange2012, - title = {Dispersal and Climate Change: A Review of Theory}, - shorttitle = {Dispersal and Climate Change}, - booktitle = {Dispersal {{Ecology}} and {{Evolution}}}, - author = {Travis, Justin M. J. and Dytham, Calvin}, - year = {2012}, - publisher = {{Oxford University Press}}, - address = {{Oxford}}, - doi = {10.1093/acprof:oso/9780199608898.003.0026}, - abstract = {This chapter focuses on how models of dispersal can improve our understanding, prediction, and management of species' range shifts under environmental change. Most models of species distribution and spread represent dispersal quite crudely; this chapter begins with some thoughts on how these might be integrated with more sophisticated models of dispersal. The importance of inter-individual variability in dispersal and the role that dispersal evolution may play in range shifting is considered. An example of evolutionary entrapment that arises when species expand their ranges over fragmented landscapes is then presented. Finally, potential management strategies that may be used to promote range shifting are considered.}, - isbn = {978-0-19-960889-8}, - langid = {english}, - keywords = {environmental change,evolutionary entrapment,inter-individual variability,models of dispersal,range shifts,species distribution} -} - -@article{travisDispersalEvolutionInvasions2002, - title = {Dispersal Evolution during Invasions}, - author = {Travis, Justin M J and Dytham, Calvin}, - year = {2002}, - journal = {Evolutionary Ecology Research}, - volume = {4}, - number = {8}, - pages = {1119--1129}, - publisher = {{EVOLUTIONARY ECOLOGY LTD}}, - issn = {1522-0613}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\6RKGTXGN\\dispersal-evolution-during-invasions.html} -} - -@article{travisDispersalSpeciesResponses2014, - title = {Dispersal and Species' Responses to Climate Change}, - author = {Travis, J. M. J. and Bocedi, Greta and Baguette, Michel and Barto{\'n}, Kamil and Bonte, Dries and Boulangeat, Isabelle and Hodgson, Jenny A. and Kubisch, Alexander and Penteriani, Vincenzo and Saastamoinen, Marjo and Stevens, Virginie M. and Bullock, James M.}, - year = {2014}, - journal = {Oikos}, - volume = {122}, - number = {11}, - pages = {1532--1540}, - issn = {1600-0706}, - doi = {10.1111/j.1600-0706.2013.00399.x}, - abstract = {Dispersal is fundamental in determining biodiversity responses to rapid climate change, but recently acquired ecological and evolutionary knowledge is seldom accounted for in either predictive methods or conservation planning. We emphasise the accumulating evidence for direct and indirect impacts of climate change on dispersal. Additionally, evolutionary theory predicts increases in dispersal at expanding range margins, and this has been observed in a number of species. This multitude of ecological and evolutionary processes is likely to lead to complex responses of dispersal to climate change. As a result, improvement of models of species' range changes will require greater realism in the representation of dispersal. Placing dispersal at the heart of our thinking will facilitate development of conservation strategies that are resilient to climate change, including landscape management and assisted colonisation. Synthesis This article seeks synthesis across the fields of dispersal ecology and evolution, species distribution modelling and conservation biology. Increasing effort focuses on understanding how dispersal influences species' responses to climate change. Importantly, though perhaps not broadly widely-recognised, species' dispersal characteristics are themselves likely to alter during rapid climate change. We compile evidence for direct and indirect influences that climate change may have on dispersal, some ecological and others evolutionary. We emphasise the need for predictive modelling to account for this dispersal realism and highlight the need for conservation to make better use of our existing knowledge related to dispersal.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2013.00399.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\2NKNEJ2K\\Travis et al. - 2013 - Dispersal and species’ responses to climate change.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\8Z9KM4GL\\j.1600-0706.2013.00399.html} -} - -@article{travisEvolutionDensitydependentDispersal1999, - title = {The Evolution of Density-Dependent Dispersal}, - author = {Travis, J. M. J. and Murrell, D. J. and Dytham, C.}, - year = {1999}, - month = sep, - journal = {Proceedings of the Royal Society B: Biological Sciences}, - volume = {266}, - number = {1431}, - pages = {1837}, - issn = {0962-8452}, - doi = {10.1098/rspb.1999.0854}, - abstract = {Despite a large body of empirical evidence suggesting that the dispersal rates of many species depend on population density, most metapopulation models assume a density-independent rate of dispersal. Similarly, studies investigating the evolution of dispersal have concentrated almost exclusively on density-independent rates of dispersal. We develop a model that allows density-dependent dispersal strategies to evolve. Our results demonstrate that a density-dependent dispersal strategy almost always evolves and that the form of the relationship depends on reproductive rate, type of competition, size of subpopulation equilibrium densities and cost of dispersal. We suggest that future metapopulation models should account for density-dependent dispersal}, - pmcid = {PMC1690220}, - pmid = {null}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\Q5VMNQXD\\Travis et al. - 1999 - The evolution of density-dependent dispersal.pdf} -} - -@article{travisHabitatPersistenceHabitat1999, - title = {Habitat Persistence, Habitat Availability and the Evolution of Dispersal}, - author = {Travis, J. M. J. and Dytham, C.}, - year = {1999}, - journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences}, - number = {266}, - pages = {723--728}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\8JYPG8Q5\\rspb.1999.html} -} - -@article{travisImprovingPredictionManagement2011a, - title = {Improving Prediction and Management of Range Expansions by Combining Analytical and Individual-Based Modelling Approaches}, - author = {Travis, J. M. J. and Harris, Catriona M. and Park, Kirsty J. and Bullock, James M.}, - year = {2011}, - journal = {Methods in Ecology and Evolution}, - volume = {2}, - number = {5}, - pages = {477--488}, - issn = {2041-210X}, - doi = {10.1111/j.2041-210X.2011.00104.x}, - abstract = {1. Improving the understanding, prediction and management of range expansions is a key challenge for ecology. Over recent years, there has been a rapid increase in modelling effort focussed on range expansions and a shift from predominantly theoretical developments towards application. This is especially the case in the field of invasion biology and also in relation to reintroductions and species' responses to climate change. 2. While earlier models were exclusively analytical, individual-based models (IBMs) are now increasingly widely used. We argue that instead of being viewed as competing methodologies, analytical and individual-based methods can valuably be used in conjunction. 3. We use a mechanistic wind dispersal model to generate age-specific dispersal kernels for the invasive shrub, Rhododendron ponticum. To demonstrate the utility of employing both modelling approaches, this information along with demographic parameters is incorporated into an IBM and an analytical, integrodifference model. From both models, the equilibrium rate of spread is calculated. 4. Estimates of wavespeeds were similar for the two models, although slower rates of spread were consistently projected by the IBM. Further, our results demonstrate the wavespeed to be sensitive to the characterisation of age structure in the model; when few age classes are used, much higher rates of spread are projected. 5. The analytical model is extremely efficient at providing elasticity analysis of the wavespeed, which can provide helpful information for management. We gain qualitatively similar results using the IBM but obtaining the results is time-consuming and, because the model is stochastic, they are noisy and harder to interpret. We argue that analytically derived transient elasticity analyses are needed for the many cases where success of control is measured on a relatively short time horizon. 6. To demonstrate the flexibility of the IBM approach, we run it on a real landscape comprising different habitat types. The comparison of two different control scenarios is an example of the utility of this approach for more tactical applications. 7. As a general conclusion of the study, we emphasise that analytical and individual-based approaches offer different, but complementary, advantages and suggest how their joint use can facilitate the improvement in biodiversity management at a range of spatial scales.}, - langid = {english}, - keywords = {analytical model,climate change,demography,invasion,population spread,reintroduction,stochastic model}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2011.00104.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\YUSBIRYM\\Travis et al. - 2011 - Improving prediction and management of range expan.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\LIJ5W48A\\j.2041-210X.2011.00104.html} -} - -@article{travisMechanisticUnderstandingDispersal2010, - title = {Towards a Mechanistic Understanding of Dispersal Evolution in Plants: Conservation Implications}, - shorttitle = {Towards a Mechanistic Understanding of Dispersal Evolution in Plants}, - author = {Travis, Justin M. J. and Smith, Hannah S. and Ranwala, Sudheera M. W.}, - year = {2010}, - month = jul, - journal = {Diversity and Distributions}, - volume = {16}, - number = {4}, - pages = {690--702}, - publisher = {{WILEY-BLACKWELL}}, - doi = {10.1111/j.1472-4642.2010.00674.x}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\BRLRUS4F\\towards-a-mechanistic-understanding-of-dispersal-evolution-in-pla.html} -} - -@article{travisMethodSimulatingPatterns2004, - title = {A {{Method}} for {{Simulating Patterns}} of {{Habitat Availability}} at {{Static}} and {{Dynamic Range Margins}}}, - author = {Travis, J. M. J. and Dytham, C.}, - year = {2004}, - journal = {Oikos}, - volume = {104}, - number = {2}, - pages = {410--416}, - publisher = {{[Nordic Society Oikos, Wiley]}}, - issn = {0030-1299}, - abstract = {The dynamics of populations inhabiting range margins are likely to be critically important in determining the response of species to climate change. Despite this, there is a lack of both empirical and theoretical work that examines the behaviour of these populations. Populations living on the edge of a species' range frequently inhabit a more patchily distributed habitat than those that live closer to the centre of the range. This difference is likely to play an important role in determining the dynamics of range margin populations, both when the range is static and when it is dynamic, for example shifting in response to climate change. Here, we present a simple method that simulates the distribution of suitable habitat sites at the edge of a range. Habitat availability is determined as a function of both latitudinal and local environmental variability, and the relative importance of the two can be adjusted. The method is readily extended to describe shifting habitat availability during a period of climate change. We suggest that there is a need for a greater effort to examine the ecology of range margin populations, and believe that the method presented here could be of considerable use in future theoretical studies.} -} - -@article{travisModellingDispersalEcoevolutionary2012a, - title = {Modelling Dispersal: An Eco-Evolutionary Framework Incorporating Emigration, Movement, Settlement Behaviour and the Multiple Costs Involved}, - shorttitle = {Modelling Dispersal}, - author = {Travis, J. M. J. and Barto{\'n}, Kamil A. and Benton, Tim G. and Clobert, Jean and Delgado, Maria M. and Dytham, Calvin and Hovestadt, Thomas and Palmer, Stephen C. F. and Dyck, Hans Van and Bonte, Dries}, - year = {2012}, - journal = {Methods in Ecology and Evolution}, - volume = {3}, - number = {4}, - pages = {628--641}, - issn = {2041-210X}, - doi = {10.1111/j.2041-210X.2012.00193.x}, - abstract = {1. Understanding the causes and consequences of dispersal remains a central topic in ecology and evolution. However, a mismatch exists between our empirical understanding of the complexity of dispersal and our representation of dispersal in models. While the empirical literature is replete with examples of condition dependence at the emigration, movement and settlement phases, models rarely incorporate realism or complexity to this degree. Nor do models often include the different costs associated with dispersal, which can themselves be linked to one or more of the three key phases. 2. Here, we propose that by explicitly accounting for emigration, movement and settlement (and the multiple costs associated with each) we can substantially improve our understanding of both the dispersal process itself and how dispersal traits trade off against other life-history characteristics. We explore some of these issues conceptually, before presenting illustrative results gained from a flexible individual-based model which incorporates considerable dispersal complexity. 3. These results emphasise the nonlinear interplay between the different dispersal stages. For example, we find that investment in movement ability (at a cost to fecundity) depends upon the propensity to emigrate (and vice versa). However, owing to selection acting at the metapopulation level as well as at the individual level, the relationship between the two is not straightforward. Importantly, the shape of the trade-off between movement ability and reproductive potential can strongly influence the joint evolution of dispersal parameters controlling the degree of investment in safer movement, the probability of emigration and the straightness of movement. 4. Our results highlight that the joint evolution of dispersal characteristics can have major implications for spatial population dynamics and we argue that, in addition to increasing our fundamental biological understanding, a new generation of dispersal modelling, which exploits recent empirical advances, can substantially improve our ability to predict and manage the response of species to environmental change.}, - langid = {english}, - keywords = {evolutionary biology,life-history,migration,modelling,population ecology,trade off,transition}, - annotation = {\_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2012.00193.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\34Z5UIBP\\Travis et al. - 2012 - Modelling dispersal an eco-evolutionary framework.pdf} -} - -@article{turlureSpeciesSexspecificAdjustments2011, - title = {Species- and Sex-Specific Adjustments of Movement Behavior to Landscape Heterogeneity in Butterflies}, - author = {Turlure, Camille and Baguette, M and Stevens, Virginie M and Maes, D}, - year = {2011}, - journal = {Behavioral Ecology}, - number = {22}, - pages = {967--975} -} - -@article{turnerUsefulnessSpatiallyExplicit1995, - title = {Usefulness of {{Spatially Explicit Population Models}} in {{Land Management}}}, - author = {Turner, Monica G. and Arthaud, Greg J. and Engstrom, R. Todd and Hejl, Sallie J. and Liu, Jianguo and Loeb, Susan and McKelvey, Kevin}, - year = {1995}, - journal = {Ecological Applications}, - volume = {5}, - number = {1}, - pages = {12--16}, - issn = {1939-5582}, - doi = {10.2307/1942046}, - abstract = {Land managers need new tools, such as spatial models, to aid them in their decision-making processes because managing for biodiversity, water quality, or natural disturbance is challenging, and landscapes are complex and dynamic. Spatially explicit population models are helpful to managers because these models consider both species-habitat relationships and the arrangement of habitats in space and time. The visualizations that typically accompany spatially explicit models also permit managers to 'see' the effects of alternative management strategies on populations of interest. However, the expense entailed in developing the data bases required for spatially explicit models may limit widespread implementation. In addition, many of the models are developed for one or a few species, and dealing with multiple species in a landscape remains a significant challenge. To be most useful to land managers, spatially explicit population models should be user friendly, easily portable, operate on spatial and temporal scales appropriate to management decisions, and use input and output variables that can be measured affordably.}, - langid = {english}, - annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.2307/1942046}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\87Q2XHLU\\1942046.html} -} - -@article{urbanMovingForwardDispersal2013, - title = {Moving Forward: Dispersal and Species Interactions Determine Biotic Responses to Climate Change}, - shorttitle = {Moving Forward}, - author = {Urban, Mark C. and Zarnetske, Phoebe L. and Skelly, David K.}, - year = {2013}, - month = sep, - journal = {Annals of the New York Academy of Sciences}, - volume = {1297}, - pages = {44--60}, - issn = {1749-6632}, - doi = {10.1111/nyas.12184}, - abstract = {We need accurate predictions about how climate change will alter species distributions and abundances around the world. Most predictions assume simplistic dispersal scenarios and ignore biotic interactions. We argue for incorporating the complexities of dispersal and species interactions. Range expansions depend not just on mean dispersal, but also on the shape of the dispersal kernel and the population's growth rate. We show how models using species-specific dispersal can produce more accurate predictions than models applying all-or-nothing dispersal scenarios. Models that additionally include species interactions can generate distinct outcomes. For example, species interactions can slow climate tracking and produce more extinctions than models assuming no interactions. We conclude that (1) just knowing mean dispersal is insufficient to predict biotic responses to climate change, and (2) considering interspecific dispersal variation and species interactions jointly will be necessary to anticipate future changes to biological diversity. We advocate for collecting key information on interspecific dispersal differences and strong biotic interactions so that we can build the more robust predictive models that will be necessary to inform conservation efforts as climates continue to change.}, - langid = {english}, - pmid = {23819864}, - keywords = {Animal Distribution,Animals,Biodiversity,Climate,Climate Change,community ecology,dispersal kernels,Earth; Planet,Ecology,Ecosystem,landscape fragmentation,Models; Theoretical,movement,Seed Dispersal,Species Specificity,Temperature} -} - -@article{vandermeerMetapopulationDynamicsQuality2001, - title = {Metapopulation Dynamics and the Quality of the Matrix}, - author = {Vandermeer, J. and Carvajal, R.}, - year = {2001}, - month = sep, - journal = {The American Naturalist}, - volume = {158}, - number = {3}, - pages = {211--220}, - issn = {1537-5323}, - doi = {10.1086/321318}, - abstract = {In both strictly theoretical and more applied contexts it has been historically assumed that metapopulations exist within a featureless, uninhabitable matrix and that dynamics within the matrix are unimportant. In this article, we explore the range of theoretical consequences that result from relaxing this assumption. We show, with a variety of modeling techniques, that matrix quality can be extremely important in determining metapopulation dynamics. A higher-quality matrix generally buffers against extinction. However, in some situations, an increase in matrix quality can generate chaotic subpopulation dynamics, where stability had been the rule in a lower-quality matrix. Furthermore, subpopulations acting as source populations in a low-quality matrix may develop metapopulation dynamics as the quality of the matrix increases. By forcing metapopulation dynamics on a formerly heterogeneous (but stable within subpopulations) population, the probability of simultaneous extinction of all subpopulations actually increases. Thus, it cannot be automatically assumed that increasing matrix quality will lower the probability of global extinction of a population.}, - langid = {english}, - pmid = {18707319} -} - -@article{vasseurColorEnvironmentalNoise2004, - title = {The {{Color}} of {{Environmental Noise}}}, - author = {Vasseur, David A. and Yodzis, Peter}, - year = {2004}, - journal = {Ecology}, - volume = {85}, - number = {4}, - pages = {1146--1152}, - issn = {1939-9170}, - doi = {10.1890/02-3122}, - abstract = {Biological populations are strongly influenced by the random variation in their environment. The spectrum of frequencies in noise is particularly important to dynamics and persistence. Here we present an analysis of the variance spectra of a wide variety of long-term time series of environmental variables. Spectra were well approximated by the inverse power law 1/f{$\beta$} within the appropriate range of frequencies f; however, the majority of spectra were ``flattened'' at low frequencies. With some qualification we found the spectral exponents ({$\beta$}) to corroborate an earlier suggestion that terrestrial noise tends to be ``white'' ({$\beta$} {$<$} 0.5), while marine environments tend to be ``red'' ({$\beta$} {$\approx$} 1) or ``brown'' ({$\beta$} {$\approx$} 2). As well, we found a tendency for whiter noise in temperate latitudes than in either high or low latitudes. These results have wide-ranging consequences for ecosystem fragility and species conservation.}, - langid = {english}, - keywords = {environmental noise,noise color,power spectrum,time series}, - annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/02-3122}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\YLPUYTCC\\Vasseur und Yodzis - 2004 - The Color of Environmental Noise.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UDWZDNLR\\02-3122.html} -} - -@article{verbeylenDoesMatrixResistance2003, - title = {Does Matrix Resistance Influence Red Squirrel ({{Sciurus}} Vulgaris l. 1758) Distribution in an Urban Landscape?}, - author = {Verbeylen, Goedele and Bruyn, Luc De and Adriaensen, F. and Matthysen, E.}, - year = {2003}, - journal = {Landscape Ecology}, - volume = {18}, - number = {8}, - pages = {791--805}, - doi = {10.1023/B:LAND.0000014492.50765.05}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\QCLURXUG\\does-matrix-resistance-influence-red-squirrel-emsciurus-vulgarise.html} -} - -@article{verboomPopulationDynamicsIncreasing2010, - title = {Population Dynamics under Increasing Environmental Variability: Implications of Climate Change for Ecological Network Design Criteria}, - shorttitle = {Population Dynamics under Increasing Environmental Variability}, - author = {Verboom, J. and Schippers, P. and Cormont, A. and Sterk, M. and Vos, C. C. and Opdam, P. F. M.}, - year = {2010}, - journal = {Landscape Ecology}, - volume = {25}, - pages = {1289--1298}, - publisher = {{Springer Verlag}}, - issn = {0921-2973}, - doi = {10.1007/s10980-010-9497-7}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\ZJPCLDCV\\population-dynamics-under-increasing-environmental-variability-im.html} -} - -@article{verckenImportanceGoodNeighborhood2012, - title = {The Importance of a Good Neighborhood: Dispersal Decisions in Juvenile Common Lizards Are Based on Social Environment}, - author = {Vercken, E. and Sinervo, B. and Clobert, J}, - year = {2012}, - journal = {Behavioral Ecology}, - number = {23}, - pages = {1059--1067} -} - -@article{vittAssistedMigrationPart2009, - title = {Assisted Migration: Part of an Integrated Conservation Strategy}, - shorttitle = {Assisted Migration}, - author = {Vitt, Pati and Havens, Kayri and {Hoegh-Guldberg}, Ove}, - year = {2009}, - month = sep, - journal = {Trends in Ecology \& Evolution}, - volume = {24}, - number = {9}, - pages = {473-474; author reply 476-477}, - issn = {0169-5347}, - doi = {10.1016/j.tree.2009.05.007}, - langid = {english}, - pmid = {19595474}, - keywords = {Animal Migration,Animals,Conservation of Natural Resources,Ecosystem,Extinction; Biological,Models; Biological,Population Dynamics} -} - -@article{vuilleumierAnimalDispersalModelling2006, - title = {Animal Dispersal Modelling: {{Handling}} Landscape Features and Related Animal Choices}, - shorttitle = {Animal Dispersal Modelling}, - author = {Vuilleumier, S{\'e}verine and Metzger, Richard}, - year = {2006}, - month = jan, - journal = {Ecological Modelling}, - volume = {190}, - number = {1}, - pages = {159--170}, - issn = {0304-3800}, - doi = {10.1016/j.ecolmodel.2005.04.017}, - abstract = {Animal dispersal in a fragmented landscape depends on the complex interaction between landscape structure and animal behavior. To better understand how individuals disperse, it is important to explicitly represent the properties of organisms and the landscape in which they move. A common approach to modelling dispersal includes representing the landscape as a grid of equal sized cells and then simulating individual movement as a correlated random walk. This approach uses a priori scale of resolution, which limits the representation of all landscape features and how different dispersal abilities are modelled. We develop a vector-based landscape model coupled with an object-oriented model for animal dispersal. In this spatially explicit dispersal model, landscape features are defined based on their geographic and thematic properties and dispersal is modelled through consideration of an organism's behavior, movement rules and searching strategies (such as visual cues). We present the model's underlying concepts, its ability to adequately represent landscape features and provide simulation of dispersal according to different dispersal abilities. We demonstrate the potential of the model by simulating two virtual species in a real Swiss landscape. This illustrates the model's ability to simulate complex dispersal processes and provides information about dispersal such as colonization probability and spatial distribution of the organism's path.}, - langid = {english}, - keywords = {Animal movement,Dispersal behavior modelling,Landscape feature,Landscape model,Object-oriented design,Spatially explicit model}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\T28YE35J\\Vuilleumier und Metzger - 2006 - Animal dispersal modelling Handling landscape fea.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\Q9PKPWXL\\S030438000500222X.html} -} - -@article{vuilleumierEffectsCognitiveAbilities2006, - title = {Effects of {{Cognitive Abilities}} on {{Metapopulation Connectivity}}}, - author = {Vuilleumier, S{\'e}verine and Perrin, Nicolas and Ranta, Esa}, - year = {2006}, - journal = {Oikos}, - volume = {113}, - number = {1}, - pages = {139--147}, - publisher = {{[Nordic Society Oikos, Wiley]}}, - issn = {0030-1299}, - abstract = {Connectivity among demes in a metapopulation depends on both the landscape's and the focal organism's properties (including its mobility and cognitive abilities). Using individual-based simulations, we contrast the consequences of three different cognitive strategies on several measures of metapopulation connectivity. Model animals search suitable habitat patches while dispersing through a model landscape made of cells varying in size, shape, attractiveness and friction. In the blind strategy, the next cell is chosen randomly among the adjacent ones. In the near-sighted strategy, the choice depends on the relative attractiveness of these adjacent cells. In the far-sighted strategy, animals may additionally target suitable patches that appear within their perceptual range. Simulations show that the blind strategy provides the best overall connectivity, and results in balanced dispersal. The near-sighted strategy traps animals into corridors that reduce the number of potential targets, thereby fragmenting metapopulations in several local clusters of demes, and inducing sink-source dynamics. This sort of local trapping is somewhat prevented in the far-sighted strategy. The colonization success of strategies depends highly on initial energy reserves: blind does best when energy is high, near-sighted wins at intermediate levels, and far-sighted outcompetes its rivals at low energy reserves. We also expect strong effects in terms of metapopulation genetics: the blind strategy generates a migrant-pool mode of dispersal that should erase local structures. By contrast, near- and far-sighted strategies generate a propagule-pool mode of dispersal and source-sink behavior that should boost structures (high genetic variance among-and low variance within local clusters of demes), particularly if metapopulation dynamics is also affected by extinction-colonization processes. Our results thus point to important effects of the cognitive ability of dispersers on the connectivity, dynamics and genetics of metapopulations.} -} - -@article{wangDispersalGlanvilleFritillary2011, - title = {Dispersal in the {{Glanville}} Fritillary Butterfly in Fragmented versus Continuous Landscapes: Comparison between Three Methods}, - shorttitle = {Dispersal in the {{Glanville}} Fritillary Butterfly in Fragmented versus Continuous Landscapes}, - author = {Wang, Rongjiang and Ovaskainen, Otso and Cao, Yundong and Chen, Houqiang and Zhou, Yan and Xu, Chongren and Hanski, Ilkka}, - year = {2011}, - journal = {Ecological Entomology}, - volume = {36}, - number = {2}, - pages = {251--260}, - issn = {1365-2311}, - doi = {10.1111/j.1365-2311.2011.01267.x}, - abstract = {1. Habitat fragmentation may lead to natural selection on dispersal rate and other life-history traits. Both theoretical analyses and empirical studies suggest that habitat fragmentation may select either for increased or decreased dispersal depending on the traits of the species and the characteristics of the landscape. 2. Dispersal and movement rates in Glanville fritillary butterflies (Melitaea cinxia) originating from a continuous landscape in China and from a highly fragmented landscape in Finland were compared using three different methods. 3. The methods included replicated mark-release-recapture (MRR) experiments conducted in the natural environments in China and Finland, tracking with harmonic radar of captive-reared but free-flying butterflies in a common environment in the field, and replicated common garden experiments in a large outdoor population cage. 4. The results were largely consistent, showing that butterflies from the more continuous landscape in China had a lower movement rate than butterflies originating from the fragmented landscape in Finland. Butterflies originating from newly-established populations in Finland moved significantly longer distances than butterflies originating from old populations in Finland or from China, demonstrating significant intra-specific variation in dispersal rate in Finland. These results are consistent with model predictions for the Glanville fritillary. 5. The tracking experiment revealed a result that would have been impossible to obtain with MRR experiments: movement rate was influenced by a significant interaction between population origin (China vs. Finland) and ambient air temperature.}, - langid = {english}, - keywords = {Diffusion model,diffusion rate,habitat fragmentation,harmonic radar,mark-release-recapture study,population cage,temperature-dependent dispersal}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2311.2011.01267.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\PQ96NJ55\\Wang et al. - 2011 - Dispersal in the Glanville fritillary butterfly in.pdf} -} - -@article{warrenRapidResponsesBritish2001, - title = {Rapid Responses of {{British}} Butterflies to Opposing Forces of Climate and Habitat Change}, - author = {Warren, M. S. and Hill, J. K. and Thomas, J. A. and Asher, J. and Fox, R. and Huntley, B. and Roy, D. B. and Telfer, M. G. and Jeffcoate, S. and Harding, P. and Jeffcoate, G. and Willis, S. G. and {Greatorex-Davies}, J. N. and Moss, D. and Thomas, C. D.}, - year = {2001}, - month = nov, - journal = {Nature}, - volume = {414}, - number = {6859}, - pages = {65--69}, - publisher = {{Nature Publishing Group}}, - issn = {1476-4687}, - doi = {10.1038/35102054}, - abstract = {Habitat degradation and climate change are thought to be altering the distributions and abundances of animals and plants throughout the world, but their combined impacts have not been assessed for any species assemblage1,2,3,4. Here we evaluated changes in the distribution sizes and abundances of 46 species of butterflies that approach their northern climatic range margins in Britain\textemdash where changes in climate and habitat are opposing forces. These insects might be expected to have responded positively to climate warming over the past 30 years, yet three-quarters of them declined: negative responses to habitat loss have outweighed positive responses to climate warming. Half of the species that were mobile and habitat generalists increased their distribution sites over this period (consistent with a climate explanation), whereas the other generalists and 89\% of the habitat specialists declined in distribution size (consistent with habitat limitation). Changes in population abundances closely matched changes in distributions. The dual forces of habitat modification and climate change are likely to cause specialists to decline, leaving biological communities with reduced numbers of species and dominated by mobile and widespread habitat generalists.}, - copyright = {2001 Macmillan Magazines Ltd.}, - langid = {english}, - annotation = {Bandiera\_abtest: a Cg\_type: Nature Research Journals Primary\_atype: Research}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\WKSFZ2JB\\Warren et al. - 2001 - Rapid responses of British butterflies to opposing.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\BPTIVUI7\\35102054.html} -} - -@article{wattsTargetingEvaluatingBiodiversity2010, - title = {Targeting and Evaluating Biodiversity Conservation Action within Fragmented Landscapes: An Approach Based on Generic Focal Species and Least-Cost Networks}, - shorttitle = {Targeting and Evaluating Biodiversity Conservation Action within Fragmented Landscapes}, - author = {Watts, Kevin and Eycott, Amy E. and Handley, Phillip and Ray, Duncan and Humphrey, Jonathan W. and Quine, Christopher P.}, - year = {2010}, - month = nov, - journal = {Landscape Ecology}, - volume = {25}, - number = {9}, - pages = {1305--1318}, - issn = {1572-9761}, - doi = {10.1007/s10980-010-9507-9}, - abstract = {The focus of biodiversity conservation is shifting to larger spatial scales in response to habitat fragmentation and the need to integrate multiple landscape objectives. Conservation strategies increasingly incorporate measures to combat fragmentation such as ecological networks. These are often based on assessment of landscape structure but such approaches fail to capitalise on the potential offered by more ecologically robust assessments of landscape function and connectivity. In this paper, we describe a modelling approach to identifying functional habitat networks and demonstrate its application to a fragmented landscape where policy initiatives seek to improve conditions for woodland biodiversity including increasing woodland cover. Functional habitat networks were defined by identifying suitable habitat and by modelling connectivity using least-cost approaches to account for matrix permeability. Generic focal species (GFS) profiles were developed, in consultation with stakeholders, to represent species with high and moderate sensitivity to fragmentation. We demonstrated how this form of analysis can be used to aid the spatial targeting of conservation actions. This `targeted' action scenario was tested for effectiveness against comparable scenarios, which were based on random and clumped actions within the same landscape. We tested effectiveness using structural metrics, network-based metrics and a published functional connectivity indicator. Targeting actions within networks resulted in the highest mean woodland area and highest connectivity indicator value. Our approach provides an assessment of landscape function by recognising the importance of the landscape matrix. It provides a framework for the targeting and evaluation of alternative conservation options, offering a pragmatic, ecologically-robust solution to a current need in applied landscape ecology.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\2WBYZF8C\\Watts et al. - 2010 - Targeting and evaluating biodiversity conservation.pdf} -} - -@article{weeksAssessingBenefitsRisks2011, - title = {Assessing the Benefits and Risks of Translocations in Changing Environments: A Genetic Perspective}, - shorttitle = {Assessing the Benefits and Risks of Translocations in Changing Environments}, - author = {Weeks, Andrew R and Sgro, Carla M and Young, Andrew G and Frankham, Richard and Mitchell, Nicki J and Miller, Kim A and Byrne, Margaret and Coates, David J and Eldridge, Mark D B and Sunnucks, Paul and Breed, Martin F and James, Elizabeth A and Hoffmann, Ary A}, - year = {2011}, - month = nov, - journal = {Evolutionary Applications}, - volume = {4}, - number = {6}, - pages = {709--725}, - issn = {1752-4571}, - doi = {10.1111/j.1752-4571.2011.00192.x}, - abstract = {Translocations are being increasingly proposed as a way of conserving biodiversity, particularly in the management of threatened and keystone species, with the aims of maintaining biodiversity and ecosystem function under the combined pressures of habitat fragmentation and climate change. Evolutionary genetic considerations should be an important part of translocation strategies, but there is often confusion about concepts and goals. Here, we provide a classification of translocations based on specific genetic goals for both threatened species and ecological restoration, separating targets based on `genetic rescue' of current population fitness from those focused on maintaining adaptive potential. We then provide a framework for assessing the genetic benefits and risks associated with translocations and provide guidelines for managers focused on conserving biodiversity and evolutionary processes. Case studies are developed to illustrate the framework.}, - pmcid = {PMC3265713}, - pmid = {22287981}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\VALJUMPM\\Weeks et al. - 2011 - Assessing the benefits and risks of translocations.pdf} -} - -@article{wiegandEffectsHabitatLoss2005, - title = {Effects of {{Habitat Loss}} and {{Fragmentation}} on {{Population Dynamics}}}, - author = {Wiegand, Thorsten and Revilla, Eloy and Moloney, Kirk A.}, - year = {2005}, - journal = {Conservation Biology}, - volume = {19}, - number = {1}, - pages = {108--121}, - publisher = {{[Wiley, Society for Conservation Biology]}}, - issn = {0888-8892}, - abstract = {We used a spatially explicit population model that was generalized to produce nine ecological profiles of long-lived species with stable home ranges and natal dispersal to investigate the effects of habitat loss and fragmentation on population dynamics. We simulated population dynamics in landscapes composed of three habitat types (good-quality habitat ranging from 10-25\%, poor-quality habitat ranging from 10-70\%, and matrix). Landscape structures varied from highly fragmented to completely contiguous. The specific aims of our model were (1) to investigate under which biological circumstances the traditional approach of using two types only (habitat and matrix) failed and assess the potential impact of restoring matrix to poor-quality habitat, (2) to investigate how much of the variation in population size was explained by landscape composition alone and which key attributes of landscape structure can serve as predictors of population response, and (3) to estimate the maximum fragmentation effects expressed in equivalent pure loss of good-quality habitat. Poor-quality habitat mattered most in situations when it was generally not considered (i.e., for metapopulations or spatially structured populations when it provides dispersal habitat). Population size increased up to 3 times after restoring matrix to poor-quality habitat. Overall, habitat amount accounted for 68\%) of the variation in population size, whereas ecological profile and fragmentation accounted for approximately 13\%{$>$} each. The maximal effect of (good-quality) habitat fragmentation was equivalent to a pure loss of up to 15\%{$>$} of good-quality habitat, and the maximal loss of individuals resulting from maximal fragmentation reached 80\%. Abundant dispersal habitat and sufficiently large dispersal potential, however, resulted in functionally connected landscapes, and maximal fragmentation had no effect at all. Our findings suggest that predicting fragmentation effects requires a good understanding of the biology and habitat use of the species in question and that the uniqueness of species and the landscapes in which they live confound simple analysis.} -} - -@article{willisAssistedColonizationChanging2009, - title = {Assisted Colonization in a Changing Climate: A Test-Study Using Two {{U}}.{{K}}. Butterflies}, - shorttitle = {Assisted Colonization in a Changing Climate}, - author = {Willis, Stephen G. and Hill, Jane K. and Thomas, Chris D. and Roy, David B. and Fox, Richard and Blakeley, David S. and Huntley, Brian}, - year = {2009}, - journal = {Conservation Letters}, - volume = {2}, - number = {1}, - pages = {46--52}, - issn = {1755-263X}, - doi = {10.1111/j.1755-263X.2008.00043.x}, - abstract = {Recent climatic change in temperate regions has been rapid and there is mounting speculation that species are failing to keep track of suitable climate, perhaps necessitating assisted colonization for some species. An inability to spread into new areas may result in large reductions in species' ranges in the future, and threaten the survival of some species. Here we use ``species-climate'' models to predict suitable sites for introductions beyond current range margins, using two U.K. butterfly species. We introduced Melanargia galathea (marbled white) and Thymelicus sylvestris (small skipper) into two sites in northern England, {$\sim$}65 and {$\sim$}35 km beyond their then-range margins, respectively, to sites that were predicted to be climatically suitable and that appeared to contain suitable habitat for the species. Both introduced populations grew and expanded their range over 6 years (2001\textendash 2006; still thriving in 2008), suggesting the existence of a colonization lag and providing evidence that well-planned assisted colonization can be successful. We suggest that assisted colonization may be a feasible and cost-effective means of enabling certain species to track climatic change.}, - langid = {english}, - keywords = {assisted colonization,Climate change,distributions,introductions,range margin,range shift}, - annotation = {\_eprint: https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1755-263X.2008.00043.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\LA26PC2P\\Willis et al. - 2009 - Assisted colonization in a changing climate a tes.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\PKJ8RAYF\\j.1755-263X.2008.00043.html} -} - -@article{willisDynamicDistributionModelling2009, - title = {Dynamic Distribution Modelling: Predicting the Present from the Past}, - shorttitle = {Dynamic Distribution Modelling}, - author = {Willis, Stephen G. and Thomas, Chris D. and Hill, Jane K. and Collingham, Yvonne C. and Telfer, Mark G. and Fox, Richard and Huntley, Brian}, - year = {2009}, - journal = {Ecography}, - volume = {32}, - number = {1}, - pages = {5--12}, - issn = {1600-0587}, - doi = {10.1111/j.1600-0587.2008.05711.x}, - abstract = {Confidence in projections of the future distributions of species requires demonstration that recently-observed changes could have been predicted adequately. Here we use a dynamic model framework to demonstrate that recently-observed changes at the expanding northern boundaries of three British butterfly species can be predicted with good accuracy. Previous work established that the distributions of the study species currently lag behind climate change, and so we presumed that climate is not currently a major constraint at the northern range margins of our study species. We predicted 1970\textendash 2000 distribution changes using a colonisation model, MIGRATE, superimposed on a high-resolution map of habitat availability. Thirty-year rates and patterns of distribution change could be accurately predicted for each species ({$\kappa$} goodness-of-fit of models {$>$}0.64 for all three species, corresponding to {$>$}83\% of grid cells correctly assigned), using a combination of individual species traits, species-specific habitat associations and distance-dependent dispersal. Sensitivity analyses showed that population productivity was the most important determinant of the rate of distribution expansion (variation in dispersal rate was not studied because the species are thought to be similar in dispersal capacity), and that each species' distribution prior to expansion was critical in determining the spatial pattern of the current distribution. In future, modelling approaches that combine climate suitability and spatially-explicit population models, incorporating demographic variables and habitat availability, are likely to be valuable tools in projecting species' responses to climatic change and hence in anticipating management to facilitate species' dispersal and persistence.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2008.05711.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\T757Z96L\\Willis et al. - 2009 - Dynamic distribution modelling predicting the pre.pdf} -} - -@article{wiszRoleBioticInteractions2013, - title = {The Role of Biotic Interactions in Shaping Distributions and Realised Assemblages of Species: Implications for Species Distribution Modelling}, - shorttitle = {The Role of Biotic Interactions in Shaping Distributions and Realised Assemblages of Species}, - author = {Wisz, Mary Susanne and Pottier, Julien and Kissling, W. Daniel and Pellissier, Lo{\"i}c and Lenoir, Jonathan and Damgaard, Christian F. and Dormann, Carsten F. and Forchhammer, Mads C. and Grytnes, John-Arvid and Guisan, Antoine and Heikkinen, Risto K. and H{\o}ye, Toke T. and K{\"u}hn, Ingolf and Luoto, Miska and Maiorano, Luigi and Nilsson, Marie-Charlotte and Normand, Signe and {\"O}ckinger, Erik and Schmidt, Niels M. and Termansen, Mette and Timmermann, Allan and Wardle, David A. and Aastrup, Peter and Svenning, Jens-Christian}, - year = {2013}, - month = feb, - journal = {Biological Reviews of the Cambridge Philosophical Society}, - volume = {88}, - number = {1}, - pages = {15--30}, - issn = {1469-185X}, - doi = {10.1111/j.1469-185X.2012.00235.x}, - abstract = {Predicting which species will occur together in the future, and where, remains one of the greatest challenges in ecology, and requires a sound understanding of how the abiotic and biotic environments interact with dispersal processes and history across scales. Biotic interactions and their dynamics influence species' relationships to climate, and this also has important implications for predicting future distributions of species. It is already well accepted that biotic interactions shape species' spatial distributions at local spatial extents, but the role of these interactions beyond local extents (e.g. 10 km(2) to global extents) are usually dismissed as unimportant. In this review we consolidate evidence for how biotic interactions shape species distributions beyond local extents and review methods for integrating biotic interactions into species distribution modelling tools. Drawing upon evidence from contemporary and palaeoecological studies of individual species ranges, functional groups, and species richness patterns, we show that biotic interactions have clearly left their mark on species distributions and realised assemblages of species across all spatial extents. We demonstrate this with examples from within and across trophic groups. A range of species distribution modelling tools is available to quantify species environmental relationships and predict species occurrence, such as: (i) integrating pairwise dependencies, (ii) using integrative predictors, and (iii) hybridising species distribution models (SDMs) with dynamic models. These methods have typically only been applied to interacting pairs of species at a single time, require a priori ecological knowledge about which species interact, and due to data paucity must assume that biotic interactions are constant in space and time. To better inform the future development of these models across spatial scales, we call for accelerated collection of spatially and temporally explicit species data. Ideally, these data should be sampled to reflect variation in the underlying environment across large spatial extents, and at fine spatial resolution. Simplified ecosystems where there are relatively few interacting species and sometimes a wealth of existing ecosystem monitoring data (e.g. arctic, alpine or island habitats) offer settings where the development of modelling tools that account for biotic interactions may be less difficult than elsewhere.}, - langid = {english}, - pmcid = {PMC3561684}, - pmid = {22686347}, - keywords = {Animals,Climate,Demography,Ecosystem,Models; Biological}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\PD4F99YQ\\Wisz et al. - 2013 - The role of biotic interactions in shaping distrib.pdf} -} - -@article{withApplicationNeutralLandscape1997, - title = {The {{Application}} of {{Neutral Landscape Models}} in {{Conservation Biology}}}, - author = {With, Kimberly A.}, - year = {1997}, - journal = {Conservation Biology}, - volume = {11}, - number = {5}, - pages = {1069--1080}, - publisher = {{[Wiley, Society for Conservation Biology]}}, - issn = {0888-8892}, - abstract = {Neutral landscape models, derived from percolation theory in the field of landscape ecology, are grid-based maps in which complex habitat distributions are generated by random or fractal algorithms. This grid-based representation of landscape structure is compatible with the raster-based format of geographical information systems (GIS), which facilitates comparisons between theoretical and real landscapes. Neutral landscape models permit the identification of critical thresholds in connectivity, which can be used to predict when landscapes will become fragmented. The coupling of neutral landscape models with generalized population models, such as metapopulation theory, provides a null model for generating predictions about population dynamics in fragmented landscapes. Neutral landscape models can contribute to the following applications in conservation: (1) incorporation of complex spatial patterns in (meta)population models; (2) identification of species' perceptions of landscape structure; (3) determination of landscape connectivity; (4) evaluation of the consequences of habitat fragmentation for population subdivision; (5) identification of the domain of metapopulation dynamics; (6) prediction of the occurrence of extinction thresholds; (7) determination of the genetic consequences of habitat fragmentation; and (8) reserve design and ecosystem management. This generalized, spatially explicit framework bridges the gap between spatially implicit, patch-based models and spatially realistic GIS applications which are usually parameterized for a single species in a specific landscape. Development of a generalized, spatially explicit framework is essential in conservation biology because we will not be able to develop individual models for every species of management concern.} -} - -@article{withExtinctionThresholdsSpecies1999, - title = {Extinction {{Thresholds}} for {{Species}} in {{Fractal Landscapes}}}, - author = {With, Kimberly A. and King, Anthony W.}, - year = {1999}, - journal = {Conservation Biology}, - volume = {13}, - number = {2}, - pages = {314--326}, - issn = {1523-1739}, - doi = {10.1046/j.1523-1739.1999.013002314.x}, - abstract = {Abstract: Predicting species' responses to habitat loss and fragmentation is one of the greatest challenges facing conservation biologists, particularly if extinction is a threshold phenomenon. Extinction thresholds are abrupt declines in the patch occupancy of a metapopulation across a narrow range of habitat loss. Metapopulation-type models have been used to predict extinction thresholds for endangered populations. These models often make simplifying assumptions about the distribution of habitat (random) and the search for suitable habitat sites (random dispersal). We relaxed these two assumptions in a modeling approach that combines a metapopulation model with neutral landscape models of fractal habitat distributions. Dispersal success for suitable, unoccupied sites was higher on fractal landscapes for nearest-neighbor dispersers (moving through adjacent cells of the landscape) than for dispersers searching at random (random distance and direction between steps) on random landscapes. Consequently, species either did not suffer extinction thresholds or extinction thresholds occurred later, at lower levels of habitat abundance, than predicted previously. The exception is for species with limited demographic potential, owing to low reproductive output , in which extinction thresholds occurred sooner than on random landscapes in all but the most clumped fractal landscapes . Furthermore, the threshold was more precipitous for these species. Many species of conservation concern have limited demographic potential, and these species may be at greater risk from habitat loss and fragmentation than previously suspected.}, - langid = {english}, - annotation = {\_eprint: https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1523-1739.1999.013002314.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\F6K6NTND\\With und King - 1999 - Extinction Thresholds for Species in Fractal Lands.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\EDN2NGVZ\\j.1523-1739.1999.013002314.html} -} - -@article{zhengModellingDispersalDiffusion2009a, - title = {Modelling Dispersal with Diffusion and Habitat Selection: {{Analytical}} Results for Highly Fragmented Landscapes}, - shorttitle = {Modelling Dispersal with Diffusion and Habitat Selection}, - author = {Zheng, Chaozhi and Pennanen, Juho and Ovaskainen, Otso}, - year = {2009}, - month = jun, - journal = {Ecological Modelling}, - volume = {220}, - number = {12}, - pages = {1495--1505}, - issn = {0304-3800}, - doi = {10.1016/j.ecolmodel.2009.02.024}, - abstract = {Quantifying dispersal is crucial both for understanding ecological population dynamics, and for gaining insight into factors that affect the genetic structure of populations. The role of dispersal becomes pronounced in highly fragmented landscapes inhabited by spatially structured populations. We consider a landscape consisting of a set of habitat patches surrounded by unsuitable matrix, and model dispersal by assuming that the individuals follow a random walk with parameters that may be specific to the habitat type. We allow for spatial variation in patch quality, and account for edge-mediated behavior, the latter meaning that the individuals bias their movement towards the patches when close to an edge between a patch and the matrix. We employ a diffusion approximation of the random walk model to derive analytical expressions for various characteristics of the dispersal process. For example, we derive formulae for the time that an individual is expected to spend in its current patch i, and for the time that it will spend in the matrix, both conditional on the individual hitting next a given patch j before hitting any of the other patches or dying. The analytical formulae are based on the assumptions that the landscape is infinitely large, that the patches are circularly shaped, and that the patches are small compared to interpatch distances. We evaluate the effect of these assumptions by comparing the analytical results to numerical results in a real patch network that violates all of the three assumptions. We then consider a landscape that fulfills the assumptions, and show that in this case the analytical results are in a very good agreement with the numerical results. The results obtained here allow the construction of computationally efficient dispersal models that can be used as components of metapopulation models.}, - langid = {english}, - keywords = {Conditional occupancy times,Diffusion model,Dispersal,Edge-mediate behavior,Metapopulation,Random walk}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\K4NYEMNT\\S0304380009001203.html} -} - -@article{zhengModellingSingleNucleotide2009, - title = {Modelling Single Nucleotide Effects in Phosphoglucose Isomerase on Dispersal in the {{Glanville}} Fritillary Butterfly: Coupling of Ecological and Evolutionary Dynamics}, - shorttitle = {Modelling Single Nucleotide Effects in Phosphoglucose Isomerase on Dispersal in the {{Glanville}} Fritillary Butterfly}, - author = {Zheng, Chaozhi and Ovaskainen, Otso and Hanski, Ilkka}, - year = {2009}, - month = jun, - journal = {Philosophical Transactions of the Royal Society B: Biological Sciences}, - volume = {364}, - number = {1523}, - pages = {1519--1532}, - issn = {0962-8436}, - doi = {10.1098/rstb.2009.0005}, - abstract = {Dispersal comprises a complex life-history syndrome that influences the demographic dynamics of especially those species that live in fragmented landscapes, the structure of which may in turn be expected to impose selection on dispersal. We have constructed an individual-based evolutionary sexual model of dispersal for species occurring as metapopulations in habitat patch networks. The model assumes correlated random walk dispersal with edge-mediated behaviour (habitat selection) and spatially correlated stochastic local dynamics. The model is parametrized with extensive data for the Glanville fritillary butterfly. Based on empirical results for a single nucleotide polymorphism (SNP) in the phosphoglucose isomerase (Pgi) gene, we assume that dispersal rate in the landscape matrix, fecundity and survival are affected by a locus with two alleles, A and C, individuals with the C allele being more mobile. The model was successfully tested with two independent empirical datasets on spatial variation in Pgi allele frequency. First, at the level of local populations, the frequency of the C allele is the highest in newly established isolated populations and the lowest in old isolated populations. Second, at the level of sub-networks with dissimilar numbers and connectivities of patches, the frequency of C increases with decreasing network size and hence with decreasing average metapopulation size. The frequency of C is the highest in landscapes where local extinction risk is high and where there are abundant opportunities to establish new populations. Our results indicate that the strength of the coupling of the ecological and evolutionary dynamics depends on the spatial scale and is asymmetric, demographic dynamics having a greater immediate impact on genetic dynamics than vice versa.}, - pmcid = {PMC2690501}, - pmid = {19414467}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\SBXXCXUC\\Zheng et al. - 2009 - Modelling single nucleotide effects in phosphogluc.pdf} -} - -@article{zollnerBehavioralTradeoffsWhen2005, - title = {Behavioral Tradeoffs When Dispersing across a Patchy Landscape.}, - author = {Zollner, Patrick A. and Lima, Steven L.}, - year = {2005}, - journal = {OIKOS}, - volume = {108}, - pages = {219--230}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\JXRLCA3R\\Zollner und Lima - 2005 - Behavioral tradeoffs when dispersing across a patc.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\EK9H5EZM\\12821.html} -} - -@article{zollnerLandscapelevelPerceptualAbilities1997, - title = {Landscape-Level Perceptual Abilities in White-Footed Mice : Perceptual Range and the Detection of Forested Habitat}, - shorttitle = {Landscape-Level Perceptual Abilities in White-Footed Mice}, - author = {Zollner, P. and Lima, S. L.}, - year = {1997}, - journal = {Oikos}, - volume = {80}, - number = {1}, - pages = {51--60}, - doi = {10.2307/3546515}, - abstract = {We define perceptual range as the distance from which an animal can perceive key landscape elements, such as distant patches of forested habitat. We argue that perceptual range should be a determinant of not only dispersal success in unfamiliar or hostile landscapes, but also of several landscape-level ecological processes influencing population dynamics. To redress the absence of empirical information on perceptual ranges, we simulated the dispersal of forest-dwelling white-footed mice (Peromyscus leucopus) across an agricultural landscape by releasing mice into unfamiliar, hostile agricultural habitat at various distances from fragments of forested habitat. We found that these forest mice have a remarkably low perceptual range with regard to detecting their forested (core) habitat. Mice released into bare fields failed to even orient towards forested habitat as little as 30 m distant, while mice in crop fields appeared unable to locate forest habitat as little as 10 m distant. These mice seemed to locate forested habitat by vision, despite the availability of non-visual cues. Future work will undoubtedly demonstrate vast differences in landscape-level perceptual abilities among animals, and show clearly that the ecological effects of a given landscape configuration will be influenced by the behavioral attributes of the species in question.} -} - -@article{zollnerSearchStrategiesLandscapeLevel1999, - title = {Search {{Strategies}} for {{Landscape-Level Interpatch Movements}}}, - author = {Zollner, Patrick and Lima, Steven L.}, - year = {1999}, - journal = {Ecology}, - volume = {80}, - number = {3}, - pages = {1019--1030}, - issn = {1939-9170}, - doi = {10.1890/0012-9658(1999)080[1019:SSFLLI]2.0.CO;2}, - abstract = {Ecologists need a better understanding of how animals make decisions about moving across landscapes. To this end, we developed computer simulations that contrast the effectiveness of various search strategies at finding habitat patches in idealized landscapes (uniform, random, or clumped patches), where searchers have different energy reserves and face different mortality risks. Nearly straight correlated random walks always produced better dispersal success than relatively uncorrelated random walks. However, increasing patch density decreased the degree of correlation that maximized dispersal success. Only under high mortality and low energy reserves in a uniform landscape did absolutely straight-line search perform better than any random walk. With low mortality risks and high energy reserves, exhaustive systematic search was superior to the best correlated random walk; an increase in the perceptual range of the searcher (i.e., patch detectability) also favored exhaustive search over relatively straight random walks. For all conditions examined, the ``average distance rule,'' a hybrid search rule incorporating both straight-line and systematic search, was best. Overall, however, our results suggest that a simple and effective search rule for many landscape-explicit models would involve straight or nearly straight movements.}, - langid = {english}, - keywords = {dispersal,interpatch movement,landscape configuration,landscape ecology,mortality risk,perceptual range,random walks,search strategies,systematic search}, - annotation = {\_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/0012-9658\%281999\%29080\%5B1019\%3ASSFLLI\%5D2.0.CO\%3B2}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\P5MVGMQ8\\Zollner und Lima - 1999 - Search Strategies for Landscape-Level Interpatch M.pdf;C\:\\Users\\jreeg\\Zotero\\storage\\HPFF9TKI\\0012-9658(1999)080[1019SSFLLI]2.0.html} -} - -@article{zotero-2098, - type = {Article} -} - -@article{zurellStaticSpeciesDistribution2009, - title = {Static Species Distribution Models in Dynamically Changing Systems: How Good Can Predictions Really Be?}, - shorttitle = {Static Species Distribution Models in Dynamically Changing Systems}, - author = {Zurell, Damaris and Jeltsch, Florian and Dormann, Carsten F. and Schr{\"o}der, Boris}, - year = {2009}, - journal = {Ecography}, - volume = {32}, - number = {5}, - pages = {733--744}, - issn = {1600-0587}, - doi = {10.1111/j.1600-0587.2009.05810.x}, - abstract = {It is widely acknowledged that species respond to climate change by range shifts. Robust predictions of such changes in species' distributions are pivotal for conservation planning and policy making, and are thus major challenges in ecological research. Statistical species distribution models (SDMs) have been widely applied in this context, though they remain subject to criticism as they implicitly assume equilibrium, and incorporate neither dispersal, demographic processes nor biotic interactions explicitly. In this study, the effects of transient dynamics and ecological properties and processes on the prediction accuracy of SDMs for climate change projections were tested. A spatially explicit multi-species dynamic population model was built, incorporating species-specific and interspecific ecological processes, environmental stochasticity and climate change. Species distributions were sampled in different scenarios, and SDMs were estimated by applying generalised linear models (GLMs) and boosted regression trees (BRTs). Resulting model performances were related to prevailing ecological processes and temporal dynamics. SDM performance varied for different range dynamics. Prediction accuracies decreased when abrupt range shifts occurred as species were outpaced by the rate of climate change, and increased again when a new equilibrium situation was realised. When ranges contracted, prediction accuracies increased as the absences were predicted well. Far-dispersing species were faster in tracking climate change, and were predicted more accurately by SDMs than short-dispersing species. BRTs mostly outperformed GLMs. The presence of a predator, and the inclusion of its incidence as an environmental predictor, made BRTs and GLMs perform similarly. Results are discussed in light of other studies dealing with effects of ecological traits and processes on SDM performance. Perspectives are given on further advancements of SDMs and for possible interfaces with more mechanistic approaches in order to improve predictions under environmental change.}, - langid = {english}, - annotation = {\_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.05810.x}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\4YT6HTDC\\Zurell et al. - 2009 - Static species distribution models in dynamically .pdf;C\:\\Users\\jreeg\\Zotero\\storage\\UFC34L2K\\j.1600-0587.2009.05810.html} -} - -@article{zurellUncertaintyPredictionsRange2012a, - title = {Uncertainty in Predictions of Range Dynamics: Black Grouse Climbing the {{Swiss Alps}}}, - shorttitle = {Uncertainty in Predictions of Range Dynamics}, - author = {Zurell, Damaris and Grimm, Volker and Rossmanith, Eva and Zbinden, Niklaus and Zimmermann, Niklaus E. and Schr{\"o}der, Boris}, - year = {2012}, - issn = {0906-7590}, - abstract = {Empirical species distribution models (SDMs) constitute often the tool of choice for the assessment of rapid climate change effects on species' vulnerability. Conclusions regarding extinction risks might be misleading, however, because SDMs do not explicitly incorporate dispersal or other demographic processes. Here, we supplement SDMs with a dynamic population model 1) to predict climate-induced range dynamics for black grouse in Switzerland, 2) to compare direct and indirect measures of extinction risks, and 3) to quantify uncertainty in predictions as well as the sources of that uncertainty. To this end, we linked models of habitat suitability to a spatially explicit, individual-based model. In an extensive sensitivity analysis, we quantified uncertainty in various model outputs introduced by different SDM algorithms, by different climate scenarios and by demographic model parameters. Potentially suitable habitats were predicted to shift uphill and eastwards. By the end of the 21st century, abrupt habitat losses were predicted in the western Prealps for some climate scenarios. In contrast, population size and occupied area were primarily controlled by currently negative population growth and gradually declined from the beginning of the century across all climate scenarios and SDM algorithms. However, predictions of population dynamic features were highly variable across simulations. Results indicate that inferring extinction probabilities simply from the quantity of suitable habitat may underestimate extinction risks because this may ignore important interactions between life history traits and available habitat. Also, in dynamic range predictions uncertainty in SDM algorithms and climate scenarios can become secondary to uncertainty in dynamic model components. Our study emphasises the need for principal evaluation tools like sensitivity analysis in order to assess uncertainty and robustness in dynamic range predictions. A more direct benefit of such robustness analysis is an improved mechanistic understanding of dynamic species' responses to climate change.}, - langid = {english}, - file = {C\:\\Users\\jreeg\\Zotero\\storage\\W9ILGC7X\\517524.html} -} - - diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.json b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.json deleted file mode 100644 index 3902114..0000000 --- a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RS_ODD.json +++ /dev/null @@ -1,322 +0,0 @@ -[ - {"id":"abenSimpleIndividualbasedModels2014","abstract":"Reliable estimates of dispersal rates between habitat patches (i.e. functional connectivity) are critical for predicting long-term effects of habitat fragmentation on population persistence. Connectivity measures are frequently derived from least cost path or graph-based approaches, despite the fact that these methods make biologically unrealistic assumptions. Individual-based models (IBMs) have been proposed as an alternative as they allow modelling movement behaviour in response to landscape resistance. However, IBMs typically require excessive data to be useful for management. Here, we test the extent to which an IBM requiring only an uncomplicated set of movement rules [the â€stochastic movement simulator’ (SMS)] can predict animal movement behaviour in real-world landscapes. Movement behaviour of two forest birds, the Cabanis's greenbul Phyllastrephus cabanisi (a forest specialist) and the white-starred robin Pogonocichla stellata (a habitat generalist), across an Afrotropical matrix was simulated using SMS. Predictions from SMS were evaluated against a set of detailed movement paths collected by radiotracking homing individuals. SMS was capable of generating credible predictions of bird movement, although simulations were sensitive to the cost values and the movement rules specified. Model performance was generally highest when movement was simulated across low-contrasting cost surfaces and when virtual individuals were assigned low directional persistence and limited perceptual range. SMS better predicted movements of the habitat specialist than the habitat generalist, which highlights its potential to model functional connectivity when species movements are affected by the matrix. Synthesis and applications. Modelling the dispersal process with greater biological realism is likely to be critical for improving our predictive capability regarding functional connectivity and population persistence. For more realistic models to be widely applied, it is vital that their application is not overly complicated or data demanding. Here, we show that given relatively basic understanding of a species' dispersal ecology, the stochastic movement simulator represents a promising tool for estimating connectivity, which can help improve the design of functional ecological networks aimed at successful species conservation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Aben","given":"Job"},{"family":"Strubbe","given":"Diederik"},{"family":"Adriaensen","given":"Frank"},{"family":"Palmer","given":"Stephen C. F."},{"family":"Travis","given":"Justin M. J."},{"family":"Lens","given":"Luc"},{"family":"Matthysen","given":"Erik"}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/1365-2664.12224","ISSN":"1365-2664","issue":"3","issued":{"date-parts":[[2014]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/1365-2664.12224","page":"693-702","source":"Wiley Online Library","title":"Simple individual-based models effectively represent Afrotropical forest bird movement in complex landscapes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/1365-2664.12224","volume":"51"}, - {"id":"adriaensenApplicationLeastcostModelling2003","abstract":"The growing awareness of the adverse effects of habitat fragmentation on natural systems has resulted in a rapidly increasing number of actions to reduce current fragmentation of natural systems as well as a growing demand for tools to predict and evaluate the effect of changes in the landscape on connectivity in the natural world. Recent studies used â€least-cost’ modelling (available as a toolbox in GIS-systems) to calculate â€effective distance’, a measure for distance modified with the cost to move between habitat patches based on detailed geographical information on the landscape as well as behavioural aspects of the organisms studied. We applied the method to a virtual landscape and a small scaled agricultural system subject to different scenarios in a land re-allotment project. We discuss the importance of technical aspects and ecological assumption underlying this modelling method. The model is shown to be a flexible tool to model functional connectivity in the study of the relation between landscape and mobility of organisms as well as in scenario building and evaluation in wild life protection projects and applied land management projects. Since â€effective distance’ has the same units as Euclidean distance (m), this effective distance may be a straightforward way to include landscape and behavioural aspects in other models which include distance as a measure for isolation. We show the importance of the â€ecological’ quality of the input maps and the choice of relevant landscape features and resistance values.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Adriaensen","given":"F."},{"family":"Chardon","given":"J. P."},{"family":"De Blust","given":"G."},{"family":"Swinnen","given":"E."},{"family":"Villalba","given":"S."},{"family":"Gulinck","given":"H."},{"family":"Matthysen","given":"E."}],"container-title":"Landscape and Urban Planning","container-title-short":"Landscape and Urban Planning","DOI":"10.1016/S0169-2046(02)00242-6","ISSN":"0169-2046","issue":"4","issued":{"date-parts":[[2003,8,15]]},"language":"en","page":"233-247","source":"ScienceDirect","title":"The application of â€least-cost’ modelling as a functional landscape model","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169204602002426","volume":"64"}, - {"id":"altweggDensitydependentDispersalSpeed2013","abstract":"Aim The speed of range expansions, be it invasive species colonizing a new area or species tracking a moving climatic niche, critically depends on dispersal. Models for species' range expansions generally assume dispersal to be independent of local population densities. However, animals often disperse in response to high population size or alternatively may avoid or leave areas of very low population sizes. We explore whether such density dependence in dispersal can safely be ignored when predicting the speed of range expansions. Location Simulation study. Methods We use simulations to examine the effect of different forms of density dependence in emigration and immigration on the speed of range expansions. For emigration, we consider linear and nonlinear forms of positive density dependence, negative density dependence at low population densities and constant emigration rates. For immigration, we consider options where individuals avoid crowded patches, are attracted to the presence of conspecifics or settle independent of local density. Results The speed of range expansion was slowest when emigration was strongly positively related to density (higher emigration at higher densities) and when individuals avoided settling in low-density patches. It tended to be fastest under negatively density-dependent emigration (higher emigration at lower densities). These results were consistent across two different life histories and different levels of carrying capacity. Main conclusions Our results suggest that considering density-dependent dispersal and the mechanisms leading to it are important for correctly predicting species' rates of spread. Organisms with a tendency to aggregate, for example, by relying on conspecific attraction in settlement and emigrating mainly in response to high local densities, are predicted to be least likely to expand their ranges and most at risk from spatial shifts in their climatic niches.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Altwegg","given":"Res"},{"family":"Collingham","given":"Yvonne C."},{"family":"Erni","given":"Birgit"},{"family":"Huntley","given":"Brian"}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2012.00943.x","ISSN":"1472-4642","issue":"1","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2012.00943.x","page":"60-68","source":"Wiley Online Library","title":"Density-dependent dispersal and the speed of range expansions","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2012.00943.x","volume":"19"}, - {"id":"andersonDynamicsRangeMargins2009","abstract":"We link spatially explicit climate change predictions to a dynamic metapopulation model. Predictions of species' responses to climate change, incorporating metapopulation dynamics and elements of dispersal, allow us to explore the range margin dynamics for two lagomorphs of conservation concern. Although the lagomorphs have very different distribution patterns, shifts at the edge of the range were more pronounced than shifts in the overall metapopulation. For Romerolagus diazi (volcano rabbit), the lower elevation range limit shifted upslope by approximately 700 m. This reduced the area occupied by the metapopulation, as the mountain peak currently lacks suitable vegetation. For Lepus timidus (European mountain hare), we modelled the British metapopulation. Increasing the dispersive estimate caused the metapopulation to shift faster on the northern range margin (leading edge). By contrast, it caused the metapopulation to respond to climate change slower, rather than faster, on the southern range margin (trailing edge). The differential responses of the leading and trailing range margins and the relative sensitivity of range limits to climate change compared with that of the metapopulation centroid have important implications for where conservation monitoring should be targeted. Our study demonstrates the importance and possibility of moving from simple bioclimatic envelope models to second-generation models that incorporate both dynamic climate change and metapopulation dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Anderson","given":"B.j"},{"family":"Akçakaya","given":"H.r"},{"family":"AraĂşjo","given":"M.b"},{"family":"Fordham","given":"D.a"},{"family":"Martinez-Meyer","given":"E"},{"family":"Thuiller","given":"W"},{"family":"Brook","given":"B.w"}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","DOI":"10.1098/rspb.2008.1681","issue":"1661","issued":{"date-parts":[[2009,4,22]]},"page":"1415-1420","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Dynamics of range margins for metapopulations under climate change","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2008.1681","volume":"276"}, - {"id":"araujoClimateChangeThreatens2011","abstract":"Ecology Letters (2011) 14: 484–492 Abstract Europe has the world’s most extensive network of conservation areas. Conservation areas are selected without taking into account the effects of climate change. How effectively would such areas conserve biodiversity under climate change? We assess the effectiveness of protected areas and the Natura 2000 network in conserving a large proportion of European plant and terrestrial vertebrate species under climate change. We found that by 2080, 58 ± 2.6% of the species would lose suitable climate in protected areas, whereas losses affected 63 ± 2.1% of the species of European concern occurring in Natura 2000 areas. Protected areas are expected to retain climatic suitability for species better than unprotected areas (P < 0.001), but Natura 2000 areas retain climate suitability for species no better and sometimes less effectively than unprotected areas. The risk is high that ongoing efforts to conserve Europe’s biodiversity are jeopardized by climate change. New policies are required to avert this risk.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"AraĂşjo","given":"Miguel B."},{"family":"Alagador","given":"Diogo"},{"family":"Cabeza","given":"Mar"},{"family":"NoguĂ©s-Bravo","given":"David"},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2011.01610.x","ISSN":"1461-0248","issue":"5","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2011.01610.x","page":"484-492","source":"Wiley Online Library","title":"Climate change threatens European conservation areas","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2011.01610.x","volume":"14"}, - {"id":"araujoReducingUncertaintyProjections2005","abstract":"Aim Concern over the implications of climate change for biodiversity has led to the use of species–climate â€envelope’ models to forecast risks of species extinctions under climate change scenarios. Recent studies have demonstrated significant variability in model projections and there remains a need to test the accuracy of models and to reduce uncertainties. Testing of models has been limited by a lack of data against which projections of future ranges can be tested. Here we provide a first test of the predictive accuracy of such models using observed species’ range shifts and climate change in two periods of the recent past. Location Britain. Methods Observed range shifts for 116 breeding bird species in Britain between 1967 and 1972 (t1) and 1987–91 (t2) are used. We project range shifts between t1 and t2 for each species based on observed climate using 16 alternative models (4 methods Ă— 2 data parameterizations Ă— 2 rules to transform probabilities of occurrence into presence and absence records). Results Modelling results were extremely variable, with projected range shifts varying both in magnitude and in direction from observed changes and from each other. However, using approaches that explore the central tendency (consensus) of model projections, we were able to improve agreement between projected and observed shifts significantly. Conclusions Our results provide the first empirical evidence of the value of species–climate â€envelope’ models under climate change and demonstrate reduction in uncertainty and improvement in accuracy through selection of the most consensual projections.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"AraĂşjo","given":"Miguel B."},{"family":"Whittaker","given":"Robert J."},{"family":"Ladle","given":"Richard J."},{"family":"Erhard","given":"Markus"}],"container-title":"Global Ecology and Biogeography","DOI":"10.1111/j.1466-822X.2005.00182.x","ISSN":"1466-8238","issue":"6","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-822X.2005.00182.x","page":"529-538","source":"Wiley Online Library","title":"Reducing uncertainty in projections of extinction risk from climate change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1466-822X.2005.00182.x","volume":"14"}, - {"id":"armsworthConditionalDispersalClines2008","abstract":"Conditional dispersal, in which an individual’s decision over whether to disperse is a response to environmental conditions, features prominently in studies of dispersal evolution. Using models of clines, I examine how one widely discussed cost of dispersal, namely, that dispersal impedes local adaptation, changes with conditional dispersal and what this implies for dispersal evolution. I examine the consequences for dispersal evolution of the responsiveness of dispersal to the environment, the accuracy of any proximal cues that individuals rely upon to assess habitat quality, and whether dispersal responds to fitness itself or only to some fitness components (juvenile survivorship). All of the conditional dispersal behaviors that I consider weaken the indirect cost of dispersal inhibiting local adaptation. However, if individuals rely on imprecise cues to assess habitat quality and base dispersal decisions on juvenile survivorship, then conditional dispersal can incur additional costs by exacerbating overcrowding. Conditional dispersal initially leads to steeper clines in traits under direct selection, but when dispersiveness can itself evolve, conditional dispersal allows sigmoidal clines to persist long after those obtained with unconditional movement would become stepped.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Armsworth","given":"Paul R."}],"container-title":"Theoretical Ecology","container-title-short":"Theor Ecol","DOI":"10.1007/s12080-008-0032-2","ISSN":"1874-1746","issue":"2","issued":{"date-parts":[[2008]]},"language":"en","page":"105-117","source":"Springer Link","title":"Conditional dispersal, clines, and the evolution of dispersiveness","type":"article-journal","URL":"https://doi.org/10.1007/s12080-008-0032-2","volume":"2"}, - {"id":"armsworthStructureClinesFitness2008","abstract":"Spatial models commonly assume that dispersal does not depend on environmental conditions or phenotype. For example, these assumptions underpin explanations for clines on the basis of a tradeâ€off between dispersal and local adaptation. We reexamine clines when an individual’s decisions over whether and where to disperse depend on its fitness. We compare fitnessâ€dependent dispersal with cases where dispersal responds to juvenile survivorship only. Clines are steeper the more responsive dispersal is to environmental conditions for all dispersal behaviors that we consider. Clines eventually become stepped as the responsiveness of dispersal to environmental conditions is increased for half of the dispersal behaviors we consider, but smooth clines are maintained for the remaining cases. Smooth clines are maintained by the biased movement of individuals out of the hybrid zone when individuals move directionally in response to gradients in juvenile survivorship, which is a different mechanism to that maintaining smooth clines in classic cline theory.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Armsworth","given":"Paul R."},{"family":"Roughgarden","given":"Joan E."}],"container-title":"The American Naturalist","DOI":"10.1086/591685","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[2008,11,1]]},"page":"648-657","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"The Structure of Clines with Fitnessâ€Dependent Dispersal.","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/591685","volume":"172"}, - {"id":"atkinsLocalAdaptationEvolution2010","abstract":"The potential impact of climate change on biodiversity is well documented. A well developed range of statistical methods currently exists that projects the possible future habitat of a species directly from the current climate and a species distribution. However, studies incorporating ecological and evolutionary processes remain limited. Here, we focus on the potential role that local adaptation to climate may play in driving the range dynamics of sessile organisms. Incorporating environmental adaptation into a stochastic simulation yields several new insights. Counter-intuitively, our simulation results suggest that species with broader ranges are not necessarily more robust to climate change. Instead, species with broader ranges can be more susceptible to extinction as locally adapted genotypes are often blocked from range shifting by the presence of cooler adapted genotypes that persist even when their optimum climate has left them behind. Interestingly, our results also suggest that it will not always be the cold-adapted phenotypes that drive polewards range expansion. Instead, range shifts may be driven by phenotypes conferring adaptation to conditions prevalent towards the centre of a species’ equilibrium distribution. This may have important consequences for the conservation method termed predictive provenancing. These initial results highlight the potential importance of local adaptation in determining how species will respond to climate change and we argue that this is an area requiring urgent theoretical and empirical attention.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Atkins","given":"K. E."},{"family":"Travis","given":"J. M. J."}],"container-title":"Journal of Theoretical Biology","container-title-short":"Journal of Theoretical Biology","DOI":"10.1016/j.jtbi.2010.07.014","ISSN":"0022-5193","issue":"3","issued":{"date-parts":[[2010,10,7]]},"language":"en","page":"449-457","source":"ScienceDirect","title":"Local adaptation and the evolution of species’ ranges under climate change","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0022519310003632","volume":"266"}, - {"id":"bachEvolutionConditionalDispersal2007","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bach","given":"Lars"},{"family":"Ripa","given":"Jörgen"},{"family":"Lundberg","given":"Per"}],"container-title":"Evolutionary Ecology","container-title-short":"(Evolutionary ecology","ISSN":"1573-8477","issue":"4","issued":{"date-parts":[[2007]]},"language":"English","page":"663-673","publisher":"Springer","source":"portal.research.lu.se","title":"On the evolution of conditional dispersal under environmental and demographic stochasticity","type":"article-journal","URL":"https://portal.research.lu.se/portal/en/publications/on-the-evolution-of-conditional-dispersal-under-environmental-and-demographic-stochasticity(f23f9fc6-0c1d-460e-b1d6-4c96baa25102).html","volume":"9"}, - {"id":"baguetteIndividualDispersalLandscape2013","abstract":"Connectivity is classically considered an emergent property of landscapes encapsulating individuals' flows across space. However, its operational use requires a precise understanding of why and how organisms disperse. Such movements, and hence landscape connectivity, will obviously vary according to both organism properties and landscape features. We review whether landscape connectivity estimates could gain in both precision and generality by incorporating three fundamental outcomes of dispersal theory. Firstly, dispersal is a multi-causal process; its restriction to an â€escape reaction’ to environmental unsuitability is an oversimplification, as dispersing individuals can leave excellent quality habitat patches or stay in poor-quality habitats according to the relative costs and benefits of dispersal and philopatry. Secondly, species, populations and individuals do not always react similarly to those cues that trigger dispersal, which sometimes results in contrasting dispersal strategies. Finally, dispersal is a major component of fitness and is thus under strong selective pressures, which could generate rapid adaptations of dispersal strategies. Such evolutionary responses will entail spatiotemporal variation in landscape connectivity. We thus strongly recommend the use of genetic tools to: (i) assess gene flow intensity and direction among populations in a given landscape; and (ii) accurately estimate landscape features impacting gene flow, and hence landscape connectivity. Such approaches will provide the basic data for planning corridors or stepping stones aiming at (re)connecting local populations of a given species in a given landscape. This strategy is clearly species- and landscape-specific. But we suggest that the ecological network in a given landscape could be designed by stacking up such linkages designed for several species living in different ecosystems. This procedure relies on the use of umbrella species that are representative of other species living in the same ecosystem.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Baguette","given":"Michel"},{"family":"Blanchet","given":"Simon"},{"family":"Legrand","given":"Delphine"},{"family":"Stevens","given":"Virginie M."},{"family":"Turlure","given":"Camille"}],"container-title":"Biological Reviews","DOI":"10.1111/brv.12000","ISSN":"1469-185X","issue":"2","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/brv.12000","page":"310-326","source":"Wiley Online Library","title":"Individual dispersal, landscape connectivity and ecological networks","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/brv.12000","volume":"88"}, - {"id":"baguetteLandscapeConnectivityAnimal2007","abstract":"Landscape connectivity can be viewed from two perspectives that could be considered as extremes of a gradient: functional connectivity (refers to how the behavior of a dispersing organism is affected by landscape structure and elements) and structural connectivity (depends on the spatial configuration of habitat patches in the landscape like vicinity or presence of barriers). Here we argue that dispersal behavior changes with landscape configuration stressing the evolutionary dimension that has often been ignored in landscape ecology. Our working hypothesis is that the functional grain of resource patches in the landscape is a crucial factor shaping individual movements, and therefore influencing landscape connectivity. Such changes are likely to occur on the short-term (some generations). We review empirical studies comparing dispersal behavior in landscapes differing in their fragmentation level, i.e., with variable resource grain. We show that behavioral variation affecting each of the three stages of the dispersal process (emigration, displacement or transfer in the matrix, and immigration) is indeed likely to occur according to selective pressures resulting from changes in the grain of the landscape (mortality or deferred costs). Accordingly, landscape connectivity results from the interaction between the dispersal behavior of individuals and the grain of each particular landscape. The existence of this interaction requires that connectivity estimates (being based on individual-based models, least cost distance algorithms, and structural connectivity metrics or even Euclidian distance) should be carefully evaluated for their applicability with respect to the required level of precision in species-specific and landscape information.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Baguette","given":"Michel"},{"family":"Van Dyck","given":"Hans"}],"container-title":"Landscape Ecology","container-title-short":"Landscape Ecol","DOI":"10.1007/s10980-007-9108-4","ISSN":"1572-9761","issue":"8","issued":{"date-parts":[[2007,10,1]]},"language":"en","page":"1117-1129","source":"Springer Link","title":"Landscape connectivity and animal behavior: functional grain as a key determinant for dispersal","title-short":"Landscape connectivity and animal behavior","type":"article-journal","URL":"https://doi.org/10.1007/s10980-007-9108-4","volume":"22"}, - {"id":"baguetteLongDistanceDispersal2003","abstract":"Movements between habitat patches in a patchy population of the butterfly Boloria aquilonaris were monitored using capture-mark-recapture methods during three successive generations. For each data set, the inverse cumulative proportion of individuals moving 100 m distance classes was fitted to the negative exponential function and the inverse power function. In each case, the negative exponential function provided a better fit than the inverse power function. Two dispersal kernels were generated using both negative exponential and inverse power functions. These dispersal kernels were used to predict movements between 14 suitable sites in a landscape of $220\\ {\\rm km}^{2}$. The negative exponential function generated a dispersal kernel predicting extremely low probabilities for movements exceeding 1 km. The inverse power function generated probabilities predicting that between site movements were possible, according to metapopulation size. CMR studies in the landscape revealed that long distance movements occurred at each generation, corresponding to predictions of the inverse power function dispersal kernel. A total of 26 movements between sites (up to 13 km) were detected, together with recolonisation of empty sites. The spatial scale of the metapopulation dynamics is larger than ever reported on butterflies and long distance movements clearly matter to the persistence of this species in a highly fragmented landscape.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Baguette","given":"Michel"}],"container-title":"Ecography","ISSN":"0906-7590","issue":"2","issued":{"date-parts":[[2003]]},"page":"153-160","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"Long Distance Dispersal and Landscape Occupancy in a Metapopulation of the Cranberry Fritillary Butterfly","type":"article-journal","URL":"https://www.jstor.org/stable/3683430","volume":"26"}, - {"id":"bakerIncrementalCostsBenefits2004","abstract":"Incremental (distance-dependent) costs and benefits of dispersal have received less attention than those that are qualitative. We present a dynamic programming model of settling behavior using parameters estimated from a field study of dispersal in desert isopods, Hemilepistus reaumuri, which walk up to thousands of meters before settling in new or already-established burrows each spring. The model shows that incremental costs of dispersal lead to right-skewed population dispersal patterns, in contrast to cost-free systems or those with unitary costs (i.e., a one time cost of leaving a group or patch). In the model, continuous variation in habitat quality, as opposed to discrete suitable vs. unsuitable sites, allows for trade-offs with dispersal costs that lead to shifts in the likelihood of settling in a patch of a given quality. Thus, measurement of quantitative costs and benefits of movement are needed to understand population dispersal distributions. These costs or benefits may be observable during or after movement, and we examined both pre- and postsettling incremental consequences of dispersal. The daily mortality rate of traveling isopods was 4.2% during the dispersal season, higher than that of settled individuals. Successful settlers traveled more slowly, but burrows started in midseason were most likely to succeed. More distant burrows failed more often, suggesting either an additional cost of movement or a difference in the quality of individuals traveling different distances. The predicted mean dispersal duration from the simulations matched observed values closely, but was based on an unrealistic assumption of perfect knowledge of habitat quality, suggesting some other factor favors longer times before settling. Reproductive success was much higher in re-used burrows than in new burrows, making them a possible incentive for long-distance movements.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Baker","given":"Mitchell B."},{"family":"Rao","given":"Steven"}],"container-title":"Ecology","ISSN":"0012-9658","issue":"4","issued":{"date-parts":[[2004]]},"page":"1039-1051","publisher":"Ecological Society of America","source":"JSTOR","title":"Incremental Costs and Benefits Shape Natal Dispersal: Theory and Example with Hemilepistus reaumuri","title-short":"Incremental Costs and Benefits Shape Natal Dispersal","type":"article-journal","URL":"https://www.jstor.org/stable/3450319","volume":"85"}, - {"id":"balciauskasEstimationCarryingCapacity2009","abstract":"The purpose of this paper is to estimate ecological carrying capacity (K) and growth rate (r) of Lithuanian wolf based on the estimated population sizes and number of harvests from 1966 to 2007. We used the modified Schaefer model where population dynamics is described by the logistic-equation-type growth function with time lag operator (Ď„) and harvest. We statistically selected the best model whose Ď„ value was 4 and estimated value of K and r were 626 heads for the total Lithuanian territory and 0.776/ year, respectively. Then we examined the appropriateness of the values from the ecological point of view and concluded that ecological carrying capacity is supported by the prey base of wild animals, mainly cervids, and also by depredation on domestic animals. In 1994–1998, the population was near ecological carrying capacity or exceeding it, what we explain by high ecological plasticity of the species and increased use of domestic animals.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"BalÄŤiauskas","given":"Linas"},{"family":"Kawata","given":"Yukichika"}],"container-title":"Acta Zoologica Lituanica","DOI":"10.2478/v10043-009-0018-3","ISSN":"1392-1657","issue":"2","issued":{"date-parts":[[2009,1,1]]},"note":"_eprint: https://doi.org/10.2478/v10043-009-0018-3","page":"79-84","publisher":"Taylor & Francis","source":"Taylor and Francis+NEJM","title":"Estimation of Carrying Capacity and Growth Rate of Wolf in Lithuania","type":"article-journal","URL":"https://doi.org/10.2478/v10043-009-0018-3","volume":"19"}, - {"id":"bartonEvolutionIntelligentDispersal2009","abstract":"Theoretical work exploring dispersal evolution focuses on the emigration rate of individuals and typically assumes that movement occurs either at random to any other patch or to one of the nearest-neighbour patches. There is a lack of work exploring the process by which individuals move between patches, and how this process evolves. This is of concern because any organism that can exert control over dispersal direction can potentially evolve efficiencies in locating patches, and the process by which individuals find new patches will potentially have major effects on metapopulation dynamics and gene flow. Here, we take an initial step towards filling this knowledge gap. To do this we constructed a continuous space population model, in which individuals each carry heritable trait values that specify the characteristics of the biased correlated random walk they use to disperse from their natal patch. We explore how the evolution of the random walk depends upon the cost of dispersal, the density of patches in the landscape, and the emigration rate. The clearest result is that highly correlated walks always evolved (individuals tended to disperse in relatively straight lines from their natal patch), reflecting the efficiency of straight-line movement. In our models, more costly dispersal resulted in walks with higher correlation between successive steps. However, the exact walk that evolved also depended upon the density of suitable habitat patches, with low density habitat evolving more biased walks (individuals which orient towards suitable habitat at quite large distances from that habitat). Thus, low density habitat will tend to develop individuals which disperse efficiently between adjacent habitat patches but which only rarely disperse to more distant patches; a result that has clear implications for metapopulation theory. Hence, an understanding of the movement behaviour of dispersing individuals is critical for robust long-term predictions of population dynamics in fragmented landscapes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"BartoĹ„","given":"Kamil A."},{"family":"Phillips","given":"Ben L."},{"family":"Morales","given":"Juan M."},{"family":"Travis","given":"Justin M. J."}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2008.16936.x","ISSN":"1600-0706","issue":"2","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2008.16936.x","page":"309-319","source":"Wiley Online Library","title":"The evolution of an â€intelligent’ dispersal strategy: biased, correlated random walks in patchy landscapes","title-short":"The evolution of an â€intelligent’ dispersal strategy","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2008.16936.x","volume":"118"}, - {"id":"bartonRiskyMovementIncreases2012","abstract":"The movement rules used by an individual determine both its survival and dispersal success. Here, we develop a simple model that links inter-patch movement behaviour with population dynamics in order to explore how individual dispersal behaviour influences not only its dispersal and survival, but also the population's rate of range expansion. Whereas dispersers are most likely to survive when they follow nearly straight lines and rapidly orient movement towards a non-natal patch, the most rapid rates of range expansion are obtained for trajectories in which individuals delay biasing their movement towards a non-natal patch. This result is robust to the spatial structure of the landscape. Importantly, in a set of evolutionary simulations, we also demonstrate that the movement strategy that evolves at an expanding front is much closer to that maximizing the rate of range expansion than that which maximizes the survival of dispersers. Our results suggest that if one of our conservation goals is the facilitation of range-shifting, then current indices of connectivity need to be complemented by the development and utilization of new indices providing a measure of the ease with which a species spreads across a landscape.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"BartoĹ„","given":"K. A."},{"family":"Hovestadt","given":"T."},{"family":"Phillips","given":"B. L."},{"family":"Travis","given":"J. M. J."}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","DOI":"10.1098/rspb.2011.1254","issue":"1731","issued":{"date-parts":[[2012,3,22]]},"page":"1194-1202","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Risky movement increases the rate of range expansion","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2011.1254","volume":"279"}, - {"id":"beaumontApproximateBayesianComputation2010","abstract":"In the past 10years a statistical technique, approximate Bayesian computation (ABC), has been developed that can be used to infer parameters and choose between models in the complicated scenarios that are often considered in the environmental sciences. For example, based on gene sequence and microsatellite data, the method has been used to choose between competing models of human demographic history as well as to infer growth rates, times of divergence, and other parameters. The method fits naturally in the Bayesian inferential framework, and a brief overview is given of the key concepts. Three main approaches to ABC have been developed, and these are described and compared. Although the method arose in population genetics, ABC is increasingly used in other fields, including epidemiology, systems biology, ecology, and agent-based modeling, and many of these applications are briefly described.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Beaumont","given":"Mark A."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev-ecolsys-102209-144621","issue":"1","issued":{"date-parts":[[2010]]},"note":"_eprint: https://doi.org/10.1146/annurev-ecolsys-102209-144621","page":"379-406","source":"Annual Reviews","title":"Approximate Bayesian Computation in Evolution and Ecology","type":"article-journal","URL":"https://doi.org/10.1146/annurev-ecolsys-102209-144621","volume":"41"}, - {"id":"bellardImpactsClimateChange2012","abstract":"Many studies in recent years have investigated the effects of climate change on the future of biodiversity. In this review, we first examine the different possible effects of climate change that can operate at individual, population, species, community, ecosystem and biome scales, notably showing that species can respond to climate change challenges by shifting their climatic niche along three non-exclusive axes: time (e.g. phenology), space (e.g. range) and self (e.g. physiology). Then, we present the principal specificities and caveats of the most common approaches used to estimate future biodiversity at global and sub-continental scales and we synthesise their results. Finally, we highlight several challenges for future research both in theoretical and applied realms. Overall, our review shows that current estimates are very variable, depending on the method, taxonomic group, biodiversity loss metrics, spatial scales and time periods considered. Yet, the majority of models indicate alarming consequences for biodiversity, with the worst-case scenarios leading to extinction rates that would qualify as the sixth mass extinction in the history of the earth.","author":[{"family":"Bellard","given":"CĂ©line"},{"family":"Bertelsmeier","given":"Cleo"},{"family":"Leadley","given":"Paul"},{"family":"Thuiller","given":"Wilfried"},{"family":"Courchamp","given":"Franck"}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/j.1461-0248.2011.01736.x","ISSN":"1461-0248","issue":"4","issued":{"date-parts":[[2012,4]]},"language":"eng","page":"365-377","PMCID":"PMC3880584","PMID":"22257223","source":"PubMed","title":"Impacts of climate change on the future of biodiversity","type":"article-journal","volume":"15"}, - {"id":"bentonDispersalInvertebratesInfluences2012","abstract":"This chapter briefly lists some of the generic factors that differentiate dispersal in invertebrates from vertebrates. Invertebrates can have considerable flexibility in their life histories and can often develop specific machinery or life-history stages for movement or a combination of life-history stage and behaviour. This makes the overall context of the life history crucial in determining the scope for dispersal, which is often constrained developmentally into a short period. There has been an increasing recognition that variability between individuals is both ubiquitous and important in ecology. The purpose of this chapter is to focus on the proximal factors that influence an individual's decisions, using examples from invertebrates. Environmental factors are first addressed, followed by the role of an individual's age, stage, sex, and condition on dispersal decisions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Benton","given":"Tim G."},{"family":"Bowler","given":"Diana E."}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0004","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal in invertebrates: influences on individual decisions","title-short":"Dispersal in invertebrates","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-4"}, - {"id":"bentonMicrocosmExperimentsCan2007","abstract":"Global-scale environmental problems are rarely regarded as amenable to traditional scientific experiment. We argue here that small-scale experiments using â€model organisms’ in microcosms or mesocosms can be a useful approach for apparently intractable global problems, such as ecosystem responses to climate change or managing biodiversity through the design of nature reserves. An experimental, small-scale research programme can easily be coupled with the development of theory and act as a stimulus to further research, thereby hastening both understanding of the issues and development of practical solutions. This process – from microcosm experiment to the development of practical application – has previously been influential but also has a long time lag. We suggest short-cuts in an attempt to stimulate the use of small-scale experiments to address globally urgent issues with meaningful policy implications.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Benton","given":"Tim G."},{"family":"Solan","given":"Martin"},{"family":"Travis","given":"Justin M. J."},{"family":"Sait","given":"Steven M."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2007.08.003","ISSN":"0169-5347","issue":"10","issued":{"date-parts":[[2007,10,1]]},"language":"en","page":"516-521","source":"ScienceDirect","title":"Microcosm experiments can inform global ecological problems","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534707002315","volume":"22"}, - {"id":"bessa-gomesDiscreteTwosexModels2010","abstract":"Although sexual reproduction has long been a central subject of theoretical ecology, until recently its consequences for population dynamics were largely overlooked. This is now changing, and many studies have addressed this issue, showing that when the mating system is taken into account, the population dynamics depends on the relative abundance of males and females, and is non-linear. Moreover, sexual reproduction increases the extinction risk, namely due to the Allee effect. Nevertheless, different studies have identified diverse potential consequences, depending on the choice of mating function. In this study, we investigate the consequences of three alternative mating functions that are frequently used in discrete population models: the minimum; the harmonic mean; and the modified harmonic mean. We consider their consequences at three levels: on the probability that females will breed; on the presence and intensity of the Allee effect; and on the extinction risk. When we consider the harmonic mean, the number of times the individuals of the least abundant sex mate exceeds their mating potential, which implies that with variable sex-ratios the potential reproductive rate is no longer under the modeller's control. Consequently, the female breeding probability exceeds 1 whenever the sex-ratio is male-biased, which constitutes an obvious problem. The use of the harmonic mean is thus only justified if we think that this parameter should be re-defined in order to represent the females' breeding rate and the fact that females may reproduce more than once per breeding season. This phenomenon buffers the Allee effect, and reduces the extinction risk. However, when we consider birth-pulse populations, such a phenomenon is implausible because the number of times females can reproduce per birth season is limited. In general, the minimum or modified harmonic mean mating functions seem to be more suitable for assessing the impact of mating systems on population dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bessa-Gomes","given":"Carmen"},{"family":"Legendre","given":"StĂ©phane"},{"family":"Clobert","given":"Jean"}],"container-title":"Acta Oecologica","DOI":"10.1016/j.actao.2010.02.010","ISSN":"1146-609X","issued":{"date-parts":[[2010,9,1]]},"page":"439-445","source":"NASA ADS","title":"Discrete two-sex models of population dynamics: On modelling the mating function","title-short":"Discrete two-sex models of population dynamics","type":"article-journal","URL":"https://ui.adsabs.harvard.edu/abs/2010AcO....36..439B","volume":"36"}, - {"id":"bestWhichSpeciesWill2007","abstract":"Understanding the ability of species to shift their geographic range is of considerable importance given the current period of rapid climate change. Furthermore, a greater understanding of the spatial population dynamics underlying range shifting is required to complement the advances made in climate niche modelling. A simulation model is developed which incorporates three key features that have been largely overlooked in studies of range shifting dynamics: the form of intraspecific competition, density dependent dispersal and the transient dynamics of habitat patches. The results show that the exact shape of the response depends critically on both local and patch dynamics. Species whose intraspecific competition is contest based are more vulnerable than those whose competition is scramble based. Contesters are especially sensitive when combined with density dependent dispersal. Species living in patches whose carrying capacity grows slowly are also susceptible to rapid shifts of environmental conditions. A complementary analytic approach further highlights the importance of intraspecific competition.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Best","given":"A. S."},{"family":"Johst","given":"K."},{"family":"MĂĽnkemĂĽller","given":"T."},{"family":"Travis","given":"J. M. J."}],"container-title":"Oikos","DOI":"10.1111/j.0030-1299.2007.16047.x","ISSN":"1600-0706","issue":"9","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0030-1299.2007.16047.x","page":"1531-1539","source":"Wiley Online Library","title":"Which species will succesfully track climate change? The influence of intraspecific competition and density dependent dispersal on range shifting dynamics","title-short":"Which species will succesfully track climate change?","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.0030-1299.2007.16047.x","volume":"116"}, - {"id":"bianRepresentationEnvironmentContext2003","abstract":"Individual-based modeling includes the explicit representation of the environment, to which individual organisms interact. From the perspective of spatial representation, spatially extended environment is different from discrete individual organisms, thus the success of object-orientation in the representation of individual organisms may not be applicable to the representation of the environment. Over the past few years, the attempt to adopt object-orientation in the representation of the environment has stimulated interesting discussions over what space is and how it may be represented in ecological modeling. The objective of this paper is to evaluate the merit of two traditional approaches used to represent the environment, i.e., the grid model and the patch model, and, in particular, the object-oriented versions of the two approaches in the representation of the environment. Two case studies are provided in support of the discussions of how the environment may be represented. One case study concerns individual fish growth and movement in an aquatic environment and the other concerns the movement of calving elk in a short-grass prairie. The discussion stresses the importance of two issues in the context of individual-based modeling: (1) the distinction between object-orientation used as a programming technique and as a representation means, and (2) the conceptual compatibility between a perceived phenomenon and the approach used to represent the phenomenon. It is suggested that caution be exercised in the practice of treating cells as objects. The paper concludes that two approaches may be appropriate for individual-based modeling. One is a hybrid approach that incorporates the traditional grid model of the environment and an object-oriented model of individual organisms. The other is the all-object approach that combines the object-oriented patches of the environment and the object-oriented individual organisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bian","given":"Ling"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/S0304-3800(02)00298-3","ISSN":"0304-3800","issue":"2","issued":{"date-parts":[[2003,1,15]]},"language":"en","page":"279-296","source":"ScienceDirect","title":"The representation of the environment in the context of individual-based modeling","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380002002983","volume":"159"}, - {"id":"bitumeDensityGeneticRelatedness2013","abstract":"Although dispersal distance plays a major role in determining whether organisms will reach new habitats, empirical data on the environmental factors that affect dispersal distance are lacking. Population density and kin competition are two factors theorised to increase dispersal distance. Using the two-spotted spider mite as a model species, we altered these two environmental conditions and measured the mean dispersal distance of individuals, as well as other attributes of the dispersal kernel. We find that both density and relatedness in the release patch increase dispersal distance. Relatedness, but not density, changes the shape of the dispersal kernel towards a more skewed and leptokurtic shape including a longer â€fat-tail’. This is the first experimental demonstration that kin competition can shape the whole distribution of dispersal distances in a population, and thus affect the geographical spread of dispersal phenotypes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bitume","given":"E. V."},{"family":"Bonte","given":"D."},{"family":"Ronce","given":"O."},{"family":"Bach","given":"F."},{"family":"Flaven","given":"E."},{"family":"Olivieri","given":"I."},{"family":"Nieberding","given":"C. M."}],"container-title":"Ecology Letters","DOI":"10.1111/ele.12057","ISSN":"1461-0248","issue":"4","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ele.12057","page":"430-437","source":"Wiley Online Library","title":"Density and genetic relatedness increase dispersal distance in a subsocial organism","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/ele.12057","volume":"16"}, - {"id":"bocediEffectsLocalAdaptation2013","abstract":"Local adaptation and species interactions have been shown to affect geographic ranges; therefore, we need models of climate impact that include both factors. To identify possible dynamics of species when including these factors, we ran simulations of two competing species using an individual-based, coupled map-lattice model using a linear climatic gradient that varies across latitude and is warmed over time. Reproductive success is governed by an individual's adaptation to local climate as well as its location relative to global constraints. In exploratory experiments varying the strength of adaptation and competition, competition reduces genetic diversity and slows range change, although the two species can coexist in the absence of climate change and shift in the absence of competitors. We also found that one species can drive the other to extinction, sometimes long after climate change ends. Weak selection on local adaptation and poor dispersal ability also caused surfing of cooler-adapted phenotypes from the expanding margin backwards, causing loss of warmer-adapted phenotypes. Finally, geographic ranges can become disjointed, losing centrally-adapted genotypes. These initial results suggest that the interplay between local adaptation and interspecific competition can significantly influence species' responses to climate change, in a way that demands future research.","author":[{"family":"Bocedi","given":"Greta"},{"family":"Atkins","given":"Katherine E."},{"family":"Liao","given":"Jishan"},{"family":"Henry","given":"Roslyn C."},{"family":"Travis","given":"Justin M. J."},{"family":"Hellmann","given":"Jessica J."}],"container-title":"Annals of the New York Academy of Sciences","container-title-short":"Ann N Y Acad Sci","DOI":"10.1111/nyas.12211","ISSN":"1749-6632","issued":{"date-parts":[[2013,9]]},"language":"eng","page":"83-97","PMID":"23905876","source":"PubMed","title":"Effects of local adaptation and interspecific competition on species' responses to climate change","type":"article-journal","volume":"1297"}, - {"id":"bocediProjectingSpeciesRange2012a","abstract":"1. Dynamic simulation models are a promising tool for assessing how species respond to habitat fragmentation and climate change. However, sensitivity of their outputs to impacts of spatial resolution is insufficiently known.\n2. Using an individual-based dynamic model for species’ range expansion, we demonstrate an inherent risk of substantial biases resulting from choices relating to the resolution at which key patterns and processes are modelled.\n3. Increasing cell size leads to overestimating dispersal distances, the extent of the range shift and population size. Overestimation accelerates with cell size for species with short dispersal capacity and is particularly severe in highly fragmented landscapes.\n4. The overestimation results from three main interacting sources: homogenisation of spatial information, alteration of dispersal kernels and stabilisation/aggregation of population dynamics.\n5. We urge for caution in selecting the spatial resolution used in dynamic simulations and other predictive models and highlight the urgent need to develop upscaling methods that maintain important patterns and processes at fine scales.","author":[{"family":"Bocedi","given":"Greta"},{"family":"Pe'er","given":"Guy"},{"family":"Heikkinen","given":"Risto"},{"family":"Matsinos","given":"Yiannis"},{"family":"Travis","given":"Justin"}],"container-title":"Methods in Ecology and Evolution","container-title-short":"Methods in Ecology and Evolution","DOI":"10.1111/j.2041-210X.2012.00235.x","issued":{"date-parts":[[2012,12,1]]},"page":"1008-1018","source":"ResearchGate","title":"Projecting species' range expansion dynamics: Sources of systematic biases when scaling up patterns and processes","title-short":"Projecting species' range expansion dynamics","type":"article-journal","volume":"3"}, - {"id":"bocediRangeShifterPlatformModelling2014","abstract":"Rapid environmental changes are threatening biodiversity and exposing species to novel ecological and evolutionary pressures. The scientific community increasingly recognizes the need for dynamic models integrating sufficient complexity both to improve our understanding of species' responses to environmental changes and to inform effective management strategies. Using three illustrative examples, we introduce a novel modelling platform, RangeShifter, which integrates complex population dynamics and dispersal behaviour, includes plastic and evolutionary processes and simulates scenarios on spatially explicit landscapes. The software provides functionality for a wide variety of modelling applications ranging from applied questions, where it can be parameterized for real landscapes and species to compare alternative potential management interventions, to purely theoretical studies of species' eco-evolutionary dynamics and responses to different environmental pressures. RangeShifter provides an important tool for facilitating the advancement of ecological theory on species' spatial dynamics in response to environmental changes, and linking it directly to application in biodiversity conservation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bocedi","given":"Greta"},{"family":"Palmer","given":"Stephen C. F."},{"family":"Pe'er","given":"Guy"},{"family":"Heikkinen","given":"Risto K."},{"family":"Matsinos","given":"Yiannis G."},{"family":"Watts","given":"Kevin"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/2041-210X.12162","ISSN":"2041-210X","issue":"4","issued":{"date-parts":[[2014]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.12162","page":"388-396","source":"Wiley Online Library","title":"RangeShifter: a platform for modelling spatial eco-evolutionary dynamics and species' responses to environmental changes","title-short":"RangeShifter","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/2041-210X.12162","volume":"5"}, - {"id":"bocediUncertaintyRoleInformation2012","abstract":"There is increasing empirical evidence that individuals utilize social and environmental cues in making decisions as to whether or not to disperse. However, we lack theory exploring the influence of information acquisition and use on the evolution of dispersal strategies and metapopulation dynamics. We used an individual-based, spatially explicit simulation model to explore the evolution of emigration strategies under varying precision of information about the natal patch, cost of information acquisition, and environmental predictability. Our findings show an interesting interplay between information use and the evolved emigration propensity. Lack of information led to higher emigration probabilities in more unpredictable environments but to lower emigration probabilities in constant or highly predictable scenarios. Somewhat-informed dispersal strategies were selected for in most cases, even when the acquisition of information was associated with a moderate reproductive cost. Notably, selection rarely favored investment in acquisition of high-precision information, and the tendency to invest in information acquisition was greatest in predictable environments when the associated cost was low. Our results highlight that information use can affect dispersal in a complex manner and also emphasize that information-acquisition behaviors can themselves come under strong selection, resulting in evolutionary dynamics that are tightly coupled to those of context-dependent behaviors.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bocedi","given":"Greta"},{"family":"Heinonen","given":"Johannes"},{"family":"Travis","given":"Justin M. J."}],"container-title":"The American Naturalist","DOI":"10.1086/665004","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[2012,5,1]]},"page":"606-620","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"Uncertainty and the Role of Information Acquisition in the Evolution of Context-Dependent Emigration.","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/665004","volume":"179"}, - {"id":"boeyeMoreRapidClimate2013","abstract":"Species can either adapt to new conditions induced by climate change or shift their range in an attempt to track optimal environmental conditions. During current range shifts, species are simultaneously confronted with a second major anthropogenic disturbance, landscape fragmentation. Using individual-based models with a shifting climate window, we examine the effect of different rates of climate change on the evolution of dispersal distances through changes in the genetically determined dispersal kernel. Our results demonstrate that the rate of climate change is positively correlated to the evolved dispersal distances although too fast climate change causes the population to crash. When faced with realistic rates of climate change, greater dispersal distances evolve than those required for the population to keep track of the climate, thereby maximizing population size. Importantly, the greater dispersal distances that evolve when climate change is more rapid, induce evolutionary rescue by facilitating the population in crossing large gaps in the landscape. This could ensure population persistence in case of range shifting in fragmented landscapes. Furthermore, we highlight problems in using invasion speed as a proxy for potential range shifting abilities under climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Boeye","given":"Jeroen"},{"family":"Travis","given":"Justin M J"},{"family":"Stoks","given":"Robby"},{"family":"Bonte","given":"Dries"}],"container-title":"Evolutionary Applications","container-title-short":"Evol Appl","DOI":"10.1111/eva.12004","ISSN":"1752-4571","issue":"2","issued":{"date-parts":[[2013,2]]},"page":"353-364","PMCID":"PMC3586623","PMID":"23467649","source":"PubMed Central","title":"More rapid climate change promotes evolutionary rescue through selection for increased dispersal distance","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3586623/","volume":"6"}, - {"id":"bonenfantChapterEmpiricalEvidence2009","abstract":"Densityâ€dependence is a key concept in population dynamics. Here, we review how body mass and demographic parameters vary with population density in large herbivores. The demographic parameters we consider are age†and sexâ€specific reproduction, survival and dispersal. As population density increases, the body mass of large herbivores typically declines, affecting individual performance traits such as age of first reproduction and juvenile survival. We documented densityâ€dependent variations in reproductive rates for many species from the Arctic to subtropical zones, both with and without predation. At high density, a tradeâ€off between growth and reproduction delays the age of primiparity and often increases the costs of reproduction, decreasing both survival and future reproductive success of adult females. Densityâ€dependent preweaning juvenile survival occurs more often in polytocous than monotocous species, while the effects of density on postâ€weaning juvenile survival are independent of litter size. Responses of adult survival to density are much less marked than for juvenile survival, and may be exaggerated by densityâ€dependent changes in age structure. The role of densityâ€dependent dispersal in population dynamics remains uncertain, because very few studies have examined it. For sexually dimorphic species, we found little support for higher sensitivity to increasing density in the life history traits of males compared to females, except for young age classes. It remains unclear whether males of dimorphic species are sensitive to male density, female density or a combination of both. Eberhardt's model predicting a sequential effect of density on demographic parameters (from juvenile survival to adult survival) was supported by 9 of 10 case studies. In addition, population density at birth can also lead to cohort effects, including a direct effect on juvenile survival and longâ€term effects on average cohort performance as adults. Density effects typically interact with weather, increasing in strength in years of harsh weather. For some species, the synchronization between plant phenology and reproductive cycle is a key process in population dynamics. The timing of late gestation as a function of plant phenology determines whether densityâ€dependence influences juvenile survival or adult female reproduction. The detection of densityâ€dependence can be made difficult by nonlinear relationships with density, high sampling variability, lagged responses to density changes, changes in population age structure, and temporal variation in the main factors limiting population growth. The negative feedbacks of population size on individual performance, and hence on life history traits, are thus only expected in particular ecological contexts and are most often restricted to certain ageâ€specific demographic traits.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bonenfant","given":"Christophe"},{"family":"Gaillard","given":"Jeanâ€Michel"},{"family":"Coulson","given":"Tim"},{"family":"Festaâ€Bianchet","given":"Marco"},{"family":"Loison","given":"Anne"},{"family":"Garel","given":"Mathieu"},{"family":"Loe","given":"Leif Egil"},{"family":"Blanchard","given":"Pierrick"},{"family":"Pettorelli","given":"Nathalie"},{"family":"Owenâ€Smith","given":"Norman"},{"family":"Du Toit","given":"Johan"},{"family":"Duncan","given":"Patrick"}],"container-title":"Advances in Ecological Research","DOI":"10.1016/S0065-2504(09)00405-X","issued":{"date-parts":[[2009,1,1]]},"language":"en","page":"313-357","publisher":"Academic Press","source":"ScienceDirect","title":"Chapter 5 Empirical Evidence of Densityâ€Dependence in Populations of Large Herbivores","type":"chapter","URL":"https://www.sciencedirect.com/science/article/pii/S006525040900405X","volume":"41"}, - {"id":"bonteCostsDispersal2012a","abstract":"Dispersal costs can be classified into energetic, time, risk and opportunity costs and may be levied directly or deferred during departure, transfer and settlement. They may equally be incurred during life stages before the actual dispersal event through investments in special morphologies. Because costs will eventually determine the performance of dispersing individuals and the evolution of dispersal, we here provide an extensive review on the different cost types that occur during dispersal in a wide array of organisms, ranging from micro-organisms to plants, invertebrates and vertebrates. In general, costs of transfer have been more widely documented in actively dispersing organisms, in contrast to a greater focus on costs during departure and settlement in plants and animals with a passive transfer phase. Costs related to the development of specific dispersal attributes appear to be much more prominent than previously accepted. Because costs induce trade-offs, they give rise to covariation between dispersal and other life-history traits at different scales of organismal organisation. The consequences of (i) the presence and magnitude of different costs during different phases of the dispersal process, and (ii) their internal organisation through covariation with other life-history traits, are synthesised with respect to potential consequences for species conservation and the need for development of a new generation of spatial simulation models.","author":[{"family":"Bonte","given":"D."},{"family":"Bullock","given":"James M."},{"family":"Coulon","given":"AurĂ©lie"},{"family":"Delgado","given":"Maria"},{"family":"Gibbs","given":"Melanie"},{"family":"Lehouck","given":"Valerie"},{"family":"Matthysen","given":"Erik"},{"family":"Mustin","given":"Karin"},{"family":"Saastamoinen","given":"Marjo"},{"family":"Schtickzelle","given":"Nicolas"},{"family":"Stevens","given":"Virginie M."},{"family":"Vandewoestijne","given":"Sofie"},{"family":"Baguette","given":"Michel"},{"family":"Barton","given":"Kamil"},{"family":"Benton","given":"Tim G."},{"family":"Chaput-Bardy","given":"Audrey"},{"family":"Clobert","given":"Jean"},{"family":"Dytham","given":"Calvin"},{"family":"Hovestadt","given":"Thomas"},{"family":"Meier","given":"Christoph M."},{"family":"Palmer","given":"Steve C. F."},{"family":"Turlure","given":"Camille"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Biological Reviews of the Cambridge Philosophical Society","container-title-short":"Biol Rev Camb Philos Soc","DOI":"10.1111/j.1469-185X.2011.00201.x","ISSN":"1469-185X","issue":"2","issued":{"date-parts":[[2012,5]]},"language":"eng","page":"290-312","PMID":"21929715","source":"PubMed","title":"Costs of dispersal","type":"article-journal","volume":"87"}, - {"id":"bonteEvolutionDispersalPolymorphism2010","abstract":"Many organisms show polymorphism in dispersal distance strategies. This variation is particularly ecological relevant if it encompasses a functional separation of short- (SDD) and long-distance dispersal (LDD). It remains, however, an open question whether both parts of the dispersal kernel are similarly affected by landscape related selection pressures. We implemented an individual-based model to analyze the evolution of dispersal traits in fractal landscapes that vary in the proportion of habitat and its spatial configuration. Individuals are parthenogenetic with dispersal distance determined by two alleles on each individual's genome: one allele coding for the probability of global dispersal and one allele coding for the variance Ď of a Gaussian local dispersal with mean value zero. Simulations show that mean distances of local dispersal and the probability of global dispersal, increase with increasing habitat availability, but that changes in the habitat's spatial autocorrelation impose opposing selective pressure: local dispersal distances decrease and global dispersal probabilities increase with decreasing spatial autocorrelation of the available habitat. Local adaptation of local dispersal distance emerges in landscapes with less than 70% of clumped habitat. These results demonstrate that long and short distance dispersal evolve separately according to different properties of the landscape. The landscape structure may consequently largely affect the evolution of dispersal distance strategies and the level of dispersal polymorphism.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bonte","given":"Dries"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans-Joachim"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2009.17943.x","ISSN":"1600-0706","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2009.17943.x","page":"560-566","source":"Wiley Online Library","title":"Evolution of dispersal polymorphism and local adaptation of dispersal distance in spatially structured landscapes","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2009.17943.x","volume":"119"}, - {"id":"bonteGeographicalVariationWolf2006","abstract":"Theoretical studies suggest that mechanisms underlying habitat and population structure are important for shaping inter- and intraspecific variation in dispersal behaviour. Empirical evidence, especially in organisms living in spatially structured populations, however, is scarce. We investigated the relation between habitat configuration (patch size, connectivity) and dispersal by studying variation in tiptoe behaviour in the dune wolf spider, Pardosa monticola, under standardized laboratory conditions. Tiptoe behaviour prepares spiderlings for ballooning and can hence be considered as a precursor of aerial dispersal. The proportion of individuals that displayed tiptoe behaviour was highest in offspring from grasslands in a large dune landscape where habitat was continuously available, intermediate in offspring originating from a fragmented landscape, and lowest in offspring originating from a small and extremely isolated grassland patch. At the level of the fragmented landscape, variation was related to size and connectivity of four subpopulations. Both between and within landscapes, maternal condition had no effect on offspring dispersal. These results indicate that changes in habitat configuration from a large, connected landscape towards a small, fragmented one may lead to a decrease in dispersal rates, even at small spatial scales. Hence, behavioural traits narrowly linked to dispersal evolve towards less mobile phenotypes in small, isolated habitats, indicating high dispersal costs and low efficacy for gene flow in a spider species restricted to fragmented habitats.","author":[{"family":"Bonte","given":"D."},{"family":"Borre","given":"J. V."},{"family":"Lens","given":"L."},{"family":"Maelfait","given":"J."}],"container-title":"Animal Behaviour","DOI":"10.1016/j.anbehav.2005.11.026","issued":{"date-parts":[[2006]]},"source":"Semantic Scholar","title":"Geographical variation in wolf spider dispersal behaviour is related to landscape structure","type":"article-journal"}, - {"id":"bonteSexspecificDispersalEvolutionary2009","abstract":"Background: Male killing endosymbionts manipulate their arthropod host reproduction by only allowing female embryos to develop into infected females and killing all male offspring. Because the resulting change in sex ratio is expected to affect the evolution of sex-specific dispersal, we investigated under which environmental conditions strong sex-biased dispersal would emerge, and how this would affect host and endosymbiont metapopulation persistence. Results: We simulated host-endosymbiont metapopulation dynamics in an individual-based model, in which dispersal rates are allowed to evolve independently for the two sexes. Prominent male-biased dispersal emerges under conditions of low environmental stochasticity and high dispersal mortality. By applying a reshuffling algorithm, we show that kin-competition is a major driver of this evolutionary pattern because of the high within-population relatedness of males compared to those of females. Moreover, the evolution of sex-specific dispersal rescues metapopulations from extinction by (i) reducing endosymbiont fixation rates and (ii) by enhancing the extinction of endosymbionts within metapopulations that are characterized by low environmental stochasticity. Conclusion: Male killing endosymbionts induce the evolution of sex-specific dispersal, with prominent male-biased dispersal under conditions of low environmental stochasticity and high dispersal mortality. This male-biased dispersal emerges from stronger kin-competition in males compared to females and induces an evolutionary rescue mechanism.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bonte","given":"Dries"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans Joachim"}],"issued":{"date-parts":[[2009]]},"language":"eng","source":"opus.bibliothek.uni-wuerzburg.de","title":"Sex-specific dispersal and evolutionary rescue in metapopulations infected by male killing endosymbionts","type":"article-journal","URL":"https://opus.bibliothek.uni-wuerzburg.de/frontdoor/index/index/docId/3999"}, - {"id":"boulangeatAccountingDispersalBiotic2012","abstract":"Ecology Letters (2012) Abstract Although abiotic factors, together with dispersal and biotic interactions, are often suggested to explain the distribution of species and their abundances, species distribution models usually focus on abiotic factors only. We propose an integrative framework linking ecological theory, empirical data and statistical models to understand the distribution of species and their abundances together with the underlying community assembly dynamics. We illustrate our approach with 21 plant species in the French Alps. We show that a spatially nested modelling framework significantly improves the model’s performance and that the spatial variations of species presence–absence and abundances are predominantly explained by different factors. We also show that incorporating abiotic, dispersal and biotic factors into the same model bring new insights to our understanding of community assembly. This approach, at the crossroads between community ecology and biogeography, is a promising avenue for a better understanding of species co-existence and biodiversity distribution.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Boulangeat","given":"Isabelle"},{"family":"Gravel","given":"Dominique"},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2012.01772.x","ISSN":"1461-0248","issue":"6","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2012.01772.x","page":"584-593","source":"Wiley Online Library","title":"Accounting for dispersal and biotic interactions to disentangle the drivers of species distributions and their abundances","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2012.01772.x","volume":"15"}, - {"id":"bowlerCausesConsequencesAnimal2005a","abstract":"Knowledge of the ecological and evolutionary causes of dispersal can be crucial in understanding the behaviour of spatially structured populations, and predicting how species respond to environmental change. Despite the focus of much theoretical research, simplistic assumptions regarding the dispersal process are still made. Dispersal is usually regarded as an unconditional process although in many cases fitness gains of dispersal are dependent on environmental factors and individual state. Condition-dependent dispersal strategies will often be superior to unconditional, fixed strategies. In addition, dispersal is often collapsed into a single parameter, despite it being a process composed of three interdependent stages: emigration, inter-patch movement and immigration, each of which may display different condition dependencies. Empirical studies have investigated correlates of these stages, emigration in particular, providing evidence for the prevalence of conditional dispersal strategies. Ill-defined use of the term 'dispersal', for movement across many different spatial scales, further hinders making general conclusions and relating movement correlates to consequences at the population level. Logistical difficulties preclude a detailed study of dispersal for many species, however incorporating unrealistic dispersal assumptions in spatial population models may yield inaccurate and costly predictions. Further studies are necessary to explore the importance of incorporating specific condition-dependent dispersal strategies for evolutionary and population dynamic predictions.","author":[{"family":"Bowler","given":"Diana E."},{"family":"Benton","given":"Tim G."}],"container-title":"Biological Reviews of the Cambridge Philosophical Society","container-title-short":"Biol Rev Camb Philos Soc","DOI":"10.1017/s1464793104006645","ISSN":"1464-7931","issue":"2","issued":{"date-parts":[[2005,5]]},"language":"eng","page":"205-225","PMID":"15921049","source":"PubMed","title":"Causes and consequences of animal dispersal strategies: relating individual behaviour to spatial dynamics","title-short":"Causes and consequences of animal dispersal strategies","type":"article-journal","volume":"80"}, - {"id":"bridleLimitsEvolutionRange2007","abstract":"What stops populations expanding into new territory beyond the edge of a range margin? Recent models addressing this problem have brought together population genetics and population ecology, and some have included interactions among species at range edges. Here, we review these models of adaptation at environmental or parapatric margins, and discuss the contrasting effects of migration in either swamping local adaptation, or supplying the genetic variation that is necessary for adaptation to continue. We illustrate how studying adaptation at range margins (both with and without hybridization) can provide insight into the genetic and ecological factors that limit evolution more generally, especially in response to current rates of environmental change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bridle","given":"Jon R"},{"family":"Vines","given":"Timothy H"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2006.11.002","ISSN":"0169-5347","issue":"3","issued":{"date-parts":[[2007,3,1]]},"language":"en","page":"140-147","source":"ScienceDirect","title":"Limits to evolution at range margins: when and why does adaptation fail?","title-short":"Limits to evolution at range margins","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534706003636","volume":"22"}, - {"id":"brookerModellingSpeciesRange2007","abstract":"There is an urgent need for accurate prediction of climate change impacts on species ranges. Current reliance on bioclimatic envelope approaches ignores important biological processes such as interactions and dispersal. Although much debated, it is unclear how such processes might influence range shifting. Using individual-based modelling we show that interspecific interactions and dispersal ability interact with the rate of climate change to determine range-shifting dynamics in a simulated community with two growth forms--mutualists and competitors. Interactions determine spatial arrangements of species prior to the onset of rapid climate change. These lead to space-occupancy effects that limit the rate of expansion of the fast-growing competitors but which can be overcome by increased long-distance dispersal. As the rate of climate change increases, lower levels of long-distance dispersal can drive the mutualists to extinction, demonstrating the potential for subtle process balances, non-linear dynamics and abrupt changes from species coexistence to species loss during climate change.","author":[{"family":"Brooker","given":"Rob W."},{"family":"Travis","given":"Justin M. J."},{"family":"Clark","given":"Ewen J."},{"family":"Dytham","given":"Calvin"}],"container-title":"Journal of Theoretical Biology","container-title-short":"J Theor Biol","DOI":"10.1016/j.jtbi.2006.09.033","ISSN":"0022-5193","issue":"1","issued":{"date-parts":[[2007,3,7]]},"language":"eng","page":"59-65","PMID":"17087974","source":"PubMed","title":"Modelling species' range shifts in a changing climate: the impacts of biotic interactions, dispersal distance and the rate of climate change","title-short":"Modelling species' range shifts in a changing climate","type":"article-journal","volume":"245"}, - {"id":"broquetMolecularEstimationDispersal2009","abstract":"The dispersal process, by which individuals or other dispersing agents such as gametes or seeds move from birthplace to a new settlement locality, has important consequences for the dynamics of genes, individuals, and species. Many of the questions addressed by ecology and evolutionary biology require a good understanding of species’ dispersal patterns. Much effort has thus been devoted to overcoming the difficulties associated with dispersal measurement. In this context, genetic tools have long been the focus of intensive research, providing a great variety of potential solutions to measuring dispersal. This methodological diversity is reviewed here to help (molecular) ecologists find their way toward dispersal inference and interpretation and to stimulate further developments.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Broquet","given":"Thomas"},{"family":"Petit","given":"Eric J."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.110308.120324","issue":"1","issued":{"date-parts":[[2009]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.110308.120324","page":"193-216","source":"Annual Reviews","title":"Molecular Estimation of Dispersal for Ecology and Population Genetics","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.110308.120324","volume":"40"}, - {"id":"bullockLongDistanceSeed2000","abstract":"The size and shape of the tail of the seed dispersal curve is important in determining the spatial dynamics of plants, but is difficult to quantify. We devised an experimental protocol to measure long-distance dispersal which involved measuring dispersal by wind from isolated individuals at a range of distances from the source, but maintaining a large and constant sampling intensity at each distance. Seeds were trapped up to 80 m from the plants, the furthest a dispersal curve for an individual plant has been measured for a non-tree species. Standard empirical negative exponential and inverse power models were fitted using likelihood methods. The latter always had a better fit than the former, but in most cases neither described the data well, and strongly under-estimated the tail of the dispersal curve. An alternative model formulation with two kernel components had a much better fit in most cases and described the tail data more accurately. Mechanistic models provide an alternative to direct measurement of dispersal. However, while a previous mechanistic model accurately predicted the modal dispersal distance, it always under-predicted the measured tail. Long-distance dispersal may be caused by rare extremes in horizontal wind speed or turbulence. Therefore, under-estimation of the tail by standard empirical models and mechanistic models may indicate a lack of flexibility to take account of such extremes. Future studies should examine carefully whether the widely used exponential and power models are, in fact, valid, and investigate alternative models.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Bullock","given":"J. M."},{"family":"Clarke","given":"R. T."}],"container-title":"Oecologia","container-title-short":"Oecologia","DOI":"10.1007/PL00008876","ISSN":"1432-1939","issue":"4","issued":{"date-parts":[[2000,9,1]]},"language":"en","page":"506-521","source":"Springer Link","title":"Long distance seed dispersal by wind: measuring and modelling the tail of the curve","title-short":"Long distance seed dispersal by wind","type":"article-journal","URL":"https://doi.org/10.1007/PL00008876","volume":"124"}, - {"id":"cagnacciAnimalEcologyMeets2010","abstract":"Global positioning system (GPS) telemetry technology allows us to monitor and to map the details of animal movement, securing vast quantities of such data even for highly cryptic organisms. We envision an exciting synergy between animal ecology and GPS-based radiotelemetry, as for other examples of new technologies stimulating rapid conceptual advances, where research opportunities have been paralleled by technical and analytical challenges. Animal positions provide the elemental unit of movement paths and show where individuals interact with the ecosystems around them. We discuss how knowing where animals go can help scientists in their search for a mechanistic understanding of key concepts of animal ecology, including resource use, home range and dispersal, and population dynamics. It is probable that in the not-so-distant future, intense sampling of movements coupled with detailed information on habitat features at a variety of scales will allow us to represent an animal's cognitive map of its environment, and the intimate relationship between behaviour and fitness. An extended use of these data over long periods of time and over large spatial scales can provide robust inferences for complex, multi-factorial phenomena, such as meta-analyses of the effects of climate change on animal behaviour and distribution.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Cagnacci","given":"Francesca"},{"family":"Boitani","given":"Luigi"},{"family":"Powell","given":"Roger A."},{"family":"Boyce","given":"Mark S."}],"container-title":"Philosophical Transactions of the Royal Society B: Biological Sciences","DOI":"10.1098/rstb.2010.0107","issue":"1550","issued":{"date-parts":[[2010,7,27]]},"page":"2157-2162","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Animal ecology meets GPS-based radiotelemetry: a perfect storm of opportunities and challenges","title-short":"Animal ecology meets GPS-based radiotelemetry","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rstb.2010.0107","volume":"365"}, - {"id":"caswellMatrixPopulationModels2001a","abstract":"Published by Sinauer Associates, an imprint of Oxford University Press. Matrix Population Models, Second Edition, is a comprehensive treatment of matrix population models and their applications in ecology and demography. It begins with simple cases, presented in detail so that beginning students can learn how to use these powerful models. It goes on to cover advanced topics in stochastic and nonlinear models. Analytical methods and theoretical issues are illustrated with empirical examples throughout. The decade since the publication of the First Edition of this book has seen enormous progress in the theory and application of matrix population models. The new edition includes greatly expanded treatment of stochastic and density-dependent models, sensitivity analysis, and statistical inference, and new chapters on parameter estimation, structured population models, demographic stochasticity, and applications of matrix models in conservation biology. Matrix Population Models, Second Edition, is an indispensable reference for graduate students and researchers in ecology, population biology, conservation biology, and human demography","author":[{"family":"Caswell","given":"Hal"}],"edition":"Second Edition, Matrix Population Models, Second Edition, is a comprehensive treatment of matrix population models and their applications in ecology and ...","event-place":"Oxford, New York","ISBN":"978-0-87893-121-7","issued":{"date-parts":[[2001]]},"number-of-pages":"722","publisher":"Oxford University Press","publisher-place":"Oxford, New York","source":"Oxford University Press","title":"Matrix Population Models: Construction, Analysis, and Interpretation","title-short":"Matrix Population Models","type":"book"}, - {"id":"caswellSensitivityAnalysisEquilibrium2004","abstract":"We consider the effects of parameter perturbations on a density-dependent population at equilibrium. Such perturbations change the dominant eigenvalue λ of the projection matrix evaluated at the equilibrium as well as the equilibrium itself. We show that, regardless of the functional form of density dependence, the sensitivity of λ is equal to the sensitivity of an effective equilibrium density , which is a weighted combination of the equilibrium stage densities. The weights measure the contributions of each stage to density dependence and their effects on demography. Thus, is in general more relevant than total density, which simply adds all stages regardless of their ecological properties. As log λ is the invasion exponent, our results show that successful invasion will increase , and that an evolutionary stable strategy will maximize . Our results imply that eigenvalue sensitivity analysis of a population projection matrix that is evaluated near equilibrium can give useful information about the sensitivity of the equilibrium population, even if no data on density dependence are available.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Caswell","given":"Hal"},{"family":"Takada","given":"Takenori"},{"family":"Hunter","given":"Christine M."}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2004.00595.x","ISSN":"1461-0248","issue":"5","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00595.x","page":"380-387","source":"Wiley Online Library","title":"Sensitivity analysis of equilibrium in density-dependent matrix population models","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2004.00595.x","volume":"7"}, - {"id":"caswellTwoSexModelsChaos1986","abstract":"Most demographic models consider only one sex, usually the female. The widespread occurrence of sexual dimorphism in life history traits and the occurrence of skewed and fluctuating sex ratios suggest that one-sex models or those dominated by one sex may often be less appropriate than two-sex models. Reproduction in two-sex models is a frequency-dependent nonlinear function (the birth or marriage function) of the relative abundance of males and females. In this paper, we examine the population dynamics resulting from three different two-sex, discrete-time, population-projection models. For a large class of birth functions, models without inter-stage mate competition are shown to converge to a locally stable adult sex ratio. Formulas for the stable population structure, stable sex ratio, and reproductive value at equilibrium are derived. When individuals of different stages compete for mates, the equilibrium population structure may become unstable. A sequence of bifurcations then occurs, leading to periodic oscillations, quasi-periodic fluctuations, and chaos as the intensity of competition increases. Finally, when per capita fecundity is a sigmoid function of the relative abundance of the other sex, perturbations of the sex ratio may lead to extinction.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Caswell","given":"Hal"},{"family":"Weeks","given":"Daniel E."}],"container-title":"The American Naturalist","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[1986]]},"page":"707-735","publisher":"[University of Chicago Press, American Society of Naturalists]","source":"JSTOR","title":"Two-Sex Models: Chaos, Extinction, and Other Dynamic Consequences of Sex","title-short":"Two-Sex Models","type":"article-journal","URL":"https://www.jstor.org/stable/2461952","volume":"128"}, - {"id":"chaineCoevolutionMultiplyinformedDispersal2013","abstract":"Dispersal plays a key role in natural systems by shaping spatial population and evolutionary dynamics. Dispersal has been largely treated as a population process with little attention to individual decisions and the influence of information use on the fitness benefits of dispersal despite clear empirical evidence that dispersal behavior varies among individuals. While information on local density is common, more controversial is the notion that indirect information use can easily evolve. We used an individual-based model to ask under what conditions indirect information use in dispersal will evolve. We modeled indirect information provided by immigrant arrival into a population which should be linked to overall metapopulation density. We also modeled direct information use of density which directly impacts fitness. We show that immigrant-dependent dispersal evolves and does so even when density dependent information is available. Use of two sources of information also provides benefits at the metapopulation level by reducing extinction risk and prolonging the persistence of populations. Our results suggest that use of indirect information in dispersal can evolve under conservative conditions and thus could be widespread.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chaine","given":"Alexis S."},{"family":"Legendre","given":"StĂ©phane"},{"family":"Clobert","given":"Jean"}],"container-title":"PeerJ","container-title-short":"PeerJ","DOI":"10.7717/peerj.44","ISSN":"2167-8359","issued":{"date-parts":[[2013,2,26]]},"language":"en","page":"e44","publisher":"PeerJ Inc.","source":"peerj.com","title":"The co-evolution of multiply-informed dispersal: information transfer across landscapes from neighbors and immigrants","title-short":"The co-evolution of multiply-informed dispersal","type":"article-journal","URL":"https://peerj.com/articles/44","volume":"1"}, - {"id":"chaput-bardyConditionPhenotypeDependentDispersal2010","abstract":"Individual dispersal decisions may be affected by the internal state of the individual and the external information of its current environment. Here we estimated the influence of dispersal on survival and investigated if individual phenotype (sex and wing length) and environmental condition (conspecific density and sex-ratio) affected dispersal decisions in the banded damselfly, Calopteryx splendens. As suspected from the literature, we showed that the proportion of dispersing individuals was higher in females than in males. We also found negative-density dependent dispersal in both sexes and influence of sex-ratio on dispersal. Individuals moved less when sex-ratio was male biased. These results are consistent with a lek mating system where males aggregate in a place and hold mating territories. Contrary to our expectations, neither dispersal nor survival was affected by wing length. Nevertheless, mean adult survival was about 8% lower in dispersing individuals than in residents. This might reflect a mortality cost due to dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chaput-Bardy","given":"Audrey"},{"family":"GrĂ©goire","given":"Arnaud"},{"family":"Baguette","given":"Michel"},{"family":"Pagano","given":"Alain"},{"family":"Secondi","given":"Jean"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0010694","ISSN":"1932-6203","issue":"5","issued":{"date-parts":[[2010,5,18]]},"language":"en","page":"e10694","publisher":"Public Library of Science","source":"PLoS Journals","title":"Condition and Phenotype-Dependent Dispersal in a Damselfly, Calopteryx splendens","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0010694","volume":"5"}, - {"id":"chardonIncorporatingLandscapeElements2003","abstract":"In spatial studies of populations, Euclidean distance is commonly used to measure the structural connectivity between habitat patches. The role of the matrix on patch connectivity is thereby ignored. However, the importance of the matrix for (dispersal) movement is increasingly being acknowledged. Our study compared the cost-distance measure with the Euclidean distance. The cost-distance is a simple GIS-calculated connectivity measure that incorporates the resistance of the landscape matrix to movement behaviour. We used presence-absence data from a field study on the Speckled wood butterfly in two Belgian landscapes. Logistic regression revealed that the cost-distance measure had a significantly better predictive power than the Euclidean distance. This result was consistent for all the six sets of different matrix resistance values. In our study the cost-distance proves to be a better connectivity measure than the Euclidean distance.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chardon","given":"J. Paul"},{"family":"Adriaensen","given":"Frank"},{"family":"Matthysen","given":"Erik"}],"container-title":"Landscape Ecology","container-title-short":"Landscape Ecology","DOI":"10.1023/A:1026062530600","ISSN":"1572-9761","issue":"6","issued":{"date-parts":[[2003,9,1]]},"language":"en","page":"561-573","source":"Springer Link","title":"Incorporating landscape elements into a connectivity measure: a case study for the Speckled wood butterfly (Pararge aegeria L.)","title-short":"Incorporating landscape elements into a connectivity measure","type":"article-journal","URL":"https://doi.org/10.1023/A:1026062530600","volume":"18"}, - {"id":"chenRapidRangeShifts2011","abstract":"The distributions of many terrestrial organisms are currently shifting in latitude or elevation in response to changing climate. Using a meta-analysis, we estimated that the distributions of species have recently shifted to higher elevations at a median rate of 11.0 meters per decade, and to higher latitudes at a median rate of 16.9 kilometers per decade. These rates are approximately two and three times faster than previously reported. The distances moved by species are greatest in studies showing the highest levels of warming, with average latitudinal shifts being generally sufficient to track temperature changes. However, individual species vary greatly in their rates of change, suggesting that the range shift of each species depends on multiple internal species traits and external drivers of change. Rapid average shifts derive from a wide diversity of responses by individual species.\nA meta-analysis shows that species are shifting their distributions in response to climate change at an accelerating rate.\nA meta-analysis shows that species are shifting their distributions in response to climate change at an accelerating rate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chen","given":"I.-Ching"},{"family":"Hill","given":"Jane K."},{"family":"OhlemĂĽller","given":"Ralf"},{"family":"Roy","given":"David B."},{"family":"Thomas","given":"Chris D."}],"container-title":"Science","DOI":"10.1126/science.1206432","ISSN":"0036-8075, 1095-9203","issue":"6045","issued":{"date-parts":[[2011,8,19]]},"language":"en","page":"1024-1026","PMID":"21852500","publisher":"American Association for the Advancement of Science","section":"Report","source":"science.sciencemag.org","title":"Rapid Range Shifts of Species Associated with High Levels of Climate Warming","type":"article-journal","URL":"https://science.sciencemag.org/content/333/6045/1024","volume":"333"}, - {"id":"chipperfieldUpdatedAlgorithmGeneration2011","abstract":"Background Patterns that arise from an ecological process can be driven as much from the landscape over which the process is run as it is by some intrinsic properties of the process itself. The disentanglement of these effects is aided if it possible to run models of the process over artificial landscapes with controllable spatial properties. A number of different methods for the generation of so-called â€neutral landscapes’ have been developed to provide just such a tool. Of these methods, a particular class that simulate fractional Brownian motion have shown particular promise. The existing methods of simulating fractional Brownian motion suffer from a number of problems however: they are often not easily generalisable to an arbitrary number of dimensions and produce outputs that can exhibit some undesirable artefacts. Methodology We describe here an updated algorithm for the generation of neutral landscapes by fractional Brownian motion that do not display such undesirable properties. Using Monte Carlo simulation we assess the anisotropic properties of landscapes generated using the new algorithm described in this paper and compare it against a popular benchmark algorithm. Conclusion/Significance The results show that the existing algorithm creates landscapes with values strongly correlated in the diagonal direction and that the new algorithm presented here corrects this artefact. A number of extensions of the algorithm described here are also highlighted: we describe how the algorithm can be employed to generate landscapes that display different properties in different dimensions and how they can be combined with an environmental gradient to produce landscapes that combine environmental variation at the local and macro scales.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Chipperfield","given":"Joseph D."},{"family":"Dytham","given":"Calvin"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0017040","ISSN":"1932-6203","issue":"2","issued":{"date-parts":[[2011,2,15]]},"language":"en","page":"e17040","publisher":"Public Library of Science","source":"PLoS Journals","title":"An Updated Algorithm for the Generation of Neutral Landscapes by Spectral Synthesis","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0017040","volume":"6"}, - {"id":"clarkInvasionExtremesPopulation2001","abstract":"For populations having dispersal described by fat-tailed kernels (kernels with tails that are not exponentially bounded), asymptotic population spread rates cannot be estimated by traditional models because these models predict continually accelerating (asymptotically infinite) invasion. The impossible predictions come from the fact that the fat-tailed kernels fitted to dispersal data have a quality (nondiscrete individuals and, thus, no moment-generating function) that never applies to data. Real organisms produce finite (and random) numbers of offspring; thus, an empirical moment-generating function can always be determined. Using an alternative method to estimate spread rates in terms of extreme dispersal events, we show that finite estimates can be derived for fat-tailed kernels, and we demonstrate how variable reproduction modifies these rates. Whereas the traditional models define spread rate as the speed of an advancing front describing the expected density of individuals, our alternative definition for spread rate is the expected velocity for the location of the furthest-forward individual in the population. The asymptotic wave speed for a constant net reproductive rate R0 is approximated as (1/T)(piuR)/2)(1/2) m yr(-1), where T is generation time, and u is a distance parameter (m2) of Clark et al.'s 2Dt model having shape parameter p = 1. From fitted dispersal kernels with fat tails and infinite variance, we derive finite rates of spread and a simple method for numerical estimation. Fitted kernels, with infinite variance, yield distributions of rates of spread that are asymptotically normal and, thus, have finite moments. Variable reproduction can profoundly affect rates of spread. By incorporating the variance in reproduction that results from variable life span, we estimate much lower rates than predicted by the standard approach, which assumes a constant net reproductive rate. Using basic life-history data for trees, we show these estimated rates to be lower than expected from previous analytical models and as interpreted from paleorecords of forest spread at the end of the Pleistocene. Our results suggest reexamination of past rates of spread and the potential for future response to climate change.","author":[{"family":"Clark","given":"J. S."},{"family":"Lewis","given":"M."},{"family":"Horvath","given":"L."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/319934","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2001,5]]},"language":"eng","page":"537-554","PMID":"18707261","source":"PubMed","title":"Invasion by extremes: population spread with variation in dispersal and reproduction","title-short":"Invasion by extremes","type":"article-journal","volume":"157"}, - {"id":"clarkReidParadoxRapid1998","abstract":"The oak, to gain its present most northerly position in North Britain after being driven out by the cold probably had to travel fully six hundred miles, and this without external aid would take something like a million years. (Reid 1899)","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Clark","given":"James S."},{"family":"Fastie","given":"Chris"},{"family":"Hurtt","given":"George"},{"family":"Jackson","given":"Stephen T."},{"family":"Johnson","given":"Carter"},{"family":"King","given":"George A."},{"family":"Lewis","given":"Mark"},{"family":"Lynch","given":"Jason"},{"family":"Pacala","given":"Stephen"},{"family":"Prentice","given":"Colin"},{"family":"Schupp","given":"Eugene W."},{"family":"Webb","given":"Thompson","suffix":"III"},{"family":"Wyckoff","given":"Peter"}],"container-title":"BioScience","container-title-short":"BioScience","DOI":"10.2307/1313224","ISSN":"0006-3568","issue":"1","issued":{"date-parts":[[1998,1,1]]},"page":"13-24","source":"Silverchair","title":"Reid's Paradox of Rapid Plant Migration: Dispersal theory and interpretation of paleoecological records","title-short":"Reid's Paradox of Rapid Plant Migration","type":"article-journal","URL":"https://doi.org/10.2307/1313224","volume":"48"}, - {"id":"clobertDispersal2001","abstract":"The ability of species to migrate that has interested ecologists for many years. Now that so many species and ecosystems face major environmental change, the ability of species to adapt to these changes by dispersing, migrating, or moving between different patches of habitat can be crucial to ensuring their survivial. This book provides a timely and wide-ranging overview of the study of dispersal and incorporates much of the latest research. The causes, mechanisms, and consequences of dispersal at the individual, population, species and community levels are considered. The potential of new techniques and models for studying dispersal, drawn from molecular biology and demography, is also explored. Perspectives and insights are offered from the fields of evolution, conservation biology and genetics. Throughout the book, theoretical approaches are combined with empirical data, and care has been taken to include examples from as wide a range of species as possible.","editor":[{"family":"Clobert","given":"Jean"},{"family":"Danchin","given":"Etienne"},{"family":"Dhondt","given":"Andre A."},{"family":"Nichols","given":"James D."}],"event-place":"Oxford, New York","ISBN":"978-0-19-850659-1","issued":{"date-parts":[[2001,2,22]]},"number-of-pages":"480","publisher":"Oxford University Press","publisher-place":"Oxford, New York","source":"Oxford University Press","title":"Dispersal","type":"book"}, - {"id":"clobertDispersalEcologyEvolution2012a","abstract":"Now that so many ecosystems face rapid and major environmental change, the ability of species to respond to these changes by dispersing or moving between different patches of habitat can be crucial to ensuring their survival. Understanding dispersal has become key to understanding how populations may persist. This book provides an overview of the fast expanding field of dispersal ecology, incorporating the very latest research. The causes, mechanisms, and consequences of dispersal at the individual, population, species, and community levels are considered. Perspectives and insights are offered from the fields of evolution, behavioural ecology, conservation biology, and genetics. Throughout the book theoretical approaches are combined with empirical data, and care has been taken to include examples from as wide a range of species as possible — both plant and animal.","accessed":{"date-parts":[[2021,8,9]]},"DOI":"10.1093/acprof:oso/9780199608898.001.0001","editor":[{"family":"Clobert","given":"Jean"},{"family":"Baguette","given":"Michel"},{"family":"Benton","given":"Tim G."},{"family":"Bullock","given":"James M."}],"event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","number-of-pages":"496","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal Ecology and Evolution","type":"book","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898"}, - {"id":"clobertInformedDispersalHeterogeneity2009","abstract":"There is accumulating evidence that individuals leave their natal area and select a breeding habitat non-randomly by relying upon information about their natal and future breeding environments. This variation in dispersal is not only based on external information (condition dependence) but also depends upon the internal state of individuals (phenotype dependence). As a consequence, not all dispersers are of the same quality or search for the same habitats. In addition, the individual's state is characterized by morphological, physiological or behavioural attributes that might themselves serve as a cue altering the habitat choice of conspecifics. These combined effects of internal and external information have the potential to generate complex movement patterns and could influence population dynamics and colonization processes. Here, we highlight three particular processes that link condition-dependent dispersal, phenotype-dependent dispersal and habitat choice strategies: (1) the relationship between the cause of departure and the dispersers' phenotype; (2) the relationship between the cause of departure and the settlement behaviour and (3) the concept of informed dispersal, where individuals gather and transfer information before and during their movements through the landscape. We review the empirical evidence for these processes with a special emphasis on vertebrate and arthropod model systems, and present case studies that have quantified the impacts of these processes on spatially structured population dynamics. We also discuss recent literature providing strong evidence that individual variation in dispersal has an important impact on both reinforcement and colonization success and therefore must be taken into account when predicting ecological responses to global warming and habitat fragmentation.","author":[{"family":"Clobert","given":"Jean"},{"family":"Le Galliard","given":"Jean-François"},{"family":"Cote","given":"Julien"},{"family":"Meylan","given":"Sandrine"},{"family":"Massot","given":"Manuel"}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/j.1461-0248.2008.01267.x","ISSN":"1461-0248","issue":"3","issued":{"date-parts":[[2009,3]]},"language":"eng","page":"197-209","PMID":"19170731","source":"PubMed","title":"Informed dispersal, heterogeneity in animal dispersal syndromes and the dynamics of spatially structured populations","type":"article-journal","volume":"12"}, - {"id":"clotucheSettlementDecisionsTwospotted2013","abstract":"In silk-spinning arthropods, silk can be used for web building, protection, and communication. Silk is an informative material about the presence of conspecifics. It can therefore inform on habitat suitability and hence assist in habitat choice. In this context, we investigated the influence of silk on microhabitat choice by the two-spotted spider mite, Tetranychus urticae. Three factors that could potentially influence habitat choice were manipulated: the strain, number, and the stage of mites. Our study showed that these factors all influence the choice of microhabitat. The tendency of whether to settle on a silk-covered area was influenced by the origin of mites (strain effect). Adult females showed a higher tendency to settle on an area covered with the silk laid by numerous congeners (number effect). Moreover, larvae seemed to be more responsive to the presence of silk than adults (stage effect). This suggests that individuals use silk as a social cue in selecting their microhabitat and that the spatial organization and group behaviour seem to be shaped by the individuals’ response to social cues, such as the amount of silk already present.\nRĂ©sumĂ©\nChez les arthropodes tisseurs, la soie peut ĂŞtre utilisĂ©e pour la construction, la protection et la communication. La soie peut Ă©galement informer de la prĂ©sence de congĂ©nères. Elle peut renseigner sur la qualitĂ© d’un habitat et donc aider les individus lors du choix d’établissement. Dans ce contexte, nous avons Ă©tudiĂ© l’influence de la soie lors de la sĂ©lection d’un micro-habitat chez l’acarien tisserand, Tetranychus urticae. Trois facteurs ont Ă©tĂ© manipulĂ©s : la souche, le nombre et le stade des acariens. Notre Ă©tude montre que ces facteurs influencent le choix du micro-habitat. La tendance Ă  s’installer sur une zone couverte de soie diffère en fonction de l’origine des acariens. Les femelles adultes montrent une plus forte tendance Ă  s’installer sur une zone couverte de soie tissĂ©e par de nombreux congĂ©nères. Les larves semblent plus sensibles que les adultes Ă  la prĂ©sence de soie. La soie est utilisĂ©e comme indice social pour choisir le micro-habitat et, dès lors, l’organisation spatiale et l’agrĂ©gation de cet acarien semblent ĂŞtre façonnĂ©es par la rĂ©ponse des individus Ă  des signaux sociaux tels que la quantitĂ© de soie.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Clotuche","given":"Gwendoline"},{"family":"Mailleux","given":"Anne-Catherine"},{"family":"Yano","given":"Shuichi"},{"family":"Detrain","given":"Claire"},{"family":"Deneubourg","given":"Jean-Louis"},{"family":"Hance","given":"Thierry"}],"container-title":"Comptes Rendus Biologies","container-title-short":"Comptes Rendus Biologies","DOI":"10.1016/j.crvi.2013.02.006","ISSN":"1631-0691","issue":"2","issued":{"date-parts":[[2013,2,1]]},"language":"en","page":"93-101","source":"ScienceDirect","title":"Settlement decisions by the two-spotted spider mite Tetranychus urticae","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S1631069113000139","volume":"336"}, - {"id":"codlingRandomWalkModels2008","abstract":"Mathematical modelling of the movement of animals, micro-organisms and cells is of great relevance in the fields of biology, ecology and medicine. Movement models can take many different forms, but the most widely used are based on the extensions of simple random walk processes. In this review paper, our aim is twofold: to introduce the mathematics behind random walks in a straightforward manner and to explain how such models can be used to aid our understanding of biological processes. We introduce the mathematical theory behind the simple random walk and explain how this relates to Brownian motion and diffusive processes in general. We demonstrate how these simple models can be extended to include drift and waiting times or be used to calculate first passage times. We discuss biased random walks and show how hyperbolic models can be used to generate correlated random walks. We cover two main applications of the random walk model. Firstly, we review models and results relating to the movement, dispersal and population redistribution of animals and micro-organisms. This includes direct calculation of mean squared displacement, mean dispersal distance, tortuosity measures, as well as possible limitations of these model approaches. Secondly, oriented movement and chemotaxis models are reviewed. General hyperbolic models based on the linear transport equation are introduced and we show how a reinforced random walk can be used to model movement where the individual changes its environment. We discuss the applications of these models in the context of cell migration leading to blood vessel growth (angiogenesis). Finally, we discuss how the various random walk models and approaches are related and the connections that underpin many of the key processes involved.","author":[{"family":"Codling","given":"Edward A."},{"family":"Plank","given":"Michael J."},{"family":"Benhamou","given":"Simon"}],"container-title":"Journal of the Royal Society, Interface","container-title-short":"J R Soc Interface","DOI":"10.1098/rsif.2008.0014","ISSN":"1742-5689","issue":"25","issued":{"date-parts":[[2008,8,6]]},"language":"eng","page":"813-834","PMCID":"PMC2504494","PMID":"18426776","source":"PubMed","title":"Random walk models in biology","type":"article-journal","volume":"5"}, - {"id":"cominsEvolutionarilyStableDispersal1980","abstract":"Using the idea that life-history parameters are subject to natural selection and should approach values that are stable optima, with the population immune to invasion by mutant individuals, we derive an analytic expression for the evolutionarily stable dispersal rate in a stochastic island model with random site extinction. The results provide interesting contrasts between three different optimization criteria: species survival, individual fitness and gene fitness. We also consider the effects of sexual reproduction, and of localized migration (stepping-stone structure).","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Comins","given":"Hugh N."},{"family":"Hamilton","given":"William D."},{"family":"May","given":"Robert M."}],"container-title":"Journal of Theoretical Biology","container-title-short":"Journal of Theoretical Biology","DOI":"10.1016/0022-5193(80)90099-5","ISSN":"0022-5193","issue":"2","issued":{"date-parts":[[1980,1,21]]},"language":"en","page":"205-230","source":"ScienceDirect","title":"Evolutionarily stable dispersal strategies","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/0022519380900995","volume":"82"}, - {"id":"conliskUncertaintyAssessingImpacts2013","abstract":"Concern over rapid global changes and the potential for interactions among multiple threats are prompting scientists to combine multiple modelling approaches to understand impacts on biodiversity. A relatively recent development is the combination of species distribution models, land-use change predictions, and dynamic population models to predict the relative and combined impacts of climate change, land-use change, and altered disturbance regimes on species' extinction risk. Each modelling component introduces its own source of uncertainty through different parameters and assumptions, which, when combined, can result in compounded uncertainty that can have major implications for management. Although some uncertainty analyses have been conducted separately on various model components - such as climate predictions, species distribution models, land-use change predictions, and population models - a unified sensitivity analysis comparing various sources of uncertainty in combined modelling approaches is needed to identify the most influential and problematic assumptions. We estimated the sensitivities of long-run population predictions to different ecological assumptions and parameter settings for a rare and endangered annual plant species (Acanthomintha ilicifolia, or San Diego thornmint). Uncertainty about habitat suitability predictions, due to the choice of species distribution model, contributed most to variation in predictions about long-run populations.","author":[{"family":"Conlisk","given":"Erin"},{"family":"Syphard","given":"Alexandra D."},{"family":"Franklin","given":"Janet"},{"family":"Flint","given":"Lorraine"},{"family":"Flint","given":"Alan"},{"family":"Regan","given":"Helen"}],"container-title":"Global Change Biology","container-title-short":"Glob Chang Biol","DOI":"10.1111/gcb.12090","ISSN":"1354-1013","issue":"3","issued":{"date-parts":[[2013,3]]},"language":"eng","page":"858-869","PMID":"23504842","source":"PubMed","title":"Uncertainty in assessing the impacts of global change with coupled dynamic species distribution and population models","type":"article-journal","volume":"19"}, - {"id":"coteSocialInformationEmigration2007","abstract":"'Should I stay or should I go?' is a fundamental question facing any candidate for emigration, as emigrating without outside information has major costs. Most studies on this topic have concentrated on risk-reducing strategies (e.g. exploration) developed after leaving the natal habitat. The idea that information might be acquired before leaving has not been investigated. Immigrants carrying information about their origins could provide such information to potential emigrants in their initial habitat. We manipulated the density of common lizard (Lacerta vivipara) populations, to investigate whether immigrants originating from these populations transmitted such information to the population they joined. Emigration of the residents of this new population clearly depended on the origin of the immigrant. Immigrants are therefore a source of information, in this case about surrounding population densities, and may have a major effect on dispersal and species persistence in a fragmented habitat.","author":[{"family":"Cote","given":"J."},{"family":"Clobert","given":"J."}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/j.1461-0248.2007.01032.x","ISSN":"1461-0248","issue":"5","issued":{"date-parts":[[2007,5]]},"language":"eng","page":"411-417","PMID":"17498140","source":"PubMed","title":"Social information and emigration: lessons from immigrants","title-short":"Social information and emigration","type":"article-journal","volume":"10"}, - {"id":"cottoNemoageSpatiallyExplicit2020","abstract":"Anticipating and preparing for the effect of environmental changes on biodiversity requires to understand and predict both the ecological and evolutionary responses of populations. Tools and methods to efficiently integrate these complex processes are lacking. We present the genetically and spatially explicit individual-based simulation software Nemo-age combining ecological and evolutionary processes. Nemo-age has a strong emphasis on modelling complex life histories. We here provide a methodology to predict changes in species distribution for given climate projections using Nemo-age. Modelling complex life histories, spatial distribution and evolutionary processes unravel possible eco-evolutionary mechanisms that have been previously overlooked when populations endure rapid environmental changes. The interface of Nemo-age is designed to integrate species' data from different fields, from demography to genetic architecture and spatial distributions, thus representing a versatile tool to model a variety of applied and theoretical scenarios.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Cotto","given":"Olivier"},{"family":"Schmid","given":"Max"},{"family":"Guillaume","given":"FrĂ©dĂ©ric"}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/2041-210X.13460","ISSN":"2041-210X","issue":"10","issued":{"date-parts":[[2020]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.13460","page":"1227-1236","source":"Wiley Online Library","title":"Nemo-age: Spatially explicit simulations of eco-evolutionary dynamics in stage-structured populations under changing environments","title-short":"Nemo-age","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/2041-210X.13460","volume":"11"}, - {"id":"coulsonEstimatingFunctionalForm2008","abstract":"Two contrasting approaches to the analysis of population dynamics are currently popular: demographic approaches where the associations between demographic rates and statistics summarizing the population dynamics are identified; and time series approaches where the associations between population dynamics, population density, and environmental covariates are investigated. In this paper, we develop an approach to combine these methods and apply it to detailed data from Soay sheep (Ovis aries). We examine how density dependence and climate contribute to fluctuations in population size via age- and sex-specific demographic rates, and how fluctuations in demographic structure influence population dynamics. Density dependence contributes most, followed by climatic variation, age structure fluctuations and interactions between density and climate. We then simplify the density-dependent, stochastic, age-structured demographic model and derive a new phenomenological time series which captures the dynamics better than previously selected functions. The simple method we develop has potential to provide substantial insight into the relative contributions of population and individual-level processes to the dynamics of populations in stochastic environments.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Coulson","given":"T."},{"family":"Ezard","given":"T. H. G."},{"family":"Pelletier","given":"F."},{"family":"Tavecchia","given":"G."},{"family":"Stenseth","given":"N. C."},{"family":"Childs","given":"D. Z."},{"family":"Pilkington","given":"J. G."},{"family":"Pemberton","given":"J. M."},{"family":"Kruuk","given":"L. E. B."},{"family":"Clutton-Brock","given":"T. H."},{"family":"Crawley","given":"M. J."}],"container-title":"Ecology","ISSN":"0012-9658","issue":"6","issued":{"date-parts":[[2008]]},"page":"1661-1674","publisher":"Ecological Society of America","source":"JSTOR","title":"Estimating the Functional Form for the Density Dependence from Life History Data","type":"article-journal","URL":"https://www.jstor.org/stable/27650672","volume":"89"}, - {"id":"coumouDecadeWeatherExtremes2012","abstract":"The ostensibly large number of recent extreme weather events has triggered intensive discussions, both in- and outside the scientific community, on whether they are related to global warming. Here, we review the evidence and argue that for some types of extreme — notably heatwaves, but also precipitation extremes — there is now strong evidence linking specific events or an increase in their numbers to the human influence on climate. For other types of extreme, such as storms, the available evidence is less conclusive, but based on observed trends and basic physical concepts it is nevertheless plausible to expect an increase.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Coumou","given":"Dim"},{"family":"Rahmstorf","given":"Stefan"}],"container-title":"Nature Climate Change","container-title-short":"Nature Clim Change","DOI":"10.1038/nclimate1452","ISSN":"1758-6798","issue":"7","issued":{"date-parts":[[2012,7]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Reviews\nSubject_term: Climate change;Climate-change impacts\nSubject_term_id: climate-change;climate-change-impacts","number":"7","page":"491-496","publisher":"Nature Publishing Group","source":"www.nature.com","title":"A decade of weather extremes","type":"article-journal","URL":"https://www.nature.com/articles/nclimate1452","volume":"2"}, - {"id":"davisRangeShiftsAdaptive2001","abstract":"Tree taxa shifted latitude or elevation range in response to changes in Quaternary climate. Because many modern trees display adaptive differentiation in relation to latitude or elevation, it is likely that ancient trees were also so differentiated, with environmental sensitivities of populations throughout the range evolving in conjunction with migrations. Rapid climate changes challenge this process by imposing stronger selection and by distancing populations from environments to which they are adapted. The unprecedented rates of climate changes anticipated to occur in the future, coupled with land use changes that impede gene flow, can be expected to disrupt the interplay of adaptation and migration, likely affecting productivity and threatening the persistence of many species.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Davis","given":"Margaret B."},{"family":"Shaw","given":"Ruth G."}],"container-title":"Science","DOI":"10.1126/science.292.5517.673","ISSN":"0036-8075, 1095-9203","issue":"5517","issued":{"date-parts":[[2001,4,27]]},"language":"en","page":"673-679","PMID":"11326089","publisher":"American Association for the Advancement of Science","section":"Special Reviews","source":"science.sciencemag.org","title":"Range Shifts and Adaptive Responses to Quaternary Climate Change","type":"article-journal","URL":"https://science.sciencemag.org/content/292/5517/673","volume":"292"}, - {"id":"dawsonPredictionsBiodiversityConservation2011","abstract":"Climate change is predicted to become a major threat to biodiversity in the 21st century, but accurate predictions and effective solutions have proved difficult to formulate. Alarming predictions have come from a rather narrow methodological base, but a new, integrated science of climate-change biodiversity assessment is emerging, based on multiple sources and approaches. Drawing on evidence from paleoecological observations, recent phenological and microevolutionary responses, experiments, and computational models, we review the insights that different approaches bring to anticipating and managing the biodiversity consequences of climate change, including the extent of species’ natural resilience. We introduce a framework that uses information from different sources to identify vulnerability and to support the design of conservation responses. Although much of the information reviewed is on species, our framework and conclusions are also applicable to ecosystems, habitats, ecological communities, and genetic diversity, whether terrestrial, marine, or fresh water.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dawson","given":"Terence P."},{"family":"Jackson","given":"Stephen T."},{"family":"House","given":"Joanna I."},{"family":"Prentice","given":"Iain Colin"},{"family":"Mace","given":"Georgina M."}],"container-title":"Science","DOI":"10.1126/science.1200303","ISSN":"0036-8075, 1095-9203","issue":"6025","issued":{"date-parts":[[2011,4,1]]},"language":"en","page":"53-58","PMID":"21454781","publisher":"American Association for the Advancement of Science","section":"Review","source":"science.sciencemag.org","title":"Beyond Predictions: Biodiversity Conservation in a Changing Climate","title-short":"Beyond Predictions","type":"article-journal","URL":"https://science.sciencemag.org/content/332/6025/53","volume":"332"}, - {"id":"deblockLocalGeneticAdaptation2013","abstract":"Temperature effects on predator-prey interactions are fundamental to better understand the effects of global warming. Previous studies never considered local adaptation of both predators and prey at different latitudes, and ignored the novel population combinations of the same predator-prey species system that may arise because of northward dispersal. We set up a common garden warming experiment to study predator-prey interactions between Ischnura elegans damselfly predators and Daphnia magna zooplankton prey from three source latitudes spanning >1500 km. Damselfly foraging rates showed thermal plasticity and strong latitudinal differences consistent with adaptation to local time constraints. Relative survival was higher at 24 °C than at 20 °C in southern Daphnia and higher at 20 °C than at 24 °C, in northern Daphnia indicating local thermal adaptation of the Daphnia prey. Yet, this thermal advantage disappeared when they were confronted with the damselfly predators of the same latitude, reflecting also a signal of local thermal adaptation in the damselfly predators. Our results further suggest the invasion success of northward moving predators as well as prey to be latitude-specific. We advocate the novel common garden experimental approach using predators and prey obtained from natural temperature gradients spanning the predicted temperature increase in the northern populations as a powerful approach to gain mechanistic insights into how community modules will be affected by global warming. It can be used as a space-for-time substitution to inform how predator-prey interaction may gradually evolve to long-term warming.","author":[{"family":"De Block","given":"Marjan"},{"family":"Pauwels","given":"Kevin"},{"family":"Van Den Broeck","given":"Maarten"},{"family":"De Meester","given":"Luc"},{"family":"Stoks","given":"Robby"}],"container-title":"Global Change Biology","container-title-short":"Glob Chang Biol","DOI":"10.1111/gcb.12089","ISSN":"1354-1013","issue":"3","issued":{"date-parts":[[2013,3]]},"language":"eng","page":"689-696","PMID":"23504827","source":"PubMed","title":"Local genetic adaptation generates latitude-specific effects of warming on predator-prey interactions","type":"article-journal","volume":"19"}, - {"id":"delattreDispersalMoodRevealed2010","abstract":"A comprehensive mechanistic approach to dispersal requires the translation of the whole mobility register of the target organism into movement rules that could subsequently be used to model its displacements. According to the optimality paradigm, this procedure implies a cost – benefi t analysis of mobility patterns taking into account not only movements, but also their external context and the internal state of the moving individuals. Using this framework, we detected a â€dispersal mood' in some individuals of the meadow brown butterfly Maniola jurtina. These adopted a direct flight strategy, which was topologically different from the previously documented foray search strategy. Those individuals that used the direct flight strategy moved straighter as soon as they left the habitat and avoided heading back to their patch of origin, which is the best inter-patch search strategy when dispersal risks and costs are high. The direct flight strategy was conditional to sex: females used it twice as much as males. We suggest that this sex bias was due to female investment in off spring, which is maximized by male avoidance and spatial bet hedging. Inter-patch dispersal of gravid females is crucial for the persistence of M. jurtina populations in spatially and temporally unpredictable environments.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Delattre","given":"Thomas"},{"family":"Burel","given":"Francoise"},{"family":"Humeau","given":"Antoine"},{"family":"Stevens","given":"Virginie Marie"},{"family":"Vernon","given":"Philippe"},{"family":"Baguette","given":"Michel"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2010.18615.x","issue":"12","issued":{"date-parts":[[2010]]},"page":"1900-1908","publisher":"Nordic Ecological Society","source":"HAL Archives Ouvertes","title":"Dispersal mood revealed by shifts from routine to direct flights in the meadow brown butterfly Maniola jurtina.","type":"article-journal","URL":"https://hal.archives-ouvertes.fr/hal-00557623","volume":"119"}, - {"id":"delgadoEffectPhenotypicTraits2010","abstract":"1. Natal dispersal has the potential to affect most ecological and evolutionary processes. However, despite its importance, this complex ecological process still represents a significant gap in our understanding of animal ecology due to both the lack of empirical data and the intrinsic complexity of dispersal dynamics. 2. By studying natal dispersal of 74 radiotagged juvenile eagle owls Bubo bubo (Linnaeus), in both the wandering and the settlement phases, we empirically addressed the complex interactions by which individual phenotypic traits and external cues jointly shape individual heterogeneity through the different phases of dispersal, both at nightly and weekly temporal scales. 3. Owls in poorer physical conditions travelled shorter total distances during the wandering phase, describing straighter paths and moving slower, especially when crossing heterogeneous habitats. In general, the owls in worse condition started dispersal later and took longer times to find further settlement areas. Net distances were also sex biased, with females settling at further distances. Dispersing individuals did not seem to explore wandering and settlement areas by using a search image of their natal surroundings. Eagle owls showed a heterogeneous pattern of patch occupancy, where few patches were highly visited by different owls whereas the majority were visited by just one individual. During dispersal, the routes followed by owls were an intermediate solution between optimized and randomized ones. Finally, dispersal direction had a marked directionality, largely influenced by dominant winds. These results suggest an asymmetric and anisotropic dispersal pattern, where not only the number of patches but also their functions can affect population viability. 4. The combination of the information coming from the relationships among a large set of factors acting and integrating at different spatial and temporal scales, under the perspective of heterogeneous life histories, are a fruitful ground for future understanding of natal dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Delgado","given":"MarĂ­a del Mar"},{"family":"Penteriani","given":"Vincenzo"},{"family":"Revilla","given":"Eloy"},{"family":"Nams","given":"Vilis O."}],"container-title":"Journal of Animal Ecology","DOI":"10.1111/j.1365-2656.2009.01655.x","ISSN":"1365-2656","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2009.01655.x","page":"620-632","source":"Wiley Online Library","title":"The effect of phenotypic traits and external cues on natal dispersal movements","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2656.2009.01655.x","volume":"79"}, - {"id":"demeesterInformationUseDensitydependent2010","abstract":"Density of conspecifics is considered as one of the main conditions affecting dispersal behavior and leading to a stabilization of population dynamics. Density-dependent dispersal can be induced by local competition at different phases during development and/or by density-related sources of social information. Here, we assessed the importance of population density on emigration rates and the degree to which the presence of silk threads at dispersal takeoff locations affects immediate dispersal decision making in the spider Erigone atra. By quantifying behaviors in wind tunnels under standardized laboratory conditions, silk-assisted long- and short-distance dispersal is quantified before the actual onset of the dispersal event.Increased densities during juvenile development only affected short-distance dispersal behavior. In females, short-distance dispersal increased with the female density experienced during development, whereas responses in males increased under combined high male/low female-experienced densities. Elevated densities at the onset of dispersal led to a general increase of predispersal behaviors. The presence of silk threads at takeoff platforms similarly induced an increase of dispersal displays, with specifically an increase in long-distance dispersal in both sexes.Our results demonstrate that the spider E. atra uses information related to density during development, most probably to avoid competition by performing short-distance dispersal. In contrast, density-related cues at the time of dispersal (i.e., increased densities and the presence of silk threads) increase general dispersal activities and long-distance ballooning events. Short- and long-distance dispersal strategies are consequently guided by differential density-related information use.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"De Meester","given":"Nele"},{"family":"Bonte","given":"Dries"}],"container-title":"Behavioral Ecology","container-title-short":"Behavioral Ecology","DOI":"10.1093/beheco/arq088","ISSN":"1045-2249","issue":"5","issued":{"date-parts":[[2010,9,1]]},"page":"992-998","source":"Silverchair","title":"Information use and density-dependent emigration in an agrobiont spider","type":"article-journal","URL":"https://doi.org/10.1093/beheco/arq088","volume":"21"}, - {"id":"dennoHabitatPersistenceUnderlies1996","abstract":"Dispersal is considered a vital life history characteristic for insects exploiting temporary habitats, and life history theorists have often hypothesized an inverse relationship between dispersal capability and habitat persistence. Most often, this hypothesis has been tested using interspecific comparisons of dispersal capability and qualitative estimates of habitat persistence. Consequently, most assessments have failed to control for possible phylogenetic nonindependence and they also lack quantitative rigor. We capitalized on existing intraspecific variation in the dispersal capability of Prokelisia planthoppers to examine the relationship between habitat persistence and dispersal, thereby minimizing possible phylogenetic effects. Two congeneric species (Prokelisia marginata and P. dolus) occur in the intertidal marshes of North America, where they feed exclusively on cordgrasses (Spartina). Because these planthoppers exhibit wing dimorphism, flight-capable adults (macropters with fully developed wings) are easily differentiated from flightless adults (brachypters with reduced wings). Thus, dispersal capability can be readily estimated by the percentage of macropters in a population. At a regional spatial scale, we found a highly significant negative relationship between dispersal capability (percent macroptery) and habitat persistence. In this system, habitat persistence is influenced by a combination of marsh elevation, winter severity, and tidal range, which interact to determine the ability of planthoppers to endure through winter in their primary habitat for development. P. marginata develops primarily in low-marsh habitats during summer, habitats that can be subjected to pronounced winter disturbance due to ice scouring and/or extensive tidal inundation. Levels of winter disturbance of the low marsh are extreme along the Atlantic coast, intermediate along the Pacific, and low along the Gulf. Both the failure of P. marginata populations to remain through winter in this habitat, and the dispersal ability of these populations (92%, 29%, and 17% macroptery, respectively), are correlated with levels of disturbance. Thus, in regions where winter disturbance is high, levels of dispersal are correspondingly high to allow for recolonization of extirpated habitats from overwintering sites on the high marsh. Unlike P. marginata, P. dolus develops primarily in high-marsh habitats, which are much less disturbed on all coasts during winter. Consequently, this species remains year-round in its primary habitat for development, and most populations exhibit relatively low levels of macroptery (<10%). When raised under common garden conditions, many more macropters of both species were produced from Atlantic compared to Gulf populations. Thus the proportion of macropters produced from the populations used in this experiment paralleled the incidence of macroptery measured in the field, providing evidence that the geographic variation in dispersal capability in both species has in part a genetic basis. The results of this study provide strong intraspecific evidence for an inverse relationship between the dispersal capability of insects and the persistence of their habitats.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Denno","given":"Robert F."},{"family":"Roderick","given":"George K."},{"family":"Peterson","given":"Merrill A."},{"family":"Huberty","given":"Andrea F."},{"family":"Dobel","given":"Hartmut G."},{"family":"Eubanks","given":"Micky D."},{"family":"Losey","given":"John E."},{"family":"Langellotto","given":"Gail A."}],"container-title":"Ecological Monographs","DOI":"10.2307/2963487","ISSN":"0012-9615","issue":"4","issued":{"date-parts":[[1996]]},"page":"389-408","publisher":"Ecological Society of America","source":"JSTOR","title":"Habitat Persistence Underlies Intraspecific Variation in the Dispersal Strategies of Planthoppers","type":"article-journal","URL":"https://www.jstor.org/stable/2963487","volume":"66"}, - {"id":"doerrConnectivityDispersalBehaviour2011a","abstract":"1. Hodgson et al. [Journal of Applied Ecology46 (2009) 964] argue that connectivity is complex and uncertain, that it can be improved incidentally by increasing habitat extent, and that connectivity conservation is unlikely to be effective under climate change. 2. We believe that they have overlooked recent research on dispersal behaviour and structural connectivity, which has improved our understanding of functional connectivity and revealed that it will not necessarily increase with habitat extent. 3. New modelling techniques including least-cost path models incorporate this more detailed understanding of connectivity into conservation planning, facilitating the true aim of connectivity conservation – to ensure appropriate interactions between habitat extent, quality and connectivity. 4. Synthesis and applications. Advances in behavioural research and modelling techniques allow us to manage structural connectivity with as much certainty as we manage extent and quality of habitat. Successful landscape conservation to address both current threats and future climate change must manage these three elements in concert.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Doerr","given":"Veronica A. J."},{"family":"Barrett","given":"Tom"},{"family":"Doerr","given":"Erik D."}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/j.1365-2664.2010.01899.x","ISSN":"1365-2664","issue":"1","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2010.01899.x","page":"143-147","source":"Wiley Online Library","title":"Connectivity, dispersal behaviour and conservation under climate change: a response to Hodgson et al.","title-short":"Connectivity, dispersal behaviour and conservation under climate change","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2664.2010.01899.x","volume":"48"}, - {"id":"doligezAvailabilityUsePublic2004","abstract":"1. Public information, i.e. local reproductive performance of conspecifics, is expected to be a highly valuable cue for breeding habitat selection. However, the access to this cue may be spatially and temporally constrained. When public information is unavailable, individuals may use other integrative cues, such as the local density of breeders. 2. Departure decisions of collared flycatchers (Ficedula albicollis) were shown previously to be related to both public information and breeding density, in a long-term correlative study of a fragmented population. Here, we tested whether flycatchers also use public information (number and condition of fledglings produced locally) and breeding density to make individual settlement decisions in the following year. 3. Immigration rates were computed to measure the degree of attractiveness of patches to new breeders. We investigated the relative influence of public information and breeding density on immigration rates of yearlings and older adults separately. The access to public information for settlement decisions may indeed be more limited for yearlings. 4. Immigration rate in a patch increased with mean fledgling number in the previous year for older adults but not for yearlings. Yearling immigration rate was correlated positively to mean fledgling condition when patch breeding density in the previous year was low, but negatively when density was high. 5. Immigration rates of both yearlings and older adults increased with breeding density in the previous year. Breeding density explained a larger part of the variance in immigration rate than patch reproductive success. 6. The proportion of yearlings among breeders decreased with increasing patch reproductive success and breeding density in the previous year, suggesting that local competition was high in attractive patches. 7. Our results thus suggest that public information is also used for immigration decisions. However, decisions of yearlings are more complex than those of older adults, due to their more limited access to public information and the higher impact of intraspecific competition. Conversely, all individuals seemed to cue on breeding density in a similar way. Density is correlated to patch reproductive success, and may be a more easily accessible cue. We discuss the potential advantages of using conspecific density over conspecific reproductive performance for future immigration decisions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Doligez","given":"Blandine"},{"family":"Pärt","given":"Tomas"},{"family":"Danchin","given":"Etienne"},{"family":"Clobert","given":"Jean"},{"family":"Gustafsson","given":"Lars"}],"container-title":"Journal of Animal Ecology","ISSN":"0021-8790","issue":"1","issued":{"date-parts":[[2004]]},"page":"75-87","publisher":"[Wiley, British Ecological Society]","source":"JSTOR","title":"Availability and Use of Public Information and Conspecific Density for Settlement Decisions in the Collared Flycatcher","type":"article-journal","URL":"https://www.jstor.org/stable/3505318","volume":"73"}, - {"id":"dormannCorrelationProcessSpecies2012","abstract":"Within the field of species distribution modelling an apparent dichotomy exists between process-based and correlative approaches, where the processes are explicit in the former and implicit in the latter. However, these intuitive distinctions can become blurred when comparing species distribution modelling approaches in more detail. In this review article, we contrast the extremes of the correlative–process spectrum of species distribution models with respect to core assumptions, model building and selection strategies, validation, uncertainties, common errors and the questions they are most suited to answer. The extremes of such approaches differ clearly in many aspects, such as model building approaches, parameter estimation strategies and transferability. However, they also share strengths and weaknesses. We show that claims of one approach being intrinsically superior to the other are misguided and that they ignore the process–correlation continuum as well as the domains of questions that each approach is addressing. Nonetheless, the application of process-based approaches to species distribution modelling lags far behind more correlative (process-implicit) methods and more research is required to explore their potential benefits. Critical issues for the employment of species distribution modelling approaches are given, together with a guideline for appropriate usage. We close with challenges for future development of process-explicit species distribution models and how they may complement current approaches to study species distributions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dormann","given":"Carsten F."},{"family":"Schymanski","given":"Stanislaus J."},{"family":"Cabral","given":"Juliano"},{"family":"Chuine","given":"Isabelle"},{"family":"Graham","given":"Catherine"},{"family":"Hartig","given":"Florian"},{"family":"Kearney","given":"Michael"},{"family":"Morin","given":"Xavier"},{"family":"Römermann","given":"Christine"},{"family":"Schröder","given":"Boris"},{"family":"Singer","given":"Alexander"}],"container-title":"Journal of Biogeography","DOI":"10.1111/j.1365-2699.2011.02659.x","ISSN":"1365-2699","issue":"12","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2011.02659.x","page":"2119-2131","source":"Wiley Online Library","title":"Correlation and process in species distribution models: bridging a dichotomy","title-short":"Correlation and process in species distribution models","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2699.2011.02659.x","volume":"39"}, - {"id":"dormannEffectsIncorporatingSpatial2007","abstract":"Aim Spatial autocorrelation (SAC) in data, i.e. the higher similarity of closer samples, is a common phenomenon in ecology. SAC is starting to be considered in the analysis of species distribution data, and over the last 10 years several studies have incorporated SAC into statistical models (here termed â€spatial models’). Here, I address the question of whether incorporating SAC affects estimates of model coefficients and inference from statistical models. Methods I review ecological studies that compare spatial and non-spatial models. Results In all cases coefficient estimates for environmental correlates of species distributions were affected by SAC, leading to a mis-estimation of on average c. 25%. Model fit was also improved by incorporating SAC. Main conclusions These biased estimates and incorrect model specifications have implications for predicting species occurrences under changing environmental conditions. Spatial models are therefore required to estimate correctly the effects of environmental drivers on species present distributions, for a statistically unbiased identification of the drivers of distribution, and hence for more accurate forecasts of future distributions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dormann","given":"Carsten F."}],"container-title":"Global Ecology and Biogeography","DOI":"10.1111/j.1466-8238.2006.00279.x","ISSN":"1466-8238","issue":"2","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2006.00279.x","page":"129-138","source":"Wiley Online Library","title":"Effects of incorporating spatial autocorrelation into the analysis of species distribution data","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1466-8238.2006.00279.x","volume":"16"}, - {"id":"doverInfluencesLandscapeStructure2009","abstract":"We review the literature on the influence of landscape structure on butterfly distribution and movement. We start by examining the definition of landscape commonly used in spatial ecology. Landscape-level processes are reviewed before focusing on the impact of the geometry and spatial arrangement of habitat patches on butterflies e.g. the nature of the matrix, patch size and shape, minimum area requirements, immigration and emigration, and temporal habitat dynamics. The role of landscape elements is reviewed in terms of corridors (and stepping-stones), barriers, nodes, environmental buffers, and prominent landmark features.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dover","given":"John"},{"family":"Settele","given":"Josef"}],"container-title":"Journal of Insect Conservation","container-title-short":"J Insect Conserv","DOI":"10.1007/s10841-008-9135-8","ISSN":"1572-9753","issue":"1","issued":{"date-parts":[[2009,2,1]]},"language":"en","page":"3-27","source":"Springer Link","title":"The influences of landscape structure on butterfly distribution and movement: a review","title-short":"The influences of landscape structure on butterfly distribution and movement","type":"article-journal","URL":"https://doi.org/10.1007/s10841-008-9135-8","volume":"13"}, - {"id":"driezenEvaluatingLeastcostModel2007","abstract":"Habitat fragmentation and habitat loss are widely recognized as major threats to biodiversity on a regional as well as on a global scale. To restrict its effects, ecological networks such as the trans-European network NATURA2000 are being developed based on the assumption that structural connections between habitat fragments lead to increased exchange through dispersal and a higher viability of (meta)populations. However, there is a great need for techniques that translate these networks and/or structural characteristics of landscapes into functional connectivity for specific organisms. Least-cost analysis has the capacities to fulfill these needs, but has never been validated against actual observations of dispersal paths. Here we present a method to validate the results of a least-cost analysis by comparing realized movement paths of hedgehogs in unfamiliar areas, obtained by radiotracking, with statistics on landscape-wide distribution of cost values. The degree of correspondence between empirical dispersal paths and the output of a least-cost analysis can be visualized and quantified, and least-cost scenarios can be statistically compared. We show that hedgehogs moved along paths with significantly lower cost values than the average landscape, implying that they took better than random routes, but performance was relatively poor. We attribute this to the relatively generalistic habitat use of the model species and the rather homogeneous landscapes. We conclude that this approach can be useful for further validation of the least-cost model and allows a direct comparison of model performance among different taxa and/or landscapes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Driezen","given":"Kassandra"},{"family":"Adriaensen","given":"Frank"},{"family":"Rondinini","given":"Carlo"},{"family":"Doncaster","given":"C. Patrick"},{"family":"Matthysen","given":"Erik"}],"container-title":"Ecological Modelling","issue":"2","issued":{"date-parts":[[2007]]},"language":"en","page":"314-322","publisher":"Elsevier","source":"ideas.repec.org","title":"Evaluating least-cost model predictions with empirical dispersal data: A case-study using radiotracking data of hedgehogs (Erinaceus europaeus)","title-short":"Evaluating least-cost model predictions with empirical dispersal data","type":"article-journal","URL":"https://ideas.repec.org/a/eee/ecomod/v209y2007i2p314-322.html","volume":"209"}, - {"id":"duckworthAdaptiveDispersalStrategies2008","abstract":"In species undergoing range expansion, newly established populations are often more dispersive than older populations. Because dispersal phenotypes are complex and often costly, it is unclear how highly dispersive phenotypes are maintained in a species to enable their rapid expression during periods of range expansion. Here I test the idea that metapopulation dynamics of local extinction and recolonization maintain distinct dispersal strategies outside the context of range expansion. Western bluebirds display distinct dispersal phenotypes where aggressive males are more dispersive than nonaggressive males, resulting in highly aggressive populations at the edge of their expanding range. I experimentally created new habitat interior to the range edge to show that, as on the range front, it was colonized solely by aggressive males. Moreover, fitness consequences of aggression depended on population age: aggressive males had high fitness when colonizing new populations, while nonaggressive males performed best in an older population. These results suggest that distinct dispersal strategies were maintained before range expansion as an adaptation for the continual recolonization of new habitat. These results emphasize similarities between range expansion and metapopulation dynamics and suggest that preexisting adaptive dispersal strategies may explain rapid changes in dispersal phenotypes during range expansion.","author":[{"family":"Duckworth","given":"RenĂ©e A."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/588289","ISSN":"1537-5323","issued":{"date-parts":[[2008,7]]},"language":"eng","page":"S4-17","PMID":"18554143","source":"PubMed","title":"Adaptive dispersal strategies and the dynamics of a range expansion","type":"article-journal","volume":"172 Suppl 1"}, - {"id":"dyckHabitatFragmentationInsect1999","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dyck","given":"Hans Van"},{"family":"Matthysen","given":"Erik"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/S0169-5347(99)01610-9","ISSN":"0169-5347","issue":"5","issued":{"date-parts":[[1999,5,1]]},"language":"English","page":"172-174","PMID":"10322528","publisher":"Elsevier","source":"www.cell.com","title":"Habitat fragmentation and insect flight: a changing â€design’ in a changing landscape?","title-short":"Habitat fragmentation and insect flight","type":"article-journal","URL":"https://www.cell.com/trends/ecology-evolution/abstract/S0169-5347(99)01610-9","volume":"14"}, - {"id":"dythamEvolvedDispersalStrategies2009","abstract":"Dispersal is a key component of a species's ecology and will be under different selection pressures in different parts of the range. For example, a long-distance dispersal strategy suitable for continuous habitat at the range core might not be favoured at the margin, where the habitat is sparse. Using a spatially explicit, individual-based, evolutionary simulation model, the dispersal strategies of an organism that has only one dispersal event in its lifetime, such as a plant or sessile animal, are considered. Within the model, removing habitat, increasing habitat turnover, increasing the cost of dispersal, reducing habitat quality or altering vital rates imposes range limits. In most cases, there is a clear change in the dispersal strategies across the range, although increasing death rate towards the margin has little impact on evolved dispersal strategy across the range. Habitat turnover, reduced birth rate and reduced habitat quality all increase evolved dispersal distances at the margin, while increased cost of dispersal and reduced habitat density lead to lower evolved dispersal distances at the margins. As climate change shifts suitable habitat poleward, species ranges will also start to shift, and it will be the dispersal capabilities of marginal populations, rather than core populations, that will influence the rate of range shifting.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dytham","given":"Calvin"}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","container-title-short":"Proc Biol Sci","DOI":"10.1098/rspb.2008.1535","ISSN":"0962-8452","issue":"1661","issued":{"date-parts":[[2009,4,22]]},"page":"1407-1413","PMCID":"PMC2677228","PMID":"19324810","source":"PubMed Central","title":"Evolved dispersal strategies at range margins","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2677228/","volume":"276"}, - {"id":"dythamEvolvingDispersalAge2006","abstract":"Traditional, and often competing, theories on ageing agree that a programmed age at death must have arisen as a side effect of natural selection, and that it can have no adaptive value of its own. However, theoretical models suggest that ageing and programmed death can be adaptive. Travis J. M. J. suggested that if fecundity declines with age, a programmed age of death evolves through kin selection and that the nature of dispersal is crucial as it determines the degree of spatial structure and hence the strength of kin selection. Here, using a similar model, we consider the interplay between dispersal and age of death. We incorporate more realistic dispersal kernels and allow both dispersal and age of death to evolve. Our results show each trait can evolve in response to the other: earlier age of death evolves when individuals disperse less and greater dispersal distances evolve when individuals are programmed to die later. When we allow dispersal and age of death to evolve at the same time we typically find that dispersal evolves more rapidly, and that ageing then evolves in response to the new dispersal regime. The cost of dispersal is crucial in determining the evolution of both traits. We argue both that ageing is an overlooked ecological process, and that the field of gerontology could learn a lot from evolutionary ecology. We suggest that it is time to develop the field of ecological gerontology and we highlight a few areas where future work might be particularly rewarding.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Dytham","given":"Calvin"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Oikos","ISSN":"0030-1299","issue":"3","issued":{"date-parts":[[2006]]},"page":"530-538","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"Evolving Dispersal and Age at Death","type":"article-journal","URL":"https://www.jstor.org/stable/40234835","volume":"113"}, - {"id":"easterlingClimateExtremesObservations2000","abstract":"One of the major concerns with a potential change in climate is that an increase in extreme events will occur. Results of observational studies suggest that in many areas that have been analyzed, changes in total precipitation are amplified at the tails, and changes in some temperature extremes have been observed. Model output has been analyzed that shows changes in extreme events for future climates, such as increases in extreme high temperatures, decreases in extreme low temperatures, and increases in intense precipitation events. In addition, the societal infrastructure is becoming more sensitive to weather and climate extremes, which would be exacerbated by climate change. In wild plants and animals, climate-induced extinctions, distributional and phenological changes, and species' range shifts are being documented at an increasing rate. Several apparently gradual biological changes are linked to responses to extreme weather and climate events.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Easterling","given":"David R."},{"family":"Meehl","given":"Gerald A."},{"family":"Parmesan","given":"Camille"},{"family":"Changnon","given":"Stanley A."},{"family":"Karl","given":"Thomas R."},{"family":"Mearns","given":"Linda O."}],"container-title":"Science","DOI":"10.1126/science.289.5487.2068","ISSN":"0036-8075, 1095-9203","issue":"5487","issued":{"date-parts":[[2000,9,22]]},"language":"en","page":"2068-2074","PMID":"11000103","publisher":"American Association for the Advancement of Science","section":"Review","source":"science.sciencemag.org","title":"Climate Extremes: Observations, Modeling, and Impacts","title-short":"Climate Extremes","type":"article-journal","URL":"https://science.sciencemag.org/content/289/5487/2068","volume":"289"}, - {"id":"edelaarMatchingHabitatChoice2008","abstract":"Gene flow among populations is typically thought to be antagonistic to population differentiation and local adaptation. However, this assumes that dispersing individuals disperse randomly with respect to their ability to use the environment. Yet dispersing individuals often sample and compare environments and settle in those environments that best match their phenotype, causing directed gene flow, which can in fact promote population differentiation and adaptation. We refer to this process as “matching habitat choice.” Although this process has been acknowledged by several researchers, no synthesis or perspective on its potentially widespread importance exists. Here we synthesize empirical and theoretical studies, and offer a new perspective that matching habitat choice can have significant effects on important and controversial topics. We discuss the potential implications of matching habitat choice for the degree and rate of local adaptation, the evolution of niche width, adaptive peak shifts, speciation in the presence of gene flow, and on our view and interpretation of measures of natural selection. Because of its potential importance for such a wide range of topics, we call for heightened empirical and theoretical attention for this neglected dimension in evolutionary and ecological studies.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Edelaar","given":"Pim"},{"family":"Siepielski","given":"Adam M."},{"family":"Clobert","given":"Jean"}],"container-title":"Evolution","DOI":"10.1111/j.1558-5646.2008.00459.x","ISSN":"1558-5646","issue":"10","issued":{"date-parts":[[2008]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1558-5646.2008.00459.x","page":"2462-2472","source":"Wiley Online Library","title":"Matching Habitat Choice Causes Directed Gene Flow: A Neglected Dimension in Evolution and Ecology","title-short":"Matching Habitat Choice Causes Directed Gene Flow","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1558-5646.2008.00459.x","volume":"62"}, - {"id":"elithSpeciesDistributionModels","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Elith","given":"J"},{"family":"Leathwick","given":"J. R."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","issue":"40","page":"677-697","title":"Species Distribution Models: Ecological Explanation and Prediction Across Space and Time","type":"article-journal","URL":"https://www.annualreviews.org/doi/full/10.1146/annurev.ecolsys.110308.120159"}, - {"id":"enfjallEvolutionDispersalImportance2009","abstract":"The evolution of mobility patterns and dispersal strategies depend on different population, habitat and life history characteristics. The ability to perceive and make use of information about the surrounding environment for dispersal decisions will also differ between organisms. To investigate the evolutionary consequences of such differences, we have used a simulation model with nearest-neighbour dispersal in a metapopulation to study how variation in the ability to obtain and make use of information about habitat quality and conspecific density affects the evolution of dispersal strategies. We found a rather strong influence of variation in information on the overall rate of dispersal in a metapopulation. The highest emigration rate evolved in organisms with no information about either density or habitat quality and the lowest rate was found in organisms with information about both the natal and the neighbouring patches. For organisms that can make use of information about conspecific density, positively density-dependent dispersal evolved in the majority of cases, with the strongest density dependence occurring when an individual only has information about density in the natal patch. However, we also identified situations, involving strong local population fluctuations and frequent local extinctions, where negatively density-dependent dispersal evolved.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Enfjäll","given":"Karin"},{"family":"Leimar","given":"Olof"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2008.16863.x","ISSN":"1600-0706","issue":"2","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2008.16863.x","page":"291-299","source":"Wiley Online Library","title":"The evolution of dispersal – the importance of information about population density and habitat characteristics","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2008.16863.x","volume":"118"}, - {"id":"englerMigClimPredictingPlant2009","abstract":"Aim Many studies have forecasted the possible impact of climate change on plant distributions using models based on ecological niche theory, but most of them have ignored dispersal-limitations, assuming dispersal to be either unlimited or null. Depending on the rate of climatic change, the landscape fragmentation and the dispersal capabilities of individual species, these assumptions are likely to prove inaccurate, leading to under- or overestimation of future species distributions and yielding large uncertainty between these two extremes. As a result, the concepts of â€potentially suitable’ and â€potentially colonizable’ habitat are expected to differ significantly. To quantify to what extent these two concepts can differ, we developed MigClim, a model simulating plant dispersal under climate change and landscape fragmentation scenarios. MigClim implements various parameters, such as dispersal distance, increase in reproductive potential over time, landscape fragmentation or long-distance dispersal. Location Western Swiss Alps. Methods Using our MigClim model, several simulations were run for two virtual species by varying dispersal distance and other parameters. Each simulation covered the 100-year period 2001–2100 and three different IPCC-based temperature warming scenarios were considered. Results of dispersal-limited projections were compared with unlimited and no-dispersal projections. Results Our simulations indicate that: (1) using realistic parameter values, the future potential distributions generated using MigClim can differ significantly (up to more than 95% difference in colonized surface) from those that ignore dispersal; (2) this divergence increases under more extreme climate warming scenarios and over longer time periods; and (3) the uncertainty associated with the warming scenario can be as large as the one related to dispersal parameters. Main conclusions Accounting for dispersal, even roughly, can importantly reduce uncertainty in projections of species distribution under climate change scenarios.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Engler","given":"Robin"},{"family":"Guisan","given":"Antoine"}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2009.00566.x","ISSN":"1472-4642","issue":"4","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2009.00566.x","page":"590-601","source":"Wiley Online Library","title":"MigClim: Predicting plant distribution and dispersal in a changing climate","title-short":"MigClim","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2009.00566.x","volume":"15"}, - {"id":"eppersonUtilityComputerSimulations2010","abstract":"Population genetics theory is primarily based on mathematical models in which spatial complexity and temporal variability are largely ignored. In contrast, the field of landscape genetics expressly focuses on how population genetic processes are affected by complex spatial and temporal environmental heterogeneity. It is spatially explicit and relates patterns to processes by combining complex and realistic life histories, behaviours, landscape features and genetic data. Central to landscape genetics is the connection of spatial patterns of genetic variation to the usually highly stochastic space–time processes that create them over both historical and contemporary time periods. The field should benefit from a shift to computer simulation approaches, which enable incorporation of demographic and environmental stochasticity. A key role of simulations is to show how demographic processes such as dispersal or reproduction interact with landscape features to affect probability of site occupancy, population size, and gene flow, which in turn determine spatial genetic structure. Simulations could also be used to compare various statistical methods and determine which have correct type I error or the highest statistical power to correctly identify spatio-temporal and environmental effects. Simulations may also help in evaluating how specific spatial metrics may be used to project future genetic trends. This article summarizes some of the fundamental aspects of spatial–temporal population genetic processes. It discusses the potential use of simulations to determine how various spatial metrics can be rigorously employed to identify features of interest, including contrasting locus-specific spatial patterns due to micro-scale environmental selection.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Epperson","given":"Bryan K."},{"family":"Mcrae","given":"Brad H."},{"family":"Scribner","given":"Kim"},{"family":"Cushman","given":"Samuel A."},{"family":"Rosenberg","given":"Michael S."},{"family":"Fortin","given":"Marie-JosĂ©e"},{"family":"James","given":"Patrick M. A."},{"family":"Murphy","given":"Melanie"},{"family":"Manel","given":"StĂ©phanie"},{"family":"Legendre","given":"Pierre"},{"family":"Dale","given":"Mark R. T."}],"container-title":"Molecular Ecology","DOI":"10.1111/j.1365-294X.2010.04678.x","ISSN":"1365-294X","issue":"17","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-294X.2010.04678.x","page":"3549-3564","source":"Wiley Online Library","title":"Utility of computer simulations in landscape genetics","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-294X.2010.04678.x","volume":"19"}, - {"id":"excoffierGeneticConsequencesRange2009","abstract":"Although range expansions have occurred recurrently in the history of most species, their genetic consequences have been little investigated. Theoretical studies show that range expansions are quite different from pure demographic expansions and that the extent of recent gene flow conditions expected patterns of molecular diversity within and between populations. Spatially explicit simulation studies have led to unexpected and fascinating results about genetic patterns emerging after a range expansion. For instance, spatial expansions can generate allele frequency gradients, promote the surfing of rare variants into newly occupied territories, induce the structuring of newly colonized areas into distinct sectors of low genetic diversity, or lead to massive introgression of local genes into the genome of an invading species. Interestingly, most of these patterns had been previously attributed to distinct selective processes, showing that taking into account the dynamic nature of a species range can lead to a paradigm shift in our perception of evolutionary processes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Excoffier","given":"Laurent"},{"family":"Foll","given":"Matthieu"},{"family":"Petit","given":"RĂ©my J."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.39.110707.173414","issue":"1","issued":{"date-parts":[[2009]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.39.110707.173414","page":"481-501","source":"Annual Reviews","title":"Genetic Consequences of Range Expansions","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.39.110707.173414","volume":"40"}, - {"id":"fahrigEffectsHabitatFragmentation2003a","abstract":"The literature on effects of habitat fragmentation on biodiversity is huge. It is also very diverse, with different authors measuring fragmentation in different ways and, as a consequence, drawing different conclusions regarding both the magnitude and direction of its effects. Habitat fragmentation is usually defined as a landscape-scale process involving both habitat loss and the breaking apart of habitat. Results of empirical studies of habitat fragmentation are often difficult to interpret because (a) many researchers measure fragmentation at the patch scale, not the landscape scale and (b) most researchers measure fragmentation in ways that do not distinguish between habitat loss and habitat fragmentation per se, i.e., the breaking apart of habitat after controlling for habitat loss. Empirical studies to date suggest that habitat loss has large, consistently negative effects on biodiversity. Habitat fragmentation per se has much weaker effects on biodiversity that are at least as likely to be positive as negative. Therefore, to correctly interpret the influence of habitat fragmentation on biodiversity, the effects of these two components of fragmentation must be measured independently. More studies of the independent effects of habitat loss and fragmentation per se are needed to determine the factors that lead to positive versus negative effects of fragmentation per se. I suggest that the term “fragmentation” should be reserved for the breaking apart of habitat, independent of habitat loss.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fahrig","given":"Lenore"}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.34.011802.132419","issue":"1","issued":{"date-parts":[[2003]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.34.011802.132419","page":"487-515","source":"Annual Reviews","title":"Effects of Habitat Fragmentation on Biodiversity","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.34.011802.132419","volume":"34"}, - {"id":"fahrigNonoptimalAnimalMovement2007a","abstract":"1 I synthesize the understanding of the relationship between landscape structure and animal movement in human-modified landscapes. 2 The variety of landscape structures is first classified into four categories: continuous habitat, patchy habitat with high-quality matrix, patchy habitat with low-quality matrix, and patchy, ephemeral habitat. Using this simplification I group the range of evolved movement parameters into four categories or movement types. I then discuss how these movement types interact with current human-caused landscape changes, and how this often results in non-optimal movement. 3 From this synthesis I develop a hypothesis that predicts the relative importance of the different population-level consequences of these non-optimal movements, for the four movement types. 4 Populations of species that have inhabited landscapes with high habitat cover or patchy landscapes with low-risk matrix should have evolved low boundary responses and moderate to high movement probabilities. These species are predicted to be highly susceptible to increased movement mortality resulting from habitat loss and reduced matrix quality. 5 In contrast, populations of species that evolved in patchy landscapes with high-risk matrix or dynamic patchy landscapes are predicted to be highly susceptible to decreased immigration and colonization success, due to the increasing patch isolation that results from habitat loss. 6 Finally, I discuss three implications of this synthesis: (i) â€least cost path’ analysis should not be used for land management decisions without data on actual movement paths and movement risks in the landscape; (ii) â€dispersal ability’ is not simply an attribute of a species, but varies strongly with landscape structure such that the relative rankings of species’ dispersal abilities can change following landscape alteration; and (iii) the assumption that more mobile species are more resilient to human-caused landscape change is not generally true, but depends on the structure of the landscape where the species evolved.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fahrig","given":"Lenore"}],"container-title":"Functional Ecology","DOI":"10.1111/j.1365-2435.2007.01326.x","ISSN":"1365-2435","issue":"6","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2435.2007.01326.x","page":"1003-1015","source":"Wiley Online Library","title":"Non-optimal animal movement in human-altered landscapes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2435.2007.01326.x","volume":"21"}, - {"id":"fellousQuorumSensingDensityDependent2012","abstract":"Many organisms use cues to decide whether to disperse or not, especially those related to the composition of their environment. Dispersal hence sometimes depends on population density, which can be important for the dynamics and evolution of sub-divided populations. But very little is known about the factors that organisms use to inform their dispersal decision. We investigated the cues underlying density-dependent dispersal in inter-connected microcosms of the freshwater protozoan Paramecium caudatum. In two experiments, we manipulated (i) the number of cells per microcosm and (ii) the origin of their culture medium (supernatant from high- or low-density populations). We found a negative relationship between population density and rates of dispersal, suggesting the use of physical cues. There was no significant effect of culture medium origin on dispersal and thus no support for chemical cues usage. These results suggest that the perception of density – and as a result, the decision to disperse – in this organism can be based on physical factors. This type of quorum sensing may be an adaptation optimizing small scale monitoring of the environment and swarm formation in open water.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fellous","given":"Simon"},{"family":"Duncan","given":"Alison"},{"family":"Coulon","given":"AurĂ©lie"},{"family":"Kaltz","given":"Oliver"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0048436","ISSN":"1932-6203","issue":"11","issued":{"date-parts":[[2012,11,7]]},"language":"en","page":"e48436","publisher":"Public Library of Science","source":"PLoS Journals","title":"Quorum Sensing and Density-Dependent Dispersal in an Aquatic Model System","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0048436","volume":"7"}, - {"id":"fischerLandscapeModificationHabitat2007","abstract":"Landscape modification and habitat fragmentation are key drivers of global species loss. Their effects may be understood by focusing on: (1) individual species and the processes threatening them, and (2) human-perceived landscape patterns and their correlation with species and assemblages. Individual species may decline as a result of interacting exogenous and endogenous threats, including habitat loss, habitat degradation, habitat isolation, changes in the biology, behaviour, and interactions of species, as well as additional, stochastic threats. Human-perceived landscape patterns that are frequently correlated with species assemblages include the amount and structure of native vegetation, the prevalence of anthropogenic edges, the degree of landscape connectivity, and the structure and heterogeneity of modified areas. Extinction cascades are particularly likely to occur in landscapes with low native vegetation cover, low landscape connectivity, degraded native vegetation and intensive land use in modified areas, especially if keystone species or entire functional groups of species are lost. This review (1) demonstrates that species-oriented and pattern-oriented approaches to understanding the ecology of modified landscapes are highly complementary, (2) clarifies the links between a wide range of interconnected themes, and (3) provides clear and consistent terminology. Tangible research and management priorities are outlined that are likely to benefit the conservation of native species in modified landscapes around the world.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fischer","given":"Joern"},{"family":"Lindenmayer","given":"David B."}],"container-title":"Global Ecology and Biogeography","DOI":"10.1111/j.1466-8238.2007.00287.x","ISSN":"1466-8238","issue":"3","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2007.00287.x","page":"265-280","source":"Wiley Online Library","title":"Landscape modification and habitat fragmentation: a synthesis","title-short":"Landscape modification and habitat fragmentation","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1466-8238.2007.00287.x","volume":"16"}, - {"id":"fletcherjr.EmergentPropertiesConspecific2006","abstract":"Abstract: Attraction to conspecifics may have wideâ€ranging implications for habitat selection and metapopulation theory, yet little is known about the process of attraction and its effects relative to other habitat selection strategies. Using individualâ€based simulations, I investigated the emergent properties of conspecific attraction during habitat selection on survival, fecundity, shortâ€term fitness (sur \\documentclass{aastex} \\usepackage{amsbsy} \\usepackage{amsfonts} \\usepackage{amssymb} \\usepackage{bm} \\usepackage{mathrsfs} \\usepackage{pifont} \\usepackage{stmaryrd} \\usepackage{textcomp} \\usepackage{portland,xspace} \\usepackage{amsmath,amsxtra} \\usepackage[OT2,OT1]{fontenc} \\newcommand\\cyr{ \\renewcommand\\rmdefault{wncyr} \\renewcommand\\sfdefault{wncyss} \\renewcommand\\encodingdefault{OT2} \\normalfont \\selectfont} \\DeclareTextFontCommand{\\textcyr}{\\cyr} \\pagestyle{empty} \\DeclareMathSizes{10}{9}{7}{6} \\begin{document} \\landscape $\\mathrm{vival}\\,\\times \\mathrm{fecundity}\\,$ \\end{document} ), and distributions in fragmented landscapes. I simulated conspecific attraction during searching and settlement decisions and compared attraction with random, habitatâ€based (searching for the presence of habitat), and habitat quality sampling strategies (searching for and settling in highâ€quality habitat). Conspecific attraction during searching or settlement decisions had different consequences for animals: attraction while searching increased survival by decreasing time spent in nonsuitable habitat, whereas attraction during settlement increased fecundity by aggregating animals in highâ€quality habitats. Habitatâ€based sampling did not improve fitness over attraction, but directly sampling habitat quality resulted in the highest shortâ€term fitness among strategies. These results suggest that attraction can improve fitness when animals cannot directly assess habitat quality. Interestingly, conspecific attraction influenced distributions by generating patch size effects and weak edge effects, highlighting that attraction is one potential, yet previously unappreciated, mechanism to explain the widespread patterns of animal sensitivity to habitat fragmentation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fletcher Jr.","given":"Robert J."},{"family":"Grimm","given":"Associate Editor: Volker"},{"family":"DeAngelis","given":"Editor: Donald L."}],"container-title":"The American Naturalist","DOI":"10.1086/505764","ISSN":"0003-0147","issue":"2","issued":{"date-parts":[[2006]]},"page":"207-219","publisher":"[The University of Chicago Press, The American Society of Naturalists]","source":"JSTOR","title":"Emergent Properties of Conspecific Attraction in Fragmented Landscapes","type":"article-journal","URL":"https://www.jstor.org/stable/10.1086/505764","volume":"168"}, - {"id":"fletcherSpeciesInteractionsPopulation2007","abstract":"1. The perspective that populations and communities are structured by antagonistic interactions among individuals has dominated much of ecology. Yet how animals use social information to guide decisions, such as habitat selection, may be influenced by both positive and negative interactions among individuals. Recent theory also suggests that the way animals use social information may be substantially influenced by population density, which alters the potential costs and benefits of such behaviours. 2. I manipulated cues of two competitors, the dominant least flycatcher Empidonax minimus (Baird & Baird) and the subordinate American redstart Setophaga ruticilla (Linnaeus), to assess the use of conspecific and heterospecific cues during habitat selection, and if population density influences these strategies. The experiment consisted of surveying birds during a pre-treatment year, which allows for the control and testing the effect of baseline densities, and a treatment year, in which treatments were applied just prior to settlement. Treatments included broadcasting songs of flycatchers and redstarts, and were compared with controls. 3. When controlling for pre-treatment densities, bird densities, and to a lesser extent arrival dates, during the treatment year suggested that flycatchers were attracted to both conspecific and heterospecific cues during settlement. Furthermore, attraction was strongest for flycatchers in plots with moderate pre-treatment densities. American redstarts were rare in the study area but showed apparent attraction to conspecifics and avoidance of heterospecifics. 4. These results provide experimental evidence for the use of multiple social cues in habitat selection and suggest that heterospecific attraction may operate under broader contexts than originally envisioned. In such instances, nontarget effects can potentially occur when manipulating social cues to elicit settlement in conservation strategies. The impact of population density on the use of social cues shown here can also influence our understanding of metapopulation dynamics by causing complex threshold effects on the likelihood of rescue, which may influence metapopulation stability and the likelihood of local extinction.","author":[{"family":"Fletcher","given":"Robert J."}],"container-title":"The Journal of Animal Ecology","container-title-short":"J Anim Ecol","DOI":"10.1111/j.1365-2656.2007.01230.x","ISSN":"0021-8790","issue":"3","issued":{"date-parts":[[2007,5]]},"language":"eng","page":"598-606","PMID":"17439476","source":"PubMed","title":"Species interactions and population density mediate the use of social cues for habitat selection","type":"article-journal","volume":"76"}, - {"id":"fowlerConfoundingEnvironmentalColour2013","abstract":"The colour of environmental variability influences the size of population fluctuations when filtered through density dependent dynamics, driving extinction risk through dynamical resonance. Slow fluctuations (low frequencies) dominate in red environments, rapid fluctuations (high frequencies) in blue environments and white environments are purely random (no frequencies dominate). Two methods are commonly employed to generate the coloured spatial and/or temporal stochastic (environmental) series used in combination with population (dynamical feedback) models: autoregressive [AR(1)] and sinusoidal (1/f) models. We show that changing environmental colour from white to red with 1/f models, and from white to red or blue with AR(1) models, generates coloured environmental series that are not normally distributed at finite time-scales, potentially confounding comparison with normally distributed white noise models. Increasing variability of sample Skewness and Kurtosis and decreasing mean Kurtosis of these series alter the frequency distribution shape of the realised values of the coloured stochastic processes. These changes in distribution shape alter patterns in the probability of single and series of extreme conditions. We show that the reduced extinction risk for undercompensating (slow growing) populations in red environments previously predicted with traditional 1/f methods is an artefact of changes in the distribution shapes of the environmental series. This is demonstrated by comparison with coloured series controlled to be normally distributed using spectral mimicry. Changes in the distribution shape that arise using traditional methods lead to underestimation of extinction risk in normally distributed, red 1/f environments. AR(1) methods also underestimate extinction risks in traditionally generated red environments. This work synthesises previous results and provides further insight into the processes driving extinction risk in model populations. We must let the characteristics of known natural environmental covariates (e.g., colour and distribution shape) guide us in our choice of how to best model the impact of coloured environmental variation on population dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fowler","given":"Mike S."},{"family":"Ruokolainen","given":"Lasse"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0055855","ISSN":"1932-6203","issue":"2","issued":{"date-parts":[[2013,2,11]]},"language":"en","page":"e55855","publisher":"Public Library of Science","source":"PLoS Journals","title":"Confounding Environmental Colour and Distribution Shape Leads to Underestimation of Population Extinction Risk","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0055855","volume":"8"}, - {"id":"frankhamWhereAreWe2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Frankham","given":"Richard"}],"container-title":"Conservation Genetics","container-title-short":"Conserv Genet","DOI":"10.1007/s10592-009-0010-2","ISSN":"1572-9737","issue":"2","issued":{"date-parts":[[2010,4,1]]},"language":"en","page":"661-663","source":"Springer Link","title":"Where are we in conservation genetics and where do we need to go?","type":"article-journal","URL":"https://doi.org/10.1007/s10592-009-0010-2","volume":"11"}, - {"id":"franklinMovingStaticSpecies2010","abstract":"Aim To demonstrate that multi-modelling methods have effectively been used to combine static species distribution models (SDM), predicting the geographical pattern of suitable habitat, with dynamic landscape and population models to forecast the impacts of environmental change on species’ status, an important goal of conservation biogeography. Methods Three approaches were considered: (1) incorporating models of species migration to understand the ability of a species to occupy suitable habitat in new locations; (2) linking models of landscape disturbance and succession to models of habitat suitability; and (3) fully linking models of habitat suitability, habitat dynamics and spatially explicit population dynamics. Results Linking species–environment relationships, landscape dynamics and population dynamics in a multi-modelling framework allows the combined impacts of climate change (affecting species distribution and vital rates) and land cover dynamics (land use change, altered disturbance regimes) on species to be predicted. This approach is only feasible if the life history parameters and habitat requirements of the species are well understood. Main conclusions Forecasts of the impacts of global change on species may be improved by considering multiple causes. A range of methods are available to address the interactions of changing habitat suitability, habitat dynamics and population response that vary in their complexity, realism and data requirements.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Franklin","given":"Janet"}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2010.00641.x","ISSN":"1472-4642","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00641.x","page":"321-330","source":"Wiley Online Library","title":"Moving beyond static species distribution models in support of conservation biogeography","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2010.00641.x","volume":"16"}, - {"id":"franksGeneticsClimateChange2012","abstract":"The rapid rate of current global climate change is having strong effects on many species and, at least in some cases, is driving evolution, particularly when changes in conditions alter patterns of selection. Climate change thus provides an opportunity for the study of the genetic basis of adaptation. Such studies include a variety of observational and experimental approaches, such as sampling across clines, artificial evolution experiments, and resurrection studies. These approaches can be combined with a number of techniques in genetics and genomics, including association and mapping analyses, genome scans, and transcription profiling. Recent research has revealed a number of candidate genes potentially involved in climate change adaptation and has also illustrated that genetic regulatory networks and epigenetic effects may be particularly relevant for evolution driven by climate change. Although genetic and genomic data are rapidly accumulating, we still have much to learn about the genetic architecture of climate change adaptation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Franks","given":"Steven J."},{"family":"Hoffmann","given":"Ary A."}],"container-title":"Annual Review of Genetics","container-title-short":"Annu. Rev. Genet.","DOI":"10.1146/annurev-genet-110711-155511","ISSN":"0066-4197","issue":"1","issued":{"date-parts":[[2012,12,15]]},"page":"185-208","publisher":"Annual Reviews","source":"annualreviews.org (Atypon)","title":"Genetics of Climate Change Adaptation","type":"article-journal","URL":"https://www.annualreviews.org/doi/10.1146/annurev-genet-110711-155511","volume":"46"}, - {"id":"fraserRangeExpansionInvasive2015","abstract":"Aim The impact of invasive species is one of the main causes of biodiversity loss world-wide, and as a result, there is much interest in understanding the pattern and rate of expansion of species outside their native range. We aimed to characterize the range expansion of the American mink (Neovison vison) invading from multiple introduction points through a varied landscape bounded by coastline to better understand and manage its spread. Location Scotland, UK. Method We collated and used records of mink presence to calculate the historical range and rate of range expansion at successive time intervals. We used a presence-only model to predict habitat suitability and a newly developed individual-based modelling platform, RangeShifter, to simulate range expansion. Results Records showed that mink were distributed throughout Scotland, except in the far north. We found that the rate of spread varied both spatially and temporally and was related to landscape heterogeneity. Habitat suitable for mink in west Scotland is restricted to the coast. Main conclusions We concluded that temporal and spatial variation in range expansion is attributable to heterogeneity within the landscape and also demonstrated that the potential for long-distance dispersal does not necessarily facilitate range expansion when availability of suitable habitat occurs in narrow strips and/or is fragmented. We have highlighted methodological gaps in calculating rates of expansion in invasive species but have demonstrated alternative methods that successfully utilize presence-only data. Our study reaffirms that invasive species will colonize less favourable habitats and highlights the need to remain vigilant of their potential for expansion even when distribution appears to be static for a time.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fraser","given":"Elaine J."},{"family":"Lambin","given":"Xavier"},{"family":"Travis","given":"Justin M. J."},{"family":"Harrington","given":"Lauren A."},{"family":"Palmer","given":"Stephen C. F."},{"family":"Bocedi","given":"Greta"},{"family":"Macdonald","given":"David W."}],"container-title":"Diversity and Distributions","DOI":"10.1111/ddi.12303","ISSN":"1472-4642","issue":"8","issued":{"date-parts":[[2015]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ddi.12303","page":"888-900","source":"Wiley Online Library","title":"Range expansion of an invasive species through a heterogeneous landscape – the case of American mink in Scotland","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/ddi.12303","volume":"21"}, - {"id":"friedenbergExperimentalEvolutionDispersal2003","abstract":"The world is an uncertain place. Individuals’ fates vary from place to place and from time to time. Natural selection in unpredictable environments should favour individuals that hedge their bets by dispersing offspring. I confirm this basic prediction using Caenorhabditis elegans in experimental microcosms. My results agree with evolutionary models and correlations found previously between habitat stability and individual dispersal propensity in nature. However, I also find that environmental variation that triggers conditional dispersal behaviour may not impose selection on baseline dispersal rates. These findings imply that an increased rate of disturbance in natural systems has the potential to cause an evolutionary response in the life history of impacted organisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Friedenberg","given":"Nicholas A."}],"container-title":"Ecology Letters","DOI":"10.1046/j.1461-0248.2003.00524.x","ISSN":"1461-0248","issue":"10","issued":{"date-parts":[[2003]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1461-0248.2003.00524.x","page":"953-959","source":"Wiley Online Library","title":"Experimental evolution of dispersal in spatiotemporally variable microcosms","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1461-0248.2003.00524.x","volume":"6"}, - {"id":"fronhoferPickyHitchhikersVector2013a","abstract":"Dispersal is a central life-history trait for most animals and plants: it allows to colonize new habitats, escape from competition or avoid inbreeding. Yet, not all species are mobile enough to perform sufficient dispersal. Such passive dispersers may use more mobile animals as dispersal vectors. If multiple potential vectors are available, an active choice can allow to optimize the dispersal process and to determine the distribution of dispersal distances, i.e. an optimal dispersal kernel. We explore dispersal and vector choice in the neotropical flower mite Spadiseius calyptrogynae using a dual approach which combines experiments with an individual-based simulation model. Spadiseius calyptrogynae is found in lowland rainforests in Costa Rica. It inhabits inflorescences of the understorey palm Calyptrogyne ghiesbreghtiana and is phoretic on a number of flower visitors including bats, beetles and stingless bees. We hypothesised that the mites should optimise their dispersal kernel by actively choosing a specific mix of potential phoretic vectors. In a simple olfactometer setup we showed that the flower mites do indeed discriminate between potential vectors. Subsequently we used an individual-based model to analyse the evolutionary forces responsible for the observed patterns of vector choice. The mites combine vectors exhibiting long-distance dispersal with those allowing for more localized dispersal. This results in a fat-tailed dispersal kernel that guarantees the occasional colonization of new host plant patches (long distance) while optimizing the exploitation of clumped resources (local dispersal). Additionally, kin competition results in a preference for small vectors that transport only few individuals at a time. At the same time, these vectors lead to directed dispersal towards suitable habitat, which increases the stability of this very specialized interaction. Our findings can be applied to other phoretic systems but also to vector-based seed dispersal, for example.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fronhofer","given":"Emanuel A."},{"family":"Sperr","given":"Ellen B."},{"family":"Kreis","given":"Anna"},{"family":"Ayasse","given":"Manfred"},{"family":"Poethke","given":"Hans Joachim"},{"family":"Tschapka","given":"Marco"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2013.00503.x","ISSN":"1600-0706","issue":"8","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2013.00503.x","page":"1254-1264","source":"Wiley Online Library","title":"Picky hitch-hikers: vector choice leads to directed dispersal and fat-tailed kernels in a passively dispersing mite","title-short":"Picky hitch-hikers","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2013.00503.x","volume":"122"}, - {"id":"fryxellMultipleMovementModes2008","abstract":"Recent theory suggests that animals should switch facultatively among canonical movement modes as a complex function of internal state, landscape characteristics, motion capacity, and navigational capacity. We tested the generality of this paradigm for free-ranging elk (Cervus elaphus) over 5 orders of magnitude in time (minutes to years) and space (meters to 100 km). At the coarsest spatiotemporal scale, elk shifted from a dispersive to a home-ranging phase over the course of 1–3 years after introduction into a novel environment. At intermediate spatiotemporal scales, elk continued to alternate between movement modes. During the dispersive phase, elk alternated between encamped and exploratory modes, possibly linked to changes in motivational goals from foraging to social bonding. During the home-ranging phase, elk movements were characterized by a complex interplay between attraction to preferred habitat types and memory of previous movements across the home-range. At the finest temporal and spatial scale, elk used area-restricted search while browsing, interspersed with less sinuous paths when not browsing. Encountering a patch of high-quality food plants triggered the switch from one mode to the next, creating biphasic movement dynamics that were reinforced by local resource heterogeneity. These patterns suggest that multiphasic structure is fundamental to the movement patterns of elk at all temporal and spatial scales tested.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Fryxell","given":"John M."},{"family":"Hazell","given":"Megan"},{"family":"Börger","given":"Luca"},{"family":"Dalziel","given":"Ben D."},{"family":"Haydon","given":"Daniel T."},{"family":"Morales","given":"Juan M."},{"family":"McIntosh","given":"Therese"},{"family":"Rosatte","given":"Rick C."}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0801737105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19114-19119","PMID":"19060190","publisher":"National Academy of Sciences","section":"Research Article","source":"www.pnas.org","title":"Multiple movement modes by large herbivores at multiple spatiotemporal scales","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19114","volume":"105"}, - {"id":"gallienPredictingPotentialDistributions2010","abstract":"Aim There has been considerable recent interest in modelling the potential distributions of invasive species. However, research has developed in two opposite directions: the first, focusing on screening, utilizes phenomenological models; the second, focusing on predictions of invasion dynamics, utilizes mechanistic models. Here, we present hybrid modelling as an approach to bridge the gap and to integrate the advantages of both research directions. Location Global. Methods First, we briefly summarize the characteristics and limitations of both approaches (screening vs. understanding). Then, we review the recent developments of hybrid models, discuss their current problems and offer suggestions to improve them. Results Generally, hybrid models are able to combine the advantages of currently used phenomenological and mechanistic approaches. Main challenges in building hybrid models are the choices of the appropriate degree of detail and efficiency and the decision on how to connect the different sub-models. Given these challenges, we discuss the links between the phenomenological and the mechanistic model parameters, the underlying concepts of fundamental and realized niches and the problem of feedback loops between population dynamics and environmental factors. Main conclusions Once the above challenges have been addressed and the necessary framework has been developed, hybrid models will provide outstanding tools for overcoming past limitations and will provide the means to make reliable and robust predictions of the potential distribution of invasive species, their population dynamics and the potential outcomes of the overall invasion process.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gallien","given":"Laure"},{"family":"MĂĽnkemĂĽller","given":"Tamara"},{"family":"Albert","given":"CĂ©cile H."},{"family":"Boulangeat","given":"Isabelle"},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2010.00652.x","ISSN":"1472-4642","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00652.x","page":"331-342","source":"Wiley Online Library","title":"Predicting potential distributions of invasive species: where to go from here?","title-short":"Predicting potential distributions of invasive species","type":"article-journal","URL":"https://www.onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2010.00652.x","volume":"16"}, - {"id":"gardnerSimulatingDispersalReintroduced2004b","abstract":"This paper describes the development and application of a spatially explicit, individual based model of animal dispersal (J-walk) to determine the relative effects of landscape heterogeneity, prey availability, predation risk, and the energy requirements and behavior of dispersing organisms on dispersal success. Significant unknowns exist for the simulation of complex movement behavior within heterogeneous landscapes. Therefore, initial simulations with J-walk examined the relative effect of landscape patterns and species-specific characteristics on dispersal success. Differences in landscape pattern were simulated by random generation of fractal maps with average available energy (i.e. prey) and predation risk expressed as a function of habitat type. Variation in species-specific patterns were then simulated by a series of scenarios that varied the response of dispersing individuals to habitat heterogeneity, including: habitat selection to maximize energy intake, habitat selection to minimize predation risk, or habitat selection contingent on energy reserves. Results showed that significant shifts in dispersal could be related to (1) the unique spatial arrangement of habitat within each map, (2) changes in relative prey abundance, and (3) variation in the relationship between energy availability and predation risk. Hypothetical management scenarios were used to identify critical data needed to assure the persistence of reintroduced populations of American martens (Martes americana).","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Gardner","given":"Robert H."},{"family":"Gustafson","given":"Eric J."}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2003.08.008","ISSN":"0304-3800","issue":"4","issued":{"date-parts":[[2004,2,1]]},"language":"en","page":"339-358","source":"ScienceDirect","title":"Simulating dispersal of reintroduced species within heterogeneous landscapes","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380003003387","volume":"171"}, - {"id":"gastonGeographicRangeLimits2009","abstract":"Understanding of the determinants of species' geographic range limits remains poorly integrated. In part, this is because of the diversity of perspectives on the issue, and because empirical studies have lagged substantially behind developments in theory. Here, I provide a broad overview, drawing together many of the disparate threads, considering, in turn, how influences on the terms of a simple single-population equation can determine range limits. There is theoretical and empirical evidence for systematic changes towards range limits under some circumstances in each of the demographic parameters. However, under other circumstances, no such changes may take place in particular parameters, or they may occur in a different direction, with limitation still occurring. This suggests that (i) little about range limitation can categorically be inferred from many empirical studies, which document change in only one demographic parameter, (ii) there is a need for studies that document variation in all of the parameters, and (iii) in agreement with theoretical evidence that range limits can be formed in the presence or absence of hard boundaries, environmental gradients or biotic interactions, there may be few general patterns as to the determinants of these limits, with most claimed generalities at least having many exceptions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gaston","given":"Kevin J"}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","DOI":"10.1098/rspb.2008.1480","issue":"1661","issued":{"date-parts":[[2009,4,22]]},"page":"1395-1406","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Geographic range limits: achieving synthesis","title-short":"Geographic range limits","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2008.1480","volume":"276"}, - {"id":"gilmanFrameworkCommunityInteractions2010a","abstract":"Predicting the impacts of climate change on species is one of the biggest challenges that ecologists face. Predictions routinely focus on the direct effects of climate change on individual species, yet interactions between species can strongly influence how climate change affects organisms at every scale by altering their individual fitness, geographic ranges and the structure and dynamics of their community. Failure to incorporate these interactions limits the ability to predict responses of species to climate change. We propose a framework based on ideas from global-change biology, community ecology, and invasion biology that uses community modules to assess how species interactions shape responses to climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gilman","given":"Sarah E."},{"family":"Urban","given":"Mark C."},{"family":"Tewksbury","given":"Joshua"},{"family":"Gilchrist","given":"George W."},{"family":"Holt","given":"Robert D."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2010.03.002","ISSN":"0169-5347","issue":"6","issued":{"date-parts":[[2010,6,1]]},"language":"en","page":"325-331","source":"ScienceDirect","title":"A framework for community interactions under climate change","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534710000613","volume":"25"}, - {"id":"gilroyMateFindingOverlookedCritical2012","abstract":"Dispersal is a critically important process in ecology, but robust predictive models of animal dispersal remain elusive. We identify a potentially ubiquitous component of variation in animal dispersal that has been largely overlooked until now: the influence of mate encounters on settlement probability. We use an individual-based model to simulate dispersal in sexually-reproducing organisms that follow a simple set of movement rules based on conspecific encounters, within an environment lacking spatial habitat heterogeneity. We show that dispersal distances vary dramatically with fluctuations in population density in such a model, even in the absence of variation in dispersive traits between individuals. In a simple random-walk model with promiscuous mating, dispersal distributions become increasingly â€fat-tailed’ at low population densities due to the increasing scarcity of mates. Similar variation arises in models incorporating territoriality. In a model with polygynous mating, we show that patterns of sex-biased dispersal can even be reversed across a gradient of population density, despite underlying dispersal mechanisms remaining unchanged. We show that some widespread dispersal patterns found in nature (e.g. fat tailed distributions) can arise as a result of demographic variability in the absence of heterogeneity in dispersive traits across the population. This implies that models in which individual dispersal distances are considered to be fixed traits might be unrealistic, as dispersal distances vary widely under a single dispersal mechanism when settlement is influenced by mate encounters. Mechanistic models offer a promising means of advancing our understanding of dispersal in sexually-reproducing organisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gilroy","given":"James J."},{"family":"Lockwood","given":"Julie L."}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0038091","ISSN":"1932-6203","issue":"5","issued":{"date-parts":[[2012,5,25]]},"language":"en","page":"e38091","publisher":"Public Library of Science","source":"PLoS Journals","title":"Mate-Finding as an Overlooked Critical Determinant of Dispersal Variation in Sexually-Reproducing Animals","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0038091","volume":"7"}, - {"id":"greenmanImpactEnvironmentalFluctuations2005","abstract":"External forcing of a discrete time ecological system does not just add variation to existing dynamics but can change the dynamics. We study the mechanisms that can bring this about, focusing on the key concepts of excitation and suppression which emerge when analysing the power spectra of the system in linear approximation. Excitation, through resonance between the system dynamics and the external forcing, is the greater the closer the system is to the boundary of the stability region. This amplification means that the extinction of populations becomes possible sooner than expected and, conversely, invasion can be significantly delayed. Suppression and the consequent redistribution of power within the spectrum proves to be a function both of the connectivity of the network graph of the system and the way that external forcing is applied to the system. It is also established that colour in stochastic forcing can have a major impact, by enhancing resonance and by greater redistribution of power. This can mean a higher risk of extinction through larger fluctuations in population numbers and a higher degree of synchrony between populations. The implications of external forcing for stage-structured species, for populations in competition and for trophic web systems are studied using the tools and concepts developed in the paper.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Greenman","given":"J. V."},{"family":"Benton","given":"T. G."}],"container-title":"Theoretical Population Biology","container-title-short":"Theoretical Population Biology","DOI":"10.1016/j.tpb.2005.06.007","ISSN":"0040-5809","issue":"4","issued":{"date-parts":[[2005,12,1]]},"language":"en","page":"217-235","source":"ScienceDirect","title":"The impact of environmental fluctuations on structured discrete time population models: Resonance, synchrony and threshold behaviour","title-short":"The impact of environmental fluctuations on structured discrete time population models","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0040580905000936","volume":"68"}, - {"id":"greenwoodMatingSystemsPhilopatry1980","abstract":"Many species of birds and mammals are faithful to their natal and breeding site or group. In most of them one sex is more philopatric than the other. In birds it is usually females which disperse more than males; in mammals it is usually males which disperse more than females. Reproductive enhancement through increased access to mates or resources and the avoidance of inbreeding are important in promoting sex differences in dispersal. It is argued that the direction of the sex bias is a consequence of the type of mating system. Philopatry will favour the evolution of cooperative traits between members of the sedentary sex. Disruptive acts will be a feature of dispersers.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Greenwood","given":"Paul J."}],"container-title":"Animal Behaviour","container-title-short":"Animal Behaviour","DOI":"10.1016/S0003-3472(80)80103-5","ISSN":"0003-3472","issue":"4","issued":{"date-parts":[[1980,11,1]]},"language":"en","page":"1140-1162","source":"ScienceDirect","title":"Mating systems, philopatry and dispersal in birds and mammals","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0003347280801035","volume":"28"}, - {"id":"grimmIndividualbasedModelingEcology2005","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Grimm","given":"Volker"},{"family":"Railsback","given":"Steven F."}],"ISBN":"978-0-691-09666-7","issued":{"date-parts":[[2005]]},"language":"en","publisher":"Princeton University Press","source":"press.princeton.edu","title":"Individual-based Modeling and Ecology","type":"book","URL":"https://press.princeton.edu/books/paperback/9780691096667/individual-based-modeling-and-ecology"}, - {"id":"grosEvolutionSexbiasedDispersal2008","abstract":"Abstract: Inbreeding avoidance and asymmetric competition over resources have both been identified as factors favoring the evolution of sex-biased dispersal. It has also been recognized that sex-specific costs of dispersal would select for sex-biased dispersal, but there is little quantitative information on this aspect. In this paper we explore (i) the quantitative relationship between cost-asymmetry and a bias in dispersal, (ii) the influence of demographic stochasticity on this effect, and (iii) how inbreeding and cost-asymmetry interact in their effect on sex-specific dispersal. We adjust an existing analytical model to account for sex-specific costs of dispersal. Based on numerical calculations we predict a severe bias in dispersal already for small differences in dispersal costs. We corroborate these predictions in individual-based simulations, but show that demographic stochasticity generally leads to more balanced dispersal. In combination with inbreeding, cost asymmetries will usually determine which of the two sexes becomes the more dispersive.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Gros","given":"Andreas"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans Joachim"}],"issued":{"date-parts":[[2008]]},"language":"eng","source":"opus.bibliothek.uni-wuerzburg.de","title":"Evolution of sex-biased dispersal : the role of sex-specific dispersal costs, demographic stochasticity, and inbreeding","title-short":"Evolution of sex-biased dispersal","type":"article-journal","URL":"https://opus.bibliothek.uni-wuerzburg.de/frontdoor/index/index/docId/4031"}, - {"id":"grosSexspecificSpatiotemporalVariability2009","abstract":"Inbreeding depression, asymmetries in costs or benefits of dispersal, and the mating system have been identified as potential factors underlying the evolution of sex-biased dispersal. We use individual-based simulations to explore how the mating system and demographic stochasticity influence the evolution of sex-specific dispersal in a metapopulation with females competing over breeding sites, and males over mating opportunities. Comparison of simulation results for random mating with those for a harem system (locally, a single male sires all offspring) reveal that even extreme variance in local male reproductive success (extreme male competition) does not induce male-biased dispersal. The latter evolves if the between-patch variance in reproductive success is larger for males than females. This can emerge due to demographic stochasticity if the habitat patches are small. More generally, members of a group of individuals experiencing higher spatio-temporal variance in fitness expectations may evolve to disperse with greater probability than others.","author":[{"family":"Gros","given":"Andreas"},{"family":"Poethke","given":"Hans Joachim"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"Theoretical Population Biology","container-title-short":"Theor Popul Biol","DOI":"10.1016/j.tpb.2009.03.002","ISSN":"1096-0325","issue":"1","issued":{"date-parts":[[2009,8]]},"language":"eng","page":"13-18","PMID":"19303892","source":"PubMed","title":"Sex-specific spatio-temporal variability in reproductive success promotes the evolution of sex-biased dispersal","type":"article-journal","volume":"76"}, - {"id":"guillaumeInbreedingLoadBet2009","abstract":"Inbreeding load affects not only the average fecundity of philopatric individuals but also its variance. From betâ€hedging theory, this should add further dispersal pressures to those stemming from the mere avoidance of inbreeding. Pressures on both sexes are identical under monogamy or promiscuity. Under polygyny, by contrast, the variance in reproductive output decreases with dispersal rate in females but increases in males, which should induce a femaleâ€biased dispersal. To test this prediction, we performed individualâ€based simulations. From our results, a femaleâ€biased dispersal indeed emerges as both polygyny and inbreeding load increase. We conclude that sexâ€biased dispersal may be selected for as a betâ€hedging strategy.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Guillaume","given":"FrĂ©dĂ©ric"},{"family":"Perrin","given":"Nicolas"}],"container-title":"The American Naturalist","DOI":"10.1086/597218","ISSN":"0003-0147","issue":"4","issued":{"date-parts":[[2009,4,1]]},"page":"536-541","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"Inbreeding Load, Bet Hedging, and the Evolution of Sexâ€Biased Dispersal.","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/597218","volume":"173"}, - {"id":"guillaumeNEMOEvolutionaryPopulation2006","abstract":"Unlabelled: \nNemo is an individual-based, genetically explicit and stochastic population computer program for the simulation of population genetics and life-history trait evolution in a metapopulation context. It comes as both a C++ programming framework and an executable program file. Its object-oriented programming design gives it the flexibility and extensibility needed to implement a large variety of forward-time evolutionary models. It provides developers with abstract models allowing them to implement their own life-history traits and life-cycle events. Nemo offers a large panel of population models, from the Island model to lattice models with demographic or environmental stochasticity and a variety of already implemented traits (deleterious mutations, neutral markers and more), life-cycle events (mating, dispersal, aging, selection, etc.) and output operators for saving data and statistics. It runs on all major computer platforms including parallel computing environments.\n\nAvailability:\nThe source code, binaries and documentation are available under the GNU General Public License at http://nemo2.sourceforge.net.","author":[{"family":"Guillaume","given":"FrĂ©dĂ©ric"},{"family":"Rougemont","given":"Jacques"}],"container-title":"Bioinformatics (Oxford, England)","container-title-short":"Bioinformatics (Oxford, England)","DOI":"10.1093/bioinformatics/btl415","issued":{"date-parts":[[2006,11,1]]},"page":"2556-7","source":"ResearchGate","title":"NEMO: an evolutionary and population genetics programming framework","title-short":"NEMO","type":"article-journal","volume":"22"}, - {"id":"guisanPredictingSpeciesDistribution2005a","abstract":"In the last two decades, interest in species distribution models (SDMs) of plants and animals has grown dramatically. Recent advances in SDMs allow us to potentially forecast anthropogenic effects on patterns of biodiversity at different spatial scales. However, some limitations still preclude the use of SDMs in many theoretical and practical applications. Here, we provide an overview of recent advances in this field, discuss the ecological principles and assumptions underpinning SDMs, and highlight critical limitations and decisions inherent in the construction and evaluation of SDMs. Particular emphasis is given to the use of SDMs for the assessment of climate change impacts and conservation management issues. We suggest new avenues for incorporating species migration, population dynamics, biotic interactions and community ecology into SDMs at multiple spatial scales. Addressing all these issues requires a better integration of SDMs with ecological theory.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Guisan","given":"Antoine"},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2005.00792.x","ISSN":"1461-0248","issue":"9","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2005.00792.x","page":"993-1009","source":"Wiley Online Library","title":"Predicting species distribution: offering more than simple habitat models","title-short":"Predicting species distribution","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2005.00792.x","volume":"8"}, - {"id":"hallerSLiMForwardGenetic","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Haller","given":"Benjamin C."},{"family":"Messer","given":"Phillip W."}],"container-title":"Molecular Biology and Evolution","issue":"36","page":"632-637","title":"SLiM 3: Forward Genetic Simulations Beyond the Wright–Fisher Model | Molecular Biology and Evolution | Oxford Academic","type":"article-journal","URL":"https://academic.oup.com/mbe/article/36/3/632/5229931"}, - {"id":"hansenPerceptionClimateChange2012","abstract":"“Climate dice,” describing the chance of unusually warm or cool seasons, have become more and more “loaded” in the past 30 y, coincident with rapid global warming. The distribution of seasonal mean temperature anomalies has shifted toward higher temperatures and the range of anomalies has increased. An important change is the emergence of a category of summertime extremely hot outliers, more than three standard deviations (3Ď) warmer than the climatology of the 1951–1980 base period. This hot extreme, which covered much less than 1% of Earth’s surface during the base period, now typically covers about 10% of the land area. It follows that we can state, with a high degree of confidence, that extreme anomalies such as those in Texas and Oklahoma in 2011 and Moscow in 2010 were a consequence of global warming because their likelihood in the absence of global warming was exceedingly small. We discuss practical implications of this substantial, growing, climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hansen","given":"James"},{"family":"Sato","given":"Makiko"},{"family":"Ruedy","given":"Reto"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.1205276109","ISSN":"0027-8424, 1091-6490","issue":"37","issued":{"date-parts":[[2012,9,11]]},"language":"en","page":"E2415-E2423","PMID":"22869707","publisher":"National Academy of Sciences","section":"PNAS Plus","source":"www.pnas.org","title":"Perception of climate change","type":"article-journal","URL":"https://www.pnas.org/content/109/37/E2415","volume":"109"}, - {"id":"hanskiEcoevolutionaryDynamicsDispersal2011a","abstract":"Evolutionary changes in natural populations are often so fast that the evolutionary dynamics may influence ecological population dynamics and vice versa. Here we construct an eco-evolutionary model for dispersal by combining a stochastic patch occupancy metapopulation model with a model for changes in the frequency of fast-dispersing individuals in local populations. We test the model using data on allelic variation in the gene phosphoglucose isomerase (Pgi), which is strongly associated with dispersal rate in the Glanville fritillary butterfly. Population-specific measures of immigration and extinction rates and the frequency of fast-dispersing individuals among the immigrants explained 40% of spatial variation in Pgi allele frequency among 97 local populations. The model clarifies the roles of founder events and gene flow in dispersal evolution and resolves a controversy in the literature about the consequences of habitat loss and fragmentation on the evolution of dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hanski","given":"Ilkka"},{"family":"Mononen","given":"Tommi"}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/j.1461-0248.2011.01671.x","ISSN":"1461-023X","issue":"10","issued":{"date-parts":[[2011,10]]},"page":"1025-1034","PMCID":"PMC3187866","PMID":"21794053","source":"PubMed Central","title":"Eco-evolutionary dynamics of dispersal in spatially heterogeneous environments","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3187866/","volume":"14"}, - {"id":"hanskiVariationMigrationPropensity2004","abstract":"Metapopulation dynamics lead to predictable patterns of habitat occupancy, population density and trophic structure in relation to landscape features such as habitat patch size and isolation. Comparable patterns may occur in behavioural, physiological and life-history traits but remain little studied. In the Glanville fritillary butterfly, females in newly established populations were more mobile than females in old populations. Among females from new populations, mobility decreased with increasing connectivity (decreasing isolation), but in females from old populations mobility increased with connectivity. The [ATP]/[ADP] ratio of flight muscles following controlled activity showed the same pattern as mobility in relation to population age and connectivity, suggesting that physiological differences in flight metabolic performance contribute to the observed variation in mobility. We demonstrate with an evolutionary metapopulation model parameterised for the Glanville fritillary that increasing spatial variation in landscape structure increases variance in mobility among individuals in a metapopulation, supporting the general notion that complex landscape structure maintains life-history variation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hanski","given":"Ilkka"},{"family":"Erälahti","given":"Claudia"},{"family":"Kankare","given":"Maaria"},{"family":"Ovaskainen","given":"Otso"},{"family":"SirĂ©n","given":"Heli"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2004.00654.x","ISSN":"1461-0248","issue":"10","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00654.x","page":"958-966","source":"Wiley Online Library","title":"Variation in migration propensity among individuals maintained by landscape structure","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2004.00654.x","volume":"7"}, - {"id":"hartigConnectingDynamicVegetation2012","abstract":"Dynamic vegetation models provide process-based explanations of the dynamics and the distribution of plant ecosystems. They offer significant advantages over static, correlative modelling approaches, particularly for ecosystems that are outside their equilibrium due to global change or climate change. A persistent problem, however, is their parameterization. Parameters and processes of dynamic vegetation models (DVMs) are traditionally determined independently of the model, while model outputs are compared to empirical data for validation and informal model comparison only. But field data for such independent estimates of parameters and processes are often difficult to obtain, and the desire to include better descriptions of processes such as biotic interactions, dispersal, phenotypic plasticity and evolution in future vegetation models aggravates limitations related to the current parameterization paradigm. In this paper, we discuss the use of Bayesian methods to bridge this gap. We explain how Bayesian methods allow direct estimates of parameters and processes, encoded in prior distributions, to be combined with inverse estimates, encoded in likelihood functions. The combination of direct and inverse estimation of parameters and processes allows a much wider range of vegetation data to be used simultaneously, including vegetation inventories, species traits, species distributions, remote sensing, eddy flux measurements and palaeorecords. The possible reduction of uncertainty regarding structure, parameters and predictions of DVMs may not only foster scientific progress, but will also increase the relevance of these models for policy advice.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hartig","given":"Florian"},{"family":"Dyke","given":"James"},{"family":"Hickler","given":"Thomas"},{"family":"Higgins","given":"Steven I."},{"family":"O’Hara","given":"Robert B."},{"family":"Scheiter","given":"Simon"},{"family":"Huth","given":"Andreas"}],"container-title":"Journal of Biogeography","DOI":"10.1111/j.1365-2699.2012.02745.x","ISSN":"1365-2699","issue":"12","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2012.02745.x","page":"2240-2252","source":"Wiley Online Library","title":"Connecting dynamic vegetation models to data – an inverse perspective","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2699.2012.02745.x","volume":"39"}, - {"id":"hartigStatisticalInferenceStochastic2011","abstract":"Ecology Letters (2011) 14: 816–827 Abstract Statistical models are the traditional choice to test scientific theories when observations, processes or boundary conditions are subject to stochasticity. Many important systems in ecology and biology, however, are difficult to capture with statistical models. Stochastic simulation models offer an alternative, but they were hitherto associated with a major disadvantage: their likelihood functions can usually not be calculated explicitly, and thus it is difficult to couple them to well-established statistical theory such as maximum likelihood and Bayesian statistics. A number of new methods, among them Approximate Bayesian Computing and Pattern-Oriented Modelling, bypass this limitation. These methods share three main principles: aggregation of simulated and observed data via summary statistics, likelihood approximation based on the summary statistics, and efficient sampling. We discuss principles as well as advantages and caveats of these methods, and demonstrate their potential for integrating stochastic simulation models into a unified framework for statistical modelling.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hartig","given":"Florian"},{"family":"Calabrese","given":"Justin M."},{"family":"Reineking","given":"Björn"},{"family":"Wiegand","given":"Thorsten"},{"family":"Huth","given":"Andreas"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2011.01640.x","ISSN":"1461-0248","issue":"8","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2011.01640.x","page":"816-827","source":"Wiley Online Library","title":"Statistical inference for stochastic simulation models – theory and application","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2011.01640.x","volume":"14"}, - {"id":"hastingsSpatialSpreadInvasions2005","abstract":"We review and synthesize recent developments in the study of the spread of invasive species, emphasizing both empirical and theoretical approaches. Recent theoretical work has shown that invasive species spread is a much more complex process than the classical models suggested, as long range dispersal events can have a large influence on the rate of range expansion through time. Empirical work goes even further, emphasizing the role of spatial heterogeneity, temporal variability, other species, and evolution. As in some of the classic work on spread, the study of range expansion of invasive species provides unique opportunities to use differences between theory and data to determine the important underlying processes that control spread rates.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hastings","given":"Alan"},{"family":"Cuddington","given":"Kim"},{"family":"Davies","given":"Kendi F."},{"family":"Dugaw","given":"Christopher J."},{"family":"Elmendorf","given":"Sarah"},{"family":"Freestone","given":"Amy"},{"family":"Harrison","given":"Susan"},{"family":"Holland","given":"Matthew"},{"family":"Lambrinos","given":"John"},{"family":"Malvadkar","given":"Urmila"},{"family":"Melbourne","given":"Brett A."},{"family":"Moore","given":"Kara"},{"family":"Taylor","given":"Caz"},{"family":"Thomson","given":"Diane"}],"container-title":"Ecology Letters","DOI":"10.1111/j.1461-0248.2004.00687.x","ISSN":"1461-0248","issue":"1","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1461-0248.2004.00687.x","page":"91-101","source":"Wiley Online Library","title":"The spatial spread of invasions: new developments in theory and evidence","title-short":"The spatial spread of invasions","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1461-0248.2004.00687.x","volume":"8"}, - {"id":"haughlandExplorationCorrelatesSettlement2004","abstract":"1 Dispersers in heterogeneous habitat theoretically should target the habitat(s) where reproduction and survival (i.e. fitness) will be highest. However, the cues that dispersing animals respond to are not well understood: differences in habitat quality ultimately may be important, but whether animals respond to these differences may be influenced by their own familiarity with different habitats. 2 To determine if dispersers reacted to differences in habitat, we documented the exploratory movements, dispersal, and settlement patterns of juvenile North American red squirrels (Tamiasciurus hudsonicus) originating in adjacent patches of different habitats. 3 Dispersers originating in mature, closed-canopy forest (linked to higher female reproductive success and smaller territories) did not explore contrasting open forest with lower tree densities, and the magnitude of the dispersers’ explorations was relatively similar. In contrast, dispersers from the open forest habitat made explorations that carried them into contrasting, mature forest habitat, and their explorations were more variable across individuals. 4 When settlement occurred, it was strongly philopatric in all groups of dispersers, although the distances and directions favoured during the exploratory phase of dispersal remained strong predictors of where settlement occurred. Overall, processes favouring philopatry (i.e. maternal influences, competitive advantages, etc.) appeared to dominate the dispersal of our study animals, even those that were exposed to higher quality habitat during their explorations. 5 Secondarily, annual stochasticity (or some correlate) affected the scale of exploration and timing of settlement more than the relative quality of habitat in which dispersers were born. 6 Studies such as this that seek to understand the relative importance of individual experience, habitat familiarity, and habitat quality are important to ultimately understanding how individual animals and populations react to habitat heterogeneity.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Haughland","given":"Diane L."},{"family":"Larsen","given":"Karl W."}],"container-title":"Journal of Animal Ecology","DOI":"10.1111/j.0021-8790.2004.00884.x","ISSN":"1365-2656","issue":"6","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8790.2004.00884.x","page":"1024-1034","source":"Wiley Online Library","title":"Exploration correlates with settlement: red squirrel dispersal in contrasting habitats","title-short":"Exploration correlates with settlement","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.0021-8790.2004.00884.x","volume":"73"}, - {"id":"hauserDispersalClobertDanchin2001","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hauser","given":"Lorenz"}],"container-title":"Heredity","DOI":"10.1046/j.1365-2540.2001.0963a.x","ISSN":"1365-2540","issue":"4","issued":{"date-parts":[[2001]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2540.2001.0963a.x","page":"508-508","source":"Wiley Online Library","title":"Dispersal. J. Clobert, E. Danchin, A. A. Dhondt and J. D. Nichols (eds). Oxford University Press, New York. 2001. pp. 452. Price ÂŁ24.95, paperback. ISBN: 0-19-850659-7.","title-short":"Dispersal. J. Clobert, E. Danchin, A. A. Dhondt and J. D. Nichols (eds). Oxford University Press, New York. 2001. pp. 452. Price ÂŁ24.95, paperback. ISBN","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1365-2540.2001.0963a.x","volume":"87"}, - {"id":"hawkesLinkingMovementBehaviour2009","abstract":"1 Movement behaviour has become increasingly important in dispersal ecology and dispersal is central to the development of spatially explicit population ecology. The ways in which the elements have been brought together are reviewed with particular emphasis on dispersal distance distributions and the value of mechanistic models. 2 There is a continuous range of movement behaviours and in some species, dispersal is a clearly delineated event but not in others. The biological complexities restrict conclusions to high-level generalizations but there may be principles that are common to dispersal and other movements. 3 Random walk and diffusion models when appropriately elaborated can provide an understanding of dispersal distance relationships on spatial and temporal scales relevant to dispersal. Leptokurtosis in the relationships may be the result of a combination of factors including population heterogeneity, correlation, landscape features, time integration and density dependence. The inclusion in diffusion models of individual variation appears to be a useful elaboration. The limitations of the negative exponential and other phenomenological models are discussed. 4 The dynamics of metapopulation models are sensitive to what appears to be small differences in the assumptions about dispersal. In order to represent dispersal realistically in population models, it is suggested that phenomenological models should be replaced by those based on movement behaviour incorporating individual variation. 5 The conclusions are presented as a set of candidate principles for evaluation. The main features of the principles are that uncorrelated or correlated random walk, not linear movement, is expected where the directions of habitat patches are unpredictable and more complex behaviour when organisms have the ability to orientate or navigate. Individuals within populations vary in their movement behaviour and dispersal; part of this variation is a product of random elements in movement behaviour and some of it is heritable. Local and metapopulation dynamics are influenced by population heterogeneity in dispersal characteristics and heritable changes in dispersal propensity occur on time-scales short enough to impact population dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hawkes","given":"Colin"}],"container-title":"Journal of Animal Ecology","DOI":"10.1111/j.1365-2656.2009.01534.x","ISSN":"1365-2656","issue":"5","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2009.01534.x","page":"894-906","source":"Wiley Online Library","title":"Linking movement behaviour, dispersal and population processes: is individual variation a key?","title-short":"Linking movement behaviour, dispersal and population processes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2656.2009.01534.x","volume":"78"}, - {"id":"heikkinenMethodsUncertaintiesBioclimatic2006","abstract":"Potential impacts of projected climate change on biodiversity are often assessed using single-species bioclimatic â€envelope’models. Such models are a special case of species distribution models in which the current geographical distribution of species is related to climatic variables so to enable projections of distributions under future climate change scenarios. This work reviews a number of critical methodological issues that may lead to uncertainty in predictions from bioclimatic modelling. Particular attention is paid to recent developments of bioclimatic modelling that address some of these issues as well as to the topics where more progress needs to be made. Developing and applying bioclimatic models in a informative way requires good understanding of a wide range of methodologies, including the choice of modelling technique, model validation, collinearity, autocorrelation, biased sampling of explanatory variables, scaling and impacts of non-climatic factors. A key challenge for future research is integrating factors such as land cover, direct CO2 effects, biotic interactions and dispersal mechanisms into species-climate models. We conclude that, although bioclimatic envelope models have a number of important advantages, they need to be applied only when users of models have a thorough understanding of their limitations and uncertainties.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Heikkinen","given":"Risto K."},{"family":"Luoto","given":"Miska"},{"family":"AraĂşjo","given":"Miguel B."},{"family":"Virkkala","given":"Raimo"},{"family":"Thuiller","given":"Wilfried"},{"family":"Sykes","given":"Martin T."}],"container-title":"Progress in Physical Geography: Earth and Environment","container-title-short":"Progress in Physical Geography: Earth and Environment","DOI":"10.1177/0309133306071957","ISSN":"0309-1333","issue":"6","issued":{"date-parts":[[2006,12,1]]},"language":"en","page":"751-777","publisher":"SAGE Publications Ltd","source":"SAGE Journals","title":"Methods and uncertainties in bioclimatic envelope modelling under climate change","type":"article-journal","URL":"https://doi.org/10.1177/0309133306071957","volume":"30"}, - {"id":"heinoEvolutionMigrationRate2001","abstract":"We use an individual-based, spatially realistic metapopulation model to study the evolution of migration rate. We first explore the consequences of habitat change in hypothetical patch networks on a regular lattice. If the primary consequence of habitat change is an increase in local extinction risk as a result of decreased local population sizes, migration rate increases. A nonmonotonic response, with migration rate decreasing at high extinction rate, was obtained only by assuming very frequent catastrophes. If the quality of the matrix habitat deteriorates, leading to increased mortality during migration, the evolutionary response is more complex. As long as habitat patch occupancy does not decrease markedly with increased migration mortality, reduced migration rate evolves. However, once mortality becomes so high that empty patches remain uncolonized for a long time, evolution tends to increase migration rate, which may lead to an \"evolutionary rescue\" in a fragmented landscape. Kin competition has a quantitative effect on the evolution of migration rate in our model, but these patterns in the evolution of migration rate appear to be primarily caused by spatiotemporal variation in fitness and mortality during migration. We apply the model to real habitat patch networks occupied by two checkerspot butterfly (Melitaea) species, for which sufficient data are available to estimate rigorously most of the model parameters. The model-predicted migration rate is not significantly different from the empirically observed one. Regional variation in patch areas and connectivities leads to regional variation in the optimal migration rate, predictions that can be tested empirically.","author":[{"family":"Heino","given":"M."},{"family":"Hanski","given":"I."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/319927","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2001,5]]},"language":"eng","page":"495-511","PMID":"18707258","source":"PubMed","title":"Evolution of migration rate in a spatially realistic metapopulation model","type":"article-journal","volume":"157"}, - {"id":"heinoExtinctionRiskColoured2000","abstract":"Positively autocorrelated red environmental noise is characterized by a strong dependence of expected sample variance on sample length. This dependence has to be taken into account when assessing extinction risk under red and white uncorrelated environmental noise. To facilitate a comparison between red and white noise, their expected variances can be scaled to be equal, but only at a chosen time scale. We show with a simple one-dimensional population dynamics model that the different but equally reasonable choices of the time scale yield qualitatively different results on the dependence of extinction risk on the colour of environmental noise: extinction risk might increase as well as decrease when the temporal correlation of noise increases.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Heino","given":"Mikko"},{"family":"Ripa","given":"Jörgen"},{"family":"Kaitala","given":"Veijo"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2000.tb00273.x","ISSN":"1600-0587","issue":"2","issued":{"date-parts":[[2000]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2000.tb00273.x","page":"177-184","source":"Wiley Online Library","title":"Extinction risk under coloured environmental noise","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2000.tb00273.x","volume":"23"}, - {"id":"heinoExtinctionRiskColoured2000a","abstract":"Positively autocorrelated red environmental noise is characterized by a strong dependence of expected sample variance on sample length. This dependence has to be taken into account when assessing extinction risk under red and white uncorrelated environmental noise. To facilitate a comparison between red and white noise, their expected variances can be scaled to be equal, but only at a chosen time scale. We show with a simple one-dimensional population dynamics model that the different but equally reasonable choices of the time scale yield qualitatively different results on the dependence of extinction risk on the colour of environmental noise: extinction risk might increase as well as decrease when the temporal correlation of noise increases.","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Heino","given":"Mikko"},{"family":"Ripa","given":"Jörgen"},{"family":"Kaitala","given":"Veijo"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2000.tb00273.x","ISSN":"1600-0587","issue":"2","issued":{"date-parts":[[2000]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2000.tb00273.x","page":"177-184","source":"Wiley Online Library","title":"Extinction risk under coloured environmental noise","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2000.tb00273.x","volume":"23"}, - {"id":"heinzAdaptivePatchSearching2006","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Heinz","given":"S. K."},{"family":"Strand","given":"E."}],"container-title":"Evolutionary Ecology","issue":"20","issued":{"date-parts":[[2006]]},"page":"113-130","title":"Adaptive Patch Searching Strategies in Fragmented Landscapes","type":"article-journal","URL":"https://www.researchgate.net/publication/225577761_Adaptive_Patch_Searching_Strategies_in_Fragmented_Landscapes"}, - {"id":"hellmannInfluenceSpeciesInteractions2012","abstract":"The fossil record tells us that many species shifted their geographic distributions during historic climate changes, but this record does not portray the complete picture of future range change in response to climate change. In particular, it does not provide information on how species interactions will affect range shifts. Therefore, we also need modern research to generate understanding of range change. This paper focuses on the role that species interactions play in promoting or preventing geographic ranges shifts under current and future climate change, and we illustrate key points using empirical case studies from an integrated study system. Case studies can have limited generalizability, but they are critical to defining possible outcomes under climate change. Our case studies emphasize host limitation that could reduce range shifts and enemy release that could facilitate range expansion. We also need improvements in modeling that explicitly consider species interactions, and this modeling can be informed by empirical research. Finally, we discuss how species interactions have implications for range management by people.","author":[{"family":"Hellmann","given":"Jessica J."},{"family":"Prior","given":"Kirsten M."},{"family":"Pelini","given":"Shannon L."}],"container-title":"Annals of the New York Academy of Sciences","container-title-short":"Ann N Y Acad Sci","DOI":"10.1111/j.1749-6632.2011.06410.x","ISSN":"1749-6632","issued":{"date-parts":[[2012,2]]},"language":"eng","page":"18-28","PMID":"22329888","source":"PubMed","title":"The influence of species interactions on geographic range change under climate change","type":"article-journal","volume":"1249"}, - {"id":"henryEcoevolutionaryDynamicsRange2012","author":[{"family":"Henry","given":"Roslyn"},{"family":"Bocedi","given":"Greta"},{"family":"Travis","given":"Justin"}],"container-title":"Journal of theoretical biology","container-title-short":"Journal of theoretical biology","DOI":"10.1016/j.jtbi.2012.12.004","issued":{"date-parts":[[2012,12,11]]},"source":"ResearchGate","title":"Eco-evolutionary dynamics of range shifts: Elastic margins and critical thresholds","title-short":"Eco-evolutionary dynamics of range shifts","type":"article-journal","volume":"321"}, - {"id":"herefordQuantitativeSurveyLocal2009","abstract":"The long history of reciprocal transplant studies testing the hypothesis of local adaptation has shown that populations are often adapted to their local environments. Yet many studies have not demonstrated local adaptation, suggesting that sometimes native populations are no better adapted than are genotypes from foreign environments. Local adaptation may also lead to trade-offs, in which adaptation to one environment comes at a cost of adaptation to another environment. I conducted a survey of published studies of local adaptation to quantify its frequency and magnitude and the costs associated with local adaptation. I also quantified the relationship between local adaptation and environmental differences and the relationship between local adaptation and phenotypic divergence. The overall frequency of local adaptation was 0.71, and the magnitude of the native population advantage in relative fitness was 45%. Divergence between home site environments was positively associated with the magnitude of local adaptation, but phenotypic divergence was not. I found a small negative correlation between a population's relative fitness in its native environment and its fitness in a foreign environment, indicating weak trade-offs associated with local adaptation. These results suggest that populations are often locally adapted but stochastic processes such as genetic drift may limit the efficacy of divergent selection.","author":[{"family":"Hereford","given":"Joe"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/597611","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2009,5]]},"language":"eng","page":"579-588","PMID":"19272016","source":"PubMed","title":"A quantitative survey of local adaptation and fitness trade-offs","type":"article-journal","volume":"173"}, - {"id":"higginsNicheBiologySpecies2012","abstract":"Why species are found where they are is a central question in biogeography. The most widely used tool for understanding the controls on distribution is species distribution modelling. Species distribution modelling is now a well-established method in both the theoretical and applied ecological literature. In this special issue we examine the current state of the art in species distribution modelling and explore avenues for including more biological processes in such models. In particular we focus on physiological, demographic, dispersal, competitive and ecological-modulation processes. This overview highlights opportunities for new species distribution model concepts and developments, as well as a statistical agenda for implementing such models.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Higgins","given":"Steven I."},{"family":"O'Hara","given":"Robert B."},{"family":"Römermann","given":"Christine"}],"container-title":"Journal of Biogeography","DOI":"10.1111/jbi.12029","ISSN":"1365-2699","issue":"12","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/jbi.12029","page":"2091-2095","source":"Wiley Online Library","title":"A niche for biology in species distribution models","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/jbi.12029","volume":"39"}, - {"id":"hobanComputerSimulationsTools2012","abstract":"Computer simulations are excellent tools for understanding the evolutionary and genetic consequences of complex processes whose interactions cannot be analytically predicted. Simulations have traditionally been used in population genetics by a fairly small community with programming expertise, but the recent availability of dozens of sophisticated, customizable software packages for simulation now makes simulation an accessible option for researchers in many fields. The in silico genetic data produced by simulations, along with greater availability of population-genomics data, are transforming genetic epidemiology, anthropology, evolutionary and population genetics and conservation. In this Review of the state-of-the-art of simulation software, we identify applications of simulations, evaluate simulator capabilities, provide a guide for their use and summarize future directions.","author":[{"family":"Hoban","given":"Sean"},{"family":"Bertorelle","given":"Giorgio"},{"family":"Gaggiotti","given":"Oscar E."}],"container-title":"Nature Reviews. Genetics","container-title-short":"Nat Rev Genet","DOI":"10.1038/nrg3130","ISSN":"1471-0064","issue":"2","issued":{"date-parts":[[2012,1,10]]},"language":"eng","page":"110-122","PMID":"22230817","source":"PubMed","title":"Computer simulations: tools for population and evolutionary genetics","title-short":"Computer simulations","type":"article-journal","volume":"13"}, - {"id":"hobbsEstimatesHabitatCarrying1985","abstract":"Presentation d'un algorithme pour estimer la densite supportable d'herbivores consommant des ressources alimentaires a des degres divers de qualite nutritive. Influence des brulis. On prend pour exemple Odocoileus hemionus et Ovis canadensis","author":[{"family":"Hobbs","given":"N."}],"DOI":"10.2307/3801716","issued":{"date-parts":[[1985]]},"source":"Semantic Scholar","title":"Estimates of habitat carrying capacity incorporating explicit nutritional constraints","type":"article-journal"}, - {"id":"hodgsonClimateChangeConnectivity2009a","abstract":"1. The challenge of climate change forces us to re-examine the assumptions underlying conservation planning. 2. Increasing â€connectivity’ has emerged as the most favoured option for conservation in the face of climate change. 3. We argue that the importance of connectivity is being overemphasized: quantifying the benefits of connectivity per se is plagued with uncertainty, and connectivity can be co-incidentally improved by targeting more concrete metrics: habitat area and habitat quality. 4. Synthesis and applications. Before investing in connectivity projects, conservation practitioners should analyse the benefits expected to arise from increasing connectivity and compare them with alternative investments, to ensure as much biodiversity conservation and resilience to climate change as possible within their budget. Strategies that we expect to remain robust in the face of climate change include maintaining and increasing the area of high quality habitats, prioritizing areas that have high environmental heterogeneity and controlling other anthropogenic threatening processes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hodgson","given":"Jenny A."},{"family":"Thomas","given":"Chris D."},{"family":"Wintle","given":"Brendan A."},{"family":"Moilanen","given":"Atte"}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/j.1365-2664.2009.01695.x","ISSN":"1365-2664","issue":"5","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2009.01695.x","page":"964-969","source":"Wiley Online Library","title":"Climate change, connectivity and conservation decision making: back to basics","title-short":"Climate change, connectivity and conservation decision making","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2664.2009.01695.x","volume":"46"}, - {"id":"hodgsonHabitatAreaQuality2011a","abstract":"1. Population viability can depend on habitat area, habitat quality, the spatial arrangement of habitats (aggregations and connections) and the properties of the intervening non-breeding (matrix) land. Hodgson et al. [Journal of Applied Ecology46 (2009) 964] and Doerr, Barrett & Doerr (Journal of Applied Ecology, 2011) disagree on the relative importance of these landscape attributes in enabling species to persist and change their distributions in response to climate change. 2. A brief review of published evidence suggests that variations in habitat area and quality have bigger effects than variations in spatial arrangement of habitats or properties of the intervening land. Even if structural features in the matrix have a measurable effect on dispersal rates, this does not necessarily lead to significant increases in population viability. 3. Large and high-quality habitats provide source populations and locations for colonisation, so they are the main determinants of the capacity of species to shift their distributions in response to climate change because populations must be established successively in each new region. 4. Synthesis and applications. Retaining as much high quality natural and semi-natural habitat as possible should remain the key focus for conservation, especially during a period of climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hodgson","given":"Jenny A."},{"family":"Moilanen","given":"Atte"},{"family":"Wintle","given":"Brendan A."},{"family":"Thomas","given":"Chris D."}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/j.1365-2664.2010.01919.x","ISSN":"1365-2664","issue":"1","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2664.2010.01919.x","page":"148-152","source":"Wiley Online Library","title":"Habitat area, quality and connectivity: striking the balance for efficient conservation","title-short":"Habitat area, quality and connectivity","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2664.2010.01919.x","volume":"48"}, - {"id":"hodgsonSpeedRangeShifts2012","abstract":"Species may be driven extinct by climate change, unless their populations are able to shift fast enough to track regions of suitable climate. Shifting will be faster as the proportion of suitable habitat in the landscape increases. However, it is not known how the spatial arrangement of habitat will affect the speed of range advance, especially when habitat is scarce, as is the case for many specialist species. We develop methods for calculating the speed of advance that are appropriate for highly fragmented, stochastic systems. We reveal that spatial aggregation of habitat tends to reduce the speed of advance throughout a wide range of species parameters: different dispersal distances and dispersal kernel shapes, and high and low extinction probabilities. In contrast, aggregation increases the steady-state proportion of habitat that is occupied (without climate change). Nonetheless, we find that it is possible to achieve both rapid advance and relatively high patch occupancy when the habitat has a “channeled” pattern, resembling corridors or chains of stepping stones. We adapt techniques from electrical circuit theory to predict the rate of advance efficiently for complex, realistic landscape patterns, whereas the rate cannot be predicted by any simple statistic of aggregation or fragmentation. Conservationists are already advocating corridors and stepping stones as important conservation tools under climate change, but they are vaguely defined and have so far lacked a convincing basis in fundamental population biology. Our work shows how to discriminate properties of a landscape's spatial pattern that affect the speed of colonization (including, but not limited to, patterns like corridors and chains of stepping stones), and properties that affect a species' probability of persistence once established. We can therefore point the way to better land use planning approaches, which will provide functional habitat linkages and also maintain local population viability.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hodgson","given":"Jenny A."},{"family":"Thomas","given":"Chris D."},{"family":"Dytham","given":"Calvin"},{"family":"Travis","given":"Justin M. J."},{"family":"Cornell","given":"Stephen J."}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0047141","ISSN":"1932-6203","issue":"10","issued":{"date-parts":[[2012,10,17]]},"language":"en","page":"e47141","publisher":"Public Library of Science","source":"PLoS Journals","title":"The Speed of Range Shifts in Fragmented Landscapes","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0047141","volume":"7"}, - {"id":"hodgsonSpeedRangeShifts2012a","abstract":"Species may be driven extinct by climate change, unless their populations are able to shift fast enough to track regions of suitable climate. Shifting will be faster as the proportion of suitable habitat in the landscape increases. However, it is not known how the spatial arrangement of habitat will affect the speed of range advance, especially when habitat is scarce, as is the case for many specialist species. We develop methods for calculating the speed of advance that are appropriate for highly fragmented, stochastic systems. We reveal that spatial aggregation of habitat tends to reduce the speed of advance throughout a wide range of species parameters: different dispersal distances and dispersal kernel shapes, and high and low extinction probabilities. In contrast, aggregation increases the steady-state proportion of habitat that is occupied (without climate change). Nonetheless, we find that it is possible to achieve both rapid advance and relatively high patch occupancy when the habitat has a “channeled” pattern, resembling corridors or chains of stepping stones. We adapt techniques from electrical circuit theory to predict the rate of advance efficiently for complex, realistic landscape patterns, whereas the rate cannot be predicted by any simple statistic of aggregation or fragmentation. Conservationists are already advocating corridors and stepping stones as important conservation tools under climate change, but they are vaguely defined and have so far lacked a convincing basis in fundamental population biology. Our work shows how to discriminate properties of a landscape's spatial pattern that affect the speed of colonization (including, but not limited to, patterns like corridors and chains of stepping stones), and properties that affect a species' probability of persistence once established. We can therefore point the way to better land use planning approaches, which will provide functional habitat linkages and also maintain local population viability.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hodgson","given":"Jenny A."},{"family":"Thomas","given":"Chris D."},{"family":"Dytham","given":"Calvin"},{"family":"Travis","given":"Justin M. J."},{"family":"Cornell","given":"Stephen J."}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0047141","ISSN":"1932-6203","issue":"10","issued":{"date-parts":[[2012,10,17]]},"language":"en","page":"e47141","publisher":"Public Library of Science","source":"PLoS Journals","title":"The Speed of Range Shifts in Fragmented Landscapes","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0047141","volume":"7"}, - {"id":"hoegh-guldbergAssistedColonizationRapid2008","abstract":"Moving species outside their historic ranges may mitigate loss of biodiversity in the face of global climate change.\nMoving species outside their historic ranges may mitigate loss of biodiversity in the face of global climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hoegh-Guldberg","given":"O."},{"family":"Hughes","given":"L."},{"family":"McIntyre","given":"S."},{"family":"Lindenmayer","given":"D. B."},{"family":"Parmesan","given":"C."},{"family":"Possingham","given":"H. P."},{"family":"Thomas","given":"C. D."}],"container-title":"Science","DOI":"10.1126/science.1157897","ISSN":"0036-8075, 1095-9203","issue":"5887","issued":{"date-parts":[[2008,7,18]]},"language":"en","page":"345-346","PMID":"18635780","publisher":"American Association for the Advancement of Science","section":"Policy Forum","source":"science.sciencemag.org","title":"Assisted Colonization and Rapid Climate Change","type":"article-journal","URL":"https://science.sciencemag.org/content/321/5887/345","volume":"321"}, - {"id":"hoffmannClimateChangeEvolutionary2011","abstract":"Natural populations are responding to global climate change by shifting their geographical distribution and the timing of their growth and reproduction, but for many species, such responses are likely to be inadequate to counter the speed and magnitude of climate change. Can evolutionary change help their cause? Ary Hoffmann and Carla Sgrò review the evidence for evolutionary adaptation in response to recent climate change and consider the implications for population and ecosystem management.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hoffmann","given":"Ary A."},{"family":"Sgrò","given":"Carla M."}],"container-title":"Nature","DOI":"10.1038/nature09670","ISSN":"1476-4687","issue":"7335","issued":{"date-parts":[[2011,2]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Reviews\nSubject_term: Climate-change adaptation;Genetic variation\nSubject_term_id: climate-change-adaptation;genetic-variation","number":"7335","page":"479-485","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Climate change and evolutionary adaptation","type":"article-journal","URL":"https://www.nature.com/articles/nature09670","volume":"470"}, - {"id":"holtEvolutionaryEcologySpecies2003","abstract":"A species' range limits may shift in space either because of changes in ecological factors (e.g. climate, the abundances of interacting species) or because the traits which influence range limits (e.g. dispersal, niche characteristics) evolve by natural selection. In Geographical Ecology, Robert MacArthur (1972) provided a synthesis of the evolutionary factors that may drive range dynamics. In this paper, I revisit this theme in the light of recent theoretical studies of evolution in heterogeneous environments. These studies suggest that a rich range of evolutionary patterns in species' ranges may occur, including expansions or contractions, leading to dynamism in ranges even in epochs without strong directional environmental change.","author":[{"family":"Holt","given":"R."}],"container-title":"Evolutionary Ecology Research","container-title-short":"Evolutionary Ecology Research","issued":{"date-parts":[[2003,2,1]]},"page":"159-178","source":"ResearchGate","title":"On the evolutionary ecology of species' ranges","type":"article-journal","volume":"5"}, - {"id":"holtTheoreticalModelsSpecies2005","abstract":"The range of potential mechanisms limiting species' distributions in space is nearly as varied and complex as the diversity of life itself. Yet viewed abstractly, a species' border is a geographic manifestation of a species' demographic responses to a spatially and temporally varying world. Population dynamic models provide insight into the different routes by which range limits can arise owing to gradients in demographic rates. In a metapopulation context, for example, range limits may be caused by gradients in extinction rates, colonization rates or habitat availability. We have consider invasion models in uniform and heterogeneous environments as a framework for understanding non-equilibrium range limits, and explore conditions under which invasions may cease to spread leaving behind a stationary range limit. We conclude that non-equilibrial range dynamics need further theoretical and empirical attention.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Holt","given":"Robert D."},{"family":"Keitt","given":"Timothy H."},{"family":"Lewis","given":"Mark A."},{"family":"Maurer","given":"Brian A."},{"family":"Taper","given":"Mark L."}],"container-title":"Oikos","DOI":"10.1111/j.0030-1299.2005.13147.x","ISSN":"1600-0706","issue":"1","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0030-1299.2005.13147.x","page":"18-27","source":"Wiley Online Library","title":"Theoretical models of species’ borders: single species approaches","title-short":"Theoretical models of species’ borders","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.0030-1299.2005.13147.x","volume":"108"}, - {"id":"holyoakTrendsMissingParts2008","abstract":"Movement is important to all organisms, and accordingly it is addressed in a huge number of papers in the literature. Of nearly 26,000 papers referring to movement, an estimated 34% focused on movement by measuring it or testing hypotheses about it. This enormous amount of information is difficult to review and highlights the need to assess the collective completeness of movement studies and identify gaps. We surveyed 1,000 randomly selected papers from 496 journals and compared the facets of movement studied with a suggested framework for movement ecology, consisting of internal state (motivation, physiology), motion and navigation capacities, and external factors (both the physical environment and living organisms), and links among these components. Most studies simply measured and described the movement of organisms without reference to ecological or internal factors, and the most frequently studied part of the framework was the link between external factors and motion capacity. Few studies looked at the effects on movement of navigation capacity, or internal state, and those were mainly from vertebrates. For invertebrates and plants most studies were at the population level, whereas more vertebrate studies were conducted at the individual level. Consideration of only population-level averages promulgates neglect of between-individual variation in movement, potentially hindering the study of factors controlling movement. Terminology was found to be inconsistent among taxa and subdisciplines. The gaps identified in coverage of movement studies highlight research areas that should be addressed to fully understand the ecology of movement.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Holyoak","given":"Marcel"},{"family":"Casagrandi","given":"Renato"},{"family":"Nathan","given":"Ran"},{"family":"Revilla","given":"Eloy"},{"family":"Spiegel","given":"Orr"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0800483105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19060-19065","PMID":"19060194","publisher":"National Academy of Sciences","section":"Review","source":"www.pnas.org","title":"Trends and missing parts in the study of movement ecology","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19060","volume":"105"}, - {"id":"hovestadtAllInterpatchMovements2011","abstract":"1. In times of ongoing habitat fragmentation, the persistence of many species is determined by their dispersal abilities. Consequently, understanding the rules underlying movement between habitat patches is a key issue in conservation ecology. 2. We have analysed mark-release-recapture (MRR) data on inter-patches movements of the Dusky Large Blue butterfly Maculinea nausithous in a fragmented landscape in northern Bavaria, Germany. The aim of the analysis was to quantify distance dependence of dispersal as well as to evaluate the effect of target patch area on immigration probability. For statistical evaluation, we apply a 'reduced version' of the virtual migration model (VM), only fitting parameters for dispersal distance and immigration. In contrast to other analyses, we fit a mixed dispersal kernel to the MRR data. 3. A large fraction of recaptures happened in other habitat patches than those where individuals were initially caught. Further, we found significant evidence for the presence of a mixed dispersal kernel. The results indicate that individuals follow different strategies in their movements. Most movements are performed over small distances, nonetheless involving travelling between nearby habitat patches (median distance c. 480 m). A small fraction (c. 0·025) of the population has a tendency to move over larger distances (median distance c. 3800 m). Further, immigration was positively affected by patch area (IâĽA(ζ) ), with the scaling parameter ζ = 0·5. 4. Our findings should help to resolve the long-lasting dispute over the suitability of the negative exponential function vs. inverse-power one for modelling dispersal. Previous studies on various organisms found that the former typically gives better overall fit to empirical distance distributions, but that the latter better represents long-distance movement probabilities. As long-distance movements are more important for landscape-level effects and thus, e.g. for conservation-oriented analyses like PVAs, fitting inverse-power kernels has often been preferred. 5. We conclude that the above discrepancy may simply stem from the fact that recorded inter-patch movements are an outcome of two different processes: daily routine movements and genuine dispersal. Consequently, applying mixed dispersal kernels to disentangle the two processes is recommended.","author":[{"family":"Hovestadt","given":"Thomas"},{"family":"Binzenhöfer","given":"Birgit"},{"family":"Nowicki","given":"Piotr"},{"family":"Settele","given":"Josef"}],"container-title":"The Journal of Animal Ecology","container-title-short":"J Anim Ecol","DOI":"10.1111/j.1365-2656.2011.01848.x","ISSN":"1365-2656","issue":"5","issued":{"date-parts":[[2011,9]]},"language":"eng","page":"1070-1077","PMID":"21585369","source":"PubMed","title":"Do all inter-patch movements represent dispersal? A mixed kernel study of butterfly mobility in fragmented landscapes","title-short":"Do all inter-patch movements represent dispersal?","type":"article-journal","volume":"80"}, - {"id":"hovestadtEvolutionEmergenceDispersal2012","abstract":"This chapter discusses hypothetical kernels for single individuals since this kernel defines the long-term average success of a dispersal strategy, and is the ultimate target of selection; consequently, it is the appropriate definition in the context of models of dispersal. It is vital to have a detailed knowledge of dispersal kernels when predicting the expansion of invasive species, for example, or the recolonisation of sites in fragmented landscapes. The chapter starts with a definition of the term â€dispersal kernel’, as its definition is not consistent throughout the literature. There is ambiguity in certain respects. Firstly, it has been used to describe the density probability density function. Secondly, it has been used as the summary description of dispersal events for a whole population or of a single individual. Finally, it has also been used as the statistical description of real dispersal data or of a â€hypothetical’ kernel from which a single dispersal event is drawn as a random realization.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hovestadt","given":"Thomas"},{"family":"Bonte","given":"Dries"},{"family":"Dytham","given":"Calvin"},{"family":"Poethke","given":"Hans Joachim"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0016","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Evolution and emergence of dispersal kernels—a brief theoretical evaluation","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-16"}, - {"id":"hovestadtEvolutionReducedDispersal2001","abstract":"Models describing the evolution of dispersal strategies have mostly focused on the evolution of dispersal rates. Taking trees as a model for organisms with undirected, passive dispersal, we have developed an individual-based, spatially explicit simulation tool to investigate the evolution of the dispersal kernel, P(r), and its resulting cumulative seed-density distribution, D(r). Simulations were run on a variety of fractal landscapes differing in the fraction of suitable habitat and the spatial autocorrelation. Starting from a uniform D(r), evolution led to an increase in the fraction of seeds staying in the home cell, a reduction of the dispersal mortality (arrival in unsuitable habitat), and the evolution of 'fat-tailed' D(r) in autocorrelated landscapes and approximately uniform D(r) in random landscapes. The evolutionary process was characterized by long periods of stasis with a few bouts of rapid change in the dispersal rate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hovestadt","given":"T."},{"family":"Messner","given":"S."},{"family":"Poethke","given":"H. J."}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","container-title-short":"Proc Biol Sci","DOI":"10.1098/rspb.2000.1379","ISSN":"0962-8452","issue":"1465","issued":{"date-parts":[[2001,2,22]]},"page":"385-391","PMCID":"PMC1088618","PMID":"11270435","source":"PubMed Central","title":"Evolution of reduced dispersal mortality and 'fat-tailed' dispersal kernels in autocorrelated landscapes.","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1088618/","volume":"268"}, - {"id":"hovestadtInformationProcessingModels2010","abstract":"Density-dependent emigration has been recognized as a fitness enhancing strategy. Yet, especially in the modelling literature there is no consensus about how density-dependent emigration should quantitatively be incorporated into metapopulation models. In this paper we compare the performance of five different dispersal strategies (defined by the functional link between density and emigration probability). Four of these strategies are based on published functional relationships between local population density and emigration probability, one assumes density-independent dispersal. We use individual-based simulations of time-discrete metapopulation dynamics and conduct evolution experiments for a broad range of values for dispersal mortality and environmental stochasticity. For each set of these conditions we analyze the evolution of emigration rates in â€monoculture experiments’ (with only one type of dispersal strategy used by all individuals in the metapopulation) as well as in selection experiments that allow a pair-wise comparison of the performance of each functional type. We find that a single-parameter â€asymptotic threshold’ strategy – derived from the marginal value theorem – with a decelerating increase of emigration rate with increasing population density, out-competes any other strategy, i.e. density-independent emigration, a â€linear threshold’ strategy and a flexible three-parameter strategy. Only when environmental conditions select for extremely high emigration probabilities (close to one), strategies may perform approximately equally. A simple threshold strategy derived for the case of continuous population growth performs even worse than the density-independent strategy. As the functional type of the dispersal function implemented in metapopulation models may severely affect predictions concerning the survival of populations, range expansion, or community changes we clearly recommend to carefully select adequate functions to model density-dependent dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hovestadt","given":"Thomas"},{"family":"Kubisch","given":"Alexander"},{"family":"Poethke","given":"Hans-Joachim"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2009.11.005","ISSN":"0304-3800","issue":"3","issued":{"date-parts":[[2010,2,10]]},"language":"en","page":"405-410","source":"ScienceDirect","title":"Information processing in models for density-dependent emigration: A comparison","title-short":"Information processing in models for density-dependent emigration","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380009007510","volume":"221"}, - {"id":"hughesEvolutionaryTradeoffsReproduction2003","abstract":"During recent climate warming, some species have expanded their ranges northwards to keep track of climate changes. Evolutionary changes in dispersal have been demonstrated in these expanding populations and here we show that increased dispersal is associated with reduced investment in reproduction in populations of the speckled wood butterfly, Pararge aegeria. Evolutionary changes in flight versus reproduction will affect the pattern and rate of expansion at range boundaries in the future, and understanding these responses will be crucial for predicting the distribution of species in the future as climates continue to warm.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hughes","given":"Clare L."},{"family":"Hill","given":"Jane K."},{"family":"Dytham","given":"Calvin"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rsbl.2003.0049","issue":"suppl_2","issued":{"date-parts":[[2003,11,7]]},"page":"S147-S150","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Evolutionary trade-offs between reproduction and dispersal in populations at expanding range boundaries","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rsbl.2003.0049","volume":"270"}, - {"id":"hughesModellingAnalysingEvolution2007","abstract":"1. Species would be expected to shift northwards in response to current climate warming, but many are failing to do so because of fragmentation of breeding habitats. Dispersal is important for colonisation and an individual-based spatially explicit model was developed to investigate impacts of habitat availability on the evolution of dispersal in expanding populations. Model output was compared with field data from the speckled wood butterfly Pararge aegeria, which currently is expanding its range in Britain. 2. During range expansion, models simulated positive linear relationships between dispersal and distance from the seed location. This pattern was observed regardless of quantity (100% to 10% habitat availability) or distribution (random vs. gradient distribution) of habitat, although higher dispersal evolved at expanding range margins in landscapes with greater quantity of habitat and in gradient landscapes. Increased dispersal was no longer evident in any landscape once populations had reached equilibrium; dispersal values returned to those of seed populations. However, in landscapes with the least quantity of habitat, reduced dispersal (below that of seed populations) was observed at equilibrium. 3. Evolutionary changes in adult flight morphology were examined in six populations of P. aegeria along a transect from the distribution core to an expanding range margin in England (spanning a latitudinal distance of >200 km). Empirical data were in agreement with model output and showed increased dispersal ability (larger and broader thoraxes, smaller abdomens, higher wing aspect ratios) with increasing distance from the distribution core. Increased dispersal ability was evident in populations from areas colonised >30 years previously, although dispersal changes were generally evident only in females. 4. Evolutionary increases in dispersal ability in expanding populations may help species track future climate changes and counteract impacts of habitat fragmentation by promoting colonisation. However, at the highest levels of habitat loss, increased dispersal was less evident during expansion and reduced dispersal was observed at equilibrium indicating that, for many species, continued habitat fragmentation is likely to outweigh any benefits from dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Hughes","given":"Clare L."},{"family":"Dytham","given":"Calvin"},{"family":"Hill","given":"Jane K."}],"container-title":"Ecological Entomology","DOI":"10.1111/j.1365-2311.2007.00890.x","ISSN":"1365-2311","issue":"5","issued":{"date-parts":[[2007]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2311.2007.00890.x","page":"437-445","source":"Wiley Online Library","title":"Modelling and analysing evolution of dispersal in populations at expanding range boundaries","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2311.2007.00890.x","volume":"32"}, - {"id":"huntleyBioclimaticEnvelopesDynamic2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Huntley","given":"Brian"},{"family":"Barnard","given":"Phoebe"},{"family":"Altwegg","given":"Res"},{"family":"Chambers","given":"Lynda"},{"family":"Coetzee","given":"Bernard W. T."},{"family":"Gibson","given":"Lesley"},{"family":"Hockey","given":"Philip A. R."},{"family":"Hole","given":"David G."},{"family":"Midgley","given":"Guy F."},{"family":"Underhill","given":"Les G."},{"family":"Willis","given":"Stephen G."}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2009.06023.x","ISSN":"1600-0587","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.06023.x","page":"621-626","source":"Wiley Online Library","title":"Beyond bioclimatic envelopes: dynamic species' range and abundance modelling in the context of climatic change","title-short":"Beyond bioclimatic envelopes","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2009.06023.x","volume":"33"}, - {"id":"jeltschIntegratingMovementEcology2013a","abstract":"Movement of organisms is one of the key mechanisms shaping biodiversity, e.g. the distribution of genes, individuals and species in space and time. Recent technological and conceptual advances have improved our ability to assess the causes and consequences of individual movement, and led to the emergence of the new field of â€movement ecology’. Here, we outline how movement ecology can contribute to the broad field of biodiversity research, i.e. the study of processes and patterns of life among and across different scales, from genes to ecosystems, and we propose a conceptual framework linking these hitherto largely separated fields of research. Our framework builds on the concept of movement ecology for individuals, and demonstrates its importance for linking individual organismal movement with biodiversity. First, organismal movements can provide â€mobile links’ between habitats or ecosystems, thereby connecting resources, genes, and processes among otherwise separate locations. Understanding these mobile links and their impact on biodiversity will be facilitated by movement ecology, because mobile links can be created by different modes of movement (i.e., foraging, dispersal, migration) that relate to different spatiotemporal scales and have differential effects on biodiversity. Second, organismal movements can also mediate coexistence in communities, through â€equalizing’ and â€stabilizing’ mechanisms. This novel integrated framework provides a conceptual starting point for a better understanding of biodiversity dynamics in light of individual movement and space-use behavior across spatiotemporal scales. By illustrating this framework with examples, we argue that the integration of movement ecology and biodiversity research will also enhance our ability to conserve diversity at the genetic, species, and ecosystem levels.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Jeltsch","given":"Florian"},{"family":"Bonte","given":"Dries"},{"family":"Pe'er","given":"Guy"},{"family":"Reineking","given":"Björn"},{"family":"Leimgruber","given":"Peter"},{"family":"Balkenhol","given":"Niko"},{"family":"Schröder","given":"Boris"},{"family":"Buchmann","given":"Carsten M."},{"family":"Mueller","given":"Thomas"},{"family":"Blaum","given":"Niels"},{"family":"Zurell","given":"Damaris"},{"family":"Böhning-Gaese","given":"Katrin"},{"family":"Wiegand","given":"Thorsten"},{"family":"Eccard","given":"Jana A."},{"family":"Hofer","given":"Heribert"},{"family":"Reeg","given":"Jette"},{"family":"Eggers","given":"Ute"},{"family":"Bauer","given":"Silke"}],"container-title":"Movement Ecology","container-title-short":"Movement Ecology","DOI":"10.1186/2051-3933-1-6","ISSN":"2051-3933","issue":"1","issued":{"date-parts":[[2013,8,5]]},"page":"6","source":"BioMed Central","title":"Integrating movement ecology with biodiversity research - exploring new avenues to address spatiotemporal biodiversity dynamics","type":"article-journal","URL":"https://doi.org/10.1186/2051-3933-1-6","volume":"1"}, - {"id":"johstExtinctionRiskTemporally1997","abstract":"Usually extinction risk due to environmental stochasticity is estimated under the assumption of white environmental noise. This holds for a sufficiently short correlation time tauc of the fluctuations compared to the internal time scale of population growth r-1 (tauc/r-1<<1). Using a time-discrete simulation model we investigate when the white noise approximation is misleading. Environmental fluctuations are related to fluctuations of the birth and death rates of the species and the temporal correlation of these fluctuations (coloured noise) is described by a first-order autoregressive process. We found that extinction risk increases rapidly with correlation time tauc if the strength of noise is large. In this case the white noise approximation underestimates extinction risk essentially unless temporal correlation is very small (tauc/r-1<<0.1). Extinction risk increases only slowly with correlation time if the strength of noise is small. Then the white noise approximation may be used even for stronger temporal correlations (tauc/r-1>/=0.1). Thus, the estimation of extinction risk on the basis of white or coloured noise must be justified by time scale and strength of the fluctuations. Especially for species that are sensitive to environmental fluctuations the applicability of the white noise approximation should be carefully checked.","author":[{"family":"Johst","given":"K."},{"family":"Wissel","given":"C."}],"container-title":"Theoretical Population Biology","container-title-short":"Theor Popul Biol","DOI":"10.1006/tpbi.1997.1322","ISSN":"0040-5809","issue":"2","issued":{"date-parts":[[1997,10]]},"language":"eng","page":"91-100","PMID":"9356326","source":"PubMed","title":"Extinction risk in a temporally correlated fluctuating environment","type":"article-journal","volume":"52"}, - {"id":"johstMetapopulationPersistenceDynamic2002","abstract":"Species associated with transient habitats need efficient dispersal strategies to ensure their regional survival. Using a spatially explicit metapopulation model, we studied the effect of the dispersal range on the persistence of a metapopulation as a function of the local population and landscape dynamics (including habitat patch destruction and subsequent regeneration). Our results show that the impact of the dispersal range depends on both the local population and patch growth. This is due to interactions between dispersal and the dynamics of patches and populations via the number of potential dispersers. In general, long-range dispersal had a positive effect on persistence in a dynamic landscape compared to short-range dispersal. Long-range dispersal increases the number of couplings between the patches and thus the colonisation of regenerated patches. However, long-range dispersal lost its advantage for long-term persistence when the number of potential dispersers was low due to small population growth rates and/or small patch growth rates. Its advantage also disappeared with complex local population dynamics and in a landscape with clumped patch distribution.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Johst","given":"Karin"},{"family":"Brandl","given":"Roland"},{"family":"Eber","given":"Sabine"}],"container-title":"Oikos","DOI":"10.1034/j.1600-0706.2002.980208.x","ISSN":"1600-0706","issue":"2","issued":{"date-parts":[[2002]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1034/j.1600-0706.2002.980208.x","page":"263-270","source":"Wiley Online Library","title":"Metapopulation persistence in dynamic landscapes: the role of dispersal distance","title-short":"Metapopulation persistence in dynamic landscapes","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1034/j.1600-0706.2002.980208.x","volume":"98"}, - {"id":"jongejansDispersalDemographySpatial2008","abstract":"Spatial population dynamics can seldom be ignored in management aimed at conserving or controlling plant species in a spatial context. Therefore, spatial population models, that bring together knowledge about a species’ local demography and dispersal behavior, are of growing applied importance. Here, we survey increasingly complex analytical and simulation models that are being developed to describe both demography and dispersal in applied studies. Local population dynamics can be modeled in an unstructured way, by specifying age- or stage-structure or by modeling each individual. Dispersal is often summarized in population-spread models with descriptive and simple statistical models. Mechanistic models that incorporate the physical or behavioral dynamics of dispersal vectors, however, provide more insight and can more readily be applied to novel situations. Importantly, mechanistic models provide a tool for linking variation in species traits and environments to dispersal and population spread. Spatial population models span a wide range: from diffusion models, metapopulation models, integrodifference equation models, and Neubert–Caswell models, to spatially explicit individual-based models. The complexity (and biological realism) of such models often trades off with tractability: for instance, individual-based simulation models allow for unlimited incorporation of biological detail, but rarely for analytical exploration of the model dynamics. We discuss the advantages and disadvantages of these various spatial population models; the choice of the most appropriate model will depend on the management objective, the biological complexity, available data and the principle of parsimony. We present five case studies of endangered and invasive species for which spatial population models have been developed to inform management, for instance to decrease the spread rate of invasive species or to improve the regional persistence of endangered species. We also anticipate exciting new developments in both spatial analytical and spatial simulation models with increasing demographic, dispersal and spatial sophistication.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Jongejans","given":"Eelke"},{"family":"Skarpaas","given":"Olav"},{"family":"Shea","given":"Katriona"}],"collection-title":"Space matters - Novel developments in plant ecology through spatial modelling","container-title":"Perspectives in Plant Ecology, Evolution and Systematics","container-title-short":"Perspectives in Plant Ecology, Evolution and Systematics","DOI":"10.1016/j.ppees.2007.09.005","ISSN":"1433-8319","issue":"3","issued":{"date-parts":[[2008,3,6]]},"language":"en","page":"153-170","source":"ScienceDirect","title":"Dispersal, demography and spatial population models for conservation and control management","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S1433831907000467","volume":"9"}, - {"id":"keithPredictingExtinctionRisks2008","abstract":"Species responses to climate change may be influenced by changes in available habitat, as well as population processes, species interactions and interactions between demographic and landscape dynamics. Current methods for assessing these responses fail to provide an integrated view of these influences because they deal with habitat change or population dynamics, but rarely both. In this study, we linked a time series of habitat suitability models with spatially explicit stochastic population models to explore factors that influence the viability of plant species populations under stable and changing climate scenarios in South African fynbos, a global biodiversity hot spot. Results indicate that complex interactions between life history, disturbance regime and distribution pattern mediate species extinction risks under climate change. Our novel mechanistic approach allows more complete and direct appraisal of future biotic responses than do static bioclimatic habitat modelling approaches, and will ultimately support development of more effective conservation strategies to mitigate biodiversity losses due to climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Keith","given":"David A"},{"family":"Akçakaya","given":"H. Resit"},{"family":"Thuiller","given":"Wilfried"},{"family":"Midgley","given":"Guy F"},{"family":"Pearson","given":"Richard G"},{"family":"Phillips","given":"Steven J"},{"family":"Regan","given":"Helen M"},{"family":"AraĂşjo","given":"Miguel B"},{"family":"Rebelo","given":"Tony G"}],"container-title":"Biology Letters","DOI":"10.1098/rsbl.2008.0049","issue":"5","issued":{"date-parts":[[2008,10,23]]},"page":"560-563","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Predicting extinction risks under climate change: coupling stochastic population models with dynamic bioclimatic habitat models","title-short":"Predicting extinction risks under climate change","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/abs/10.1098/rsbl.2008.0049","volume":"4"}, - {"id":"kendallUnstructuredIndividualVariation2003","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kendall","given":"Bruce E."},{"family":"Fox","given":"Gordon A."}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"4","issued":{"date-parts":[[2003]]},"page":"1170-1172","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Unstructured Individual Variation and Demographic Stochasticity","type":"article-journal","URL":"https://www.jstor.org/stable/3588875","volume":"17"}, - {"id":"knowltonUsingBehavioralLandscape2010","abstract":"Climate change and habitat destruction are widely recognized as major threats to species’ survival. As a result of these anthropogenic impacts, species are often forced into novel landscapes where their persistence is difficult to predict. Knowledge of how individuals move or disperse through the landscape, choose habitat in which to settle, and produce offspring which survive to repeat the process can greatly improve our ability to predict species’ persistence. The field of behavioral landscape ecology uses a strong theoretical base to explore, often experimentally, how the behavior of a particular species is affected by heterogeneous and rapidly changing landscapes and can offer valuable insight for managing species in the face of human-induced environmental changes. When interpreted by modelers, results of landscape-level behavioral experiments can be quantified for use in predictive models. To this end, we summarize the methods and results of research using direct experimental manipulation techniques broken into the following categories: translocations, playback experiments, food resource manipulations, manipulations of reproductive success, direct manipulations of the landscape, and manipulations of predation risk. We review and place in a theoretical framework the results from this emerging body of research regarding how organisms move in and respond to different types of landscapes, both natural and human-altered. We go onto highlight the potential of each experimental method to quantify different processes, which may be useful when interpreted by modelers attempting to parameterize predictive models. Finally, we suggest future directions for experimental research that will allow for greater integration of behavioral landscape ecology and predictive modeling.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Knowlton","given":"Jessie L."},{"family":"Graham","given":"Catherine H."}],"container-title":"Biological Conservation","container-title-short":"Biological Conservation","DOI":"10.1016/j.biocon.2010.03.011","ISSN":"0006-3207","issue":"6","issued":{"date-parts":[[2010,6,1]]},"language":"en","page":"1342-1354","source":"ScienceDirect","title":"Using behavioral landscape ecology to predict species’ responses to land-use and climate change","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S000632071000100X","volume":"143"}, - {"id":"kokkoIndividualDispersalSpecies2006","abstract":"Dispersal is often risky to the individual, yet the long-term survival of populations depends on having a sufficient number of individuals that move, find each other, and locate suitable breeding habitats. This tension has consequences that rarely meet our conservation or management goals. This is particularly true in changing environments, which makes the study of dispersal urgently topical in a world plagued with habitat loss, climate change, and species introductions. Despite the difficulty of tracking mobile individuals over potentially vast ranges, recent research has revealed a multitude of ways in which dispersal evolution can either constrain, or accelerate, species' responses to environmental changes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kokko","given":"Hanna"},{"family":"LĂłpez-Sepulcre","given":"AndrĂ©s"}],"container-title":"Science","DOI":"10.1126/science.1128566","ISSN":"0036-8075, 1095-9203","issue":"5788","issued":{"date-parts":[[2006,8,11]]},"language":"en","page":"789-791","PMID":"16902127","publisher":"American Association for the Advancement of Science","section":"Special Perspectives","source":"science.sciencemag.org","title":"From Individual Dispersal to Species Ranges: Perspectives for a Changing World","title-short":"From Individual Dispersal to Species Ranges","type":"article-journal","URL":"https://science.sciencemag.org/content/313/5788/789","volume":"313"}, - {"id":"kramer-schadtFragmentedLandscapesRoad2004","abstract":"1 Although many reintroduction schemes for the Eurasian lynx Lynx lynx in Germany have been discussed, the implications of connectivity between suitable patches have not been assessed. 2 We introduce an individual-based, spatially explicit dispersal model to assess the probability of a dispersing animal reaching another suitable patch in the complex heterogeneous German landscape, with its dense transport system. The dispersal model was calibrated using telemetric data from the Swiss Jura and based on a map of potential lynx dispersal habitat. 3 Most suitable patches could be interconnected by movements of dispersing lynx within 10 years of reintroduction. However, when realistic levels of mortality risks on roads were applied, most patches become isolated except along the German–Czech border. Consequently, patch connectivity is limited not so much by the distribution of dispersal habitat but by the high mortality of dispersing lynx. Accordingly, rather than solely investing in habitat restoration, management efforts should try to reduce road mortality. 4 Synthesis and applications. Our approach illustrates how spatially explicit dispersal models can guide conservation efforts and reintroduction programmes even where data are scarce. Clear limits imposed by substantial road mortality will affect dispersing lynx as well as other large carnivores, unless offset by careful road-crossing management or by the careful selection of release points in reintroduction programmes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kramer-Schadt","given":"Stephanie"},{"family":"Revilla","given":"Eloy"},{"family":"Wiegand","given":"Thorsten"},{"family":"Breitenmoser","given":"Urs"}],"container-title":"Journal of Applied Ecology","DOI":"10.1111/j.0021-8901.2004.00933.x","ISSN":"1365-2664","issue":"4","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8901.2004.00933.x","page":"711-723","source":"Wiley Online Library","title":"Fragmented landscapes, road mortality and patch connectivity: modelling influences on the dispersal of Eurasian lynx","title-short":"Fragmented landscapes, road mortality and patch connectivity","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.0021-8901.2004.00933.x","volume":"41"}, - {"id":"krosbyEcologicalConnectivityChanging2010a","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"KROSBY","given":"MEADE"},{"family":"TEWKSBURY","given":"JOSHUA"},{"family":"HADDAD","given":"NICK M."},{"family":"HOEKSTRA","given":"JONATHAN"}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"6","issued":{"date-parts":[[2010]]},"page":"1686-1689","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Ecological Connectivity for a Changing Climate","type":"article-journal","URL":"https://www.jstor.org/stable/40925337","volume":"24"}, - {"id":"kubischDensitydependentDispersalFormation2011","abstract":"Knowledge about the mechanisms of range formation is crucial for scientifically based species conservation strategies in the face of ongoing global climate change. In recent years an increasing amount of studies have focused on the influences of density-dependent dispersal on demographic and biogeographical patterns. However, it still remains unclear, to what extent and in what ways this strategy would affect the range formation of species. In order to fill this gap, we present a study using individual-based simulations of a species with discrete generations living along a dispersal mortality gradient. We compare the evolution of range sizes for species following density-dependent and density-independent emigration. Furthermore we assess the influence of environmental stochasticity and Allee effects on range formation, as both processes are known to play an important role for dispersal evolution. We find that density-dependent dispersal always results in much wider ranges than unconditional dispersal. Increasing environmental stochasticity, a predicted consequence of climate change, can remarkably expand the ranges of species living in such connectivity gradients if dispersal decisions are based on local population density. A strong Allee effect causes range contraction for both strategies, but the effect is considerably less dramatic under density-dependent compared to density-independent emigration. We strongly recommend accounting for these findings in future attempts to model species' range shifts due to climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kubisch","given":"Alexander"},{"family":"Poethke","given":"Hans-Joachim"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"Ecography","ISSN":"0906-7590","issue":"6","issued":{"date-parts":[[2011]]},"page":"1002-1008","publisher":"Wiley","source":"JSTOR","title":"Density-dependent dispersal and the formation of range borders","type":"article-journal","URL":"https://www.jstor.org/stable/41315778","volume":"34"}, - {"id":"kubischElasticityRangeLimits2010","abstract":"Dispersal is known to play a crucial role in the formation of species' ranges. Recent studies demonstrate that dispersiveness increases rapidly during the range expansion of species due to a fitness increase for dispersers at the expanding front. R. D. Holt concluded, however, that emigration should decline after the period of invasion and hence predicted some range contraction following the initial expansion phase. In this study, we evaluate this hypothesis using a spatially explicit individual-based model of populations distributed along environmental gradients. In our experiments we allow the species to spread along a gradient of declining conditions. Results show that range contraction did emerge in a gradient of dispersal mortality, caused by the rapid increase in emigration probability during invasion and selection disfavoring dispersal, once a stable range is formed. However, gradients in growth rate, local extinction rate, and patch capacity did not lead to a noticeable contraction of the range. We conclude, that the phenomenon of range contraction may emerge, but only under conditions that select for a reduction in dispersal at the range edge in comparison to the core region once the expansion period is over.","author":[{"family":"Kubisch","given":"Alexander"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans-Joachim"}],"container-title":"Ecology","container-title-short":"Ecology","DOI":"10.1890/09-2022.1","ISSN":"0012-9658","issue":"10","issued":{"date-parts":[[2010,10]]},"language":"eng","page":"3094-3099","PMID":"21058568","source":"PubMed","title":"On the elasticity of range limits during periods of expansion","type":"article-journal","volume":"91"}, - {"id":"kubischPredictingRangeShifts2013","abstract":"Bioclimate envelope models (BEMs) have often been criticized as being too simplistic due to e.g. not incorporating effects of biotic interactions or evolutionary adaptation. However, BEMs are widely applied and have proven to be often useful. Here we investigate, under which conditions evolution of dispersal, local adaptation or interspecific competition may be of minor importance for forecasting future range shifts. Therefore we use individual-based simulations of metapopulations under climate change living in spatial temperature gradients. Scenarios incorporate single-species systems or systems with competing species, respectively. Dispersal rate is evolving and adaptation to local conditions may also evolve in some scenarios. Results show that in single-species scenarios excluding evolutionary adaptation, species either follow optimal habitat conditions or go extinct if habitat connectivity is too low. These simulations are in close accordance to predictions from BEMs. Including evolutionary adaptation qualitatively changes these results. In the absence of competing species the species either completely invades the world or goes extinct. With competitors, results strongly depend on habitat fragmentation. For highly connected habitats the range border may shift as predicted by BEMs, for intermediate connectivity it will lag behind, while species will go extinct if fragmentation is too high. Our results indicate that (simple) BEMs may work well if habitats are well connected and species will not encounter many difficulties in dispersing to new sites. Selection in this case may promote evolution of even higher dispersal activities. We thus show that the presence of biotic interactions may be ignored for predictions of range shifts when high dispersal can be expected.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kubisch","given":"Alexander"},{"family":"Degen","given":"Tobias"},{"family":"Hovestadt","given":"Thomas"},{"family":"Poethke","given":"Hans Joachim"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2012.00062.x","ISSN":"1600-0587","issue":"8","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2012.00062.x","page":"873-882","source":"Wiley Online Library","title":"Predicting range shifts under global change: the balance between local adaptation and dispersal","title-short":"Predicting range shifts under global change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2012.00062.x","volume":"36"}, - {"id":"kubischRangeBorderFormation2011","abstract":"Questions: How will a change in climatic conditions characterized by an increase in the variance of environmental conditions affect the distribution of species along spatial environmental gradients? How does the specific type of gradient influence their response? Features of the model: Spatially explicit individual-based simulation of a metapopulation. Logistic population growth and density-dependent emigration. Spatial gradients in habitat isolation, quality, and size. Ranges of the key variables: Environmental stochasticity was modelled as a variation of net reproductive rate (lambda). For a mean reproductive rate of lambda = 2, the standard deviation (sigma) was varied in the range of 0 to 3. Conclusions: When the range margin was predominantly determined by a lack of colonizers, ranges initially expanded with increasing environmental fluctuations, but contracted again when these fluctuations became too strong (sigma textgreater 1). When extinction risk was more important for range formation, the initial expansion was damped or completely absent. When the climate changed too fast to allow for local adaptation of dispersal behaviour, the described patterns were less pronounced.","author":[{"family":"Kubisch","given":"Alexander"},{"family":"Poethke","given":"Hans"}],"container-title":"Evolutionary Ecology Research","container-title-short":"Evolutionary Ecology Research","issued":{"date-parts":[[2011,2,1]]},"page":"159–169","source":"ResearchGate","title":"Range border formation in a world with increasing climatic variance","type":"article-journal","volume":"13"}, - {"id":"kunEvolutionDensityDependentDispersal2006","abstract":"It is well-known that dispersal is advantageous in many different ecological situations, e.g. to survive local catastrophes where populations live in spatially and temporally heterogeneous habitats. However, the key question, what kind of dispersal strategy is optimal in a particular situation, has remained unanswered. We studied the evolution of density-dependent dispersal in a coupled map lattice model, where the population dynamics are perturbed by external environmental noise. We used a very flexible dispersal function to enable evolution to select from practically all possible types of monotonous density-dependent dispersal functions. We treated the parameters of the dispersal function as continuously changing phenotypic traits. The evolutionary stable dispersal strategies were investigated by numerical simulations. We pointed out that irrespective of the cost of dispersal and the strength of environmental noise, this strategy leads to a very weak dispersal below a threshold density, and dispersal rate increases in an accelerating manner above this threshold. Decreasing the cost of dispersal increases the skewness of the population density distribution, while increasing the environmental noise causes more pronounced bimodality in this distribution. In case of positive temporal autocorrelation of the environmental noise, there is no dispersal below the threshold, and only low dispersal below it, on the other hand with negative autocorrelation practically all individual disperses above the threshold. We found our results to be in good concordance with empirical observations.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Kun","given":"Ădám"},{"family":"Scheuring","given":"István"}],"container-title":"Oikos","ISSN":"0030-1299","issue":"2","issued":{"date-parts":[[2006]]},"page":"308-320","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"The Evolution of Density-Dependent Dispersal in a Noisy Spatial Population Model","type":"article-journal","URL":"https://www.jstor.org/stable/40235281","volume":"115"}, - {"id":"lambinHighConnectivityHigh2012","abstract":"This chapter reviews published and unpublished studies on dispersal by water voles inhabiting fragmented habitats and organized as metapopulations. Studies of dispersal that have checked the consistency of pattern emerging at behavioural, individual, and population scale are rare or altogether lacking. This chapter describes how inferences have been drawn from exceptionally large-scale, but largely descriptive, studies of dispersal through the use of molecular markers, combined with small-scale individual-level experiments. These studies reveal a high degree of connectivity through dispersal between geographically isolated water vole colonies. Experiments with â€enforced dispersers’ show how water vole behaviour during the transience phase of dispersal might bring this about, if dispersal takes place over a long time through multiple stepping-stone movements.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lambin","given":"Xavier"},{"family":"Bouille","given":"Diane Le"},{"family":"Oliver","given":"Matthew K"},{"family":"Sutherland","given":"Chris"},{"family":"Tedesco","given":"Edoardo"},{"family":"Douglas","given":"Alex"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0032","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"High connectivity despite high fragmentation: iterated dispersal in a vertebrate metapopulation","title-short":"High connectivity despite high fragmentation","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-32"}, - {"id":"landeEstimatingDensityDependence2006","abstract":"Abstract: Population fluctuations are caused by demographic and environmental stochasticity, time lags due to life history, and density dependence. We model a general life history allowing density dependence within and among age or stage classes in a population undergoing small or moderate fluctuations around a stable equilibrium. We develop a method for estimating the overall strength of density dependence measured by the rate of return toward equilibrium, and we also consider a simplified population description and forecasting using the densityâ€dependent reproductive value. This generality comes at the cost of requiring a time series of the population age or stage structure instead of a univariate time series of adult or total population size. The method is illustrated by analyzing the dynamics of a fully censused population of red deer (Cervus elaphus) based on annual fluctuations of age structure through 21 years.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lande","given":"Russell"},{"family":"Engen","given":"Steinar"},{"family":"Sæther","given":"Berntâ€Erik"},{"family":"Coulson","given":"Tim"},{"family":"Solow","given":"Associate Editor: Andrew R."},{"family":"DeAngelis","given":"Editor: Donald L."}],"container-title":"The American Naturalist","DOI":"10.1086/504851","ISSN":"0003-0147","issue":"1","issued":{"date-parts":[[2006]]},"page":"76-87","publisher":"[The University of Chicago Press, The American Society of Naturalists]","source":"JSTOR","title":"Estimating Density Dependence from Time Series of Population Age Structure","type":"article-journal","URL":"https://www.jstor.org/stable/10.1086/504851","volume":"168"}, - {"id":"lawsonhandleyAdvancesOurUnderstanding2007","abstract":"Sex-biased dispersal is an almost ubiquitous feature of mammalian life history, but the evolutionary causes behind these patterns still require much clarification. A quarter of a century since the publication of seminal papers describing general patterns of sex-biased dispersal in both mammals and birds, we review the advances in our theoretical understanding of the evolutionary causes of sex-biased dispersal, and those in statistical genetics that enable us to test hypotheses and measure dispersal in natural populations. We use mammalian examples to illustrate patterns and proximate causes of sex-biased dispersal, because by far the most data are available and because they exhibit an enormous diversity in terms of dispersal strategy, mating and social systems. Recent studies using molecular markers have helped to confirm that sex-biased dispersal is widespread among mammals and varies widely in direction and intensity, but there is a great need to bridge the gap between genetic information, observational data and theory. A review of mammalian data indicates that the relationship between direction of sex-bias and mating system is not a simple one. The role of social systems emerges as a key factor in determining intensity and direction of dispersal bias, but there is still need for a theoretical framework that can account for the complex interactions between inbreeding avoidance, kin competition and cooperation to explain the impressive diversity of patterns.","author":[{"family":"Lawson Handley","given":"L. J."},{"family":"Perrin","given":"N."}],"container-title":"Molecular Ecology","container-title-short":"Mol Ecol","DOI":"10.1111/j.1365-294X.2006.03152.x","ISSN":"0962-1083","issue":"8","issued":{"date-parts":[[2007,4]]},"language":"eng","page":"1559-1578","PMID":"17402974","source":"PubMed","title":"Advances in our understanding of mammalian sex-biased dispersal","type":"article-journal","volume":"16"}, - {"id":"legalliardDispersalRangeDynamics2012","abstract":"This chapter presents an attempt to summarize existing results and methods in the development of predictive models of ecological responses to climate change, with the aim of highlighting existing patterns and trends in the current data, the most important knowledge gaps, and some fruitful avenues for future research. It highlights the urgent need for a good understanding of the effects of climate change on dispersal. Global climate changes, in fact, have been responsible for the growing awareness and recent surge of interest in studies of dispersal aimed at understanding and predicting the ecological effects of climate change. One of the most common ecological responses to climate change involves range or habitat shifts due to spatial expansions at the cool range margins and spatial retractions at the warm range margins.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Le Galliard","given":"Jean François Le"},{"family":"Massot","given":"Manuel"},{"family":"Clobert","given":"Jean"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0025","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal and range dynamics in changing climates: a review","title-short":"Dispersal and range dynamics in changing climates","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-25"}, - {"id":"legalliardPatternsProcessesDispersal2012","abstract":"A good understanding of mammalian societies requires measuring patterns and comprehending processes of dispersal in each sex. We investigated dispersal behaviour in arvicoline rodents, a subfamily of mammals widespread in northern temperate environments and characterized by a multivoltine life cycle. In arvicoline rodents, variation in life history strategies occurs along a continuum from precocial to delayed maturation that reflects seasonal and ecological fluctuations. We compared dispersal across and within species focusing on the effects of external (condition-dependent) and internal (phenotype-dependent) factors. Our data revealed substantial, unexplained variation between species for dispersal distances and a strong variation within species for both dispersal distance and fraction. Some methodological aspects explained variation across studies, which cautions against comparisons that do not control for them. Overall, the species under consideration display frequent short-distance dispersal events and extremely flexible dispersal strategies, but they also have hitherto unexpected capacity to disperse long distances. Female arvicolines are predominantly philopatric relative to males, but we found no clear association between the mating system and the degree of sex bias in dispersal across species. Dispersal is a response to both various proximate and ultimate factors, including competition, inbreeding avoidance, mate searching and habitat quality. In particular, our review suggests that costs and benefits experienced during transience and settlement are prime determinants of condition dependence. Patterns of phenotype-dependent dispersal are idiosyncratic, except for a widespread association between an exploration/activity syndrome and natal dispersal. Consequences for population dynamics and genetic structures are discussed.","author":[{"family":"Le Galliard","given":"Jean-François"},{"family":"RĂ©my","given":"Alice"},{"family":"Ims","given":"Rolf A."},{"family":"Lambin","given":"Xavier"}],"container-title":"Molecular Ecology","container-title-short":"Mol Ecol","DOI":"10.1111/j.1365-294X.2011.05410.x","ISSN":"1365-294X","issue":"3","issued":{"date-parts":[[2012,2]]},"language":"eng","page":"505-523","PMID":"22211403","source":"PubMed","title":"Patterns and processes of dispersal behaviour in arvicoline rodents","type":"article-journal","volume":"21"}, - {"id":"legendreAgeStructureMating2004","abstract":"IntroductionThe fate of populations depends on the life-history traits of the species and possible adaptive changes in these traits in response to selective pressure. In unstructured population models, life-history traits are compounded into few parameters, like the intrinsic growth rate r and the carrying capacity K (see Chapter 2). Structured population models, based on life-cycle graphs, allow the effects of specific life-history traits (survival rates, fecundities, generation time, age at maturity) on population dynamics to be investigated. For example, sensitivities of the growth rate to changes in life-cycle transitions can be computed. Individual life-history traits are important determinants of a population's extinction risk, and are also both factors in and targets of a population's adaptive response to environmental change.When population size is small – always a concern in conservation biology – both individual life-history traits and the structure of interactions between individuals and the genetic system are expected to influence viability. The mating system, for example, may be conducive to an Allee effect (see Chapter 2), and inbreeding depression is a potentially important factor of the extinction process of small populations. In this chapter, we study the interplay between population structure, in terms of age and sex, and population persistence. Two-sex structured models that incorporate specific features of the social mating system and possible differences in male and female life cycles are analyzed. Also, attempts to merge genetic factors and demography into integrated models are presented.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Legendre","given":"StĂ©phane"}],"collection-title":"Cambridge Studies in Adaptive Dynamics","container-title":"Evolutionary Conservation Biology","DOI":"10.1017/CBO9780511542022.005","editor":[{"family":"Couvet","given":"Denis"},{"family":"Ferrière","given":"RĂ©gis"},{"family":"Dieckmann","given":"Ulf"}],"event-place":"Cambridge","ISBN":"978-0-521-82700-3","issued":{"date-parts":[[2004]]},"page":"41-58","publisher":"Cambridge University Press","publisher-place":"Cambridge","source":"Cambridge University Press","title":"Age Structure, Mating System, and Population Viability","type":"chapter","URL":"https://www.cambridge.org/core/books/evolutionary-conservation-biology/age-structure-mating-system-and-population-viability/D1CC2D39E906307B2189468AA0FA716C"}, - {"id":"lenoirSignificantUpwardShift2008","abstract":"Spatial fingerprints of climate change on biotic communities are usually associated with changes in the distribution of species at their latitudinal or altitudinal extremes. By comparing the altitudinal distribution of 171 forest plant species between 1905 and 1985 and 1986 and 2005 along the entire elevation range (0 to 2600 meters above sea level) in west Europe, we show that climate warming has resulted in a significant upward shift in species optimum elevation averaging 29 meters per decade. The shift is larger for species restricted to mountain habitats and for grassy species, which are characterized by faster population turnover. Our study shows that climate change affects the spatial core of the distributional range of plant species, in addition to their distributional margins, as previously reported.\nA 100-year survey shows that the optimal elevations for growth of plant species in European temperate forests have shifted upward by about 30 meters per decade.\nA 100-year survey shows that the optimal elevations for growth of plant species in European temperate forests have shifted upward by about 30 meters per decade.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lenoir","given":"J."},{"family":"GĂ©gout","given":"J. C."},{"family":"Marquet","given":"P. A."},{"family":"Ruffray","given":"P.","dropping-particle":"de"},{"family":"Brisse","given":"H."}],"container-title":"Science","DOI":"10.1126/science.1156831","ISSN":"0036-8075, 1095-9203","issue":"5884","issued":{"date-parts":[[2008,6,27]]},"language":"en","page":"1768-1771","PMID":"18583610","publisher":"American Association for the Advancement of Science","section":"Report","source":"science.sciencemag.org","title":"A Significant Upward Shift in Plant Species Optimum Elevation During the 20th Century","type":"article-journal","URL":"https://science.sciencemag.org/content/320/5884/1768","volume":"320"}, - {"id":"lesserContributionsLongdistanceDispersal2013","abstract":"Long-distance dispersal is an integral part of plant species migration and population development. We aged and genotyped 1125 individuals in four disjunct populations of Pinus ponderosa that were initially established by long-distance dispersal in the 16th and 17th centuries. Parentage analysis was used to determine if individuals were the product of local reproductive events (two parents present), long-distance pollen dispersal (one parent present) or long-distance seed dispersal (no parents present). All individuals established in the first century at each site were the result of long-distance dispersal. Individuals reproduced at younger ages with increasing age of the overall population. These results suggest Allee effects, where populations were initially unable to expand on their own, and were dependent on long-distance dispersal to overcome a minimum-size threshold. Our results demonstrate that long-distance dispersal was not only necessary for initial colonisation but also to sustain subsequent population growth during early phases of expansion.","author":[{"family":"Lesser","given":"Mark R."},{"family":"Jackson","given":"Stephen T."}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/ele.12053","ISSN":"1461-0248","issue":"3","issued":{"date-parts":[[2013,3]]},"language":"eng","page":"380-389","PMID":"23279647","source":"PubMed","title":"Contributions of long-distance dispersal to population growth in colonising Pinus ponderosa populations","type":"article-journal","volume":"16"}, - {"id":"limaBehavioralEcologyEcological1996","abstract":"Recent developments in landscape-level ecological modeling rest upon poorly understood behavioral phenomena. Surprisingly, these phenomena include animal movement and habitat selection, two areas with a long history of study in behavioral ecology. A major problem in applying traditional behavioral ecology to landscape-level ecological problems is that ecologists and behaviorists work at very different spatial scales. Thus a behavioral ecology of ecological landscapes would strive to overcome this inopportune differential in spatial scales. Such a landscape-conscious behavioral undertaking would not only establish more firmly the link between behavior and ecological systems, but also catalyze the study of basic biological phenomena of Interest to behaviorists and ecologists alike.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lima","given":"Steven L."},{"family":"Zollner","given":"Patrick A."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/0169-5347(96)81094-9","ISSN":"0169-5347","issue":"3","issued":{"date-parts":[[1996,3,1]]},"language":"en","page":"131-135","source":"ScienceDirect","title":"Towards a behavioral ecology of ecological landscapes","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/0169534796810949","volume":"11"}, - {"id":"lindstromSexualReproductionPopulation1998","abstract":"Most models of population dynamics do not take sexual reproduction into account (i.e. they do not consider the role of males). However, assumptions behind this practice—that no demographic sex differences exist and males are always abundant enough to fertilize all the females—are usually not justified in natural populations. On the contrary, demographic sex differences are common, especially in polygynous species. Previous models that consider sexual reproduction report a stabilizing effect through mixing of different genotypes, thus suggesting a decrease in the propensity for complex dynamics in sexually reproducing populations. Here we show that considering the direct role of males in reproduction and density dependence leads to the conclusion that a two–sex model is not necessarily more stable compared with the corresponding one–sex model. Although solutions exist where sexual reproduction has a stabilizing effect even when no genotypic variability is included (primarily when associated with monogamy), factors like polygyny, sex differences in survival or density dependence, and possible alterations of the primary sex ratio (the Trivers–Willard mechanism), may enlarge the parametric region of complex dynamics. Sexual reproduction therefore does not necessarily increase the stability of population dynamics and can have destabilizing effects, at least in species with complicated mating systems and sexual dimorphism.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Lindström","given":"Jan"},{"family":"Kokko","given":"Hanna"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.1998.0320","issue":"1395","issued":{"date-parts":[[1998,3,22]]},"page":"483-488","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Sexual reproduction and population dynamics: the role of polygyny and demographic sex differences","title-short":"Sexual reproduction and population dynamics","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.1998.0320","volume":"265"}, - {"id":"loarieVelocityClimateChange2009","abstract":"In the event of climate change, species have to move if they are to remain in an area with the same average temperature: their chances of survival therefore depend on the ability to keep pace with a moving climate as well as on the extent of change in temperature and other climate factors. To put this pressure on species into context, a novel index designed to quantify climate change in the coming century has been developed. Its value gives the local velocity along the Earth's surface needed to maintain constant temperatures, and is derived from temperature gradients scaled by distance (°C per km) and time (°C per year). The index provides a quantitative view of the role of topography in buffering climate change as it would affect plants and animals: on the IPCC's A1B emission scenario the index has a global mean of 0.42 km per year, compared to extremes of 0.08 and 1.26 km per year for mountains forest biomes and flooded grasslands, respectively. Climate change velocity, it turns out, is large relative to species migration speeds and the sizes of protected habitats. The data suggest that, in some ecosystems, helping species to relocate more rapidly via habitat corridors or new reserves could be an important contribution to conservation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Loarie","given":"Scott R."},{"family":"Duffy","given":"Philip B."},{"family":"Hamilton","given":"Healy"},{"family":"Asner","given":"Gregory P."},{"family":"Field","given":"Christopher B."},{"family":"Ackerly","given":"David D."}],"container-title":"Nature","DOI":"10.1038/nature08649","ISSN":"1476-4687","issue":"7276","issued":{"date-parts":[[2009,12]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"7276","page":"1052-1055","publisher":"Nature Publishing Group","source":"www.nature.com","title":"The velocity of climate change","type":"article-journal","URL":"https://www.nature.com/articles/nature08649","volume":"462"}, - {"id":"lossAssistedColonizationIntegrating2011","abstract":"Global climate change poses an immense challenge for conservation biologists seeking to mitigate impacts to species and ecosystems. Species persistence will depend on geographic range shifts or adaptation in response to warming patterns as novel climates and community assemblages arise. Assisted colonization has been proposed as a method for addressing these challenges. This technique, which consists of transporting species to a new range that is predicted to be favorable for persistence under future climate scenarios, has become the subject of controversy and discussion in the conservation community due to its highly manipulative nature, questions about widespread feasibility, and uncertainty associated with the likelihood of translocated species becoming invasive. We reviewed the discussion and criticism associated with assisted colonization and sought to identify other conservation techniques that also display potential to promote the colonization and adaptation of species in response to climate change. We propose an integrated conservation strategy that includes management for habitat connectivity, conservation genetics, and when necessary, assisted colonization of species that are still unable to shift their ranges even given implementation of the above standard conservation approaches. We argue that this integrated approach will facilitate persistence for a larger proportion of species than is possible by solely using assisted colonization. Furthermore, a multi-faceted approach will likely reduce the uncertainty of conservation outcomes and will become increasingly necessary for conservation of biodiversity in a changing climate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Loss","given":"Scott R."},{"family":"Terwilliger","given":"Lauren A."},{"family":"Peterson","given":"Anna C."}],"container-title":"Biological Conservation","container-title-short":"Biological Conservation","DOI":"10.1016/j.biocon.2010.11.016","ISSN":"0006-3207","issue":"1","issued":{"date-parts":[[2011,1,1]]},"language":"en","page":"92-100","source":"ScienceDirect","title":"Assisted colonization: Integrating conservation strategies in the face of climate change","title-short":"Assisted colonization","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0006320710004866","volume":"144"}, - {"id":"manelLandscapeGeneticsCombining2003a","abstract":"Understanding the processes and patterns of gene flow and local adaptation requires a detailed knowledge of how landscape characteristics structure populations. This understanding is crucial, not only for improving ecological knowledge, but also for managing properly the genetic diversity of threatened and endangered populations. For nearly 80 years, population geneticists have investigated how physiognomy and other landscape features have influenced genetic variation within and between populations. They have relied on sampling populations that have been identified beforehand because most population genetics methods have required discrete populations. However, a new approach has emerged for analyzing spatial genetic data without requiring that discrete populations be identified in advance. This approach, landscape genetics, promises to facilitate our understanding of how geographical and environmental features structure genetic variation at both the population and individual levels, and has implications for ecology, evolution and conservation biology. It differs from other genetic approaches, such as phylogeography, in that it tends to focus on processes at finer spatial and temporal scales. Here, we discuss, from a population genetic perspective, the current tools available for conducting studies of landscape genetics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Manel","given":"StĂ©phanie"},{"family":"Schwartz","given":"Michael K."},{"family":"Luikart","given":"Gordon"},{"family":"Taberlet","given":"Pierre"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/S0169-5347(03)00008-9","ISSN":"0169-5347","issue":"4","issued":{"date-parts":[[2003,4,1]]},"language":"en","page":"189-197","source":"ScienceDirect","title":"Landscape genetics: combining landscape ecology and population genetics","title-short":"Landscape genetics","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534703000089","volume":"18"}, - {"id":"mathiasDivergentEvolutionDispersal2001","abstract":"The evolution of dispersal is investigated in a landscape of many patches with fluctuating carrying capacities and spatial heterogeneity in temporal fluctuations. Although asynchronous temporal fluctuations select for dispersal, spatial heterogeneity in the distribution of fluctuating environmental variables selects against it. We find evolutionary branching in dispersal rate leading to the evolutionarily stable coexistence of a high- and a low-dispersal phenotype. We study how the opposing forces of selection for and against dispersal change with the relative size and the environmental qualities of the source and sink habitats. Our results suggest that the evolution of dispersal dimorphism could be a first step towards speciation and local adaptation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Mathias","given":"Andrea"},{"family":"Kisdi","given":"Eva"},{"family":"Olivieri","given":"Isabelle"}],"container-title":"Evolution","ISSN":"0014-3820","issue":"2","issued":{"date-parts":[[2001]]},"page":"246-259","publisher":"[Society for the Study of Evolution, Wiley]","source":"JSTOR","title":"Divergent Evolution of Dispersal in a Heterogeneous Landscape","type":"article-journal","URL":"https://www.jstor.org/stable/2640747","volume":"55"}, - {"id":"matthysenDensitydependentDispersalBirds2005","abstract":"Density-dependent dispersal can be caused by various mechanisms, from competition inducing individuals to emigrate (positive density-dependence) to social crowding effects impeding free movement (negative density-dependence). Various spatial population models have incorporated positively density-dependent dispersal algorithms, and recent theoretical models have explored the conditions for density-dependent dispersal (DD) to evolve. However, while the existence of DD is well documented in some taxa such as insects, there is no clear picture on its generality in vertebrates. Here I review the available empirical data on DD in birds and mammals, focusing mainly on variation in dispersal between years and on experimental density manipulations. Surprisingly few studies have explicitly focused on DD, and interpretation of the available data is often hampered by differences in approach, small sample sizes and/or statistical shortcomings. Positive DD was reported in 50 and 33% of the selected mammal and bird studies, respectively, while two studies on mammals (out of eight) reported negative DD. Among bird studies, DD was more often reported for emigration rates or long-distance recoveries than for average distances within finite study areas. Experimental studies manipulating densities (mainly on mammals) have consistently generated positive DD, typically showing reduced emigration in response to partial population removal. Studies that examined dispersal in relation to seasonal changes in density (small mammals only) have more often reported negative DD. Studies that compared dispersal between sites differing in density, also show a mixture of positive and negative DD. This suggests that dispersal changes in a more complex way with seasonal and spatial density variation than with annual densities, and/or that these results are confounded by other factors differing between seasons and sites, such as habitat quality. I conclude that both correlational and experimental studies support the existence of positive, rather than negative, density-dependent dispersal in birds and mammals.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Matthysen","given":"Erik"}],"container-title":"Ecography","DOI":"10.1111/j.0906-7590.2005.04073.x","ISSN":"1600-0587","issue":"3","issued":{"date-parts":[[2005]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.0906-7590.2005.04073.x","page":"403-416","source":"Wiley Online Library","title":"Density-dependent dispersal in birds and mammals","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.0906-7590.2005.04073.x","volume":"28"}, - {"id":"matthysenMulticausalityDispersalReview2012","abstract":"This chapter reviews the main causes leading to dispersal, and emphasises its proximate factors. Dispersal is the main mechanism leading to gene flow within and between populations, and is defined as the movement of an individual from site of birth to site of reproduction or its movement between successive sites of reproduction. Causality in dispersal here is considered as any factor that explains variation among individuals in any component of dispersal. Following a general introduction, the different types of causal factors that may explain dispersal patterns are reviewed. The chapter begins with a discussion of the concept of dispersal. This is followed by a brief discussion of its ultimate explications. Lastly, an overview of its different possible mechanisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Matthysen","given":"Erik"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0001","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Multicausality of dispersal: a review","title-short":"Multicausality of dispersal","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-1"}, - {"id":"mclaughlinClimateChangeHastens2002","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"McLaughlin","given":"John F."},{"family":"Hellmann","given":"Jessica J."},{"family":"Boggs","given":"Carol L."},{"family":"Ehrlich","given":"Paul R."}],"container-title":"Proceedings of the National Academy of Sciences of the United States of America","container-title-short":"PROC. NAT. ACAD. OF SCI. (U.S.A.)","DOI":"10.1073/pnas.052131199","ISSN":"0027-8424","issue":"9","issued":{"date-parts":[[2002,4,30]]},"language":"English (US)","page":"6070-6074","PMID":"11972020","publisher":"National Academy of Sciences","source":"experts.umn.edu","title":"Climate change hastens population extinctions","type":"article-journal","URL":"https://experts.umn.edu/en/publications/climate-change-hastens-population-extinctions","volume":"99"}, - {"id":"mcpeekEvolutionDispersalSpatially1992","abstract":"Using a simple two-patch model, we examine how patterns of spatial and temporal variation in carrying capacities affect natural selection on dispersal. The size of the population in each patch is regulated separately, according to a discrete-generation logistic equation, and individuals disperse from each patch at propensities determined by their genotype. We consider genotypes that express the same dispersal propensities in both patches and genotypes that express patch-specific disperal propensities. Contrary to previous analyses, our results show that some level of dispersal is favored by selection under almost all regimes of habitat variability, including a spatially varying and temporally constant environment. Furthermore, two very different polymorphisms are favored under different conditions. When carrying capacities vary spatially but not temporally, any number of genotypes with patch-specific dispersal propensities in ratios inversely proportional to the ratio of the carrying capacities can coexist. This result extends previous analyses to show that dispersal is favored in such an environment if individuals can alter dispersal propensities in response to environmental cues. In contrast, when carrying capacities vary both spatially and temporally but differ in mean or variance, a polymorphism of only two genotypes (a high-dispersal and a no-dispersal genotype) is favored when the only genotypes possible are ones expressing the same dispersal propensity in both patches. However, this dimorphism can be invaded and replaced by one genotype with a particular combination of patch-specific dispersal propensities in a ratio also inversely proportional to the ratio of the average population sizes. We discuss a number of testable predictions this model suggests about the amounts of phenotypic and genetic variation in dispersal characters that are expected both within and between populations, and the degree to which the expression of phenotypic characters affecting dispersal propensity should be sensitive to environmental conditions. The model also suggests novel mechanisms for coexistence between competing species in varying environments.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"McPeek","given":"Mark A."},{"family":"Holt","given":"Robert D."}],"container-title":"The American Naturalist","ISSN":"0003-0147","issue":"6","issued":{"date-parts":[[1992]]},"page":"1010-1027","publisher":"[University of Chicago Press, American Society of Naturalists]","source":"JSTOR","title":"The Evolution of Dispersal in Spatially and Temporally Varying Environments","type":"article-journal","URL":"https://www.jstor.org/stable/2462931","volume":"140"}, - {"id":"merckxEvolutionMovementsBehaviour2003","abstract":"As landscapes change, mobility patterns of species may alter. Different mechanistic scenarios may, however, lead to particular patterns. Here, we tested conflicting predictions from two hypotheses on butterfly movements in relation to habitat fragmentation. According to the resource distribution hypothesis, butterflies in more fragmented landscapes would have higher levels of mobility as resources are more scattered. However, these butterflies could have lower levels of mobility as they experience â€hard’ habitat boundaries more frequently (i.e. higher crossing costs) compared with butterflies in landscapes with continuous habitat; i.e. the behaviour–at–boundaries hypothesis. We studied movements, habitat boundary crossing and habitat preference of laboratory–reared individuals of Pararge aegeria that originated from woodland and agricultural landscapes, by using an experimental landscape as a common environment (outdoor cages) to test the predictions, taking into account sexual differences and weather. Woodland butterflies covered longer distances, were more prone to cross open–shade boundaries, travelled more frequently between woodland parts of the cages and were more at flight than agricultural butterflies. Our results support the behaviour–at–boundaries hypothesis, with â€softer’ boundaries for woodland landscapes. Because the butterflies were reared in a common environment, the observed behavioural differences rely on heritable variation between populations from woodland and agricultural landscapes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Merckx","given":"Thomas"},{"family":"Dyck","given":"Hans Van"},{"family":"Karlsson","given":"Bengt"},{"family":"Leimar","given":"Olof"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.2003.2459","issue":"1526","issued":{"date-parts":[[2003,9,7]]},"page":"1815-1821","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"The evolution of movements and behaviour at boundaries in different landscapes: a common arena experiment with butterflies","title-short":"The evolution of movements and behaviour at boundaries in different landscapes","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2003.2459","volume":"270"}, - {"id":"merckxLandscapeStructurePhenotypic2006","abstract":"In evolutionary time, varying environments may lead to different morphs as a result of genetic adaptation and divergence or phenotypic plasticity. Landscapes that differ in the extent of habitat fragmentation may provide different selection regimes for dispersal, but also for other ecological functions. Several studies on flying insects have shown differences in flight morphology between landscapes, but whether such differences result from plastic responses have rarely been tested. We did a reciprocal transplant experiment with offspring of speckled wood butterfly females (Parargeaegeria) from three types of landscape differing in fragmentation: woodland landscape, landscape with woodland fragments and agricultural landscape with only hedgerows. Young caterpillars were allowed to grow individually on potted host grasses in small enclosures under the three landscape conditions (split-brood design). Mortality in caterpillars was much higher in agricultural landscape compared to the other landscapes. Additive to the effect of landscape of development, landscape of origin also affected mortality rate in a similar way. Flight morphology of the adults resulting from the experiment differed significantly with landscape. Independent of the landscape of origin, males and females that developed in agricultural landscape were the heaviest and had the greatest wing loadings. Females that developed in agricultural landscape had higher relative thorax mass (i.e. greater flight muscle allocation) in line with adaptive predictions on altered dispersal behaviour with type of landscape. In males, relative thorax mass did not respond significantly relative to landscape of development, but males originating from landscape with woodland fragments allocated more into their thorax compared to males from the other types. We found significant GĂ—E interactions for total dry mass and wing loading. Our results suggest the existence of phenotypic plasticity in butterfly flight morphology associated with landscape structure.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Merckx","given":"Thomas"},{"family":"Dyck","given":"Hans Van"}],"container-title":"Oikos","DOI":"10.1111/j.2006.0030-1299.14501.x","ISSN":"1600-0706","issue":"2","issued":{"date-parts":[[2006]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.2006.0030-1299.14501.x","page":"226-232","source":"Wiley Online Library","title":"Landscape structure and phenotypic plasticity in flight morphology in the butterfly Pararge aegeria","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.2006.0030-1299.14501.x","volume":"113"}, - {"id":"metzHowShouldWe2001","abstract":"We define a fitness concept applicable to structured metapopulations consisting of infinitely many equally coupled patches. In addition, we introduce a more easily calculated quantity Rm that relates to fitness in the same manner as R0 relates to fitness in ordinary population dynamics: the Rm of a mutant is only defined when the resident population dynamics converges to a point equilibrium and Rm is larger (smaller) than 1 if and only if mutant fitness is positive (negative). Rm corresponds to the average number of newborn dispersers resulting from the (on average less than one) local colony founded by a newborn disperser. Efficient algorithms for calculating its numerical value are provided. As an example of the usefulness of these concepts we calculate the evolutionarily stable conditional dispersal strategy for individuals that can account for the local population density in their dispersal decisions. Below a threshold density ĂŁ, at which staying and leaving are equality profitable, everybody should stay and above ĂŁ everybody should leave, where profitability is measured as the mean number of dispersers produced through lines of descent consisting of only non–dispersers.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Metz","given":"J. a. J."},{"family":"Gyllenberg","given":"M."}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.2000.1373","issue":"1466","issued":{"date-parts":[[2001,3,7]]},"page":"499-508","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"How should we define fitness in structured metapopulation models? Including an application to the calculation of evolutionarily stable dispersal strategies","title-short":"How should we define fitness in structured metapopulation models?","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2000.1373","volume":"268"}, - {"id":"midgleyBioMoveIntegratedPlatform2010","abstract":"BioMove simulates plant species' geographic range shifts in response to climate, habitat structure and disturbance, at annual time steps. This spatially explicit approach integrates species' bioclimatic suitability and population-level demographic rates with simulation of landscape-level processes (dispersal, disturbance, species' response to dynamic dominant vegetation structure). Species population dynamics are simulated through matrix modelling that includes scaling demographic rates by climatic suitability. Dispersal functions simulate population spread. User-specified plant functional types (PFTs) provide vegetation structure that determines resource competition and disturbance. PFTs respond annually through dispersal, inter-PFT competition and demographic shifts. BioMove provides a rich framework for dynamic range simulations.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Midgley","given":"Guy F."},{"family":"Davies","given":"Ian D."},{"family":"Albert","given":"CĂ©cile H."},{"family":"Altwegg","given":"Res"},{"family":"Hannah","given":"Lee"},{"family":"Hughes","given":"Gregory O."},{"family":"O'Halloran","given":"Lydia R."},{"family":"Seo","given":"Changwan"},{"family":"Thorne","given":"James H."},{"family":"Thuiller","given":"Wilfried"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2009.06000.x","ISSN":"1600-0587","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.06000.x","page":"612-616","source":"Wiley Online Library","title":"BioMove – an integrated platform simulating the dynamic response of species to environmental change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2009.06000.x","volume":"33"}, - {"id":"millerSexbiasedDispersalSpeed2011","abstract":"Population models that combine demography and dispersal are important tools for forecasting the spatial spread of biological invasions. Current models describe the dynamics of only one sex (typically females). Such models cannot account for the sex-related biases in dispersal and mating behavior that are typical of many animal species. In this article, we construct a two-sex integrodifference equation model that overcomes these limitations. We derive an explicit formula for the invasion speed from the model and use it to show that sex-biased dispersal may significantly increase or decrease the invasion speed by skewing the operational sex ratio at the invasion's low-density leading edge. Which of these possible outcomes occurs depends sensitively on complex interactions among the direction of dispersal bias, the magnitude of bias, and the relative contributions of females and males to local population growth.","author":[{"family":"Miller","given":"Tom E. X."},{"family":"Shaw","given":"Allison K."},{"family":"Inouye","given":"Brian D."},{"family":"Neubert","given":"Michael G."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/659628","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2011,5]]},"language":"eng","page":"549-561","PMID":"21508603","source":"PubMed","title":"Sex-biased dispersal and the speed of two-sex invasions","type":"article-journal","volume":"177"}, - {"id":"millerSexStochasticityAffect2013","abstract":"Understanding and predicting range expansion are key objectives in many basic and applied contexts. Among dioecious organisms, there is strong evidence for sex differences in dispersal, which could alter the sex ratio at the expansion's leading edge. However, demographic stochasticity could also affect leading-edge sex ratios, perhaps overwhelming sex-biased dispersal. We used insects in laboratory mesocosms to test the effects of sex-biased dispersal on range expansion, and a simulation model to explore interactive effects of sex-biased dispersal and demographic stochasticity. Sex-biased dispersal created spatial clines in the sex ratio, which influenced offspring production at the front and altered invasion velocity. Increasing female dispersal relative to males accelerated spread, despite the prediction that demographic stochasticity would weaken a signal of sex-biased dispersal. Our results provide the first experimental evidence for an influence of sex-biased dispersal on invasion velocity, highlighting the value of accounting for sex structure in studies of range expansion.","author":[{"family":"Miller","given":"Tom E. X."},{"family":"Inouye","given":"Brian D."}],"container-title":"Ecology Letters","container-title-short":"Ecol Lett","DOI":"10.1111/ele.12049","ISSN":"1461-0248","issue":"3","issued":{"date-parts":[[2013,3]]},"language":"eng","page":"354-361","PMID":"23237200","source":"PubMed","title":"Sex and stochasticity affect range expansion of experimental invasions","type":"article-journal","volume":"16"}, - {"id":"mitikkaRangeExpansionEuropean2010","abstract":"Climate change will influence the living conditions of all life on Earth. For some species the change in the environmental conditions that has occurred so far has already increased the risk of extinction, and the extinction risk is predicted to increase for large numbers of species in the future. Some species may have time to adapt to the changing environmental conditions, but the rate and magnitude of the change are too great to allow many species to survive via evolutionary changes. \n\nSpecies responses to climate change have been documented for some decades. Some groups of species, like many insects, respond readily to changes in temperature conditions and have shifted their distributions northwards to new climatically suitable regions. Such range shifts have been well documented especially in temperate zones. In this context, butterflies have been studied more than any other group of species, partly for the reason that their past geographical ranges are well documented, which facilitates species-climate modelling and other analyses. The aim of the modelling studies is to examine to what extent shifts in species distributions can be explained by climatic and other factors. Models can also be used to predict the future distributions of species. \n\nIn this thesis, I have studied the response to climate change of one species of butterfly within one geographically restricted area. The study species, the European map butterfly (Araschnia levana), has expanded rapidly northwards in Finland during the last two decades. I used statistical and dynamic modelling approaches in combination with field studies to analyse the effects of climate warming and landscape structure on the expansion. I studied possible role of molecular variation in phosphoglucose isomerase (PGI), a glycolytic enzyme affecting flight metabolism and thereby flight performance, in the observed expansion of the map butterfly at two separate expansion fronts in Finland. \n\nThe expansion rate of the map butterfly was shown to be correlated with the frequency of warmer than average summers during the study period. The result is in line with the greater probability of occurrence of the second generation during warm summers and previous results on this species showing greater mobility of the second than first generation individuals. The results of a field study in this thesis indicated low mobility of the first generation butterflies. Climatic variables alone were not sufficient to explain the observed expansion in Finland. There are also problems in transferring the climate model to new regions from the ones from which data were available to construct the model. The climate model predicted a wider distribution in the south-western part of Finland than what has been observed. Dynamic modelling of the expansion in response to landscape structure suggested that habitat and landscape structure influence the rate of expansion. In southern Finland the landscape structure may have slowed down the expansion rate. The results on PGI suggested that allelic variation in this enzyme may influence flight performance and thereby the rate of expansion. Genetic differences of the populations at the two expansion fronts may explain at least partly the observed differences in the rate of expansion. Individuals with the genotype associated with high flight metabolic rate were most frequent in eastern Finland, where the rate of range expansion has been highest.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Mitikka","given":"Varpu"}],"ISBN":"9789521061462","issued":{"date-parts":[[2010,3,26]]},"language":"en","note":"Accepted: 2010-11-25T13:18:36Z","publisher":"Helsingin yliopisto","source":"helda.helsinki.fi","title":"The range expansion of the European map butterfly in Finland","type":"article-journal","URL":"https://helda.helsinki.fi/handle/10138/22114"}, - {"id":"moralesBehaviorHabitatBoundaries2002","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Morales","given":"Juan Manuel"}],"container-title":"The American Naturalist","DOI":"10.1086/342076","ISSN":"0003-0147","issue":"4","issued":{"date-parts":[[2002,10,1]]},"page":"531-538","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"Behavior at Habitat Boundaries Can Produce Leptokurtic Movement Distributions.","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/342076","volume":"160"}, - {"id":"moralesBuildingBridgeAnimal2010a","abstract":"While the mechanistic links between animal movement and population dynamics are ecologically obvious, it is much less clear when knowledge of animal movement is a prerequisite for understanding and predicting population dynamics. GPS and other technologies enable detailed tracking of animal location concurrently with acquisition of landscape data and information on individual physiology. These tools can be used to refine our understanding of the mechanistic links between behaviour and individual condition through â€spatially informed’ movement models where time allocation to different behaviours affects individual survival and reproduction. For some species, socially informed models that address the movements and average fitness of differently sized groups and how they are affected by fission–fusion processes at relevant temporal scales are required. Furthermore, as most animals revisit some places and avoid others based on their previous experiences, we foresee the incorporation of long-term memory and intention in movement models. The way animals move has important consequences for the degree of mixing that we expect to find both within a population and between individuals of different species. The mixing rate dictates the level of detail required by models to capture the influence of heterogeneity and the dynamics of intra- and interspecific interaction.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Morales","given":"Juan M."},{"family":"Moorcroft","given":"Paul R."},{"family":"Matthiopoulos","given":"Jason"},{"family":"Frair","given":"Jacqueline L."},{"family":"Kie","given":"John G."},{"family":"Powell","given":"Roger A."},{"family":"Merrill","given":"Evelyn H."},{"family":"Haydon","given":"Daniel T."}],"container-title":"Philosophical Transactions of the Royal Society B: Biological Sciences","DOI":"10.1098/rstb.2010.0082","issue":"1550","issued":{"date-parts":[[2010,7,27]]},"page":"2289-2301","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Building the bridge between animal movement and population dynamics","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rstb.2010.0082","volume":"365"}, - {"id":"moralesScalingAnimalMovements2002","abstract":"Two major challenges of spatial ecology are understanding the effects of landscape heterogeneity on movement, and translating observations taken at small spatial and temporal scales into expected patterns at greater scales. Using a combination of computer simulations and micro-landscape experiments with Tribolium confusum beetles we found that conventional correlated random walk models with constant parameters severely underestimated spatial spread because organisms changed movement behaviors over time. However, a model incorporating behavioral heterogeneity between individuals, and within individuals over time, was able to account for observed patterns of spread. Our results suggest that the main challenge for scaling up movement patterns resides in the complexities of individual behavior rather than in the spatial structure of the landscape.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Morales","given":"Juan Manuel"},{"family":"Ellner","given":"Stephen P."}],"container-title":"Ecology","DOI":"10.2307/3072055","ISSN":"0012-9658","issue":"8","issued":{"date-parts":[[2002]]},"page":"2240-2247","publisher":"Ecological Society of America","source":"JSTOR","title":"Scaling up Animal Movements in Heterogeneous Landscapes: The Importance of Behavior","title-short":"Scaling up Animal Movements in Heterogeneous Landscapes","type":"article-journal","URL":"https://www.jstor.org/stable/3072055","volume":"83"}, - {"id":"munozWindLongDistanceDispersal2004","abstract":"Anisotropic (direction-dependent) long-distance dispersal (LDD) by wind has been invoked to explain the strong floristic affinities shared among landmasses in the Southern Hemisphere. Its contribution has not yet been systematically tested because of the previous lack of global data on winds. We used global winds coverage from the National Aeronautics and Space Administration SeaWinds scatterometer to test whether floristic similarities of Southern Hemisphere moss, liverwort, lichen, and pteridophyte floras conform better with (i) the anisotropic LDD hypothesis, which predicts that connection by “wind highways” increases floristic similarities, or (ii) a direction-independent LDD hypothesis, which predicts that floristic similarities among sites increase with geographic proximity. We found a stronger correlation of floristic similarities with wind connectivity than with geographic proximities, which supports the idea that wind is a dispersal vehicle for many organisms in the Southern Hemisphere.\nWind patterns, not geographical proximity, best explain the distribution of lower plants in the Southern Hemisphere.\nWind patterns, not geographical proximity, best explain the distribution of lower plants in the Southern Hemisphere.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Muñoz","given":"JesĂşs"},{"family":"FelicĂ­simo","given":"Ăngel M."},{"family":"Cabezas","given":"Francisco"},{"family":"Burgaz","given":"Ana R."},{"family":"MartĂ­nez","given":"Isabel"}],"container-title":"Science","DOI":"10.1126/science.1095210","ISSN":"0036-8075, 1095-9203","issue":"5674","issued":{"date-parts":[[2004,5,21]]},"language":"en","page":"1144-1147","PMID":"15155945","publisher":"American Association for the Advancement of Science","section":"Report","source":"science.sciencemag.org","title":"Wind as a Long-Distance Dispersal Vehicle in the Southern Hemisphere","type":"article-journal","URL":"https://science.sciencemag.org/content/304/5674/1144","volume":"304"}, - {"id":"murrellEvolutionDispersalDistance2002","abstract":"Most evolutionary models of dispersal have concentrated on dispersal rate, with emigration being either global or restricted to nearest neighbours. Yet most organisms fall into an intermediate region where most dispersal is local but there is a wide range of dispersal distances. We use an individual-based model with 2500 patches each with identical local dynamics and show that the dispersal distance is under selection pressure. The dispersal distance that evolves is critically dependent on the ecological dynamics. When the cost of dispersal increases linearly with distance, selection is for short-distance dispersal under stable and damped local dynamics but longer distance dispersal is favoured as local dynamics become more complex. For the cases of stable, damped and periodic patch dynamics global patch synchrony occurs even with very short-distance dispersal. Increasing the scale of dispersal for chaotic local dynamics increases the scale of synchrony but global synchrony does not neccesarily occur. We discuss these results in the light of other possible causes of dispersal and argue for the importance of incorporating non-equilibrium population dynamics into evolutionary models of dispersal distance.","author":[{"family":"Murrell","given":"David"},{"family":"Travis","given":"Justin"},{"family":"Dytham","given":"Calvin"}],"container-title":"Oikos","container-title-short":"Oikos","DOI":"10.1034/j.1600-0706.2002.970209.x","issued":{"date-parts":[[2002,5,1]]},"source":"ResearchGate","title":"The evolution of dispersal distance in spatially structured populations","type":"article-journal","volume":"97"}, - {"id":"mustinDynamicsClimateInducedRange2009","abstract":"Predicted future climate change will alter species' distributions as they attempt to track the most suitable ' climate window'. Climate envelope models indicate the direction of likely range changes but do not incorporate population dynamics, therefore observed responses may differ greatly from these projections. We use simulation modelling to explore the consequences of a period of environmental change for a species structured across an environmental gradient. Results indicate that a species' range may lag behind its climate envelope and demonstrate that the rate of movement of a range can accelerate during a period of climate change. We conclude that the inclusion of both population dynamics and spatial environmental variability is vital to develop models that can both predict, and be used to manage, the impact of changing climate on species' biogeography.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Mustin","given":"Karen"},{"family":"Benton","given":"Tim G."},{"family":"Dytham","given":"Calvin"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Oikos","ISSN":"0030-1299","issue":"1","issued":{"date-parts":[[2009]]},"page":"131-137","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"The Dynamics of Climate-Induced Range Shifting; Perspectives from Simulation Modelling","type":"article-journal","URL":"https://www.jstor.org/stable/40235617","volume":"118"}, - {"id":"mustinRedNoiseIncreases2013","abstract":"Aim As the global climate is changing rapidly, there is a need to make conservation decisions to facilitate species' persistence under climate change. Models employed to make predictions regarding the impacts of climate change on species' distributions, and ultimately persistence, typically assume that interannual variability in environmental conditions is independent between years. However, the colour of environmental noise has been shown to affect extinction risk in populations occupying spatially static environments, and should therefore affect persistence during climate change. This study aims to investigate the importance of noise colour for extinction risk during climate-induced range shifts. Methods We use a spatially explicit coupled map lattice with a latitudinal gradient in climatic suitability, together with time series of environmental noise, to simulate periods of directional climate change and investigate the effects of noise colour on extinction risk and range size. Results Extinction risk increases with reddening of the environmental noise, and this effect is particularly pronounced over short time frames when climate change is rapid. Main conclusions Given that management decisions are typically made over such short time frames, and the rapid rates of climate change currently being experienced, we highlight the importance of incorporating realistic time series of environmental noise into models used for conservation planning under climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Mustin","given":"Karen"},{"family":"Dytham","given":"Calvin"},{"family":"Benton","given":"Tim G."},{"family":"Travis","given":"Justin M. J."}],"container-title":"Diversity and Distributions","DOI":"10.1111/ddi.12038","ISSN":"1472-4642","issue":"7","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ddi.12038","page":"815-824","source":"Wiley Online Library","title":"Red noise increases extinction risk during rapid climate change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/ddi.12038","volume":"19"}, - {"id":"nathanDispersalKernelsReview2012","author":[{"family":"Nathan","given":"Ran"},{"family":"Klein","given":"Etienne"},{"family":"Robledo-Anuncio","given":"J.J."},{"family":"Revilla","given":"Eloy"}],"container-title":"Dispersal Ecology and Evolution","container-title-short":"Dispersal Ecology and Evolution","issued":{"date-parts":[[2012,1,1]]},"source":"ResearchGate","title":"Dispersal kernels: review. Chapter 15","title-short":"Dispersal kernels","type":"article-journal"}, - {"id":"nathanMovementEcologyParadigm2008a","abstract":"Movement of individual organisms is fundamental to life, quilting our planet in a rich tapestry of phenomena with diverse implications for ecosystems and humans. Movement research is both plentiful and insightful, and recent methodological advances facilitate obtaining a detailed view of individual movement. Yet, we lack a general unifying paradigm, derived from first principles, which can place movement studies within a common context and advance the development of a mature scientific discipline. This introductory article to the Movement Ecology Special Feature proposes a paradigm that integrates conceptual, theoretical, methodological, and empirical frameworks for studying movement of all organisms, from microbes to trees to elephants. We introduce a conceptual framework depicting the interplay among four basic mechanistic components of organismal movement: the internal state (why move?), motion (how to move?), and navigation (when and where to move?) capacities of the individual and the external factors affecting movement. We demonstrate how the proposed framework aids the study of various taxa and movement types; promotes the formulation of hypotheses about movement; and complements existing biomechanical, cognitive, random, and optimality paradigms of movement. The proposed framework integrates eclectic research on movement into a structured paradigm and aims at providing a basis for hypothesis generation and a vehicle facilitating the understanding of the causes, mechanisms, and spatiotemporal patterns of movement and their role in various ecological and evolutionary processes.\n”Now we must consider in general the common reason for moving with any movement whatever.“ (Aristotle, De Motu Animalium, 4th century B.C.)","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Nathan","given":"Ran"},{"family":"Getz","given":"Wayne M."},{"family":"Revilla","given":"Eloy"},{"family":"Holyoak","given":"Marcel"},{"family":"Kadmon","given":"Ronen"},{"family":"Saltz","given":"David"},{"family":"Smouse","given":"Peter E."}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0800375105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19052-19059","PMID":"19060196","publisher":"National Academy of Sciences","section":"Perspective","source":"www.pnas.org","title":"A movement ecology paradigm for unifying organismal movement research","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19052","volume":"105"}, - {"id":"nathanSpreadNorthAmerican2011","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Nathan","given":"R."},{"family":"Horvitz","given":"N"},{"family":"He","given":"Y"},{"family":"Kuparinen, A","given":""},{"family":"Schurr","given":"F. M."},{"family":"Katul","given":"G. G."}],"container-title":"Ecology Letters","issue":"14","issued":{"date-parts":[[2011]]},"page":"211-219","title":"Spread of North American windâ€dispersed trees in future environments","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/10.1111/j.1461-0248.2010.01573.x"}, - {"id":"neubertDensitydependentVitalRates2000","abstract":"We explore a set of simple, nonlinear, two-stage models that allow us to compare the effects of density dependence on population dynamics among different kinds of life cycles. We characterize the behavior of these models in terms of their equilibria, bifurcations. and nonlinear dynamics, for a wide range of parameters. Our analyses lead to several generalizations about the effects of life history and density dependence on population dynamics. Among these are: (1) iteroparous life histories are more likely to be stable than semelparous life histories; (2) an increase in juvenile survivorship tends to be stabilizing; (3) density-dependent adult survival cannot control population growth when reproductive output is high: (4) density-dependent reproduction is more likely to cause chaotic dynamics than density dependence in other vital rates; and (5) changes in development rate have only small effects on bifurcation patterns.","author":[{"family":"Neubert","given":"M. G."},{"family":"Caswell","given":"H. C."}],"container-title":"Journal of Mathematical Biology","container-title-short":"J Math Biol","DOI":"10.1007/s002850070001","ISSN":"0303-6812","issue":"2","issued":{"date-parts":[[2000,8]]},"language":"eng","page":"103-121","PMID":"11039693","source":"PubMed","title":"Density-dependent vital rates and their population dynamic consequences","type":"article-journal","volume":"41"}, - {"id":"norbergEcoevolutionaryResponsesBiodiversity2012","abstract":"This study describes the development of a multi-species model used to explore the integrated eco-evolutionary responses to climate change. The results should help to understand and predict the responses of biological diversity, ecosystems, and ecological services to changing climate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Norberg","given":"Jon"},{"family":"Urban","given":"Mark C."},{"family":"Vellend","given":"Mark"},{"family":"Klausmeier","given":"Christopher A."},{"family":"Loeuille","given":"Nicolas"}],"container-title":"Nature Climate Change","container-title-short":"Nature Clim Change","DOI":"10.1038/nclimate1588","ISSN":"1758-6798","issue":"10","issued":{"date-parts":[[2012,10]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research\nSubject_term: Biodiversity;Climate change;Evolutionary ecology\nSubject_term_id: biodiversity;climate-change;evolutionary-ecology","number":"10","page":"747-751","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Eco-evolutionary responses of biodiversity to climate change","type":"article-journal","URL":"https://www.nature.com/articles/nclimate1588","volume":"2"}, - {"id":"northEvolutionaryResponsesDispersal2011","abstract":"It is generally well understood that some ecological factors select for increased and others for decreased dispersal. However, it has remained difficult to assess how the evolutionary dynamics are influenced by the spatio-temporal structure of the environment. We address this question with an individual-based model that enables habitat structure to be controlled through variables such as patch size, patch turnover rate, and patch quality. Increasing patch size at the expense of patch density can select for more or less dispersal, depending on the initial configuration. In landscapes consisting of high-quality and long-lived habitat patches, patch degradation selects for increased dispersal, yet patch loss may select for reduced dispersal. These trends do not depend on the component of life-history that is affected by habitat quality or the component of life-history through which density-dependence operates. Our results are based on a mathematical method that enables derivation of both the evolutionary stable strategy and the stationary genotype distribution that evolves in a polymorphic population. The two approaches generally lead to similar predictions. However, the evolutionary stable strategy assumes that the ecological and evolutionary time scales can be separated, and we find that violation of this assumption can critically alter the evolutionary outcome.","author":[{"family":"North","given":"Ace"},{"family":"Cornell","given":"Stephen"},{"family":"Ovaskainen","given":"Otso"}],"container-title":"Evolution; International Journal of Organic Evolution","container-title-short":"Evolution","DOI":"10.1111/j.1558-5646.2011.01254.x","ISSN":"1558-5646","issue":"6","issued":{"date-parts":[[2011,6]]},"language":"eng","page":"1739-1751","PMID":"21644960","source":"PubMed","title":"Evolutionary responses of dispersal distance to landscape structure and habitat loss","type":"article-journal","volume":"65"}, - {"id":"okamotoFrameworkHighthroughputEcoevolutionary2018","abstract":"The evolutionary dynamics of quantitative traits in a species depends on demographic structure (e.g. age- and size-dependent vital rates, migration across subpopulations, mate preferences, and the presence or absence of overlapping generations), which in turn can depend on interspecific interactions with other evolving species. Furthermore, biologists increasingly appreciate that evolutionary change in a single species can substantively affect broader ecological processes, such as community assembly and ecosystem functioning. Models integrating insights from classical population and quantitative genetics, on the one hand, and community ecology theory, on the other, are therefore critical to elucidating the interplay between ecological and evolutionary processes. However, few modelling approaches integrate ecological and genetic details into a comprehensive framework. Such models are needed to account for the reciprocal feedback between evolutionary change and ecological dynamics, and develop effective responses to anthropogenic disturbances on natural communities, improve agricultural practices and manage global health risks such as emerging pathogens. Here we introduce an open-source, multi-species forward-time population genetics simulator and framework for rapidly simulating eco-evolutionary dynamics. Our approach permits building models that can account for alternative genetic architectures, non-standard population dynamics and demographic structures, including those driven by interspecific interactions with other evolving species and the spatial dynamics of metacommunities. By integrating these processes into a common framework, we aim to facilitate the development of models that can further elucidate eco-evolutionary dynamics. While multi-species, forward-time population genetic models can be computationally expensive, we show how our framework leverages relatively economical graphics cards installed in modern desktops. We illustrate the versatility and general applicability of our approach for two very different case studies: antagonistic coevolution in space, and the evolution of life-history traits in response to resource dynamics in physiologically structured populations. We find that our analyses can run up to c. 200 times faster on a single commodity graphics card than on a single CPU core, comparable to the performance gains on small-to-medium sized computer clusters. Our approach therefore substantively reduces implementation difficulties to integrating ecological and evolutionary theory.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Okamoto","given":"Kenichi W."},{"family":"Amarasekare","given":"Priyanga"}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/2041-210X.12889","ISSN":"2041-210X","issue":"3","issued":{"date-parts":[[2018]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.12889","page":"525-534","source":"Wiley Online Library","title":"A framework for high-throughput eco-evolutionary simulations integrating multilocus forward-time population genetics and community ecology","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/2041-210X.12889","volume":"9"}, - {"id":"oldenContextdependentPerceptualRanges2004","abstract":"1 An animal's perceptual range defines the spatial extent of the landscape for which information is available to make movement decisions. Ecologists studying and modelling animal dispersal have commonly assumed that individual movements arise from a predefined set of local decision rules operating within a static isotropic (i.e. circular) perceptual range. 2 We discuss how this assumption fails to recognize the potential for plasticity in perceptual ranges and present a conceptual model that illustrates how anisotropic perceptual ranges can arise from animal orientation to environmental stimuli. 3 Using model simulations we show how perceptual distance (i.e. greatest Euclidean distance at which habitat patches can be perceived), horizon (i.e. panoramic view or angular degrees of the landscape perceived) and breadth (i.e. areal extent of the landscape perceived), change as a function of increased strength of a hypothetical stimuli. 4 Our results show that anisotropic perceptual ranges can differ substantially from traditional, isotropic perceptual ranges in all three aspects depending on the strength of the stimuli and nature in which it interacts with other elements of the landscape. 5 We highlight the implications of these findings for modelling animal movements in ecological landscapes with the hope that context-dependent perceptual ranges are considered in future studies.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Olden","given":"Julian D."},{"family":"Schooley","given":"Robert L."},{"family":"Monroe","given":"Jeremy B."},{"family":"Poff","given":"N. Leroy"}],"container-title":"Journal of Animal Ecology","DOI":"10.1111/j.0021-8790.2004.00889.x","ISSN":"1365-2656","issue":"6","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.0021-8790.2004.00889.x","page":"1190-1194","source":"Wiley Online Library","title":"Context-dependent perceptual ranges and their relevance to animal movements in landscapes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.0021-8790.2004.00889.x","volume":"73"}, - {"id":"opdamClimateChangeMeets2004","abstract":"Climate change and habitat fragmentation are considered key pressures on biodiversity. In this paper we explore the potential synergetic effects between these factors. We argue that processes at two levels of spatial scale interact: the metapopulation level and the species range level. Current concepts of spatially dynamic metapopulations and species ranges are consistent, and integration improves our understanding of the interaction of landscape level and geographical range level processes. In landscape zones in which the degree of habitat fragmentation allows persistence, the shifting of ranges is inhibited, but not blocked. In areas where the spatial cohesion of the habitat is below the critical level of metapopulation persistence, the expansion of ranges will be blocked. An increased frequency of large-scale disturbances caused by extreme weather events will cause increasing gaps and an overall contraction of the distribution range, particularly in areas with relatively low levels of spatial cohesion. Taking into account the effects of climate change on metapopulations, habitat distribution and land use changes, future biodiversity research and conservation strategies are facing the challenge to re-orient their focus and scope by integrating spatially and conceptually more dynamic aspects at the landscape level.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Opdam","given":"Paul"},{"family":"Wascher","given":"Dirk"}],"container-title":"Biological Conservation","container-title-short":"Biological Conservation","DOI":"10.1016/j.biocon.2003.12.008","ISSN":"0006-3207","issue":"3","issued":{"date-parts":[[2004,5,1]]},"language":"en","page":"285-297","source":"ScienceDirect","title":"Climate change meets habitat fragmentation: linking landscape and biogeographical scale levels in research and conservation","title-short":"Climate change meets habitat fragmentation","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0006320703004890","volume":"117"}, - {"id":"ovaskainenBiasedMovementBoundary2003","abstract":"Motivated by edge behaviour reported for biological organisms, we show that random walks with a bias at a boundary lead to a discontinuous probability density across the boundary. We continue by studying more general diffusion processes with such a discontinuity across an interior boundary. We show how hitting probabilities, occupancy times and conditional occupancy times may be solved from problems that are adjoint to the original diffusion problem. We highlight our results with a biologically motivated example, where we analyze the movement behaviour of an individual in a network of habitat patches surrounded by dispersal habitat.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ovaskainen","given":"Otso"},{"family":"Cornell","given":"Stephen J."}],"container-title":"Journal of Applied Probability","ISSN":"0021-9002","issue":"3","issued":{"date-parts":[[2003]]},"page":"557-580","publisher":"Applied Probability Trust","source":"JSTOR","title":"Biased Movement at a Boundary and Conditional Occupancy Times for Diffusion Processes","type":"article-journal","URL":"https://www.jstor.org/stable/3215936","volume":"40"}, - {"id":"ovaskainenEmpiricalTestDiffusion2008","abstract":"Functional connectivity is a fundamental concept in conservation biology because it sets the level of migration and gene flow among local populations. However, functional connectivity is difficult to measure, largely because it is hard to acquire and analyze movement data from heterogeneous landscapes. Here we apply a Bayesian state-space framework to parameterize a diffusion-based movement model using capture-recapture data on the endangered clouded apollo butterfly. We test whether the model is able to disentangle the inherent movement behavior of the species from landscape structure and sampling artifacts, which is a necessity if the model is to be used to examine how movements depend on landscape structure. We show that this is the case by demonstrating that the model, parameterized with data from a reference landscape, correctly predicts movements in a structurally different landscape. In particular, the model helps to explain why a movement corridor that was constructed as a management measure failed to increase movement among local populations. We illustrate how the parameterized model can be used to derive biologically relevant measures of functional connectivity, thus linking movement data with models of spatial population dynamics.","author":[{"family":"Ovaskainen","given":"Otso"},{"family":"Luoto","given":"Miska"},{"family":"Ikonen","given":"Iiro"},{"family":"Rekola","given":"Hanna"},{"family":"Meyke","given":"Evgeniy"},{"family":"Kuussaari","given":"Mikko"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/587070","ISSN":"1537-5323","issue":"5","issued":{"date-parts":[[2008,5]]},"language":"eng","page":"610-619","PMID":"18419523","source":"PubMed","title":"An empirical test of a diffusion model: predicting clouded apollo movements in a novel environment","title-short":"An empirical test of a diffusion model","type":"article-journal","volume":"171"}, - {"id":"ovaskainenHabitatSpecificMovementParameters2004","abstract":"I describe a diffusion model aimed at the quantitative analysis of movement in heterogeneous landscapes. The model is based on classifying a landscape into a number of habitat types, which are assumed to differ from each other in terms of the movement behavior of the focal species. In addition to habitat-specific diffusion and mortality coefficients, the model accounts for edge-mediated behavior, meaning biased behavior close to boundaries between the habitat types. I illustrate the model with three examples. In the first example, I examine how the strength of edge-mediated behavior and the size of a habitat patch affect the probability that an individual will immigrate to a patch, the probability that an individual will emigrate from a patch, and the time that an individual is expected to spend in a patch. In the second example, I study how a dispersal corridor affects the probability that an individual will move through a landscape. In the third example, I estimate the movement parameters for a species of butterfly from mark–recapture data. In the butterfly example, I classify the landscape into habitat patches, other open areas, and forests. Edge-mediated behavior is found to have a highly significant effect on the general dispersal pattern of the butterfly: the model predicts that the density of butterflies inside habitat patches is >100 times the density of butterflies in adjacent areas.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ovaskainen","given":"Otso"}],"container-title":"Ecology","DOI":"10.1890/02-0706","ISSN":"1939-9170","issue":"1","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/02-0706","page":"242-257","source":"Wiley Online Library","title":"Habitat-Specific Movement Parameters Estimated Using Mark–Recapture Data and a Diffusion Model","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/02-0706","volume":"85"}, - {"id":"ovaskainenModelingAnimalMovement2009","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ovaskainen","given":"Otso"},{"family":"Crone","given":"E. E."}],"container-title":"Spatial Ecology","issued":{"date-parts":[[2009]]},"language":"Finnish","publisher":"Chapman & Hall / CRC","source":"researchportal.helsinki.fi","title":"Modeling animal movement with diffusion","type":"article-journal","URL":"https://researchportal.helsinki.fi/en/publications/modeling-animal-movement-with-diffusion"}, - {"id":"ovaskainenTrackingButterflyMovements2008","abstract":"We used harmonic radar to track freely flying Glanville fritillary butterfly (Melitaea cinxia) females within an area of 30 ha. Butterflies originated from large and continuous populations in China and Estonia, and from newly established or old (> 5 years) small local populations in a highly fragmented landscape in Finland. Caterpillars were raised under common garden conditions and unmated females were tested soon after eclosion. The reconstructed flight paths for 66 individuals comprised a total distance of 51 km with high spatial resolution. Butterflies originating from large continuous populations and from old local populations in Finland exhibited similar movement behaviors, whereas butterflies originating from newly established local populations in the fragmented landscape in Finland moved significantly more than the others. There was no difference in the lengths of individual flight bouts, but the new-population females flew more frequently, resulting in longer daily movement tracks. The flight activity of all individuals was affected by environmental conditions, peaking at 19–23°C (depending on population type), in the early afternoon, and during calm weather. Butterflies from all population types showed a strong tendency to follow habitat edges between the open study area and the neighboring woodlands.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ovaskainen","given":"Otso"},{"family":"Smith","given":"Alan D."},{"family":"Osborne","given":"Juliet L."},{"family":"Reynolds","given":"Don R."},{"family":"Carreck","given":"Norman L."},{"family":"Martin","given":"Andrew P."},{"family":"Niitepõld","given":"Kristjan"},{"family":"Hanski","given":"Ilkka"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0802066105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19090-19095","PMID":"19060191","publisher":"National Academy of Sciences","section":"Research Article","source":"www.pnas.org","title":"Tracking butterfly movements with harmonic radar reveals an effect of population age on movement distance","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19090","volume":"105"}, - {"id":"pagelForecastingSpeciesRanges2012a","abstract":"Aim The study and prediction of species–environment relationships is currently mainly based on species distribution models. These purely correlative models neglect spatial population dynamics and assume that species distributions are in equilibrium with their environment. This causes biased estimates of species niches and handicaps forecasts of range dynamics under environmental change. Here we aim to develop an approach that statistically estimates process-based models of range dynamics from data on species distributions and permits a more comprehensive quantification of forecast uncertainties. Innovation We present an approach for the statistical estimation of process-based dynamic range models (DRMs) that integrate Hutchinson's niche concept with spatial population dynamics. In a hierarchical Bayesian framework the environmental response of demographic rates, local population dynamics and dispersal are estimated conditional upon each other while accounting for various sources of uncertainty. The method thus: (1) jointly infers species niches and spatiotemporal population dynamics from occurrence and abundance data, and (2) provides fully probabilistic forecasts of future range dynamics under environmental change. In a simulation study, we investigate the performance of DRMs for a variety of scenarios that differ in both ecological dynamics and the data used for model estimation. Main conclusions Our results demonstrate the importance of considering dynamic aspects in the collection and analysis of biodiversity data. In combination with informative data, the presented framework has the potential to markedly improve the quantification of ecological niches, the process-based understanding of range dynamics and the forecasting of species responses to environmental change. It thereby strengthens links between biogeography, population biology and theoretical and applied ecology.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pagel","given":"Jörn"},{"family":"Schurr","given":"Frank M."}],"container-title":"Global Ecology and Biogeography","DOI":"10.1111/j.1466-8238.2011.00663.x","ISSN":"1466-8238","issue":"2","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1466-8238.2011.00663.x","page":"293-304","source":"Wiley Online Library","title":"Forecasting species ranges by statistical estimation of ecological niches and spatial population dynamics","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1466-8238.2011.00663.x","volume":"21"}, - {"id":"palmerInterindividualVariabilityDispersal2014","abstract":"The importance of landscape connectivity in determining biodiversity outcomes under environmental change has led to indices of connectivity becoming amongst the most widely used measures in conservation. Thus, it is vital that our understanding of connectivity and our use of indices describing it are reliable. Dispersal is the key ecological process involved in determining connectivity, and there is increasing evidence of substantial within-population variability in dispersal behaviours. Here, we incorporate this inter-individual variability into two approaches for estimating connectivity, least cost path analysis and stochastic movement simulation. Illustrative results demonstrate that including dispersal variability can yield substantially different estimates of connectivity. While connectivity is typically similar between nearby patches, the frequency of movements between patches further apart is often substantially increased when inter-individual variability is included. Given the disproportionate role that unusual long-distance dispersal events play in spatial dynamics, connectivity indices should seek to incorporate variability in dispersal behaviour.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Palmer","given":"Stephen C. F."},{"family":"Coulon","given":"AurĂ©lie"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Oikos","DOI":"10.1111/oik.01248","ISSN":"1600-0706","issue":"8","issued":{"date-parts":[[2014]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/oik.01248","page":"923-932","source":"Wiley Online Library","title":"Inter-individual variability in dispersal behaviours impacts connectivity estimates","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/oik.01248","volume":"123"}, - {"id":"palmerIntroducingStochasticMovement2011","abstract":"1. Estimating and improving landscape connectivity has become a key topic in conservation biology. While a range of connectivity indices exist and are widely used to inform spatial planning, they have potentially serious limitations. 2. We introduce a new method for modelling animals moving between habitat patches across a heterogeneous matrix. Our approach integrates features of least cost path analysis with stochastic movement modelling. Importantly, it relaxes assumptions that are implicit in the least cost path algorithm: our method does not assume omniscience nor does it assume that an individual has a planned destination when it leaves a habitat patch. The algorithm incorporates resistance values for matrix elements and parameters that relate to both perceptual range and to the degree of correlation in movement. By simulating sets of movements for individuals emigrating from habitat patches, relative connectivities between habitat patches are estimated. 3. Using an already published stylised landscape, we demonstrate that the connectivities estimated using our new method can differ considerably from those provided by structural methods and by least cost path analysis. Further, our results emphasise the sensitivity of the relative connectivities to an organism’s perceptual range and the degree of correlation between movement steps. 4. We believe that using stochastic movement modelling can improve estimates of connectivity and also provide a method for determining how robust the indices derived from simpler methods are likely to be for different types of organisms.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Palmer","given":"Stephen C. F."},{"family":"Coulon","given":"AurĂ©lie"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/j.2041-210X.2010.00073.x","ISSN":"2041-210X","issue":"3","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2010.00073.x","page":"258-268","source":"Wiley Online Library","title":"Introducing a â€stochastic movement simulator’ for estimating habitat connectivity","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.2041-210X.2010.00073.x","volume":"2"}, - {"id":"parmesanGloballyCoherentFingerprint2003","abstract":"Causal attribution of recent biological trends to climate change is complicated because non-climatic influences dominate local, short-term biological changes. Any underlying signal from climate change is likely to be revealed by analyses that seek systematic trends across diverse species and geographic regions; however, debates within the Intergovernmental Panel on Climate Change (IPCC) reveal several definitions of a â€systematic trend’. Here, we explore these differences, apply diverse analyses to more than 1,700 species, and show that recent biological trends match climate change predictions. Global meta-analyses documented significant range shifts averaging 6.1 km per decade towards the poles (or metres per decade upward), and significant mean advancement of spring events by 2.3 days per decade. We define a diagnostic fingerprint of temporal and spatial â€sign-switching’ responses uniquely predicted by twentieth century climate trends. Among appropriate long-term/large-scale/multi-species data sets, this diagnostic fingerprint was found for 279 species. This suite of analyses generates â€very high confidence’ (as laid down by the IPCC) that climate change is already affecting living systems.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Parmesan","given":"Camille"},{"family":"Yohe","given":"Gary"}],"container-title":"Nature","DOI":"10.1038/nature01286","ISSN":"1476-4687","issue":"6918","issued":{"date-parts":[[2003,1]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"6918","page":"37-42","publisher":"Nature Publishing Group","source":"www.nature.com","title":"A globally coherent fingerprint of climate change impacts across natural systems","type":"article-journal","URL":"https://www.nature.com/articles/nature01286","volume":"421"}, - {"id":"parmesanPolewardShiftsGeographical1999","abstract":"Mean global temperatures have risen this century, and further warming is predicted to continue for the next 50–100 years1,2,3. Some migratory species can respond rapidly to yearly climate variation by altering the timing or destination of migration4, but most wildlife is sedentary and so is incapable of such a rapid response. For these species, responses to the warming trend should be slower, reflected in poleward shifts of the range. Such changes in distribution would occur at the level of the population, stemming not from changes in the pattern of individuals' movements, but from changes in the ratios of extinctions to colonizations at the northern and southern boundaries of the range. A northward range shift therefore occurs when there is net extinction at the southern boundary or net colonization at the northern boundary. However, previous evidence has been limited to a single species5 or to only a portion of the species' range6,7. Here we provide the first large-scale evidence of poleward shifts in entire species' ranges. In a sample of 35 non-migratory European butterflies, 63% have ranges that have shifted to the north by 35–240 km during this century, and only 3% have shifted to the south.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Parmesan","given":"Camille"},{"family":"Ryrholm","given":"Nils"},{"family":"Stefanescu","given":"ConstantĂ­"},{"family":"Hill","given":"Jane K."},{"family":"Thomas","given":"Chris D."},{"family":"Descimon","given":"Henri"},{"family":"Huntley","given":"Brian"},{"family":"Kaila","given":"Lauri"},{"family":"Kullberg","given":"Jaakko"},{"family":"Tammaru","given":"Toomas"},{"family":"Tennent","given":"W. John"},{"family":"Thomas","given":"Jeremy A."},{"family":"Warren","given":"Martin"}],"container-title":"Nature","DOI":"10.1038/21181","ISSN":"1476-4687","issue":"6736","issued":{"date-parts":[[1999,6]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"6736","page":"579-583","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Poleward shifts in geographical ranges of butterfly species associated with regional warming","type":"article-journal","URL":"https://www.nature.com/articles/21181","volume":"399"}, - {"id":"pattersonStateSpaceModels2008","abstract":"Detailed observation of the movement of individual animals offers the potential to understand spatial population processes as the ultimate consequence of individual behaviour, physiological constraints and fine-scale environmental influences. However, movement data from individuals are intrinsically stochastic and often subject to severe observation error. Linking such complex data to dynamical models of movement is a major challenge for animal ecology. Here, we review a statistical approach, state–space modelling, which involves changing how we analyse movement data and draw inferences about the behaviours that shape it. The statistical robustness and predictive ability of state–space models make them the most promising avenue towards a new type of movement ecology that fuses insights from the study of animal behaviour, biogeography and spatial population dynamics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Patterson","given":"Toby A."},{"family":"Thomas","given":"Len"},{"family":"Wilcox","given":"Chris"},{"family":"Ovaskainen","given":"Otso"},{"family":"Matthiopoulos","given":"Jason"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2007.10.009","ISSN":"0169-5347","issue":"2","issued":{"date-parts":[[2008,2,1]]},"language":"en","page":"87-94","source":"ScienceDirect","title":"State–space models of individual animal movement","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534707003588","volume":"23"}, - {"id":"pearsonPredictingImpactsClimate2003","abstract":"Modelling strategies for predicting the potential impacts of climate change on the natural distribution of species have often focused on the characterization of a species’ bioclimate envelope. A number of recent critiques have questioned the validity of this approach by pointing to the many factors other than climate that play an important part in determining species distributions and the dynamics of distribution changes. Such factors include biotic interactions, evolutionary change and dispersal ability. This paper reviews and evaluates criticisms of bioclimate envelope models and discusses the implications of these criticisms for the different modelling strategies employed. It is proposed that, although the complexity of the natural system presents fundamental limits to predictive modelling, the bioclimate envelope approach can provide a useful first approximation as to the potentially dramatic impact of climate change on biodiversity. However, it is stressed that the spatial scale at which these models are applied is of fundamental importance, and that model results should not be interpreted without due consideration of the limitations involved. A hierarchical modelling framework is proposed through which some of these limitations can be addressed within a broader, scale-dependent context.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pearson","given":"Richard G."},{"family":"Dawson","given":"Terence P."}],"container-title":"Global Ecology and Biogeography","DOI":"10.1046/j.1466-822X.2003.00042.x","ISSN":"1466-8238","issue":"5","issued":{"date-parts":[[2003]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1466-822X.2003.00042.x","page":"361-371","source":"Wiley Online Library","title":"Predicting the impacts of climate change on the distribution of species: are bioclimate envelope models useful?","title-short":"Predicting the impacts of climate change on the distribution of species","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1466-822X.2003.00042.x","volume":"12"}, - {"id":"peerBreakingFunctionalConnectivity2011","abstract":"Landscape connectivity is a key factor determining the viability of populations in fragmented landscapes. Predicting â€functional connectivity’, namely whether a patch or a landscape functions as connected from the perspective of a focal species, poses various challenges. First, empirical data on the movement behaviour of species is often scarce. Second, animal-landscape interactions are bound to yield complex patterns. Lastly, functional connectivity involves various components that are rarely assessed separately. We introduce the spatially explicit, individual-based model FunCon as means to distinguish between components of functional connectivity and to assess how each of them affects the sensitivity of species and communities to landscape structures. We then present the results of exploratory simulations over six landscapes of different fragmentation levels and across a range of hypothetical bird species that differ in their response to habitat edges. i) Our results demonstrate that estimations of functional connectivity depend not only on the response of species to edges (avoidance versus penetration into the matrix), the movement mode investigated (home range movements versus dispersal), and the way in which the matrix is being crossed (random walk versus gap crossing), but also on the choice of connectivity measure (in this case, the model output examined). ii) We further show a strong effect of the mortality scenario applied, indicating that movement decisions that do not fully match the mortality risks are likely to reduce connectivity and enhance sensitivity to fragmentation. iii) Despite these complexities, some consistent patterns emerged. For instance, the ranking order of landscapes in terms of functional connectivity was mostly consistent across the entire range of hypothetical species, indicating that simple landscape indices can potentially serve as valuable surrogates for functional connectivity. Yet such simplifications must be carefully evaluated in terms of the components of functional connectivity they actually predict.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pe'er","given":"Guy"},{"family":"Henle","given":"Klaus"},{"family":"Dislich","given":"Claudia"},{"family":"Frank","given":"Karin"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0022355","ISSN":"1932-6203","issue":"8","issued":{"date-parts":[[2011,8,1]]},"language":"en","page":"e22355","publisher":"Public Library of Science","source":"PLoS Journals","title":"Breaking Functional Connectivity into Components: A Novel Approach Using an Individual-Based Model, and First Outcomes","title-short":"Breaking Functional Connectivity into Components","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0022355","volume":"6"}, - {"id":"peerIncorporatingPerceptualRange2008","abstract":"The perceptual range of an animal towards different landscape elements affects its movements through heterogeneous landscapes. However, empirical knowledge and modeling tools are lacking to assess the consequences of variation in the perceptual range for movement patterns and connectivity. In this study we tested how changes in the assumed perception of different landscape elements affect the outcomes of a connectivity model. We used an existing individual-based, spatially explicit model for the dispersal of Eurasian lynx (Lynx lynx). We systematically altered the perceptual range in which animals recognize forest fragments, water bodies or cities, as well as the probability that they respond to these landscape elements. Overall, increasing the perceptual range of the animals enhanced connectivity substantially, both qualitatively and quantitatively. An enhanced range of attraction to forests had the strongest impact, doubling immigration success; an enhanced range of attraction to rivers had a slightly lower impact; and an enhanced range of avoidance of cities had the lowest impact. Correcting the enhancement in connectivity by the abundance of each of the landscape elements in question reversed the results, indicating the potential sensitivity of connectivity models to rare landscape elements (in our case barriers such as cities). Qualitatively, the enhanced perception resulted in strong changes in movement patterns and connectivity. Furthermore, model results were highly parameter-specific and patch-specific. These results emphasize the need for further empirical research on the perceptual capabilities of different animals in different landscapes and conditions. They further indicate the usefulness of spatially explicit individual-based simulation models for recognizing consistent patterns that emerge, despite uncertainty regarding animals’ movement behavior. Altogether, this study demonstrates the need to extend the concept of â€perceptual ranges’ beyond patch detection processes, to encompass the wide range of elements that can direct animal movements during dispersal through heterogeneous landscapes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pe’er","given":"Guy"},{"family":"Kramer-Schadt","given":"Stephanie"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2007.11.020","ISSN":"0304-3800","issue":"1","issued":{"date-parts":[[2008,4,24]]},"language":"en","page":"73-85","source":"ScienceDirect","title":"Incorporating the perceptual range of animals into connectivity models","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380007006199","volume":"213"}, - {"id":"peerSimpleProcessBasedSimulators2013","abstract":"Landscape simulators are widely applied in landscape ecology for generating landscape patterns. These models can be divided into two categories: pattern-based models that generate spatial patterns irrespective of the processes that shape them, and process-based models that attempt to generate patterns based on the processes that shape them. The latter often tend toward complexity in an attempt to obtain high predictive precision, but are rarely used for generic or theoretical purposes. Here we show that a simple process-based simulator can generate a variety of spatial patterns including realistic ones, typifying landscapes fragmented by anthropogenic activities. The model “G-RaFFe” generates roads and fields to reproduce the processes in which forests are converted into arable lands. For a selected level of habitat cover, three factors dominate its outcomes: the number of roads (accessibility), maximum field size (accounting for land ownership patterns), and maximum field disconnection (which enables field to be detached from roads). We compared the performance of G-RaFFe to three other models: Simmap (neutral model), Qrule (fractal-based) and Dinamica EGO (with 4 model versions differing in complexity). A PCA-based analysis indicated G-RaFFe and Dinamica version 4 (most complex) to perform best in matching realistic spatial patterns, but an alternative analysis which considers model variability identified G-RaFFe and Qrule as performing best. We also found model performance to be affected by habitat cover and the actual land-uses, the latter reflecting on land ownership patterns. We suggest that simple process-based generators such as G-RaFFe can be used to generate spatial patterns as templates for theoretical analyses, as well as for gaining better understanding of the relation between spatial processes and patterns. We suggest caution in applying neutral or fractal-based approaches, since spatial patterns that typify anthropogenic landscapes are often non-fractal in nature.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pe'er","given":"Guy"},{"family":"Zurita","given":"Gustavo A."},{"family":"Schober","given":"Lucia"},{"family":"Bellocq","given":"Maria I."},{"family":"Strer","given":"Maximilian"},{"family":"MĂĽller","given":"Michael"},{"family":"PĂĽtz","given":"Sandro"}],"container-title":"PLOS ONE","container-title-short":"PLOS ONE","DOI":"10.1371/journal.pone.0064968","ISSN":"1932-6203","issue":"5","issued":{"date-parts":[[2013,5,28]]},"language":"en","page":"e64968","publisher":"Public Library of Science","source":"PLoS Journals","title":"Simple Process-Based Simulators for Generating Spatial Patterns of Habitat Loss and Fragmentation: A Review and Introduction to the G-RaFFe Model","title-short":"Simple Process-Based Simulators for Generating Spatial Patterns of Habitat Loss and Fragmentation","type":"article-journal","URL":"https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0064968","volume":"8"}, - {"id":"perrinDispersalInbreedingAvoidance1999","abstract":"Using a game-theoretical approach, we investigate the dispersal patterns expected if inbreeding avoidance were the only reason for dispersal. The evolutionary outcome is always complete philopatry by one sex. The rate of dispersal by the other sex depends on patch size and mating system, as well as inbreeding and dispersal costs. If such costs are sex independent, then two stable equilibria coexist (male or female philopatry), with symmetric domains of attraction. Which sex disperses is determined entirely by history, genetic drift, and gene flow. An asymmetry in costs makes one domain of attraction extend at the expense of the other. In such a case, the dispersing sex might also be, paradoxically, the one that incurs the higher dispersal costs. As asymmetry increases, one equilibrium eventually disappears, which may result in a sudden evolutionary shift in the identity of the dispersing sex. Our results underline the necessity to control for phylogenetic relationships (e.g., through the use of independent-comparisons methods) when investigating empirical trends in dispersal. Our model also makes quantitative predictions on the rate of dispersal by the dispersing sex and suggests that inbreeding avoidance may only rarely be the sole reason for dispersal.","author":[{"family":"Perrin","given":"Nicolas"},{"family":"Mazalov","given":"Vladimir"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/303236","ISSN":"1537-5323","issue":"3","issued":{"date-parts":[[1999,9]]},"language":"eng","page":"282-292","PMID":"10506544","source":"PubMed","title":"Dispersal and Inbreeding Avoidance","type":"article-journal","volume":"154"}, - {"id":"perrinLocalCompetitionInbreeding2000","abstract":"Using game theory, we developed a kin-selection model to investigate the consequences of local competition and inbreeding depression on the evolution of natal dispersal. Mating systems have the potential to favor strong sex biases in dispersal because sex differences in potential reproductive success affect the balance between local resource competition and local mate competition. No bias is expected when local competition equally affects males and females, as happens in monogamous systems and also in polygynous or promiscuous ones as long as female fitness is limited by extrinsic factors (breeding resources). In contrast, a male-biased dispersal is predicted when local mate competition exceeds local resource competition, as happens under polygyny/promiscuity when female fitness is limited by intrinsic factors (maximal rate of processing resources rather than resources themselves). This bias is reinforced by among-sex interactions: female philopatry enhances breeding opportunities for related males, while male dispersal decreases the chances that related females will inbreed. These results meet empirical patterns in mammals: polygynous/promiscuous species usually display a male-biased dispersal, while both sexes disperse in monogamous species. A parallel is drawn with sex-ratio theory, which also predicts biases toward the sex that suffers less from local competition. Optimal sex ratios and optimal sex-specific dispersal show mutual dependence, which argues for the development of coevolution models.","author":[{"family":"Perrin","given":"Nicolas"},{"family":"Mazalov","given":"Vladimir"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/303296","ISSN":"1537-5323","issue":"1","issued":{"date-parts":[[2000,1]]},"language":"eng","page":"116-127","PMID":"10657181","source":"PubMed","title":"Local Competition, Inbreeding, and the Evolution of Sex-Biased Dispersal","type":"article-journal","volume":"155"}, - {"id":"petitSurveyColumnarCacti1996","abstract":"We estimated the population sizes of the three species of columnar cacti that grow on the island of Curacao using ground and aerial transects, and we examined the island's carrying capacity for two species of nectar-feeding bats that depend on nectar from the flowers of these cacti. We calculated carrying capacity based on the daily availability of mature flowers between January and December 1993 and the field energy requirements of bats as estimated from an equation for eutherian mammals (low estimate) and one for passerine birds (high estimate) based on body mass. Additional energy requirements of pregnancy and lactation were taken into account. We estimated that 461,172 columnar cacti were present on Curacao (38% Subpilocereus repandus, 51% Stenocereus griseus, and 11% Pilosocereus lanuginosus). May through September are the critical months when bats rely most heavily on cactus for food. July 1993 was a bottleneck with the smallest number of mature flowers per day. July and August were months of greatest energy demand because females were lactating. We estimate that the carrying capacity for Glossophaga longirostris in July, when the bat (Leptonycteris curasoae) population was 900, was near 1200, an estimate that fits the observed population size of nectar-feeding bats on the island. We suggest that the extensive removal of native vegetation occurring on Curacao be strictly regulated because further destruction of the cacti will result in a decrease and potential loss of the already low populations of nectar-feeding bats.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Petit","given":"Sophie"},{"family":"Pors","given":"Leon"}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"3","issued":{"date-parts":[[1996]]},"page":"769-775","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Survey of Columnar Cacti and Carrying Capacity for Nectar-Feeding Bats on Curacao","type":"article-journal","URL":"https://www.jstor.org/stable/2387099","volume":"10"}, - {"id":"phillipsLifehistoryEvolutionRangeshifting2010a","abstract":"Most evolutionary theory does not deal with populations expanding or contracting in space. Invasive species, climate change, epidemics, and the breakdown of dispersal barriers, however, all create populations in this kind of spatial disequilibrium. Importantly, spatial disequilibrium can have important ecological and evolutionary outcomes. During continuous range expansion, for example, populations on the expanding front experience novel evolutionary pressures because frontal populations are assorted by dispersal ability and have a lower density of conspecifics than do core populations. These conditions favor the evolution of traits that increase rates of dispersal and reproduction. Additionally, lowered density on the expanding front eventually frees populations on the expanding edge from specialist, coevolved enemies, permitting higher investment into traits associated with dispersal and reproduction rather than defense against pathogens. As a result, the process of range expansion drives rapid life-history evolution, and this seems to occur despite ongoing serial founder events that have complex effects on genetic diversity at the expanding front. Traits evolving on the expanding edge are smeared across the landscape as the front moves through, leaving an ephemeral signature of range expansion in the life-history traits of a species across its newly colonized range. Recent studies suggest that such nonequilibrium processes during recent population history may have contributed to many patterns usually ascribed to evolutionary forces acting in populations at spatial equilibrium.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Phillips","given":"Benjamin L."},{"family":"Brown","given":"Gregory P."},{"family":"Shine","given":"Richard"}],"container-title":"Ecology","DOI":"10.1890/09-0910.1","ISSN":"1939-9170","issue":"6","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/09-0910.1","page":"1617-1627","source":"Wiley Online Library","title":"Life-history evolution in range-shifting populations","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/09-0910.1","volume":"91"}, - {"id":"phillipsRangeShiftPromotes2012","abstract":"Aim I investigate the counter-intuitive possibility that range shift promotes the formation of stable range edges. This might be expected because: (1) range-shifting populations typically evolve increased dispersal on the expanding range edge; (2) increased dispersal steepens the relative slope of environmental gradients (gradients appear steeper to a more dispersive population); and (3) environmental gradients that are steep relative to dispersal encourage the formation of stable range edges (when gradients appear steep, adaptation on the range edge is swamped by maladapted genes). Methods I test the idea that populations take longer to evolve across an environmental gradient when those populations have already undergone a period of spread. I do this using an individual-based coupled map lattice simulation, in which individuals carry heritable traits for dispersal probability and environment-specific fitness. Results Numerous simulations across parameter space confirm that a period of range shift almost always results in a longer time to evolve through an environmental gradient. This occurs because of both the mechanism described above and the erosion of adaptive variation resulting from the serial foundering that occurs during range advance. Main conclusions This result suggests that species may often shift their range due to intrinsic changes in the population rather than extrinsic changes in the environment. The result also suggests a new mechanism regulating the speed of invasion, and sounds a cautionary note for climate change impacts: the longer a species tracks climate change, the less able it may be to track that change into the future.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Phillips","given":"Ben L."}],"container-title":"Journal of Biogeography","DOI":"10.1111/j.1365-2699.2011.02597.x","ISSN":"1365-2699","issue":"1","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2011.02597.x","page":"153-161","source":"Wiley Online Library","title":"Range shift promotes the formation of stable range edges","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2699.2011.02597.x","volume":"39"}, - {"id":"phillipsReidParadoxRevisited2008a","abstract":"Current approaches to modeling range advance assume that the distribution describing dispersal distances in the population (the \"dispersal kernel\") is a static entity. We argue here that dispersal kernels are in fact highly dynamic during periods of range advance because density effects and spatial assortment by dispersal ability (\"spatial selection\") drive the evolution of increased dispersal on the expanding front. Using a spatially explicit individual-based model, we demonstrate this effect under a wide variety of population growth rates and dispersal costs. We then test the possibility of an evolved shift in dispersal kernels by measuring dispersal rates in individual cane toads (Bufo marinus) from invasive populations in Australia (historically, toads advanced their range at 10 km/year, but now they achieve >55 km/year in the northern part of their range). Under a common-garden design, we found a steady increase in dispersal tendency with distance from the invasion origin. Dispersal kernels on the invading front were less kurtotic and less skewed than those from origin populations. Thus, toads have increased their rate of range expansion partly through increased dispersal on the expanding front. For accurate long-range forecasts of range advance, we need to take into account the potential for dispersal kernels to be evolutionarily dynamic.","author":[{"family":"Phillips","given":"Benjamin L."},{"family":"Brown","given":"Gregory P."},{"family":"Travis","given":"Justin M. J."},{"family":"Shine","given":"Richard"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/588255","ISSN":"1537-5323","issued":{"date-parts":[[2008,7]]},"language":"eng","page":"S34-48","PMID":"18554142","source":"PubMed","title":"Reid's paradox revisited: the evolution of dispersal kernels during range expansion","title-short":"Reid's paradox revisited","type":"article-journal","volume":"172 Suppl 1"}, - {"id":"plotnickGeneralModelSimulating2002","abstract":"An individual-based, spatially explicit stochastic lattice model, CAPS, was designed to examine multiple processes responsible for spatial patterns of abundance and diversity of sessile species in heterogeneous landscapes. Species simulated by CAPS differ in habitat preferences (niche width), dispersal of propagules, and relative fecundity. The spatial distribution of habitat types are represented as heterogeneous gridded landscapes. The outcome of competition and establishment processes in successive generations is determined locally via a seed lottery. A series of 200 year-long simulations was performed to investigate the effects of variation in species characteristics and competition, landscape heterogeneity, and disturbance on patterns of species abundances. The outcome of competition was most sensitive to differences in fecundity between species, the spatial distribution of suitable habitat and the initial distribution of species. Species with a narrow niche were confined to a single habitat type and remained at or near their initialization sites. Broader niches resulted in increasing niche overlap and competition but enhanced species mobility, allowing abundance levels to approach expected values determined by map resources. Even so, initial distributions still affected the spatial patterns of species distributions at year 200. Disturbance regimes were simulated by varying the frequency, extent and spatial pattern of disturbances. Disturbance events removed species from affected sites but did not otherwise alter habitat characteristics. Results showed that disturbances may lead to a reversal in competition and establishment, dependent on species-specific differences in fecundity and dispersal. Although intermediate levels of disturbance frequency and extent increased the probability of species coexistence, the spatial pattern of disturbance played an unexpectedly important role in the tradeoff between dispersal and fecundity. The ability to simulate multiple factors affecting patterns of persistence, abundance and spatial distribution of species provided by CAPS allows new insight into the temporal and spatial patterns of community development.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Plotnick","given":"Roy E"},{"family":"Gardner","given":"Robert H"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/S0304-3800(01)00418-5","ISSN":"0304-3800","issue":"2","issued":{"date-parts":[[2002,1,15]]},"language":"en","page":"171-197","source":"ScienceDirect","title":"A general model for simulating the effects of landscape heterogeneity and disturbance on community patterns","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380001004185","volume":"147"}, - {"id":"poethkeAbilityIndividualsAssess2011","abstract":"We analyze the simultaneous evolution of emigration and settlement decisions for actively dispersing species differing in their ability to assess population density. Using an individual-based model we simulate dispersal as a multi-step (patch to patch) movement in a world consisting of habitat patches surrounded by a hostile matrix. Each such step is associated with the same mortality risk. Our simulations show that individuals following an informed strategy, where emigration (and settlement) probability depends on local population density, evolve a lower (natal) emigration propensity but disperse over significantly larger distances - i.e. postpone settlement longer - than individuals performing density-independent emigration. This holds especially when variation in environmental conditions is spatially correlated. Both effects can be traced to the informed individuals' ability to better exploit existing heterogeneity in reproductive chances. Yet, already moderate distance-dependent dispersal costs prevent the evolution of multi-step (long-distance) dispersal, irrespective of the dispersal strategy.","author":[{"family":"Poethke","given":"Hans Joachim"},{"family":"Gros","given":"Andreas"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"Journal of Theoretical Biology","container-title-short":"J Theor Biol","DOI":"10.1016/j.jtbi.2011.05.012","ISSN":"1095-8541","issue":"1","issued":{"date-parts":[[2011,8,7]]},"language":"eng","page":"93-99","PMID":"21605568","source":"PubMed","title":"The ability of individuals to assess population density influences the evolution of emigration propensity and dispersal distance","type":"article-journal","volume":"282"}, - {"id":"poethkeEvolutionDensityPatch2002","abstract":"Based on a marginal value approach, we derive a nonlinear expression for evolutionarily stable (ES) dispersal rates in a metapopulation with global dispersal. For the general case of densityâ€dependent population growth, our analysis shows that individual dispersal rates should decrease with patch capacity and—beyond a certain threshold–increase with population density. We performed a number of spatially explicit, individualâ€based simulation experiments to test these predictions and to explore further the relevance of variation in the rate of population increase, density dependence, environmental fluctuations and dispersal mortality on the evolution of dispersal rates. They confirm the predictions of our analytical approach. In addition, they show that dispersal rates in metapopulations mostly depend on dispersal mortality and interâ€patch variation in population density. The latter is dominantly driven by environmental fluctuations and the rate of population increase. These conclusions are not altered by the introduction of neighbourhood dispersal. With patch capacities in the order of 100 individuals, kin competition seems to be of negligible importance for ES dispersal rates except when overall dispersal rates are low.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Poethke","given":"Hans Joachim"},{"family":"Hovestadt","given":"Thomas"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.2001.1936","issue":"1491","issued":{"date-parts":[[2002,3,22]]},"page":"637-645","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Evolution of density–and patch–size–dependent dispersal rates","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2001.1936","volume":"269"}, - {"id":"poyrySpeciesTraitsExplain2009","abstract":"This study provides a novel systematic comparative analysis of the species characteristics affecting the range margin shifts in butterflies towards higher latitudes, while taking phylogenetic relatedness among species into account. We related observed changes in the northern range margins of 48 butterfly species in Finland between two time periods (1992–1996 and 2000–2004) to 11 species traits. Species with positive records in at least ten 10 km Ă— 10 km grid squares (in the Finnish National Butterfly Recording Scheme, NAFI) in both periods were included in the study. When corrected for range size change, the 48 butterfly species had shifted their range margins northwards on average by 59.9 km between the study periods, with maximum shifts of over 300 km for three species. This rate of range shifts exceeds all previously reported records worldwide. Our findings may be explained by two factors: the study region is situated in higher latitudes than in most previous studies and it focuses on the period of most prominent warming during the last 10–15 years. Several species traits exhibited a significant univariate relationship with the range margin shift according to generalized estimation equations (GEE) taking into account the phylogenetic relatedness among species. Nonthreatened butterflies had on average expanded their ranges strongly northwards (84.5 km), whereas the distributions of threatened species were stationary (â’2.1 km). Hierarchical partitioning (HP) analysis indicated that mobile butterflies living in forest edges and using woody plants as their larval hosts exhibited largest range shifts towards the north. Thus, habitat availability and dispersal capacity of butterfly species are likely to determine whether they will be successful in shifting their ranges in response to the warming climate.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Pöyry","given":"Juha"},{"family":"Luoto","given":"Miska"},{"family":"Heikkinen","given":"Risto K."},{"family":"Kuussaari","given":"Mikko"},{"family":"Saarinen","given":"Kimmo"}],"container-title":"Global Change Biology","DOI":"10.1111/j.1365-2486.2008.01789.x","ISSN":"1365-2486","issue":"3","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2486.2008.01789.x","page":"732-743","source":"Wiley Online Library","title":"Species traits explain recent range shifts of Finnish butterflies","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2486.2008.01789.x","volume":"15"}, - {"id":"revillaEffectsMatrixHeterogeneity2004","abstract":"Mounting theoretical and empirical evidence shows that matrix heterogeneity may have contrasting effects on metapopulation dynamics by contributing to patch isolation in nontrivial ways. We analyze the movement properties during interpatch dispersal in a metapopulation of Iberian lynx (Lynx pardinus). On a daily temporal scale, lynx habitat selection defines two types of matrix habitats where individuals may move: open and dispersal habitats (avoided and used as available, respectively). There was a strong and complex impact of matrix heterogeneity on movement properties at several temporal scales (hourly and daily radiolocations and the entire dispersal event). We use the movement properties on the hourly temporal scale to build a simulation model to reconstruct individual dispersal events. The two most important parameters affecting model predictions at both the individual (daily) and metapopulation scales were related to the movement capacity (number of movement steps per day and autocorrelation in dispersal habitat) followed by the parameters representing the habitat selection in the matrix. The model adequately reproduced field estimates of populationâ€level parameters (e.g., interpatch connectivity, maximum and final dispersal distances), and its performance was clearly improved when including the effect of matrix heterogeneity on movement properties. To assume there is a homogeneous matrix results in large errors in the estimate of interpatch connectivity, especially for close patches separated by open habitat or corridors of dispersal habitat, showing how important it is to consider matrix heterogeneity when it is present. Movement properties affect the interaction of dispersing individuals with the landscape and can be used as a mechanistic representation of dispersal at the metapopulation level. This is so when the effect of matrix heterogeneity on movement properties is evaluated under biologically meaningful spatial and temporal scales.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Revilla","given":"Eloy"},{"family":"Wiegand","given":"Thorsten"},{"family":"Palomares","given":"Francisco"},{"family":"Ferreras","given":"Pablo"},{"family":"Delibes","given":"Miguel"}],"container-title":"The American Naturalist","DOI":"10.1086/424767","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[2004,11,1]]},"page":"E130-E153","publisher":"The University of Chicago Press","source":"journals.uchicago.edu (Atypon)","title":"Effects of Matrix Heterogeneity on Animal Dispersal: From Individual Behavior to Metapopulationâ€Level Parameters.","title-short":"Effects of Matrix Heterogeneity on Animal Dispersal","type":"article-journal","URL":"https://www.journals.uchicago.edu/doi/full/10.1086/424767","volume":"164"}, - {"id":"revillaIndividualMovementBehavior2008a","abstract":"The dynamics of spatially structured populations is characterized by within- and between-patch processes. The available theory describes the latter with simple distance-dependent functions that depend on landscape properties such as interpatch distance or patch size. Despite its potential role, we lack a good mechanistic understanding of how the movement of individuals between patches affects the dynamics of these populations. We used the theoretical framework provided by movement ecology to make a direct representation of the processes determining how individuals connect local populations in a spatially structured population of Iberian lynx. Interpatch processes depended on the heterogeneity of the matrix where patches are embedded and the parameters defining individual movement behavior. They were also very sensitive to the dynamic demographic variables limiting the time moving, the within-patch dynamics of available settlement sites (both spatiotemporally heterogeneous) and the response of individuals to the perceived risk while moving. These context-dependent dynamic factors are an inherent part of the movement process, producing connectivities and dispersal kernels whose variability is affected by other demographic processes. Mechanistic representations of interpatch movements, such as the one provided by the movement-ecology framework, permit the dynamic interaction of birth–death processes and individual movement behavior, thus improving our understanding of stochastic spatially structured populations.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Revilla","given":"Eloy"},{"family":"Wiegand","given":"Thorsten"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0801725105","ISSN":"0027-8424, 1091-6490","issue":"49","issued":{"date-parts":[[2008,12,9]]},"language":"en","page":"19120-19125","PMID":"19060193","publisher":"National Academy of Sciences","section":"Research Article","source":"www.pnas.org","title":"Individual movement behavior, matrix heterogeneity, and the dynamics of spatially structured populations","type":"article-journal","URL":"https://www.pnas.org/content/105/49/19120","volume":"105"}, - {"id":"rickettsMatrixMattersEffective2001","abstract":"Traditional approaches to the study of fragmented landscapes invoke an island-ocean model and assume that the nonhabitat matrix surrounding remnant patches is uniform. Patch isolation, a crucial parameter to the predictions of island biogeography and metapopulation theories, is measured by distance alone. To test whether the type of interpatch matrix can contribute significantly to patch isolation, I conducted a mark-recapture study on a butterfly community inhabiting meadows in a naturally patchy landscape. I used maximum likelihood to estimate the relative resistances of the two major matrix types (willow thicket and conifer forest) to butterfly movement between meadow patches. For four of the six butterfly taxa (subfamilies or tribes) studied, conifer was 3-12 times more resistant than willow. For the two remaining taxa (the most vagile and least vagile in the community), resistance estimates for willow and conifer were not significantly different, indicating that responses to matrix differ even among closely related species. These results suggest that the surrounding matrix can significantly influence the \"effective isolation\" of habitat patches, rendering them more or less isolated than simple distance or classic models would indicate. Modification of the matrix may provide opportunities for reducing patch isolation and thus the extinction risk of populations in fragmented landscapes.","author":[{"family":"Ricketts","given":"T. H."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/320863","ISSN":"1537-5323","issue":"1","issued":{"date-parts":[[2001,7]]},"language":"eng","page":"87-99","PMID":"18707317","source":"PubMed","title":"The matrix matters: effective isolation in fragmented landscapes","title-short":"The matrix matters","type":"article-journal","volume":"158"}, - {"id":"ripaNoiseColourRisk1996","abstract":"A recurrent problem in ecology and conservation biology is to estimate the risk of population extinctions. Extinction probabilities are not only imperative for conservation and management, but may also elucidate basic mechanisms of the regulation of natural populations (Burgman et al. 1993; Pimm 1994). The usual way of modelling stochastic influence on population dynamics has been to assume that the external noise is uncorrelated. This means that each and every randomly drawn noise value is totally independent on previous ones. This is what is generally called â€white’ noise. However, the noise itself can be temporally autocorrelated. That is, the values of the random numbers used in the noise process will depend on previous ones. Here we show that the autocorrelation, or colour, of the external noise assumed to influence population dynamics strongly modifies estimated extinction probabilities. For positively autocorrelated (â€red’) noise, the risk of extinction clearly decreases the stronger the autocorrelation is, Negatively autocorrelated (â€blue’) noise is more ambiguously related to extinction probability. Thus, the commonly assumed white noise in population modelling will severely bias population extinction risk estimates. Moreover, the extinction probability estimates are also significantly dependent on model structure which calls for a cautious use of traditional discrete-time models.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ripa","given":"Jörgen"},{"family":"Lundberg","given":"Per"}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.1996.0256","issue":"1377","issued":{"date-parts":[[1996,12,22]]},"page":"1751-1753","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Noise colour and the risk of population extinctions","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.1996.0256","volume":"263"}, - {"id":"robertVariationIndividualsDemographic2003","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Robert","given":"Alexandre"},{"family":"Sarrazin","given":"François"},{"family":"Couvet","given":"Denis"}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"4","issued":{"date-parts":[[2003]]},"page":"1166-1169","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Variation among Individuals, Demographic Stochasticity, and Extinction: Response to Kendall and Fox","title-short":"Variation among Individuals, Demographic Stochasticity, and Extinction","type":"article-journal","URL":"https://www.jstor.org/stable/3588874","volume":"17"}, - {"id":"ronceDispersalSyndromes2012","abstract":"This chapter focuses on dispersal syndromes and how they describe patterns of covariation of morphological, behavioural, and/or life-history traits associated with dispersal. Covariation is a continuous measure of statistical association between traits composing a complex phenotype. There are four main reasons why this chapter is interested in covariation: firstly, syndromes may help us predict a priori, from the observation of dispersal phenotypes, the intensity, nature, and modalities of movement. Secondly, they have the potential to provide information regarding the mechanistic determinants of dispersal and the constraints associated with movement. Thirdly, they may provide information about the proximate motivations and ultimate causes of dispersal. Lastly, and most convincingly, the patterns of covariation between traits associated with dispersal will critically affect both the demographic and genetic consequences of movement.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ronce","given":"OphĂ©lie"},{"family":"Clobert","given":"Jean"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0010","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal syndromes","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-10"}, - {"id":"ronceHowDoesIt2007a","abstract":"This review proposes ten tentative answers to frequently asked questions about dispersal evolution. I examine methodological issues, model assumptions and predictions, and their relation to empirical data. Study of dispersal evolution points to the many ecological and genetic feedbacks affecting the evolution of this complex trait, which has contributed to our better understanding of life-history evolution in spatially structured populations. Several lines of research are suggested to ameliorate the exchanges between theoretical and empirical studies of dispersal evolution.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ronce","given":"OphĂ©lie"}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.38.091206.095611","issue":"1","issued":{"date-parts":[[2007]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.38.091206.095611","page":"231-253","source":"Annual Reviews","title":"How Does It Feel to Be Like a Rolling Stone? Ten Questions About Dispersal Evolution","title-short":"How Does It Feel to Be Like a Rolling Stone?","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.38.091206.095611","volume":"38"}, - {"id":"ronceLandscapeDynamicsEvolution2000","abstract":"The evolutionary consequences of changes in landscape dynamics for the evolution of life history syndromes are studied using a metapopulation model. We consider in turn the long-term effects of a change in the local disturbance rate, in the maximal local population persistence, in habitat productivity, and in habitat fragmentation. We examine the consequences of selective interactions between dispersal and reproductive effort by comparing the outcome of joint evolution to a situation where the species has lost the potential to evolve either its reproductive effort or its dispersal rate. We relax the classical assumption that any occupied site in the metapopulation reaches its carrying capacity immediately after recolonization. Our main conclusions are the following: (1) genetic diversity modifies the range of landscape parameters for which the metapopulation is viable, but it alters very little the qualitative evolutionary trends observed for each trait within this range. Although they are both part of a competition/colonization axis, reproductive effort and dispersal are not substitutable traits: their evolution reflects more directly the change in the landscape dynamics, than a selective interaction among them. (2) no general syndrome of covariation between reproductive effort and dispersal can be predicted: the pattern of association between the two traits depends on the type of change in landscape dynamics and on the saturation level. We review empirical evidence on colonizer syndromes and suggest lines for further empirical work.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ronce","given":"OphĂ©lie"},{"family":"Perret","given":"Florence"},{"family":"Olivieri","given":"Isabelle"}],"container-title":"Evolutionary Ecology","container-title-short":"Evolutionary Ecology","DOI":"10.1023/A:1011068005057","ISSN":"1573-8477","issue":"3","issued":{"date-parts":[[2000,5,1]]},"language":"en","page":"233-260","source":"Springer Link","title":"Landscape dynamics and evolution of colonizer syndromes: interactions between reproductive effortand dispersal in a metapopulation","title-short":"Landscape dynamics and evolution of colonizer syndromes","type":"article-journal","URL":"https://doi.org/10.1023/A:1011068005057","volume":"14"}, - {"id":"roussetEvolutionDistributionDispersal2002","abstract":"We analyse the evolution of the distribution of dispersal distances in a stable and homogeneous environment in one- and two-dimensional habitats. In this model, dispersal evolves to avoid the competition between relatives although some cost might be associated with this behaviour. The evolutionarily stable dispersal distribution is characterized by an equilibration of the fitness gains among all the different dispersal distances. This cost-benefit argument has heuristic value and facilitates the comprehension of results obtained numerically. In particular, it explains why some minimal or maximal probability of dispersal may evolve at intermediate distances when the cost of dispersal function is an increasing function of distance. We also show that kin selection may favour long range dispersal even if the survival cost of dispersal is very high, provided the survival probability does not vanish at long distances.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Rousset","given":"F."},{"family":"Gandon","given":"S."}],"container-title":"Journal of Evolutionary Biology","DOI":"10.1046/j.1420-9101.2002.00430.x","ISSN":"1420-9101","issue":"4","issued":{"date-parts":[[2002]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1046/j.1420-9101.2002.00430.x","page":"515-523","source":"Wiley Online Library","title":"Evolution of the distribution of dispersal distance under distance-dependent cost of dispersal","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1046/j.1420-9101.2002.00430.x","volume":"15"}, - {"id":"ruokolainenEcologicalEvolutionaryDynamics2009","abstract":"Environmental variation is a ubiquitous component of individual, population and community processes in the natural world. Here, we review the consequences of spatio-temporally autocorrelated (coloured) environmental variation for ecological and evolutionary population dynamics. In single-species population models, environmental reddening increases (decreases) the amplitude of fluctuations in undercompensatory (overcompensatory) populations. This general result is also found in structurally more complex models (e.g. with space or species interactions). Environmental autocorrelation will also influence evolutionary dynamics as the changing environment is filtered through ecological dynamics. In the context of long-term environmental change, it becomes crucial to understand the potential impacts of different regimes of environmental variation at different scales of organization, from genes to species to communities.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ruokolainen","given":"Lasse"},{"family":"LindĂ©n","given":"Andreas"},{"family":"Kaitala","given":"Veijo"},{"family":"Fowler","given":"Mike S."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends in Ecology & Evolution","DOI":"10.1016/j.tree.2009.04.009","ISSN":"0169-5347","issue":"10","issued":{"date-parts":[[2009,10,1]]},"language":"en","page":"555-563","source":"ScienceDirect","title":"Ecological and evolutionary dynamics under coloured environmental variation","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0169534709001864","volume":"24"}, - {"id":"ruxtonFitnessDependentDispersal1998","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Ruxton","given":"G. D."},{"family":"Rohani","given":"P"}],"container-title":"Journal of Animal Ecology","issue":"67","issued":{"date-parts":[[1998]]},"page":"530-539","title":"Fitnessâ€dependent dispersal in metapopulations and its consequences for persistence and synchrony","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/10.1046/j.1365-2656.1999.00300.x"}, - {"id":"saupeAlgorithmsRandomFractals1988","abstract":"For about 200 years now mathematicians have developed the theory of smooth curves and surfaces in two, three or higher dimensions. These are curves and surfaces that globally may have a very complicated structure but in small neighborhoods they are just straight lines or planes. The discipline that deals with these objects is differential geometry. It is one of the most evolved and fascinating subjects in mathematics. On the other hand fractals feature just the opposite of smoothness. While the smooth objects do not yield any more detail on smaller scales a fractal possesses infinite detail at all scales no matter how small they are. The fascination that surrounds fractals has two roots: Fractals are very suitable to simulate many natural phenomena. Stunning pictures have already been produced, and it will not take very long until an uninitiated observer will no longer be able to tell whether a given scene is natural or just computer simulated. The other reason is that fractals are simple to generate on computers. In order to generate a fractal one does not have to be an expert of an involved theory such as calculus, which is necessary for differential geometry. More importantly, the complexity of a fractal, when measured in terms of the length of the shortest computer program that can generate it, is very small.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Saupe","given":"Dietmar"}],"container-title":"The Science of Fractal Images","DOI":"10.1007/978-1-4612-3784-6_2","editor":[{"family":"Barnsley","given":"Michael F."},{"family":"Devaney","given":"Robert L."},{"family":"Mandelbrot","given":"Benoit B."},{"family":"Peitgen","given":"Heinz-Otto"},{"family":"Saupe","given":"Dietmar"},{"family":"Voss","given":"Richard F."},{"family":"Peitgen","given":"Heinz-Otto"},{"family":"Saupe","given":"Dietmar"}],"event-place":"New York, NY","ISBN":"978-1-4612-3784-6","issued":{"date-parts":[[1988]]},"language":"en","page":"71-136","publisher":"Springer","publisher-place":"New York, NY","source":"Springer Link","title":"Algorithms for random fractals","type":"chapter","URL":"https://doi.org/10.1007/978-1-4612-3784-6_2"}, - {"id":"schiffersLimitedEvolutionaryRescue2013","abstract":"Dispersal is a key determinant of a population's evolutionary potential. It facilitates the propagation of beneficial alleles throughout the distributional range of spatially outspread populations and increases the speed of adaptation. However, when habitat is heterogeneous and individuals are locally adapted, dispersal may, at the same time, reduce fitness through increasing maladaptation. Here, we use a spatially explicit, allelic simulation model to quantify how these equivocal effects of dispersal affect a population's evolutionary response to changing climate. Individuals carry a diploid set of chromosomes, with alleles coding for adaptation to non-climatic environmental conditions and climatic conditions, respectively. Our model results demonstrate that the interplay between gene flow and habitat heterogeneity may decrease effective dispersal and population size to such an extent that substantially reduces the likelihood of evolutionary rescue. Importantly, even when evolutionary rescue saves a population from extinction, its spatial range following climate change may be strongly narrowed, that is, the rescue is only partial. These findings emphasize that neglecting the impact of non-climatic, local adaptation might lead to a considerable overestimation of a population's evolvability under rapid environmental change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schiffers","given":"Katja"},{"family":"Bourne","given":"Elizabeth C."},{"family":"Lavergne","given":"SĂ©bastien"},{"family":"Thuiller","given":"Wilfried"},{"family":"Travis","given":"Justin M. J."}],"container-title":"Philosophical Transactions of the Royal Society B: Biological Sciences","container-title-short":"Philos Trans R Soc Lond B Biol Sci","DOI":"10.1098/rstb.2012.0083","ISSN":"0962-8436","issue":"1610","issued":{"date-parts":[[2013,1,19]]},"page":"20120083","PMCID":"PMC3538450","PMID":"23209165","source":"PubMed Central","title":"Limited evolutionary rescue of locally adapted populations facing climate change","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3538450/","volume":"368"}, - {"id":"schtickzelleBehaviouralResponsesHabitat2003","abstract":"We studied the consequences of behaviour at habitat patch boundaries on dispersal for the bog fritillary butterfly Proclossiana eunomia Esper in two networks of habitat differing in fragmentation and matrix quality. We tested for differences in responses to patch boundaries according to the fragmentation level of the network by analysing movement paths of adult butterflies. Butterflies systematically engaged in U-turns when they reached a boundary in the fragmented network while they crossed over boundaries in more than 40% of boundary encounters in the continuous one. We applied the Virtual Migration model (Hanski, Alho & Moilanen 2000) to capture–mark–recapture data collected in both networks. The model indicated (i) a lower dispersal rate and (ii) a lower survival during dispersal in the fragmented network. This latter difference is likely to be the key biological process leading to behavioural avoidance of patch boundary crossings. On the basis of this behavioural difference, we designed an individual-based simulation model to explore the relationship between patch area, boundary permeability and emigration rate. Predictions of the model fitted observed results of the effect of patch area on emigration rate according to fragmentation: butterflies are more likely to leave small patches than large ones in fragmented landscapes (where patch boundary permeability is low), while this relationship disappears in more continuous landscapes (where patch boundary permeability is high).","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schtickzelle","given":"Nicolas"},{"family":"Baguette","given":"Michel"}],"container-title":"Journal of Animal Ecology","DOI":"10.1046/j.1365-2656.2003.00723.x","ISSN":"1365-2656","issue":"4","issued":{"date-parts":[[2003]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1365-2656.2003.00723.x","page":"533-545","source":"Wiley Online Library","title":"Behavioural responses to habitat patch boundaries restrict dispersal and generate emigration–patch area relationships in fragmented landscapes","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1046/j.1365-2656.2003.00723.x","volume":"72"}, - {"id":"schtickzelleDispersalDepressionHabitat2006","abstract":"Habitat fragmentation is expected to impose strong selective pressures on dispersal rates. However, evolutionary responses of dispersal are not self-evident, since various selection pressures act in opposite directions. Here we disentangled the components of dispersal behavior in a metapopulation context using the Virtual Migration model, and we linked their variation to habitat fragmentation in the specialist butterfly Proclossiana eunomia. Our study provided a nearly unique opportunity to study how habitat fragmentation modifies dispersal at the landscape scale, as opposed to microlandscapes or simulation studies. Indeed, we studied the same species in four landscapes with various habitat fragmentation levels, in which large amounts of field data were collected and analyzed using similar methodologies. We showed the existence of quantitative variations in dispersal behavior correlated with increased fragmentation. Dispersal propensity from habitat patches (for a given patch size), and mortality during dispersal (for a given patch connectivity) were lower in more fragmented landscapes. We suggest that these were the consequences of two different evolutionary responses of dispersal behavior at the individual level: (1) when fragmentation increased, the reluctance of individuals to cross habitat patch boundaries also increased; (2) when individuals dispersed, they flew straighter in the matrix, which is the best strategy to improve dispersal success. Such evolutionary responses could generate complex nonlinear patterns of dispersal changes at the metapopulation level according to habitat fragmentation. Due to the small size and increased isolation of habitat patches in fragmented landscapes, overall emigration rate and mortality during dispersal remained high. As a consequence, successful dispersal at the metapopulation scale remained limited. Therefore, to what extent the selection of individuals with a lower dispersal propensity and a higher survival during dispersal is able to limit detrimental effects of habitat fragmentation on dispersal success is unknown, and any conclusion that metapopulations would compensate for them is flawed.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schtickzelle","given":"Nicolas"},{"family":"Mennechez","given":"GwĂ©naĂ«lle"},{"family":"Baguette","given":"Michel"},{"family":"Mennechez","given":"GwĂ©nnaĂ«lle"}],"container-title":"Ecology","ISSN":"0012-9658","issue":"4","issued":{"date-parts":[[2006]]},"page":"1057-1065","publisher":"Ecological Society of America","source":"JSTOR","title":"Dispersal Depression with Habitat Fragmentation in the Bog Fritillary Butterfly","type":"article-journal","URL":"https://www.jstor.org/stable/20069035","volume":"87"}, - {"id":"schtickzelleTemporalVariationDispersal2012","abstract":"This chapter aims to quantify the temporal variation existing in the dispersal kernel by making the kernels comparable. Variation of dispersal kernels in time has received less attention, even if temporal change in dispersal rates among local populations has been repeatedly documented in the metapopulation literature. Changes in individual mobility that generate temporal shifts in dispersal kernels would obviously be context- and phenotypic-dependent. Both environmental conditions and conspecific density are thus expected to play a central role in temporal variation of dispersal kernels. This chapter uses standardized capture-mark-recapture (CMR) data from long-term monitoring of bog fritillary butterfly, Boloria eunomia, metapopulation dynamics in a single landscape to investigate the amount of temporal variability and the amount of this temporal variability that has been explained by climatic variables and conspecific density.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schtickzelle","given":"Nicolas"},{"family":"Turlure","given":"Camille"},{"family":"Baguette","given":"Michel"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0018","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Temporal variation in dispersal kernels in a metapopulation of the bog fritillary butterfly (Boloria eunomia)","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-18"}, - {"id":"schultzEdgeMediatedDispersalBehavior2001","abstract":"Animal responses to habitat boundaries will influence the effects of habitat fragmentation on population dynamics. Although this is an intuitive and often observed animal behavior, the influences of habitat boundaries have rarely been quantified in the field or considered in theoretical models of large scale processes. We quantified movement behavior of the Fender's blue butterfly (Icaricia icarioides fenderi) as a function of distance from host-plant patches. We measured the butterfly's tendency to move toward habitat patches (bias) and their tendency to continue to move in the direction they were already going (correlation). We found that butterflies significantly modify their behavior within 10-22 m from the habitat boundary. We used these data to predict large scale patterns of residence time as a function of patch size, using three dispersal models: homogeneous response to habitat, heterogeneous response to habitat, and heterogeneous response to habitat with edge-mediated behavior. We simulated movement for males and females in eight patch sizes (0.1-8 ha) and asked how residence time varies among the models. We found that adding edge-mediated behavior significantly increases the residence of Fender's blue butterflies in their natal patch. Only the model with edge-mediated behavior for females was consistent with independent mark-release-recapture (MRR) estimates of residence time; other models dramatically underestimated residence times, relative to MRR data.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schultz","given":"Cheryl B."},{"family":"Crone","given":"Elizabeth E."}],"container-title":"Ecology","DOI":"10.2307/2680054","ISSN":"0012-9658","issue":"7","issued":{"date-parts":[[2001]]},"page":"1879-1892","publisher":"Ecological Society of America","source":"JSTOR","title":"Edge-Mediated Dispersal Behavior in a Prairie Butterfly","type":"article-journal","URL":"https://www.jstor.org/stable/2680054","volume":"82"}, - {"id":"schurrHowRandomDispersal2012","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schurr","given":"F. M."}],"container-title":"Dispersal Ecology and Evolution","editor":[{"family":"Clobert","given":"J"},{"family":"Baguette","given":"M"},{"family":"Benton","given":"T G"},{"family":"Bullock","given":"J M"}],"issued":{"date-parts":[[2012]]},"page":"240-247","publisher":"Oxford University Press","title":"How random is dispersal? From stochasticity to process in the description of seed movement","type":"chapter","URL":"https://oxford.universitypressscholarship.com/view/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-19"}, - {"id":"schurrHowUnderstandSpecies2012","abstract":"Range dynamics causes mismatches between a species’ geographical distribution and the set of suitable environments in which population growth is positive (the Hutchinsonian niche). This is because source–sink population dynamics cause species to occupy unsuitable environments, and because environmental change creates non-equilibrium situations in which species may be absent from suitable environments (due to migration limitation) or present in unsuitable environments that were previously suitable (due to time-delayed extinction). Because correlative species distribution models do not account for these processes, they are likely to produce biased niche estimates and biased forecasts of future range dynamics. Recently developed dynamic range models (DRMs) overcome this problem: they statistically estimate both range dynamics and the underlying environmental response of demographic rates from species distribution data. This process-based statistical approach qualitatively advances biogeographical analyses. Yet, the application of DRMs to a broad range of species and study systems requires substantial research efforts in statistical modelling, empirical data collection and ecological theory. Here we review current and potential contributions of these fields to a demographic understanding of niches and range dynamics. Our review serves to formulate a demographic research agenda that entails: (1) advances in incorporating process-based models of demographic responses and range dynamics into a statistical framework, (2) systematic collection of data on temporal changes in distribution and abundance and on the response of demographic rates to environmental variation, and (3) improved theoretical understanding of the scaling of demographic rates and the dynamics of spatially coupled populations. This demographic research agenda is challenging but necessary for improved comprehension and quantification of niches and range dynamics. It also forms the basis for understanding how niches and range dynamics are shaped by evolutionary dynamics and biotic interactions. Ultimately, the demographic research agenda should lead to deeper integration of biogeography with empirical and theoretical ecology.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schurr","given":"Frank M."},{"family":"Pagel","given":"Jörn"},{"family":"Cabral","given":"Juliano Sarmento"},{"family":"Groeneveld","given":"JĂĽrgen"},{"family":"Bykova","given":"Olga"},{"family":"O’Hara","given":"Robert B."},{"family":"Hartig","given":"Florian"},{"family":"Kissling","given":"W. Daniel"},{"family":"Linder","given":"H. Peter"},{"family":"Midgley","given":"Guy F."},{"family":"Schröder","given":"Boris"},{"family":"Singer","given":"Alexander"},{"family":"Zimmermann","given":"Niklaus E."}],"container-title":"Journal of Biogeography","DOI":"10.1111/j.1365-2699.2012.02737.x","ISSN":"1365-2699","issue":"12","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2699.2012.02737.x","page":"2146-2162","source":"Wiley Online Library","title":"How to understand species’ niches and range dynamics: a demographic research agenda for biogeography","title-short":"How to understand species’ niches and range dynamics","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2699.2012.02737.x","volume":"39"}, - {"id":"schwagerDoesRedNoise2006","abstract":"Recent theoretical studies have shown contrasting effects of temporal correlation of environmental fluctuations (red noise) on the risk of population extinction. It is still debated whether and under which conditions red noise increases or decreases extinction risk compared with uncorrelated (white) noise. Here, we explain the opposing effects by introducing two features of red noise time series. On the one hand, positive autocorrelation increases the probability of series of poor environmental conditions, implying increasing extinction risk. On the other hand, for a given time period, the probability of at least one extremely bad year (\"catastrophe\") is reduced compared with white noise, implying decreasing extinction risk. Which of these two features determines extinction risk depends on the strength of environmental fluctuations and the sensitivity of population dynamics to these fluctuations. If extreme (catastrophic) events can occur (strong noise) or sensitivity is high (overcompensatory density dependence), then temporal correlation decreases extinction risk; otherwise, it increases it. Thus, our results provide a simple explanation for the contrasting previous findings and are a crucial step toward a general understanding of the effect of noise color on extinction risk.","author":[{"family":"Schwager","given":"Monika"},{"family":"Johst","given":"Karin"},{"family":"Jeltsch","given":"Florian"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/503609","ISSN":"1537-5323","issue":"6","issued":{"date-parts":[[2006,6]]},"language":"eng","page":"879-888","PMID":"16615033","source":"PubMed","title":"Does red noise increase or decrease extinction risk? Single extreme events versus series of unfavorable conditions","title-short":"Does red noise increase or decrease extinction risk?","type":"article-journal","volume":"167"}, - {"id":"schymanskiProcessCorrelationParameter2013","abstract":"In a recent article (Dormann et al., 2012, Journal of Biogeography, 39, 2119—2131), we compared different approaches to species distribution modelling and depicted modelling approaches along an axis from purely 'correlative' to 'forward process-based' models. In their correspondence, Kriticos et al. (2013, Journal of Biogeography, doi:10.1111/j.1365-2699.2012.02791.x) challenge this view, claiming that our continuum representation neglects differences among models and does not consider the ability of fitted process-based models to combine the advantages of both process-based and correlative modelling approaches. Here we clarify that the continuum view resulted from recognition of the manifold differences between models. We also reinforce the point that the current trend towards combining different modelling approaches may lead not only to the desired combination of the advantages but also to the accumulation of the disadvantages of those approaches. This point has not been made sufficiently clear previously.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Schymanski","given":"Stanislaus J."},{"family":"Dormann","given":"Carsten F."},{"family":"Cabral","given":"Juliano"},{"family":"Chuine","given":"Isabelle"},{"family":"Graham","given":"Catherine H."},{"family":"Hartig","given":"Florian"},{"family":"Kearney","given":"Michael"},{"family":"Morin","given":"Xavier"},{"family":"Römermann","given":"Christine"},{"family":"Schröder","given":"Boris"},{"family":"Singer","given":"Alexander"}],"container-title":"Journal of Biogeography","ISSN":"0305-0270","issue":"3","issued":{"date-parts":[[2013]]},"page":"611-613","publisher":"Wiley","source":"JSTOR","title":"Process, correlation and parameter fitting in species distribution models: a response to Kriticos et al.","title-short":"Process, correlation and parameter fitting in species distribution models","type":"article-journal","URL":"https://www.jstor.org/stable/23354625","volume":"40"}, - {"id":"sextonEvolutionEcologySpecies2009","abstract":"Species range limits involve many aspects of evolution and ecology, from species distribution and abundance to the evolution of niches. Theory suggests myriad processes by which range limits arise, including competitive exclusion, Allee effects, and gene swamping; however, most models remain empirically untested. Range limits are correlated with a number of abiotic and biotic factors, but further experimentation is needed to understand underlying mechanisms. Range edges are characterized by increased genetic isolation, genetic differentiation, and variability in individual and population performance, but evidence for decreased abundance and fitness is lacking. Evolution of range limits is understudied in natural systems; in particular, the role of gene flow in shaping range limits is unknown. Biological invasions and rapid distribution shifts caused by climate change represent large-scale experiments on the underlying dynamics of range limits. A better fusion of experimentation and theory will advance our understanding of the causes of range limits.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Sexton","given":"Jason P."},{"family":"McIntyre","given":"Patrick J."},{"family":"Angert","given":"Amy L."},{"family":"Rice","given":"Kevin J."}],"container-title":"Annual Review of Ecology, Evolution, and Systematics","DOI":"10.1146/annurev.ecolsys.110308.120317","issue":"1","issued":{"date-parts":[[2009]]},"note":"_eprint: https://doi.org/10.1146/annurev.ecolsys.110308.120317","page":"415-436","source":"Annual Reviews","title":"Evolution and Ecology of Species Range Limits","type":"article-journal","URL":"https://doi.org/10.1146/annurev.ecolsys.110308.120317","volume":"40"}, - {"id":"shreeveLandscapeScaleConservation2011","abstract":"Landscape scale conservation efforts are becoming more commonplace in conservation, with a move from single species to multi-species initiatives. These initiatives are reliant on modelling processes, largely underpinned by metapopulation models. We argue that generic models developed for individual species in particular landscapes over selected time periods may only be applicable to alternative landscapes and time periods in restricted circumstances. Variability in species responses to landscapes and environmental conditions is dependent on a range of species-specific intrinsic characteristics, dependent on their responses to resources, (including weather) and also individual states. We propose that the behavioural component of how species respond to resources needs to be taken into account in modelling species responses to landscape, and therefore how limited resources for conservation are deployed. Species behaviours are inherently complex. We argue that because of this complexity the conservation of the majority of species, especially of the least rare, may be best served if conservation effort is additionally focused on increasing landscape heterogeneity and disturbance. This may also facilitate persistence in the face of climate change. We suggest that heterogeneity should be promoted through agri-environment schemes.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Shreeve","given":"T. G."},{"family":"Dennis","given":"R. L. H."}],"container-title":"Journal of Insect Conservation","container-title-short":"J Insect Conserv","DOI":"10.1007/s10841-010-9336-9","ISSN":"1572-9753","issue":"1","issued":{"date-parts":[[2011,4,1]]},"language":"en","page":"179-188","source":"Springer Link","title":"Landscape scale conservation: resources, behaviour, the matrix and opportunities","title-short":"Landscape scale conservation","type":"article-journal","URL":"https://doi.org/10.1007/s10841-010-9336-9","volume":"15"}, - {"id":"simmonsChangesDispersalSpecies2004","abstract":"Explanations for rapid species' range expansions have typically been purely ecological, with little attention given to evolutionary processes. We tested predictions for the evolution of dispersal during range expansion using four species of wing-dimorphic bush cricket (Conocephalus discolor, Conocephalus dorsalis, Metrioptera roeselii, and Metrioptera brachyptera). We observed distinct changes in dispersal in the two species with expanding ranges. Recently colonized populations at the range margin showed increased frequencies of dispersive, long-winged (macropterous) individuals, compared with longer-established populations in the range core. This increase in dispersal appeared to be short-lived because 5-10 years after colonization populations showed similar incidences of macroptery to populations in the range core. These changes are consistent with evolutionary change; field patterns persisted when nymphs were reared under controlled environmental conditions, and range margin individuals reared in the laboratory flew farther than range core individuals in a wind tunnel. There was also a reproductive trade-off with dispersal in both females and males, which could explain the rapid reversion to lower rates of dispersal once populations become established. The effect of population density on wing morphology differed between populations from the range core (no significant effect of density) and expanding range margins (negative density dependence), which we propose is part of the mechanism of the changes in dispersal. Transient changes in dispersal are likely to be common in many species undergoing range expansion and can have major population and biogeographic consequences.","author":[{"family":"Simmons","given":"Adam D."},{"family":"Thomas","given":"Chris D."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/423430","ISSN":"1537-5323","issue":"3","issued":{"date-parts":[[2004,9]]},"language":"eng","page":"378-395","PMID":"15478092","source":"PubMed","title":"Changes in dispersal during species' range expansions","type":"article-journal","volume":"164"}, - {"id":"sinclairHowUsefulAre2010","abstract":"ABSTRACT. Climate change presents unprecedented challenges for biological conservation. Agencies are increasingly looking to modeled projections of species’ distributions under future climates to inform management strategies. As government scientists with a responsibility to communicate the best available science to our policy colleagues, we question whether current modeling approaches and outputs are practically useful. Here, we synthesize conceptual problems with species distribution models (SDMs) associated with interspecific interactions, dispersal, ecological equilibria and time lags, evolution, and the sampling of niche space. Although projected SDMs have undoubtedly been critical in alerting us to the magnitude of climate change impacts, we conclude that until they offer insights that are more precise than what we can derive from basic ecological theory, we question their utility in deciding how to allocate scarce funds to large-scale conservation projects.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Sinclair","given":"Steve J."},{"family":"White","given":"Matthew D."},{"family":"Newell","given":"Graeme R."}],"container-title":"Ecology and Society","ISSN":"1708-3087","issue":"1","issued":{"date-parts":[[2010]]},"publisher":"Resilience Alliance Inc.","source":"JSTOR","title":"How Useful Are Species Distribution Models for Managing Biodiversity under Future Climates?","type":"article-journal","URL":"https://www.jstor.org/stable/26268111","volume":"15"}, - {"id":"singerInterspecificInteractionsAffect2013","abstract":"The response of individual species to climate change may alter the composition and dynamics of communities. Here, we show that the impacts of environmental change on communities can depend on the nature of the interspecific interactions: mutualistic communities typically respond differently than commensalistic or parasitic communities. We model and analyse the geographic range shifting of metapopulations of two interacting species – a host and an obligate species. Different types of interspecific interactions are implemented by modifying local extinction rates according to the presence/absence of the other species. We distinguish and compare three fundamentally different community types: mutualism, commensalism and parasitism. We find that community dynamics during geographic range shifting critically depends on the type of interspecific interactions. Parasitic interactions exacerbate the negative effect of environmental change whereas mutualistic interactions only partly compensate it. Commensalistic interactions exhibit an intermediate response. Based on these model outcomes, we predict that parasitic species interactions may be more vulnerable to geographic range shifting than commensalistic or mutualistic ones. However, we observe that when climate stabilises following a period of change, the rate of community recovery is largely independent of the type of interspecific interactions. These results emphasize that communities respond delicately to environmental change, and that local interspecific interactions can affect range shifting communities at large spatial scales.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Singer","given":"Alexander"},{"family":"Travis","given":"Justin M. J."},{"family":"Johst","given":"Karin"}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2012.20465.x","ISSN":"1600-0706","issue":"3","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2012.20465.x","page":"358-366","source":"Wiley Online Library","title":"Interspecific interactions affect species and community responses to climate shifts","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2012.20465.x","volume":"122"}, - {"id":"smithStabilityPredatorPreySystems1973","abstract":"The interactions between a predator and prey species have been analyzed by computer simulation of a model in which there are discrete breeding seasons, separated by a winter during which the predator must be able to find prey at a certain minimum rate or starve. The model is intended to represent a warm-blooded vertebrate predator and its prey. The main conclusions are: (1) Coexistence of predator and prey is possible, but if so, the number of prey present will not be substantially below the equilibrium number in the absence of predators. Mutual regulation of predator and prey, with the latter substantially below the carrying capacity of the environment, is unstable. (2) Coexistence is more likely if there are differences in hunting ability between different individual predators--for example, between young and old predators. (3) Cover for the prey enables the prey species to survive the extinction of the predator, but does not make coexistence more likely.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Smith","given":"J. Maynard"},{"family":"Slatkin","given":"M."}],"container-title":"Ecology","DOI":"10.2307/1934346","ISSN":"0012-9658","issue":"2","issued":{"date-parts":[[1973]]},"page":"384-391","publisher":"Ecological Society of America","source":"JSTOR","title":"The Stability of Predator-Prey Systems","type":"article-journal","URL":"https://www.jstor.org/stable/1934346","volume":"54"}, - {"id":"smouseStochasticModellingAnimal2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Smouse","given":"Peter E"},{"family":"Focardi","given":"S"},{"family":"Moorcroft","given":"P.R."},{"family":"Kie","given":"John G"},{"family":"Forester","given":"J. D."},{"family":"Morales","given":"Juan M"}],"container-title":"Philosophical Transactions of the Royal Society of London. Series B, Biological Sciences","issue":"365","issued":{"date-parts":[[2010]]},"page":"2201-2211","title":"Stochastic modelling of animal movement","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rstb.2010.0078"}, - {"id":"spearUseResistanceSurfaces2010","abstract":"Measures of genetic structure among individuals or populations collected at different spatial locations across a landscape are commonly used as surrogate measures of functional (i.e. demographic or genetic) connectivity. In order to understand how landscape characteristics influence functional connectivity, resistance surfaces are typically created in a raster GIS environment. These resistance surfaces represent hypothesized relationships between landscape features and gene flow, and are based on underlying biological functions such as relative abundance or movement probabilities in different land cover types. The biggest challenge for calculating resistance surfaces is assignment of resistance values to different landscape features. Here, we first identify study objectives that are consistent with the use of resistance surfaces and critically review the various approaches that have been used to parameterize resistance surfaces and select optimal models in landscape genetics. We then discuss the biological assumptions and considerations that influence analyses using resistance surfaces, such as the relationship between gene flow and dispersal, how habitat suitability may influence animal movement, and how resistance surfaces can be translated into estimates of functional landscape connectivity. Finally, we outline novel approaches for creating optimal resistance surfaces using either simulation or computational methods, as well as alternatives to resistance surfaces (e.g. network and buffered paths). These approaches have the potential to improve landscape genetic analyses, but they also create new challenges. We conclude that no single way of using resistance surfaces is appropriate for every situation. We suggest that researchers carefully consider objectives, important biological assumptions and available parameterization and validation techniques when planning landscape genetic studies.","author":[{"family":"Spear","given":"Stephen F."},{"family":"Balkenhol","given":"Niko"},{"family":"Fortin","given":"Marie-JosĂ©e"},{"family":"McRae","given":"Brad H."},{"family":"Scribner","given":"Kim"}],"container-title":"Molecular Ecology","container-title-short":"Mol Ecol","DOI":"10.1111/j.1365-294X.2010.04657.x","ISSN":"1365-294X","issue":"17","issued":{"date-parts":[[2010,9]]},"language":"eng","page":"3576-3591","PMID":"20723064","source":"PubMed","title":"Use of resistance surfaces for landscape genetic studies: considerations for parameterization and analysis","title-short":"Use of resistance surfaces for landscape genetic studies","type":"article-journal","volume":"19"}, - {"id":"stampsConspecificAttractionAggregation1988","abstract":"For many years, field studies of birds have suggested that territorial individuals may be attracted to one another, forming territorial clusters independent of resource distributions. However, virtually no experiments have studied these phenomena in either the laboratory or the field. The present field study was designed to test whether prospective territory owners preferentially settle near conspecifics and form territorial aggregations when territory quality is held constant. Juvenile Anolis aeneus lizards arriving at juvenile habitats in clearings were given a choice of artificial homesites arranged around a clear-walled enclosure divided into two parts, one of which contained resident A. aeneus juveniles. Juveniles showed a clear preference for the homesites adjacent to the established territorial residents (the \"experimental\" homesites). In each of eight trials, the first arrivals appeared on the experimental homesites. Juveniles that first appeared on the experimental homesites were more apt to settle in the clearing, and colonists on the experimental side moved around less before choosing a final territory. During the colonization process, juveniles spent more time on the experimental sides of the enclosures; and by the end of the trials, more juveniles had eventually settled on the experimental homesites. Throughout the settlement process, new territory owners tended to cluster around the previous residents within the experimental side of the enclosures. These results indicate that A. aeneus juveniles are attracted to conspecifics while settling a territory and that this process can lead to territorial aggregations that are independent of territory quality.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stamps","given":"J. A."}],"container-title":"The American Naturalist","ISSN":"0003-0147","issue":"3","issued":{"date-parts":[[1988]]},"page":"329-347","publisher":"[University of Chicago Press, American Society of Naturalists]","source":"JSTOR","title":"Conspecific Attraction and Aggregation in Territorial Species","type":"article-journal","URL":"https://www.jstor.org/stable/2461973","volume":"131"}, - {"id":"stampsEffectsNatalExperience2006","abstract":"We studied the effects of natal experience on preference for a postdispersal habitat (natal habitat preference induction, NHPI) in groups of newly eclosed female Drosophila melanogaster, using multilevel statistical models to take into account dependencies of responses from individuals making choices within the same hour. Groups consisting of flies with one of five genotypes (crosses of highly inbred female isolines) were allowed free access to a high-quality natal habitat after emergence from their pupae. The flies were then allowed to select one of two new habitats in a large 'seminatural' environment over the next 3 days. The flies showed strong positive effects of training habitat on their choice of a new habitat, after controlling for potential dependence in choices within hours and trials. The genotypes also varied with respect to the effects of conspecifics and humidity on individual choice. A second analysis using data aggregated at the trial level and a traditional statistical approach (a generalized linear model, GLM) also detected effects of training on habitat choice. However, the GLM produced other results that may have been artefacts resulting from the omission of within-trial factors with important effects on choice in this trial-level analysis. This study shows the advantages of using multilevel models rather than aggregating data to control for interactions among subjects when animals select items in groups. (PsycINFO Database Record (c) 2017 APA, all rights reserved)","author":[{"family":"Stamps","given":"Judy A."},{"family":"Blozis","given":"Shelley A."}],"container-title":"Animal Behaviour","DOI":"10.1016/j.anbehav.2005.07.015","event-place":"Netherlands","ISSN":"1095-8282(Electronic),0003-3472(Print)","issue":"3","issued":{"date-parts":[[2006]]},"page":"663-672","publisher":"Elsevier Science","publisher-place":"Netherlands","source":"APA PsycNET","title":"Effects of natal experience on habitat selection when individuals make choices in groups: A multilevel analysis","title-short":"Effects of natal experience on habitat selection when individuals make choices in groups","type":"article-journal","volume":"71"}, - {"id":"stampsHabitatSelectionDispersers2001","abstract":"Behavioural research is shedding new light on the complex relationships between the proximate mechanisms involved in habitat selection and the selective pressures that may have contributed to the evolution of those mechanisms. Habitat selection by dispersers can be divided into three stages (search, settlement and residency); recent studies suggest that the adaptive significance of behaviour at each of these stages may differ from the assumptions of traditional habitat selection theory. For instance, dispersers may benefit from the presence of conspecifics or heterospecifics while searching for, settling in, or living in new habitats, and individuals may prefer to settle in post-dispersal habitats similar to their pre-dispersal habitats, because this behaviour reduces the costs of detecting or assessing suitable habitats (habitat cuing) or because experience in a pre-dispersal habitat improves performance if an animal settles in the same type of habitat after dispersing (habitat training). Dispersers have evolved a variety of proximate behavioural mechanisms to reduce search and settlement costs in natural environments, but if they currently rely on these processes, species living in areas modified by human activities may not exhibit 'ideal' habitat selection behaviour. Insights from recent studies of habitat selection may help solve specific problems in conservation biology, and more generally, help biologists understand the intimate relationship between dispersal and habitat selection behaviour.","author":[{"family":"Stamps","given":"Judy"}],"container-title":"Dispersal","editor":[{"family":"Clobert","given":"J."},{"family":"Danchin","given":"Etienne"},{"family":"Dhondt","given":"Andre A."},{"family":"Nichols","given":"James D."}],"event-place":"Oxford","issued":{"date-parts":[[2001,1,1]]},"page":"230-242","publisher":"Oxford University Press","publisher-place":"Oxford","source":"ResearchGate","title":"Habitat selection by dispersers: integrating proximate and ultimate approaches","title-short":"Habitat selection by dispersers","type":"chapter"}, - {"id":"stampsHowDifferentTypes2009","abstract":"Abstract: In many animals, exposure to cues in a natal habitat increases disperser preferences for those cues (natal habitat preference induction [NHPI]), but the proximate and ultimate bases for this phenomenon are obscure. We developed a Bayesian model to study how different types of experience in the natal habitat and survival to the age/stage of dispersal interact to affect a disperser’s estimate of the quality of new natalâ€type habitats. The model predicts that the types of experience a disperser had before leaving its natal habitat will affect the attractiveness of cues from new natalâ€type habitats and that favorable experiences will increase the level of preference for natalâ€type habitats more than unfavorable experiences will decrease it. An experimental study of NHPI in Drosophila melanogaster provided with “good” and “bad” experiences in their natal habitats supports these predictions while also indicating that the effects of different types of natal experience on NHPI vary across genotypes. If habitat preferences are modulated by an individual’s experience before dispersal as described in this study, then NHPI may have stronger effects on sympatric speciation, metapopulation dynamics, conservation biology, and pest management than previously supposed.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stamps","given":"Judy A."},{"family":"Krishnan","given":"V. V."},{"family":"Willits","given":"Neil H."},{"family":"Ketterson","given":"Associate Editor: Ellen D."},{"family":"Shaw","given":"Editor: Ruth G."}],"container-title":"The American Naturalist","DOI":"10.1086/644526","ISSN":"0003-0147","issue":"5","issued":{"date-parts":[[2009]]},"page":"623-630","publisher":"[The University of Chicago Press, The American Society of Naturalists]","source":"JSTOR","title":"How Different Types of Natal Experience Affect Habitat Preference","type":"article-journal","URL":"https://www.jstor.org/stable/10.1086/644526","volume":"174"}, - {"id":"stampsSearchCostsHabitat2005","abstract":"The effects of search costs on habitat selection by dispersers are largely unknown. We explore how habitat selection behavior is affected by the risk of mortality en route and by deferred search costs (i.e., costs incurred during search that reduce fitness after arrival in the new habitat), using a model designed for long-distance natal dispersers searching for scarce patches of suitable habitat embedded within a matrix of unsuitable habitat. In this situation, increases in the risk of mortality during search reduce disperser selectivity, where selectivity is reflected by the period during search when dispersers are only willing to accept a high-quality habitat. However, the effects of deferred costs on selectivity depend on other factors with pronounced effects on selectivity, including encounter rates with high-quality habitats, relative habitat quality, and total search time. Surprisingly, under some sets of conditions, increases in deferred costs lead to increases in disperser selectivity. Overall, the effects of mortality and deferred costs on selectivity are small relative to the effects of other factors on selectivity. For instance, our model suggests that selectivity is much more strongly affected by total search time than by search costs, and it predicts a positive relationship between total search time and disperser selectivity across individuals in the same population, even in the face of considerable inter-individual variation in risk of mortality or deferred search costs.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stamps","given":"Judy A."},{"family":"Krishnan","given":"V. V."},{"family":"Reid","given":"Mary L."}],"container-title":"Ecology","ISSN":"0012-9658","issue":"2","issued":{"date-parts":[[2005]]},"page":"510-518","publisher":"Ecological Society of America","source":"JSTOR","title":"Search Costs and Habitat Selection by Dispersers","type":"article-journal","URL":"https://www.jstor.org/stable/3450970","volume":"86"}, - {"id":"starrfeltParentoffspringConflictEvolution2010","abstract":"Parent-offspring conflict emerges in many different contexts, but a rarely emphasized perspective is that of space as a resource that is allocated or acquired through dispersal. Early theoretical work has shown that there are different optima in rates of dispersal between parents and offspring. Here we examine this principle when space is explicitly modeled and dispersal is achieved through a dispersal kernel. We find a consistent pattern that selection favors longer dispersal distances under maternal control of dispersal (e.g., maternal tissue surrounding a seed) compared with scenarios where offspring themselves control dispersal (as in many animals). Intriguingly, offspring control leads to better resource utilization (higher habitat occupancy) in equilibrium scenarios than does maternal control. In contrast, in species that expand their ranges, maternal control of dispersal initially leads to faster range expansion. If there is evolutionary potential for dispersal kernels to change at the leading edge of a population, this difference vanishes quickly during an invasion because offspring-controlled dispersal evolves faster and catches up with scenarios involving maternal control. There is thus less conflict in nonequilibrium scenarios. In invasive scenarios with an evolving kernel shape, disruptive selection against intermediate distances can make the kernel not only fat-tailed but also bimodal.","author":[{"family":"Starrfelt","given":"Jostein"},{"family":"Kokko","given":"Hanna"}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/648605","ISSN":"1537-5323","issue":"1","issued":{"date-parts":[[2010,1]]},"language":"eng","page":"38-49","PMID":"19911910","source":"PubMed","title":"Parent-offspring conflict and the evolution of dispersal distance","type":"article-journal","volume":"175"}, - {"id":"stensethAnimalDispersalSmall1992","abstract":"4.1.1 Demographic significance Confined populations grow more rapidly than populations from which dispersal is permitted (Lidicker, 1975; Krebs, 1979; Tamarin et at., 1984), and demography in island populations where dispersal is restricted differs greatly from nearby mainland populations (Lidicker, 1973; Tamarin, 1977, 1978; Gliwicz, 1980), clearly demonstrating the demographic signi­ ficance of dispersal. The prevalence of dispersal in rapidly expanding populations is held to be the best evidence for presaturation dispersal. Because dispersal reduces the growth rate of source populations, it is generally believed that emigration is not balanced by immigration, and that mortality of emigrants occurs as a result of movement into a 'sink' of unfavourable habitat. If such dispersal is age- or sex-biased, the demo­ graphy of the population is markedly affected, as a consequence of differ­ ences in mortality in the dispersive sex or age class. Habitat heterogeneity consequently underlies this interpretation of dispersal and its demographic consequences, although the spatial variability of environments is rarely assessed in dispersal studies.","accessed":{"date-parts":[[2021,8,9]]},"DOI":"10.1007/978-94-011-2338-9","editor":[{"family":"Stenseth","given":"N. C."},{"family":"Lidicker","given":"W. Z."}],"ISBN":"978-0-412-29330-6","issued":{"date-parts":[[1992]]},"language":"en","publisher":"Springer Netherlands","source":"www.springer.com","title":"Animal Dispersal: Small mammals as a model","title-short":"Animal Dispersal","type":"book","URL":"https://www.springer.com/gp/book/9780412293306"}, - {"id":"stevensGeneFlowFunctional2006","abstract":"Functional connectivity is a key factor for the persistence of many specialist species in fragmented landscapes. However, connectivity estimates have rarely been validated by the observation of dispersal movements. In this study, we estimated functional connectivity of a real landscape by modelling dispersal for the endangered natterjack toad (Bufo calamita) using cost distance. Cost distance allows the evaluation of 'effective distances', which are distances corrected for the costs involved in moving between habitat patches in spatially explicit landscapes. We parameterized cost-distance models using the results of our previous experimental investigation of natterjack's movement behaviour. These model predictions (connectivity estimates from the GIS study) were then confronted to genetic-based dispersal rates between natterjack populations in the same landscape using Mantel tests. Dispersal rates between the populations were inferred from variation at six microsatellite loci. Based on these results, we conclude that matrix structure has a strong effect on dispersal rates. Moreover, we found that cost distances generated by habitat preferences explained dispersal rates better than did the Euclidian distances, or the connectivity estimate based on patch-specific resistances (patch viscosity). This study is a clear example of how landscape genetics can validate operational functional connectivity estimates.","author":[{"family":"Stevens","given":"Virginie M."},{"family":"Verkenne","given":"Catherine"},{"family":"Vandewoestijne","given":"Sofie"},{"family":"Wesselingh","given":"Renate A."},{"family":"Baguette","given":"Michel"}],"container-title":"Molecular Ecology","container-title-short":"Mol Ecol","DOI":"10.1111/j.1365-294X.2006.02936.x","ISSN":"0962-1083","issue":"9","issued":{"date-parts":[[2006,8]]},"language":"eng","page":"2333-2344","PMID":"16842409","source":"PubMed","title":"Gene flow and functional connectivity in the natterjack toad","type":"article-journal","volume":"15"}, - {"id":"stevensLandscapeEffectsSpatial2012","abstract":"This chapter discusses the two reasons that make dispersal a key process in population dynamics: first, the movement of individuals impacts population dynamics, and second, dispersal movement also has important consequences for the degree of genetic mixing expected among populations, and hence on the genetic variation found within populations. This chapter, in the attempt to address the question of what landscape changes may affect spatial dynamics, presents an example of a species with limited mobility and one which has been extensively studied in this regard — the natterjack toad. Firstly, empirical studies were used to measure the effects of landscape elements on movement patterns. Secondly, the results from these empirical studies were used to model the effects of landscape on movement patterns. Thirdly, the model was validated through a comparison of the movements predicted by the models with those estimated by the analysis of gene flow among populations. Finally, the model was used to predict natterjack population dynamics under different landscape management scenarios.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stevens","given":"Virginie M."},{"family":"Coulon","given":"AurĂ©lie"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0022","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Landscape effects on spatial dynamics: the natterjack toad as a case study","title-short":"Landscape effects on spatial dynamics","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-22"}, - {"id":"stevensMetaanalysisDispersalButterflies2010","abstract":"Dispersal has recently gained much attention because of its crucial role in the conservation and evolution of species facing major environmental changes such as habitat loss and fragmentation, climate change, and their interactions. Butterflies have long been recognized as ideal model systems for the study of dispersal and a huge amount of data on their ability to disperse has been collected under various conditions. However, no single â€best’ method seems to exist leading to the co-occurrence of various approaches to study butterfly mobility, and therefore a high heterogeneity among data on dispersal across this group. Accordingly, we here reviewed the knowledge accumulated on dispersal and mobility in butterflies, to detect general patterns. This meta-analysis specifically addressed two questions. Firstly, do the various methods provide a congruent picture of how dispersal ability is distributed across species? Secondly, is dispersal species-specific? Five sources of data were analysed: multisite mark-recapture experiments, genetic studies, experimental assessments, expert opinions, and transect surveys. We accounted for potential biases due to variation in genetic markers, sample sizes, spatial scales or the level of habitat fragmentation. We showed that the various dispersal estimates generally converged, and that the relative dispersal ability of species could reliably be predicted from their relative vagrancy (records of butterflies outside their normal habitat). Expert opinions gave much less reliable estimates of realized dispersal but instead reflected migration propensity of butterflies. Within-species comparisons showed that genetic estimates were relatively invariable, while other dispersal estimates were highly variable. This latter point questions dispersal as a species-specific, invariant trait.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stevens","given":"Virginie M."},{"family":"Turlure","given":"Camille"},{"family":"Baguette","given":"Michel"}],"container-title":"Biological Reviews","DOI":"10.1111/j.1469-185X.2009.00119.x","ISSN":"1469-185X","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1469-185X.2009.00119.x","page":"625-642","source":"Wiley Online Library","title":"A meta-analysis of dispersal in butterflies","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1469-185X.2009.00119.x","volume":"85"}, - {"id":"stevensQuantifyingFunctionalConnectivity2006","abstract":"Like other pond-breeding amphibians, the natterjack toad (Bufo calamita) typically presents a patchy distribution. Because the species experiences high probabilities of local population extinction, its persistence within landscapes relies on both local and landscape-scale processes [dispersal allowing the (re)colonization of habitat patches]. However, the structure and composition of the matrix surrounding local populations can alter the dispersal rates between populations. As shown previously (Landscape Ecol 19:829–842, 2004), the locomotor performances of individuals at the dispersal stage depend on the nature of the component crossed: some landscape components offer high resistance to movement (high resistance or high viscosity components) whereas others allow high efficiency of movement (low resistance components). We now examine the ability of individuals to discriminate between landscape components and select low-resistance components. Our experimental study investigates the ways in which young natterjack toads choose from among landscape components common to southern Belgium. Toadlets (the dispersal stage) were experimentally confronted with boundaries between surrogates of sandy soils, roads, forests, agricultural fields and intensive pastures. Our results show: 1 the ability of toadlets to react to boundaries between landscape components, 2 differences in permeability among boundaries, and 3 our inability to predict correctly the permeability of the boundaries from the patch-specific resistance assessed previously. Toadlets showed a preference for bare environments and forests, whereas they avoided the use of agricultural environments. This pattern could not be explained in terms of patch-specific resistance only, and is discussed in terms of mortality risks and resource availability in the various landscape components, with particular attention to repercussions on conservation strategies.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Stevens","given":"Virginie M."},{"family":"LeboulengĂ©","given":"Éric"},{"family":"Wesselingh","given":"Renate A."},{"family":"Baguette","given":"Michel"}],"container-title":"Oecologia","container-title-short":"Oecologia","DOI":"10.1007/s00442-006-0500-6","ISSN":"1432-1939","issue":"1","issued":{"date-parts":[[2006,11,1]]},"language":"en","page":"161-171","source":"Springer Link","title":"Quantifying functional connectivity: experimental assessment of boundary permeability for the natterjack toad (Bufo calamita)","title-short":"Quantifying functional connectivity","type":"article-journal","URL":"https://doi.org/10.1007/s00442-006-0500-6","volume":"150"}, - {"id":"thomasClimateClimateChange2010","abstract":"Aim A major issue in ecology, biogeography, conservation biology and invasion biology is the extent to which climate, and hence climate change, contributes to the positions of species’ range boundaries. Thirty years of rapid climate warming provides an excellent opportunity to test the hypothesis that climate acts as a major constraint on range boundaries, treating anthropogenic climate change as a large-scale experiment. Location UK and global data, and literature. Methods This article analyses the frequencies with which species have responded to climate change by shifting their range boundaries. It does not consider abundance or other changes. Results For the majority of species, boundaries shifted in a direction that is concordant with being a response to climate change; 84% of all species have expanded in a polewards direction as the climate has warmed (for the best data available), which represents an excess of 68% of species after taking account of the fact that some species may shift in this direction for non-climatic reasons. Other data sets also show an excess of animal range boundaries expanding in the expected direction. Main conclusions Climate is likely to contribute to the majority of terrestrial and freshwater range boundaries. This generalization excludes species that are endemic to specific islands, lakes, rivers and geological outcrops, although these local endemics are not immune from the effects of climate change. The observed shifts associated with recent climate change are likely to have been brought about through both direct and indirect (changes to species’ interactions) effects of climate; indirect effects are discussed in relation to laboratory experiments and invasive species. Recent observations of range boundary shifts are consistent with the hypothesis that climate contributes to, but is not the sole determinant of, the position of the range boundaries of the majority of terrestrial animal species.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thomas","given":"Chris D."}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2010.00642.x","ISSN":"1472-4642","issue":"3","issued":{"date-parts":[[2010]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1472-4642.2010.00642.x","page":"488-495","source":"Wiley Online Library","title":"Climate, climate change and range boundaries","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1472-4642.2010.00642.x","volume":"16"}, - {"id":"thomasExtinctionRiskClimate2004","abstract":"Climate change over the past âĽ30 years has produced numerous shifts in the distributions and abundances of species1,2 and has been implicated in one species-level extinction3. Using projections of species' distributions for future climate scenarios, we assess extinction risks for sample regions that cover some 20% of the Earth's terrestrial surface. Exploring three approaches in which the estimated probability of extinction shows a power-law relationship with geographical range size, we predict, on the basis of mid-range climate-warming scenarios for 2050, that 15–37% of species in our sample of regions and taxa will be â€committed to extinction’. When the average of the three methods and two dispersal scenarios is taken, minimal climate-warming scenarios produce lower projections of species committed to extinction (âĽ18%) than mid-range (âĽ24%) and maximum-change (âĽ35%) scenarios. These estimates show the importance of rapid implementation of technologies to decrease greenhouse gas emissions and strategies for carbon sequestration.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thomas","given":"Chris D."},{"family":"Cameron","given":"Alison"},{"family":"Green","given":"Rhys E."},{"family":"Bakkenes","given":"Michel"},{"family":"Beaumont","given":"Linda J."},{"family":"Collingham","given":"Yvonne C."},{"family":"Erasmus","given":"Barend F. N."},{"family":"Siqueira","given":"Marinez Ferreira","non-dropping-particle":"de"},{"family":"Grainger","given":"Alan"},{"family":"Hannah","given":"Lee"},{"family":"Hughes","given":"Lesley"},{"family":"Huntley","given":"Brian"},{"family":"Jaarsveld","given":"Albert S.","non-dropping-particle":"van"},{"family":"Midgley","given":"Guy F."},{"family":"Miles","given":"Lera"},{"family":"Ortega-Huerta","given":"Miguel A."},{"family":"Townsend Peterson","given":"A."},{"family":"Phillips","given":"Oliver L."},{"family":"Williams","given":"Stephen E."}],"container-title":"Nature","DOI":"10.1038/nature02121","ISSN":"1476-4687","issue":"6970","issued":{"date-parts":[[2004,1]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"6970","page":"145-148","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Extinction risk from climate change","type":"article-journal","URL":"https://www.nature.com/articles/nature02121","volume":"427"}, - {"id":"thomasTranslocationSpeciesClimate2011","abstract":"Many of the species at greatest risk of extinction from anthropogenic climate change are narrow endemics that face insurmountable dispersal barriers. In this review, I argue that the only viable option to maintain populations of these species in the wild is to translocate them to other locations where the climate is suitable. Risks of extinction to native species in destination areas are small, provided that translocations take place within the same broad geographic region and that the destinations lack local endemics. Biological communities in these areas are in the process of receiving many hundreds of other immigrant species as a result of climate change; ensuring that some of the 'new' inhabitants are climate-endangered species could reduce the net rate of extinction.","author":[{"family":"Thomas","given":"Chris D."}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends Ecol Evol","DOI":"10.1016/j.tree.2011.02.006","ISSN":"1872-8383","issue":"5","issued":{"date-parts":[[2011,5]]},"language":"eng","page":"216-221","PMID":"21411178","source":"PubMed","title":"Translocation of species, climate change, and the end of trying to recreate past ecological communities","type":"article-journal","volume":"26"}, - {"id":"thuillerBIOMODPlatformEnsemble2009a","abstract":"BIOMOD is a computer platform for ensemble forecasting of species distributions, enabling the treatment of a range of methodological uncertainties in models and the examination of species-environment relationships. BIOMOD includes the ability to model species distributions with several techniques, test models with a wide range of approaches, project species distributions into different environmental conditions (e.g. climate or land use change scenarios) and dispersal functions. It allows assessing species temporal turnover, plot species response curves, and test the strength of species interactions with predictor variables. BIOMOD is implemented in R and is a freeware, open source, package.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thuiller","given":"Wilfried"},{"family":"Lafourcade","given":"Bruno"},{"family":"Engler","given":"Robin"},{"family":"AraĂşjo","given":"Miguel B."}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2008.05742.x","ISSN":"1600-0587","issue":"3","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2008.05742.x","page":"369-373","source":"Wiley Online Library","title":"BIOMOD – a platform for ensemble forecasting of species distributions","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2008.05742.x","volume":"32"}, - {"id":"thuillerClimateChangeThreats2005","abstract":"Climate change has already triggered species distribution shifts in many parts of the world. Increasing impacts are expected for the future, yet few studies have aimed for a general understanding of the regional basis for species vulnerability. We projected late 21st century distributions for 1,350 European plants species under seven climate change scenarios. Application of the International Union for Conservation of Nature and Natural Resources Red List criteria to our projections shows that many European plant species could become severely threatened. More than half of the species we studied could be vulnerable or threatened by 2080. Expected species loss and turnover per pixel proved to be highly variable across scenarios (27-42% and 45-63% respectively, averaged over Europe) and across regions (2.5-86% and 17-86%, averaged over scenarios). Modeled species loss and turnover were found to depend strongly on the degree of change in just two climate variables describing temperature and moisture conditions. Despite the coarse scale of the analysis, species from mountains could be seen to be disproportionably sensitive to climate change (â‰60% species loss). The boreal region was projected to lose few species, although gaining many others from immigration. The greatest changes are expected in the transition between the Mediterranean and Euro-Siberian regions. We found that risks of extinction for European plants may be large, even in moderate scenarios of climate change and despite inter-model variability.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thuiller","given":"Wilfried"},{"family":"Lavorel","given":"Sandra"},{"family":"AraĂşjo","given":"Miguel B."},{"family":"Sykes","given":"Martin T."},{"family":"Prentice","given":"I. Colin"}],"container-title":"Proceedings of the National Academy of Sciences","container-title-short":"PNAS","DOI":"10.1073/pnas.0409902102","ISSN":"0027-8424, 1091-6490","issue":"23","issued":{"date-parts":[[2005,6,7]]},"language":"en","page":"8245-8250","PMID":"15919825","publisher":"National Academy of Sciences","section":"Biological Sciences","source":"www.pnas.org","title":"Climate change threats to plant diversity in Europe","type":"article-journal","URL":"https://www.pnas.org/content/102/23/8245","volume":"102"}, - {"id":"thuillerPredictingGlobalChange2008","abstract":"Given the rate of projected environmental change for the 21st century, urgent adaptation and mitigation measures are required to slow down the on-going erosion of biodiversity. Even though increasing evidence shows that recent human-induced environmental changes have already triggered species’ range shifts, changes in phenology and species’ extinctions, accurate projections of species’ responses to future environmental changes are more difficult to ascertain. This is problematic, since there is a growing awareness of the need to adopt proactive conservation planning measures using forecasts of species’ responses to future environmental changes. There is a substantial body of literature describing and assessing the impacts of various scenarios of climate and land-use change on species’ distributions. Model predictions include a wide range of assumptions and limitations that are widely acknowledged but compromise their use for developing reliable adaptation and mitigation strategies for biodiversity. Indeed, amongst the most used models, few, if any, explicitly deal with migration processes, the dynamics of population at the “trailing edge” of shifting populations, species’ interactions and the interaction between the effects of climate and land-use. In this review, we propose two main avenues to progress the understanding and prediction of the different processes occurring on the leading and trailing edge of the species’ distribution in response to any global change phenomena. Deliberately focusing on plant species, we first explore the different ways to incorporate species’ migration in the existing modelling approaches, given data and knowledge limitations and the dual effects of climate and land-use factors. Secondly, we explore the mechanisms and processes happening at the trailing edge of a shifting species’ distribution and how to implement them into a modelling approach. We finally conclude this review with clear guidelines on how such modelling improvements will benefit conservation strategies in a changing world.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thuiller","given":"Wilfried"},{"family":"Albert","given":"CĂ©cile"},{"family":"AraĂşjo","given":"Miguel B."},{"family":"Berry","given":"Pam M."},{"family":"Cabeza","given":"Mar"},{"family":"Guisan","given":"Antoine"},{"family":"Hickler","given":"Thomas"},{"family":"Midgley","given":"Guy F."},{"family":"Paterson","given":"James"},{"family":"Schurr","given":"Frank M."},{"family":"Sykes","given":"Martin T."},{"family":"Zimmermann","given":"Niklaus E."}],"collection-title":"Space matters - Novel developments in plant ecology through spatial modelling","container-title":"Perspectives in Plant Ecology, Evolution and Systematics","container-title-short":"Perspectives in Plant Ecology, Evolution and Systematics","DOI":"10.1016/j.ppees.2007.09.004","ISSN":"1433-8319","issue":"3","issued":{"date-parts":[[2008,3,6]]},"language":"en","page":"137-152","source":"ScienceDirect","title":"Predicting global change impacts on plant species’ distributions: Future challenges","title-short":"Predicting global change impacts on plant species’ distributions","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S1433831907000376","volume":"9"}, - {"id":"thuillerRoadMapIntegrating2013","abstract":"The demand for projections of the future distribution of biodiversity has triggered an upsurge in modelling at the crossroads between ecology and evolution. Despite the enthusiasm around these so-called biodiversity models, most approaches are still criticised for not integrating key processes known to shape species ranges and community structure. Developing an integrative modelling framework for biodiversity distribution promises to improve the reliability of predictions and to give a better understanding of the eco-evolutionary dynamics of species and communities under changing environments. In this article, we briefly review some eco-evolutionary processes and interplays among them, which are essential to provide reliable projections of species distributions and community structure. We identify gaps in theory, quantitative knowledge and data availability hampering the development of an integrated modelling framework. We argue that model development relying on a strong theoretical foundation is essential to inspire new models, manage complexity and maintain tractability. We support our argument with an example of a novel integrated model for species distribution modelling, derived from metapopulation theory, which accounts for abiotic constraints, dispersal, biotic interactions and evolution under changing environmental conditions. We hope such a perspective will motivate exciting and novel research, and challenge others to improve on our proposed approach.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Thuiller","given":"Wilfried"},{"family":"MĂĽnkemĂĽller","given":"Tamara"},{"family":"Lavergne","given":"SĂ©bastien"},{"family":"Mouillot","given":"David"},{"family":"Mouquet","given":"Nicolas"},{"family":"Schiffers","given":"Katja"},{"family":"Gravel","given":"Dominique"}],"container-title":"Ecology Letters","DOI":"10.1111/ele.12104","ISSN":"1461-0248","issue":"s1","issued":{"date-parts":[[2013]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/ele.12104","page":"94-105","source":"Wiley Online Library","title":"A road map for integrating eco-evolutionary processes into biodiversity models","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/ele.12104","volume":"16"}, - {"id":"travisAcceleratingInvasionRates2009","abstract":"Evolutionary processes play an important role in shaping the dynamics of range expansions, and selection on dispersal propensity has been demonstrated to accelerate rates of advance. Previous theory has considered only the evolution of unconditional dispersal rates, but dispersal is often more complex. For example, many species emigrate in response to crowding. Here, we use an individual-based model to investigate the evolution of density dependent dispersal into empty habitat, such as during an invasion. The landscape is represented as a lattice and dispersal between populations follows a stepping-stone pattern. Individuals carry three â€genes’ that determine their dispersal strategy when experiencing different population densities. For a stationary range we obtain results consistent with previous theoretical studies: few individuals emigrate from patches that are below equilibrium density. However, during the range expansion of a previously stationary population, we observe evolution towards dispersal strategies where considerable emigration occurs well below equilibrium density. This is true even for moderate costs to dispersal, and always results in accelerating rates of range expansion. Importantly, the evolution we observe at an expanding front depends upon fitness integrated over several generations and cannot be predicted by a consideration of lifetime reproductive success alone. We argue that a better understanding of the role of density dependent dispersal, and its evolution, in driving population dynamics is required especially within the context of range expansions.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M. J."},{"family":"Mustin","given":"Karen"},{"family":"Benton","given":"Tim G."},{"family":"Dytham","given":"Calvin"}],"container-title":"Journal of Theoretical Biology","container-title-short":"Journal of Theoretical Biology","DOI":"10.1016/j.jtbi.2009.03.008","ISSN":"0022-5193","issue":"1","issued":{"date-parts":[[2009,7,7]]},"language":"en","page":"151-158","source":"ScienceDirect","title":"Accelerating invasion rates result from the evolution of density-dependent dispersal","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0022519309001155","volume":"259"}, - {"id":"travisClimateChangeHabitat2003","abstract":"Climate change and habitat destruction are two of the greatest threats to global biodiversity. Lattice models have been used to investigate how hypothetical species with different characteristics respond to habitat loss. The main result shows that a sharp threshold in habitat availability exists below which a species rapidly becomes extinct. Here, a similar modelling approach is taken to establish what determines how species respond to climate change. A similar threshold exists for the rate of climate change as has been observed for habitat loss—patch occupancy remains high up to a critical rate of climate change, beyond which species extinction becomes likely. Habitat specialists, especially those of relatively poor colonizing ability are least able to keep pace with climate change. The interaction between climate change and habitat loss might be disastrous. During climate change, the habitat threshold occurs sooner. Similarly, species suffer more from climate change in a fragmented habitat.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","DOI":"10.1098/rspb.2002.2246","issue":"1514","issued":{"date-parts":[[2003,3,7]]},"page":"467-473","publisher":"Royal Society","source":"royalsocietypublishing.org (Atypon)","title":"Climate change and habitat destruction: a deadly anthropogenic cocktail","title-short":"Climate change and habitat destruction","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.2002.2246","volume":"270"}, - {"id":"travisColorNoiseEvolution2001","abstract":"The process of dispersal is vital for the long-term persistence of all species and hence is a ubiquitous characteristic of living organisms. A present challenge is to increase our understanding of the factors that govern the dispersal rate of individuals. Here I extend previous work by incorporating both spatial and temporal heterogeneity in terms of patch quality into a spatially explicit lattice model. The spatial heterogeneity is modeled as a two-dimensional fractal landscape, while temporal heterogeneity is included by using one-dimensional noise. It was found that the color of both the spatial and temporal variability influences the rate of dispersal selected as reddening of the temporal noise leads to a reduction in dispersal, while reddening of spatial variability results in an increase in the dispersal rate. These results demonstrate that the color of environmental noise should be considered in future studies looking at the evolution of life history characteristics.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M. J."}],"container-title":"Ecological Research","container-title-short":"Ecol Res","DOI":"10.1046/j.1440-1703.2001.00381.x","ISSN":"1440-1703","issue":"1","issued":{"date-parts":[[2001,3,1]]},"language":"en","page":"157-163","source":"Springer Link","title":"The color of noise and the evolution of dispersal","type":"article-journal","URL":"https://doi.org/10.1046/j.1440-1703.2001.00381.x","volume":"16"}, - {"id":"travisDispersalClimateChange2012","abstract":"This chapter focuses on how models of dispersal can improve our understanding, prediction, and management of species' range shifts under environmental change. Most models of species distribution and spread represent dispersal quite crudely; this chapter begins with some thoughts on how these might be integrated with more sophisticated models of dispersal. The importance of inter-individual variability in dispersal and the role that dispersal evolution may play in range shifting is considered. An example of evolutionary entrapment that arises when species expand their ranges over fragmented landscapes is then presented. Finally, potential management strategies that may be used to promote range shifting are considered.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M. J."},{"family":"Dytham","given":"Calvin"}],"container-title":"Dispersal Ecology and Evolution","DOI":"10.1093/acprof:oso/9780199608898.003.0026","event-place":"Oxford","ISBN":"978-0-19-960889-8","issued":{"date-parts":[[2012]]},"language":"eng","publisher":"Oxford University Press","publisher-place":"Oxford","source":"University Press Scholarship","title":"Dispersal and climate change: a review of theory","title-short":"Dispersal and climate change","type":"chapter","URL":"https://oxford.universitypressscholarship.com/10.1093/acprof:oso/9780199608898.001.0001/acprof-9780199608898-chapter-26"}, - {"id":"travisDispersalEvolutionInvasions2002","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M J"},{"family":"Dytham","given":"Calvin"}],"container-title":"Evolutionary Ecology Research","container-title-short":"Evol.Ecol.Res.","ISSN":"1522-0613","issue":"8","issued":{"date-parts":[[2002]]},"language":"English","page":"1119-1129","publisher":"EVOLUTIONARY ECOLOGY LTD","source":"abdn.pure.elsevier.com","title":"Dispersal evolution during invasions","type":"article-journal","URL":"https://abdn.pure.elsevier.com/en/publications/dispersal-evolution-during-invasions","volume":"4"}, - {"id":"travisDispersalSpeciesResponses2014","abstract":"Dispersal is fundamental in determining biodiversity responses to rapid climate change, but recently acquired ecological and evolutionary knowledge is seldom accounted for in either predictive methods or conservation planning. We emphasise the accumulating evidence for direct and indirect impacts of climate change on dispersal. Additionally, evolutionary theory predicts increases in dispersal at expanding range margins, and this has been observed in a number of species. This multitude of ecological and evolutionary processes is likely to lead to complex responses of dispersal to climate change. As a result, improvement of models of species’ range changes will require greater realism in the representation of dispersal. Placing dispersal at the heart of our thinking will facilitate development of conservation strategies that are resilient to climate change, including landscape management and assisted colonisation. Synthesis This article seeks synthesis across the fields of dispersal ecology and evolution, species distribution modelling and conservation biology. Increasing effort focuses on understanding how dispersal influences species' responses to climate change. Importantly, though perhaps not broadly widely-recognised, species' dispersal characteristics are themselves likely to alter during rapid climate change. We compile evidence for direct and indirect influences that climate change may have on dispersal, some ecological and others evolutionary. We emphasise the need for predictive modelling to account for this dispersal realism and highlight the need for conservation to make better use of our existing knowledge related to dispersal.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Bocedi","given":"Greta"},{"family":"Baguette","given":"Michel"},{"family":"BartoĹ„","given":"Kamil"},{"family":"Bonte","given":"Dries"},{"family":"Boulangeat","given":"Isabelle"},{"family":"Hodgson","given":"Jenny A."},{"family":"Kubisch","given":"Alexander"},{"family":"Penteriani","given":"Vincenzo"},{"family":"Saastamoinen","given":"Marjo"},{"family":"Stevens","given":"Virginie M."},{"family":"Bullock","given":"James M."}],"container-title":"Oikos","DOI":"10.1111/j.1600-0706.2013.00399.x","ISSN":"1600-0706","issue":"11","issued":{"date-parts":[[2014]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0706.2013.00399.x","page":"1532-1540","source":"Wiley Online Library","title":"Dispersal and species’ responses to climate change","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0706.2013.00399.x","volume":"122"}, - {"id":"travisEvolutionDensitydependentDispersal1999","abstract":"Despite a large body of empirical evidence suggesting that the dispersal rates of many species depend on population density, most metapopulation models assume a density-independent rate of dispersal. Similarly, studies investigating the evolution of dispersal have concentrated almost exclusively on density-independent rates of dispersal. We develop a model that allows density-dependent dispersal strategies to evolve. Our results demonstrate that a density-dependent dispersal strategy almost always evolves and that the form of the relationship depends on reproductive rate, type of competition, size of subpopulation equilibrium densities and cost of dispersal. We suggest that future metapopulation models should account for density-dependent dispersal","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Murrell","given":"D. J."},{"family":"Dytham","given":"C."}],"container-title":"Proceedings of the Royal Society B: Biological Sciences","container-title-short":"Proc Biol Sci","DOI":"10.1098/rspb.1999.0854","ISSN":"0962-8452","issue":"1431","issued":{"date-parts":[[1999,9,22]]},"page":"1837","PMCID":"PMC1690220","PMID":"null","source":"PubMed Central","title":"The evolution of density-dependent dispersal","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1690220/","volume":"266"}, - {"id":"travisHabitatPersistenceHabitat1999","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Dytham","given":"C."}],"container-title":"Proceedings of the Royal Society of London. Series B: Biological Sciences","issue":"266","issued":{"date-parts":[[1999]]},"page":"723-728","title":"Habitat persistence, habitat availability and the evolution of dispersal","type":"article-journal","URL":"https://royalsocietypublishing.org/doi/10.1098/rspb.1999.0696"}, - {"id":"travisImprovingPredictionManagement2011a","abstract":"1. Improving the understanding, prediction and management of range expansions is a key challenge for ecology. Over recent years, there has been a rapid increase in modelling effort focussed on range expansions and a shift from predominantly theoretical developments towards application. This is especially the case in the field of invasion biology and also in relation to reintroductions and species’ responses to climate change. 2. While earlier models were exclusively analytical, individual-based models (IBMs) are now increasingly widely used. We argue that instead of being viewed as competing methodologies, analytical and individual-based methods can valuably be used in conjunction. 3. We use a mechanistic wind dispersal model to generate age-specific dispersal kernels for the invasive shrub, Rhododendron ponticum. To demonstrate the utility of employing both modelling approaches, this information along with demographic parameters is incorporated into an IBM and an analytical, integrodifference model. From both models, the equilibrium rate of spread is calculated. 4. Estimates of wavespeeds were similar for the two models, although slower rates of spread were consistently projected by the IBM. Further, our results demonstrate the wavespeed to be sensitive to the characterisation of age structure in the model; when few age classes are used, much higher rates of spread are projected. 5. The analytical model is extremely efficient at providing elasticity analysis of the wavespeed, which can provide helpful information for management. We gain qualitatively similar results using the IBM but obtaining the results is time-consuming and, because the model is stochastic, they are noisy and harder to interpret. We argue that analytically derived transient elasticity analyses are needed for the many cases where success of control is measured on a relatively short time horizon. 6. To demonstrate the flexibility of the IBM approach, we run it on a real landscape comprising different habitat types. The comparison of two different control scenarios is an example of the utility of this approach for more tactical applications. 7. As a general conclusion of the study, we emphasise that analytical and individual-based approaches offer different, but complementary, advantages and suggest how their joint use can facilitate the improvement in biodiversity management at a range of spatial scales.","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Harris","given":"Catriona M."},{"family":"Park","given":"Kirsty J."},{"family":"Bullock","given":"James M."}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/j.2041-210X.2011.00104.x","ISSN":"2041-210X","issue":"5","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2011.00104.x","page":"477-488","source":"Wiley Online Library","title":"Improving prediction and management of range expansions by combining analytical and individual-based modelling approaches","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.2041-210X.2011.00104.x","volume":"2"}, - {"id":"travisMechanisticUnderstandingDispersal2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"Justin M. J."},{"family":"Smith","given":"Hannah S."},{"family":"Ranwala","given":"Sudheera M. W."}],"container-title":"Diversity and Distributions","DOI":"10.1111/j.1472-4642.2010.00674.x","issue":"4","issued":{"date-parts":[[2010,7]]},"language":"English","page":"690-702","publisher":"WILEY-BLACKWELL","source":"abdn.pure.elsevier.com","title":"Towards a mechanistic understanding of dispersal evolution in plants: conservation implications","title-short":"Towards a mechanistic understanding of dispersal evolution in plants","type":"article-journal","URL":"https://abdn.pure.elsevier.com/en/publications/towards-a-mechanistic-understanding-of-dispersal-evolution-in-pla","volume":"16"}, - {"id":"travisMethodSimulatingPatterns2004","abstract":"The dynamics of populations inhabiting range margins are likely to be critically important in determining the response of species to climate change. Despite this, there is a lack of both empirical and theoretical work that examines the behaviour of these populations. Populations living on the edge of a species' range frequently inhabit a more patchily distributed habitat than those that live closer to the centre of the range. This difference is likely to play an important role in determining the dynamics of range margin populations, both when the range is static and when it is dynamic, for example shifting in response to climate change. Here, we present a simple method that simulates the distribution of suitable habitat sites at the edge of a range. Habitat availability is determined as a function of both latitudinal and local environmental variability, and the relative importance of the two can be adjusted. The method is readily extended to describe shifting habitat availability during a period of climate change. We suggest that there is a need for a greater effort to examine the ecology of range margin populations, and believe that the method presented here could be of considerable use in future theoretical studies.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"Dytham","given":"C."}],"container-title":"Oikos","ISSN":"0030-1299","issue":"2","issued":{"date-parts":[[2004]]},"page":"410-416","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"A Method for Simulating Patterns of Habitat Availability at Static and Dynamic Range Margins","type":"article-journal","URL":"https://www.jstor.org/stable/3547970","volume":"104"}, - {"id":"travisModellingDispersalEcoevolutionary2012a","abstract":"1. Understanding the causes and consequences of dispersal remains a central topic in ecology and evolution. However, a mismatch exists between our empirical understanding of the complexity of dispersal and our representation of dispersal in models. While the empirical literature is replete with examples of condition dependence at the emigration, movement and settlement phases, models rarely incorporate realism or complexity to this degree. Nor do models often include the different costs associated with dispersal, which can themselves be linked to one or more of the three key phases. 2. Here, we propose that by explicitly accounting for emigration, movement and settlement (and the multiple costs associated with each) we can substantially improve our understanding of both the dispersal process itself and how dispersal traits trade off against other life-history characteristics. We explore some of these issues conceptually, before presenting illustrative results gained from a flexible individual-based model which incorporates considerable dispersal complexity. 3. These results emphasise the nonlinear interplay between the different dispersal stages. For example, we find that investment in movement ability (at a cost to fecundity) depends upon the propensity to emigrate (and vice versa). However, owing to selection acting at the metapopulation level as well as at the individual level, the relationship between the two is not straightforward. Importantly, the shape of the trade-off between movement ability and reproductive potential can strongly influence the joint evolution of dispersal parameters controlling the degree of investment in safer movement, the probability of emigration and the straightness of movement. 4. Our results highlight that the joint evolution of dispersal characteristics can have major implications for spatial population dynamics and we argue that, in addition to increasing our fundamental biological understanding, a new generation of dispersal modelling, which exploits recent empirical advances, can substantially improve our ability to predict and manage the response of species to environmental change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Travis","given":"J. M. J."},{"family":"BartoĹ„","given":"Kamil A."},{"family":"Benton","given":"Tim G."},{"family":"Clobert","given":"Jean"},{"family":"Delgado","given":"Maria M."},{"family":"Dytham","given":"Calvin"},{"family":"Hovestadt","given":"Thomas"},{"family":"Palmer","given":"Stephen C. F."},{"family":"Dyck","given":"Hans Van"},{"family":"Bonte","given":"Dries"}],"container-title":"Methods in Ecology and Evolution","DOI":"10.1111/j.2041-210X.2012.00193.x","ISSN":"2041-210X","issue":"4","issued":{"date-parts":[[2012]]},"language":"en","note":"_eprint: https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.2041-210X.2012.00193.x","page":"628-641","source":"Wiley Online Library","title":"Modelling dispersal: an eco-evolutionary framework incorporating emigration, movement, settlement behaviour and the multiple costs involved","title-short":"Modelling dispersal","type":"article-journal","URL":"https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/j.2041-210X.2012.00193.x","volume":"3"}, - {"id":"turlureSpeciesSexspecificAdjustments2011","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Turlure","given":"Camille"},{"family":"Baguette","given":"M"},{"family":"Stevens","given":"Virginie M"},{"family":"Maes","given":"D"}],"container-title":"Behavioral Ecology","issue":"22","issued":{"date-parts":[[2011]]},"page":"967-975","title":"Species- and sex-specific adjustments of movement behavior to landscape heterogeneity in butterflies","type":"article-journal","URL":"https://academic.oup.com/beheco/article/22/5/967/251656?login=true"}, - {"id":"turnerUsefulnessSpatiallyExplicit1995","abstract":"Land managers need new tools, such as spatial models, to aid them in their decision-making processes because managing for biodiversity, water quality, or natural disturbance is challenging, and landscapes are complex and dynamic. Spatially explicit population models are helpful to managers because these models consider both species-habitat relationships and the arrangement of habitats in space and time. The visualizations that typically accompany spatially explicit models also permit managers to 'see' the effects of alternative management strategies on populations of interest. However, the expense entailed in developing the data bases required for spatially explicit models may limit widespread implementation. In addition, many of the models are developed for one or a few species, and dealing with multiple species in a landscape remains a significant challenge. To be most useful to land managers, spatially explicit population models should be user friendly, easily portable, operate on spatial and temporal scales appropriate to management decisions, and use input and output variables that can be measured affordably.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Turner","given":"Monica G."},{"family":"Arthaud","given":"Greg J."},{"family":"Engstrom","given":"R. Todd"},{"family":"Hejl","given":"Sallie J."},{"family":"Liu","given":"Jianguo"},{"family":"Loeb","given":"Susan"},{"family":"McKelvey","given":"Kevin"}],"container-title":"Ecological Applications","DOI":"10.2307/1942046","ISSN":"1939-5582","issue":"1","issued":{"date-parts":[[1995]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.2307/1942046","page":"12-16","source":"Wiley Online Library","title":"Usefulness of Spatially Explicit Population Models in Land Management","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.2307/1942046","volume":"5"}, - {"id":"urbanMovingForwardDispersal2013","abstract":"We need accurate predictions about how climate change will alter species distributions and abundances around the world. Most predictions assume simplistic dispersal scenarios and ignore biotic interactions. We argue for incorporating the complexities of dispersal and species interactions. Range expansions depend not just on mean dispersal, but also on the shape of the dispersal kernel and the population's growth rate. We show how models using species-specific dispersal can produce more accurate predictions than models applying all-or-nothing dispersal scenarios. Models that additionally include species interactions can generate distinct outcomes. For example, species interactions can slow climate tracking and produce more extinctions than models assuming no interactions. We conclude that (1) just knowing mean dispersal is insufficient to predict biotic responses to climate change, and (2) considering interspecific dispersal variation and species interactions jointly will be necessary to anticipate future changes to biological diversity. We advocate for collecting key information on interspecific dispersal differences and strong biotic interactions so that we can build the more robust predictive models that will be necessary to inform conservation efforts as climates continue to change.","author":[{"family":"Urban","given":"Mark C."},{"family":"Zarnetske","given":"Phoebe L."},{"family":"Skelly","given":"David K."}],"container-title":"Annals of the New York Academy of Sciences","container-title-short":"Ann N Y Acad Sci","DOI":"10.1111/nyas.12184","ISSN":"1749-6632","issued":{"date-parts":[[2013,9]]},"language":"eng","page":"44-60","PMID":"23819864","source":"PubMed","title":"Moving forward: dispersal and species interactions determine biotic responses to climate change","title-short":"Moving forward","type":"article-journal","volume":"1297"}, - {"id":"vandermeerMetapopulationDynamicsQuality2001","abstract":"In both strictly theoretical and more applied contexts it has been historically assumed that metapopulations exist within a featureless, uninhabitable matrix and that dynamics within the matrix are unimportant. In this article, we explore the range of theoretical consequences that result from relaxing this assumption. We show, with a variety of modeling techniques, that matrix quality can be extremely important in determining metapopulation dynamics. A higher-quality matrix generally buffers against extinction. However, in some situations, an increase in matrix quality can generate chaotic subpopulation dynamics, where stability had been the rule in a lower-quality matrix. Furthermore, subpopulations acting as source populations in a low-quality matrix may develop metapopulation dynamics as the quality of the matrix increases. By forcing metapopulation dynamics on a formerly heterogeneous (but stable within subpopulations) population, the probability of simultaneous extinction of all subpopulations actually increases. Thus, it cannot be automatically assumed that increasing matrix quality will lower the probability of global extinction of a population.","author":[{"family":"Vandermeer","given":"J."},{"family":"Carvajal","given":"R."}],"container-title":"The American Naturalist","container-title-short":"Am Nat","DOI":"10.1086/321318","ISSN":"1537-5323","issue":"3","issued":{"date-parts":[[2001,9]]},"language":"eng","page":"211-220","PMID":"18707319","source":"PubMed","title":"Metapopulation dynamics and the quality of the matrix","type":"article-journal","volume":"158"}, - {"id":"vasseurColorEnvironmentalNoise2004","abstract":"Biological populations are strongly influenced by the random variation in their environment. The spectrum of frequencies in noise is particularly important to dynamics and persistence. Here we present an analysis of the variance spectra of a wide variety of long-term time series of environmental variables. Spectra were well approximated by the inverse power law 1/fβ within the appropriate range of frequencies f; however, the majority of spectra were “flattened” at low frequencies. With some qualification we found the spectral exponents (β) to corroborate an earlier suggestion that terrestrial noise tends to be “white” (β < 0.5), while marine environments tend to be “red” (β ≠1) or “brown” (β ≠2). As well, we found a tendency for whiter noise in temperate latitudes than in either high or low latitudes. These results have wide-ranging consequences for ecosystem fragility and species conservation.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Vasseur","given":"David A."},{"family":"Yodzis","given":"Peter"}],"container-title":"Ecology","DOI":"10.1890/02-3122","ISSN":"1939-9170","issue":"4","issued":{"date-parts":[[2004]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/02-3122","page":"1146-1152","source":"Wiley Online Library","title":"The Color of Environmental Noise","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/02-3122","volume":"85"}, - {"id":"verbeylenDoesMatrixResistance2003","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Verbeylen","given":"Goedele"},{"family":"Bruyn","given":"Luc De"},{"family":"Adriaensen","given":"F."},{"family":"Matthysen","given":"E."}],"container-title":"Landscape Ecology","DOI":"10.1023/B:LAND.0000014492.50765.05","issue":"8","issued":{"date-parts":[[2003]]},"language":"English","page":"791-805","source":"pureportal.inbo.be","title":"Does matrix resistance influence red squirrel (Sciurus vulgaris l. 1758) distribution in an urban landscape?","type":"article-journal","URL":"https://pureportal.inbo.be/en/publications/does-matrix-resistance-influence-red-squirrel-emsciurus-vulgarise","volume":"18"}, - {"id":"verboomPopulationDynamicsIncreasing2010","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Verboom","given":"J."},{"family":"Schippers","given":"P."},{"family":"Cormont","given":"A."},{"family":"Sterk","given":"M."},{"family":"Vos","given":"C. C."},{"family":"Opdam","given":"P. F. M."}],"container-title":"Landscape Ecology","DOI":"10.1007/s10980-010-9497-7","ISSN":"0921-2973","issued":{"date-parts":[[2010]]},"language":"English","page":"1289-1298","publisher":"Springer Verlag","source":"research.wur.nl","title":"Population dynamics under increasing environmental variability: implications of climate change for ecological network design criteria","title-short":"Population dynamics under increasing environmental variability","type":"article-journal","URL":"https://research.wur.nl/en/publications/population-dynamics-under-increasing-environmental-variability-im","volume":"25"}, - {"id":"verckenImportanceGoodNeighborhood2012","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Vercken","given":"E."},{"family":"Sinervo","given":"B."},{"family":"Clobert","given":"J"}],"container-title":"Behavioral Ecology","issue":"23","issued":{"date-parts":[[2012]]},"page":"1059-1067","title":"The importance of a good neighborhood: dispersal decisions in juvenile common lizards are based on social environment","type":"article-journal","URL":"https://academic.oup.com/beheco/article/23/5/1059/233208"}, - {"id":"vittAssistedMigrationPart2009","author":[{"family":"Vitt","given":"Pati"},{"family":"Havens","given":"Kayri"},{"family":"Hoegh-Guldberg","given":"Ove"}],"container-title":"Trends in Ecology & Evolution","container-title-short":"Trends Ecol Evol","DOI":"10.1016/j.tree.2009.05.007","ISSN":"0169-5347","issue":"9","issued":{"date-parts":[[2009,9]]},"language":"eng","page":"473-474; author reply 476-477","PMID":"19595474","source":"PubMed","title":"Assisted migration: part of an integrated conservation strategy","title-short":"Assisted migration","type":"article-journal","volume":"24"}, - {"id":"vuilleumierAnimalDispersalModelling2006","abstract":"Animal dispersal in a fragmented landscape depends on the complex interaction between landscape structure and animal behavior. To better understand how individuals disperse, it is important to explicitly represent the properties of organisms and the landscape in which they move. A common approach to modelling dispersal includes representing the landscape as a grid of equal sized cells and then simulating individual movement as a correlated random walk. This approach uses a priori scale of resolution, which limits the representation of all landscape features and how different dispersal abilities are modelled. We develop a vector-based landscape model coupled with an object-oriented model for animal dispersal. In this spatially explicit dispersal model, landscape features are defined based on their geographic and thematic properties and dispersal is modelled through consideration of an organism's behavior, movement rules and searching strategies (such as visual cues). We present the model's underlying concepts, its ability to adequately represent landscape features and provide simulation of dispersal according to different dispersal abilities. We demonstrate the potential of the model by simulating two virtual species in a real Swiss landscape. This illustrates the model's ability to simulate complex dispersal processes and provides information about dispersal such as colonization probability and spatial distribution of the organism's path.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Vuilleumier","given":"SĂ©verine"},{"family":"Metzger","given":"Richard"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2005.04.017","ISSN":"0304-3800","issue":"1","issued":{"date-parts":[[2006,1,10]]},"language":"en","page":"159-170","source":"ScienceDirect","title":"Animal dispersal modelling: Handling landscape features and related animal choices","title-short":"Animal dispersal modelling","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S030438000500222X","volume":"190"}, - {"id":"vuilleumierEffectsCognitiveAbilities2006","abstract":"Connectivity among demes in a metapopulation depends on both the landscape's and the focal organism's properties (including its mobility and cognitive abilities). Using individual-based simulations, we contrast the consequences of three different cognitive strategies on several measures of metapopulation connectivity. Model animals search suitable habitat patches while dispersing through a model landscape made of cells varying in size, shape, attractiveness and friction. In the blind strategy, the next cell is chosen randomly among the adjacent ones. In the near-sighted strategy, the choice depends on the relative attractiveness of these adjacent cells. In the far-sighted strategy, animals may additionally target suitable patches that appear within their perceptual range. Simulations show that the blind strategy provides the best overall connectivity, and results in balanced dispersal. The near-sighted strategy traps animals into corridors that reduce the number of potential targets, thereby fragmenting metapopulations in several local clusters of demes, and inducing sink-source dynamics. This sort of local trapping is somewhat prevented in the far-sighted strategy. The colonization success of strategies depends highly on initial energy reserves: blind does best when energy is high, near-sighted wins at intermediate levels, and far-sighted outcompetes its rivals at low energy reserves. We also expect strong effects in terms of metapopulation genetics: the blind strategy generates a migrant-pool mode of dispersal that should erase local structures. By contrast, near- and far-sighted strategies generate a propagule-pool mode of dispersal and source-sink behavior that should boost structures (high genetic variance among-and low variance within local clusters of demes), particularly if metapopulation dynamics is also affected by extinction-colonization processes. Our results thus point to important effects of the cognitive ability of dispersers on the connectivity, dynamics and genetics of metapopulations.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Vuilleumier","given":"SĂ©verine"},{"family":"Perrin","given":"Nicolas"},{"family":"Ranta","given":"Esa"}],"container-title":"Oikos","ISSN":"0030-1299","issue":"1","issued":{"date-parts":[[2006]]},"page":"139-147","publisher":"[Nordic Society Oikos, Wiley]","source":"JSTOR","title":"Effects of Cognitive Abilities on Metapopulation Connectivity","type":"article-journal","URL":"https://www.jstor.org/stable/3548543","volume":"113"}, - {"id":"wangDispersalGlanvilleFritillary2011","abstract":"1. Habitat fragmentation may lead to natural selection on dispersal rate and other life-history traits. Both theoretical analyses and empirical studies suggest that habitat fragmentation may select either for increased or decreased dispersal depending on the traits of the species and the characteristics of the landscape. 2. Dispersal and movement rates in Glanville fritillary butterflies (Melitaea cinxia) originating from a continuous landscape in China and from a highly fragmented landscape in Finland were compared using three different methods. 3. The methods included replicated mark-release-recapture (MRR) experiments conducted in the natural environments in China and Finland, tracking with harmonic radar of captive-reared but free-flying butterflies in a common environment in the field, and replicated common garden experiments in a large outdoor population cage. 4. The results were largely consistent, showing that butterflies from the more continuous landscape in China had a lower movement rate than butterflies originating from the fragmented landscape in Finland. Butterflies originating from newly-established populations in Finland moved significantly longer distances than butterflies originating from old populations in Finland or from China, demonstrating significant intra-specific variation in dispersal rate in Finland. These results are consistent with model predictions for the Glanville fritillary. 5. The tracking experiment revealed a result that would have been impossible to obtain with MRR experiments: movement rate was influenced by a significant interaction between population origin (China vs. Finland) and ambient air temperature.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Wang","given":"Rongjiang"},{"family":"Ovaskainen","given":"Otso"},{"family":"Cao","given":"Yundong"},{"family":"Chen","given":"Houqiang"},{"family":"Zhou","given":"Yan"},{"family":"Xu","given":"Chongren"},{"family":"Hanski","given":"Ilkka"}],"container-title":"Ecological Entomology","DOI":"10.1111/j.1365-2311.2011.01267.x","ISSN":"1365-2311","issue":"2","issued":{"date-parts":[[2011]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2311.2011.01267.x","page":"251-260","source":"Wiley Online Library","title":"Dispersal in the Glanville fritillary butterfly in fragmented versus continuous landscapes: comparison between three methods","title-short":"Dispersal in the Glanville fritillary butterfly in fragmented versus continuous landscapes","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2311.2011.01267.x","volume":"36"}, - {"id":"warrenRapidResponsesBritish2001","abstract":"Habitat degradation and climate change are thought to be altering the distributions and abundances of animals and plants throughout the world, but their combined impacts have not been assessed for any species assemblage1,2,3,4. Here we evaluated changes in the distribution sizes and abundances of 46 species of butterflies that approach their northern climatic range margins in Britain—where changes in climate and habitat are opposing forces. These insects might be expected to have responded positively to climate warming over the past 30 years, yet three-quarters of them declined: negative responses to habitat loss have outweighed positive responses to climate warming. Half of the species that were mobile and habitat generalists increased their distribution sites over this period (consistent with a climate explanation), whereas the other generalists and 89% of the habitat specialists declined in distribution size (consistent with habitat limitation). Changes in population abundances closely matched changes in distributions. The dual forces of habitat modification and climate change are likely to cause specialists to decline, leaving biological communities with reduced numbers of species and dominated by mobile and widespread habitat generalists.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Warren","given":"M. S."},{"family":"Hill","given":"J. K."},{"family":"Thomas","given":"J. A."},{"family":"Asher","given":"J."},{"family":"Fox","given":"R."},{"family":"Huntley","given":"B."},{"family":"Roy","given":"D. B."},{"family":"Telfer","given":"M. G."},{"family":"Jeffcoate","given":"S."},{"family":"Harding","given":"P."},{"family":"Jeffcoate","given":"G."},{"family":"Willis","given":"S. G."},{"family":"Greatorex-Davies","given":"J. N."},{"family":"Moss","given":"D."},{"family":"Thomas","given":"C. D."}],"container-title":"Nature","DOI":"10.1038/35102054","ISSN":"1476-4687","issue":"6859","issued":{"date-parts":[[2001,11]]},"language":"en","note":"Bandiera_abtest: a\nCg_type: Nature Research Journals\nPrimary_atype: Research","number":"6859","page":"65-69","publisher":"Nature Publishing Group","source":"www.nature.com","title":"Rapid responses of British butterflies to opposing forces of climate and habitat change","type":"article-journal","URL":"https://www.nature.com/articles/35102054","volume":"414"}, - {"id":"wattsTargetingEvaluatingBiodiversity2010","abstract":"The focus of biodiversity conservation is shifting to larger spatial scales in response to habitat fragmentation and the need to integrate multiple landscape objectives. Conservation strategies increasingly incorporate measures to combat fragmentation such as ecological networks. These are often based on assessment of landscape structure but such approaches fail to capitalise on the potential offered by more ecologically robust assessments of landscape function and connectivity. In this paper, we describe a modelling approach to identifying functional habitat networks and demonstrate its application to a fragmented landscape where policy initiatives seek to improve conditions for woodland biodiversity including increasing woodland cover. Functional habitat networks were defined by identifying suitable habitat and by modelling connectivity using least-cost approaches to account for matrix permeability. Generic focal species (GFS) profiles were developed, in consultation with stakeholders, to represent species with high and moderate sensitivity to fragmentation. We demonstrated how this form of analysis can be used to aid the spatial targeting of conservation actions. This â€targeted’ action scenario was tested for effectiveness against comparable scenarios, which were based on random and clumped actions within the same landscape. We tested effectiveness using structural metrics, network-based metrics and a published functional connectivity indicator. Targeting actions within networks resulted in the highest mean woodland area and highest connectivity indicator value. Our approach provides an assessment of landscape function by recognising the importance of the landscape matrix. It provides a framework for the targeting and evaluation of alternative conservation options, offering a pragmatic, ecologically-robust solution to a current need in applied landscape ecology.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Watts","given":"Kevin"},{"family":"Eycott","given":"Amy E."},{"family":"Handley","given":"Phillip"},{"family":"Ray","given":"Duncan"},{"family":"Humphrey","given":"Jonathan W."},{"family":"Quine","given":"Christopher P."}],"container-title":"Landscape Ecology","container-title-short":"Landscape Ecol","DOI":"10.1007/s10980-010-9507-9","ISSN":"1572-9761","issue":"9","issued":{"date-parts":[[2010,11,1]]},"language":"en","page":"1305-1318","source":"Springer Link","title":"Targeting and evaluating biodiversity conservation action within fragmented landscapes: an approach based on generic focal species and least-cost networks","title-short":"Targeting and evaluating biodiversity conservation action within fragmented landscapes","type":"article-journal","URL":"https://doi.org/10.1007/s10980-010-9507-9","volume":"25"}, - {"id":"weeksAssessingBenefitsRisks2011","abstract":"Translocations are being increasingly proposed as a way of conserving biodiversity, particularly in the management of threatened and keystone species, with the aims of maintaining biodiversity and ecosystem function under the combined pressures of habitat fragmentation and climate change. Evolutionary genetic considerations should be an important part of translocation strategies, but there is often confusion about concepts and goals. Here, we provide a classification of translocations based on specific genetic goals for both threatened species and ecological restoration, separating targets based on â€genetic rescue’ of current population fitness from those focused on maintaining adaptive potential. We then provide a framework for assessing the genetic benefits and risks associated with translocations and provide guidelines for managers focused on conserving biodiversity and evolutionary processes. Case studies are developed to illustrate the framework.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Weeks","given":"Andrew R"},{"family":"Sgro","given":"Carla M"},{"family":"Young","given":"Andrew G"},{"family":"Frankham","given":"Richard"},{"family":"Mitchell","given":"Nicki J"},{"family":"Miller","given":"Kim A"},{"family":"Byrne","given":"Margaret"},{"family":"Coates","given":"David J"},{"family":"Eldridge","given":"Mark D B"},{"family":"Sunnucks","given":"Paul"},{"family":"Breed","given":"Martin F"},{"family":"James","given":"Elizabeth A"},{"family":"Hoffmann","given":"Ary A"}],"container-title":"Evolutionary Applications","container-title-short":"Evol Appl","DOI":"10.1111/j.1752-4571.2011.00192.x","ISSN":"1752-4571","issue":"6","issued":{"date-parts":[[2011,11]]},"page":"709-725","PMCID":"PMC3265713","PMID":"22287981","source":"PubMed Central","title":"Assessing the benefits and risks of translocations in changing environments: a genetic perspective","title-short":"Assessing the benefits and risks of translocations in changing environments","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3265713/","volume":"4"}, - {"id":"wiegandEffectsHabitatLoss2005","abstract":"We used a spatially explicit population model that was generalized to produce nine ecological profiles of long-lived species with stable home ranges and natal dispersal to investigate the effects of habitat loss and fragmentation on population dynamics. We simulated population dynamics in landscapes composed of three habitat types (good-quality habitat ranging from 10-25%, poor-quality habitat ranging from 10-70%, and matrix). Landscape structures varied from highly fragmented to completely contiguous. The specific aims of our model were (1) to investigate under which biological circumstances the traditional approach of using two types only (habitat and matrix) failed and assess the potential impact of restoring matrix to poor-quality habitat, (2) to investigate how much of the variation in population size was explained by landscape composition alone and which key attributes of landscape structure can serve as predictors of population response, and (3) to estimate the maximum fragmentation effects expressed in equivalent pure loss of good-quality habitat. Poor-quality habitat mattered most in situations when it was generally not considered (i.e., for metapopulations or spatially structured populations when it provides dispersal habitat). Population size increased up to 3 times after restoring matrix to poor-quality habitat. Overall, habitat amount accounted for 68%) of the variation in population size, whereas ecological profile and fragmentation accounted for approximately 13%> each. The maximal effect of (good-quality) habitat fragmentation was equivalent to a pure loss of up to 15%> of good-quality habitat, and the maximal loss of individuals resulting from maximal fragmentation reached 80%. Abundant dispersal habitat and sufficiently large dispersal potential, however, resulted in functionally connected landscapes, and maximal fragmentation had no effect at all. Our findings suggest that predicting fragmentation effects requires a good understanding of the biology and habitat use of the species in question and that the uniqueness of species and the landscapes in which they live confound simple analysis.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Wiegand","given":"Thorsten"},{"family":"Revilla","given":"Eloy"},{"family":"Moloney","given":"Kirk A."}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"1","issued":{"date-parts":[[2005]]},"page":"108-121","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"Effects of Habitat Loss and Fragmentation on Population Dynamics","type":"article-journal","URL":"https://www.jstor.org/stable/3591014","volume":"19"}, - {"id":"willisAssistedColonizationChanging2009","abstract":"Recent climatic change in temperate regions has been rapid and there is mounting speculation that species are failing to keep track of suitable climate, perhaps necessitating assisted colonization for some species. An inability to spread into new areas may result in large reductions in species’ ranges in the future, and threaten the survival of some species. Here we use “species-climate” models to predict suitable sites for introductions beyond current range margins, using two U.K. butterfly species. We introduced Melanargia galathea (marbled white) and Thymelicus sylvestris (small skipper) into two sites in northern England, âĽ65 and âĽ35 km beyond their then-range margins, respectively, to sites that were predicted to be climatically suitable and that appeared to contain suitable habitat for the species. Both introduced populations grew and expanded their range over 6 years (2001–2006; still thriving in 2008), suggesting the existence of a colonization lag and providing evidence that well-planned assisted colonization can be successful. We suggest that assisted colonization may be a feasible and cost-effective means of enabling certain species to track climatic change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Willis","given":"Stephen G."},{"family":"Hill","given":"Jane K."},{"family":"Thomas","given":"Chris D."},{"family":"Roy","given":"David B."},{"family":"Fox","given":"Richard"},{"family":"Blakeley","given":"David S."},{"family":"Huntley","given":"Brian"}],"container-title":"Conservation Letters","DOI":"10.1111/j.1755-263X.2008.00043.x","ISSN":"1755-263X","issue":"1","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1755-263X.2008.00043.x","page":"46-52","source":"Wiley Online Library","title":"Assisted colonization in a changing climate: a test-study using two U.K. butterflies","title-short":"Assisted colonization in a changing climate","type":"article-journal","URL":"https://conbio.onlinelibrary.wiley.com/doi/abs/10.1111/j.1755-263X.2008.00043.x","volume":"2"}, - {"id":"willisDynamicDistributionModelling2009","abstract":"Confidence in projections of the future distributions of species requires demonstration that recently-observed changes could have been predicted adequately. Here we use a dynamic model framework to demonstrate that recently-observed changes at the expanding northern boundaries of three British butterfly species can be predicted with good accuracy. Previous work established that the distributions of the study species currently lag behind climate change, and so we presumed that climate is not currently a major constraint at the northern range margins of our study species. We predicted 1970–2000 distribution changes using a colonisation model, MIGRATE, superimposed on a high-resolution map of habitat availability. Thirty-year rates and patterns of distribution change could be accurately predicted for each species (Îş goodness-of-fit of models >0.64 for all three species, corresponding to >83% of grid cells correctly assigned), using a combination of individual species traits, species-specific habitat associations and distance-dependent dispersal. Sensitivity analyses showed that population productivity was the most important determinant of the rate of distribution expansion (variation in dispersal rate was not studied because the species are thought to be similar in dispersal capacity), and that each species’ distribution prior to expansion was critical in determining the spatial pattern of the current distribution. In future, modelling approaches that combine climate suitability and spatially-explicit population models, incorporating demographic variables and habitat availability, are likely to be valuable tools in projecting species’ responses to climatic change and hence in anticipating management to facilitate species’ dispersal and persistence.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Willis","given":"Stephen G."},{"family":"Thomas","given":"Chris D."},{"family":"Hill","given":"Jane K."},{"family":"Collingham","given":"Yvonne C."},{"family":"Telfer","given":"Mark G."},{"family":"Fox","given":"Richard"},{"family":"Huntley","given":"Brian"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2008.05711.x","ISSN":"1600-0587","issue":"1","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2008.05711.x","page":"5-12","source":"Wiley Online Library","title":"Dynamic distribution modelling: predicting the present from the past","title-short":"Dynamic distribution modelling","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2008.05711.x","volume":"32"}, - {"id":"wiszRoleBioticInteractions2013","abstract":"Predicting which species will occur together in the future, and where, remains one of the greatest challenges in ecology, and requires a sound understanding of how the abiotic and biotic environments interact with dispersal processes and history across scales. Biotic interactions and their dynamics influence species' relationships to climate, and this also has important implications for predicting future distributions of species. It is already well accepted that biotic interactions shape species' spatial distributions at local spatial extents, but the role of these interactions beyond local extents (e.g. 10 km(2) to global extents) are usually dismissed as unimportant. In this review we consolidate evidence for how biotic interactions shape species distributions beyond local extents and review methods for integrating biotic interactions into species distribution modelling tools. Drawing upon evidence from contemporary and palaeoecological studies of individual species ranges, functional groups, and species richness patterns, we show that biotic interactions have clearly left their mark on species distributions and realised assemblages of species across all spatial extents. We demonstrate this with examples from within and across trophic groups. A range of species distribution modelling tools is available to quantify species environmental relationships and predict species occurrence, such as: (i) integrating pairwise dependencies, (ii) using integrative predictors, and (iii) hybridising species distribution models (SDMs) with dynamic models. These methods have typically only been applied to interacting pairs of species at a single time, require a priori ecological knowledge about which species interact, and due to data paucity must assume that biotic interactions are constant in space and time. To better inform the future development of these models across spatial scales, we call for accelerated collection of spatially and temporally explicit species data. Ideally, these data should be sampled to reflect variation in the underlying environment across large spatial extents, and at fine spatial resolution. Simplified ecosystems where there are relatively few interacting species and sometimes a wealth of existing ecosystem monitoring data (e.g. arctic, alpine or island habitats) offer settings where the development of modelling tools that account for biotic interactions may be less difficult than elsewhere.","author":[{"family":"Wisz","given":"Mary Susanne"},{"family":"Pottier","given":"Julien"},{"family":"Kissling","given":"W. Daniel"},{"family":"Pellissier","given":"LoĂŻc"},{"family":"Lenoir","given":"Jonathan"},{"family":"Damgaard","given":"Christian F."},{"family":"Dormann","given":"Carsten F."},{"family":"Forchhammer","given":"Mads C."},{"family":"Grytnes","given":"John-Arvid"},{"family":"Guisan","given":"Antoine"},{"family":"Heikkinen","given":"Risto K."},{"family":"Høye","given":"Toke T."},{"family":"KĂĽhn","given":"Ingolf"},{"family":"Luoto","given":"Miska"},{"family":"Maiorano","given":"Luigi"},{"family":"Nilsson","given":"Marie-Charlotte"},{"family":"Normand","given":"Signe"},{"family":"Ă–ckinger","given":"Erik"},{"family":"Schmidt","given":"Niels M."},{"family":"Termansen","given":"Mette"},{"family":"Timmermann","given":"Allan"},{"family":"Wardle","given":"David A."},{"family":"Aastrup","given":"Peter"},{"family":"Svenning","given":"Jens-Christian"}],"container-title":"Biological Reviews of the Cambridge Philosophical Society","container-title-short":"Biol Rev Camb Philos Soc","DOI":"10.1111/j.1469-185X.2012.00235.x","ISSN":"1469-185X","issue":"1","issued":{"date-parts":[[2013,2]]},"language":"eng","page":"15-30","PMCID":"PMC3561684","PMID":"22686347","source":"PubMed","title":"The role of biotic interactions in shaping distributions and realised assemblages of species: implications for species distribution modelling","title-short":"The role of biotic interactions in shaping distributions and realised assemblages of species","type":"article-journal","volume":"88"}, - {"id":"withApplicationNeutralLandscape1997","abstract":"Neutral landscape models, derived from percolation theory in the field of landscape ecology, are grid-based maps in which complex habitat distributions are generated by random or fractal algorithms. This grid-based representation of landscape structure is compatible with the raster-based format of geographical information systems (GIS), which facilitates comparisons between theoretical and real landscapes. Neutral landscape models permit the identification of critical thresholds in connectivity, which can be used to predict when landscapes will become fragmented. The coupling of neutral landscape models with generalized population models, such as metapopulation theory, provides a null model for generating predictions about population dynamics in fragmented landscapes. Neutral landscape models can contribute to the following applications in conservation: (1) incorporation of complex spatial patterns in (meta)population models; (2) identification of species' perceptions of landscape structure; (3) determination of landscape connectivity; (4) evaluation of the consequences of habitat fragmentation for population subdivision; (5) identification of the domain of metapopulation dynamics; (6) prediction of the occurrence of extinction thresholds; (7) determination of the genetic consequences of habitat fragmentation; and (8) reserve design and ecosystem management. This generalized, spatially explicit framework bridges the gap between spatially implicit, patch-based models and spatially realistic GIS applications which are usually parameterized for a single species in a specific landscape. Development of a generalized, spatially explicit framework is essential in conservation biology because we will not be able to develop individual models for every species of management concern.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"With","given":"Kimberly A."}],"container-title":"Conservation Biology","ISSN":"0888-8892","issue":"5","issued":{"date-parts":[[1997]]},"page":"1069-1080","publisher":"[Wiley, Society for Conservation Biology]","source":"JSTOR","title":"The Application of Neutral Landscape Models in Conservation Biology","type":"article-journal","URL":"https://www.jstor.org/stable/2387389","volume":"11"}, - {"id":"withExtinctionThresholdsSpecies1999","abstract":"Abstract: Predicting species’ responses to habitat loss and fragmentation is one of the greatest challenges facing conservation biologists, particularly if extinction is a threshold phenomenon. Extinction thresholds are abrupt declines in the patch occupancy of a metapopulation across a narrow range of habitat loss. Metapopulation-type models have been used to predict extinction thresholds for endangered populations. These models often make simplifying assumptions about the distribution of habitat (random) and the search for suitable habitat sites (random dispersal). We relaxed these two assumptions in a modeling approach that combines a metapopulation model with neutral landscape models of fractal habitat distributions. Dispersal success for suitable, unoccupied sites was higher on fractal landscapes for nearest-neighbor dispersers (moving through adjacent cells of the landscape) than for dispersers searching at random (random distance and direction between steps) on random landscapes. Consequently, species either did not suffer extinction thresholds or extinction thresholds occurred later, at lower levels of habitat abundance, than predicted previously. The exception is for species with limited demographic potential, owing to low reproductive output , in which extinction thresholds occurred sooner than on random landscapes in all but the most clumped fractal landscapes . Furthermore, the threshold was more precipitous for these species. Many species of conservation concern have limited demographic potential, and these species may be at greater risk from habitat loss and fragmentation than previously suspected.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"With","given":"Kimberly A."},{"family":"King","given":"Anthony W."}],"container-title":"Conservation Biology","DOI":"10.1046/j.1523-1739.1999.013002314.x","ISSN":"1523-1739","issue":"2","issued":{"date-parts":[[1999]]},"language":"en","note":"_eprint: https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1523-1739.1999.013002314.x","page":"314-326","source":"Wiley Online Library","title":"Extinction Thresholds for Species in Fractal Landscapes","type":"article-journal","URL":"https://conbio.onlinelibrary.wiley.com/doi/abs/10.1046/j.1523-1739.1999.013002314.x","volume":"13"}, - {"id":"zhengModellingDispersalDiffusion2009a","abstract":"Quantifying dispersal is crucial both for understanding ecological population dynamics, and for gaining insight into factors that affect the genetic structure of populations. The role of dispersal becomes pronounced in highly fragmented landscapes inhabited by spatially structured populations. We consider a landscape consisting of a set of habitat patches surrounded by unsuitable matrix, and model dispersal by assuming that the individuals follow a random walk with parameters that may be specific to the habitat type. We allow for spatial variation in patch quality, and account for edge-mediated behavior, the latter meaning that the individuals bias their movement towards the patches when close to an edge between a patch and the matrix. We employ a diffusion approximation of the random walk model to derive analytical expressions for various characteristics of the dispersal process. For example, we derive formulae for the time that an individual is expected to spend in its current patch i, and for the time that it will spend in the matrix, both conditional on the individual hitting next a given patch j before hitting any of the other patches or dying. The analytical formulae are based on the assumptions that the landscape is infinitely large, that the patches are circularly shaped, and that the patches are small compared to interpatch distances. We evaluate the effect of these assumptions by comparing the analytical results to numerical results in a real patch network that violates all of the three assumptions. We then consider a landscape that fulfills the assumptions, and show that in this case the analytical results are in a very good agreement with the numerical results. The results obtained here allow the construction of computationally efficient dispersal models that can be used as components of metapopulation models.","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Zheng","given":"Chaozhi"},{"family":"Pennanen","given":"Juho"},{"family":"Ovaskainen","given":"Otso"}],"container-title":"Ecological Modelling","container-title-short":"Ecological Modelling","DOI":"10.1016/j.ecolmodel.2009.02.024","ISSN":"0304-3800","issue":"12","issued":{"date-parts":[[2009,6,24]]},"language":"en","page":"1495-1505","source":"ScienceDirect","title":"Modelling dispersal with diffusion and habitat selection: Analytical results for highly fragmented landscapes","title-short":"Modelling dispersal with diffusion and habitat selection","type":"article-journal","URL":"https://www.sciencedirect.com/science/article/pii/S0304380009001203","volume":"220"}, - {"id":"zhengModellingSingleNucleotide2009","abstract":"Dispersal comprises a complex life-history syndrome that influences the demographic dynamics of especially those species that live in fragmented landscapes, the structure of which may in turn be expected to impose selection on dispersal. We have constructed an individual-based evolutionary sexual model of dispersal for species occurring as metapopulations in habitat patch networks. The model assumes correlated random walk dispersal with edge-mediated behaviour (habitat selection) and spatially correlated stochastic local dynamics. The model is parametrized with extensive data for the Glanville fritillary butterfly. Based on empirical results for a single nucleotide polymorphism (SNP) in the phosphoglucose isomerase (Pgi) gene, we assume that dispersal rate in the landscape matrix, fecundity and survival are affected by a locus with two alleles, A and C, individuals with the C allele being more mobile. The model was successfully tested with two independent empirical datasets on spatial variation in Pgi allele frequency. First, at the level of local populations, the frequency of the C allele is the highest in newly established isolated populations and the lowest in old isolated populations. Second, at the level of sub-networks with dissimilar numbers and connectivities of patches, the frequency of C increases with decreasing network size and hence with decreasing average metapopulation size. The frequency of C is the highest in landscapes where local extinction risk is high and where there are abundant opportunities to establish new populations. Our results indicate that the strength of the coupling of the ecological and evolutionary dynamics depends on the spatial scale and is asymmetric, demographic dynamics having a greater immediate impact on genetic dynamics than vice versa.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Zheng","given":"Chaozhi"},{"family":"Ovaskainen","given":"Otso"},{"family":"Hanski","given":"Ilkka"}],"container-title":"Philosophical Transactions of the Royal Society B: Biological Sciences","container-title-short":"Philos Trans R Soc Lond B Biol Sci","DOI":"10.1098/rstb.2009.0005","ISSN":"0962-8436","issue":"1523","issued":{"date-parts":[[2009,6,12]]},"page":"1519-1532","PMCID":"PMC2690501","PMID":"19414467","source":"PubMed Central","title":"Modelling single nucleotide effects in phosphoglucose isomerase on dispersal in the Glanville fritillary butterfly: coupling of ecological and evolutionary dynamics","title-short":"Modelling single nucleotide effects in phosphoglucose isomerase on dispersal in the Glanville fritillary butterfly","type":"article-journal","URL":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2690501/","volume":"364"}, - {"id":"zollnerBehavioralTradeoffsWhen2005","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Zollner","given":"Patrick A."},{"family":"Lima","given":"Steven L."}],"container-title":"OIKOS","issued":{"date-parts":[[2005]]},"language":"en","page":"219-230","source":"www.fs.usda.gov","title":"Behavioral tradeoffs when dispersing across a patchy landscape.","type":"article-journal","URL":"https://www.fs.usda.gov/treesearch/pubs/12821","volume":"108"}, - {"id":"zollnerLandscapelevelPerceptualAbilities1997","abstract":"We define perceptual range as the distance from which an animal can perceive key landscape elements, such as distant patches of forested habitat. We argue that perceptual range should be a determinant of not only dispersal success in unfamiliar or hostile landscapes, but also of several landscape-level ecological processes influencing population dynamics. To redress the absence of empirical information on perceptual ranges, we simulated the dispersal of forest-dwelling white-footed mice (Peromyscus leucopus) across an agricultural landscape by releasing mice into unfamiliar, hostile agricultural habitat at various distances from fragments of forested habitat. We found that these forest mice have a remarkably low perceptual range with regard to detecting their forested (core) habitat. Mice released into bare fields failed to even orient towards forested habitat as little as 30 m distant, while mice in crop fields appeared unable to locate forest habitat as little as 10 m distant. These mice seemed to locate forested habitat by vision, despite the availability of non-visual cues. Future work will undoubtedly demonstrate vast differences in landscape-level perceptual abilities among animals, and show clearly that the ecological effects of a given landscape configuration will be influenced by the behavioral attributes of the species in question.","author":[{"family":"Zollner","given":"P."},{"family":"Lima","given":"S. L."}],"container-title":"Oikos","DOI":"10.2307/3546515","issue":"1","issued":{"date-parts":[[1997]]},"page":"51-60","source":"Semantic Scholar","title":"Landscape-level perceptual abilities in white-footed mice : perceptual range and the detection of forested habitat","title-short":"Landscape-level perceptual abilities in white-footed mice","type":"article-journal","volume":"80"}, - {"id":"zollnerSearchStrategiesLandscapeLevel1999","abstract":"Ecologists need a better understanding of how animals make decisions about moving across landscapes. To this end, we developed computer simulations that contrast the effectiveness of various search strategies at finding habitat patches in idealized landscapes (uniform, random, or clumped patches), where searchers have different energy reserves and face different mortality risks. Nearly straight correlated random walks always produced better dispersal success than relatively uncorrelated random walks. However, increasing patch density decreased the degree of correlation that maximized dispersal success. Only under high mortality and low energy reserves in a uniform landscape did absolutely straight-line search perform better than any random walk. With low mortality risks and high energy reserves, exhaustive systematic search was superior to the best correlated random walk; an increase in the perceptual range of the searcher (i.e., patch detectability) also favored exhaustive search over relatively straight random walks. For all conditions examined, the “average distance rule,” a hybrid search rule incorporating both straight-line and systematic search, was best. Overall, however, our results suggest that a simple and effective search rule for many landscape-explicit models would involve straight or nearly straight movements.","accessed":{"date-parts":[[2021,8,10]]},"author":[{"family":"Zollner","given":"Patrick"},{"family":"Lima","given":"Steven L."}],"container-title":"Ecology","DOI":"10.1890/0012-9658(1999)080[1019:SSFLLI]2.0.CO;2","ISSN":"1939-9170","issue":"3","issued":{"date-parts":[[1999]]},"language":"en","note":"_eprint: https://esajournals.onlinelibrary.wiley.com/doi/pdf/10.1890/0012-9658%281999%29080%5B1019%3ASSFLLI%5D2.0.CO%3B2","page":"1019-1030","source":"Wiley Online Library","title":"Search Strategies for Landscape-Level Interpatch Movements","type":"article-journal","URL":"https://esajournals.onlinelibrary.wiley.com/doi/abs/10.1890/0012-9658%281999%29080%5B1019%3ASSFLLI%5D2.0.CO%3B2","volume":"80"}, - {"id":"zotero-2098","type":"article-journal"}, - {"id":"zurellStaticSpeciesDistribution2009","abstract":"It is widely acknowledged that species respond to climate change by range shifts. Robust predictions of such changes in species’ distributions are pivotal for conservation planning and policy making, and are thus major challenges in ecological research. Statistical species distribution models (SDMs) have been widely applied in this context, though they remain subject to criticism as they implicitly assume equilibrium, and incorporate neither dispersal, demographic processes nor biotic interactions explicitly. In this study, the effects of transient dynamics and ecological properties and processes on the prediction accuracy of SDMs for climate change projections were tested. A spatially explicit multi-species dynamic population model was built, incorporating species-specific and interspecific ecological processes, environmental stochasticity and climate change. Species distributions were sampled in different scenarios, and SDMs were estimated by applying generalised linear models (GLMs) and boosted regression trees (BRTs). Resulting model performances were related to prevailing ecological processes and temporal dynamics. SDM performance varied for different range dynamics. Prediction accuracies decreased when abrupt range shifts occurred as species were outpaced by the rate of climate change, and increased again when a new equilibrium situation was realised. When ranges contracted, prediction accuracies increased as the absences were predicted well. Far-dispersing species were faster in tracking climate change, and were predicted more accurately by SDMs than short-dispersing species. BRTs mostly outperformed GLMs. The presence of a predator, and the inclusion of its incidence as an environmental predictor, made BRTs and GLMs perform similarly. Results are discussed in light of other studies dealing with effects of ecological traits and processes on SDM performance. Perspectives are given on further advancements of SDMs and for possible interfaces with more mechanistic approaches in order to improve predictions under environmental change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Zurell","given":"Damaris"},{"family":"Jeltsch","given":"Florian"},{"family":"Dormann","given":"Carsten F."},{"family":"Schröder","given":"Boris"}],"container-title":"Ecography","DOI":"10.1111/j.1600-0587.2009.05810.x","ISSN":"1600-0587","issue":"5","issued":{"date-parts":[[2009]]},"language":"en","note":"_eprint: https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1600-0587.2009.05810.x","page":"733-744","source":"Wiley Online Library","title":"Static species distribution models in dynamically changing systems: how good can predictions really be?","title-short":"Static species distribution models in dynamically changing systems","type":"article-journal","URL":"https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1600-0587.2009.05810.x","volume":"32"}, - {"id":"zurellUncertaintyPredictionsRange2012a","abstract":"Empirical species distribution models (SDMs) constitute often the tool of choice for the assessment of rapid climate change effects on species’ vulnerability. Conclusions regarding extinction risks might be misleading, however, because SDMs do not explicitly incorporate dispersal or other demographic processes. Here, we supplement SDMs with a dynamic population model 1) to predict climateâ€induced range dynamics for black grouse in Switzerland, 2) to compare direct and indirect measures of extinction risks, and 3) to quantify uncertainty in predictions as well as the sources of that uncertainty. To this end, we linked models of habitat suitability to a spatially explicit, individualâ€based model. In an extensive sensitivity analysis, we quantified uncertainty in various model outputs introduced by different SDM algorithms, by different climate scenarios and by demographic model parameters. Potentially suitable habitats were predicted to shift uphill and eastwards. By the end of the 21st century, abrupt habitat losses were predicted in the western Prealps for some climate scenarios. In contrast, population size and occupied area were primarily controlled by currently negative population growth and gradually declined from the beginning of the century across all climate scenarios and SDM algorithms. However, predictions of population dynamic features were highly variable across simulations. Results indicate that inferring extinction probabilities simply from the quantity of suitable habitat may underestimate extinction risks because this may ignore important interactions between life history traits and available habitat. Also, in dynamic range predictions uncertainty in SDM algorithms and climate scenarios can become secondary to uncertainty in dynamic model components. Our study emphasises the need for principal evaluation tools like sensitivity analysis in order to assess uncertainty and robustness in dynamic range predictions. A more direct benefit of such robustness analysis is an improved mechanistic understanding of dynamic species’ responses to climate change.","accessed":{"date-parts":[[2021,8,9]]},"author":[{"family":"Zurell","given":"Damaris"},{"family":"Grimm","given":"Volker"},{"family":"Rossmanith","given":"Eva"},{"family":"Zbinden","given":"Niklaus"},{"family":"Zimmermann","given":"Niklaus E."},{"family":"Schröder","given":"Boris"}],"ISSN":"0906-7590","issued":{"date-parts":[[2012]]},"language":"en","source":"pubag.nal.usda.gov","title":"Uncertainty in predictions of range dynamics: black grouse climbing the Swiss Alps","title-short":"Uncertainty in predictions of range dynamics","type":"article-journal","URL":"https://pubag.nal.usda.gov/catalog/517524"} -] diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_big.pdf b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_big.pdf deleted file mode 100644 index db8026b1a43234d2706373996e38c8ded778597f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14906 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

&YS5dg6a+$60X@xMQb5cuT*V?2DX3|7`%f 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 - - - - - - - - - - - - - Species' - -distribution map - - - - Species'distribution map - - - - - - - - - - - Landscape map - - - - Landscape map - - - - - - - - - Artificial environ- - -mental gradient - - - - Artificial environ-mental gradient - - - - - - - - - - - Initialisation - - - - Initialisation - - - - - - - - - - No - - - - No - - - - - - - - - - Yes - - - - Yes - - - - - - - - - Gradient  - -shifting? - - - - Gradientshifting? - - - - - - - - - - Yes - - - - Yes - - - - - - - - - - No - - - - No - - - - - - - - - Environmental - -stochasticity? - - - - Environmentalstochasticity? - - - - - - - - - - Shifting - - - - Shifting - - - - - - - - - - Environmental - - stochasticity - - - - - Environmentalstochasticity - - - - - - - - - - - Population - -dynamics - - - - Populationdynamics - - - - - - - - - - - Dispersal - - - - Dispersal - - - - - - - - - Outputs -(Range, populations, individuals, - -traits, genetic, connectivity matrix, - -SMS paths) - - - - - Outputs(range, populations, individuals,traits, genetics, connectivity matrix) - - - - - - - - - - - - Reproductive seasons - - - - - Reproductive seasons - - - - - - - - - - - - Years - - - - - Years - - - - - - - Text is not SVG - cannot display - - - diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.pdf b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.pdf deleted file mode 100644 index 3413646a3774bbbc527896696b1b946541fe32a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23392 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 diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.svg b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.svg deleted file mode 100644 index 1cb81c1..0000000 --- a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/RSflowchart_detail.svg +++ /dev/null @@ -1,1363 +0,0 @@ - - - - - - - - - - - - - - - - - - - Reproduction - - - - Reproduction - - - - - - - - - - - Emigration - - - - Emigration - - - - - - - - - - - Transfer - - - - Transfer - - - - - - - - - - No - - - - No - - - - - - - - - - Yes - - - - Yes - - - - - - - - - Movement - -process? - - - - Movementprocess? - - - - - - - - - - - Settlement - - - - Settlement - - - - - - - - - - Yes - - - - Yes - - - - - - - - - Stage-structure & - -survival between  - -repr. seasons?  - - - - Stage-structure &survival betweenrepr.seasons? - - - - - - - - - - - Survival & - -Development - - - - Survival &development - - - - - - - - - - Yes - - - - Yes - - - - - - - - - - - - - Aging - - - - Aging - - - - - - - - Ind. variability / - -traits evolution? - - - - Ind. variability /traits evolution? - - - - - - - - - Steps - - - - Steps - - - - - - - - - - No - - - - No - - - - - - - - - - No - - - - No - - - - - - - - - - - - Reproductive seasons - - - - - Reproductive seasons - - - - - - - - - - - - Years - - - - - - Years - - - - - - Text is not SVG - cannot display - - - - - - - - - - - - Stage-structure & - -survival between  - -repr. seasons?  - - - - Stage-structure &annual survival? - - - - - - - - Survival & - -Development - - - - Survival &development - - - - - - - - - - - - - - Yes - - - - Yes - - - - - - - - - No - - - - No - - - - - - - - - - - - - - Traits - -inheritance - - - - Traitinheritance - - - - - - - - Traits - -mutation - - - - Traitsmutation - - - diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/ecography.csl b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/ecography.csl deleted file mode 100644 index 3e4f59e..0000000 --- a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/ecography.csl +++ /dev/null @@ -1,17 +0,0 @@ - - diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/skeleton.Rmd b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/skeleton.Rmd deleted file mode 100644 index 5d18b95..0000000 --- a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/skeleton.Rmd +++ /dev/null @@ -1,1435 +0,0 @@ ---- -title: "ODD protocol" -output: - md_document: - toc: TRUE - word_document: - reference_docx: style-template.docx - toc: TRUE - rtf_document: - toc: TRUE - pdf_document: - latex_engine: xelatex - toc: TRUE - keep_md: TRUE - keep_tex: TRUE -params: - format: "word" -bibliography: RS_ODD.json -csl: ecography.csl ---- -`r if(params$format!="md"){" -"}` - -```{r setup, include=FALSE} -knitr::opts_chunk$set(echo = TRUE) - -# global output settings -output_format <- params$format - -# Environmental stochasticity -environmental_stochasticity <- F -env_stoch_loc <- F -env_stoch_K <- F -env_stoch_R <- F - -# Outputs -output_range <- F -output_occ <- F -output_pop <- F -output_ind <- F -output_conn <- F -output_paths <- F -output_heatmaps <-F - -# landscape parameters -local_ext_prob <- F -arti_land <- F -arti_land_continuous <- F -real_land <- F -cell_based <- FALSE -patch_based <- F -habitat_type <- FALSE -habitat_quality <- F -dynamic_landscape <- F -resolution <- "" - -#population dynamics -stage_structured <- F -sexual <- F -only_female <- F -asexual <- F -rep_seasons <- 1 -rep_interval <- 0 -mating_simple <- F -mating_complex <- F -demography_sexdep <- F -repro_densdep <- F -repro_stagedep <- F -survival_densdep <- F -survival_stagedep <- F -survival_schedule <- 1 -develop_densdep <- F -develop_stagedep <- F - -# transfer TODO: check ups, e.g. if SMS T -> movement_model T -dispersal_kernel <- F -dispersal_kernel_simple <- F -dispersal_kernel_mixed <- F -movement_model <- F -movement_SMS <- F -movement_corrRW <- F -movement_cost <- F -movement_cost_file <- F -movement_SMS_PRmethod <- 0 -goal_type <- 0 - -# settlement -max_steps <- F -min_steps <- F -step_mortality <- F -mate_finding <- F -settlement_densdep <- F -settlement_stagedep <- F -settlement_sexdep <- F - -# emigration -emigration_densdep <- F -emigration_sexdep <- F -emigration_stagedep <- F - - -``` - -```{r, echo =FALSE} -# environmental stochasticity -if(s@simul@EnvStoch==0) environmental_stochasticity <- F -if(s@simul@EnvStoch==1) {environmental_stochasticity <- T; env_stoch_loc <- F} -if(s@simul@EnvStoch==2) {environmental_stochasticity <- T; env_stoch_loc <- T} -if(s@simul@EnvStochType==0) {env_stoch_R <- T; env_stoch_K <- F} -if(s@simul@EnvStochType==1) {env_stoch_R <- F; env_stoch_K <- T} - -# outputs -if(s@simul@OutIntRange>=1) output_range <- T -if(s@simul@OutIntOcc>=1) output_occ <- T -if(s@simul@OutIntPop>=1) output_pop <- T -if(s@simul@OutIntInd>=1) output_ind <- T -if(s@simul@OutIntConn>=1) output_conn <- T -if(s@simul@OutIntPaths>=1) output_paths <- T -if(s@simul@SMSHeatMap>=1) output_heatmaps <- T - -# landscape -if(class(s@land)=="ArtificialLandscape") { - arti_land <- T - if (s@land@continuous) arti_land_continuous <- T - } -if(class(s@land)=="ImportedLandscape") real_land <- T -if(class(s@land)=="ImportedLandscape" & length(s@land@DynamicLandYears)>1) dynamic_landscape <- T -if(length(s@land@PatchFile)==0) cell_based <- T -if(length(s@land@PatchFile)!=0) patch_based <- T -if(s@land@HabPercent) habitat_quality <- T else habitat_type <- T -if(s@simul@LocalExt) local_ext_prob <- T - -resolution <- paste(s@land@Resolution, "m x ", s@land@Resolution,"m", sep="") - -# demography -if(s@demog@ReproductionType==0) {asexual <- T; only_female <- T} -if(s@demog@ReproductionType==1) {sexual <- T; mating_simple <- T} -if(s@demog@ReproductionType==2) {sexual <- T; mating_complex <- T} -if(s@demog@Rmax<0){ - stage_structured <- T - survival_schedule <- s@demog@StageStruct@SurvSched - rep_seasons <- s@demog@StageStruct@RepSeasons - rep_interval <- s@demog@StageStruct@RepInterval - if(s@demog@StageStruct@FecDensDep) repro_densdep <- T - if(s@demog@StageStruct@SurvDensDep) survival_densdep <- T - if(s@demog@StageStruct@DevDensDep) develop_densdep <- T - if(s@demog@StageStruct@FecStageWts) repro_stagedep <- T - if(s@demog@StageStruct@SurvStageWts) survival_stagedep <- T - if(s@demog@StageStruct@DevStageWts) develop_stagedep <- T -} - -# dispersal -# emigration -if(s@dispersal@Emigration@DensDep) emigration_densdep <- T -if(s@dispersal@Emigration@SexDep) emigration_sexdep <- T -if(s@dispersal@Emigration@StageDep) emigration_stagedep <- T - -# transfer -if(class(s@dispersal@Transfer)=="DispersalKernel") { - dispersal_kernel <- T - if(s@dispersal@Transfer@DoubleKernel) {dispersal_kernel_mixed <- T} else {dispersal_kernel_simple <- T} -} -if(class(s@dispersal@Transfer)=="CorrRW") { - movement_model <- T - movement_corrRW <- T - if(length(s@dispersal@Transfer@StepMort)>1){ - step_mortality <- T - } else if (s@dispersal@Transfer@StepMort>0){ - step_mortality <- T - } - if(s@dispersal@Settlement@MinSteps>0) min_steps <- T - if(s@dispersal@Settlement@MaxSteps>0) max_steps <- T -} - -if(class(s@dispersal@Transfer)=="StochMove"){ - movement_model <- T - movement_SMS <- T - goal_type <- s@dispersal@Transfer@GoalType - if(sum(s@dispersal@Transfer@Costs)>0) movement_cost <- T - if(!is.null(s@land@CostsFile)) {movement_cost_file <- T; movement_cost <- T} - if(length(s@dispersal@Transfer@StepMort)>1){ - step_mortality <- T - } else if (s@dispersal@Transfer@StepMort>0){ - step_mortality <- T - } - movement_SMS_PRmethod <- s@dispersal@Transfer@PRMethod - if(s@dispersal@Settlement@MinSteps>0) min_steps <- T - if(s@dispersal@Settlement@MaxSteps>0) max_steps <- T -} - -# settlement -if(s@dispersal@Settlement@DensDep) settlement_densdep <- T -if(s@dispersal@Settlement@SexDep) settlement_sexdep <- T -if(s@dispersal@Settlement@StageDep) settlement_stagedep <- T -if(any(s@dispersal@Settlement@FindMate)) mate_finding <- T - -``` - - - -# Purpose and patterns - -The RangeShifter model is a single species, spatially-explicit and stochastic individual-based model (IBM), built around the integration of two fundamental components: population dynamics and dispersal behaviour. -In this specific use case, population dynamics, represented as `r if(stage_structured){"stage-structured, "}` `r if(only_female){"only-female populations, "}` `r if(stage_structured){"with overlapping generations, "}` and dispersal (explicitly modeled in its three phases of emigration, transfer and settlement`r if(settlement_densdep | emigration_densdep | settlement_sexdep | emigration_sexdep | settlement_sexdep | emigration_sexdep){" accounting for "}``r if(settlement_densdep | emigration_densdep){"context dependency, "}``r if(settlement_sexdep | emigration_sexdep){"sex specificity, "}``r if(settlement_stagedep | emigration_stagedep){"stage specificity"}`) are played out on top of gridded multi-habitat landscape. - -`r if(environmental_stochasticity){"This landscape includes environmental stochasticity."}` - -Individuals are the basic entity of the model. - -# Entities, state variables and scales - -## Individuals - -Individuals are the basic entities of the RangeShifter model. Each individual has a unique ID number and, in this specific use case, is defined by the following state variables: - -* status - -* initial (natal) and current location - -`r if (sexual){"* sex \n"}` -* age `r if(stage_structured){" and stage"}` - -## Popuations - -Populations are defined by the individuals occupying `r if (cell_based){"a single cell"}``r if(patch_based){"a single patch"}` and they represent the scale at which individuals interact and density dependencies act. Populations are characterized by their size and location`r if(sexual){" and by the number of individuals of each sex"}``r if(stage_structured){" and the number in each stage class"}`. - -## Landscape units - -The model runs over a grid-based map. -In this specifc use case, each cell stores `r if(habitat_type){"a particular land-cover type (which can be breeding habitat for the species or otherwise)"}``r if(habitat_quality){"a habitat quality index"}`. Each cell is defined as suitable or not suitable for a species based on the presence/absence of habitat, and it is characterized by a species’ nature of demographic density dependence. -`r if(environmental_stochasticity & !movement_cost & !local_ext_prob){"An additional state variable is an environmental noise value $\\epsilon$."}` -`r if(!environmental_stochasticity & movement_cost & !local_ext_prob){"An additional state variable is the cost of movement through the cell."}` -`r if(!environmental_stochasticity & !movement_cost & local_ext_prob){"An additional state variable is the local extinction probability."}` -`r if(environmental_stochasticity & movement_cost & !local_ext_prob){"Additional state variables are: an environmental noise value $\\epsilon$, the cost of movement through the cell."}` -`r if(!environmental_stochasticity & movement_cost & local_ext_prob){"Additional state variables are: the cost of movement through the cell and local extinction probability."}` -`r if(!environmental_stochasticity & !movement_cost & local_ext_prob){"Additional state variables are: an environmental noise value $\\epsilon$ and local extinction probability."}` -`r if(environmental_stochasticity & movement_cost & local_ext_prob){"Additional state variables are:an environmental noise value $\\epsilon$, the cost of movement through the cell and local extinction probability."}` - - -`r if(patch_based){"The model is patch-based. Each patch is a higher-level entity composed of a group of one or more cells (typically adjacent, although that is not a necessary condition). A patch is characterized by a unique ID number, the number of cells that it contains, a list of these cells’ coordinates and its maximum and minimum x and y coordinates. The species’ demographic density dependence is a characteristic of the patch and not of the cell."}` - -`r if(habitat_type & output_format=="pdf"){" -$\\color{red}{\\text{You might want to add the land cover types here.}}$ -"}` - -`r if(habitat_type & output_format=="word"){ - "**You might want to add the land cover types here.**" -}` - -`r if(habitat_type & output_format=="md"){ - "**You might want to add the land cover types here.**" -}` - -## Spatial and temporal scales - -The cell size (resolution) is `r resolution`. -`r if(cell_based){"The cell resolution represents the spatial scale at which the two fundamental processes of population dynamics and dispersal occur. This means that the density dependency in the model"}``r if(cell_based & (repro_densdep | survival_densdep | emigration_densdep | settlement_densdep)){" (on "}``r if(cell_based & repro_densdep & !survival_densdep & !emigration_densdep & !settlement_densdep){" reproduction"}``r if(cell_based & !repro_densdep & survival_densdep & !emigration_densdep & !settlement_densdep){"survival"}``r if(cell_based & !repro_densdep & !survival_densdep & emigration_densdep & !settlement_densdep){"emigration"}``r if(cell_based & !repro_densdep & !survival_densdep & !emigration_densdep & settlement_densdep){"settlement"}``r if(cell_based & repro_densdep & survival_densdep & !emigration_densdep & !settlement_densdep){"reproduction and survival"}``r if(cell_based & repro_densdep & !survival_densdep & emigration_densdep & !settlement_densdep){"reproduction and emigration"}``r if(cell_based & repro_densdep & !survival_densdep & !emigration_densdep & settlement_densdep){"reproduction and settlement"}``r if(cell_based & !repro_densdep & survival_densdep & emigration_densdep & !settlement_densdep){"survival and emigration"}``r if(cell_based & !repro_densdep & survival_densdep & !emigration_densdep & settlement_densdep){"survival and settlement"}``r if(cell_based & !repro_densdep & !survival_densdep & emigration_densdep & settlement_densdep){"emigration and settlement"}``r if(cell_based & repro_densdep & survival_densdep & emigration_densdep & !settlement_densdep){"reproduction, survival and emigration"}``r if(cell_based & repro_densdep & survival_densdep & !emigration_densdep & settlement_densdep){"reproduction, survival and settlement"}``r if(cell_based & repro_densdep & !survival_densdep & emigration_densdep & settlement_densdep){"reproduction, emigration and settlement"}``r if(cell_based & !repro_densdep & survival_densdep & emigration_densdep & settlement_densdep){"survival, emigration and settlement"}``r if(cell_based & repro_densdep & survival_densdep & emigration_densdep & settlement_densdep){"reproduction, survival, emigration and settlement"}``r if(cell_based & (repro_densdep | survival_densdep | emigration_densdep | settlement_densdep)){")"}``r if(cell_based){" acts at the cell scale and the same scale is used as a single step unit for discrete movement models."}``r if(patch_based){"Two spatial scales are simultaneously represented in the patch-based model: the cell scale, which in this case is used just for the transfer phase of dispersal (movements) and the patch scale, at which the density dependencies are acting"}``r if(patch_based & (repro_densdep | survival_densdep | emigration_densdep | settlement_densdep)){" (on "}``r if(patch_based & repro_densdep & !survival_densdep & !emigration_densdep & !settlement_densdep){" reproduction"}``r if(patch_based & !repro_densdep & survival_densdep & !emigration_densdep & !settlement_densdep){"survival"}``r if(patch_based & !repro_densdep & !survival_densdep & emigration_densdep & !settlement_densdep){"emigration"}``r if(patch_based & !repro_densdep & !survival_densdep & !emigration_densdep & settlement_densdep){"settlement"}``r if(patch_based & repro_densdep & survival_densdep & !emigration_densdep & !settlement_densdep){"reproduction and survival"}``r if(patch_based & repro_densdep & !survival_densdep & emigration_densdep & !settlement_densdep){"reproduction and emigration"}``r if(patch_based & repro_densdep & !survival_densdep & !emigration_densdep & settlement_densdep){"reproduction and settlement"}``r if(patch_based & !repro_densdep & survival_densdep & emigration_densdep & !settlement_densdep){"survival and emigration"}``r if(patch_based & !repro_densdep & survival_densdep & !emigration_densdep & settlement_densdep){"survival and settlement"}``r if(patch_based & !repro_densdep & !survival_densdep & emigration_densdep & settlement_densdep){"emigration and settlement "}``r if(patch_based & repro_densdep & survival_densdep & emigration_densdep & !settlement_densdep){"reproduction, survival and emigration"}``r if(patch_based & repro_densdep & survival_densdep & !emigration_densdep & settlement_densdep){"reproduction, survival and settlement"}``r if(patch_based & repro_densdep & !survival_densdep & emigration_densdep & settlement_densdep){"reproduction, emigration and settlement"}``r if(patch_based & !repro_densdep & survival_densdep & emigration_densdep & settlement_densdep){"survival, emigration and settlement"}``r if(patch_based & repro_densdep & survival_densdep & emigration_densdep & settlement_densdep){"reproduction, survival, emigration and settlement"}``r if(patch_based & (repro_densdep | survival_densdep | emigration_densdep | settlement_densdep)){")"}``r if(patch_based){"."}` -There are three distinct temporal scales. The highest-level one has years as units`r if(environmental_stochasticity){" and represents the scale at which variations in the abiotic environment are modeled"}`. The intermediate scale is the species’ reproductive season. The model simulates `r if(rep_seasons==1){"1 reproductive season"} else{cat(rep_seasons, "reproductive seasons")}` per year. `r if(movement_model){"Finally, the smallest time scale is represented by the number of steps that emigrants take during the movement phase of dispersal. This is determined by "}``r if(max_steps & !step_mortality){"the maximum number of steps."}``r if(!max_steps & step_mortality){"the per-step mortality."}``r if(max_steps & step_mortality){"the maximum number of steps and per-step mortality."}` - -\newpage - -# Process overview and scheduling - -![General model workflow and schedule. The core of the model highlighted in blue is expanded in the flow chart in Fig. 2](./RSflowchart_big.pdf){height=70%} - -\newpage - -![General flowchart of the core model](./RSflowchart_detail.pdf){height=70%} - -\newpage - -`r if(stage_structured){"At the beginning of each year, reproduction is the first process to be modelled."}` `r if(stage_structured & survival_schedule==0){"Survival and development of all the stages (apart from stage 0) occur simultaneously with reproduction, followed by dispersal and finally survival and development of stage 0. Individuals age at the end of each year."}` `r if(stage_structured & survival_schedule==1){"Reproduction is followed by dispersal. After each reproductive season, survival and successive development of all the stages are modelled. Aging occurs at the end of the year."}` `r if(stage_structured & survival_schedule==2){"Reproduction is followed by dispersal after each reproductive event. Survival and development of all stages happen only at the end of all reproductive seasons, followed by aging at the end of the year."}` - -# Design concepts - -## Basic principles - -`r if(arti_land){"### Fractal landscape - -To generate fractal landscapes, the midpoint displacement algorithm [@saupeAlgorithmsRandomFractals1988] is applied, adapted to allow for the generation of elongated landscapes. This fractal method has proven useful as a null model to investigate population responses to landscape changes such as habitat loss and fragmentation [@withExtinctionThresholdsSpecies1999; @plotnickGeneralModelSimulating2002]. Fractal landscapes are characterized by possessing greater structure than a completely random landscape, but less than a completely deterministic one [@withApplicationNeutralLandscape1997]."}` - -`r if(environmental_stochasticity){"### Environmental stochasticity - -Temporal environmental stochasticity is a ubiquitous and fundamental factor affecting both ecological and evolutionary processes acting at all levels of biological organization, from individuals to ecosystems [@vasseurColorEnvironmentalNoise2004; @ruokolainenEcologicalEvolutionaryDynamics2009]. Importantly, it has been demonstrated to interact with the density dependence of a species’ demography to influence population dynamics profoundly, and, as consequence, extinction risk [@ruokolainenEcologicalEvolutionaryDynamics2009]. In particular, in unstructured populations, red noise (low frequency fluctuations) is predicted to increase extinction risk, especially in a population having under-compensatory dynamics [@ripaNoiseColourRisk1996; @johstExtinctionRiskTemporally1997; @schwagerDoesRedNoise2006; @heinoExtinctionRiskColoured2000a; @greenmanImpactEnvironmentalFluctuations2005; @fowlerConfoundingEnvironmentalColour2013]. This body of theory has focused on local populations, and there has been much less effort devoted to understanding how inter-annual variability influences species’ large-scale responses to climate change. One recent model shows that red noise can increase species’ regional extinction risks under periods of climate change [@mustinRedNoiseIncreases2013]. By incorporating inter-annual variability, RangeShifter provides an ideal platform for generating improved knowledge relating to eco-evolutionary responses to environmental changes in the presence of inter-annual variability. -There is evidence that inter-annual variability in weather is increasing and is expected to increase further and also to redden under climate change [@easterlingClimateExtremesObservations2000; @coumouDecadeWeatherExtremes2012; @hansenPerceptionClimateChange2012]. Despite its importance as a selective pressure and in determining a species’ extinction risk, especially for small fragmented populations already stressed by anthropogenic disturbances, environmental stochasticity has rarely been included in models that try to make predictions regarding species’ future distribution and persistence [@mclaughlinClimateChangeHastens2002; @verboomPopulationDynamicsIncreasing2010]. Please see the submodel description for further details."}` - -### Population dynamics - -Demographic stochasticity is fundamentally important for the dynamics of populations that are naturally small or have declined to low abundances owing to anthropogenic pressures. Additionally, inter-individual variability within populations can have a major influence on dynamics. Modelling stochastic events that happen to individuals is crucial for avoiding systematic overestimation of population viability or rate of spread [@clarkInvasionExtremesPopulation2001; @kendallUnstructuredIndividualVariation2003; @robertVariationIndividualsDemographic2003; @grimmIndividualbasedModelingEcology2005; @jongejansDispersalDemographySpatial2008; @travisImprovingPredictionManagement2011a]. Thus, population dynamics in RangeShifter were constructed to be fully individual-based and stochastic. Each reproductive individual produces a discrete number of offspring sampled from a Poisson distribution with a mean that is influenced by the species’ demographic parameters and the local population density. - -### Definition of populations - -`r if(cell_based){"The cell is the scale at which processes such as population dynamics and dispersal act. The individuals present in a cell define a distinct population, and density-dependencies "}``r if(cell_based & repro_densdep & emigration_densdep & settlement_densdep){"for reproduction, emigration and settlement all "}``r if(cell_based & repro_densdep & emigration_densdep & !settlement_densdep){"for reproduction and emigration both "}``r if(cell_based & repro_densdep & !emigration_densdep & settlement_densdep){"for reproduction and settlement both "}``r if(cell_based & !repro_densdep & emigration_densdep & settlement_densdep){"for emigration and settlement both "}``r if(cell_based & repro_densdep & !emigration_densdep & !settlement_densdep){"for reproduction "}``r if(cell_based & !repro_densdep & emigration_densdep & !settlement_densdep){"for emigration "}``r if(cell_based & !repro_densdep & !emigration_densdep & settlement_densdep){"for settlement "}``r if(cell_based){"operate at this scale. Even in the case where two habitat cells are adjacent, they still hold separate populations. - -A cell-based model provides an excellent abstraction of space for many theoretical studies. -"}` - -`r if(patch_based){"Population dynamics happen at the patch level, a patch being an assemblage of landscape cells of potentially different habitat types or quality. Patches are not defined automatically. Rather, the definition which cells belong to which patch is obtained by an additional patch file, taking into account the ecological understanding of the study species. Density-dependencies "}``r if(patch_based & repro_densdep & emigration_densdep & settlement_densdep & !develop_densdep & !survival_densdep){"regarding reproduction, emigration and settlement "}``r if(patch_based & repro_densdep & emigration_densdep & !settlement_densdep & !develop_densdep & !survival_densdep){"regarding reproduction and emigration "}``r if(patch_based & repro_densdep & !emigration_densdep & settlement_densdep & !develop_densdep & !survival_densdep){"regarding reproduction and settlement "}``r if(patch_based & !repro_densdep & emigration_densdep & settlement_densdep & !develop_densdep & !survival_densdep){"regarding emigration and settlement "}``r if(patch_based & repro_densdep & !emigration_densdep & !settlement_densdep & !develop_densdep & !survival_densdep){"regarding reproduction "}``r if(patch_based & !repro_densdep & emigration_densdep & !settlement_densdep & !develop_densdep & !survival_densdep){"regarding emigration "}``r if(patch_based & !repro_densdep & !emigration_densdep & settlement_densdep & !develop_densdep & !survival_densdep){"regarding settlement "}` - -`r if(patch_based & repro_densdep & emigration_densdep & settlement_densdep & develop_densdep & !survival_densdep){"regarding reproduction, development, emigration and settlement "}``r if(patch_based & repro_densdep & emigration_densdep & settlement_densdep & !develop_densdep & survival_densdep){"regarding reproduction, emigration, settlement and survival "}``r if(patch_based & repro_densdep & emigration_densdep & settlement_densdep & develop_densdep & survival_densdep){"regarding reproduction, development, emigration, settlement and survival "}``r if(patch_based & repro_densdep & emigration_densdep & !settlement_densdep & !develop_densdep & survival_densdep){"regarding reproduction, emigration and survival "}``r if(patch_based & repro_densdep & emigration_densdep & !settlement_densdep & develop_densdep & !survival_densdep){"regarding reproduction, development and emigration "}``r if(patch_based & repro_densdep & emigration_densdep & !settlement_densdep & develop_densdep & survival_densdep){"regarding reproduction, development, emigration and survival "}``r if(patch_based & repro_densdep & !emigration_densdep & settlement_densdep & develop_densdep & !survival_densdep){"regarding reproduction,development and settlement "}``r if(patch_based & repro_densdep & !emigration_densdep & settlement_densdep & !develop_densdep & survival_densdep){"regarding reproduction, settlement and survival "}``r if(patch_based & repro_densdep & !emigration_densdep & settlement_densdep & develop_densdep & survival_densdep){"regarding reproduction, development, settlement and survival "}``r if(patch_based & !repro_densdep & emigration_densdep & settlement_densdep & !develop_densdep & survival_densdep){"regarding development, emigration and settlement "}``r if(patch_based & !repro_densdep & emigration_densdep & settlement_densdep & develop_densdep & !survival_densdep){"regarding emigration, settlement and survival "}``r if(patch_based & !repro_densdep & emigration_densdep & settlement_densdep & develop_densdep & survival_densdep){"regarding development, emigration, settlement and survival "}``r if(patch_based & repro_densdep & !emigration_densdep & !settlement_densdep & !develop_densdep & survival_densdep){"regarding reproduction and survival "}``r if(patch_based & repro_densdep & !emigration_densdep & !settlement_densdep & develop_densdep & !survival_densdep){"regarding reproduction and development "}``r if(patch_based & repro_densdep & !emigration_densdep & !settlement_densdep & develop_densdep & survival_densdep){"regarding reproduction, development and survival "}``r if(patch_based & !repro_densdep & emigration_densdep & !settlement_densdep & !develop_densdep & survival_densdep){"regarding emigration and survival "}``r if(patch_based & !repro_densdep & emigration_densdep & !settlement_densdep & develop_densdep & !survival_densdep){"regarding development and emigration "}``r if(patch_based & !repro_densdep & emigration_densdep & !settlement_densdep & develop_densdep & survival_densdep){"regarding development, emigration and survival "}``r if(patch_based & !repro_densdep & !emigration_densdep & settlement_densdep & !develop_densdep & survival_densdep){"regarding settlement and survival "}``r if(patch_based & !repro_densdep & !emigration_densdep & settlement_densdep & develop_densdep & !survival_densdep){"regarding development and settlement "}``r if(patch_based & !repro_densdep & !emigration_densdep & settlement_densdep & develop_densdep & survival_densdep){"regarding development, settlement and survival "}``r if(patch_based){"will depend on the density of individuals in a patch. However, discrete step-wise movements during the transfer phase will always use the cell as the resolution at which steps occur, thus retaining important information about the landscape heterogeneity. - -The patch-based implementation allows separating the scales used for population dynamics and movements. In this case, the landscape can be modelled at very fine resolution in order to capture the features that are likely to influence movements (e.g. narrow linear features) without constraining the local population dynamics to operate at too small a scale."}` - -`r if(!stage_structured){"### Population structure - -Implementing non-overlapping generations which are not stage-structured is the appropriate way to model species that have discrete generations. At each generation the life cycle comprises: reproduction, death of the adults and offspring dispersal (in that order). These discrete generation models can be applied to asexual species, species for which it is assumed that females play the dominant role in spatial dynamics and for species for which it is considered crucial to model both sexes explicitly."}` - -`r if(stage_structured){"### Population structure - -Implementing overlapping generations which are stage-structured is the appropriate choice for species in which generations can overlap and individuals can be classified in different stages (e.g. immature vs. breeding individuals) differing in their demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity, survival and probability of developing to the next stage. The parameters are provided through classical transition matrices [@caswellMatrixPopulationModels2001a]. However, in RangeShifter, these are not solved analytically as is typical for matrix models but, instead, the parameters are applied stochastically in an individual-based fashion. Presenting the demographic parameters in the standard matrix notation, Bocedi et al. [-@bocediRangeShifterPlatformModelling2014] believed to ease parameterization, as most population modellers are used to matrix models and, additionally, the number of parameters is kept to the minimum. It has the further important benefit of helping bridging the gap between analytical models and IBMs, the joint use of which has considerable potential, especially for improving modelling for conservation [@travisImprovingPredictionManagement2011a]."}` - -### Dispersal - -Dispersal is defined as movement leading to spatial gene flow, and it typically involves three phases: emigration, transfer and settlement [@stensethAnimalDispersalSmall1992; @clobertDispersal2001; @bowlerCausesConsequencesAnimal2005a; @ronceHowDoesIt2007a]. The key role of dispersal in species persistence and responses to environmental change is increasingly recognized [@travisDispersalSpeciesResponses2014]. Moreover, the importance of modelling dispersal as a complex process, explicitly considering its three phases, each of which has its own mechanisms and costs, has been recently highlighted [@bonteCostsDispersal2012a; @travisModellingDispersalEcoevolutionary2012a; @travisDispersalSpeciesResponses2014]. The implementation of the dispersal process in RangeShifter is based on these recent frameworks and the substantial dispersal theory that has been developed so far [@clobertDispersalEcologyEvolution2012a]. - -#### Emigration - -Emigration is the first phase of dispersal. Emigration itself can be a complex process determined by multiple proximate and ultimate causes. Multiple emigration strategies can be present across the species’ range, inside a single population or even within the same individual in form of plastic emigration behaviour. - -The theory on emigration accounts for context dependencies, plasticity and inter-individual variability in emigration strategies. Much work has been conducted to understand the role of density dependence in emigration [@travisEvolutionDensitydependentDispersal1999; @metzHowShouldWe2001; @poethkeEvolutionDensityPatch2002;@matthysenDensitydependentDispersalBirds2005; @kunEvolutionDensityDependentDispersal2006; @chaput-bardyConditionPhenotypeDependentDispersal2010; @demeesterInformationUseDensitydependent2010]. - -In RangeShifter, emigration is modelled as the probability that an individual will leave its natal patch during the present year (or season). See the description of the submodel for further details. - -#### Transfer - -Transfer is the second phase of dispersal, and consists of the movement of an individual starting from when it emigrates from its natal patch and ending with settlement in another patch or mortality. The main components of this phase are the individual movement ability and navigation capacity in response to the characteristics of the environment. The interaction between these components and their associated costs will determine the distance moved, the movement path and the chance of surviving the transfer phase. - -Understanding and modelling how species move is not a simple task, and, perhaps more than for the other phases of dispersal, much effort has been spent in two separate and not always interacting fields: dispersal ecology [@travisMechanisticUnderstandingDispersal2010] and movement ecology [@nathanMovementEcologyParadigm2008a]. While the former seeks to understand movements as a part of the dispersal process and has often described transfer with phenomenological dispersal kernels (but see recent developments in fitting mechanistic kernels: [@schurrHowRandomDispersal2012]), the latter is more focused on understanding the mechanisms of the movement process itself, even though recent emphasis has been put on the consequences of movements for population dynamics [@moralesBuildingBridgeAnimal2010a]. Modelling dispersal in IBMs needs to draw from both fields. - -`r if(dispersal_kernel){" -Phenomenological dispersal kernels were used to model the transfer phase.Dispersal kernels are statistical distributions that are largely used to describe dispersal distances. For a comprehensive review about theory and empirical estimation of dispersal kernels we refer to Clobert et al. [-@clobertDispersalEcologyEvolution2012a], Part IV. - -Dispersal kernels have been largely used in dispersal ecology both for describing dispersal patterns and for theoretical studies, as well as in metapopulation theory. Recently they have been incorporated in species distribution models [@travisDispersalSpeciesResponses2014], either at population or individual level [@keithPredictingExtinctionRisks2008; @andersonDynamicsRangeMargins2009; @englerMigClimPredictingPlant2009; @willisDynamicDistributionModelling2009; @mitikkaRangeExpansionEuropean2010; @boulangeatAccountingDispersalBiotic2012; @pagelForecastingSpeciesRanges2012a; @schurrHowUnderstandSpecies2012]. The main assumption behind dispersal kernels is that the principal determinant of the probability of an individual dispersing to a particular site is the distance from the starting location. However, it is well recognized and supported by data [@hovestadtEvolutionEmergenceDispersal2012; @baguetteIndividualDispersalLandscape2013], that in most cases realized kernels are the results of multiple factors, such as the interaction between individual movement capacity and landscape structure, making Euclidean distance a poor predictor of dispersal. Dispersal kernels are not a fixed characteristic of the species, but are likely to vary between and within populations depending upon landscape structure and the history of movement rule evolution [@dyckHabitatFragmentationInsect1999; @hanskiVariationMigrationPropensity2004; @merckxLandscapeStructurePhenotypic2006; @fahrigNonoptimalAnimalMovement2007a; @ovaskainenTrackingButterflyMovements2008; @stevensMetaanalysisDispersalButterflies2010; @wangDispersalGlanvilleFritillary2011]. Dispersal kernels can vary through time [@schtickzelleTemporalVariationDispersal2012], and there can be considerable variability between individuals, sexes and stage classes [@delgadoEffectPhenotypicTraits2010; @turlureSpeciesSexspecificAdjustments; @bentonDispersalInvertebratesInfluences2012; @matthysenMulticausalityDispersalReview2012]."}``r if(dispersal_kernel_mixed){" - -Particular emphasis has been placed during the last decade on rare long-distance dispersal events, which have been found fundamental for explaining phenomena such as rate of species’ range shifting in response to past and present climate change [@clarkReidParadoxRapid1998; @nathanSpreadNorthAmerican; @lesserContributionsLongdistanceDispersal2013] and connectivity of isolated populations [@johstMetapopulationPersistenceDynamic2002; @baguetteLongDistanceDispersal2003; @munozWindLongDistanceDispersal2004]. These events are difficult to capture and model with traditional kernels. Therefore, fat-tailed kernels and mixed kernels have started to be used [@bullockLongDistanceSeed2000; @clarkInvasionExtremesPopulation2001; @hovestadtAllInterpatchMovements2011; @fronhoferPickyHitchhikersVector2013a]."}` - -`r if(dispersal_kernel){"Kernels are considered as â€distance kernels’, i.e. the statistical distribution of the probability that an individual will move a certain distance [@hovestadtEvolutionEmergenceDispersal2012; @nathanDispersalKernelsReview2012]. These kernels are specifically used for the transfer phase, meaning that they do not incorporate information on the emigration or settlement probabilities, which are modelled independently. Therefore, dispersal kernels are applied only to dispersing individuals and not normally to the entire population. - -There are many possible statistical distributions that have been fitted to dispersal data, which in many cases perform better than the negative exponential [@nathanDispersalKernelsReview2012]. However, the negative exponential is still commonly used, has been found useful for describing dispersal patterns of certain organisms."}``r if(dispersal_kernel_mixed){", and the combination of two different negative exponentials has been demonstrated to be a valuable method for discerning between common short-distance and rare long-distance dispersal [@hovestadtAllInterpatchMovements2011]. "}` - -`r if(movement_model){" -It is increasingly acknowledged that individual movements within and between habitat patches, and consequently also population dynamics, are strongly affected by the behavioural and physical traits of individuals and by the landscape structure and composition [@moralesScalingAnimalMovements2002; @hawkesLinkingMovementBehaviour2009; @stevensLandscapeEffectsSpatial2012; @baguetteIndividualDispersalLandscape2013]. This has led to the development of mechanistic models where movement behaviour and its interaction with the environment is explicitly described [@nathanMovementEcologyParadigm2008a; @revillaIndividualMovementBehavior2008a; @moralesBuildingBridgeAnimal2010a; @palmerIntroducingStochasticMovement2011; @peerBreakingFunctionalConnectivity2011]. The classical method to represent individuals’ movements mechanistically is to use a random walk [@codlingRandomWalkModels2008], or its diffusion approximation, assuming that individuals are moving randomly in a homogeneous landscape and that they are all following the same rules. From this basis, there have been recent developments in diffusion models for including landscape heterogeneity and some behavioural responses, like reaction to habitat boundaries, directly derived from empirical data through state-space models [@ovaskainenBiasedMovementBoundary2003; @ovaskainenHabitatSpecificMovementParameters2004; @ovaskainenEmpiricalTestDiffusion2008; @pattersonStateSpaceModels2008; @zhengModellingDispersalDiffusion2009a; @ovaskainenModelingAnimalMovement2009]. Yet, these models do not account for individual variability or for many behavioural components including memory, perceptual range and movement modes. Despite this simplicity, diffusion models, and especially their recent developments, can still be satisfactory at large temporal and spatial scales and serve as a null hypothesis against which to test more complex movement models. Moreover they can provide basis for building blocks for population dynamics models. - -Mechanistic IBMs allow extending the “random paradigm” by incorporating behavioural elements that are likely to be crucial in affecting species’ spatial dynamics [@limaBehavioralEcologyEcological1996; @baguetteLandscapeConnectivityAnimal2007; @knowltonUsingBehavioralLandscape2010; @shreeveLandscapeScaleConservation2011]. These elements can be assigned into six main categories: (i) the switching between different movement modes [for example foraging within the home range vs. dispersal [@fryxellMultipleMovementModes2008; @delattreDispersalMoodRevealed2010; @peerBreakingFunctionalConnectivity2011]]; (ii) the individuals’ perceptual range [@zollnerLandscapelevelPerceptualAbilities1997; @zollnerBehavioralTradeoffsWhen2005; @gardnerSimulatingDispersalReintroduced2004b; @oldenContextdependentPerceptualRanges2004; @vuilleumierAnimalDispersalModelling2006; @vuilleumierEffectsCognitiveAbilities2006; @peerIncorporatingPerceptualRange2008; @palmerIntroducingStochasticMovement2011]; (iii) the use of information in movement choices [@clobertInformedDispersalHeterogeneity2009] and the memory of previous experience [@smouseStochasticModellingAnimal2010]; (iv) the influence of habitat fragmentation and matrix heterogeneity on movement behaviours [@rickettsMatrixMattersEffective2001; @vandermeerMetapopulationDynamicsQuality2001; @schtickzelleBehaviouralResponsesHabitat2003; @revillaEffectsMatrixHeterogeneity2004; @wiegandEffectsHabitatLoss2005; @fahrigNonoptimalAnimalMovement2007a; @doverInfluencesLandscapeStructure2009]; (v) the individual responses to habitat boundaries [@schultzEdgeMediatedDispersalBehavior2001; @moralesBehaviorHabitatBoundaries2002; @merckxEvolutionMovementsBehaviour2003; @ovaskainenHabitatSpecificMovementParameters2004; @stevensQuantifyingFunctionalConnectivity2006; @peerBreakingFunctionalConnectivity2011]; and (vi) the period of activity [@revillaEffectsMatrixHeterogeneity2004] and the time scale of movements [@lambinHighConnectivityHigh2012]. - -A general framework for a mechanistic representation of movements has been outlined by Nathan et al. [-@nathanMovementEcologyParadigm2008a], who identified four basic components: the internal state of the individual (why does it move?), its motion capacities (how does it move?), its navigation capacities (when and where does it move?) and external factors that affect the movement. This framework allows us, starting from individual movements, and taking into account individual variability, to predict movement patterns over large temporal and spatial scales and potentially to scale up to populations, communities, ecosystems and to multi-generation / evolutionary processes [@holyoakTrendsMissingParts2008]. The ultimate limitation is likely to be the quantity and the type of data needed to parameterize this /these kind of models; therefore, the challenge is to understand which level of detail is needed to make reliable projections in different contexts and for different purposes [@limaBehavioralEcologyEcological1996; @moralesBuildingBridgeAnimal2010a]. - -Movement behaviours during the transfer phase are a core component of the dispersal strategy of an individual, and therefore they come under selection and they can evolve [@merckxEvolutionMovementsBehaviour2003; @fahrigNonoptimalAnimalMovement2007a; @hawkesLinkingMovementBehaviour2009; @travisModellingDispersalEcoevolutionary2012a]. Ultimately, it is the evolution of movement behaviours that leads to what we consider the evolution of dispersal kernels. A handful of theoretical studies have so far explored the evolution of movement rules. For example, it has been shown how the landscape composition and configuration, in interaction with the ecology of the species, can affect the evolution of movement patterns, such that the greater the costs of dispersal the more highly correlated are the emerging walks [@heinzAdaptivePatchSearching2006; @bartonEvolutionIntelligentDispersal2009]. Moreover, straighter movement paths [@phillipsLifehistoryEvolutionRangeshifting2010a] and riskier strategies seem to be selected during range expansion in such a way that the rate of expansion is maximized at the expense of the survival probability of the single individual [@bartonRiskyMovementIncreases2012]."}` - -`r if(movement_SMS){"A Stochastic Movement Simulator (SMS, [@palmerIntroducingStochasticMovement2011]) is implemented. "}``r if(movement_corrRW){"A corelated random walk is implemented."}``r if(movement_model){"The submodel is fully individual-based and explicitly describes the movement behaviour of individuals with a level of detail, and hence parameters, which is probably close to the most parsimonious for a mechanistic movement model. However, it facilitates considerably increasing the complexity and realism with which the transfer phase is modelled."}` - -See the submodel description for further details. - -### Settlement - -Settlement, or immigration, is the last phase of dispersal, when the organism stops in a new cell or patch of breeding habitat. This phase is determined by a suite of strategies, behaviours and reaction norms that lead individuals to the decision to stop in a particular place. Habitat selection, mate finding and density dependence are probably three of the main processes involved, but not the only ones. Like emigration, settlement is a complex process affected by multiple criteria including inter-individual variability and context dependencies. It can be influenced by the causes and mechanisms of the previous phases of dispersal [@clobertInformedDispersalHeterogeneity2009] and it has associated specific costs [@bonteCostsDispersal2012a], which can also feed back to the previous phases [@legalliardPatternsProcessesDispersal2012]. - -As for the previous phases, the use of different sources of abiotic and biotic information is likely to be crucial in the settlement decision, for which evidence is now accumulating. For example, studies have demonstrated that in some species, dispersing individuals exhibit a preference for habitat that is similar to the natal one, philopatry being a stronger predictor of habitat preferences for settlement than intrinsic habitat quality [@haughlandExplorationCorrelatesSettlement2004; @stampsEffectsNatalExperience2006; @stampsHowDifferentTypes2009]. Conspecific density and performance have also been demonstrated to be important cues for settlement decisions (conspecific attraction), because they can provide a rapid approximation of the habitat quality [@stampsConspecificAttractionAggregation1988; @doligezAvailabilityUsePublic2004; @fletcherSpeciesInteractionsPopulation2007; @verckenImportanceGoodNeighborhood2012; @clotucheSettlementDecisionsTwospotted2013]. - -From the theoretical point of view, much work has been conducted on habitat selection during settlement decisions and its consequences for species’ population dynamics and spatial genetic structure. The basic assumption is that individuals are expected to select habitat patches where their expected fitness is greater than the one expected in the natal patch, weighted by the costs of searching [@ruxtonFitnessDependentDispersal1998; @stampsHabitatSelectionDispersers2001; @bakerIncrementalCostsBenefits2004; @stampsSearchCostsHabitat2005; @armsworthStructureClinesFitness2008; @bonteCostsDispersal2012a]. Recently the idea of â€matching habitat choice’ has been proposed, for which individuals aim to settle where the environment best matches with their phenotype. This process, expected to be more important for species with limited phenotypic plasticity, can have important implications for processes such as local adaptation, adaptive peak shifts and evolution of niche width, and speciation [@edelaarMatchingHabitatChoice2008]. Other factors affecting settlement such as density dependence [@poethkeAbilityIndividualsAssess2011], conspecific attraction (Fletcher 2006) or mate finding [@gilroyMateFindingOverlookedCritical2012], their evolution and their consequences on species’ responses to environmental changes, have been much less theoretically investigated. - -This specific use case of RangeShifter incorporates some basic settlement rules. In any case, dispersing individuals are not allowed to settle in their natal `r if(cell_based){"cell"}``r if(patch_based){"patch"}`. - -For more details, see the description of the submodel. - -### Dispersal mortality - -Dispersal is often a costly process for an organism [@bonteCostsDispersal2012a] and, in some cases, a dispersing individual may suffer mortality. Obtaining a sensible representation of dispersal requires that these mortality costs are described appropriately and, for this, it is important to recognize how dispersal mortality is incorporated in RangeShifter. -First, dispersal mortality can arise as a result of individuals failing to reach suitable habitat. `r if(dispersal_kernel){"For example, when individuals have no possibility to search for locally-suitable habitat, mortality occurs to all individuals that arrive in unsuitable habitat."}` `r if(movement_model){"Fo example, some individuals may fail to find suitable habitat before they use up a maximum number of movement steps. In this first case, dispersal mortality clearly depends upon the proportion of suitable habitat in the landscape and will increase as the availability of habitat declines."}` - -`r if(dispersal_kernel){"A second source of dispersal mortality can be a constant or a density-dependent (i.e. individuals that travel further are more likely to die) probability of mortality. The latter may be thought to represent the increased energetic, time or attritional costs that longer-distance dispersers will experience [@bonteCostsDispersal2012a]."}` -`r if(movement_model){"A second source of dispersal mortality can be a per-step probability of mortality. This can be useful for representing mortality risks that increase with distance or time spent travelling."}``r if(movement_model & movement_cost){"Additionally, movement across a complex landscape is modeled more explicitly: the per-step mortality varies according to the nature of the local environment."}` - -For more details, see the description of the submodel. - -## Emergence - -Species range distributions emerge from the population dynamics and the dispersal behaviour of the individuals. - -## Adaptation - -`r if(movement_SMS){"During the transfer process, individuals move according to what they can perceive of the landscape within their perceptual range $PR$. However, individuals do not know a priori their final destination. The $PR$ is defined by a number of cells. At each step, the individual evaluates the surrounding habitat in order to determine the effective cost of taking a particular step to each of the eight neighbouring cells. The effective cost is a mean of the cost of the neighbouring cell and the surrounding cells beyond it within the $PR$."}` - -`r if(!movement_SMS){"Not applicable."}` - -## Objectives - -`r if (movement_SMS & goal_type==2){"The only goal of the dispersing individuals is to move away from the natal location. Individuals follow a straighter trajectory initially, and later become more tortuous and responsive to perceived landscape costs."}` -`r if (!movement_SMS & !goal_type==2){"Not applicable."}` - -## Learning - -Not applicable. - -## Prediction - -Not applicable. - -## Sensing - -`r if(mate_finding){"Individuals of both sexes need to be in the same cell in order to reproduce. Individuals in the same cell are aware of the sex of others."}` -`r if(movement_SMS){"Dispersing individuals can perceive the sourrounding landscape within their perceptual range $PR$."}` -`r if(cell_based & dispersal_kernel & s@dispersal@Settlement@Settle>=2){"Dispersing individuals perceive the suitability of cells and might settle in a suitable neighbouring cell if the arrival cell is unsuitable."}` -`r if(patch_based & dispersal_kernel & s@dispersal@Settlement@Settle>=2){"Dispersing individuals perceive the suitability of patches and might settle in a suitable neighbouring patch if the arrival patch is unsuitable."}` -`r if(cell_based & movement_model & settlement_densdep){"Dispersing individuals can perceive the density in cells and potentially decide to continue dispersing if the density is high."}` -`r if(patch_based & movement_model & settlement_densdep){"Dispersing individuals can perceive the density in patches and potentially decide to continue dispersing if the density is high."}` -`r if(!mate_finding & !movement_SMS){"Not applicable"}` - - -## Interaction - -No interaction is considered in the model. - -## Stochasticity - -`r if(environmental_stochasticity){"Environmental stochasticity is considered in the model. "}else{"Not applicable. "}``r if(env_stoch_K & !stage_structured){"It acts on the capacity $K$."}``r if(env_stoch_R & !stage_structured){"It acts on the growth rate $r$."}``r if(env_stoch_K & stage_structured){"It acts on the strength of density dependence $1/b$."}``r if(env_stoch_R & stage_structured){"It acts on the fecundity $\\phi$."}` - -Demographic stochasticity is explicitly included in all processes by default. - - -## Collectives - -Not applicable - -## Observation - -`r if(output_range){"### Range -The output _Sim0_Range.txt_ contains the following general information regarding the species' range: Replicate number, year, reproductive season within the year, total number of individuals"}``r if(output_range & stage_structured){", total number of individuals in each stage, total number of juveniles born"}``r if(output_range){", total number of "}``r if(output_range & cell_based){"cells"}``r if(output_range & patch_based){"patches"}``r if(output_range){" occupied by a population capable of breeding, ratio between occupied and suitable "}``r if(output_range & cell_based){"cells"}``r if(output_range & patch_based){"patches"}``r if(output_range){", species range in term of maximum and minimum coordinates of"}``r if(output_range & cell_based){" cells"}``r if(output_range & patch_based){" patches"}``r if(output_range){" occupied by breeding populations."}` - -`r if(output_occ){"### Occupancy -This output reports the "}``r if(output_occ & cell_based){"cell"}``r if(output_occ & patch_based){"patch"}``r if(output_occ){" probability of occupancy by a breeding population. This is only permissible for multiple replicates. Data will be recorded at the beginning of the year before any other process (and only once a year no matter the number of reproductive seasons per year). Two files will be produced: 1. _Sim0_Occupancy.txt_: This file contains a list of "}``r if(output_occ & cell_based){"all the cells in the landscape (x and y coordinates)"}``r if(output_occ & patch_based){"all the patches (PatchID)"}``r if(output_occ){". The remaining columns give the occupancy probability of the "}``r if(output_occ & cell_based){"cell"}``r if(output_occ & patch_based){"patch"}``r if(output_occ){" at defined time steps. The occupancy probability is obtained by dividing the number of times (replicates) that the "}``r if(output_occ & cell_based){"cell"}``r if(output_occ & patch_based){"patch"}``r if(output_occ){" has been occupied in a given year by the total number of replicates. 2. _Sim0_Occupancy_Stats.txt_: Summary occupancy statistics, i.e. the mean ratio between occupied and suitable cells (Mean_OccupSuit) and its standard error (Std_error) at the set time interval."}` - -`r if(output_pop){"### Populations -The population output, _Sim0_Pop.txt_ contains statistics regarding each population present in the landscape at a given time interval. Data are collected before reproduction at each reproductive season at the specified yearly interval and at the end of the simulation. This output file contains the following information: Replicate number, year, reproductive season, "}``r if(output_pop & cell_based){"cell location"}``r if(output_pop & patch_based){"patch ID"}``r if(output_pop){", species number, number of individuals in the population"}``r if(output_pop & stage_structured & !sexual){", the number of individuals in each stage (NInd_stageX)"}``r if(output_pop & sexual & stage_structured){", the number of females (Nfemales_stageX) and of males (Nmales_stageX) in each stage"}``r if(output_pop & !stage_structured & sexual){", the number of females (Nfemales) and of males (Nmales) in the population"}``r if(output_pop & stage_structured & !sexual){", the number of juveniles born (NJuvs)"}``r if(output_pop & sexual){", the number of females juveniles (NJuvFemales) and males (NJuvMales)"}``r if(output_pop){"."}` - -`r if(output_ind){"### Individuals -This output, _Sim0_Rep0_Inds.txt_, contains information regarding each individual at a given time step. To avoid the production of huge files, a separate file is saved for each replicate (here assumed to be 0). "}``r if(output_ind & stage_structured){"Data are recorded after settlement and before aging, in order that dispersal data for individuals which die may be reported."}``r if(output_ind){" Individuals data for year $T$ therefore correspond to Population summary data for year $T+1$ (and individuals which die in year $T$ must be excluded for the data to match at population level). For each individual the following data are collected: Replicate number, year, reproductive season within the year, species number, individual ID, individuals status, natal cell and current "}``r if(output_ind & cell_based){"cell"}``r if(output_ind & patch_based){"patch"}``r if(output_ind){". If the individual has crossed an absorbing landscape or 'no-data' boundary, the current "}``r if(output_ind & cell_based){"cell"}``r if(output_ind & patch_based){"patch"}``r if(output_ind){" will be missing"}``r if(output_ind & sexual){", sex"}``r if(output_ind){", age"}``r if(output_ind & stage_structured){", stage"}``r if(output_ind){", distance moved in meters (linear distance from the centre of the starting cell to the centre of the arrival cell - DistMoved); if the individual has crossed an absorbing landscape or 'no-data' boundary, the distance moved will be missing (set to -1)"}``r if(output_ind & movement_model){", number of steps taken for movement models"}``r if(output_ind){"."}` - -```{r eval=output_ind, echo=F, include=T} -if (cell_based){ - create.table <- data.frame("Status code" = c(0:9), "Description"=c( - "Initial status in natal patch/philopatric recruit", - "Disperser", - "Disperser awaiting settlement in possible suitable cell", - "Waiting between dispersal events", - "Completed settlement", - "Completed settlement in a suitable neighbouring cell", - "Died during transfer by failing to find a suitable patch (includes exceeding the maximum number of steps or crossing an absorbing boundary)", - "Died during transfer by constant, step-dependent, habitat-dependent or distance-dependent mortality", - "Failed to survive annual (demographic) mortality", - "Exceeded maximum age" - )) -} -if (patch_based){ - create.table <- data.frame("Status code" = c(0:9), "Description"=c( - "Initial status in natal patch/philopatric recruit", - "Disperser", - "Disperser awaiting settlement in possible suitable patch", - "Waiting between dispersal events", - "Completed settlement", - "Completed settlement in a suitable neighbouring patch", - "Died during transfer by failing to find a suitable patch \n (includes exceeding the maximum number of steps or crossing an absorbing boundary)", - "Died during transfer by constant, step-dependent, habitat-dependent \n or distance-dependent mortality", - "Failed to survive annual (demographic) mortality", - "Exceeded maximum age" - )) -} -knitr::kable(create.table, col.names = gsub("[.]", " ", names(create.table)), caption = 'Status codes of individuals', format.args = list(width=10)) -``` - -`r if(output_conn){"### Connectivity -The connectivity matrix output, _Sim0_Connect.txt_, presents counts of the number of individuals successfully dispersing from each patch to each other patch for each year specified by the Connectivity Matrix every (years) box. If there is more than one reproductive season during the year, cumulative year-end totals are reported. Although the file contains the data required for true N x N matrices, the data are presented in list format (which can readily be converted to matrices by most analytical software): 1. Replicate number (Rep), 2. Year -3. ID number of natal patch (StartPatch), 4. ID number of settlement patch (EndPatch), 5. Number of individuals dispersing from StartPatch to EndPatch (NInds). -The rows having an entry of -999 are summary rows, showing the total number of successful emigrants from a patch (if EndPatch = -999) and the total number of successful immigrants into a patch (if StartPatch = -999). They are included to facilitate quick examination of the file without having to sum all the individual rows for a patch in any one year. -"}` - -`r if(output_paths){"### SMS paths -Sim0_Rep0_SMSpaths.txt lists the cell-based trajectories of all (successfully or unsuccessfully) dispersed individuals from the natal to the final (settlement or fatal) patch for each year specified by OutIntPaths, starting from OutStartPaths. The data are presented in list format with the columns: Year, individual ID, consecutive step number, coordinates of cell at this step, status of individual. The status is an integer number that codes for the following possible states: -0 = natal patch, -1 = disperser, -2 = disperser awaiting settlement in possible suitable patch, -3 = waiting between dispersal events, -4 = completed settlement, -5 = completed settlement in a suitable neighbouring cell, -6 = died during transfer by failing to find a suitable patch (includes exceeding maximum number of steps or crossing absorbing boundary), -7 = died during transfer by constant, step-dependent, habitat-dependent or distance-dependent mortality, -8 = failed to survive annual (demographic) mortality, -9 = exceeded maximum age."}` - -`r if(output_heatmaps){"### SMS Heat map -OutputMaps/Sim0_Land0_Rep0_Visits.txt is a series of maps in ASCII raster format, showing how many times each cell has been visited by a dispersing individual across the whole time period of the simulation. These heat maps may be useful, for example, for identifying corridors which are heavily used during the dispersal phase. One raster map is created in the Output_Maps folder for each replicate simulation, and is in the same format as the input habitat file. -"}` - -# Initialization - -## Initialization of landscape - -`r if(real_land & habitat_quality){"Landscapes are initialized according to the input raster maps. The density dependence of each cell is set as the respective fraction of the given maximum density dependence."}` -`r if(real_land & habitat_quality){"Landscapes are initialized according to the input raster maps. The density dependence of each cell is set according the given values for each habitat type."}` -`r if(arti_land){"An artificial landscape is generated according to the given parameters (see submodule description). "}``r if(arti_land & arti_land_continuous){"Each cell is given a continuous value between 0 and 1, which describes the percentage of habitat cover or habitat quality. within a cell. The effective density dependence of that cell is calculated as the respective fraction of the given maximum density dependence."}``r if(arti_land & !arti_land_continuous){"The resulting landscape is binary, with the two values Habitat and Matrix (i.e. Non-habitat)."}` - - - -## Initialization of populations - -`r if(s@init@InitType==0 & s@init@FreeType==0 & cell_based){cat("Populations are initialized randomly in ", s@init@NrCells, " cells according to the habitat map.")}` -`r if(s@init@InitType==0 & s@init@FreeType==0 & patch_based){cat("Populations are initialized randomly in ", s@init@NrCells, " patches according to the habitat map.")}` -`r if(s@init@InitType==0 & s@init@FreeType==1 & cell_based){"Populations are initialized randomly in all suitable cells according to the habitat map."}` -`r if(s@init@InitType==0 & s@init@FreeType==1 & patch_based){"Populations are initialized randomly in all suitable patches according to the habitat map."}` -`r if(s@init@InitType==1 & s@init@SpType==0){"Initial populations are loaded from a species distribution map in all suitable cells within all distribution presence cells."}` -`r if(s@init@InitType==1 & s@init@SpType==1){cat("Initial populations are loaded from a species distribution map in ",s@init@NrCells ," randomly chosen presence cells.")}` -`r if(s@init@InitType==2 ){"Populations are initialized from a file listing the initial individuals (of given"}``r if(s@init@InitType==2 & sexual & stage_structured){" sex, age and stage"}``r if(s@init@InitType==2 & !sexual & stage_structured){" age and stage"}``r if(s@init@InitType==2 & !sexual & !stage_structured){" age"}``r if(s@init@InitType==2 & cell_based){" in specified cells. This option allows simulation of a reintroduction scenario."}``r if(s@init@InitType==2 & patch_based){" in specified patches. This option allows simulation of a reintroduction scenario."}` `r if(s@init@InitDens==2 & patch_based){cat(s@init@IndsHaCell, " number of individuals per hectare are seeded in each patch.")}` `r if(s@init@InitDens==2 & cell_based){cat(s@init@IndsHaCell, " number of individuals per hectare are seeded in each cell.")}` `r if(s@init@InitDens==0 & patch_based & !stage_structured){"The number of seeded individuals per hectare in each patch is determined by $K$."}``r if(s@init@InitDens==0 & patch_based & stage_structured){"The number of seeded individuals per hectare in each patch is determined by $1/b$."}``r if(s@init@InitDens==0 & cell_based & !stage_structured){"The number of seeded individuals per hectare in each cell is determined by $K$."}``r if(s@init@InitDens==0 & cell_based & stage_structured){"The number of seeded individuals per hectare in each cell is determined by $1/b$."}``r if(s@init@InitDens==1 & patch_based & !stage_structured){"The number of seeded individuals per hectare in each patch is determined by half of $K$."}``r if(s@init@InitDens==1 & patch_based & stage_structured){"The number of seeded individuals per hectare in each patch is determined by half of $1/b$."}``r if(s@init@InitDens==1 & cell_based & !stage_structured){"The number of seeded individuals per hectare in each cell is determined by half of $K$."}``r if(s@init@InitDens==1 & cell_based & stage_structured){"The number of seeded individuals per hectare in each cell is determined by half of $1/b$."}` - -`r if(stage_structured & s@init@InitType!=2 & s@init@InitAge==0){"The proportion of individuals that is initialised at each stage class is set via a numeric vector $PropStages$. It has as many entries as number of stages, starting from the juvenile stage (0). The age is set as the minimal age of the respective stage."}` -`r if(stage_structured & s@init@InitType!=2 & s@init@InitAge==1){"The proportion of individuals that is initialised at each stage class is set via a numeric vector $PropStages$. It has as many entries as number of stages, starting from the juvenile stage (0). The age is set randomly between the minimal and maximal age of the respective stage."}` -`r if(stage_structured & s@init@InitType!=2 & s@init@InitAge==2){"The proportion of individuals that is initialised at each stage class is set via a numeric vector $PropStages$. It has as many entries as number of stages, starting from the juvenile stage (0). The age is set approximately in accordance with the number of years taken to pass through the stage and the survival rate of the respective stage."}` - -`r if(stage_structured & s@init@InitType==2){"The proportion of individuals that is initialised at each stage class and the age distributions are loaded via the file listing the initial individuals."}` - -`r if(s@init@minX>0 | s@init@maxX>0 | s@init@minY>0 | s@init@maxY>0 | s@init@InitFreezeYear>0 | s@init@RestrictFreq>0 | s@init@RestrictRows>0 | s@init@FinalFreezeYear>0){"$\\color{red}{\\text{These options were not yet integrated in the ODD template.}}$ $\\color{red}{\\text{Please include the discribtion on your own.}}$"} ` - -# Input data - -The model requires the following input data: - -`r if(real_land & habitat_quality & !dynamic_landscape){"* The underlying landscape raster map as a text file in ESRI ASCII raster format. The grid needs to contain values for each cell, one line per row. Each cell in the landscape is assigned a continuous percentage value between 0.0 and 100.0 (of the maximum density dependence "}``r if(real_land & habitat_quality & !dynamic_landscape & stage_structured){"$1/b$"}``r if(real_land & habitat_quality & !dynamic_landscape & !stage_structured){"$K$"}``r if(real_land & habitat_quality & !dynamic_landscape){". There are no explicit habitat or land-cover types. This allows integrating different methods for calculating the habitat suitability for a given species. For example, qualities can result from different methods of suitability modelling, which incorporate multiple variables like habitat types, elevation, climate, etc. In the current version of the program, a straight-line relationship between the habitat quality and the actual density-dependence of the population dynamics is assumed. Therefore, the quality should be scaled accordingly in case of a curvilinear relationship. "}` - -`r if(real_land & habitat_type & !dynamic_landscape){"* The underlying landscape raster map as a text file in ESRI ASCII raster format. The grid needs to contain values for each cell, one line per row. Each habitat or land-cover type has a unique integer code. Each cell in the file contains a single habitat code and 100 percent coverage is assumed for the cell. The landscape is therefore composed of discrete habitat cells. The codes are required to be sequential integers starting from 1 and ranging to Nhabitats. "}` - -`r if(real_land & habitat_quality & dynamic_landscape){"* (A vector of) All underlying landscape raster maps as a text files in ESRI ASCII raster format. The grids need to contain values for each cell, one line per row. Each cell in the landscapes is assigned a continuous percentage value between 0.0 and 100.0 (of the maximum density dependence "}``r if(real_land & habitat_quality & dynamic_landscape & stage_structured){"$1/b$"}``r if(real_land & habitat_quality & dynamic_landscape & !stage_structured){"$K$"}``r if(real_land & habitat_quality & dynamic_landscape){". There are no explicit habitat or land-cover types. This allows integrating different methods for calculating the habitat suitability for a given species. For example, qualities can result from different methods of suitability modelling, which incorporate multiple variables like habitat types, elevation, climate, etc. In the current version of the program, a straight-line relationship between the habitat quality and the actual density-dependence of the population dynamics is assumed. Therefore, the quality should be scaled accordingly in case of a curvilinear relationship. Any part of the original landscape which was a â€no-data’ region (e.g. the sea or land beyond a study area boundary) must remain in that state for the whole simulation. "}` - -`r if(real_land & habitat_type & dynamic_landscape){"* (A vector of) All underlying landscape raster maps as a text file in ESRI ASCII raster format. The grids need to contain values for each cell, one line per row. Each habitat or land-cover type has a unique integer code. Each cell in the files contains a single habitat code and 100 percent coverage is assumed for the cell. The landscapes are therefore composed of discrete habitat cells. The codes are required to be sequential integers starting from 1 and ranging to Nhabitats. Any part of the original landscape which was a â€no-data’ region (e.g. the sea or land beyond a study area boundary) must remain in that state for the whole simulation. "}` - -`r if(patch_based & real_land & !dynamic_landscape){"* A raster map as a text file in ESRI ASCII raster format of the same landscape, where each cell contains the ID number of the patch to which it belongs. Each patch must have a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. "}` - -`r if(patch_based & real_land & dynamic_landscape){"* Raster maps as text files in ESRI ASCII raster format of the same landscapes, where each cell contains the ID number of the patch to which it belongs. Each patch must have a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. The identity of patches is not cross-checked between changes, and care must therefore be taken to ensure consistency; otherwise, a patch (and its resident population) can jump to a distant location or be split into two or more disjunct parts, with unpredictable and possibly weird consequences. It is legitimate for a patch to be split into two or more separate patches (e.g. by construction of a motorway or some other barrier), but any existing population will remain with the part (if any) which retains the original patch number, and populations within the other parts (having a new patch number) must arise through colonisation. Possible ways to work around this restriction include: - - * Assign to all post-change parts of the original patch a new, unique patch number and specify that dispersal is allowed after population destruction (which is possible only for a structured population), in which case some colonisation of the new patches should occur. Note that the connectivity matrix will be misleading in such cases, as every successful â€disperser’ will appear to have moved from patch N to patch M (where M is the new patch number). - - * Instead of a single original patch, define two (or more) distinct but adjacent patches in the original landscape, so that they each retain their own populations when they become separated by the landscape change. "}` - -`r if(real_land & !dynamic_landscape & movement_cost_file){"* A raster map as a text file in ESRI ASCII raster format containing the SMS costs. The specified map has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being 1. "}` - -`r if(real_land & dynamic_landscape & movement_cost_file){"* Raster maps as text files in ESRI ASCII raster format containing the SMS costs. The specified maps have to match the landscape rasters in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being 1. "}` - -`r if(real_land & s@init@InitType==1 & s@init@SpType==0){"* A species distribution map as a text file in ESRI ASCII raster format containing the initial destribution. It must be aligned with the landscape map, i.e. the coordinates of the lower-left corner must be the same. The extent of the map does not have to be necessarily the same as the landscape. The resolution can be the same or coarser, provided that it is a multiple of the landscape resolution. For example, if the landscape cell size is 250m, the species distribution can be at the resolution of 250m, 500m, 750m, 1000m etc. Each cell of the species distribution map must contain either 0 (species absent or not recorded) or 1 (species present). "}` - -`r if(s@init@InitType==2){"* An initial individuals list file. The population is initialised according to a list of specific individuals (of given sex, age and stage, if appropriate) in specified cells/patches. This option allows simulation of a reintroduction scenario. It must be a tab-separated list with explicit column headers and one row for each individual to be initialized. The expected column headers must match the following order exactly: 'Year', 'Species' (must = 0), "}``r if(s@init@InitType==2 & cell_based){"'X', 'Y', "}``r if(s@init@InitType==2 & patch_based){"'PatchID', "}``r if(s@init@InitType==2){"'Ninds', "}``r if(s@init@InitType==2 & sexual){"'Sex', 'Age'"}``r if(s@init@InitType==2 & stage_structured){"', Stage'"}``r if(s@init@InitType==2){"."}``r if(s@init@InitType==2 & sexual){" The sex is specified with 0 for female and 1 for male."}` - -# Submodels - -`r if(arti_land){"## Landscape - -To generate a fractal landscape, the midpoint displacement algorithm [@saupeAlgorithmsRandomFractals1988] is applied, adapted to allow for the generation of elongated landscapes (useful for theoretical studies on range shifting and environmental gradients). Landscape structure is determined by two parameters: the proportion of landscape occupied by suitable habitat $p$ and the degree of spatial autocorrelation (Hurst exponent, $H$) which ranges from > 0.0 (low autocorrelation but still not completely spatially independent) to < 1.0 (high autocorrelation, i.e. high habitat aggregation). -The resulting landscape is"}``r if(arti_land & arti_land_continuous){"continuous. It describes the percentage of habitat cover or habitat quality within a cell. The effective "}``r if(arti_land & arti_land_continuous & stage_structured){" demographic density dependence $1/b$ "}``r if(arti_land & arti_land_continuous & !stage_structured){" limiting carrying capacity $K$ "}``r if(arti_land & arti_land_continuous){" of that cell is calculated as the respective fraction of the value of "}``r if(arti_land & arti_land_continuous & stage_structured){" the demographic density dependence $1/b$."}``r if(arti_land & arti_land_continuous & !stage_structured){" the limiting carrying capacity $K$."}``r if(arti_land & !arti_land_continuous){"binary, either being habitat or matrix (i.e. non-habitat)."}` - -`r if(real_land & !dynamic_landscape){"## Landscape - -A real landscape is imported consisting of"}` `r if(real_land & habitat_quality & !dynamic_landscape){" continuous values, ranging from 0.0 to 100.0, that represent percentages of habitat cover or quality."}``r if(real_land & habitat_type & !dynamic_landscape){" unique integer habitat codes to characterise the habitat type of each cell. "}``r if(real_land & patch_based & !dynamic_landscape){"An additional file of the same landscape is provided, where each cell contains the ID number of the patch to which it belongs. Each patch has a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells."}` -`r if(dynamic_landscape){"## Landscape - -Dynamic landscapes are imported consisting of"}` `r if(dynamic_landscape & real_land & habitat_quality){" continuous values, ranging from 0.0 to 100.0, that represent percentages of habitat cover or quality."}``r if(dynamic_landscape & real_land & habitat_type){" unique integer habitat codes to characterise the habitat type of each cell. The attributes of cells change at specified years during the course of a simulation. Any landscape change occurs at the start of the year, i.e. before the reproductive season."}` -`r if(dynamic_landscape & real_land & patch_based){"Additional files of the same landscapes are provided, where each cell contains the ID number of the patch to which it belongs. Each patch has a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. As the landscape is dynamic, the shape of patches may change, patches may be removed and new patches may be created where there was previously inter-patch matrix. -"}``r if(dynamic_landscape){"Thus some populations may be extirpated "}``r if(dynamic_landscape & !stage_structured){"(all individuals die)"}``r if(dynamic_landscape & stage_structured){"(all individuals either die or have an immediate opportunity to disperse)"}``r if(dynamic_landscape){", and new populations may arise from colonisation of newly suitable areas. "}``r if(dynamic_landscape & movement_cost_file){"In addition, the cost map for the movement processes is dynamic."}` - -`r if(real_land & !stage_structured){"In addition, the limiting carrying capacity $K$ is given in units of the number of individuals per hectare. "}``r if(real_land & stage_structured){"In addition, the demographic density dependence $1/b$ is given in units of the number of individuals per hectare. "}``r if(real_land & habitat_type){"A vector of the length of the habitat types specifies the respective density dependence for every habitat code."}``r if(real_land & habitat_quality){" -The given density dependence is interpreted as the maximum density reached in cells with 100% habitat. All other cells hold the respective fraction of the density dependence."}` - -`r if(environmental_stochasticity){"## Environmental stochasticity - -In RangeShifter, environmental stochasticity is implemented using a first order autoregressive process to generate time series of the noise value $\\epsilon$ [@ruokolainenEcologicalEvolutionaryDynamics2009]: - -$$\\epsilon_{t+1} = \\kappa \\epsilon_{t} + \\omega_{t} \\sqrt{1â’\\kappa^2}$$ - -where $\\kappa$ is the autocorrelation coefficient and $\\omega$ is a random normal variable drawn from $N(0,\\sigma)$."}``r if(environmental_stochasticity & s@simul@ac==0){" In this specific use case auto correlation is switched of ($\\kappa$ = 0) and only red noise is considered."}``r if(environmental_stochasticity){"Changing $\\omega$ changes the amplitude of the fluctuations. The spatial scale of the variation is"}``r if(environmental_stochasticity & !env_stoch_loc){" global (a single time series for the entire landscape)"}``r if(environmental_stochasticity & env_stoch_loc){" local (each cell fluctuates independently)"}``r if(environmental_stochasticity){", and is always applied on a yearly basis. Different degrees of spatial autocorrelation are not implemented in the current version."}` - -`r if(environmental_stochasticity & env_stoch_K & !stage_structured){"The noise affects the species’ demographic density-dependence $K$ through the following equation: -$$K_{x,y,t} = K_{x,y,0} + K*\\epsilon_{t}$$ -where $x$ and $y$ are the cell coordinates and $K$ is the local carrying capacity in absence of stochasticity. In the absence of an environmental gradient, $K_{x,y,0}$ is equal to $K$."}` - -`r if(environmental_stochasticity & env_stoch_K & stage_structured){"The noise affects the species’ demographic density-dependence $1/b$ through the following equation: -$${1/b}0_{x,y,t} = {1/b}_{x,y,0} + {1/b}*\\epsilon_{t}$$ -where $x$ and $y$ are the cell coordinates and $1/b$ is the nature of demographic density-dependence) in absence of stochasticity. In the absence of an environmental gradient, $1/b_{x,y,0}$ is equal to $1/b$."}` - -`r if(environmental_stochasticity & env_stoch_R & !stage_structured){"The noise affects the species’ growth rate $R$ through the following equation: -$$R_{x,y,t} = R_{x,y,0} + R*\\epsilon_{t}$$ -where $x$ and $y$ are the cell coordinates and $R$ is the growth rate in absence of stochasticity. In the absence of an environmental gradient, $R_{x,y,0}$ is equal to $R$."}` - -`r if(environmental_stochasticity & env_stoch_R & stage_structured){"The noise affects the species’ fecundity $\\phi$ through the following equation: - -$$\\phi_{x,y,t} = \\phi_{x,y,0} + \\phi*\\epsilon_{t}$$ - -where $x$ and $y$ are the cell coordinates and $\\phi$ is the fecundity in absence of stochasticity. In the absence of an environmental gradient, $\\phi_{x,y,0}$ is equal to $\\phi$."}` - -## Reproduction -`r if(stage_structured){"At the beginning of each year, reproduction is the first process to be modelled. "}`The model simulates `r if(rep_seasons==1){"1 reproductive season"} else{cat(rep_seasons, "reproductive seasons")}` per year. `r if(stage_structured & survival_schedule==0){"Survival and development of all the stages (apart from stage 0) occur simultaneously with reproduction, followed by dispersal and finally survival and development of stage 0. Individuals age at the end of each year."}` `r if(stage_structured & survival_schedule==1){"Reproduction is followed by dispersal. After each reproductive season, survival and successive development of all the stages are modelled (between reproductive seasons). Aging occurs at the end of the year."}` `r if(stage_structured & survival_schedule==2){"Reproduction is followed by dispersal after each reproductive event. Survival and development of all stages happen only at the end of all reproductive seasons (annually), followed by aging at the end of the year."}` -`r if(!stage_structured){"At each generation the life cycle comprises: reproduction, death of the adults and offspring dispersal (in that order)."}` -`r if(!stage_structured & !sexual & cell_based){"Recruitment is determined by a stochastic, individual-based formulation of Maynard-Smith and Slatkin’s [-@smithStabilityPredatorPreySystems1973] population model, where the number of offspring produced by a single individual in the cell $i$ at time $t$, is drawn from the following distribution: - -$$Poisson(\\dfrac{R_{i,t}}{{1+|R_{i,t}-1|*\\dfrac{N_{i,t}}{K_{i,t}}^{b_{c}}}})$$ - -Here, $R_{i,t}$ is the maximum growth rate (obtained at very low density only) and $K_{i,t}$ is the carrying capacity."}` -`r if(!stage_structured & !sexual & patch_based){"Recruitment is determined by a stochastic, individual-based formulation of Maynard-Smith and Slatkin’s [-@smithStabilityPredatorPreySystems1973] population model, where the number of offspring produced by a single individual in the patch $i$ at time t, is drawn from the following distribution: - -$$Poisson(\\dfrac{R_{i,t}}{{1+|R_{i,t}-1|*\\dfrac{N_{i,t}}{K_{i,t}}^{b_{c}}}})$$ - -Here, $R_{i,t}$ is the maximum growth rate (obtained at very low density only) and $K_{i,t}$ is the carrying capacity."}` -`r if(!stage_structured & !sexual & (dynamic_landscape | environmental_stochasticity) ){"$R_{i}$ and $K_{i,t}$ vary in space and time."}` -`r if(!stage_structured & !sexual){"$b_{c}$ is the competition coefficient which describes the type of density regulation, providing for under-compensatory ($b_{c}$ < 1), compensatory ($b_{c}$ = 1) or over-compensatory ($b_{c}$ > 1) dynamics."}` - -`r if(!stage_structured & sexual){"Individuals are explicitly characterized by their sex. The proportion of each sex in the population is controlled by setting the proportion of males (this is interpreted as the probability that an individual is male; hence a skewed sex-ratio at birth (or initialisation) may occur in a small population)."}` -`r if(!stage_structured & sexual & mating_simple){"Each female individual is assumed to mate, as long as there is at least one male in the population. The Maynard Smith and Slatkin model is used to determine the expected number of offspring produced by each female.$R_{i,t}$ is multiplied by 2 to maintain equivalence compared to the standard equation [@lindstromSexualReproductionPopulation1998]: - -$$Poisson(\\dfrac{(2*R_{i,t})}{{1+|R_{i,t}-1|*\\dfrac{N_{i,t}}{K_{i,t}}^{b_{c}}}})$$"}` -`r if(!stage_structured & sexual & mating_complex){"The mating system is explicitly modelled through a mating function [@lindstromSexualReproductionPopulation1998; @legendreAgeStructureMating2004; @gomesDiscreteTwosexModels2010], where the number of mated females $c$ is given by: - -$$c = min(1,2hm/f+hm)f$$ - -where $f$ and $m$ are the numbers of potentially reproductive females and males, respectively, and $h$ is the maximum harem size, i.e. the maximum number of pair bonds that a male can establish. $h$ = 1 corresponds to monogamy, 0 < $h$ < 1 to polyandry and $h$ > 1 to polygyny. -Each potentially reproductive female has a probability of reproducing pr given by: - -$p_{r}=\\dfrac{c}{f}$ - -A Bernoulli trial, $Bern(p_{r})$, determines if the female reproduces or not. Hence, the specification of the mating system determines the probability for each female to reproduce. However, no explicit pair bonds are formed. For females that reproduce, the number of offspring is determined through - -$$Poisson(\\dfrac{(2*R_{i,t})}{{1+|R_{i,t}-1|*\\dfrac{N_{i,t}}{K_{i,t}}^{b_{c}}}})$$"}` - -`r if(stage_structured){"Generations overlap and individuals are classified in different stages (e.g. immature vs. breeding individuals) differing in their demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity $\\phi$, survival $\\sigma$ and probability of developing to the next stage $\\gamma$. The parameters are provided through classical transition matrices [@caswellMatrixPopulationModels2001a]. However, these are not solved analytically as is typical for matrix models but, instead, the parameters are applied stochastically in an individual-based fashion. -At each reproductive season, two parameters control the likelihood that each individual / female reproduces: - -* First, it is determined whether a reproductively mature female is a potential reproducer."}``r if(stage_structured & rep_interval>0){cat("A female, which has already reproduced, has to wait", rep_interval," reproductive seasons to be able to reproduce again. Only those mature females that are either yet to reproduce, or last reproduced more than this number of reproductive seasons previously, are potential breeders. ")}``r if(stage_structured & rep_interval==0){"Only those mature females that are able to reproduce, are potential breeders. "}` -`r if(stage_structured){" - -* Potential breeders all reproduce with set probability $\\phi$. -"}` - -`r if(stage_structured & !sexual){"In this specific use case, an asexual/only-female model was implemented. To avoid the problem of offspring developing to the next stage in the same year without losing the offspring stage, and hence the chance for simulating post-natal dispersal, an explicit juvenile stage (stage 0) is added: - -$$A = \\begin{pmatrix} 0 & 0 & \\phi \\\\ -1.0 & \\sigma(1-\\gamma) & 0 \\\\ -0 & \\sigma\\gamma & \\sigma -\\end{pmatrix}$$ - -Juveniles have to develop to stage 1 in the same year they are born. It is important to note that juvenile mortality can be accounted for in two ways. Either it is included in adult fecundity $\\phi$ (by appropriately reducing its value), and $\\sigma_{0}\\gamma_{0-1}$ is equal to 1.0. This is how it is typically accounted for in matrix models. Or, alternatively, $\\phi$ is equal to the true maximum fecundity and $\\sigma_{0}\\gamma_{0-1}$ is less than 1.0. Only the first approach allows straightforward direct comparison with standard analytical matrix models. -The parameters in the matrix are used in a stochastic way at the individual level. Each individual/female at stage $s$, if it reproduces, produces a number of offspring given by Poisson($\\phi_{s}$). "}` - -`r if(stage_structured & sexual & !demography_sexdep){"To avoid the problem of offspring developing to the next stage in the same year without losing the offspring stage, and hence the chance for simulating post-natal dispersal, we added an explicit juvenile stage (stage 0): - -$$A = \\begin{pmatrix} 0 & 0 & \\phi \\\\ -1.0 & \\sigma(1-\\gamma) & 0 \\\\ -0 & \\sigma\\gamma & \\sigma -\\end{pmatrix}$$ - -Juveniles have to develop to stage 1 in the same year they are born. It is important to note that juvenile mortality can be accounted for in two ways. Either it is included in adult fecundity $\\phi$ (by appropriately reducing its value), and $\\sigma_{0}\\gamma_{0-1}$ is equal to 1.0. This is how it is typically accounted for in matrix models. Or, alternatively, $\\phi$ is equal to the true maximum fecundity and $\\sigma_{0}\\gamma_{0-1}$ is less than 1.0. Only the first approach allows straightforward direct comparison with standard analytical matrix models. -The parameters in the matrix are used in a stochastic way at the individual level. Individuals are defined by their sex and the sex is acknowledged also in the dispersal process. $\\phi$ refers to the number of offspring (males and females) per female. Each female at stage $s$, if it reproduces, produces a number of offspring given by Poisson($\\phi_{s}$). "}` - -`r if(stage_structured & sexual & demography_sexdep){"The mating system is explicitly modelled. The mating system is explicitly modelled through a mating function [@lindstromSexualReproductionPopulation1998; @legendreAgeStructureMating2004; @gomesDiscreteTwosexModels2010], where the number of mated females $c$ is given by: - -$$c = min(1,2hm/f+hm)f$$ - -where $f$ and $m$ are the numbers of potentially reproductive females and males, respectively, and $h$ is the maximum harem size, i.e. the maximum number of pair bonds that a male can establish. $h$ = 1 corresponds to monogamy, 0 < $h$ < 1 to polyandry and $h$ > 1 to polygyny. -Each potentially reproductive female has a probability of reproducing $pr$ given by: - -$$p_{r}=\\dfrac{c}{f}$$ - -A Bernoulli trial, $Bern(p_{r})$, determines if the female reproduces or not. Hence, the specification of the mating system determines the probability for each female to reproduce. However, no explicit pair bonds are formed. -Additionally, the demographic parameters are sex-dependent. -$\\gamma_{m}$ and $\\gamma_{f}$ are the probability of developing from stage 1 to stage 2 of males and females -respectively, $\\sigma_{1m}$, $\\sigma_{1f}$, $\\sigma_{2m}$ and $\\sigma_{2f}$ are the two sexes’ survival probabilities at each stage and -$\\phi_{m}$ and $\\phi_{f}$ are their fecundities. In the classical matrix modelling framework, $\\phi_{m}$ and $\\phi_{f}$ are -derived from a birth function, which takes into account the number of males and females, -the harem size and the clutch size [@caswellTwoSexModelsChaos1986; @caswellMatrixPopulationModels2001a]. In RangeShifter, the mating and the birth processes are modelled explicitly and separately in an individual-based -manner; therefore, the fecundity parameter utilized is the same as in the non sexspecific -model, as the differences between sexes are already accounted for during the mating -process (i.e. number of offspring per female). What the user still needs to determine before -running structured explicit mating system models in RangeShifter is at which stages males -are reproductive. -To avoid the problem of offspring developing to the next stage in the same year without losing the offspring stage, and hence the chance for simulating post-natal dispersal, an explicit juvenile stage (stage 0) is added: - -$$A = \\begin{pmatrix} 0 & 0 & 0 & 0 & \\phi_{m} & \\phi_{f}\\\\ -1.0 & 0 & \\sigma_{1m}(1-\\gamma_{m}) & 0 & 0 & 0\\\\ -0 & 1.0 & 0 & \\sigma_{1f}(1-\\gamma_{f}) & 0 & 0\\\\ -0 & 0 & \\sigma_{1m}\\gamma_{m} & 0 & \\sigma_{2m} & 0\\\\ -0 & 0 & 0 & \\sigma_{1f}\\gamma_{f} & 0 & \\sigma_{2f} -\\end{pmatrix}$$"}` - -`r if(stage_structured & repro_densdep & !repro_stagedep){"Reproduction is density-dependent. Following Neubert & Caswell [-@neubertDensitydependentVitalRates2000], density -dependence in fecundity is implemented as an exponential decay: -$$\\phi_{i} = \\phi_{0,i}*e^{-bN_{t}}$$ -where $\\phi_{i}$ is the fecundity of stage $i$, $\\phi_{0,i}$ is its maximum fecundity at low densities, $b$ is the -strength of density dependence and $N_{t}$ is the total number of individuals in the local -population at time $t$."}` - -`r if(stage_structured & repro_densdep & repro_stagedep){"Reproduction is density- and stage-dependent. Following Neubert & Caswell [-@neubertDensitydependentVitalRates2000], density and stage -dependence in fecundity is implemented as an exponential decay: - -$$\\phi_{i} = \\phi_{0,i}*e^{-b\\sum_{j = 1}^{S} \\omega_{ij}N_{j,t}}$$ - -where $\\phi_{i}$ is the fecundity of stage $i$, $\\phi_{0,i}$ is its maximum fecundity at low densities, $b$ is the -strength of density dependence, $S$ indicates the number of stages and $\\omega_{ij}$ is contribution of stage $j$ to the density dependence in the fecundity of stage $i$ and $N_{j,t}$ the number of individuals in stage $j$ at time $t$ (e.g. [@caswellSensitivityAnalysisEquilibrium2004])."}` - -## Survival `r if(stage_structured){"& Development"}` -`r if(stage_structured & survival_schedule==0){"Survival and development of all the stages (apart from stage 0) occur simultaneously with reproduction, followed by dispersal and finally survival and development of stage 0."}` -`r if(stage_structured & survival_schedule==1){"Reproduction is first followed by dispersal. Only then survival and successive development of all the stages are modelled."}` -`r if(stage_structured & survival_schedule==2){"Reproduction is first followed by dispersal after each reproductive event. Survival and development of all stages happen only at the end of all reproductive seasons."}` - -`r if(!stage_structured & !local_ext_prob){"In this specific use case, survival is not explicitly modelled."}` -`r if(stage_structured & !survival_densdep & !survival_stagedep){"In this specific use case, survival is neither density nor stage dependent. Bernoulli trials $Bern(\\sigma)$ determine if an individual survives or not."}` -`r if(stage_structured & !survival_densdep & survival_stagedep){"In this specific use case, survival is stage dependent. Bernoulli trials $Bern(\\sigma_{s})$ determine if an individual survives or not. "}` - -`r if(stage_structured & survival_densdep & !survival_stagedep){"In this specific use case, survival is density dependent. Density dependence in survival is implemented as an exponential decay: - -$$\\sigma_{i} = \\sigma_{0,i}*e^{-C_{\\sigma}bN_{t}}$$ - -where $\\sigma_{i}$ is the survival probability of stage $i$, $\\sigma_{0,i}$ is its survival probability at low densities, $b$ is the strength of density dependence and $N_{t}$ is the total number of individuals in the local population at time $t$. To allow for the possibility of having different strengths of density dependence in different processes, we introduce the coefficient $C_{\\sigma}$, which scales the strength of density dependence in survival relative to the strength of density dependence $b$ in fecundity. -Bernoulli trials $Bern(\\sigma_{i})$ determine if an individual develops to the next stage or not. -"}` - -`r if(stage_structured & survival_densdep & survival_stagedep){"In this specific use case, survival is density dependent. Density and stage dependence in survival is implemented as an exponential decay: - -$$\\sigma_{i} = \\sigma_{0,i}*e^{-C_{\\sigma}b\\sum_{j = 1}^{S} \\omega_{ij}N_{j,t}}$$ - -where $\\sigma_{i}$ is the survival probability of stage $i$, $\\sigma_{0,i}$ is its survival probability at low densities, $b$ is the strength of density dependence, $S$ indicates the number of stage, $\\omega_{ij}$ is contribution of stage $j$ to the density dependence in the fecundity of stage $i$ and $N_{j,t}$ the number of individuals in stage $j$ at time $t$ (e.g. [@caswellSensitivityAnalysisEquilibrium2004]). To allow for the possibility of having different strengths of density dependence in different processes, we introduce the coefficient $C_{\\sigma}$, which scales the strength of density dependence in survival relative to the strength of density dependence $b$ in fecundity. -Bernoulli trials $Bern(\\sigma_{i})$ determine if an individual develops to the next stage or not. -"}` - -`r if(stage_structured & !develop_densdep & !develop_stagedep){"In this specific use case, development is neither density nor stage dependent. Bernoulli trials $Bern(\\gamma)$ determine if an individual develops to the next stage or not."}` -`r if(stage_structured & !survival_densdep & survival_stagedep){"In this specific use case, development is stage dependent. Bernoulli trials $Bern(\\gamma_{s})$ determine if an individual develops to the next stage or not. "}` - -`r if(stage_structured & develop_densdep & !develop_stagedep){"In this specific use case, development into higher stages is density dependent. Density dependence in development is implemented as an exponential decay: -$\\gamma_{i} = \\gamma_{0,i}*e^{-C_{\\gamma}bN_{t}}$ -where $\\gamma_{i}$ is the development probability of stage $i$, $\\gamma_{0,i}$ is its development probability at low densities, $b$ is the strength of density dependence and $N_{t}$ is the total number of individuals in the local population at time $t$. To allow for the possibility of having different strengths of density dependence in different processes, we introduce the coefficient $C_{\\gamma}$ scales the strength of density dependence in development relative to the strength of density dependence $b$ in fecundity. -Bernoulli trials $Bern(\\gamma_{i})$ determine if an individual develops to the next stage or not."}` - -`r if(stage_structured & develop_densdep & develop_stagedep){"In this specific use case, development into higher stages is density dependent. Density and stage dependence in development is implemented as an exponential decay: -$\\gamma_{i} = \\gamma_{0,i}*e^{-C_{\\gamma}b\\sum_{j = 1}^{S} \\omega_{ij}N_{j,t}}}$ -where $\\gamma_{i}$ is the development probability of stage $i$, $\\gamma_{0,i}$ is its development probability at low densities, $b$ is the strength of density dependence, $S$ indicates the number of stage, $\\omega_{ij}$ is contribution of stage $j$ to the density dependence in the fecundity of stage $i$ and $N_{j,t}$ the number of individuals in stage $j$ at time $t$ (e.g. [@caswellSensitivityAnalysisEquilibrium2004]). To allow for the possibility of having different strengths of density dependence in different processes, we introduce the coefficient $C_{\\gamma}$, which scales the strength of density dependence in development relative to the strength of density dependence $b$ in fecundity. -Bernoulli trials $Bern(\\gamma_{i})$ determine if an individual develops to the next stage or not. -"}` - -`r if(cell_based & local_ext_prob){"RangeShifter implements random local extinction probability. In each year, every population has an identical probability of going extinct. This does not affect the demographic parameter but simply kills-off the local population."}` - -## Emigration - -Emigration is the first phase of dispersal. It is modeled as the probability that an individual will leave its natal patch during the present year. `r if(stage_structured){"If a stage having non-zero $d$ can last for more than one year, an individual has multiple opportunities to emigrate, each with probability $d$, and hence the realised overall emigration rate will be larger than $d$."}` The emigration probability $d$ is `r if(!emigration_densdep){"density-independent, and hence constant. "}``r if(emigration_densdep & !stage_structured){"density dependent. It is given by the following function, introduced by Kun and Scheuring [-@kunEvolutionDensityDependentDispersal2006] - -$$d = \\dfrac{D_{0}}{1 + e^{-(N_{i,t}/K_{i,t}-\\beta)\\alpha}}$$ - -Here, $D_{0}$ is the maximum emigration probability, $\\beta$ is the inflection point of the function and $\\alpha$ is the slope at the inflection point. We chose this one because it is a flexible function that allows for modeling a range of different reaction norms, as well as their emergence through evolution. We assume individuals to have full knowledge of the population density and habitat quality in their natal patch. Information acquisition is not explicitly modeled in RangeShifter."}``r if(emigration_densdep & stage_structured){"density dependent. It is given by the following function, introduced by Kun and Scheuring [-@kunEvolutionDensityDependentDispersal2006] - -$$d = \\dfrac{D_{0}}{1 + e^{-(b_{i,t}N_{i,t}-\\beta)\\alpha}}$$ - -Here, $D_{0}$ is the maximum emigration probability, $\\beta$ is the inflection point of the function, $\\alpha$ is the slope at the inflection point and $b$ represents the strength of density dependence used for the population dynamics. We chose this one because it is a flexible function that allows for modeling a range of different reaction norms, as well as their emergence through evolution. We assume individuals to have full knowledge of the population density and habitat quality in their natal patch. Information acquisition is not explicitly modeled in RangeShifter."}` - -`r if(!emigration_sexdep & !emigration_stagedep){"The emigration probability is the same and fixed for every individual."}` - -`r if(emigration_sexdep & !emigration_stagedep & emigration_densdep){"Emigration probability is modelled sex-specific. Thus, each sex has different emigration parameters."}` - -`r if(emigration_stagedep & !emigration_sexdep & emigration_densdep){"Emigration probability is modelled stage-specific. Thus, each stage has different emigration parameters."}` - -`r if(emigration_stagedep & emigration_sexdep & emigration_densdep){"Emigration probability is modelled stage- and sex-specific. Thus, each stage and sex has different emigration parameters."}` - - -`r if(emigration_sexdep & !emigration_stagedep & !emigration_densdep){"Emigration probability is modelled sex-specific. Thus, each sex has different emigration parameter."}` - -`r if(emigration_stagedep & !emigration_sexdep & !emigration_densdep){"Emigration probability is modelled stage-specific. Thus, each stage has different emigration parameter."}` - -`r if(emigration_stagedep & emigration_sexdep & !emigration_densdep){"Emigration probability is modelled stage- and sex-specific. Thus, each stage and sex has different emigration parameter."}` - - -## Transfer - -`r if(cell_based){"Transfer is the second phase of dispersal, and consists of the movement of an individual starting from when it emigrates from its natal cell and ending with settlement in another cell or mortality. The main components of this phase are the individual movement ability and navigation capacity in response to the characteristics of the environment. The interaction between these components and their associated costs will determine the distance moved, the movement path and the chance of surviving the transfer phase."}` - -`r if(patch_based){"Transfer is the second phase of dispersal, and consists of the movement of an individual starting from when it emigrates from its natal patch and ending with settlement in another patch or mortality. The main components of this phase are the individual movement ability and navigation capacity in response to the characteristics of the environment. The interaction between these components and their associated costs will determine the distance moved, the movement path and the chance of surviving the transfer phase."}` - -`r if(dispersal_kernel){"The transfer phase is modeled as phenomenological dispersal kernel. The kernel is considered as 'distance kernel', i.e. the statistical distribution of the probability that an individual will move a certain distance [@hovestadtEvolutionEmergenceDispersal2012; @nathanDispersalKernelsReview2012]. The dispersal kernel is only applied to dispersing individuals. If the individual disperses, the distance and the movement direction are determined in continuous space."}` -`r if(dispersal_kernel_simple){"The distance is drawn from a negative exponential distribution with a given mean $\\delta$, and the direction is selected randomly from a uniform distribution between 0 and 2$\\pi$ radians."}` `r if(dispersal_kernel_mixed){"The distance an individual moves is sampled from a mixed kernel given by the combination of two negative exponentials with different means $\\delta_{1}$ and $\\delta_{2}$, occurring with probability $p$ and $1-p$ respectively (Hovestadt et al. 2011). The direction is selected randomly from a uniform distribution between 0 and 2$\\pi$ radians."}` -`r if(dispersal_kernel){"If the arrival point lies beyond the boundary of the landscape, distance and direction are re-drawn."}``r if(cell_based & dispersal_kernel){"The individual is displaced from a random point (using continuous coordinates) inside the natal cell to the arrival cell where the model switches back to discrete space [@bocediProjectingSpeciesRange2012a]. If the arrival point is inside the natal cell, individual starting position, distance and direction are re-sampled until the individual leaves the natal cell."}``r if(patch_based & dispersal_kernel){"The individual is assumed to disperse from a random point in the natal patch and this position, the dispersal distance and direction are drawn until the individual leaves the patch."}` - -`r if(dispersal_kernel & emigration_densdep){"In order to separate emigration and transfer explicitly, and to avoid potential infinite re-sampling, the program requires the mean of the kernel to be greater or equal the cell resolution."}` - -`r if(dispersal_kernel & !emigration_densdep){"The kernel is applied to the entire population without re-sampling. Individuals which draw a short movement distance do not leave the natal "}` -`r if(cell_based & dispersal_kernel & !emigration_densdep){"cell"}``r if(patch_based & dispersal_kernel & !emigration_densdep){"patch"}` -`r if(dispersal_kernel & !emigration_densdep){" and implicitly become sedentary, and therefore the kernel itself defines the proportion of individuals which emigrate."}` - -`r if(dispersal_kernel & !emigration_densdep & emigration_sexdep & emigration_stagedep){"The emigration probability for those stages and sexes which disperse is set to 1.0; otherwise, only a proportion of such individuals would use the kernel to determine whether or not they emigrate."}` - -`r if(dispersal_kernel & !emigration_densdep & emigration_sexdep & !emigration_stagedep){"The emigration probability for those sexes which disperse is set to 1.0; otherwise, only a proportion of such individuals would use the kernel to determine whether or not they emigrate."}` - -`r if(dispersal_kernel & !emigration_densdep & !emigration_sexdep & emigration_stagedep){"The emigration probability for those stages which disperse is set to 1.0; otherwise, only a proportion of such individuals would use the kernel to determine whether or not they emigrate."}` - -`r if(movement_model){"The movement model is fully individual-based and explicitly decribes the movement behaviour of individuals with a level of detail, and hence parameters, which is probably close to the most parsimonious for a mechanisctic movement model."}` - -`r if(movement_SMS){"The stochastic movement simulator (SMS) is a stochastic individual-based model where organisms move through the grid-based, landscape. The model uses similar cost surfaces as the least cost path (LCP) [@adriaensenApplicationLeastcostModelling2003; @chardonIncorporatingLandscapeElements2003; @stevensGeneFlowFunctional2006; @driezenEvaluatingLeastcostModel2007], but it relaxes two of the main assumptions/limitations of the latter. Firstly, individuals are not assumed to be omniscient, but move according to what they can perceive of the landscape within their perceptual range. Secondly, individuals do not know a priori their final destination, which is a reasonable assumption for dispersing individuals. Here, the core components of SMS are briefly described; see Palmer et al. [-@palmerIntroducingStochasticMovement2011] for a complete description of the method."}` -`r if(movement_SMS & habitat_type){"SMS uses cost maps where a relative cost to movement is assigned to each habitat type. Costs are integer numbers and represent the cost of moving through a particular land cover relative to the cost of moving through breeding habitat (conventionally set to a cost of 1). "}``r if(movement_SMS & habitat_quality){"SMS uses cost maps with a relative cost to movement is assigned to each habitat cell. Costs are integer numbers and represent the cost of moving through a particular cell relative to the cost of moving through breeding habitat (conventionally set to a cost of 1). "}` -`r if(movement_SMS){"Individuals take single-cell steps basing their decisions on three parameters: their perceptual range $PR$, the method used to evaluate the landscape within their perceptual range and their directional persistence $DP$, which corresponds to their tendency to follow a correlated random walk. The $PR$ is defined by a number of cells. At each step, the individual evaluates the surrounding habitat in order to determine the effective cost of taking a particular step to each of the eight neighbouring cells. The effective cost is a mean of the cost of the neighbouring cell and the surrounding cells beyond it within the $PR$, and is calculated by "}``r if(movement_SMS & movement_SMS_PRmethod == 1){"arithmetic mean."}``r if(movement_SMS & movement_SMS_PRmethod == 2){"harmonic mean."}``r if(movement_SMS & movement_SMS_PRmethod == 3){"weighted arithmetic mean."}` `r if(movement_SMS){"The effective cost of each neighbouring cell is weighted by the $DP$, which is lowest in the direction of travel. Specifically, $DP$ is raised to the power 4 in the direction of travel, to the power 3 at 45$^\\circ$ to the direction of travel and so on down to the power 0 at 180$^\\circ$ to the direction of travel. Thus, for example, if $DP$ is set to 3.0, an individual is 9 times more likely to continue in its current direction (assuming homogeneous costs) than it is to make a right-angle turn, and 81 times more likely to go straight on than to turn around and retrace its last move. $DP$ can be calculated over more steps that just the previous one (up to a maximum of 14), controlled by the memory size parameter $MemSize$ [@palmerInterindividualVariabilityDispersal2014; @abenSimpleIndividualbasedModels2014]. Increasing the memory size means that an individual retains for longer its tendency to move in a certain direction, and hence paths tend to become somewhat smoother. "}``r if(movement_SMS & goal_type==2){"A goal bias $GB$ was included, i.e. a tendency to move towards a particular destination [@abenSimpleIndividualbasedModels2014]. It is applied only in the â€negative’ sense of moving away from the natal location, i.e. as a dispersal bias, which is implemented in a similar way to $DP$ but relative to the direction from the natal site to the current location. Moreover, dispersal bias is subject to a decay in strength as a function of the accumulated number of steps taken. This enables a dispersal path to follow a straighter trajectory initially, and later become more tortuous and responsive to perceived landscape costs. The reciprocals of the product of effective cost, $DP$ and dispersal bias, scaled to sum to one, give the probabilities that the individual will move to each neighbouring cell."}` -`r if(movement_SMS & goal_type!=2){"The reciprocals of the product of effective cost and $DP$ , scaled to sum to one, give the probabilities that the individual will move to each neighbouring cell. "}``r if(movement_SMS){"All the dispersing individuals move simultaneously, i.e. at each time-step they all make one move."}` `r if(movement_SMS & patch_based){"the individual is forced to leave the natal patch by increasing its $DP$ ten-fold until it has taken a number of steps (equal to twice the perceptual range) outside the natal patch."}` - -`r if(movement_corrRW){"A simple correlated random walk without any bias is implemented. This model is implemented in continuous space on the top of the landscape grid. Individuals take steps of a constant step length (metres); the direction is sampled from a wrapped Cauchy distribution having a correlation parameter $\\rho$ in the range 0 to 1 [@zollnerSearchStrategiesLandscapeLevel1999; @bartonEvolutionIntelligentDispersal2009]. All individuals take each step simultaneously."}``r if(movement_corrRW & patch_based){"$\\rho$ is automatically set to 0.99 until the individual steps outside the natal patch, after which the value of $\\rho$ set by the user is restored."}` - -## Settlement - -Settlement, or immigration, is the last phase of dispersal, when the organism stops in a new `r if(cell_based){"cell"}``r if(patch_based){"patch"}` of breeding habitat. Dispersing individuals are not allowed to settle in their natal `r if(cell_based){"cell"}``r if(patch_based){"patch"}`. -`r if(dispersal_kernel){"Individuals are displaced directly from the starting location to the arrival location.The suitability of the arrival"}``r if(dispersal_kernel & cell_based){"cell"}``r if(dispersal_kernel & patch_based){"patch"}``r if(dispersal_kernel){"determines whether the disperser is successful or not."}` `r if(dispersal_kernel & !stage_structured & cell_based){"The model has two options if the arrival cell is unsuitable: the individual either dies or it can move to one of the eight neighbouring cells in the case that at least one of them is suitable. In the latter case, if more than one of the neighbouring cells is suitable, the individual is placed in one of them chosen randomly."}``r if(dispersal_kernel & !stage_structured & patch_based){"The model has two options if the arrival cell is unsuitable: the individual either dies or can move to a randomly chosen neighbouring suitable patch, provided that the new patch is only one cell apart from the arrival patch."}``r if(dispersal_kernel & stage_structured & cell_based){"The model has four options if the arrival cell is unsuitable: (1) the individual dies, (2) it can move to a randomly chosen neighboring suitable cell, (3) the individual can stay there waiting until the next dispersal event when it will disperse again according to the set kernel, (4) if both the arrival cell and all eight neighbouring cells are unsuitable the individual can wait in the arrival cell before moving again at the next dispersal event."}``r if(dispersal_kernel & stage_structured & patch_based){"The model has four options if the arrival cell is unsuitable: (1) the individual dies, (2) it can move to a randomly chosen neighbouring suitable patch, provided that the new patch is only one cell apart from the arrival patch, (3) the individual can stay there waiting until the next dispersal event when it will disperse again according to the set kernel, (4) if both the arrival patch and all eventual neighbouring patches are unsuitable the individual can wait in the arrival patch before moving again at the next dispersal event."}` -`r if(dispersal_kernel & cell_based){"The arrival cell is considered suitable if it contains breeding habitat. "}` `r if(dispersal_kernel & patch_based){"The arrival patch is considered suitable if it contains breeding habitat. "}` `r if(dispersal_kernel & cell_based & mate_finding){"Additionally, individuals are required to find a mate, i.e. there has to be at least one individual of the opposite sex present for the cell to be considered suitable for settlement."}` `r if(dispersal_kernel & patch_based & mate_finding){"Additionally, individuals are required to find a mate, i.e. there has to be at least one individual of the opposite sex present for the patch to be considered suitable for settlement."}` - -`r if(movement_model & cell_based){"At each step (made simultaneously) dispersing individuals each evaluate their current cell for the possibility of settling."}` `r if(movement_model & patch_based){"At each step (made simultaneously) dispersing individuals each evaluate their current patch for the possibility of settling. "}` `r if(movement_model){"The individual decides to stop if there is suitable habitat; this is a necessary condition. "}``r if(movement_model & settlement_densdep){"Additionally, the settlement decision is density-dependent. The individual has a probability $p_{s}$ of settling in the "}` `r if(movement_model & settlement_densdep & cell_based){"cell"}``r if(movement_model & settlement_densdep & patch_based){"patch"}``r if(movement_model & settlement_densdep){" $i$, given by:"}` -`r if(movement_model & settlement_densdep & !stage_structured & cell_based){" - -$$p_{s} = \\dfrac{S_{0}}{1+e^{-(N_{i}/K_{i}-\\beta_{i})*\\alpha_{s}}}$$ - -Here, $N_{i}$ and $K_{i}$ are the number of individuals and the carrying capacity of the cell $i$, $S_{0}$ is the maximum settlement probability, $\\beta_{s}$ is the inflection point and $\\alpha_{s}$ is the slope of the function."}` -`r if(movement_model & settlement_densdep & !stage_structured & patch_based){" - -$$p_{s} = \\dfrac{S_{0}}{1+e^{-(N_{i}/K_{i}-\\beta_{i})*\\alpha_{s}}}$$ - -Here, $N_{i}$ and $K_{i}$ are the number of individuals and the carrying capacity of the patch $i$, $S_{0}$ is the maximum settlement probability, $\\beta_{s}$ is the inflection point and $\\alpha_{s}$ is the slope of the function."}` -`r if(movement_model & settlement_densdep & stage_structured & cell_based){" - -$$p_{s} = \\dfrac{S_{0}}{1+e^{-(bN_{i}-\\beta_{i})*\\alpha_{s}}}$$ - -Here, $N_{i}$ is the number of individuals of the cell $i$, $b$ represents the strength of density dependence used for the population dynamics, $S_{0}$ is the maximum settlement probability, $\\beta_{s}$ is the inflection point and $\\alpha_{s}$ is the slope of the function."}` -`r if(movement_model & settlement_densdep & stage_structured & patch_based){" - -$$p_{s} = \\dfrac{S_{0}}{1+e^{-(bN_{i}-\\beta_{i})*\\alpha_{s}}}$$ - -Here, $N_{i}$ is the number of individuals of the patch $i$, $b$ represents the strength of density dependence used for the population dynamics, $S_{0}$ is the maximum settlement probability, $\\beta_{s}$ is the inflection point and $\\alpha_{s}$ is the slope of the function."}` -`r if(movement_model & settlement_densdep & cell_based & mate_finding){"Individuals are required to find a mate in order to settle. This requirement is satisfied if there is at least one individual of the opposite sex in the cell."}` -`r if(movement_model & settlement_densdep & patch_based & mate_finding){"Individuals are required to find a mate in order to settle. This requirement is satisfied if there is at least one individual of the opposite sex in the patch."}` - -`r if(step_mortality | max_steps){"To avoid having individuals moving perpetually because they cannot find suitable conditions to settle, the model includes "}``r if(step_mortality & max_steps){"a per-step mortality and a maximum number of steps."}``r if(step_mortality & !max_steps){"a per-step mortality."}``r if(!step_mortality & max_steps){"a maximum number of steps."}` `r if(max_steps){"The maximum number of steps defines the maximum time length of the transfer period. When an individual reaches the maximum number of steps, it stops where it is regardless of the suitability of the location."}``r if(max_steps & !stage_structured){"This results in automatic death if the individual stops in unsuitable habitat."}``r if(max_steps & stage_structured){"In the next season, if still alive, it will move again."}` - -`r if(min_steps){"Additionally, a minimum number of steps that each individual must take before settlement is set simulating situations where animals, in a â€dispersal mode’, will keep moving and not consider settling even if suitable conditions are available (e.g. [@bartonRiskyMovementIncreases2012])."}` -`r if(settlement_sexdep & settlement_stagedep){"Settlement rules are sex- and stage-specific."}` -`r if(settlement_sexdep & !settlement_stagedep){"Settlement rules are sex-specific."}` -`r if(!settlement_sexdep & settlement_stagedep){"Settlement rules are stage-specific."}` - -## Aging - -Aging occurs at the end of each year. - -# Model parameter settings of the specific use case - -```{r echo=F, include=T} -# create a data.frames with all the parameter settings -# help function to transform any arrays to latex - array_to_LaTeX <- function(arr){ - rows <- apply(arr, MARGIN=1, paste, collapse = " & ") - matrix_string <- paste(rows, collapse = " \\\\ ") - return(paste("$$\\begin{bmatrix}", matrix_string, "\\end{bmatrix}$$")) - } - -range <- paste(s@init@minX, s@init@maxX, s@init@minY, s@init@maxY) -PropStages <- as.vector(s@init@PropStages) -res <- toString(PropStages) -if(real_land){ - nb_landscapes <- length(s@land@LandscapeFile) - # LandscapeFile <- as.vector(s@land@LandscapeFile) - - Nhabitats <- as.vector(s@land@Nhabitats) - Nhabitats <- toString(Nhabitats) - - K_or_DensDep <- as.vector(s@land@K_or_DensDep) - K_or_DensDep <- toString(K_or_DensDep) - - PatchFile <- as.vector(s@land@PatchFile) - PatchFile <- toString(PatchFile) - - CostsFile <- as.vector(s@land@CostsFile) - CostsFile <- toString(CostsFile) - - DynamicLandYears <- as.vector(s@land@DynamicLandYears) - DynamicLandYears <- toString(DynamicLandYears) -} - -if(stage_structured){ - # prepare transition matrix for output - matrix <- array_to_LaTeX(s@demog@StageStruct@TransMatrix) - - # prepare minage for output - MinAge <-toString(s@demog@StageStruct@MinAge) - - # prepare weight matrices for output - if(s@demog@StageStruct@FecStageWts){ - FecStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@FecStageWtsMatrix) - } else {FecStageWtsMatrix="Not selected."} - - if(s@demog@StageStruct@DevStageWts){ - DevStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@DevStageWtsMatrix) - } else {DevStageWtsMatrix="Not selected."} - - if(s@demog@StageStruct@SurvStageWts){ - SurvStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@SurvStageWtsMatrix) - } else {SurvStageWtsMatrix="Not selected."} -} - -if(class(s@dispersal@Emigration@EmigProb)[1]=="matrix"){ - emigprob <- array_to_LaTeX(s@dispersal@Emigration@EmigProb) -} else emigprob <- s@dispersal@Emigration@EmigProb - -if(dispersal_kernel){ - if(class(s@dispersal@Transfer@Distances=="matrix")){ - Distances <- array_to_LaTeX(s@dispersal@Transfer@Distances) - }else Distances <- s@dispersal@Transfer@Distances -} - - - -if(movement_SMS){ - if(class(s@dispersal@Transfer@Costs)=="numeric"){ - Costs <- toString(s@dispersal@Transfer@Costs) - }else Costs <- as.character(s@dispersal@Transfer@Costs) - - if(length(s@dispersal@Transfer@StepMort)>1){ - StepMort_SMS <- toString(s@dispersal@Transfer@StepMort) - } else StepMort_SMS <- s@dispersal@Transfer@StepMort -} - -if(movement_corrRW){ - if(length(s@dispersal@Transfer@StepMort)>1){ - StepMort_CorrRW <- toString(s@dispersal@Transfer@StepMort) - } else StepMort_CorrRW <- s@dispersal@Transfer@StepMort -} - -Settle<- array_to_LaTeX(s@dispersal@Settlement@Settle) - - -Simulation <- data.frame( - "Parameter "=c( - "Year", - "Replicates", - "Absorbing","", - "LocalExt", - "LocalEctProb", - "EnvStoch", "", - "EnvStochType", "", "", - "std", - "ac", - "minR", - "maxR", - "minK", - "maxK", - "OutIntRange", - "OutIntOcc", - "OutIntPop", - "OutIntInd", - "OutIntConn", - "OutIntPaths", - "OutStartPop", - "OutStartInd", - "OutStartConn", - "OutStartPaths", - "SMSHeatMap" - ), - "Description"=c( - "Number of simulated years", - "Number of simulation iterations", - "Whether non-valid cells lead to direct", "mortality of the individual during transfer", - "Local extinction", - "Local extinction probability", - "Environmental stochasticity", "(0: none, 1: global, 2: local)", - "Parameter on which environmental", "stochasticity acts (0: growth rate/fecundity,", "1: demographic density dependence)", - "Magnitude of stochastic fluctuations", - "Temporal autocorrelation coefficient", - "Minimum growth rate", - "Maximum growth rate", - "Minimum density dependence value", - "Maximum density dependence value", - "Output of range file", - "Output of occupancy file", - "Output of population file", - "Output of individual file", - "Output of connectivity file", - "Output of SMS paths file", - "Starting year for output population file", - "Starting year for output individual file", - "Starting year for output connectivity file", - "Starting year for output SMS paths file", - "Output SMS heat map raster file" - ), - "Values"=c( - as.character(s@simul@Years), - as.character(s@simul@Replicates), - as.character(s@simul@Absorbing),"", - as.character(s@simul@LocalExt), - as.character(s@simul@LocalExtProb), - as.character(s@simul@EnvStoch), "", - as.character(s@simul@EnvStochType), "", "", - as.character(s@simul@std), - as.character(s@simul@ac), - as.character(s@simul@minR), - as.character(s@simul@maxR), - as.character(s@simul@minK), - as.character(s@simul@maxK), - as.character(s@simul@OutIntRange), - as.character(s@simul@OutIntOcc), - as.character(s@simul@OutIntPop), - as.character(s@simul@OutIntInd), - as.character(s@simul@OutIntConn), - as.character(s@simul@OutIntPaths), - as.character(s@simul@OutStartPop), - as.character(s@simul@OutStartInd), - as.character(s@simul@OutStartConn), - as.character(s@simul@OutStartPaths), - as.character(s@simul@SMSHeatMap)) - ) - -Initialisation <- data.frame( - "Parameter "=c( - "InitType", "", "", "", - "FreeType", "", "", - "NrCells", - "SpType", "", "", "", "", - "InitIndsFile", - "InitDens", "", "", "", - "IndsHaCell", - "PropStages", - "InitAge", "", "", "", "", - "minX, maxX, minY, maxY", - "InitFreezeYear", "", - "RestrictRows", "", - "RestrictFreq", "", - "FinalFreezeYear", "", "" - ), - "Description "=c( - "Type of initialisation", "(0: free initialisation according to habitat map,", "1: from loaded species distribution map, ", "2: from initial individuals list file)", - "Option for free initialisation ", "(0: random in given number of cells, ", "1: all suitable cells/patches)", - "Number of cells to initialise", - "Option for initialisation from ", "species distribution map (0: all suitable cells within ", "all distribution presence cells, ", "1: all suitable cells within given ", "number of randomly chosen presence cells)", - "Name if the initial individuals list file", - "Number of individuals seeded in each cell/patch ", "(0: at demographic density dependence, ", "1: at half of the demographic density dependence, ", "2: according to quasi-equilibrium distribution)", - "Specified number of individuals per hectare", - "Proportion of initialised individuals in each stage", - "Initial age distribution ","(0: minimum age for the respective stage, ","1: random age between the minimum ","and maximum age for the respective stage, ","2: according to a quasi-equilibrium distribution)", - "Restrict initial range", - "Year until which species is ","confined to its initial range limits", - "Number of rows at northern ","front to restrict range.", - "Frequency in years at which ","range is restricted to northern front.", - "The year after which species is ","confined to its new, current range limits, ","after a period of range expansion." - ), - "Values"=c( - as.character(s@init@InitType), "", "", "", - as.character(s@init@FreeType), "", "", - as.character(s@init@NrCells), - as.character(s@init@SpType), "", "", "", "", - as.character(s@init@InitIndsFile), - as.character(s@init@InitDens), "", "", "", - as.character(s@init@IndsHaCell), - res, - as.character(s@init@InitAge), "", "", "", "", - range, - as.character(s@init@InitFreezeYear), "", - as.character(s@init@RestrictRows), "", - as.character(s@init@RestrictFreq), "", - as.character(s@init@FinalFreezeYear), "", "") - ) - -if(real_land){ - Landscape <- data.frame( - "Parameter "=c( - "Landscape file", - rep("", nb_landscapes-1), - "Resolution", - "HabPercent", - "NHabitats", - "K_or_DensDep", - "PatchFile", - "CostsFile", - "DynamicLandYears", - "SpDistFile", - "SpDistResolution" - ), - "Description "=c( - "Filename(s) of the landscape map(s)", - rep("", nb_landscapes-1), - "Resolution in meters", - "Whether habitat types/codes or habitat cover/quality", - "Number of different habitat codes", - "Demographic density dependence", - "Filename(s) of the patch map(s)", - "Filename(s) of the SMS cost map(s)", - "Years of landscape changes", - "Filename of the species initial distribution map", - "Resolution of the distribution map in meters" - ), - "Values"=c( - rep("", nb_landscapes), - s@land@Resolution, - s@land@HabPercent, - Nhabitats, - K_or_DensDep, - "", # PatchFile, - "", # CostsFile, - DynamicLandYears, - "",# s@land@SpDistFile, - s@land@SpDistResolution - )) -} - -if(arti_land){ - Landscape <- data.frame( - "Parameter "=c( - "propSuit", - "K_orDensDep", - "Resolution", - "dimX", - "dimY", - "fractal", - "hurst", - "continuous", - "minPct", - "maxPct" - ), - "Description "=c( - "Proportion of suitable habitat cells", - "Demographic density dependence", - "Resolution in meters", - "Number of cells along the x-axis", - "Number of cells along the y-axis", - "Whether a random or fractal landscape is generated", - "Hurst exponent", - "Continuous or binary habitat", - "Minimum percentage of habitat cover within a cell", - "Maximum percentage of habitat cover within a cell" - ), - "Values"=c( - s@land@propSuit, - s@land@K_or_DensDep, - s@land@Resolution, - s@land@dimX, - s@land@dimY, - s@land@fractal, - s@land@continuous, - s@land@minPct, - s@land@maxPct - )) -} - -if(s@demog@Rmax>0){ - Demography <- data.frame( - "Parameter"=c( - "Rmax", "", - "bc", "", - "ReproductionType","", "", "", - "PropMales", - "Harem" - ), - "Description"=c( - "Maximum growth rate ","(number of offspring per female at very low density)", - "Competition coefficient ","(describes the type of density regulation)", - "Decribes the reproduction type ","(0: asexual/only female; ","1: simple sexual model; ","2: sexual model with explicit mating system)", - "Proportion of males in the population", - "Maximum harem size" - ), - "Values"=c( - as.character(s@demog@Rmax), "", - as.character(s@demog@bc),"", - as.character(s@demog@ReproductionType),"", "", "", - as.character(s@demog@PropMales), - as.character(s@demog@Harem) - ) - ) -} - -if(s@demog@Rmax<0){ - Demography <- data.frame( - "Parameter "=c( - "Stages", - "TransMatrix","", "", "", - "MaxAge", - "MinAge","", "", - "RepSeasons", - "RepInterval","","", - "PRep","", - "SurvSched","","", - "FecDensDep","", - "DevDensDep","", - "SurvDensDep","", - "DevDensCoeff","", - "SurvDensCoeff","", - "FecStageWtsMatrix","", - "DevStageWtsMatrix","", - "SurvStageWtsMatrix","", - "PostDestrictn","","", - "ReproductionType","","", - "PropMales", - "Harem" - ), - "Description"=c( - "Number of life stages", - "Transition matrix. ","Defines the development probabilities ","from each stage into the next as well as the ","respective survival probabilities and fecundities", - "Maximum age in years", - "Ages which an individual in stage ","i-1 must already have reached before ","it can develop into the next stage i.", - "Number of potential reproduction events per year", - "Number of reproductive seasons ","which must be missed following a reproduction attempt ","before another reproduction attempt may occur", - "Probability of reproducing in ","subsequent reproductive seasons", - "Scheduling of survival ","(0: at reproduction, 1: between reproductive events, ","2: annually)", - "whether density dependent ","fecundity probability is modelled", - "Whether density dependent ","development probability is modelled", - "Whether density dependent ","survival probability is modelled", - "Relative density dependence ","coefficient for development", - "Relative density dependence ","coefficient for survival", - "Stage-dependent weights ","in density dependence of fecundity", - "Stage-dependent weights ","in density dependence of development", - "Stage dependent weights ","in density dependence of survival", - "Whether individuals of a population "," die (FALSE) or disperse (TRUE) ","if its patch gets destroyed", - "Decribes the reproduction type ","(0: asexual/only female; 1: simple sexual model; ","2: sexual model with explicit mating system)", - "Proportion of males in the population", - "Maximum harem size" - ), - "Values"=c( - s@demog@StageStruct@Stages, - matrix,"", "", "", - s@demog@StageStruct@MaxAge, - MinAge,"", "", - s@demog@StageStruct@RepSeasons, - s@demog@StageStruct@RepInterval,"","", - s@demog@StageStruct@PRep,"", - s@demog@StageStruct@SurvSched,"","", - s@demog@StageStruct@FecDensDep,"", - s@demog@StageStruct@DevDensDep,"", - s@demog@StageStruct@SurvDensDep,"", - s@demog@StageStruct@DevDensCoeff,"", - s@demog@StageStruct@SurvDensCoeff,"", - FecStageWtsMatrix,"", - DevStageWtsMatrix,"", - SurvStageWtsMatrix,"", - s@demog@StageStruct@PostDestructn,"","", - s@demog@ReproductionType,"","", - s@demog@PropMales, - s@demog@Harem - ) - ) -} - -# create df for each type of transfer - -# DispersalKernel -if(dispersal_kernel){ - transfer <- data.frame("Parameter"=c( - "Type", - "Distances","","", - "DoubleKernel", - "SexDep", - "StageDep", - "DistMort", - "MortProb", - "InflPoint", - "Slope"), - "Description"=c( - "Type of transfer", - "Matrix containing all dispersal kernel parameters","(#columns) for each stage/sex (#rows).", "Its structure depends on the other parameters.", - "Use a mixed (i.e. double negative exponential) kernel?", - "Sex-dependent dispersal kernel?", - "Stage-dependent dispersal kernel?", - "Distance-dependent mortality probability?", - "Constant mortality probability", - "Inflection point for the mortality distance dependence function.", - "Slope at inflection point for the mortality distance dependence function." - ), - "Values"=c( - as.character(class(s@dispersal@Transfer)), - Distances,"","", - as.character(s@dispersal@Transfer@DoubleKernel), - as.character(s@dispersal@Transfer@SexDep), - as.character(s@dispersal@Transfer@StageDep), - as.character(s@dispersal@Transfer@DistMort), - as.character(s@dispersal@Transfer@MortProb), - as.character(s@dispersal@Transfer@InflPoint), - as.character(s@dispersal@Transfer@Slope) - ) - ) -} - -if(movement_SMS){ - transfer <- data.frame("Parameter"=c( - "Type", - "PR", - "PRMethod","","","","","", - "MemSize","","", - "DP","", - "GoalType","", - "GoalBias", - "AlphaDB", - "BetaDB", - "Costs","","","", - "StepMort", - "StraightenPath" - ), - "Description"=c( - "Type of transfer", - "Perceptual range", - "Method to evaluate the effective cost"," of a particular step from the landdscape"," within the perceptual range:", "1: Arithmetic mean", "2: Harmonic mean", "Weighted arithmetic mean", - "Size of memory, given as the number of previous steps"," over which to calculate current direction"," to apply directional persistence", - "Directional persistence. Corresponds to the","tendency to follow a correlated random walk.", - "Goal bias type","0: None, 2: dispersal bias", - "Goal bias strength", - "Dispersal bias decay rate", - "Dispersal bias decay inflection point (number of steps)", - "Describes the landscapes resistance to movement:","Either habitat-specific costs for each habitat type","or 'file', to indictae to use the cost raster map(s)","specified in the landscape module.", - "Per-step mortality probability: constant or habitat-specific", - "Straighten path after decision not to settle in a patch?" - ), - "Values"=c( - as.character(class(s@dispersal@Transfer)), - s@dispersal@Transfer@PR, - s@dispersal@Transfer@PRMethod,"","","","","", - s@dispersal@Transfer@MemSize,"","", - s@dispersal@Transfer@DP,"", - s@dispersal@Transfer@GoalType,"", - s@dispersal@Transfer@GoalBias, - s@dispersal@Transfer@AlphaDB, - s@dispersal@Transfer@BetaDB, - Costs,"","","", - StepMort_SMS, - as.character(s@dispersal@Transfer@StraightenPath) - )) -} - -if(movement_corrRW) { - transfer <- data.frame("Parameter"=c( - "Type", - "StepLength", - "Rho", - "StraightenPath", - "StepMort" - ), - "Description"=c( - "Type of transfer", - "Step length given in meters", - "Correlation parameter", - "Straighten path after decision not to settle in a patch?", - "Per-step mortality probability: constant or habitat-specific" - ), - "Values"=c( - as.character(class(s@dispersal@Transfer)), - s@dispersal@Transfer@StepLength, - s@dispersal@Transfer@Rho, - s@dispersal@Transfer@StraightenPath, - StepMort_CorrRW - ) - ) -} - - -Dispersal <- data.frame( - "Process "=c( - "Emigration ","", "","","", - # "Transfer ", rep("",nrow(transfer)-1), - "Settlement ", if(!dispersal_kernel){rep("",8)} else{rep("",5)} - ), - "Parameter "=c( - # Emigration - "EmigProb", # can be Matrix or single value - "SexDep", - "StageDep", - "DensDep", - "UseFullKern", - #Transfer - # transfer$Parameter, - "DensDep", - "SexDep", - "StageDep", - "Settle","",if(dispersal_kernel){rep("",4)}, - if(!dispersal_kernel){c("MinSteps", - "MaxSteps", - "MaxStepsYear")}, - "FindMate" - ), - "Description "=c( - #Emigration - "Emigration probabilities/parameters for each stage/sex", - "Sex-dependent emigration probability?", - "Stage-dependent emigration probability?", - "Density-dependent emigration probability?", - "Shall the emigration probability be derived from dispersal kernel?", - #Transfer - # transfer$Description, - #Settlement - "Density-dependent settlement requirements?", - "Sex-dependent settlement requirements?", - "Stage-dependent settlement requirements?", - if(dispersal_kernel){"Settlement codes (for DispersalKernel)"} - else {"Settlement probability parameters"} - ,"for all stages/sexes.", - if(dispersal_kernel){c("0 = die (default)","1 = wait (stage-structured models only)","2 = randomly choose a suitable neighbouring cell or die","3 = randomly choose a suitable neighbouring cell"," or wait (stage-structured models only)")}, - if(!dispersal_kernel){c("Minimum number of steps", - "Maximum number of steps", - "Maximum number of steps per year")}, - "Mating requirements to settle?" - ), - "Values"=c( - #emigration - emigprob, - as.character(s@dispersal@Emigration@SexDep), - as.character(s@dispersal@Emigration@StageDep), - as.character(s@dispersal@Emigration@DensDep), - as.character(s@dispersal@Emigration@UseFullKern), - #Transfer - # transfer$Values, - #Settlement - as.character(s@dispersal@Settlement@DensDep), - as.character(s@dispersal@Settlement@SexDep), - as.character(s@dispersal@Settlement@StageDep), - Settle, if(dispersal_kernel){rep("",6)} else{""}, - if(movement_model){c(s@dispersal@Settlement@MinSteps, - s@dispersal@Settlement@MaxSteps, - s@dispersal@Settlement@MaxStepsYear) - }, - toString(s@dispersal@Settlement@FindMate) - ) -) -# delete all off-switches -Landscape <- Landscape[Landscape$Values!=-9 & Landscape$Values!="NULL",] -rownames(Landscape) <- NULL -Demography <- Demography[Demography$Values!=-9 & Demography$Values!="NULL",] -rownames(Demography) <- NULL -Initialisation <- Initialisation[Initialisation$Values!=-9 & Initialisation$Values!="NULL" & Initialisation$Values!="-9 -9 -9 -9",] -rownames(Initialisation) <- NULL -Simulation <- Simulation[Simulation$Values!=-9,] -rownames(Simulation) <- NULL - -# TODO: delete unset/unused variables -knitr::kable(Simulation, col.names = gsub("[.]", " ", names(Simulation)), caption = 'Simulation parameters') -knitr::kable(Landscape, col.names = gsub("[.]", " ", names(Landscape)), caption = 'Landscape parameters') -knitr::kable(Demography, col.names = gsub("[.]", " ", names(Demography)), caption = 'Demography parameters') -knitr::kable(Dispersal, col.names = gsub("[.]", " ", names(Dispersal)), caption = 'Dispersal parameters') -knitr::kable(Initialisation, col.names = gsub("[.]", " ", names(Initialisation)), caption = 'Initialisation parameters') -``` - -# References \ No newline at end of file diff --git a/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/style-template.docx b/RangeShiftR/inst/rmarkdown/templates/odd_protocol/skeleton/style-template.docx deleted file mode 100644 index 6e6e260e4a4b8317a1bd22cbbcec448b76c46665..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162097 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

m7546k`m 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 k`RAX~Zyf$1{d+c2lz{}^+UK_o4I~Hx1SHW3czr - A description of the template -create_dir: FALSE diff --git a/RangeShiftR/inst/rmarkdown/templates/parameter_table/skeleton/skeleton.Rmd b/RangeShiftR/inst/rmarkdown/templates/parameter_table/skeleton/skeleton.Rmd deleted file mode 100644 index 8c02f66..0000000 --- a/RangeShiftR/inst/rmarkdown/templates/parameter_table/skeleton/skeleton.Rmd +++ /dev/null @@ -1,765 +0,0 @@ ---- -title: "Model parameter settings of the specific use case" -output: - word_document: - toc: FALSE - pdf_document: - latex_engine: xelatex - md_document: - toc: FALSE ---- - -```{r setup, include=T, echo=F} -knitr::opts_chunk$set(echo = TRUE) - -# Environmental stochasticity -environmental_stochasticity <- F -env_stoch_loc <- F -env_stoch_K <- F -env_stoch_R <- F - -# Outputs -output_range <- F -output_occ <- F -output_pop <- F -output_ind <- F -output_conn <- F -output_paths <- F -output_heatmaps <-F - -# landscape parameters -local_ext_prob <- F -arti_land <- F -arti_land_continuous <- F -real_land <- F -cell_based <- FALSE -patch_based <- F -habitat_type <- FALSE -habitat_quality <- F -dynamic_landscape <- F -resolution <- "" - -#population dynamics -stage_structured <- F -sexual <- F -only_female <- F -asexual <- F -rep_seasons <- 1 -rep_interval <- 0 -mating_simple <- F -mating_complex <- F -demography_sexdep <- F -repro_densdep <- F -repro_stagedep <- F -survival_densdep <- F -survival_stagedep <- F -survival_schedule <- 1 -develop_densdep <- F -develop_stagedep <- F - -# transfer TODO: check ups, e.g. if SMS T -> movement_model T -dispersal_kernel <- F -dispersal_kernel_simple <- F -dispersal_kernel_mixed <- F -movement_model <- F -movement_SMS <- F -movement_corrRW <- F -movement_cost <- F -movement_cost_file <- F -movement_SMS_PRmethod <- 0 -goal_type <- 0 - -# settlement -max_steps <- F -min_steps <- F -step_mortality <- F -mate_finding <- F -settlement_densdep <- F -settlement_stagedep <- F -settlement_sexdep <- F - -# emigration -emigration_densdep <- F -emigration_sexdep <- F -emigration_stagedep <- F - -research_question <- NULL # Please add your research question here [In parentheses "your text"] - -# environmental stochasticity -if(s@simul@EnvStoch==0) environmental_stochasticity <- F -if(s@simul@EnvStoch==1) {environmental_stochasticity <- T; env_stoch_loc <- F} -if(s@simul@EnvStoch==2) {environmental_stochasticity <- T; env_stoch_loc <- T} -if(s@simul@EnvStochType==0) {env_stoch_R <- T; env_stoch_K <- F} -if(s@simul@EnvStochType==1) {env_stoch_R <- F; env_stoch_K <- T} - -# outputs -if(s@simul@OutIntRange>=1) output_range <- T -if(s@simul@OutIntOcc>=1) output_occ <- T -if(s@simul@OutIntPop>=1) output_pop <- T -if(s@simul@OutIntInd>=1) output_ind <- T -if(s@simul@OutIntConn>=1) output_conn <- T -if(s@simul@OutIntPaths>=1) output_paths <- T -if(s@simul@SMSHeatMap>=1) output_heatmaps <- T - -# landscape -if(class(s@land)=="ArtificialLandscape") { - arti_land <- T - if (s@land@continuous) arti_land_continuous <- T - } -if(class(s@land)=="ImportedLandscape") real_land <- T -if(class(s@land)=="ImportedLandscape" & length(s@land@DynamicLandYears)>1) dynamic_landscape <- T -if(length(s@land@PatchFile)==0) cell_based <- T -if(length(s@land@PatchFile)!=0) patch_based <- T -if(s@land@HabPercent) habitat_quality <- T else habitat_type <- T -if(s@simul@LocalExt) local_ext_prob <- T - -resolution <- paste(s@land@Resolution, "m x ", s@land@Resolution,"m", sep="") - -# demography -if(s@demog@ReproductionType==0) {asexual <- T; only_female <- T} -if(s@demog@ReproductionType==1) {sexual <- T; mating_simple <- T} -if(s@demog@ReproductionType==2) {sexual <- T; mating_complex <- T} -if(s@demog@Rmax<0){ - stage_structured <- T - survival_schedule <- s@demog@StageStruct@SurvSched - rep_seasons <- s@demog@StageStruct@RepSeasons - rep_interval <- s@demog@StageStruct@RepInterval - if(s@demog@StageStruct@FecDensDep) repro_densdep <- T - if(s@demog@StageStruct@SurvDensDep) survival_densdep <- T - if(s@demog@StageStruct@DevDensDep) develop_densdep <- T - if(s@demog@StageStruct@FecStageWts) repro_stagedep <- T - if(s@demog@StageStruct@SurvStageWts) survival_stagedep <- T - if(s@demog@StageStruct@DevStageWts) develop_stagedep <- T -} - -# dispersal -# emigration -if(s@dispersal@Emigration@DensDep) emigration_densdep <- T -if(s@dispersal@Emigration@SexDep) emigration_sexdep <- T -if(s@dispersal@Emigration@StageDep) emigration_stagedep <- T - -# transfer -if(class(s@dispersal@Transfer)=="DispersalKernel") { - dispersal_kernel <- T - if(s@dispersal@Transfer@DoubleKernel) {dispersal_kernel_mixed <- T} else {dispersal_kernel_simple <- T} -} -if(class(s@dispersal@Transfer)=="CorrRW") { - movement_model <- T - movement_corrRW <- T - if(length(s@dispersal@Transfer@StepMort)>1){ - step_mortality <- T - } else if (s@dispersal@Transfer@StepMort>0){ - step_mortality <- T - } - if(s@dispersal@Settlement@MinSteps>0) min_steps <- T - if(s@dispersal@Settlement@MaxSteps>0) max_steps <- T -} - -if(class(s@dispersal@Transfer)=="StochMove"){ - movement_model <- T - movement_SMS <- T - goal_type <- s@dispersal@Transfer@GoalType - if(sum(s@dispersal@Transfer@Costs)>0) movement_cost <- T - if(!is.null(s@land@CostsFile)) {movement_cost_file <- T; movement_cost <- T} - if(length(s@dispersal@Transfer@StepMort)>1){ - step_mortality <- T - } else if (s@dispersal@Transfer@StepMort>0){ - step_mortality <- T - } - movement_SMS_PRmethod <- s@dispersal@Transfer@PRMethod - if(s@dispersal@Settlement@MinSteps>0) min_steps <- T - if(s@dispersal@Settlement@MaxSteps>0) max_steps <- T -} - -# settlement -if(s@dispersal@Settlement@DensDep) settlement_densdep <- T -if(s@dispersal@Settlement@SexDep) settlement_sexdep <- T -if(s@dispersal@Settlement@StageDep) settlement_stagedep <- T -if(any(s@dispersal@Settlement@FindMate)) mate_finding <- T - -# create a data.frames with all the parameter settings -# help function to transform any arrays to latex - array_to_LaTeX <- function(arr){ - rows <- apply(arr, MARGIN=1, paste, collapse = " & ") - matrix_string <- paste(rows, collapse = " \\\\ ") - return(paste("$$\\begin{bmatrix}", matrix_string, "\\end{bmatrix}$$")) - } - -range <- paste(s@init@minX, s@init@maxX, s@init@minY, s@init@maxY) -PropStages <- as.vector(s@init@PropStages) -res <- toString(PropStages) -if(real_land){ - nb_landscapes <- length(s@land@LandscapeFile) - # LandscapeFile <- as.vector(s@land@LandscapeFile) - - Nhabitats <- as.vector(s@land@Nhabitats) - Nhabitats <- toString(Nhabitats) - - K_or_DensDep <- as.vector(s@land@K_or_DensDep) - K_or_DensDep <- toString(K_or_DensDep) - - PatchFile <- as.vector(s@land@PatchFile) - PatchFile <- toString(PatchFile) - - CostsFile <- as.vector(s@land@CostsFile) - CostsFile <- toString(CostsFile) - - DynamicLandYears <- as.vector(s@land@DynamicLandYears) - DynamicLandYears <- toString(DynamicLandYears) -} - -if(stage_structured){ - # prepare transition matrix for output - matrix <- array_to_LaTeX(s@demog@StageStruct@TransMatrix) - - # prepare minage for output - MinAge <-toString(s@demog@StageStruct@MinAge) - - # prepare weight matrices for output - if(s@demog@StageStruct@FecStageWts){ - FecStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@FecStageWtsMatrix) - } else {FecStageWtsMatrix="Not selected."} - - if(s@demog@StageStruct@DevStageWts){ - DevStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@DevStageWtsMatrix) - } else {DevStageWtsMatrix="Not selected."} - - if(s@demog@StageStruct@SurvStageWts){ - SurvStageWtsMatrix <- array_to_LaTeX(s@demog@StageStruct@SurvStageWtsMatrix) - } else {SurvStageWtsMatrix="Not selected."} -} - -if(class(s@dispersal@Emigration@EmigProb)[1]=="matrix"){ - emigprob <- array_to_LaTeX(s@dispersal@Emigration@EmigProb) -} else emigprob <- s@dispersal@Emigration@EmigProb - -if(dispersal_kernel){ - if(class(s@dispersal@Transfer@Distances=="matrix")){ - Distances <- array_to_LaTeX(s@dispersal@Transfer@Distances) - }else Distances <- s@dispersal@Transfer@Distances -} - - - -if(movement_SMS){ - if(class(s@dispersal@Transfer@Costs)=="numeric"){ - Costs <- toString(s@dispersal@Transfer@Costs) - }else Costs <- as.character(s@dispersal@Transfer@Costs) - - if(length(s@dispersal@Transfer@StepMort)>1){ - StepMort_SMS <- toString(s@dispersal@Transfer@StepMort) - } else StepMort_SMS <- s@dispersal@Transfer@StepMort -} - -if(movement_corrRW){ - if(length(s@dispersal@Transfer@StepMort)>1){ - StepMort_CorrRW <- toString(s@dispersal@Transfer@StepMort) - } else StepMort_CorrRW <- s@dispersal@Transfer@StepMort -} - -Settle<- array_to_LaTeX(s@dispersal@Settlement@Settle) - - -Simulation <- data.frame( - "Parameter "=c( - "Year", - "Replicates", - "Absorbing","", - "LocalExt", - "LocalEctProb", - "EnvStoch", "", - "EnvStochType", "", "", - "std", - "ac", - "minR", - "maxR", - "minK", - "maxK", - "OutIntRange", - "OutIntOcc", - "OutIntPop", - "OutIntInd", - "OutIntConn", - "OutIntPaths", - "OutStartPop", - "OutStartInd", - "OutStartConn", - "OutStartPaths", - "SMSHeatMap" - ), - "Description"=c( - "Number of simulated years", - "Number of simulation iterations", - "Whether non-valid cells lead to direct", "mortality of the individual during transfer", - "Local extinction", - "Local extinction probability", - "Environmental stochasticity", "(0: none, 1: global, 2: local)", - "Parameter on which environmental", "stochasticity acts (0: growth rate/fecundity,", "1: demographic density dependence)", - "Magnitude of stochastic fluctuations", - "Temporal autocorrelation coefficient", - "Minimum growth rate", - "Maximum growth rate", - "Minimum density dependence value", - "Maximum density dependence value", - "Output of range file", - "Output of occupancy file", - "Output of population file", - "Output of individual file", - "Output of connectivity file", - "Output of SMS paths file", - "Starting year for output population file", - "Starting year for output individual file", - "Starting year for output connectivity file", - "Starting year for output SMS paths file", - "Output SMS heat map raster file" - ), - "Values"=c( - as.character(s@simul@Years), - as.character(s@simul@Replicates), - as.character(s@simul@Absorbing),"", - as.character(s@simul@LocalExt), - as.character(s@simul@LocalExtProb), - as.character(s@simul@EnvStoch), "", - as.character(s@simul@EnvStochType), "", "", - as.character(s@simul@std), - as.character(s@simul@ac), - as.character(s@simul@minR), - as.character(s@simul@maxR), - as.character(s@simul@minK), - as.character(s@simul@maxK), - as.character(s@simul@OutIntRange), - as.character(s@simul@OutIntOcc), - as.character(s@simul@OutIntPop), - as.character(s@simul@OutIntInd), - as.character(s@simul@OutIntConn), - as.character(s@simul@OutIntPaths), - as.character(s@simul@OutStartPop), - as.character(s@simul@OutStartInd), - as.character(s@simul@OutStartConn), - as.character(s@simul@OutStartPaths), - as.character(s@simul@SMSHeatMap)) - ) - -Initialisation <- data.frame( - "Parameter "=c( - "InitType", "", "", "", - "FreeType", "", "", - "NrCells", - "SpType", "", "", "", "", - "InitIndsFile", - "InitDens", "", "", "", - "IndsHaCell", - "PropStages", - "InitAge", "", "", "", "", - "minX, maxX, minY, maxY", - "InitFreezeYear", "", - "RestrictRows", "", - "RestrictFreq", "", - "FinalFreezeYear", "", "" - ), - "Description "=c( - "Type of initialisation", "(0: free initialisation according to habitat map,", "1: from loaded species distribution map, ", "2: from initial individuals list file)", - "Option for free initialisation ", "(0: random in given number of cells, ", "1: all suitable cells/patches)", - "Number of cells to initialise", - "Option for initialisation from ", "species distribution map (0: all suitable cells within ", "all distribution presence cells, ", "1: all suitable cells within given ", "number of randomly chosen presence cells)", - "Name if the initial individuals list file", - "Number of individuals seeded in each cell/patch ", "(0: at demographic density dependence, ", "1: at half of the demographic density dependence, ", "2: according to quasi-equilibrium distribution)", - "Specified number of individuals per hectare", - "Proportion of initialised individuals in each stage", - "Initial age distribution ","(0: minimum age for the respective stage, ","1: random age between the minimum ","and maximum age for the respective stage, ","2: according to a quasi-equilibrium distribution)", - "Restrict initial range", - "Year until which species is ","confined to its initial range limits", - "Number of rows at northern ","front to restrict range.", - "Frequency in years at which ","range is restricted to northern front.", - "The year after which species is ","confined to its new, current range limits, ","after a period of range expansion." - ), - "Values"=c( - as.character(s@init@InitType), "", "", "", - as.character(s@init@FreeType), "", "", - as.character(s@init@NrCells), - as.character(s@init@SpType), "", "", "", "", - as.character(s@init@InitIndsFile), - as.character(s@init@InitDens), "", "", "", - as.character(s@init@IndsHaCell), - res, - as.character(s@init@InitAge), "", "", "", "", - range, - as.character(s@init@InitFreezeYear), "", - as.character(s@init@RestrictRows), "", - as.character(s@init@RestrictFreq), "", - as.character(s@init@FinalFreezeYear), "", "") - ) - -if(real_land){ - Landscape <- data.frame( - "Parameter "=c( - "Landscape file", - rep("", nb_landscapes-1), - "Resolution", - "HabPercent", - "NHabitats", - "K_or_DensDep", - "PatchFile", - "CostsFile", - "DynamicLandYears", - "SpDistFile", - "SpDistResolution" - ), - "Description "=c( - "Filename(s) of the landscape map(s)", - rep("", nb_landscapes-1), - "Resolution in meters", - "Whether habitat types/codes or habitat cover/quality", - "Number of different habitat codes", - "Demographic density dependence", - "Filename(s) of the patch map(s)", - "Filename(s) of the SMS cost map(s)", - "Years of landscape changes", - "Filename of the species initial distribution map", - "Resolution of the distribution map in meters" - ), - "Values"=c( - rep("", nb_landscapes), - s@land@Resolution, - s@land@HabPercent, - Nhabitats, - K_or_DensDep, - "", # PatchFile, - "", # CostsFile, - DynamicLandYears, - "",# s@land@SpDistFile, - s@land@SpDistResolution - )) -} - -if(arti_land){ - Landscape <- data.frame( - "Parameter "=c( - "propSuit", - "K_orDensDep", - "Resolution", - "dimX", - "dimY", - "fractal", - "hurst", - "continuous", - "minPct", - "maxPct" - ), - "Description "=c( - "Proportion of suitable habitat cells", - "Demographic density dependence", - "Resolution in meters", - "Number of cells along the x-axis", - "Number of cells along the y-axis", - "Whether a random or fractal landscape is generated", - "Hurst exponent", - "Continuous or binary habitat", - "Minimum percentage of habitat cover within a cell", - "Maximum percentage of habitat cover within a cell" - ), - "Values"=c( - s@land@propSuit, - s@land@K_or_DensDep, - s@land@Resolution, - s@land@dimX, - s@land@dimY, - s@land@fractal, - s@land@continuous, - s@land@minPct, - s@land@maxPct - )) -} - -if(s@demog@Rmax>0){ - Demography <- data.frame( - "Parameter"=c( - "Rmax", "", - "bc", "", - "ReproductionType","", "", "", - "PropMales", - "Harem" - ), - "Description"=c( - "Maximum growth rate ","(number of offspring per female at very low density)", - "Competition coefficient ","(describes the type of density regulation)", - "Decribes the reproduction type ","(0: asexual/only female; ","1: simple sexual model; ","2: sexual model with explicit mating system)", - "Proportion of males in the population", - "Maximum harem size" - ), - "Values"=c( - as.character(s@demog@Rmax), "", - as.character(s@demog@bc),"", - as.character(s@demog@ReproductionType),"", "", "", - as.character(s@demog@PropMales), - as.character(s@demog@Harem) - ) - ) -} - -if(s@demog@Rmax<0){ - Demography <- data.frame( - "Parameter "=c( - "Stages", - "TransMatrix","", "", "", - "MaxAge", - "MinAge","", "", - "RepSeasons", - "RepInterval","","", - "PRep","", - "SurvSched","","", - "FecDensDep","", - "DevDensDep","", - "SurvDensDep","", - "DevDensCoeff","", - "SurvDensCoeff","", - "FecStageWtsMatrix","", - "DevStageWtsMatrix","", - "SurvStageWtsMatrix","", - "PostDestrictn","","", - "ReproductionType","","", - "PropMales", - "Harem" - ), - "Description"=c( - "Number of life stages", - "Transition matrix. ","Defines the development probabilities ","from each stage into the next as well as the ","respective survival probabilities and fecundities", - "Maximum age in years", - "Ages which an individual in stage ","i-1 must already have reached before ","it can develop into the next stage i.", - "Number of potential reproduction events per year", - "Number of reproductive seasons ","which must be missed following a reproduction attempt ","before another reproduction attempt may occur", - "Probability of reproducing in ","subsequent reproductive seasons", - "Scheduling of survival ","(0: at reproduction, 1: between reproductive events, ","2: annually)", - "whether density dependent ","fecundity probability is modelled", - "Whether density dependent ","development probability is modelled", - "Whether density dependent ","survival probability is modelled", - "Relative density dependence ","coefficient for development", - "Relative density dependence ","coefficient for survival", - "Stage-dependent weights ","in density dependence of fecundity", - "Stage-dependent weights ","in density dependence of development", - "Stage dependent weights ","in density dependence of survival", - "Whether individuals of a population "," die (FALSE) or disperse (TRUE) ","if its patch gets destroyed", - "Decribes the reproduction type ","(0: asexual/only female; 1: simple sexual model; ","2: sexual model with explicit mating system)", - "Proportion of males in the population", - "Maximum harem size" - ), - "Values"=c( - s@demog@StageStruct@Stages, - matrix,"", "", "", - s@demog@StageStruct@MaxAge, - MinAge,"", "", - s@demog@StageStruct@RepSeasons, - s@demog@StageStruct@RepInterval,"","", - s@demog@StageStruct@PRep,"", - s@demog@StageStruct@SurvSched,"","", - s@demog@StageStruct@FecDensDep,"", - s@demog@StageStruct@DevDensDep,"", - s@demog@StageStruct@SurvDensDep,"", - s@demog@StageStruct@DevDensCoeff,"", - s@demog@StageStruct@SurvDensCoeff,"", - FecStageWtsMatrix,"", - DevStageWtsMatrix,"", - SurvStageWtsMatrix,"", - s@demog@StageStruct@PostDestructn,"","", - s@demog@ReproductionType,"","", - s@demog@PropMales, - s@demog@Harem - ) - ) -} - -# create df for each type of transfer - -# DispersalKernel -if(dispersal_kernel){ - transfer <- data.frame("Parameter"=c( - "Type", - "Distances","","", - "DoubleKernel", - "SexDep", - "StageDep", - "DistMort", - "MortProb", - "InflPoint", - "Slope"), - "Description"=c( - "Type of transfer", - "Matrix containing all dispersal kernel parameters","(#columns) for each stage/sex (#rows).", "Its structure depends on the other parameters.", - "Use a mixed (i.e. double negative exponential) kernel?", - "Sex-dependent dispersal kernel?", - "Stage-dependent dispersal kernel?", - "Distance-dependent mortality probability?", - "Constant mortality probability", - "Inflection point for the mortality distance dependence function.", - "Slope at inflection point for the mortality distance dependence function." - ), - "Values"=c( - as.character(class(s@dispersal@Transfer)), - Distances,"","", - as.character(s@dispersal@Transfer@DoubleKernel), - as.character(s@dispersal@Transfer@SexDep), - as.character(s@dispersal@Transfer@StageDep), - as.character(s@dispersal@Transfer@DistMort), - as.character(s@dispersal@Transfer@MortProb), - as.character(s@dispersal@Transfer@InflPoint), - as.character(s@dispersal@Transfer@Slope) - ) - ) -} - -if(movement_SMS){ - transfer <- data.frame("Parameter"=c( - "Type", - "PR", - "PRMethod","","","","","", - "MemSize","","", - "DP","", - "GoalType","", - "GoalBias", - "AlphaDB", - "BetaDB", - "Costs","","","", - "StepMort", - "StraightenPath" - ), - "Description"=c( - "Type of transfer", - "Perceptual range", - "Method to evaluate the effective cost"," of a particular step from the landdscape"," within the perceptual range:", "1: Arithmetic mean", "2: Harmonic mean", "Weighted arithmetic mean", - "Size of memory, given as the number of previous steps"," over which to calculate current direction"," to apply directional persistence", - "Directional persistence. Corresponds to the","tendency to follow a correlated random walk.", - "Goal bias type","0: None, 2: dispersal bias", - "Goal bias strength", - "Dispersal bias decay rate", - "Dispersal bias decay inflection point (number of steps)", - "Describes the landscapes resistance to movement:","Either habitat-specific costs for each habitat type","or 'file', to indictae to use the cost raster map(s)","specified in the landscape module.", - "Per-step mortality probability: constant or habitat-specific", - "Straighten path after decision not to settle in a patch?" - ), - "Values"=c( - as.character(class(s@dispersal@Transfer)), - s@dispersal@Transfer@PR, - s@dispersal@Transfer@PRMethod,"","","","","", - s@dispersal@Transfer@MemSize,"","", - s@dispersal@Transfer@DP,"", - s@dispersal@Transfer@GoalType,"", - s@dispersal@Transfer@GoalBias, - s@dispersal@Transfer@AlphaDB, - s@dispersal@Transfer@BetaDB, - Costs,"","","", - StepMort_SMS, - as.character(s@dispersal@Transfer@StraightenPath) - )) -} - -if(movement_corrRW) { - transfer <- data.frame("Parameter"=c( - "Type", - "StepLength", - "Rho", - "StraightenPath", - "StepMort" - ), - "Description"=c( - "Type of transfer", - "Step length given in meters", - "Correlation parameter", - "Straighten path after decision not to settle in a patch?", - "Per-step mortality probability: constant or habitat-specific" - ), - "Values"=c( - as.character(class(s@dispersal@Transfer)), - s@dispersal@Transfer@StepLength, - s@dispersal@Transfer@Rho, - s@dispersal@Transfer@StraightenPath, - StepMort_CorrRW - ) - ) -} - - -Dispersal <- data.frame( - "Process "=c( - "Emigration ","", "","","", - # "Transfer ", rep("",nrow(transfer)-1), - "Settlement ", if(!dispersal_kernel){rep("",8)} else{rep("",5)} - ), - "Parameter "=c( - # Emigration - "EmigProb", # can be Matrix or single value - "SexDep", - "StageDep", - "DensDep", - "UseFullKern", - #Transfer - # transfer$Parameter, - "DensDep", - "SexDep", - "StageDep", - "Settle","",if(dispersal_kernel){rep("",4)}, - if(!dispersal_kernel){c("MinSteps", - "MaxSteps", - "MaxStepsYear")}, - "FindMate" - ), - "Description "=c( - #Emigration - "Emigration probabilities/parameters for each stage/sex", - "Sex-dependent emigration probability?", - "Stage-dependent emigration probability?", - "Density-dependent emigration probability?", - "Shall the emigration probability be derived from dispersal kernel?", - #Transfer - # transfer$Description, - #Settlement - "Density-dependent settlement requirements?", - "Sex-dependent settlement requirements?", - "Stage-dependent settlement requirements?", - if(dispersal_kernel){"Settlement codes (for DispersalKernel)"} - else {"Settlement probability parameters"} - ,"for all stages/sexes.", - if(dispersal_kernel){c("0 = die (default)","1 = wait (stage-structured models only)","2 = randomly choose a suitable neighbouring cell or die","3 = randomly choose a suitable neighbouring cell"," or wait (stage-structured models only)")}, - if(!dispersal_kernel){c("Minimum number of steps", - "Maximum number of steps", - "Maximum number of steps per year")}, - "Mating requirements to settle?" - ), - "Values"=c( - #emigration - emigprob, - as.character(s@dispersal@Emigration@SexDep), - as.character(s@dispersal@Emigration@StageDep), - as.character(s@dispersal@Emigration@DensDep), - as.character(s@dispersal@Emigration@UseFullKern), - #Transfer - # transfer$Values, - #Settlement - as.character(s@dispersal@Settlement@DensDep), - as.character(s@dispersal@Settlement@SexDep), - as.character(s@dispersal@Settlement@StageDep), - Settle, if(dispersal_kernel){rep("",6)} else{""}, - if(movement_model){c(s@dispersal@Settlement@MinSteps, - s@dispersal@Settlement@MaxSteps, - s@dispersal@Settlement@MaxStepsYear) - }, - toString(s@dispersal@Settlement@FindMate) - ) -) -# delete all off-switches -Landscape <- Landscape[Landscape$Values!=-9 & Landscape$Values!="NULL",] -rownames(Landscape) <- NULL -Demography <- Demography[Demography$Values!=-9 & Demography$Values!="NULL",] -rownames(Demography) <- NULL -Initialisation <- Initialisation[Initialisation$Values!=-9 & Initialisation$Values!="NULL" & Initialisation$Values!="-9 -9 -9 -9",] -rownames(Initialisation) <- NULL -Simulation <- Simulation[Simulation$Values!=-9,] -rownames(Simulation) <- NULL - -# TODO: delete unset/unused variables -knitr::kable(Simulation, col.names = gsub("[.]", " ", names(Simulation)), caption = 'Simulation parameters') -knitr::kable(Landscape, col.names = gsub("[.]", " ", names(Landscape)), caption = 'Landscape parameters') -knitr::kable(Demography, col.names = gsub("[.]", " ", names(Demography)), caption = 'Demography parameters') -knitr::kable(Dispersal, col.names = gsub("[.]", " ", names(Dispersal)), caption = 'Dispersal parameters') -knitr::kable(Initialisation, col.names = gsub("[.]", " ", names(Initialisation)), caption = 'Initialisation parameters') -``` - diff --git a/RangeShiftR/inst/rmarkdown/templates/parameter_table/template.yaml b/RangeShiftR/inst/rmarkdown/templates/parameter_table/template.yaml deleted file mode 100644 index 38983d2..0000000 --- a/RangeShiftR/inst/rmarkdown/templates/parameter_table/template.yaml +++ /dev/null @@ -1,4 +0,0 @@ -name: parameter_table -description: > - A description of the template -create_dir: FALSE diff --git a/RangeShiftR/man/ArtificialLandscape.Rd b/RangeShiftR/man/ArtificialLandscape.Rd deleted file mode 100644 index 5844ca4..0000000 --- a/RangeShiftR/man/ArtificialLandscape.Rd +++ /dev/null @@ -1,67 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_LandParams.R -\docType{class} -\name{ArtificialLandscape} -\alias{ArtificialLandscape} -\title{Create an Artificial Landscape} -\usage{ -ArtificialLandscape(propSuit = 0.5, K_or_DensDep = 10, Resolution = 100, dimX = 65, dimY = 65, - fractal = FALSE, hurst, continuous = FALSE, minPct, maxPct) -} -\arguments{ -\item{propSuit}{Proportion of suitable habitat cells, defaults to \eqn{0.5}.} - -\item{K_or_DensDep}{determines the demographic density dependence of the modelled species and is given in units of the number of individuals per hectare (defaults to \eqn{10}). -Its precise interpretation depends on the structure of the species' \code{\link[RangeShiftR]{Demography}}:\cr -If combined with a \code{\link[RangeShiftR]{StageStructure}}d model, \code{K_or_DensDep} will be used as the \emph{strength of demographic density dependence} \ifelse{html}{\out{b-1}}{\eqn{1/b}}. -If combined with a non-structured model, \code{K_or_DensDep} will be interpreted as \emph{limiting carrying capacity} \eqn{K}.\cr} - -\item{Resolution}{Cell size in meters, defaults to \eqn{100}. (integer)} - -\item{dimX, dimY}{Number of cells along the x- and y-axis, both default to \eqn{65}. (integer) \cr -If \code{fractal=TRUE}, \code{dimX} and \code{dimY} must be powers of \eqn{2} plus \eqn{1} (\eqn{2^n+1}) and \code{dimX} \eqn{\le} \code{dimY} .} - -\item{fractal}{If \code{FALSE} (default), a random landscape is generated. Each cell has a certain probability of being a habitat.\cr -If \code{TRUE}, a fractal landscape is generated. These landscapes contain a greater structure than random landscapes but less than a completely deterministic one.} - -\item{hurst}{Required if \code{fractal=TRUE}: Hurst exponent. Can be any number in the open interval \eqn{(0,1)}.} - -\item{continuous}{Use continuous or binary habitat values to describe each cell?\cr If \code{FALSE} (default), the resulting landscape -is binary, with the two values \emph{Habitat} and \emph{Matrix} (i.e. Non-habitat).\cr If \code{TRUE}, each cell is given a continuous value -between \eqn{0} and \eqn{1}, which describes the percentage of habitat cover or habitat quality. -within a cell. The effective \code{K_or_DensDep} of that cell is calculated as the respective fraction of the value of \eqn{K_or_DensDep}.} - -\item{minPct, maxPct}{Required if \code{continuous=TRUE}: Minimum and Maximum percentage of habitat cover within a cell. Can be any number in the open interval \eqn{(0,1)}, -\code{maxPct} may be exactly \eqn{1}. \code{minPct} must be smaller than \code{maxPct}.} -} -\value{ -A parameter object of class "ArtificialLandscape" -} -\description{ -An artificial landscape can be generated with a random or fractal spatial structure, and may be using binary or continuous habitat values to characterise each cell. -} -\details{ -For theoretical studies which might be related to fundamental questions in eco-evolutionary dynamics or strategic questions concerning -conservation ecology, it is often desirable to use artificial landscapes.\cr -Fractal landscapes are characterised by possessing greater structure than a completely random landscape, but less than a -completely deterministic one \insertCite{with1997application}{RangeShiftR} – but note that the spatial structure of landscapes fragmented -by human activities is often not fractal in nature and, depending upon the research question, other landscape generators may be more -appropriate \insertCite{@see review by @pe2013simple}{RangeShiftR}. - -Internally generated artificial landscapes may not be dynamic. - -The fractal landscape generator implemented in \emph{RangeShiftR} uses the midpoint displacemeant algorithm \insertCite{saupe1988algorithms}{RangeShiftR}. -The Hurst exponent, often referred to as \eqn{H}, describes the degree of spatial autocorrelation of the landscape configuration. -Values close to \eqn{0} represent a low autocorrelation but the generated landscapes still aren't completely spatially independent. -On the contrary, values close to \eqn{1} represent high autocorrelation, i.e. high habitat aggregation.\cr - -Note that more complex algorithms are available for providing fractals where setting \eqn{H = 0.0} results in no spatial autocorrelation -\insertCite{@see @chipperfield2011updated}{RangeShiftR}. For applications where the embedded algorithm is not sufficient, we recommend -to import landscapes generated by these alternative algorithms. -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/ColonisationStats.Rd b/RangeShiftR/man/ColonisationStats.Rd deleted file mode 100644 index f95ec67..0000000 --- a/RangeShiftR/man/ColonisationStats.Rd +++ /dev/null @@ -1,39 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{ColonisationStats} -\alias{ColonisationStats} -\title{ColonisationStats} -\usage{ -ColonisationStats(x, y = getwd(), years = numeric(0), maps = FALSE) -ColonisationStats(x, y = NULL, years = numeric(0)) -} -\arguments{ -\item{x, y}{Either the parameter master (\code{x}) and RS directory path (\code{y}) of the simulation or, alternatively,\cr -the population output as a dataframe (\code{x}). In this case \code{y} is an optional parameter taking the patch map(s) as a raster layer (stack), -which will then be used to produce maps of the patch statistics. For more info on this, see the Details.} - -\item{years}{Years at which the probabilty of occupancy over all replicates will be calculated.} - -\item{maps}{Only in the parameter master (=\code{x}) notation: For each given \code{year}, uses the current patch map (in case of a dynamic landscape, otherwise the static patch map) -to produce a raster of occupancy probabilties. For time to colonisation, uses the current patch map of last year of population record.} -} -\value{ -a list with the elements -\code{occ_prob} (a dataframe with mean (over all replicates) probabilty of occupancy for each patch (in rows) at the given year(s) in columns),\cr -\code{col_time} (a dataframe with first recorded year of colonisation for each patch; with replicates in columns and rows named by patch-IDs),\cr -Optional:\cr\cr -\code{patch_occ_prob} (a raster (stack) with the data from \code{occ_prob} stored in the respective patch cells per given year),\cr -\code{patch_col_time} (a raster with the data from \code{col_time_mean} stored in their respective patch cells) -} -\description{ -This function produces patch statistics and maps on occupancy probability and mean time to colonisation. -} -\details{ -It uses the RangeShiftR 'population' output data. - -In the population dataframe (=\code{x}) notation, there are 3 options on how many maps to produce: -(1) y = NULL: no raster maps produced. -(2) y is a RasterLayer: All statistics projected onto the same patch map. -(3) y is a RasterStack with 2 layers: The first will be used for probabilty of occupancy for all years, the second will be used for time to colonisation. -(4) y is a RasterStack with length(years)+1 layers: The first ones will be used for probabilty of occupancy on each year, the last for time to colonisation. -} diff --git a/RangeShiftR/man/CorrRW.Rd b/RangeShiftR/man/CorrRW.Rd deleted file mode 100644 index 4c057c8..0000000 --- a/RangeShiftR/man/CorrRW.Rd +++ /dev/null @@ -1,78 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DispersalParams.R -\docType{class} -\name{CorrRW} -\alias{CorrRW} -\title{Set up a Correlated Random Walk} -\usage{ -CorrRW(StepLength = 1, Rho = 0.5, - IndVar = FALSE, - StraightenPath = FALSE, - StepMort = 0.0) -} -\arguments{ -\item{StepLength}{Step length given in meters, defaults to \eqn{1}.\cr If \code{IndVar=TRUE}, expects a vector of length three -specifying (Mean, SD, TraitScaleFactor) of \code{StepLength}.} - -\item{Rho}{Correlation parameter \eqn{Ď}, defaults to \eqn{0.5}. Must be in the open interval \eqn{(0,1)}.\cr If \code{IndVar=TRUE}, -expects a vector of length three specifying (Mean, SD, TraitScaleFactor) of \code{Rho}.} - -\item{IndVar}{Individual variability in CorrRW traits (i.e. \code{StepLength} and \code{Rho})? Defaults to \code{FALSE}.} - -\item{StraightenPath}{Straighten path after decision not to settle in a patch? Defaults to \code{TRUE}, see Details below.} - -\item{StepMort}{Per-step mortality probability. Can be either \emph{constant}, in which case a single numeric is expected (the default, with -value \eqn{0.0}) or \emph{habitat-specific}, in which case a numeric vector is expected with a length of, respectively, \code{Nhabitats} for an -\code{\link[RangeShiftR]{ImportedLandscape}} with habitat codes (i.e. \code{HabPercent=FALSE})) or length \eqn{2} for an -\code{\link[RangeShiftR]{ArtificialLandscape}} (mortality probabilities for matrix and habitat cells).\cr -All values must be within the half-open interval \eqn{[0,1)}.\cr -For an imported habitat quality landscape (\code{HabPercent=TRUE}), only constant per-step mortality is allowed.} -} -\value{ -a parameter object of class "CorrRW" -} -\description{ -A method to describe \code{\link[RangeShiftR]{Transfer}}: -A simple correlated random walk without any bias; implemented in continuous space on the top of the landscape grid. -} -\details{ -Individuals take steps of a constant \code{StepLength}; the direction is sampled from a wrapped Cauchy distribution having a -correlation parameter \eqn{Rho} in the range \eqn{0} to \eqn{1} \insertCite{barton2009evolution,zollner1999search}{RangeShiftR}. -As for \code{\link[RangeShiftR]{SMS}}, all individuals take each step -simultaneously. In the case of patch-based models, -\eqn{Rho} is automatically set to \eqn{0.99} until the individual steps outside its natal patch, after which the value of -\eqn{Rho} set by the user is restored. \cr -The \code{StepLength} and \eqn{Rho} can be set to vary between individuals and evolve (set \code{IndVar=TRUE}). -In this case, each individual exhibits two traits for these two parameters. -For each trait the initial mean and standard deviations must be set, as well as the TraitScaleFactor (see \code{\link[RangeShiftR]{Settlement}}), -instead of only one constant value each.\cr -Note that the step length may not evolve below one fifth of -the landscape resolution, and correlation may not evolve above \eqn{0.999}. \cr -Per-step mortality is not allowed to vary between individuals or to evolve. \cr -There is no implementation of sex- or stage-specific CRW. - -When an individual arrives in a non-natal patch and decides not to settle there (as a result of a density-dependent or mate-finding settlement -rule, see \code{\link[RangeShiftR]{Settlement}}), then there is the option that its path is straightened (\code{StraightenPath=TRUE}). This means -that it leaves the patch as soon as possible in order to search for another patch. This is achieved by increasing its path correlation to -\code{Rho}\eqn{=0.999}. However, in certain types of model, e.g. when arbitrary contiguous patches have been defined for what is basically a continuous -population, this can lead to the path always being straightened, as an individual enters a new patch as soon as it has left the one it has -rejected. In such cases, it is advisable to disable the feature (\code{StraightenPath=FALSE}), although care must be taken that individuals -do not become trapped in patches surrounded by very high cost matrix. - -\emph{Mortality}\cr -There are two main sources of mortality: First, dispersal mortality can arise as a result of individuals failing to reach suitable habitat. Some individuals may fail -to find suitable habitat before they use up their maximum number of movement steps (\code{MaxSteps} in \code{\link[RangeShiftR]{Settlement}}). -In this first case, dispersal mortality clearly depends upon the proportion of suitable habitat in the landscape and will increase as the -availability of habitat declines.\cr -A second source of dispersal mortality can be specified by the user in form of a per-step probability of mortality (\code{StepMort}. -This can be useful for representing mortality risks that increase with distance or time spent travelling \insertCite{bonte2012costs}{RangeShiftR}. - -Note that the total dispersal mortality experienced will be the sum of the mortalities due to the two sources identified above and, in parameterising the model, -it will be important to recognize this such that dispersal mortality is not double-accounted. -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/Demography.Rd b/RangeShiftR/man/Demography.Rd deleted file mode 100644 index dcd69d7..0000000 --- a/RangeShiftR/man/Demography.Rd +++ /dev/null @@ -1,86 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DemogParams.R -\docType{class} -\name{Demography} -\alias{Demography} -\title{Set Demographic Parameters} -\usage{ -Demography(Rmax, bc = 1.0, StageStruct = FALSE, - ReproductionType = 0, PropMales = 0.5, Harem = 1) -} -\arguments{ -\item{Rmax}{Maximum growth rate. Describes the mean number of offspring per female and reproductive event at very low density. Only required if \code{StageStruct=FALSE}.} - -\item{bc}{Competition coefficient. Describes the type of density regulation, providing the possibility for under-compensatory (\eqn{b_c < 1}), compensatory (\eqn{b_c = 1}) (default) or over-compensatory (\eqn{b_c > 1}) dynamics. Only required if \code{StageStruct=FALSE}.} - -\item{StageStruct}{\code{FALSE} (default) yields a population model with non-overlapping generations.\cr For a stage-structured population, this takes the corresponding parameter object generated by \code{\link[RangeShiftR]{StageStructure}}, which holds all demographic parameters.} - -\item{ReproductionType}{0 = asexual / only female model (default)\cr1 = simple sexual model\cr2 = sexual model with explicit mating system} - -\item{PropMales}{Required if \code{ReproductionType={1,2}}: Proportion of males in the population, between \eqn{0} and \eqn{1}. Defaults to \eqn{0.5}.} - -\item{Harem}{Required if \code{ReproductionType=2}: Maximum harem size. The maximum number of pair bonds that a male can establish. \eqn{Harem = 1} (default) corresponds to monogamy, \eqn{01} to polygyny.} -} -\value{ -a parameter object of class "DemogParams" -} -\description{ -For a simple non-structured population, set its basic demographic parameters here, i.e. the maximum growth rate (\code{Rmax}) and the competition coefficient (\code{bc}). -For a stage-structured population, define its corresponding parameters via \code{\link[RangeShiftR]{StageStructure}} and add it to Demography.\cr -\cr -Choose the Reproduction model that determines if sexes are considered implicitly or explicitly and if a mating system is used. If applicable, set the corresponding parameters, i.e. the proportion of males (\code{PropMales}) and the maximum harem size (\code{Harem}). -} -\details{ -The following information regards the population dynamics of a \strong{non-structured} (\code{StageStruct=FALSE}) population.\cr -For more information on the population dynamics of a \strong{structured} population, see \code{\link[RangeShiftR]{StageStructure}}. - -Populations with non-overlapping generations, i.e. with \strong{no stage-structure} are the appropriate way to model species that have discrete generations. -At each generation the life cycle comprises - in that order - reproduction, death of the adults and offspring dispersal. -Two parameters determine the nature of the demographic density dependence: -the carrying capacity \eqn{K} (given by the argument \code{K_or_DensDep} in the landscape module) and -the competition coefficient \eqn{b_c} (given by the argument \code{bc}). -These discrete generation models can be applied to asexual species, species for which it is assumed that females play the dominant role in spatial dynamics -and for species for which it is considered crucial to model both sexes explicitly. - -\emph{Asexual / only-female models:} (\code{ReproductionType=0})\cr -Recruitment is determined by a stochastic, individual-based formulation of the \insertCite{smith1973;textual}{RangeShiftR} population model, where the number of offspring produced by a single individual in the cell/patch \eqn{i} at time \eqn{t}, is drawn from the following distribution:\cr - -\ifelse{html}{\out{  Njuv(i,t) = Poisson( R(i,t) / (1+|R(i,t) - 1| * (N(i,t) / K(i,t))bc ) ) } }{\deqn{N_juv(i,t) = Poisson( R(i,t) / (1 + |R(i,t) - 1|*( N(i,t) / K(i,t) )^bc ) ) } } - -Here, \eqn{R(i,t)} is the maximum growth rate \code{Rmax} (obtained at very low density only) and \eqn{K(i,t)} is the carrying capacity -at patch \eqn{i} and time \eqn{t}. -Both \eqn{R(i,t)} and \eqn{K(i,t)} can vary in space and time, depending on the model setting. \ifelse{html}{\out{bc}}{\eqn{b_c}} -is the competition coefficient which describes the type of density regulation, providing the possibility for under-compensatory -(\ifelse{html}{\out{bc < 1}}{\eqn{b_c < 1}}), compensatory (\ifelse{html}{\out{bc = 1}}{\eqn{b_c = 1}}) or -over-compensatory (\ifelse{html}{\out{bc > 1}}{\eqn{b_c > 1}}) dynamics.\cr -\cr -\emph{Sexual models}\cr -In this type of models, individuals are explicitly characterized by their sex. The proportion of each sex in the population is controlled by setting the proportion of males (\code{PropMales}). There are two types of possible sexual sub-models:\cr -\cr -\emph{Simple mating system:} (\code{ReproductionType=1})\cr -This is the simplest form of mate limitation. Each female individual is assumed to mate, as long as there is at least one male in the population. As for the asexual case, the Maynard Smith and Slatkin model is used to determine the expected number of -offspring produced by each female. To maintain equivalence between the asexual and sexual versions, the expected value of the Poisson distribution is multiplied by \eqn{2} (Lindström & Kokko 1998):\cr - -\ifelse{html}{\out{  Njuv(i,t) = Poisson( 2 R(i,t) / (1+|R(i,t) - 1| * (N(i,t) / K(i,t) )bc ) ) } }{\deqn{N_juv(i,t) = Poisson( 2 R(i,t) / (1 + |R(i,t) - 1|*( N(i,t) / K(i,t) )^bc ) ) } } - -\emph{Complex mating system:} (\code{ReproductionType=2})\cr -More complex and flexible mating system. Mating is explicitly modelled through a mating function -\insertCite{lindstrom1998,legendre2004,bessa2010}{RangeShiftR}, where the number of mated females \eqn{c} is given by: -\deqn{c = f * min(1, 2hm/(f+hm) )} -where \eqn{f} and \eqn{m} are the numbers of potentially reproductive females and males, respectively, and \eqn{h} is the maximum harem size \code{Harem}, i.e. the maximum number of pair bonds that a male can establish. \eqn{h=1} corresponds to monogamy, \eqn{01} to polygyny. Each potentially reproductive female has a probability of reproducing \ifelse{html}{\out{pr}}{\eqn{p_r}} given by: -\deqn{p_r=c/f} -A Bernoulli trial \eqn{Bern}\ifelse{html}{\out{(pr)}}{\eqn{(p_r)}} determines if the female reproduces or not. For females that reproduce, the number of offspring is determined through the Poisson distribution as stated above. Hence, the specification of the mating system determines the probability for each female to reproduce. However, no explicit pair bonds are formed, and in the cases where traits inheritance is -involved, the father (of all the offspring produced by a single female in a single reproductive event) is selected randomly from the males in the population.\cr -\cr -Populations with overlapping generations, i.e. with \strong{with stage-structure} are the appropriate choice for species in which generations can overlap and individuals can be classified in different stages -(e.g. immature vs. breeding individuals) differing in their demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity (which will be used as expected value of the Poisson distribution for reproduction), survival -and probability of developing to the next stage. The parameters are provided as classical transition matrices \insertCite{caswell2001}{RangeShiftR} through a \code{\link[RangeShiftR]{StageStructure}} -parameter object. For more information on the population dynamics in this case, see the details there. -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/Dispersal.Rd b/RangeShiftR/man/Dispersal.Rd deleted file mode 100644 index 2b59133..0000000 --- a/RangeShiftR/man/Dispersal.Rd +++ /dev/null @@ -1,65 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DispersalParams.R -\docType{class} -\name{Dispersal} -\alias{Dispersal} -\title{Set Dispersal Parameters} -\usage{ -Dispersal(Emigration = Emigration(), - Transfer = DispersalKernel(), - Settlement = Settlement()) -} -\arguments{ -\item{Emigration}{The first phase of dispersal; determines if an individual leaves its natal patch.} - -\item{Transfer}{(or transience) The second phase of dispersal; consists of the movement of an individual departing from its natal patch towards -a potential new patch, ending with settlement or mortality. This movement can be modelled by one of three alternative processes:\cr -- Dispersal kernel: use \code{\link[RangeShiftR]{DispersalKernel}}\cr -- Stochastic movement simulator (SMS): use \code{\link[RangeShiftR]{SMS}}\cr -- Correlated random walk (CRW): use \code{\link[RangeShiftR]{CorrRW}}} - -\item{Settlement}{(or immigration) The last phase of dispersal; determines when the individual stops in a new cell or patch of -breeding habitat.} -} -\value{ -a parameter object of class "DispersalParams" -} -\description{ -Dispersal is defined as movement leading to spatial gene flow. It typically involves three phases, which are all modelled explicitly: -\code{\link[RangeShiftR]{Emigration}}, \code{\link[RangeShiftR]{Transfer}} and \code{\link[RangeShiftR]{Settlement}}.\cr -The specific parameters of each phase are set through their respective functions. For more details, see their documentation.\cr -\cr -The potential evolution of several key dispersal traits is implemented through the possibility of inter-individual variability and heritability. -This option (called \code{IndVar}) can be enabled for each dispersal phase in their respective modules. See the Details below for information on how -to set the associated parameters. Additionally, the \code{\link[RangeShiftR]{Genetics}} module must be defined. -} -\details{ -Dispersal is defined as movement leading to spatial gene flow, and it typically involves three phases: -emigration, transfer and settlement - \insertCite{stenseth1992,clobert2001,clobert2009,clobert2012,bowler2005,ronce2007}{RangeShiftR}.\cr - -The key role of dispersal in species persistence and responses to environmental change is increasingly recognized \insertCite{travis2013dispersal}{RangeShiftR}. -Moreover, the importance of modelling dispersal as a complex process, explicitly considering its three phases, each of which has -´its own mechanisms and costs, has been recently highlighted \insertCite{bonte2012costs,travis2012modelling,travis2013dispersal}{RangeShiftR}. -The implementation of the dispersal process in \emph{RangeShiftR} is based on these recent frameworks and the substantial dispersal -theory that has been developed so far \insertCite{clobert2012}{RangeShiftR}. - -It is possible to model all three phases - emigration, transfer and settlement - with stage- and/or sex-specific parameters via the -switches \code{StageDep} and \code{SexDep} in the respective functions. In the case of sex-dependence, the number of traits is doubled, with -one set coding for the trait in females and the other for the trait in males. As well as being sex-biased, all dispersal phases can be -stage-biased, meaning that parameters can vary for different stage or age classes. - -The options of inter-individual variability in the various dispersal traits can be enabled by setting \code{IndVar=TRUE} for the respective dispersal phase -module and defining the genetic module to simulate heritability and evolution of traits (\code{\link[RangeShiftR]{Genetics}}).\cr -For each such heritable dispersal trait, this requires to set the mean and standard deviation of the distribution of trait values -in the initial population (instead of a constant value each, as in the case of \code{IndVar=FALSE}), -as well as the \code{TraitScaleFactor} for each heritable trait (see \code{\link[RangeShiftR]{Genetics}} documentaion).\cr - -Note, however, that not all combinations of sex-/stage-dependencies with inter-individual variability are implemented.\cr -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/DispersalKernel.Rd b/RangeShiftR/man/DispersalKernel.Rd deleted file mode 100644 index f7b7cd4..0000000 --- a/RangeShiftR/man/DispersalKernel.Rd +++ /dev/null @@ -1,169 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DispersalParams.R -\docType{class} -\name{DispersalKernel} -\alias{DispersalKernel} -\title{Set up a Dispersal Kernel} -\usage{ -DispersalKernel(Distances = 100, DoubleKernel = FALSE, - SexDep = FALSE, StageDep = FALSE, - IndVar = FALSE, - TraitScaleFactor, - DistMort = FALSE, - MortProb = 0.0, Slope, InflPoint) -} -\arguments{ -\item{Distances}{Matrix containing all dispersal kernel parameters (#columns) for each stage/sex (#rows). Its structure depends on the other parameters, see the Details. -If the mean dispersal distance is constant (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}), \code{Distances} can take a single numeric. Defaults to \eqn{100}.} - -\item{DoubleKernel}{Use a mixed (i.e. double negative exponential) kernel? (default: \code{FALSE}) Set probability for using Kernel-1 in matrix \code{Distances}.} - -\item{SexDep}{Sex-dependent dispersal kernel? (default: \code{FALSE})} - -\item{StageDep}{Stage-dependent dispersal kernel? (default: \code{FALSE}) Must be \code{FALSE} if \code{IndVar=TRUE}.} - -\item{IndVar}{Individual variability in dispersal kernel traits? (default: \code{FALSE}) Must be \code{FALSE}, if \code{StageDep=TRUE}.} - -\item{TraitScaleFactor}{Required if \code{IndVar=TRUE}: The scaling factor(s) for dispersal kernel traits. A numeric of length \eqn{1} (if \code{DoubleKernel=FALSE}) or \eqn{3} (if \code{DoubleKernel=TRUE}).} - -\item{DistMort}{Distance-dependent mortality probability? (default: \code{FALSE})} - -\item{MortProb}{Constant mortality probability. Required if \code{DistMort=FALSE}, defaults to \eqn{0.0}.} - -\item{InflPoint}{Required if \code{DistMort=TRUE}: Inflection point for the mortality distance dependence function.} - -\item{Slope}{Required if \code{DistMort=TRUE}: Slope at inflection point for the mortality distance dependence function.} -} -\value{ -a parameter object of class "DispersalKernel" -} -\description{ -A method to describe \code{\link[RangeShiftR]{Transfer}}: Dispersal kernels are statistical distributions that are largely used to describe dispersal distances. The main assumption behind them -is that the principal determinant of the probability of an individual dispersing to a particular site is the distance from the starting location.\cr -As for the other dispersal phases, movement abilities and strategies are under multiple selective pressures and can evolve separately. -As a result, the realised dispersal kernels will themselves evolve. -} -\details{ -Two types of dispersal kernels are implemented: negative exponential and a mixed kernel given by two different negative exponentials. -Here, kernels are considered as â€distance kernels’, i.e. the statistical distribution of the probability that an individual will move a -certain distance \insertCite{hovestadt2012evolution,nathan2012dispersal}{RangeShiftR}. These kernels are specifically used for the \code{\link[RangeShiftR]{Transfer}} phase, meaning that they do -not incorporate information on the \code{\link[RangeShiftR]{Emigration}} or \code{\link[RangeShiftR]{Settlement}} probabilities, which are modelled independently. Therefore, dispersal kernels are -applied only to dispersing individuals and not normally to the entire population. However, the program allows a particular setting where -emigration and transfer are not explicitly separated but are both modelled through the kernel (see the parameter \code{UseFullKern} in -\code{\link[RangeShiftR]{Emigration}} and the Details there). - -There are many possible statistical distributions that have been fitted to dispersal data, which in many cases perform better -than the negative exponential \insertCite{nathan2012dispersal}{RangeShiftR}. However, the negative exponential is still commonly used, has been found useful for -describing dispersal patterns of certain organisms and the combination of two different negative exponentials has been demonstrated to be a -valuable method for discerning between common short-distance and rare long-distance dispersal \insertCite{hovestadt2011all}{RangeShiftR}. - -\emph{Negative exponential} \cr -If the individual disperses, the distance and the movement direction are determined in continuous space. -The distance is drawn from a negative exponential distribution with a given mean \eqn{δ}, and the direction is selected randomly from a uniform -distribution between \eqn{0} and \eqn{2Ď€} radians. - -\ifelse{html}{\out{   p(d;δ) = δ-1 e- d / δ}}{\deqn{ p(d;δ) = 1/δ exp(-d/δ) } } - -If the arrival point lies beyond the boundary of the landscape, distance and direction are re-drawn.\cr -The individual is displaced from a random point (using continuous coordinates) inside the natal cell to the arrival cell where the model -switches back to discrete space \insertCite{bocedi2012projecting}{RangeShiftR}. If the arrival point is inside the natal cell, individual starting position, distance and direction are -re-sampled until the individual leaves the natal cell. In the case of patch-based models, the individual is assumed to disperse from a -random point in the patch and this position, the dispersal distance and direction are drawn until the individual leaves the patch. In order -to separate emigration and transfer explicitly, and to avoid potential infinite re-sampling, the program requires the mean of the kernel -to be greater or equal the cell resolution. This condition is relaxed only in the special case where emigration probability is set to be -density-independent and the kernel is applied to the entire population without re-sampling (the \code{UseFullKern} option in \code{\link[RangeShiftR]{Emigration}}). Individuals -which draw a short movement distance do not leave the natal cell/patch and implicitly become sedentary, and therefore the kernel itself -defines the proportion of individuals which emigrate. When this option is selected, the emigration probability for those stages/sexes -which disperse should be set to \eqn{1.0}; otherwise, only a proportion of such individuals would use the kernel to determine whether or -not they emigrate. - -\emph{Mixed kernel} \cr -The distance an individual moves is sampled from a mixed kernel given by the combination of two negative exponentials -with different means \ifelse{html}{\out{δ1}}{\eqn{δ_1}} and \ifelse{html}{\out{δ2}}{\eqn{δ_2}}, -occurring with probability \ifelse{html}{\out{pI}}{\eqn{p_I}} and \eqn{1-}\ifelse{html}{\out{pI}}{\eqn{p_I}} respectively \insertCite{hovestadt2011all}{RangeShiftR}. -Otherwise, the conditions for the single kernel apply. - -\ifelse{html}{\out{   p(d; δ12) = pI p(d;δ1) + (1-pI) p(d;δ1)}}{\deqn{ p(d; δ_1,δ_2) = p_I p(d;δ_1) + (1-p_I) p(d;δ_2)}} - -For both types of kernel, inter-individual variability of the kernel traits is possible (set \code{IndVar=TRUE}). Individuals will -carry either one trait for \eqn{δ} or three traits for \ifelse{html}{\out{δ1}}{\eqn{δ_1}}, \ifelse{html}{\out{δ2}}{\eqn{δ_2}} and -\ifelse{html}{\out{pI}}{\eqn{p_I}}, which they inherit from their parents.\cr -Dispersal kernels can also be sex-dependent (set \code{SexDep=TRUE}). In the case of inter-individual variability, the number of traits is doubled to two trait (female \eqn{δ} -and male δ) or six traits (female and male \ifelse{html}{\out{δ1}}{\eqn{δ_1}}, \ifelse{html}{\out{δ2}}{\eqn{δ_2}} and \ifelse{html}{\out{pI}}{\eqn{p_I}}).\cr -For each trait the initial distribution in the population (as mean and standard variation) must be set in \code{Distances} (instead of only one constant value), -as well as their scaling factors in \code{TraitScaleFactor} (see \code{\link[RangeShiftR]{Genetics}}).\cr - -Further, dispersal kernels can be stage-specific (set \code{StageDep=TRUE}). For this case, inter-individual variability is not implemented. - -All dispersal kernel parameters have to be provided via \code{Distances}, which generally takes a matrix, or - if only a single constant mean distance is -used (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}) - a single numeric. The format of the matrix is defined as follows: The number of columns depend on the options \code{IndVar} and \code{DoubleKernel}. -If \code{DoubleKernel=FALSE}, the mean dispersal distance \eqn{δ} must be specified (in meters). If \code{DoubleKernel=TRUE}, the mean dispersal distances -\ifelse{html}{\out{δ1}}{\eqn{δ_1}} and \ifelse{html}{\out{δ2}}{\eqn{δ_2}} (in meters), as well as the probability \ifelse{html}{\out{pI}}{\eqn{p_I}} of using Kernel-1 must be specified. -Additionally, if \code{IndVar=FALSE}, these parameters are fixed, but if \code{IndVar=TRUE} each of them is replaced by two parameters: their respective mean and -standard deviation. They are used to normally distribute the traits values among the individuals of the initial population. - -All parameters have to be given for each stage/sex if the respective dependence is enabled. If \code{StageDep=TRUE}, state the corresponding stage in the first column. -If \code{SexDep=TRUE}, state the corresponding stage in the next (i.e. first/second) column, with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. The following -table lists the required columns and their correct order for different settings: - -\tabular{ccccc}{IndVar \tab DoubleKernel \tab StageDep \tab SexDep \tab columns \cr - F \tab F \tab F \tab F \tab \eqn{δ} \cr - F \tab F \tab T \tab F \tab stage, \eqn{δ} \cr - F \tab F \tab F \tab T \tab sex, \eqn{δ} \cr - F \tab F \tab T \tab T \tab stage, sex, \eqn{δ} \cr - F \tab T \tab F \tab F \tab \ifelse{html}{\out{δ1, δ2, pI}}{\eqn{δ_1, δ_2, p_I}} \cr - T \tab F \tab F \tab F \tab mean\eqn{(δ)}, sd\eqn{(δ)} \cr - T \tab T \tab F \tab F \tab \ifelse{html}{\out{mean(δ1)}}{mean\eqn{(δ_1)}}, \ifelse{html}{\out{sd(δ1)}}{sd\eqn{(δ_1)}}, \ifelse{html}{\out{mean(δ2)}}{mean\eqn{(δ_2)}}, \ifelse{html}{\out{sd(δ2)}}{sd\eqn{(δ_2)}}, mean\ifelse{html}{\out{(pI)}}{\eqn{(p_I)}}, sd\ifelse{html}{\out{(pI)}}{\eqn{(p_I)}} \cr - \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \cr - T \tab T \tab F \tab T \tab sex, \ifelse{html}{\out{mean(δ1)}}{mean\eqn{(δ_1)}}, \ifelse{html}{\out{sd(δ1)}}{sd\eqn{(δ_1)}}, \ifelse{html}{\out{mean(δ2)}}{mean\eqn{(δ_2)}}, \ifelse{html}{\out{sd(δ2)}}{sd\eqn{(δ_2)}}, mean\ifelse{html}{\out{(pI)}}{\eqn{(p_I)}}, sd\ifelse{html}{\out{(pI)}}{\eqn{(p_I)}} - } - -The column headings need not be included, only the numeric matrix is required. The rows require no particular order, but there must be exactly -one row for each stage/sex combination. For example, in the case of a mixed kernel with stage- and sex-dependent distances and no individual variability: -\tabular{ccccc}{ \out{ } 0 \tab \out{ } 0 \tab \out{ } 1000 \tab \out{ } 4500 \tab \out{ } 0.92 \cr - \out{ } 0 \tab \out{ } 1 \tab \out{ } 1400 \tab \out{ } 6000 \tab \out{ } 0.95 \cr - \out{ } 1 \tab \out{ } 0 \tab \out{ } 700 \tab \out{ } 500 \tab \out{ } 0.50 \cr - \out{ } 1 \tab \out{ } 1 \tab \out{ } 500 \tab \out{ } 600 \tab \out{ } 0.55 \cr - \out{ } 2 \tab \out{ } 0 \tab \out{ } 100 \tab \out{ } 0 \tab \out{ } 1.0 \cr - \out{ } 2 \tab \out{ } 1 \tab \out{ } 100 \tab \out{ } 0 \tab \out{ } 1.0 -} - -In the case that the dispersal kernel is applied to the entire -population (i.e. density-independent emigration probability of \eqn{1.0}), the mean dispersal distance can evolve down to zero (i.e. -evolution for no dispersal). In all other cases where emigration and transfer are modelled separately, the mean dispersal distance has a -lower limit which can evolve equal to the landscape resolution. - -\emph{Mortality}\cr -There are two main sources of mortality: First, dispersal mortality can arise as a result of individuals failing to reach suitable habitat. When a simple dispersal -kernel is used with no possibility for individuals to search for locally-suitable habitat (see \code{\link[RangeShiftR]{Settlement}}), -mortality occurs to all individuals that arrive in unsuitable habitat. In this first case, dispersal mortality clearly depends upon the -proportion of suitable habitat in the landscape and will increase as the availability of habitat declines.\cr -A second source of dispersal mortality can be specified via the option \code{DistMort}: The probability of mortality is either a constant -(\eqn{m=}\code{MortProb}) or a function of distance \eqn{d} (i.e. individuals that travel further are more likely to die): - -\ifelse{html}{\out{   m(d) = 1 / ( 1 + e-a (d- b) ) } }{\deqn{ m(d) = 1 / ( 1 + exp[-α (d-b) ] ) } } - -with the inflection point \eqn{b=}\code{InflPoint} at which \eqn{m(d=b)=0.5} and the slope \eqn{a=}\code{Slope}.This option may be thought -to represent the increased energetic, time or attritional costs that longer-distance dispersers will experience \insertCite{bonte2012costs}{RangeShiftR}. - -Note that the total dispersal mortality experienced will be the sum of the mortalities due to the two sources identified above and, -in parameterising the model, it will be important to recognize this such that dispersal mortality is not double-accounted. -} -\examples{ -# stage- and sex-dependent mixed kernel -dists_1 <- matrix(c(0,0,1000,4500,0.92,0,1,1400,6000,0.95,1,0,700,500,0.50,1,1,500,600,0.55,2,0,100,0,1.0,2,1,100,0,1.0), byrow = TRUE, ncol = 5) -disp_1 <- DispersalKernel(Distances = dists_1, SexDep = TRUE, StageDep = TRUE, DoubleKernel = TRUE, DistMort = TRUE, Slope = 0.001, InflPoint = 4000) -plotProbs(disp_1, sex = 0, ymax = 0.002) -plotProbs(disp_1, mortality = TRUE) - -# mixed kernel with inter-individual variation -dists_2 <- matrix(c(0,1000,300,2500,500,0.62,0.13,1,3400,860,8000,2800,0.72,0.12), byrow = TRUE, ncol = 7) -disp_2 <- DispersalKernel(Distances = dists_2, SexDep = TRUE, DoubleKernel = TRUE, TraitScaleFactor = c(900,2800,0.14), IndVar = TRUE) -plotProbs(disp_2, xmax = 10000, combinekernels = TRUE) -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/Emigration.Rd b/RangeShiftR/man/Emigration.Rd deleted file mode 100644 index b66dae9..0000000 --- a/RangeShiftR/man/Emigration.Rd +++ /dev/null @@ -1,138 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DispersalParams.R -\docType{class} -\name{Emigration} -\alias{Emigration} -\title{Set Emigration Parameters} -\usage{ -Emigration(EmigProb = 0.0, - SexDep = FALSE, StageDep = FALSE, - DensDep = FALSE, - IndVar = FALSE, - TraitScaleFactor, - EmigStage, - UseFullKern = FALSE) -} -\arguments{ -\item{EmigProb}{Matrix containing all parameters (#columns) to determine emigration probabilities for each stage/sex (#rows). Its structure depends on the other parameters, see the Details. -If the emigration probability is constant (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}), \code{EmigProb} can take a single numeric. Defaults to \eqn{0.0}.} - -\item{SexDep}{Sex-dependent emigration probability? (default: \code{FALSE})} - -\item{StageDep}{Stage-dependent emigration probability? (default: \code{FALSE}) Must be \code{FALSE} if \code{IndVar=TRUE}.} - -\item{DensDep}{Density-dependent emigration probability? (default: \code{FALSE})} - -\item{IndVar}{Individual variability in emigration traits? (default: \code{FALSE}) Must be \code{FALSE} if \code{StageDep=TRUE}.} - -\item{TraitScaleFactor}{Required if \code{IndVar=TRUE}: The scaling factor(s) for emigration traits. A numeric of length \eqn{1} (if \code{DensDep=FALSE}) or \eqn{3} (if \code{DensDep=TRUE}).} - -\item{EmigStage}{Required for stage-structured populations with \code{IndVar=TRUE}: Stage which emigrates. (\code{StageDep} must be \code{FALSE})} - -\item{UseFullKern}{Applicable only if transfer phase is modelled by a \code{\link[RangeShiftR]{DispersalKernel}} and \code{DensDep=FALSE}: Shall the emigration probability be derived from dispersal kernel?} -} -\value{ -a parameter object of class "EmigrationParams" -} -\description{ -Emigration - the first phase of dispersal - is modelled as the probability that an individual leaves its natal patch during the present year (or season). -It is constant by default, but can be set to be density-dependent (\code{DensDep}) and/or to vary for each individual (\code{IndVar}). In case of a stage-structured/sexual -population model, the emigration probabilities can also vary with stage/sex (\code{StageDep/SexDep}). If inter-individual variability is -enabled, the emigration traits can also be allowed to evolve (also set \code{TraitScaleFactor}). -} -\details{ -Emigration is modelled as the probability \eqn{d} that an individual leaves its natal patch during the present year or season (every reproductive event -is always followed by dispersal). -Populations with non-overlapping generations have only a single opportunity to emigrate, whereas in a stage-structured population the realised overall emigration -rate can be larger than \eqn{d}, if a stage with \eqn{d>0} lasts for more than one year so that an individual has multiple opportunities to emigrate (each with probability \eqn{d}). - -The emigration probability \eqn{d} can be density-dependent (set \code{DensDep=TRUE}), in which case it is given by the following function, introduced by \insertCite{kun2006evolution;textual}{RangeShiftR}: - -\ifelse{html}{\out{   d(i,t) = D0 / ( 1 + e-αsub>E (N(i,t) / K(i,t) - βsub>E) ) } }{\deqn{ d(i,t) = D_0 / ( 1 + exp[-α_E (N(i,t)/K(i,t) - β_E) ] ) } } - -In the case of stage-structured models this equation is modified to: - -\ifelse{html}{\out{   d(i,t) = D0 / ( 1 + e-αsub>E (b(i,t) * N(i,t) - βsub>E) ) } }{\deqn{ d(i,t) = D_0 / ( 1 + exp[-α_E (b(i,t) N(i,t) - β_E) ] ) } } - -In the first case, \eqn{K(i,t)} is the carrying capacity of the cell/patch \eqn{i} at time \eqn{t} given by \code{K_or_DensDep}. -In the latter case, \eqn{b(i,t)} represents the strength of density dependence and is given by the inverse of \code{K_or_DensDep}.\cr -Further, \ifelse{html}{\out{D0}}{\eqn{D_0}} is the maximum emigration probability, -\eqn{N(i,t)} is the number of individuals in the cell/patch \eqn{i} at time \eqn{t}, -\ifelse{html}{\out{βE}}{\eqn{β_S}} is the inflection point of the function and -\ifelse{html}{\out{αE}}{\eqn{α_S}} is the slope at the inflection point.\cr - -Various functions have been proposed for density dependent emigration \insertCite{hovestadt2010information,poethke2011ability}{RangeShiftR}. -This one was chosen here because it is a flexible function that -allows for modelling a range of different reaction norms, as well as their emergence through evolution. In the case of density-dependent -emigration, we assume individuals to have full knowledge of the population density and carrying capacity (or 1/b, respectively) in their natal patch. -Information acquisition is not explicitly modelled. - -The emigration probability can be allowed to vary between individuals (set \code{IndVar=TRUE}) and to evolve. In the this case, individuals exhibit either one trait -determining the density-independent \eqn{d} (when \code{DensDep=FALSE}), or the three traits \ifelse{html}{\out{D0}}{\eqn{D_0}}, \eqn{α} and -\eqn{β} determining the density-dependent emigration probability (when \code{DensDep=TRUE}).\cr -For each trait the initial distribution in the population (as mean and standard variation) must be set in \code{EmigProb} (instead of only one constant value), -as well as their scaling factors in \code{TraitScaleFactor} (see \code{\link[RangeShiftR]{Genetics}}). -Also, if \code{IndVar=TRUE} is set for a stage-structured population, it is required to specify the stage which emigrates via \code{EmigStage}. - -It is possible to model sex-specific emigration strategies (set \code{SexDep=TRUE}) \insertCite{greenwood1980mating,lawson2007advances}{RangeShiftR}. -In this case the number of traits is doubled; one set coding for the trait(s) in females and the other for the trait(s) in males. -As well as being sex-biased, emigration parameters can be stage-biased (set \code{StageDep=TRUE}) when modelling stage-structured populations. -However, the current version does not accommodate inter-individual variation in emigration strategies when they are stage-dependent. - -The parameters that determine the emigration probabilities have to be provided via \code{EmigProb}, which generally takes a matrix, or - if only a single constant probability is -used (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}) - a single numeric. The format of the matrix is defined as follows: The number of columns depend on the options \code{DensDep} and \code{IndVar}. If \code{DensDep=FALSE}, the -density-independent probability \eqn{d} must be specified. If \code{DensDep=TRUE}, the functional parameters \ifelse{html}{\out{D0}}{\eqn{D_0}}, \eqn{α} and \eqn{β} (cp. equation above) must be specified. -Additionally, if \code{IndVar=FALSE}, these parameters are fixed, but if \code{IndVar=TRUE} each of them is replaced by two parameters: their respective mean and -standard deviation. They are used to normally distribute the traits values among the individuals of the initial population. - -All parameters have to be given for each stage/sex if the respective dependence is enabled. If \code{StageDep=TRUE}, state the corresponding stage in the first column. -If \code{SexDep=TRUE}, state the corresponding stage in the next (i.e. first/second) column, with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. The following table lists the required columns and their correct order for different settings: - -\tabular{ccccc}{DensDep \tab IndVar \tab StageDep \tab SexDep \tab columns \cr - F \tab F \tab F \tab F \tab \eqn{d} \cr - F \tab F \tab T \tab F \tab stage, \eqn{d} \cr - F \tab F \tab F \tab T \tab sex, \eqn{d} \cr - F \tab F \tab T \tab T \tab stage, sex, \eqn{d} \cr - T \tab F \tab F \tab F \tab \ifelse{html}{\out{D0}}{\eqn{D_0}}, \eqn{α}, \eqn{β} \cr - F \tab T \tab F \tab F \tab mean\eqn{(d)}, sd\eqn{(d)} \cr - T \tab T \tab F \tab F \tab \ifelse{html}{\out{mean(D0)}}{mean\eqn{(D_0)}}, \ifelse{html}{\out{sd(D0)}}{sd\eqn{(D_0)}}, mean\eqn{(α)}, sd\eqn{(α)}, mean\eqn{(β)}, sd\eqn{(β)} \cr - \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \cr - T \tab T \tab F \tab T \tab sex, \ifelse{html}{\out{mean(D0)}}{mean\eqn{(D_0)}}, \ifelse{html}{\out{sd(D0)}}{sd\eqn{(D_0)}}, mean\eqn{(α)}, sd\eqn{(α)}, mean\eqn{(β)}, sd\eqn{(β)} - } - -The column headings need not be included, only the numeric matrix is required. The rows require no particular order, but there must be exactly one row for each stage/sex combination. For example, in the case of density-, stage- and sex-dependent emigration with no individual variability: -\tabular{ccccc}{ \out{ } 0 \tab \out{ } 0 \tab \out{ } 1.0 \tab \out{ } 20 \tab \out{ } 0.2 \cr - \out{ } 0 \tab \out{ } 1 \tab \out{ } 1.0 \tab \out{ } 20 \tab \out{ } 0.1 \cr - \out{ } 1 \tab \out{ } 0 \tab \out{ } 0.7 \tab \out{ } 25 \tab \out{ } 0.5 \cr - \out{ } 1 \tab \out{ } 1 \tab \out{ } 0.8 \tab \out{ } 50 \tab \out{ } 0.5 \cr - \out{ } 2 \tab \out{ } 0 \tab \out{ } 0.4 \tab \out{ } 10 \tab \out{ } 1.0 \cr - \out{ } 2 \tab \out{ } 1 \tab \out{ } 0.5 \tab \out{ } 20 \tab \out{ } 1.0 -} - -In the special case that \code{DensDep=FALSE} and transfer is realised by \code{\link[RangeShiftR]{DispersalKernel}}, then the option \code{UseFullKern} may be switched on. It -will prevent re-sampling from the kernel if the distance sampled does not move the individual out of its natal cell/patch. Such individuals -are treated as philopatric recruits, and hence the kernel determines the probability of emigration. In this case, the emigration probability -for all stages/sexes which potentially disperse should be set to \eqn{1.0}. -} -\examples{ -# stage- and sex-dependent constant emigration probabilities: -emigmat_1 <- matrix(c(0,0,1,0,1,1,1,0,.7,1,1,.8,2,0,.4,2,1,.5), byrow = TRUE, ncol = 3) -emig_1 <- Emigration(StageDep = TRUE, SexDep = TRUE, EmigProb = emigmat_1) -plotProbs(emig_1) - -# stage- and sex- and density-dependent emigration: -emigmat_2 <- matrix(c(0,0,1,20,.2,0,1,1,20,.1,1,0,.7,25,.5,1,1,.8,50,.5,2,0,.4,10,1,2,1,.5,20,1), byrow = TRUE, ncol = 5) -emig_2 <- Emigration(DensDep = TRUE, StageDep = TRUE, SexDep = TRUE, EmigProb = emigmat_2) -plotProbs(emig_2) - -# inter-individual variation with density- and sex-dependence : -emigmat_3 <- matrix(c(0,.7,.1,20,7,.2,.01,1,.9,.05,40,4,.5,.05), byrow = TRUE, ncol = 7) -emig_3 <- Emigration(DensDep = TRUE, IndVar = TRUE, SexDep = TRUE, EmigProb = emigmat_3, TraitScaleFactor = c(.1,7,.05)) -plotProbs(emig_3) -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/Genetics.Rd b/RangeShiftR/man/Genetics.Rd deleted file mode 100644 index 7b13e4a..0000000 --- a/RangeShiftR/man/Genetics.Rd +++ /dev/null @@ -1,181 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_GeneticsParams.R -\docType{class} -\name{Genetics} -\alias{Genetics} -\title{Set Genetics parameters} -\usage{ -Genetics(Architecture = 0, - NLoci = 1, ArchFile = "NULL", - ProbMutn = 0.0, MutationSD = 0.1, - ProbCross = 0.0, - AlleleSD = 0.1) -} -\arguments{ -\item{Architecture}{Genetic Architecture: \cr 0 = One chromosome per trait (default), \cr 1 = Read from file (set \code{ArchFile}).} - -\item{NLoci}{Required if \code{Architecture=0}: Number of loci per chromosome, defaults to \eqn{1} (integer).} - -\item{ArchFile}{Required if \code{Architecture=1}: Name of the genetic architecture file.} - -\item{ProbMutn}{Probability of mutation of each individual allele at meiosis, defaults to \eqn{0.0}.\cr} - -\item{MutationSD}{Standard deviation of mutation magnitude, defaults to \eqn{0.1}.\cr Must be \eqn{> 0}. -Must be \eqn{0 \le}\code{ProbMutn} \eqn{\le 1}.} - -\item{ProbCross}{Probability of crossover at each individual locus at meiosis, defaults to \eqn{0.0}.\cr -Must be \eqn{0 \le}\code{ProbCross} \eqn{\le 1}.} - -\item{AlleleSD}{Standard deviation of initial allelic values around phenotypic value, defaults to \eqn{0.1}.\cr Must be \eqn{> 0}.} -} -\value{ -a parameter object of class "GeneticsParams" -} -\description{ -Set genetics parameters and architecture.\cr - -Controls heritability and evolution of traits (if inter-individual variability is enabled (\code{IndVar=TRUE}) for at least one (dispersal) trait). -Provides control over the number of chromosomes, the number of loci on each, the recombination rate (if the species is diploid) and a -flexible mapping of traits to chromosomes, allowing linkage, pleiotropy and neutral alleles to be incorporated. It is also possible to model -neutral alleles when no adaptive traits are present. -} -\details{ -When inter-individual variability in at least one trait (at present limited to dispersal traits) -is enabled (\code{IndVar=TRUE}), each individual carries a genome coding for the varying trait values.\cr -If the reproductive model is \emph{asexual/female-only} (\code{ReproductionType} \eqn{=0}), the species is assumed to be haploid and chromosomes -hold a single allele at each locus. In this case, changes in the genotype, and hence also in the phenotype, can occur only through mutation (see below). \cr -In the case of \emph{sexual} models(\code{ReproductionType} \eqn{={1,2}}), the species is assumed to be diploid and chromosomes -hold two alleles at each locus. New-born offspring inherit one set of chromosomes from each of its parents. -Note that we use the term \emph{chromosome} here to represent both the single chromosomes of a haploid species and -the chromosome pair of a diploid species.\cr - -\emph{Simple genetic architecture}\cr -A simple type of architecture may be used by choosing the \emph{one chromosome per trait} -option (\code{Architecture} \eqn{=0}) and setting the number of loci per chromosome; -all chromosomes will carry the same number of loci.\cr - -In the 1.x versions of \emph{RangeShifter}, the trait value was held by the individual directly -as a â€pseudo-gene’ (for diploid species, the mean of two such alleles controlled the phenotype), -but this did not allow for representation of more complex genetic phenomena, such as linkage -between traits. This simple type of implementation may still be represented approximately by -choosing the â€one chromosome per trait’ option, and setting one locus per chromosome. - -\emph{Flexible genetic architecture}\cr -For a more realistic representation of heritable traits, an explicit genetic architecture -may be defined, which must be read from a text file (\code{Architecture} \eqn{=1}). -The file specifies how many chromosomes -each individual will have, the number of loci on each chromosome and which loci contribute -to the phenotypic value of each trait. Thus, for example, it is possible to model a species -exhibiting a single variable trait (e.g. the mean of a negative exponential dispersal kernel) -dependent on loci spreads across three chromosomes or a species exhibiting three trait (e.g. -density-dependent emigration) all of which are governed by loci located on a single chromosome. -In practice, most genetic architectures are likely to fall somewhere between these extremes, -i.e. there will be several chromosomes and traits will be mapped across them. In contrast to -\emph{RangeShifter} v1, whenever there are variable traits in a model, evolution is assumed, although -it can if desired be effectively eliminated for a haploid species by setting a very low mutation -probability (\code{ProbMutn}).\cr - -Care must be taken to specify the architecture file in the required format. This is an example -architecture file content:\cr\cr -NChromosomes 4\cr -NLoci 5 6 10 2\cr -Trait 0 NLoci 4 0 0 0 1 0 2 1 5\cr -Trait 1 NLoci 8 0 4 2 0 2 1 2 2 2 3 2 4 2 9 3 0\cr -Trait 2 NLoci 2 1 4 3 1 \cr - -The first line contains the keyword \code{NChromosomes} followed by an integer \eqn{n_C} that -specifies the number of chromosomes.\cr -The second line contains the keyword \code{NLoci} followed by \eqn{n_C} integers which specify -the number of loci on each chromosome.\cr -Then follows one line for each heritable trait, in the order they are defined in the model -(emigration / movement / settlement). -They begin with the keyword \code{Trait} followed by an consecutive (starting with zero) integer -trait ID. On the same line follows the keyword \code{NLoci} and an integer \eqn{n_Ti} that -specifies the number of loci the corresponding trait is mapped to. After this follow \eqn{n_Ti} -integer pairs specifying the respective chromosome and locus. (Note that numbering starts at \eqn{0}.)\cr - -Any loci which do not contribute to at least one trait are treated as neutral loci (see below). -Neutral loci may also be specified for a model in which there are no adaptive traits: -Specifying a genetic architecture file for a model having no adaptive traits will result in neutral -genetics being set up for the species.\cr - -\emph{From genotype to phenotype}\cr -All alleles are represented by integer values (positive or negative), -and the sum of alleles at all loci contributing to a trait (both alleles at each locus of a diploid -species) controls the phenotype. However, as phenotypic traits exist on several widely different -scales (e.g. emigration probability between \eqn{0} and \eqn{1}, dispersal kernel mean typically -many hundreds or thousands of metres), it is necessary to specify how the allelic scale relates -to the phenotypic scale. A scaling factor is specified for each trait (the parameter -\code{TraitScaleFactor} in each dispersal sub-module), which governs how large a -change of \eqn{100} units (which is the â€integer base’ of the genome) on the allele scale will be on the -phenotypic scale. For example, if the scaling factor for density-independent emigration probability -is \eqn{0.1}, and a juvenile’s sum of all alleles contributing to that trait is \eqn{150} less than -its parent’s equivalent sum, then the juvenile’s emigration probability phenotype will be \eqn{0.15} -lower than its parent’s phenotype (but subject in this case to the constraint that it may not be -less than zero).\cr - -\emph{Mutation and Linkage}\cr -Mutation can occur when an individual allele is inherited by a new-born individual from its parent. -It is governed by two genome-level parameters: the mutation probability \code{ProbMutn} -that a mutation takes place, and standard deviation \code{MutationSD} which sets the typical magnitude. -Both are applied in a standard way at the level of the individual locus (unlike in version 1, in -which separate probabilities and magnitudes were applied for separate traits). When a mutation occurs -at a locus, a random number is drawn from a normal distribution having zero mean and the mutation standard -deviation. This number is multiplied by the integer base to yield an integer value which is added to the -allele before it is copied to the juvenile’s chromosome. The default mutation standard deviation of \eqn{0.1} -will therefore give mutations which mostly range between \eqn{-30} and \eqn{+30} at the allele scale.\cr - -In a diploid species, traits may be linked if their coding loci are on the same chromosomes; or they can -evolve independently, if their coding loci are on different chromosomes. -The degree of linkage, however, also depends on the crossover probability \code{ProbCross} specified for -the genome. If it is high, the degree of linkage is reduced, and the linked traits tend to evolve more -independently. \cr - -The crossover probability denoted the probability that, -when copying a multi-locus chromosome from a parent’s to the offspring’s genome, there will -be a change at the current locus from copying the parent’s maternally-inherited alleles to the -parent’s paternally-inherited alleles or vice versa.\cr -The crossover probability parameter is applied at the scale of the locus, i.e. during meiosis. -As a parent’s chromosomes are being inherited by its offspring, a crossover occurs at each locus with the -specified probability \code{ProbCross}. If the crossover probability is high, the degree of linkage is reduced, and two linked -traits tend to evolve more independently.\cr - -\emph{Pleiotropy and Neutral loci}\cr -It is possible that a particular locus can be specified more than once for a particular trait; this -increases its weighting relative to other loci contributing to the trait. A locus may also code for -more than one trait, i.e. it is pleiotropic. Large positive allele values at that locus will tend to -lead to larger than average values of both traits (but subject to any other loci coding separately -for the two traits). Thus the two traits are forced (to some extent) to be positively correlated. It -is not possible to specify inverse correlation between two traits in this way.\cr - -A locus which does not code for any trait is neutral, and therefore not subject directly to -selection, although the distribution across the population of allele values at that locus may vary -over time owing to genetic drift and/or linkage to loci which are under selection. Such neutral -loci may be used as markers for estimating relatedness at the individual or population level.\cr - -\emph{Genome initialisation}\cr -At model initialisation, individuals are assigned phenotypic traits drawn from a normal -distribution controlled by a specified mean phenotype and standard deviation, but also subject -to any phenotypic constraints (e.g. a probability must lie between \eqn{0} and \eqn{1}, step length -must be positive, etc.). The values for the traits initial mean and standard deviation are set in the appropriate -sub-modules, where they replace the constant values used when \code{IndVar = FALSE}. -The standard deviation for a trait may not be greater than the corresponding -scaling factor (\code{TraitScaleFactor}), but it may be substantially less if an initial population which is highly homogeneous -for a particular trait is required. \cr - -The genome actually controls individual variation relative to the -initial population mean value of a trait; thus if the sum of an individual’s alleles is negative, its -phenotype will be less than the initial mean value, and if its sum is positive, its phenotype will be -greater than the mean value. However, to prevent all alleles for a multi-loci trait being identical in -initial individuals, further random variation is applied at the allele scale (i.e. common to all traits), -which is drawn from a normal distribution having zero mean and a standard deviation specified in \code{AlleleSD}. -Note that therefore the observed variance in a trait value across the initial population may not match -exactly the specified variance for the trait. - -Side note: This differs from the implementation in version 1.x, which used a uniform distribution; hence -an initial population cannot be set up in v2.0 to have exactly the same properties as in v1, but a similar -equilibrium population should arise after a period of sufficiently strong selection for one or more traits. -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/ImportedLandscape.Rd b/RangeShiftR/man/ImportedLandscape.Rd deleted file mode 100644 index 9399449..0000000 --- a/RangeShiftR/man/ImportedLandscape.Rd +++ /dev/null @@ -1,136 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_LandParams.R -\docType{class} -\name{ImportedLandscape} -\alias{ImportedLandscape} -\title{Import a Landscape from file} -\usage{ -ImportedLandscape(LandscapeFile, - Resolution = 100, OriginCoords = c(0,0), - HabPercent = FALSE, Nhabitats, - K_or_DensDep = 10, - PatchFile = list(), - CostsFile = list(), - DynamicLandYears = 0, - SpDistFile = list(), SpDistResolution, - demogScaleLayers, nrDemogScaleLayers) -} -\arguments{ -\item{LandscapeFile}{List of matrices of the landscape habitat raster(s); contains each cells' habitat suitability or land cover index.} - -\item{Resolution}{Cell size in meters, defaults to \eqn{100}. (integer)} - -\item{OriginCoords}{X- and Y-coordinates of the map origin given in meters as a vector of length 2.} - -\item{HabPercent}{If \code{FALSE} (default), unique integer habitat codes are expected in the imported map to characterise the habitat of each cell. This requires to set \code{Nhabitats}. \cr -If \code{TRUE}, continuous values are expected, ranging from \eqn{0.0} to \eqn{100.0}, that represent percentages of habitat cover or quality.\cr -Make sure your imported landscape file uses the specified standard (see Details below).} - -\item{Nhabitats}{Required if \code{HabPercent=FALSE}: Number of habitats in the imported landscape if unique integer habitat codes are used. (integer)} - -\item{K_or_DensDep}{determines the demographic density dependence of the modelled species and is given in units of the number of individuals per hectare (defaults to \eqn{10}). -Its precise interpretation depends on the structure of the species' \code{\link[RangeShiftR]{Demography}}:\cr -If combined with a \code{\link[RangeShiftR]{StageStructure}}d model, \code{K_or_DensDep} will be used as the \emph{strength of demographic density dependence} \ifelse{html}{\out{b-1}}{\eqn{1/b}}. -If combined with a non-structured model, \code{K_or_DensDep} will be interpreted as \emph{limiting carrying capacity} \eqn{K}.\cr -The expected format:\cr -If \code{HabPercent=FALSE}: a vector of length \code{Nhabitats}, specifying the respective \code{K_or_DensDep} for every habitat code.\cr -If \code{HabPercent=TRUE}: \code{K_or_DensDep} is interpreted as the maximum \code{K_or_DensDep} reached in cells with \eqn{100}\% habitat. All other cells hold the respective fraction of \eqn{K_or_DensDep}.} - -\item{PatchFile}{List of matrices of the patch raster(s); contains each cells' patch index.} - -\item{CostsFile}{List of matrices of the SMS cost raster(s); contains each cells' SMS cost.} - -\item{DynamicLandYears}{Integer vector indicating the years of landscape changes. For a non-dynamic landscape its only entry is \eqn{0} (default). -For a dynamic landscape, \code{DynamicLandYears} lists the years in which the corresponding habitat maps in \code{LandscapeFile} and - if applicable - their respective patch and/or costs -maps (in \code{PatchFile},\code{CostsFile}) are used in the simulation. More details below.} - -\item{SpDistFile}{List of one matrix containing the species' initial distribution raster.} - -\item{SpDistResolution}{Required if \code{SpDistFile} is given: Cell size of the distribution map in meters. (integer) Must be an integer multiple of the landscape resolution.} - -\item{demogScaleLayers}{List of arrays that describe additional landscape layers which can be used to locally scale certain demographic rates and thus allow them to vary spatially. -The list must contain equally sized 3D-arrays, one for each element in \code{DynamicLandYears}, which are interpreted as stacked layers. -The arrays' first two dimensions correspond to the x- and y-dimensions of the maps in \code{LandscapeFile} and must match in resolution and offset; -the third dimension indexes the various layers (of which there are \code{nrDemogScaleLayers}). -Can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}. Contain percentage values ranging from \eqn{0.0} to \eqn{100.0}.} - -\item{nrDemogScaleLayers}{number of additional landscape layers for spatial demographic scaling} -} -\value{ -A parameter object of class ImportedLandscape -} -\description{ -Provide the matrices of the map(s) to be imported, their resolution, -origin coordinates and, if applicable, the number of habitat codes (\code{Nhabitats}) -as well as their respective demographic density dependence (\code{K_or_DensDep}). - -For a dynamic landscape, the year in which each landscape is loaded has to be provided. - -Other, optional input maps are:\cr -- Patch map(s) to define habitat patches,\cr -- SMS cost map(s) to define landscape resistance to,\cr -- a distribution map to define an initial species distribution. -} -\details{ -The \code{LandscapeFile} can be of one of two different types:\cr -\itemize{ - \item \emph{Raster with habitat codes} (\code{HabPercent=FALSE})\cr In this option each habitat or land-cover type has a unique integer code. Each cell in the file contains a single habitat code and \eqn{100} percent coverage is assumed for the cell. The landscape is therefore composed of discrete habitat cells. The codes are required to be sequential integers starting from \eqn{1} and ranging to \code{Nhabitats}.\cr - \item \emph{Raster with habitat quality} (\code{HabPercent=TRUE})\cr Each cell in the landscape is assigned a continuous percentage value between \eqn{0.0} and \eqn{100.0} of the maximum \code{K_or_DensDep}. There are no explicit habitat or land-cover types. This allows integrating different methods for calculating the habitat suitability for a given species. For example, qualities can result from - different methods of suitability modelling, which incorporate multiple variables like habitat types, elevation, climate, etc. In the current version of the program, a straight-line relationship between the habitat quality and the actual density-dependence of the population dynamics (i.e. \eqn{K} or \eqn{1/b} in a non-structured or structured population, respectively) is assumed. - Therefore, the quality should be scaled accordingly in case of a curvilinear relationship. - } - -\code{OriginCoords} is the map origin given as a vector of length 2 where the first entry is the x-coordinate (longitude) of the lower-left corner and -the second entry is the y-coordinate (latitude) of the lower-left corner.\cr - -\emph{Patch map} \cr -The simulation can be run as a \emph{patch-based model} on the same habitat map described above. An additional matrix must be provided through \code{PatchFile}: a raster map of the same landscape, where -each cell contains the ID number of the patch to which it belongs. Each patch must have a unique positive integer ID. The ID of every cell that does not belong to a patch (i.e. non-habitat/matrix) must be zero. -Note that a single patch is the unit at which the density dependence in the population dynamics acts. Therefore, a patch can be discontinuous, i.e. it can contain cells that do not belong to the patch if they -are assumed not to affect the dynamics, or on the other hand, patch cells that are not physically contiguous to the rest of the patch cells. - -\emph{Costs layer} \cr -Only used if the simulation is run with \code{\link[RangeShiftR]{SMS}} as its transfer module and the landscapes resistance to movement is given via a costs raster map (see argument \code{Costs} in \code{SMS()}). -In this case, the specified raster has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being \eqn{1}. -Using a cost layer is the only option when the landscape comprises habitat coverage or quality. - -\emph{Initial distribution} \cr -A \emph{species distribution map} can be overlaid on top of the habitat map and can be used to define an initial distribution. The raster matrix is provided through \code{SpDistFile} must be aligned with the landscape -map, i.e. the coordinates of the lower-left corner must be the same. The resolution can be the same or coarser, provided that it is a multiple of the landscape resolution. For example, if the landscape cell size is -\eqn{250m}, the species distribution can be at the resolution of \eqn{250m}, \eqn{500m}, \eqn{750m}, \eqn{1000m} etc. -Each cell of the species distribution map must contain either \eqn{0} (species absent or not recorded) or \eqn{1} (species present). - -\emph{Demographic scaling layers} \cr -A number of additional landscape layers can be provided in \code{demogScaleLayers} to locally scale certain demographic rates and thus allow them to vary spatially. -This can only be used in combination with habitat quality maps, i.e. when \code{HabPercent=TRUE}, and with a stage-structured population model. -The additional layers contain percentage values ranging from \eqn{0.0} to \eqn{100.0}. Chosen demographic rates for a specified stage and sex can be mapped to one of these scaling layers using the -parameters \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} in \code{\link[RangeShiftR]{StageStructure}}. If a demographic rate varies spatially, its value in the transition matrix \code{TransMatrix}) -is now interpreted as a maximum value, while the realised local value in each cell or patch is determined as this maximum value scaled by the percentage given in the respective mapped scaling layer. -For a patch-based landscape, the scaling percentage of a patch is given by the average percentage of its constituent cells. -Potential density-dependence mediated by the strength 1/b still takes effect also for spatially-varying demographic rates. The respective base values φ_0, Ď_0 or Îł_0 are then replaced by their locally scaled values. - -\emph{Dynamic landscapes} \cr -An imported landscape may be dynamic, i.e. the attributes of cells (either habitat class or quality index) and its patch number (if the model is patch-based) may be changed at specified years during the course of -a simulation. Note that any landscape change occurs at the start of the year, i.e. before the first/only reproductive season. In a patch-based model, the shape of patches may change, patches may -be removed and new patches may be created where there was previously inter-patch matrix. Thus some populations may be extirpated (in a non-structured population, all individuals die; in a stage-structured population, -all individuals either die or have an immediate opportunity to disperse), and new populations may arise from colonisation of newly suitable areas. - -However, there are certain restrictions. Any part of the original landscape which was a â€no-data’ region (e.g. the sea or land beyond a study area boundary) must remain in that state for the whole simulation. -The identity of patches is not cross-checked between changes, and care must therefore be taken to ensure consistency; otherwise, a patch (and its resident population) can jump to a distant location or be split into -two or more disjunct parts, with unpredictable and possibly weird consequences. It is legitimate for a patch to be split into two or more separate patches (e.g. by construction of a motorway or some other barrier), -but any existing population will remain with the part (if any) which retains the original patch number, and populations within the other parts (having a new patch number) must arise through colonisation. -Possible ways to work around this restriction include: -\itemize{ - \item Assign to all post-change parts of the original patch a new, unique patch number and specify that dispersal is allowed after population destruction (which is possible only for a structured population), in which -case some colonisation of the new patches should occur. Note that the connectivity matrix will be misleading in such cases, as every successful â€disperser’ will appear to have moved from patch N to patch M (where M -is the new patch number). - \item Instead of a single original patch, define two (or more) distinct but adjacent patches in the original landscape, so that they each retain their own populations when they become separated by the landscape change. -} - -A dynamic landscape can be specified using the slots \code{LandscapeFile} (, \code{PatchFile}, \code{CostsFile}) and \code{DynamicLandYears}. \code{LandscapeFile} (and \code{PatchFile}, \code{CostsFile}) take a list with the matrices representing the raster maps -to be used. All provided maps must agree in resolution, extent and origin. \code{DynamicLandYears} is a number vector that contains the years, in which these landscapes shall be loaded; it must have the same ordering so -that years and maps can be matched. If a specific map is used multiple times, it must be listed each time nevertheless. -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/Initialise.Rd b/RangeShiftR/man/Initialise.Rd deleted file mode 100644 index 4575cff..0000000 --- a/RangeShiftR/man/Initialise.Rd +++ /dev/null @@ -1,149 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_InitialisationParams.R -\docType{class} -\name{Initialise} -\alias{Initialise} -\title{Set Initialisation Parameters} -\usage{ -Initialise(InitType = 0, FreeType = 1, SpType = 0, NrCells, - InitIndsFile = "NULL", InitIndsList = list(), - InitDens = 1, IndsHaCell, PropStages = 0, InitAge = 2, - minX, minY, maxX, maxY, InitFreezeYear = 0, - RestrictRows = 0, RestrictFreq = 0, FinalFreezeYear = 0) -} -\arguments{ -\item{InitType}{Type of initialisation:\cr -\code{InitType} = \eqn{0}: Free initialisation according to habitat map (default) (set \code{FreeType}), \cr -\code{InitType} = \eqn{1}: From loaded species distribution map (set \code{SpType}),\cr -\code{InitType} = \eqn{2}: From initial individuals list file (set \code{InitIndsFile} or \code{InitIndsList}, respectively). -\cr Must to be \eqn{0} for an \code{\link[RangeShiftR]{ArtificialLandscape}}.} - -\item{FreeType, NrCells}{Option for \emph{free initialisation}, i.e. required only if \code{InitType}\eqn{ = 0}:\cr -\code{FreeType} = \eqn{0}: Random; provide number of cells/patches to initialise in \code{NrCells}. \cr -\code{FreeType} = \eqn{1}: All suitable cells/patches (default).} - -\item{SpType, NrCells}{Option for \emph{initialisation from species distribution map}, i.e. required only if \code{InitType}\eqn{ = 1}:\cr -\code{SpType} = \eqn{0}: All suitable cells within all distribution presence cells (default), \cr -\code{SpType} = \eqn{1}: All suitable cells within some randomly chosen presence cells; set number of cells to initialise in \code{NrCells}.} - -\item{InitIndsFile}{Name of \emph{initial individuals list file}, required only if \code{InitType}\eqn{ = 2}.\cr -For informaton on the required file format see the Details below.} - -\item{InitIndsList}{The list of initial individuals given as a list of data.frames - one for each replicate simulation (instead of as file name in \code{InitIndsFile}), using the same format (see Details).} - -\item{InitDens, IndsHaCell}{Number of individuals to be seeded in each cell/patch:\cr -\code{InitDens} = \eqn{0}: At \code{K_or_DensDep},\cr -\code{InitDens} = \eqn{1}: At half \code{K_or_DensDep} (default),\cr -\code{InitDens} = \eqn{2}: Set the number of individuals per cell/hectare to initialise in \code{IndsHaCell}.} - -\item{PropStages}{For \code{\link[RangeShiftR]{StageStructure}}d models only: Proportion of individuals initialised in each stage. -Requires a vector of length equal to the number of stages; its entries must be \eqn{\ge 0} and sum to \eqn{1.0}. However, juveniles -can't be initialised and thus stage \eqn{0} (first entry) must have a value of \eqn{0.0}.} - -\item{InitAge}{For \code{StageStructure}d models only: Initial age distribution within each stage:\cr -\code{InitAge} = \eqn{0}: Minimum age for the respective stage.\cr -\code{InitAge} = \eqn{1}: Age randomly sampled between the minimum and the maximum age for the respective stage.\cr -\code{InitAge} = \eqn{2}: According to a quasi-equilibrium distribution (default).} - -\item{minX, maxX, minY, maxY}{Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): Restrict initial range in X- and/or Y- coordinates, given in number of cells. -All must be \eqn{\ge 0} and (\code{maxX,maxY})\eqn{>}(\code{minX,minY}). (Integer)} - -\item{InitFreezeYear}{Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): The year until which species is confined to -its initial range limits.} - -\item{RestrictRows}{Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): The number of rows at northern front to restrict range. -If set to \eqn{0}, the range restriction turned off.} - -\item{RestrictFreq}{Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): Frequency in years at which range is restricted to northern front.} - -\item{FinalFreezeYear}{Option for \emph{free initialisation} (\code{InitType}\eqn{ = 0}): The year after which species is confined to its new, current range limits, after a -period of range expansion. Will be ignored if set to \eqn{0}, otherwise must be \eqn{>} \code{InitFreezeYear}.} -} -\value{ -a parameter object of class "InitialisationParams" -} -\description{ -Initialisation rules define the way in which initial individuals are placed in the landscape at the start of the simulation. -There are three initialisation types:\cr -Free initialisation according to the habitat map (\code{InitType}\eqn{= 0}), -initialisation from a loaded species distribution map (\code{InitType} \eqn{= 1}), -and the initialisation from an initial individuals list (\code{InitType} \eqn{= 2}), -with additional options for each type, see the Details.\cr -Additionally, initial density and, if applicable, initial stage and age distributions can be set. -} -\details{ -\emph{Initialisation Types}\cr -\itemize{ - \item \emph{Free Initialisation.} (\code{InitType}\eqn{ = 0})\cr The population is initialised according to suitable habitat in the landscape. -Either all (\code{FreeType}\eqn{=1}), or a specified number (\code{NrCells}) of randomly selected (\code{FreeType}\eqn{=0}) cells/patches -will be seeded. When using an artificial landscape, this is the only option available. - \item \emph{From loaded species distribution map.} (\code{InitType}\eqn{ = 1})\cr The population is initialised according to a loaded -species distribution map, which needs to be provided through the module \code{\link[RangeShiftR]{ImportedLandscape}}, option \code{SpDistFile}. -All habitat cells/patches within either all (\code{SpType}\eqn{=0}), or a specified number (\code{NrCells}) of randomly selected -(\code{SpType}\eqn{=1}) presence cells (which can have a lower resolution) specified by this distribution map will seeded. - \item \emph{From initial individuals list file.} (\code{InitType}\eqn{ = 2})\cr The population is initialised according to a list of specific -individuals (of given sex, age and stage, if appropriate) in specified cells/patches. This option allows simulation of a reintroduction -scenario.\cr The list has to be loaded from a file in the path given by \code{InitIndsFile} or given as a list of dataframes in \code{InitIndsList}. -It must be a tab-separated list with -explicit column headers and one row for each individual to be initialized. The expected column headers depend on the model settings and -must match the following order exactly: 'Year', 'Species' (must \eqn{= 0}), for cell-/patch-based: 'X', 'Y' / 'PatchID', 'Ninds', for sexual model: 'Sex', -for stage-structured population: 'Age', 'Stage'. The sex is specified with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. -} - -\emph{Initialial density, stage, and age}\cr -For \code{InitType}\eqn{ = {0,1}}, the number of individuals that should be seeded in each cell or patch has to be set. -There are three options: -\itemize{ - \item \emph{At} \code{K_or_DensDep}. (\code{InitDens}\eqn{=0})\cr The cell/patch will be saturated at its respective \eqn{K} or \eqn{1/b}. - \item \emph{At half} \code{K_or_DensDep}. (\code{InitDens}\eqn{=1})\cr The cell/patch will be initialised at half its \eqn{K} or \eqn{1/b}. - \item \emph{Set value} \code{IndsHaCell}. (\code{InitDens}\eqn{=2})\cr Set the number of individuals to be seeded in each cell or the density -in each patch (in units of individuals per hectare). -} -(These settings have no effect for \code{InitType}\eqn{ = 2}.) - -In the case of \code{\link[RangeShiftR]{StageStructure}}d models, the initial stage and age distributions must be specified. -If \code{InitType}\eqn{ = 2}, this is done via the \code{InitIndsFile} or \code{InitIndsList}, whereas for \code{InitType}\eqn{ = {0,1}}, -the proportion of individuals that should be initialised at each stage class is set via the numeric vector \code{PropStages}. It needs -to have as many entries as number of stages, starting from the juvenile stage (\eqn{0}). Note that these proportions must sum up to \eqn{1.0}, -however the proportion of juveniles must be \eqn{0.0}. - -Options for initial age distributions: -\itemize{ - \item \emph{Minimal age} of respective stage. (\code{InitAge}=0) - \item \emph{Randomise.} (\code{InitAge}=1)\cr Individuals initialised in each stage will get an age randomly sampled between -the minimum and the maximum age for their respective stage. - \item \emph{Quasi-equilibrium.} (\code{InitAge}=2)\cr Initial age distribution is set approximately in accordance with the number of years -taken to pass through the stage and the (female) survival rate of the respective stage. -} -(These settings have no effect for \code{InitType}\eqn{ = 2}.) - -\emph{Additional options for free initialisation}\cr -In the case of free initialisation, either all or a specified number of randomly selected cells/patches will be seeded. -It is possible to restrict the landscape area available for initialisation by setting limits to the x- and y- coordinates using -\code{minX,maxX,minY} and \code{maxY}). - -Additionally, for all free initialisation methods, it is possible to restrict the available landscape to the initialised range for -a specified period, specifically until year \code{InitFreezeYear}. This option may be particularly useful in an evolutionary model, -to allow a population to reach equilibrium in its original range before being allowed to expand into the remainder of the landscape. - -\emph{Restrict range to northern front} is a further option provided as an additional feature for models of range expansion. Whilst not -strictly an initialisation option, it is provided in this context as it will typically be applied together with restriction of the -initial range in theoretical eco-evolutional models, where the population is firstly allowed to evolve certain traits in a stable range, -then allowed to expand its range during a period of environmental change (when dispersal traits can come under strong selection), and -finally further restricted to a stable range (set \code{FinalFreezeYear}). During the period of range expansion, the population can build up to very large numbers -of individuals in the core of the range, but the area of interest, where strong selection occurs, lies close to the range front. -Therefore, individuals in the core can be discarded, and this is achieved by progressively restricting the suitable range to a number -of rows behind the current range front (set \code{RestrictRows}) so that local populations in the core go extinct. This occurs at -a frequency \code{RestrictFreq} specified in years. The parameter \code{FinalFreezeYear} sets the year after which the range will be -frozen to its new, current limits. It must either be zero, in which case range expansion continues until either the end of the simulation or the northern edge of the -landscape is reached, or set to a year after the year specified in \code{InitFreezeYear}. - -This feature is provided only for expansion in a northerly direction (increasing Y); the initial population should therefore be -established in the southern part of the landscape (low Y values). To turn it off, set \code{RestrictRows = 0}. -} -\examples{ -init <- Initialise() # use all defaults (a stage-structured model requires setting PropStages) -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/RSsim.Rd b/RangeShiftR/man/RSsim.Rd deleted file mode 100644 index 26fa2e3..0000000 --- a/RangeShiftR/man/RSsim.Rd +++ /dev/null @@ -1,98 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RSsim.R -\name{RSsim} -\alias{RSsim} -\title{Define a RangeShiftR parameter master object} -\usage{ -RSsim(batchnum = 1L, - simul = Simulation(), - land = ArtificialLandscape(), - demog = Demography(Rmax = 1.5), - dispersal = Dispersal(), - gene = Genetics(), - init = Initialise(), - seed = 0) -} -\arguments{ -\item{batchnum}{Batch ID is part of output files names and can be used to prevent overwriting.} - -\item{simul}{Set \code{\link[RangeShiftR]{Simulation}} parameters} - -\item{land}{Set landscape parameters. Can be either \code{\link[RangeShiftR]{ArtificialLandscape}} or \code{\link[RangeShiftR]{ImportedLandscape}}.} - -\item{demog}{Set \code{\link[RangeShiftR]{Demography}} parameters} - -\item{dispersal}{Set \code{\link[RangeShiftR]{Dispersal}} parameters} - -\item{gene}{Set \code{\link[RangeShiftR]{Genetics}} parameters} - -\item{init}{Set \code{\link[RangeShiftR]{Initialise}} parameters} - -\item{seed}{Set seed for random number generator. If non-positive, a random seed will be generated.} -} -\value{ -returns a \emph{RangeShiftR} parameter master object (class 'RSparams') - -if given parameters pass validity check, returns a RangeShiftR parameter master object of class "RSparams", otherwise NULL -} -\description{ -Set up a parameter master that can be used in \code{\link[RangeShiftR]{RunRS}}() to run a simulation.\cr -All parameter modules can be added to an existing parameter master via the "+"-functions. However, note that the entire respective module will be overwritten.\cr -} -\details{ -\emph{Demographic stochasticity} \cr Demographic stochasticity is fundamentally important for the dynamics of populations that are naturally small or have declined to low abundances owing to -anthropogenic pressures. Additionally, inter-individual variability within populations can have a major influence on dynamics. Modelling stochastic events -that happen to individuals is crucial for avoiding systematic overestimation of population viability or rate of spread -\insertCite{clark2001invasion,kendall2003unstructured,robert2003variation,grimm2005individual,jongejans2008dispersal,travis2011improving}{RangeShiftR}. -Thus, population dynamics in \emph{RangeShiftR} were constructed to be -fully individual-based and stochastic. Each reproductive individual produces a discrete number of offspring sampled from a Poisson distribution with a mean -that is influenced by the species’ demographic parameters and the local population density. As \emph{RangeShiftR} has been designed for modelling a variety of -species with different life-history traits, a range of different population models can be chosen, depending on the species being modelled and on the -available information (see \code{\link[RangeShiftR]{Demography}}). In all cases demographic stochasticity is implemented. - -\emph{Cell-based vs. patch-based model} \cr -\emph{RangeShiftR} can be run as a cell-based or patch-based model \insertCite{bian2003representation}{RangeShiftR}. It should be noted -that the selection between cell-based or patch-based model is of fundamental importance for population dynamics calculations because -it influences the spatial extent at which density dependence operates. In both cases, the landscape is represented as a grid with cells -belonging to a particular habitat type, holding a percentage of habitat cover or being assigned a habitat quality index. However, -when \emph{RangeShiftR} is run using the cell-based setting, the cell is the scale at which processes such as population dynamics and dispersal -act. The individuals present in a cell define a distinct population, and density-dependencies for reproduction, emigration and settlement -all operate at this scale. Even in the case where two habitat cells are adjacent, they still hold separate populations. In contrast, in -the patch-based model, population dynamics happen at the patch level, a patch being an assemblage of landscape cells of potentially -different habitat types. Patches are not defined automatically by \emph{RangeShiftR} (see \code{\link[RangeShiftR]{ImportedLandscape}}). -Rather, the user is required to define which cells belong -to which patch, taking into account the ecological understanding of the study species. Density-dependencies regarding reproduction, -development, survival, emigration and settlement will depend on the density of individuals in a patch. However, discrete step-wise -movements during the transfer phase will always use the cell as the resolution at which steps occur, thus retaining important information -about the landscape heterogeneity.\cr -The choice between cell- and patch-based modelling can be of crucial importance. While a cell-based model provides an excellent abstraction -of space for many theoretical studies, for some applied studies it may be insufficient. This is because the misrepresentation of population -dynamics and dispersal (in terms of the scale at which they operate) can lead to substantial biases in projections regarding, for example, -rate of range expansion and population persistence \insertCite{bocedi2012projecting}{RangeShiftR}. Ideally, the scales at which population dynamics and dispersal -processes are modelled (by choosing the cell resolution or by defining the patches) should be those that are relevant for the species. -Importantly, the patch-based implementation allows separating the scales used for population dynamics and movements. In this case, the -landscape can be modelled at very fine resolution in order to capture the features that are likely to influence movements (e.g. narrow linear -features) without constraining the local population dynamics to operate at too small a scale. - -\emph{Temporal and spatial scales} \cr -It is important to note an essential difference in spatial scale between -the cell-based and the patch-based version. In the cell-based model, the cell resolution represents the spatial scale at which the two fundamental -processes of population dynamics and dispersal happen. This means that all the density-dependencies in the model (reproduction, survival, -emigration, settlement, etc...) act at the cell scale and the same scale is used as a single step unit for discrete movement models. In -the patch-based version, two spatial scales are simultaneously present: the cell scale, which in this case is used just for the transfer phase -of dispersal (movements) and the patch scale, at which the density-dependences are acting. The choice of type of model and cell resolution (as -well as the definition/scale of patches) is of fundamental importance because, depending on the system and on the question being tackled, it can -systematically bias the outcomes of the model.\cr -The user also defines the temporal scales. There are three distinct temporal scales. The highest-level one has years as units and represents the -scale at which variations in the abiotic environment are modelled (\emph{RangeShiftR} does not explicitly model within-year variability in conditions). -The intermediate scale is the species’ reproductive season. The model can be used to simulate the case where there is only one reproductive -season per year but it is also possible to simulate situations where there more than one per year or only one every \eqn{N} years. A single -reproductive event is always followed by dispersal. Finally, the smallest time scale is represented by the number of steps that emigrants take -during the movement phase of dispersal. This can be determined by a maximum number of steps, per-step mortality or both. -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/RangeShiftR-package.Rd b/RangeShiftR/man/RangeShiftR-package.Rd deleted file mode 100644 index 286270c..0000000 --- a/RangeShiftR/man/RangeShiftR-package.Rd +++ /dev/null @@ -1,50 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RangeShiftR.R -\docType{package} -\name{RangeShiftR-package} -\alias{RangeShiftR} -\alias{RangeShiftR-package} -\title{RangeShiftR: An R package for individual-based simulation of spatial eco-evolutionary dynamics and species' responses to environmental changes} -\description{ -RangeShiftR provides individual-based simulations of spatial eco-evolutionary dynamics. It is based on the C++ software RangeShifter, making it flexible and fast. RangeShiftR models the processes of demography, dispersal and evolution in an inter-dependent way, offering substantial complexity in the corresponding modelling choices. It is entirely open-source and aims to facilitate the application of individual-based and mechanistic modelling to eco-evolutionary questions. -} -\details{ -\code{RangeShiftR} provides flexible and fast simulations of spatial eco-evolutionary dynamics. -It implements the individual-based simulation software \emph{RangeShifter}, -\insertCite{bocedi2014,bocedi2020}{RangeShiftR}, -making it available for all machines that can build and run \emph{R}. - -\code{RangeShiftR} models the processes of demography, dispersal and evolution in an -inter-dependent way, offering substantial complexity in the corresponding modelling choices. -It is entirely open-source and aims to facilitate the application -of individual-based and mechanistic modelling to eco-evolutionary questions. - -The \emph{RangeShifter} project is presented on our website -\url{https://rangeshifter.github.io/}. - -To get started with the package, please find an overview and a range of tutorials here: -\url{https://rangeshifter.github.io/RangeshiftR-tutorials/}. -} -\references{ -\insertAllCited{} -} -\seealso{ -Useful links: -\itemize{ - \item \url{https://rangeshifter.github.io/RangeshiftR-tutorials/} -} - -} -\author{ -\strong{Maintainer}: Anne-Kathleen Malchow \email{rangeshiftr@uni-potsdam.de} - -Authors: -\itemize{ - \item Greta Bocedi - \item Stephen C.F. Palmer - \item Justin M.J. Travis - \item Damaris Zurell -} - -} -\keyword{internal} diff --git a/RangeShiftR/man/RangeShiftR_citation.Rd b/RangeShiftR/man/RangeShiftR_citation.Rd deleted file mode 100644 index 84951ee..0000000 --- a/RangeShiftR/man/RangeShiftR_citation.Rd +++ /dev/null @@ -1,11 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RangeShiftR.R -\name{RangeShiftR_citation} -\alias{RangeShiftR_citation} -\title{Display citation} -\usage{ -RangeShiftR_citation() -} -\description{ -Display citation -} diff --git a/RangeShiftR/man/RangeShiftR_license.Rd b/RangeShiftR/man/RangeShiftR_license.Rd deleted file mode 100644 index d9575c4..0000000 --- a/RangeShiftR/man/RangeShiftR_license.Rd +++ /dev/null @@ -1,11 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RangeShiftR.R -\name{RangeShiftR_license} -\alias{RangeShiftR_license} -\title{Display RangeShiftR license information} -\usage{ -RangeShiftR_license() -} -\description{ -Display RangeShiftR license information -} diff --git a/RangeShiftR/man/RunRS.Rd b/RangeShiftR/man/RunRS.Rd deleted file mode 100644 index 6a2bd43..0000000 --- a/RangeShiftR/man/RunRS.Rd +++ /dev/null @@ -1,21 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/RunRS.R -\name{RunRS} -\alias{RunRS} -\title{Run the Simulation} -\usage{ -RunRS(RSparams, dirpath = getwd()) -} -\arguments{ -\item{RSparams}{A parameter master object (class 'RSparams'), contains all parameters to specify the simulation settings. -Can be generated using the function \code{\link[RangeShiftR]{RSsim}}.} - -\item{dirpath}{File path to RS working directory; must contain the folders 'Inputs', 'Outputs', 'Output_Maps'.\cr -If NULL, the current \code{R} working directory will be used.} -} -\value{ -returns an error code -} -\description{ -Run the Simulation -} diff --git a/RangeShiftR/man/SMS.Rd b/RangeShiftR/man/SMS.Rd deleted file mode 100644 index 87274d3..0000000 --- a/RangeShiftR/man/SMS.Rd +++ /dev/null @@ -1,150 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DispersalParams.R -\docType{class} -\name{SMS} -\alias{SMS} -\title{Set up a Stochastic Movement Simulator} -\usage{ -SMS(PR = 1, PRMethod = 1, MemSize = 1, - DP = 1.0, - GoalType = 0, - GoalBias = 1.0, AlphaDB, BetaDB, - IndVar = FALSE, - Costs, StepMort = 0.0, - StraightenPath = TRUE) -} -\arguments{ -\item{PR}{Perceptual range. Given in number of cells, defaults to \eqn{1}. (integer)} - -\item{PRMethod}{Method to evaluate the effective cost of a particular step from the landscape within the perceptual range:\cr \eqn{1 = }Arithmetic mean (default)\cr \eqn{2 = }Harmonic -mean\cr \eqn{3 = }Weighted arithmetic mean} - -\item{MemSize}{Size of memory, given as the number of previous steps over which to calculate current direction to apply directional persistence -(\code{DP}). A maximum of \eqn{14} steps is supported, default is \eqn{1}. (integer)} - -\item{DP}{Directional persistence. Corresponds to the tendency to follow a correlated random walk, must be \eqn{\ge 1.0}, defaults to \eqn{1.0}.\cr -If \code{IndVar=TRUE}, expects a vector of length three specifying (Mean, SD, TraitScaleFactor) of \code{DP}.} - -\item{GoalType}{Goal bias type: \eqn{0 = } None (default), \eqn{2 = } Dispersal bias.} - -\item{GoalBias}{Only if \code{GoalType=2}: Goal bias strength. Must be must be \eqn{\ge 1.0}, defaults to \eqn{1.0}. \cr If \code{IndVar=TRUE}, expects a vector of length three -specifying (Mean, SD, TraitScaleFactor) of \code{GoalBias}.} - -\item{AlphaDB}{Required if \code{GoalType=2}: Dispersal bias decay rate. Must be must be \eqn{> 0.0}.\cr If \code{IndVar=TRUE}, expects a vector of length three -specifying (Mean, SD, TraitScaleFactor) of \code{AlphaDB}.} - -\item{BetaDB}{Required if \code{GoalType=2}: Dispersal bias decay inflection point (given in number of steps). Must be must be \eqn{> 0.0}.\cr If \code{IndVar=TRUE}, -expects a vector of length three specifying (Mean, SD, TraitScaleFactor) of \code{BetaDB}.} - -\item{IndVar}{Individual variability in SMS traits (i.e. \code{DP}, \code{GoalBias}, \code{AlphaDB} and \code{BetaDB})? Defaults to \code{FALSE}.} - -\item{Costs}{Describes the landscapes resistance to movement. Set either: \cr - - \emph{habitat-specific} costs for each habitat type, or\cr - - \code{"file"}, to indictae to use the \emph{cost raster} map(s) specified in the landscape module and import the cost values from them.\cr -In the first case of \emph{habitat-specific} costs a numeric vector is expected with, respectively, length \code{Nhabitats} for an \code{\link[RangeShiftR]{ImportedLandscape}} -with habitat codes (i.e. \code{HabPercent=FALSE})) or length \eqn{2} for an \code{\link[RangeShiftR]{ArtificialLandscape}} (matrix and habitat costs).\cr -In the second case of importing a \emph{cost raster} file, specify the file name(s) in the \code{\link[RangeShiftR]{ImportedLandscape}} module. -The specified map has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value (\eqn{\ge 1}). -This is the only option for an imported landscape with habitat qualities / cover percentage (i.e. \code{HabPercent=TRUE}).} - -\item{StepMort}{Per-step mortality probability. Can be either \emph{constant}, in which case a single numeric is expected (the default, with -value \eqn{0.0}) or \emph{habitat-specific}, in which case a numeric vector (with a length as described above for \code{Costs}) is expected. -All values must be within the half-open interval \eqn{[0,1)}. \cr -For an imported habitat quality landscape (\code{HabPercent=TRUE}), only constant per-step mortality is allowed.} - -\item{StraightenPath}{Straighten path after decision not to settle in a patch? Defaults to \code{TRUE}, see Details below.} -} -\value{ -a parameter object of class "StochMove" -} -\description{ -A method to describe \code{\link[RangeShiftR]{Transfer}}: -SMS is a stochastic individual-based movement model where organisms move through grid-based, heterogeneous landscapes. The model uses similar -cost surfaces as the least cost path (LCP) method, but it relaxes two of its main assumptions: Firstly, individuals are not assumed to be -omniscient, but move according to what they can perceive of the landscape within their perceptual range (\code{PR}). Secondly, individuals -do not know a priori their final destination, which is a reasonable assumption for dispersing individuals. For a complete description of the -method, see the Details below or refer to \insertCite{palmer2011introducing;textual}{RangeShiftR}. -} -\details{ -SMS is a stochastic individual-based model where organisms move through grid-based, heterogeneous landscapes. The model uses similar cost -surfaces as the least cost path (LCP) \insertCite{adriaensen2003application,chardon2003incorporating,stevens2006gene,driezen2007evaluating}{RangeShiftR}, -but it relaxes two of the main assumptions/limitations of the latter. Firstly, individuals are not assumed to be omniscient, but move according to what they -can perceive of the landscape within their perceptual range. Secondly, individuals do not know a priori their final destination, which is a -reasonable assumption for dispersing individuals. Here, the core components of SMS are briefly described; -see \insertCite{palmer2011introducing;textual}{RangeShiftR} for a complete description of the method. - -SMS uses cost maps where a relative cost to movement is assigned to each habitat type. Costs are integer numbers and represent the cost of -moving through a particular land cover relative to the cost of moving through breeding habitat (which is conventionally set to a cost of \eqn{1}). -Individuals take single cell steps basing their decisions on three parameters: their perceptual range (\code{PR}) (given in number of cells), -the method used to evaluate the landscape within their perceptual range (\code{PRMethod}), and their directional persistence (\code{DP}), which corresponds to -their tendency to follow a correlated random walk. At each step, the individual evaluates the surrounding habitat in order to determine -the effective cost of taking a particular step to each of the eight neighbouring cells. The effective cost is a mean of the cost of the -neighbouring cell and the surrounding cells beyond it within the \code{PR}, and is calculated by one of three possible methods: -- \emph{Arithmetic mean}\cr -- \emph{Harmonic mean} - The reciprocal of the arithmetic mean of the reciprocals of the observations (cell costs). This method increases the -detectability of low cost cells but performs less well than the arithmetic mean in detecting high cost cells. Therefore, the choice between -the two depends on whether the main driver of the animal movement is selecting for good habitat or avoiding costly habitat.\cr -- \emph{Weighted arithmetic mean} - The cost of each cell is weighted by its inverse distance from the individual (which is assumed to be in -the centre of the current cell). - -The effective cost of each neighbouring cell is weighted by the \code{DP}, which is lowest in the direction of travel. \code{DP} can be -calculated over more steps than just the previous one (up to a maximum of \eqn{14}), which is controlled by the memory size parameter (\code{MemSize}) -\insertCite{palmer2014inter,aben2014simple}{RangeShiftR}. Increasing the memory size means that an individual retains for longer its tendency to move in a -certain direction, and hence paths tend to become somewhat smoother. - -There is an option to include goal bias, i.e. a tendency to move towards a particular destination \insertCite{aben2014simple}{RangeShiftR}, -which is implemented in a similar way to \code{DP}. However, as dispersers in \emph{RangeShiftR} are naĂŻve and have no goal, it may be applied only in the â€negative’ -sense of moving away from the natal location (\code{GoalType=2}), i.e. as a dispersal bias, which is subject to a decay in strength as a -function of the total number of steps taken (set the decay rate \code{AlphaDB} and inflection point \code{BetaDB}). -This enables a dispersal path to follow a straighter trajectory initially, and later become more responsive to perceived landscape costs. - -The product of the reciprocals of effective cost, \code{DP} and dispersal bias, scaled to sum to one, -give the probabilities that the individual will move to each neighbouring cell. All the dispersing individuals move simultaneously, i.e. at -each time-step they all make one move. In the case of patch-based models, the individual is forced to leave the natal patch by increasing its -\code{DP} ten-fold until it has taken a number of steps (\eqn{=2*}\code{PR}) outside the natal patch. - -When an individual arrives in a non-natal patch and decides not to settle there (as a result of a density-dependent or mate-finding settlement -rule; see \code{\link[RangeShiftR]{Settlement}}), then there is the option that its path is straightened (\code{StraightenPath=TRUE}). This means -that it leaves the patch as soon as possible in order to search for another patch. This is achieved by increasing its \code{DP} ten-fold. However, in -certain types of model, e.g. when arbitrary contiguous patches have been defined for what is basically a continuous population, this can lead -to the path always being straightened, as an individual enters a new patch as soon as it has left the one it has rejected. In such cases, it is -advisable to disable the feature (\code{StraightenPath=FALSE}), although care must be taken that individuals do not become trapped in patches -surrounded by very high cost matrix. - -When inter-individual variability is activated (set \code{IndVar=TRUE}), the four SMS movement traits \code{DP}, as well as - if dispersal goal bias -is enabled - \code{GB}, \code{AlphaDB} and \code{BetaDB} can evolve. -For each trait the population initial mean and standard deviations must be set (instead of the constant value), as well as its scaling factor -(see \code{\link[RangeShiftR]{Genetics}}).\cr - -As currently implemented, there is no sex- or stage- dependence of SMS traits. - -The production of the output â€dispersal heat maps’, which show the total number of times each cell is visited by dispersing individuals within a -single replicate simulation, can be enabled with the option \code{SMSHeatMap} in \code{\link[RangeShiftR]{Simulation}}. - -\emph{Costs layer} \cr -Critical for the outcomes of SMS are the relative costs assigned to the different habitats (as it is also the case for -the LCP approach). Habitat costs or resistance to movement can be set manually for each habitat code or imported as a raster map, which -allows for costs to be a function of multiple variables instead of a simple value associated to the habitat type. -In the latter case, the file names are provided in the \code{\link[RangeShiftR]{ImportedLandscape}} module. -The specified map has to match the landscape raster in extent, coordinates and resolution, and each cell contains a cost value, with the minimal possible cost being \eqn{1}. -Importing a cost layer is the only option when the landscape comprises habitat coverage or quality. - -\emph{Mortality} \cr -There are two main sources of mortality: First, dispersal mortality can arise as a result of individuals failing to reach suitable habitat. Some individuals may fail -to find suitable habitat before they use up their maximum number of movement steps (\code{MaxSteps} in \code{\link[RangeShiftR]{Settlement}}). -In this first case, dispersal mortality clearly depends upon the proportion of suitable habitat in the landscape and will increase as the -availability of habitat declines.\cr -A second source of dispersal mortality can be specified by the user in form of a per-step probability of mortality (\code{StepMort}. -This can be useful for representing mortality risks that increase with distance or time spent travelling \insertCite{bonte2012costs}{RangeShiftR}. -Additionally, it is possible that the per-step mortality varies according to the nature of the local environment by providing the \code{CostMap}. - -Note that the total dispersal mortality -experienced will be the sum of the mortalities due to the two sources identified above and, in parameterising the model, it will be important -to recognize this such that dispersal mortality is not double-accounted. -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/SMSpathLengths.Rd b/RangeShiftR/man/SMSpathLengths.Rd deleted file mode 100644 index 39be4c0..0000000 --- a/RangeShiftR/man/SMSpathLengths.Rd +++ /dev/null @@ -1,20 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{SMSpathLengths} -\alias{SMSpathLengths} -\title{Get the distribution of SMS Path Lengths} -\usage{ -SMSpathLengths(s, dirpath, ...) -} -\arguments{ -\item{s}{RSmaster parameter object} - -\item{dirpath}{RS directory path} -} -\value{ -a data.frame that contains the mean (over replicates) number of SNS paths of a given length (rows) per simulated map (columns) -} -\description{ -Reads the RangeShiftR output files 'MovePaths' (if they were generated) to get the distribution of lengths of SMS -paths taken in all recorded years. -} diff --git a/RangeShiftR/man/Settlement.Rd b/RangeShiftR/man/Settlement.Rd deleted file mode 100644 index 474811b..0000000 --- a/RangeShiftR/man/Settlement.Rd +++ /dev/null @@ -1,182 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DispersalParams.R -\docType{class} -\name{Settlement} -\alias{Settlement} -\title{Set Settlement Parameters} -\usage{ -Settlement(StageDep = FALSE, SexDep = FALSE, - Settle = 0, FindMate = FALSE, - DensDep = FALSE, - IndVar = FALSE, TraitScaleFactor, - MinSteps = 0, MaxSteps = 0, MaxStepsYear = 0) -} -\arguments{ -\item{StageDep}{Stage-dependent settlement requirements? (default: \code{FALSE})} - -\item{SexDep}{Sex-dependent settlement requirements? (default: \code{FALSE})} - -\item{Settle}{Settlement codes (for \code{DispersalKernel}) or settlement probability parameters (for \emph{Movement process}) for all -stages/sexes, defaults to \eqn{0} (i.e. 'die when unsuitable' for \emph{DispersalKernel} and -'always settle when suitable' for \emph{Movement process}). See the Details below.} - -\item{FindMate}{Mating requirements to settle? Set for all stages/sexes. Must be \code{FALSE} (default) in a female-only model.} - -\item{DensDep}{Movement process only: Density-dependent settlement probability? (default: \code{FALSE})} - -\item{IndVar}{Movement process only: Individual variability in settlement probability traits? Must be \code{FALSE} (default), -if \code{DensDep=FALSE} or \code{StageDep=TRUE}.} - -\item{TraitScaleFactor}{Movement process only, required if \code{IndVar=TRUE}: Scaling factors for the three traits of density-dependent settlement, -a numeric of length \eqn{3}.} - -\item{MinSteps}{Movement process only: Minimum number of steps. Defaults to \eqn{0}.} - -\item{MaxSteps}{Movement process only: Maximum number of steps. Must be \eqn{0} or more; set to \eqn{0} (default) for “per-step mortality only”.} - -\item{MaxStepsYear}{Movement process and stage-structured population only: Maximum number of steps per year, if there are more than \eqn{1} reproductive seasons (option \code{RepSeasons} in \code{\link[RangeShiftR]{StageStructure}}). -Must be \eqn{0} or more. If \eqn{0}, every individual completes the dispersal phase in one year, i.e. between two successive reproduction phases.} -} -\value{ -a parameter object of class "SettlementParams" -} -\description{ -Settlement, or immigration, is the last phase of dispersal, when the organism stops in a new cell or patch of breeding habitat. The -available settlement conditions vary depending on the used \code{\link[RangeShiftR]{Transfer}} type. In any case, dispersing individuals -are not allowed to settle in their natal cell or patch and can only settle in suitable habitat.\cr -\emph{RangeShiftR} incorporates some basic settlement rules that can be stage- or sex-specific or both (set \code{StageDep}, \code{SexDep}). -If a movement process is used, density-dependence (\code{DensDep}) and/or inter-individual variability (\code{IndVar}) are available. -} -\details{ -The settlement phase is determined by a suite of strategies, behaviours and reaction norms that lead individuals to the decision to stop -in a particular place. Habitat selection, mate finding and density dependence are probably three of the main processes involved, -but not the only ones. Like emigration, settlement is a complex process affected by multiple criteria including inter-individual -variability and context dependencies. - -The type of implemented settlement rules depends on the movement model utilized for the \code{\link[RangeShiftR]{Transfer}}. -In any case, dispersing individuals are not allowed to settle in their natal cell or patch.\cr -\emph{RangeShiftR} incorporates some basic settlement rules that can be stage- or sex-specific or both (set \code{StageDep}, \code{SexDep}). -Inter-individual variability (\code{IndVar}) is implemented only for movement processes and then for the three traits -determining density-dependent settlement (\ifelse{html}{\out{S0}}{\eqn{S_0}}, \ifelse{html}{\out{αS}}{\eqn{α_S}}, -\ifelse{html}{\out{βS}}{\eqn{β_S}}; see below). In this case, settlement may not be stage-dependent.\cr - -\emph{Settlement with dispersal kernels}\cr -When using a \code{\link[RangeShiftR]{DispersalKernel}}, individuals are displaced directly from the starting location to the arrival location. The suitability -of the arrival cell or patch determines whether the disperser is successful or not.\cr For species with \emph{non-overlapping generations}, -where individuals have only one chance to disperse and reproduce, the model has two options if the arrival cell is unsuitable: the -individual either dies (\code{Settle} code \eqn{0}) or it can move to one of the eight neighbouring cells in the case that at least one -of them is suitable (\code{Settle} code \eqn{2}). In -the latter case, if more than one of the neighbouring cells is suitable, the individual is placed in one of them chosen randomly. -For patch-based models, if the arrival patch is unsuitable, the individual either dies or can move to a randomly chosen neighbouring -suitable patch, provided that the new patch is only one cell apart from the arrival patch.\cr For species with \emph{overlapping generations} -(i.e. a \code{\link[RangeShiftR]{StageStructure}}d population), -where individuals can disperse over multiple seasons, there are two additional options: First, if the arrival cell/patch is unsuitable, -the individual can stay there waiting until the next dispersal event when it will disperse again according to the set kernel (\code{Settle} code \eqn{1}). Second, -if both the arrival cell/patch and all eight neighbouring cells, or all eventual neighbouring patches, are unsuitable the individual -can wait in the arrival cell/patch before moving again at the next dispersal event (\code{Settle} code \eqn{3}). The arrival cell/patch is considered suitable if -it contains breeding habitat. - -If the settlement condition is the same for the entire population (\code{StageDep=FALSE} and \code{SexDep=FALSE}), then the parameter -\code{Settle} takes a single integer, specifying the corresponding settlement condition code (\eqn{0,1,2} or \eqn{3}). -In case of stage- and/or sex-specific settlement conditions, \code{Settle} must be an integer matrix with the first one/two columns -stating 'stage' and/or 'sex' (\eqn{0} for \emph{female} and \eqn{1} for \emph{male}), and the last column giving the respective settlement condition. -Exactly one row for each stage/sex-combination is required, in no particular order. - -Settlement condition codes: If the individuals current step ends in unsuitable habitat, it:\cr -\eqn{0} = die (default),\cr -\eqn{1} = wait (stage-structured models only),\cr -\eqn{2} = randomly choose a suitable neighbouring cell or die,\cr -\eqn{3} = randomly choose a suitable neighbouring cell or wait (stage-structured models only).\cr - -Simple example for sex-dependence only: Females choose a neighbouring cell or wait, males wait: \tabular{cc}{\out{ } 0 \tab \out{ } 3 \cr \out{ } 1 \tab \out{ } 0 } - -\emph{Settlement with movement processes}\cr -If individuals are dispersing by one of the two movement processes implemented (\code{\link[RangeShiftR]{SMS}} or -\code{\link[RangeShiftR]{CorrRW}}), at each step (made simultaneously) they each evaluate their current cell or patch for the -possibility of settling. This allows for the implementation of more complex settlement rules. The simplest one is that the individual -decides to stop if there is suitable habitat; this is in any case a necessary condition (set \code{DensDep=FALSE}).\cr -If a Settlement module with a constant \eqn{S_0=0} (the default) is used in a model with \emph{movement process}, -it gets converted to \eqn{S_0=1.0}, i.e. 'always settle when habitat is suitable'. \cr -\cr -Furthermore, the settlement decision can be density-dependent (set \code{DensDep=TRUE}). In this case, the individual has a probability \ifelse{html}{\out{pS}}{\eqn{p_S}} -of settling in the cell or patch \eqn{i}, given by: - -\ifelse{html}{\out{   pS(i,t) = S0 / ( 1 + eS (N(i,t) / K(i,t) - βS) ) } }{\deqn{ p_S(i,t) = S_0 / ( 1 + exp[-α_S (N(i,t)/K(i,t) - β_S) ] ) } } - -In the case of stage-structured models the above equation is modified to: - -\ifelse{html}{\out{   pS(i,t) = S0 / ( 1 + eS (b(i,t) * N(i,t) - βS) ) } }{\deqn{ p_S(i,t) = S_0 / ( 1 + exp[-α_S (b(i,t) N(i,t) - β_S) ] ) } } - -In the first case, \eqn{K(i,t)} is the carrying capacity of the cell/patch \eqn{i} at time \eqn{t} given by \code{K_or_DensDep}. -In the latter case, \eqn{b(i,t)} represents the strength of density dependence that is given by the inverse of \code{K_or_DensDep}.\cr -Further, \ifelse{html}{\out{S0}}{\eqn{S_0}} is the maximum settlement probability, -\eqn{N(i,t)} is the number of individuals in the cell/patch \eqn{i} at time \eqn{t}, -\ifelse{html}{\out{βS}}{\eqn{β_S}} is the inflection point of the function and -\ifelse{html}{\out{αS}}{\eqn{α_S}} is the slope at the inflection point.\cr - -Inter-individual variability \code{IndVar=TRUE} and thus evolution is implemented only for the three traits determining density-dependent settlement -(\code{DensDep=TRUE}), and if so, it may not be stage-dependent (\code{StageDep=FALSE}). -For each trait the initial distribution in the population (as mean and standard variation) must be set in \code{Settle} (instead of only one constant value), -as well as their scaling factors in \code{TraitScaleFactor} (see \code{\link[RangeShiftR]{Genetics}}). - -The parameters that determine the settlement probabilities have to be provided via the parameter \code{Settle}, which generally takes a numeric matrix, or - if only a single constant probability is -used (i.e. \code{DensDep, IndVar, StageDep, SexDep = FALSE}) - a single numeric. -The format of the matrix is defined as follows: The number of columns depend on the options \code{DensDep} and \code{IndVar}. If \code{DensDep=FALSE}, the -density-independent probability \ifelse{html}{\out{pS}}{\eqn{p_S}} must be specified. If \code{DensDep=TRUE}, the functional parameters \ifelse{html}{\out{S0}}{\eqn{S_0}}, -\ifelse{html}{\out{αS}}{\eqn{α_S}} and \ifelse{html}{\out{βS}}{\eqn{β_S}} (cf. equation above) must be specified. -Additionally, if \code{IndVar=FALSE}, these traits are fixed, but if \code{IndVar=TRUE} each of them is replaced by two parameters: their respective initial mean and -standard deviation. They are used to normally distribute the traits values among the individuals of the initial population. Additionally, the \code{TraitScaleFactor} of -these traits have to be set. - -All parameters have to be given for each stage/sex if the respective dependency is enabled. If \code{StageDep=TRUE}, state the corresponding stage in the first column. -If \code{SexDep=TRUE}, state the corresponding stage in the next (i.e. first/second) column, with \eqn{0} for \emph{female} and \eqn{1} for \emph{male}. -The following table lists the required columns and their correct order for different settings: - -\tabular{ccccc}{DensDep \tab IndVar \tab StageDep \tab SexDep \tab columns \cr - F \tab F \tab F \tab F \tab - not applicable - \cr - F \tab F \tab T \tab F \tab stage \cr - F \tab F \tab F \tab T \tab sex \cr - F \tab F \tab T \tab T \tab stage, sex \cr - T \tab F \tab F \tab F \tab \ifelse{html}{\out{S0}}{\eqn{S_0}}, \ifelse{html}{\out{αS}}{\eqn{α_S}}, \ifelse{html}{\out{βS}}{\eqn{β_S}} \cr - \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \tab \out{⋮} \cr - T \tab F \tab T \tab T \tab stage, sex, \ifelse{html}{\out{S0}}{\eqn{S_0}}, \ifelse{html}{\out{αS}}{\eqn{α_S}}, \ifelse{html}{\out{βS}}{\eqn{β_S}} \cr - T \tab T \tab F \tab F \tab mean\ifelse{html}{\out{(S0)}}{\eqn{(S_0)}}, sd\ifelse{html}{\out{(S0)}}{\eqn{(S_0)}}, mean\ifelse{html}{\out{(αS)}}{(\eqn{α_S})}, sd\ifelse{html}{\out{(αS)}}{(\eqn{α_S})}, mean\ifelse{html}{\out{(βS)}}{(\eqn{β_S})}, sd\ifelse{html}{\out{(βS)}}{(\eqn{β_S})} \cr - T \tab T \tab F \tab T \tab sex, mean\ifelse{html}{\out{(S0)}}{\eqn{(S_0)}}, sd\ifelse{html}{\out{(S0)}}{\eqn{(S_0)}}, mean\ifelse{html}{\out{(αS)}}{(\eqn{α_S})}, sd\ifelse{html}{\out{(αS)}}{(\eqn{α_S})}, mean\ifelse{html}{\out{(βS)}}{(\eqn{β_S})}, sd\ifelse{html}{\out{(βS)}}{(\eqn{β_S})} - } - -The column headings need not be included, only the numeric matrix is required. The rows require no particular order, but there must be exactly one row for each stage/sex combination. -For example, in the case of density-, stage- and sex-dependent settlement with no individual variability: -\tabular{ccccc}{ \out{ } 0 \tab \out{ } 0 \tab \out{ } 1.0 \tab \out{ } 0.2 \tab \out{ } 4.0 \cr - \out{ } 0 \tab \out{ } 1 \tab \out{ } 1.0 \tab \out{ } 0.1 \tab \out{ } 6.0 \cr - \out{ } 1 \tab \out{ } 0 \tab \out{ } 0.7 \tab \out{ } 0.5 \tab \out{ } 2.0 \cr - \out{ } 1 \tab \out{ } 1 \tab \out{ } 0.5 \tab \out{ } 0.5 \tab \out{ } 2.0 \cr - \out{ } 2 \tab \out{ } 0 \tab \out{ } 0.05 \tab \out{ } 1.0 \tab \out{ } 1.0 \cr - \out{ } 2 \tab \out{ } 1 \tab \out{ } 0.05 \tab \out{ } 1.0 \tab \out{ } 1.0 -} - -To avoid having individuals moving perpetually because they cannot find suitable conditions to settle, the model requires a maximum number -of steps (\code{MaxSteps}) or a per-step mortality (within the \code{Transfer} object), or both, to be set. -The maximum number of steps defines the maximum time length of the transfer period. -When an individual reaches the maximum number of steps, it stops where it is regardless of the suitability of the location. In -the case of \emph{non-overlapping generations} this results in automatic death if the individual stops in unsuitable habitat. For species that can disperse -over multiple seasons, i.e. a \emph{stage-structured population}, the model additionally requires a maximum number of steps per dispersal event (\code{MaxStepsYear}); on reaching that limit, the individual will -stop where it is and the next season, if still alive, it will move again. - -An additional rule that can be set constitutes a minimum number of steps (\code{MinSteps}) that each individual must take before settlement can take -place. This is useful for simulating situations where animals, in a â€dispersal mode’, will keep moving and not consider settling even -if suitable conditions are available \insertCite{@e.g. @barton2012risky}{RangeShiftR}. - -\emph{Mating requirements}\cr -Sexual species may be required to find a mate, i.e. there has to be at least one individual of the opposite sex present for the cell/patch to be considered suitable for settlement. -Density-dependence and mating requirements can also be combined together to determine the settlement decision. - -The application of this mating condition can be switched on or off using the parameter \code{FindMate}, which takes either a single -logical if \code{StageDep=FALSE} and \code{SexDep=FALSE} or, otherwise, a logical vector of same length as the number rows in -\code{Settle}, using same order. -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/Simulation.Rd b/RangeShiftR/man/Simulation.Rd deleted file mode 100644 index fe2fd82..0000000 --- a/RangeShiftR/man/Simulation.Rd +++ /dev/null @@ -1,309 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_SimulationParams.R -\docType{class} -\name{Simulation} -\alias{Simulation} -\title{Set Simulation parameters} -\usage{ -Simulation(Simulation = 1, Replicates = 2, Years = 50, Absorbing = FALSE, - Gradient = 0, GradSteep, Optimum, f, ExtinctOptim, - Shifting = FALSE, ShiftRate, ShiftStart, ShiftEnd, - LocalExt = FALSE, LocalExtProb, - EnvStoch = 0, EnvStochType, std, ac, minR, maxR, minK, maxK, - OutIntRange = 1, OutIntOcc = 0, - OutIntPop = 1, OutIntInd = 0, - OutIntTraitCell = 0, OutIntTraitRow = 0, - OutIntConn = 0, OutIntPaths = 0, OutIntGenetic = 0, - OutGenType = 0, OutGenCrossTab = FALSE, - OutStartPop = 0, OutStartInd = 0, - OutStartTraitCell = 0, OutStartTraitRow = 0, - OutStartConn = 0, OutStartPaths = 0, OutStartGenetic = 0, - SMSHeatMap = FALSE) -} -\arguments{ -\item{Simulation}{ID number of current simulation, defaults to \eqn{1}. (integer)} - -\item{Replicates}{Number of simulation iterations, defaults to \eqn{2}. (integer)} - -\item{Years}{The number of simulated years, defaults to \eqn{50}. (integer)} - -\item{Absorbing}{If \code{FALSE} (default), every move in the \code{\link[RangeShiftR]{Transfer}} process will be -repeated until a valid cell is met.\cr -If \code{TRUE}, an individual which hits a non-valid cell or -transgresses the landscape boundary during the dispersal act is eliminated from the simulation.} - -\item{Gradient}{Whether to apply north-south gradient: -\eqn{0} = None (default), \cr -\eqn{1} = decreasing \code{K_or_DensDep}\cr -\eqn{2} = decreasing growth rate \eqn{r} or, for a \code{\link[RangeShiftR]{StageStructure}}d population, -fecundity \ifelse{html}{\out{φ}}{\eqn{\phi}}, \cr -\eqn{3} = increasing local extinction probability \eqn{e}. \cr -If activated, a gradient will be imposed along the north-south (\eqn{y}-) axis in which the selected parameter varies linearly with distance from the -optimum \eqn{y}-value \code{Optimum}. Note that a \code{Gradient} can not be applied in for patch-based models (must be \code{Gradient}\eqn{=0}).} - -\item{GradSteep}{Required if \code{Gradient} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: gradient steepness in units of (fraction of local value) per cell. Must be \eqn{\ge 0}.} - -\item{Optimum}{Required if \code{Gradient} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: \eqn{y}-value at which the extremum is obtained. Must be \eqn{\ge 0}.} - -\item{f}{Required if \code{Gradient} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: local scaling factor that determines the magnitude of stochastic local heterogeneity relative to the optimal value. Must be \eqn{\ge 0}.} - -\item{ExtinctOptim}{Required if \code{Gradient} \eqn{= 3}: optimum (i.e. minimal) local extinction probability at \code{Optimum}. Must be between \eqn{0} and \eqn{1}.} - -\item{Shifting}{Only applicable if \code{Gradient} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}:\cr -If \code{FALSE} (default), the gradient is stationary.\cr -If \code{TRUE}, the \code{Gradient} shifts along the \eqn{y}-axis towards increasing \eqn{y} (northwards). Requires to set \code{ShiftRate}, \code{ShiftStart} and \code{ShiftEnd},} - -\item{ShiftRate}{Required if \code{Shifting=TRUE}: shift rate of the gradient in units of rows per year. (integer)} - -\item{ShiftStart}{Required if \code{Shifting=TRUE}: year in which the gradient shifting starts (integer)} - -\item{ShiftEnd}{Required if \code{Shifting=TRUE}: year in which the gradient shifting stops. (integer)} - -\item{LocalExt}{If \code{FALSE} (default), no additional extinction probability is applied.\cr -If \code{TRUE}, an independent constant extinction probability \code{LocalExtProb} is applied, defined as -the probability that each population goes extinct at each year. -Note that \code{LocalExt} must be \code{FALSE} for a patch-based model or if \code{Gradient}\eqn{=3}.} - -\item{LocalExtProb}{Required if \code{LocalExt=TRUE}: independent yearly extinction probability of populations.} - -\item{EnvStoch}{Scale of environmental stochasticity:\cr -\eqn{0} = none (default),\cr -\eqn{1} = global (a single time series for entire landscape),\cr -\eqn{2} = local (each cell fluctuates independently, only permitted for cell-based model).\cr -Environmental stochasticity is always applied on a yearly basis.} - -\item{EnvStochType}{Required if \code{EnvStoch} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: Parameter to which environmental stochasticity is applied:\cr -\eqn{0} = growth rate \eqn{r} or, for a \code{\link[RangeShiftR]{StageStructure}}d population, fecundity (\eqn{\phi}).\cr -\eqn{1} = demographic density dependence \code{K_or_DensDep} (carrying capacity or 1/b) (allowed for artificial landscapes only!).} - -\item{std}{Required if \code{EnvStoch} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: magnitude of stochastic fluctuations. Must be \eqn{> 0.0} and \eqn{\le 1.0}.} - -\item{ac}{Required if \code{EnvStoch} \ifelse{html}{\out{≠ 0}}{\eqn{> 0}}: temporal autocorrelation coefficient. Must be \eqn{\ge 0.0} and \eqn{<1.0}.} - -\item{minR, maxR}{Required if \code{EnvStochType}\eqn{=0}: minimum and maximum growth rates.} - -\item{minK, maxK}{Required if \code{EnvStochType}\eqn{=1}: minimum and maximum value of \eqn{K} or \eqn{1/b}, respectively.} - -\item{OutIntRange, OutIntOcc, OutIntPop, OutIntInd, OutIntGenetic, OutIntTraitCell, OutIntTraitRow, OutIntConn, OutIntPaths}{Control the various types -of Output files, i.e. range, occupancy, populations, individuals, traits (by cell or by row), connectivity, SMS paths and genetics:\cr - \eqn{=0 }: Output disabled.\cr - \eqn{>0 }: Output enabled; sets interval (in years) in which output is generated.\cr -If the output is enabled, start values are required. By default, only the output of Range and Population are enabled.\cr -Occupancy output is only applicable if \code{Replicates>1}. -Traits output is only applicable for a cell-based model with inter-individual variability. -Connectivity output is only applicable for a patch-based model. -SMS paths is only applicable for a model with SMS transfer method.} - -\item{OutStartPop, OutStartInd, OutStartGenetic, OutStartTraitCell, OutStartTraitRow, OutStartConn, OutStartPaths}{Starting years for output generation. Note that the first year is year \eqn{0}. Defaults to \eqn{0} for all output types. (integer)} - -\item{OutGenType}{Required if \code{OutIntGenetic}\eqn{>0}: Genetics output will be generated for:\cr -\eqn{0} = juveniles only (default), \eqn{1} = all individuals, \eqn{2} = adults only.} - -\item{OutGenCrossTab}{Required if \code{OutIntGenetic}\eqn{>0}:\cr -If \code{FALSE} (default), Genetics output will be written to several files. -\cr If \code{TRUE} Genetics output is generated as a cross table.} - -\item{SMSHeatMap}{Produce SMS heat map raster as output? Defaults to \code{FALSE}.} -} -\description{ -Set basic simulation parameters and control output types.\cr -Furthermore, optionally define a (\code{Shifting}) Environmental \code{Gradient}, Environmental Stochasticity (\code{EnvStoch}) and/or Local extinction (\code{LocalExt}). -(These options are to be moved to separate classes in future versions.) -} -\details{ -\emph{Environmental Gradient}\cr -In \emph{RangeShiftR}, it is possible to superimpose an artificial gradient on top of the landscape map (real or artificial). -Gradients are implemented for cell-based models only.\cr -An environmental gradient can be superimposed on the habitat map to describe gradual change in abiotic factors through space. Use the option \code{Gradient} -and choose one of three implemented parameter gradients. These are, respectively for non-structured / stage-structured population models:\cr -\itemize{ - \item{Decreasing values of \code{K_or_DensDep}, that mediates demographic density dependence (stronger with lower values) and is interpreted as - the \emph{carrying capacity} \eqn{K} / the \emph{strength of density dependence} \ifelse{html}{\out{b-1}}{\eqn{1/b}} (set \code{Gradient=1});} - \item{Decreasing growth rate \eqn{r} / fecundity (\eqn{\phi}) (set \code{Gradient=2});} - \item {Increasing local extinction probability \eqn{e} (set \code{Gradient=3}).} -} -The gradient is restrictively implemented along the north-south (\eqn{y})-axis and the selected parameter declines linearly with (\eqn{y})-distance from -an optimum location (\code{Optimum}). - -Gradients are implemented following the method of \insertCite{travis2004;textual}{RangeShiftR}, which combines linear variability with local heterogeneity. -If \eqn{Z} is one of the gradient variables listed above, \eqn{Z={K, 1/b, r, \phi, e}}, the value of \eqn{Z(x,y)} for a cell with \eqn{x} and \eqn{y}-coordinates -is given by the following equation: - -\ifelse{html}{\out{    Z(x,y) = Z0 * z(x,y)       for K and r,}}{\deqn{Z(x,y)=Z_0 * z(x,y)} for K and r,} -or\cr -\ifelse{html}{\out{    Z(x,y) = 1 - z(x,y) + eopt     for e}}{\deqn{Z(x,y)= 1 - z(x,y) + e_{opt}} for e} -\cr - -with \cr -\ifelse{html}{\out{    z(x,y) = 1 - |y - yopt| G + U(-1,1) f }}{\deqn{z(x,y) = 1 - |y - y_{opt}| G + U(-1,1) f }} -, constrained to \eqn{\ge 0} - -where \ifelse{html}{\out{Z0}}{Z_0} is the original parameter value at \eqn{(x,y)}, -\ifelse{html}{\out{eopt}}{e_{opt}} (\code{ExtinctOptim}) the minimum extinction probability. -The linear variability is specified by -\ifelse{html}{\out{yopt}}{y_{opt}} (\code{Optimum}), the \eqn{y}-value at which the extremum (i.e. \ifelse{html}{\out{Z0}}{Z_0} or \ifelse{html}{\out{eopt}}{e_{opt}}) is obtained, -and \eqn{G} (\code{GradSteep}), the gradient steepness in units of fraction of the local value per cell. -The local heterogeneity is determined by a random number drawn from a uniform distribution between \eqn{-1} and \eqn{1} for each cell -and \code{f}, the local scaling factor that determines the magnitude of this stochastic local variation relative to the extremal value. - -The gradient in fecundity φ applies to the fecundity of each stage. Negative local values in \eqn{z(x,y)} are set to \eqn{0}. - -It is also possible to simulate the shifting of the gradient by setting the option \code{Shifting}. Here the position \eqn{y} of the species’ -optimum is shifted northwards (increasing \eqn{y}) at a given rate \code{ShiftRate} (in units of rows per year), -starting from year \code{ShiftStart} to year \code{ShiftEnd}. - -Environmental gradients are available for cell-based models only, due to the cell-based character of operations and therefore \code{Gradient} -has to be \eqn{0} for patch-based models. - -\emph{Local Extinctions}\cr -An additional, independent extinction probability can be added using the option \code{LocalExt}. If set, -in each year, every population has an identical probability \code{LocalExtProb} of going extinct. -This does not affect any demographic parameters but simply kills off the local population. - -\emph{Environmental Stochasticity}\cr -It is possible to model environmental stochasticity via the option \code{EnvStoch} acting at a global or local scale -and can be applied to \code{K_or_DensDep}, the demographic density dependence (\code{EnvStoch=1}), or to growth rate / fecundity (\code{EnvStoch=0}). -It is implemented using a first order autoregressive process to generate time series of the noise value \eqn{ε} -\insertCite{ruokolainen2009}{RangeShiftR}: - -\deqn{ε(t+1) = Îş ε(t) + \omega(t) \sqrt(1-\kappa^2)} - -where Îş is the autocorrelation coefficient (\code{ac}) and ω is a random normal variable drawn from \eqn{N(0,Ď)}. -Changing Ď (\code{std}) changes the magnitude of the fluctuations. The spatial scale of the variation can either be global (a single time series -for the entire landscape) or local (each cell fluctuates independently), and is always applied on a yearly basis. -Different degrees of spatial autocorrelation are not implemented in the current version. - -The noise affects the species' selected parameter \eqn{Z} as follows: -\deqn{Z(x,y,t) = Z(x,y,0) + Z ε(t)} -where \eqn{x} and \eqn{y} are the cell coordinates and \eqn{Z} is the original parameter value in absence of stochasticity and gradients. -In the presence of an environmental gradient, \eqn{Z(x,y,0)} is the gradient value at the cell location, otherwise its equal to \eqn{Z}. -The resulting values \eqn{Z(x,y,t)} are limited to the maximum and minimum values \code{minR,maxR} or \code{minK,maxK}, respectively. - -\emph{Output files}\cr -Seven different types of outputs can be produced, plus one more for patch-based models. -All the output files will be named with a standard name reporting the simulation ID number and -the type of output. The file name will start with the batch number, and also indicate the number -of the landscape to which the output refers. Additionally, for each simulation all the set parameters -will be automatically written to a text file named \"Sim0_Parameters.txt\" in the case of simulation\eqn{#=0}. - -- \emph{Species range} (\code{Sim0_Range.txt}) \cr -contains the following general information regarding the species’ range:\cr -Replicate number (Rep), Year (Year), Reproductive season within the year (RepSeason), Total number of individuals (NInds), -Total number of individuals in each stage (NInd_stageX; only in case of stage-structured models), -Total number of juveniles born (NJuvs; only in case of stage-structured models), -Total number of occupied cells (NOccupCells) or total number of occupied patches (NOccupPatches), -Ratio between occupied and suitable cells or patches (OccupSuit), -Species’ range, in terms of maximum and minimum coordinates (min_X, max_X, min_Y, max_Y).\cr -Data are written before reproduction at each reproductive season at the specified yearly interval. An extra line is written -at the end of the simulation. - -- \emph{Occupancy} \cr -reports the cell/patch probability of occupancy. This is only possible if the number of replicates is greater than \eqn{1}. -Two files will be produced:\cr - - 1) \code{Sim0_Occupancy.txt}: contains a list of all the cells in the landscape (\eqn{x-} and \eqn{y-}coordinates) or -of all the patches (PatchID). The remaining columns give the occupancy probability of the cell/patch at defined time steps. -The occupancy probability is obtained by dividing the number of times (replicates) that the cell/patch has been occupied in -a given year, by the total number of replicates. - - 2) \code{Sim0_Occupancy_Stats.txt}: Summary occupancy statistics, i.e. the mean ratio between occupied and suitable cells -(Mean_OccupSuit) and its standard error (Std_error) at the set time interval. - - Data will be recorded at the beginning of the year before any other process (and only once a year no matter the number -of reproductive seasons per year). - -- \emph{Populations} (\code{Sim0_Pop.txt}) \cr -contains statistics regarding each population present in the landscape at a given time interval:\cr -Replicate number (Rep), Year (Year), Reproductive season within the year (RepSeason), Cell location (\eqn{x-} and \eqn{y-}coordinates) or -patch ID (PatchID), Species number (Species; not yet used, always \eqn{0}), Number of individuals in the population (NInd), -Number of individuals in each stage (NInd_stageX; only in case of stage-structured models). If the reproduction is sexual, -these columns will be replaced by the number of females (Nfemales_stageX) and of males (Nmales_stageX) in each stage. In the case -of sexual model without stage structure, two columns will indicate the number of females (Nfemales) and of males (Nmales) in -the population. In the case of a stage-structured population, the number of juveniles born (NJuvs). If the reproduction is sexual, -these columns will be replaced by the number of females juveniles (NJuvFemales) and males (NJuvMales).\cr -As for the species’ range output, data are collected before reproduction at each reproductive -season at the specified yearly interval and at the end of the simulation. - -- \emph{Individuals} (\code{Sim0_Rep0_Inds.txt}) \cr -contains information regarding each individual at a given time step. To avoid the production of huge files, a separate file is -saved for each replicate. Data are recorded after settlement and before aging (in the case of overlapping generations). For each -individual the following data are saved: \cr -Replicate number (Rep), Year, Reproductive season within the year (RepSeason), Species ID (always \eqn{0}), -Individual ID (IndID), the individual’s Status (Status), Natal cell (Natal_X and Natal_Y) and current cell (\eqn{x} and -\eqn{y}) coordinates or natal and current patch IDs (Natal_patch and PatchID), Sex (0 = female, 1 = male), Age in years -(in case of overlapping generations), Stage (in case of stage structure), Emigration traits, Transfer traits (depending on -transfer method). - -- \emph{Genetics} (\code{Sim0_Rep0_Genetics.txt}) \cr -lists the full genome of each individual selected for output (i.e. all individuals if the population is not structured) during the reporting year -(or present in the initial population at year \eqn{0}) for the current replicate. This file can therefore be \emph{extremely large}, and should be -produced only for temporally short simulations, small populations or at infrequent reporting time intervals. It comprises:\cr - - Replicate number (Rep), Year, Species ID (always \eqn{0}), Individual ID (IndID), \cr -and then \emph{either} one or more lines listing: - - Chromosome number (starting from 0), Locus on this chromosome (starting from 0), value of the only allele at the locus for a - haploid species (Allele0) or the values of both alleles at the locus for a diploid species (Allele0,Allele1) \cr -\emph{or} a single line of: - - a set of columns having compound headings of the form \code{Chr0Loc0Allele0} derived from each chromosome, locus and allele (as above). - -- \emph{Traits} \cr -In the case of inter-individual variability and evolution of the dispersal traits, it is possible to output the mean traits of -the population. There are two types of traits output:\cr - - 1) \code{Sim0_TraitsXcell.txt / Sim0_TraitsXpatch.txt} reports mean and standard deviation of the varying/evolving traits for each -cell/patch, for each replicate and reproductive season at the set year interval.\cr - - 2) \code{Sim0_TraitsXrow.txt} mean and standard deviation of the varying/evolving traits computed at the row (\eqn{y}) level, -pulling together all the populations occupying cells in \eqn{y}. Values are reported for each replicate and reproductive season -at the specified yearly interval. This is particularly useful for analyzing the structuring of traits along latitudinal gradients. -It is possible to compute this output only for cell-based models. \cr - - Data for these outputs are collected at the same time as for the -range and population outputs, i.e. before reproduction at each reproductive season at the set year interval and at the end of the -simulation. For sexual models, the standard deviation relates to the variation between all alleles in the local population (which -is greater than the variation in phenotypic expression; if the phenotypic s.d. is required, it must be calculated from -individual-level output data). - -- \emph{Connectivity matrix} (\code{Sim0_Connect.txt}) \cr -is available for a patch-based model only. It presents counts of the number of individuals successfully dispersing from each patch -to each other patch for each year specified by \code{OutIntConn}, starting from \code{OutStartConn}. If there is more than one -reproductive season during the year, cumulative year-end totals are reported. Although the file contains the data required for -true \eqn{NxN} matrices, the data are presented in list format:\cr -Replicate number (Rep), Year (Year), ID number of natal patch (StartPatch), ID number of settlement patch (EndPatch), Number of -individuals dispersing from StartPatch to EndPatch (NInds). - -- \emph{SMS paths} (\code{Sim0_Rep0_SMSpaths.txt}) \cr -is available for a model with transfer method SMS only. It lists the cell-based trajectories of all (successfully or unsuccessfully) -dispersed individuals from the natal to the final (settlement or fatal) patch for each year specified by \code{OutIntPaths}, starting -from \code{OutStartPaths}. The data are presented in list format with the columns:\cr -Year (Year), Individual ID (IndID), consecutive step number (Step), coordinates of cell at this step (\eqn{x} and \eqn{y}), -status of individual (Status). -The status is an integer number that codes for the following possible states:\cr - 0 = natal patch,\cr - 1 = disperser,\cr - 2 = disperser awaiting settlement in possible suitable patch,\cr - 3 = waiting between dispersal events,\cr - 4 = completed settlement,\cr - 5 = completed settlement in a suitable neighbouring cell,\cr - 6 = died during transfer by failing to find a suitable patch (includes exceeding maximum number of steps or crossing absorbing boundary),\cr - 7 = died during transfer by constant, step-dependent, habitat-dependent or distance-dependent mortality,\cr - 8 = failed to survive annual (demographic) mortality,\cr - 9 = exceeded maximum age.\cr\cr - -- \emph{SMS Heat map} (\code{OutputMaps/Sim0_Land0_Rep0_Visits.txt}) \cr -When the transfer model is \emph{SMS}, an additional optional output is a series of maps in ASCII raster format, showing how many times each -cell has been visited by a dispersing individual across the whole time period of the simulation. These heat maps may be useful, for example, -for identifying corridors which are heavily used during the dispersal phase. One raster map is created in the \emph{Output_Maps} folder for -each replicate simulation, and is in the same format as the input habitat file. - -- \emph{Log file} (\code{Batch1_RS_log.csv}) \cr -An additional log file will be created automatically. In it is listed the time taken (in seconds) to run the simulation. -It may also possibly include error codes, which can occur in rare occasions when the batch input files are in themselves valid, -but there is an inconsistency between files or an invalid habitat code or patch number occurs in an input map file. -Error codes are listed in the \emph{Batch_error_codes.xlsx} file. -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/StageStructure.Rd b/RangeShiftR/man/StageStructure.Rd deleted file mode 100644 index 5f56339..0000000 --- a/RangeShiftR/man/StageStructure.Rd +++ /dev/null @@ -1,169 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DemogParams.R -\docType{class} -\name{StageStructure} -\alias{StageStructure} -\title{Define a Stage-structure} -\usage{ -StageStructure(Stages, TransMatrix, MaxAge = 100, MinAge = 0, - RepSeasons = 1, PRep = 1.0, RepInterval = 0, SurvSched = 0, - FecDensDep = FALSE, DevDensDep = FALSE, SurvDensDep = FALSE, - FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix, - FecLayer, DevLayer, SurvLayer, - PostDestructn = FALSE) -} -\arguments{ -\item{Stages}{Number of life-stages (integer). Requires a minimum of \eqn{2}, for "juvenile" (stage 0) and "adult". Maximum is 10.} - -\item{TransMatrix}{Transition matrix. Defines the development probabilities from each stage into the next, as well as the respective survival probabilities and fecundities. See Details for matrix structure and notation.} - -\item{MaxAge}{Maximum age in years, defaults to \eqn{100}. (integer)} - -\item{MinAge}{Integer vector containing the ages which an individual in stage \eqn{i-1} (with sex \eqn{m/f}, if applicable) must already have reached before it can develop into the next stage \eqn{(i)}. The defaults are \eqn{0} for all stages and sexes. The required format is described in the Details.} - -\item{RepSeasons}{Number of potential reproduction events per year. Defaults to \eqn{1}. (integer)} - -\item{RepInterval}{Number of reproductive seasons which must be missed following a reproduction attempt, before another reproduction attempt may occur. Defaults to \eqn{0}. (integer)} - -\item{PRep}{Probability of reproducing in subsequent reproductive seasons. Defaults to \eqn{1.0}.} - -\item{SurvSched}{Scheduling of Survival. When should survival and development occur?\cr 0 = At reproduction\cr 1 = Between reproductive events (default)\cr 2 = Annually (only for \code{RepSeasons>1})} - -\item{FecDensDep, DevDensDep, SurvDensDep}{Density-dependent fecundity / development / survival probabilities? Defaults to \code{FALSE}. See Details for functional form of density-dependence.} - -\item{DevDensCoeff, SurvDensCoeff}{Relative density dependence coefficient for development / survival. Defaults to \eqn{1.0}.} - -\item{FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix}{Stage-dependent weights in density dependence of fecundity / development / survival. Takes a quadratic matrix with (#sexes * #stages) rows/columns indicating the weight of the abundance of each stage/sex on the fecundity/development/survival of each other stage/sex. If not set, all stages are weighted equally.} - -\item{FecLayer, DevLayer, SurvLayer}{A matrix of layer indices for the three demographic rates (fecundity/development/survival) if they are spatially varying. The indices match the -scaling layers given in the \code{\link[RangeShiftR]{ImportedLandscape}} module to each demographic rate. The value NA denotes a spatially constant rate. The row number corresponds -to the stage; the first/second column contains the layer index for females/males. In case of a female-only or simple sexual model (\code{ReproductionType={0,1}}) only the first -column is needed and a vector is accepted to represent it. In any case, values will be coerced to integer.} - -\item{PostDestructn}{In a dynamic landscape, determine if all individuals of a population should die (\code{FALSE}, default) or disperse (\code{TRUE}) if its patch gets destroyed.} -} -\value{ -a parameter object of class "StagesParams" -} -\description{ -Set all demographic parameters for a stage-structured population. All elements of the transition matrix, i.e. Fecundity, Development, and Survival can be subjected to a density-dependent scaling. -In this case, the base probabilities given via the transition matrix will be reduced exponentially with the strength of density dependence \eqn{b(i,t)} times abundance \eqn{N(i,t)}, in patch \eqn{i} at time \eqn{t}. -Additionally, the effect of the abundances of each stage/sex on these parameters can be weighted. For more information, see the details. -} -\details{ -In stage-structured populations, generations can overlap and individuals can be classified in different stages (e.g. immature vs. breeding individuals) differing in their -demographic parameters. Individuals are characterized by their age and stage. Each stage has a certain fecundity, survival probability and probability of developing to the next stage. - -These parameters are provided through classical transition matrices \insertCite{caswell2001}{RangeShiftR}. -\ifelse{html}{\out{φi}}{\eqn{φ_i}} is the fecundity of stage \eqn{i} ; -\ifelse{html}{\out{σi}}{\eqn{Ď_i}} is the survival probability of an individual in stage \eqn{i} ; -and \ifelse{html}{\out{γi-j}}{\eqn{Îł_(i-j)}} is the probability of developing from stage \eqn{i} to stage \eqn{j}. -In this way, the transition matrix describes the effect of each individuals current stage (column) on all stages at the next timestep (rows). -Since all offspring is born into the juvenile stage (stage 0), all fecundities are always located in the first row of the matrix. - -However, in \emph{RangeShiftR}, these parameters are not used deterministically as \emph{rates} (like it is typical for matrix models) but, instead, as \emph{probabilities} which are -applied stochastically at the individual level. Hence, each female at stage \eqn{i}, if it reproduces, produces a number of offspring given by \eqn{Poisson}(\ifelse{html}{\out{φi}}{\eqn{φ_i}}), -while Bernoulli trials \eqn{Bern}(\ifelse{html}{\out{σi}}{\eqn{Ď_i}}) and \eqn{Bern}(\ifelse{html}{\out{γi,i+1}}{\eqn{Îł_(i,i+1)}}) determine if an individual/female survives or not -and - if it survives - if it develops to the next stage or not. - -An example transition matrix for a 3-staged only-female or simple sexual (\code{ReproductionType={0,1}}) population model: -\tabular{ccccc}{0 \tab | \tab \ifelse{html}{\out{φ1}}{\eqn{φ_1}} \tab | \tab \ifelse{html}{\out{φ2}}{\eqn{φ_2}} \cr -\eqn{1.0} \tab | \tab \ifelse{html}{\out{σ1 (1-γ1-2)}}{\eqn{Ď_1 (1 â’ Îł_(1-2))}} \tab | \tab \eqn{0} \cr -\eqn{0} \tab | \tab \ifelse{html}{\out{σ1 γ1-2}}{\eqn{Ď_1 Îł_(1-2)}} \tab | \tab \ifelse{html}{\out{σ2}}{\eqn{Ď_2}} \cr} - -In a female-only model (\code{ReproductionType=0}), φ represents the number of female offspring per female and reproductive event. \cr -Note that for an implicit (simple) sexual model (\code{ReproductionType=1}), the demographic parameters are not sex-specific. However, individuals are defined by their sex, which is acknowledged for example in the dispersal -process and transmission of alleles. The fecundities φ refer to the number of all offspring (males and females) per female and reproductive event. - -In case of an explicit (complex) sexual model (\code{ReproductionType=2}), in contrast, each stage must be represented by two columns and rows to distinguish male and female demographic parameters. -Note, however, that in any case the juvenile stage has only one row; it contains the fecundities. Male fecundities should have one of two possible values: set \ifelse{html}{\out{φm}}{\eqn{φ_m}} \eqn{=1.0} for reproductive males or \ifelse{html}{\out{φm}}{\eqn{φ_m}} \eqn{=0.0} for non-reproductive males.\cr -An example transition matrix for a 3-staged explicit sexual population model \insertCite{weeks1986,lindstrom1998}{RangeShiftR}: -\tabular{ccccccccccc}{\eqn{0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{φ1m}}{\eqn{φ_1m}} \tab | \tab \ifelse{html}{\out{φ1f}}{\eqn{φ_1f}} \tab | \tab \ifelse{html}{\out{φ2m}}{\eqn{φ_2m}} \tab | \tab \ifelse{html}{\out{φ2f}}{\eqn{φ_2f}} \cr -\eqn{1.0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ1m (1-γ1-2,m)}}{\eqn{Ď_1m (1 â’ Îł_(1-2,m))}} \tab | \tab \eqn{0} \tab | \tab \eqn{0} \tab | \tab \eqn{0} \cr -\eqn{0} \tab | \tab \eqn{1.0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ1f γ1-2,f}}{\eqn{Ď_1f Îł_(1-2,f)}} \tab | \tab \eqn{0} \tab | \tab \eqn{0} \cr -\eqn{0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ1m γ1-2,m}}{\eqn{Ď_1m Îł_(1-2,m)}} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ2m}}{\eqn{Ď_2m}} \tab | \tab \eqn{0} \cr -\eqn{0} \tab | \tab \eqn{0} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ1f γ1-2,f}}{\eqn{Ď_1f Îł_(1-2,f)}} \tab | \tab \eqn{0} \tab | \tab \ifelse{html}{\out{σ2f}}{\eqn{Ď_2f}} \cr} -The mating system is explicitly modelled and a female’s probability of reproducing is determined as described in \code{\link[RangeShiftR]{Demography}} \insertCite{weeks1986,caswell2001}{RangeShiftR}. - -A common mistake in building a transition matrix is made when offspring produced at year \eqn{t} develop to the next stage in the same year \insertCite{@ @caswell2001 pg. 60-62}{RangeShiftR}. To avoid this problem without losing the offspring stage, and hence the chance for simulating post-natal dispersal, -we require an additional explicit juvenile stage (stage 0). Juveniles have to develop to stage 1 in the same year they are born. Hence the minimum number of stages of a stage-structured model is always \eqn{2}. It is important to note that juvenile mortality can be accounted for in -two ways. Either, as in the examples above, it is included in adult fecundity φ (by appropriately reducing its value), and \ifelse{html}{\out{σ0 γ(0-1)}}{\eqn{Ď_0 Îł_(0-1)}} is equal to \eqn{1.0}. This is how it is typically accounted for in matrix models. Or, alternatively, -φ is equal to the true maximum fecundity and \ifelse{html}{\out{σ0 γ(0-1)}}{\eqn{Ď_0 Îł_(0-1)}} is less than \eqn{1.0}. -Only the first approach allows straightforward direct comparison with standard analytical matrix models. - -\emph{Minimum ages:} For every row in the transition matrix, a minimum age must be provided through a vector in argument \code{MinAge}. It specifies the age which an individual in stage \eqn{i-1} (with sex \eqn{m/f}, if applicable) must already have reached before it can develop into the next stage \eqn{(i)}. The vector must be in -the order of increasing stage, stating first male then female values; i.e. \eqn{0,1m,1f,2m,2f,...}. Note that (analogous to the transition matrix) the juvenile stage (\eqn{i=0}) has only one entry for male and female. The defaults are \eqn{0} for all stages and sexes. -Note that the minimum age for juveniles (stage \eqn{0}) is by definition zero, and that the minimum age for stage \eqn{1} is required to also be zero because individuals may not persist as juveniles beyond the breeding season in which they are born. - -It is possible to have one or more reproductive seasons per year (\code{RepSeasons}), or a reproductive event once every few years (controlled by \code{RepInterval}). At each reproductive season, two parameters -control the likelihood that each individual / female reproduces: -\enumerate{ -\item First, it is determined whether a reproductively mature female is a potential reproducer. The user specifies a minimum interval (\code{RepInterval}) before an individual, that has -already reproduced, is able to reproduce again. Only those mature individuals that are either yet to reproduce, or last reproduced more than this number of reproductive seasons previously, are potential breeders. -\item Potential breeders all reproduce with a set probability (\code{PRep}). Note that this probability is different from the probability of reproducing \ifelse{html}{\out{pr}}{\eqn{p_r}} described in \code{\link[RangeShiftR]{Demography}}. -The latter will be additionally applied only in the case of more complex modelling of the mating system (\code{ReproductionType=2}) and it is determined by the number of reproductive males and females present in the cell/patch. -} -Note that in the current implementation, reproductive attempts that result in zero offspring still count in terms of an individual having to wait for the chance to reproduce again. - -A major difference between transition matrices and this individual-based model is that in the first, the three processes of reproduction, survival and development happen simultaneously while, in the second, they are explicitly modelled in sequence. -The sequence of these events and the time of the dispersal phase in relation to them can change the actual dynamics and density-dependencies in both population growth and dispersal. At the beginning of each year, reproduction is always the first -process to be modelled. However, there can be multiple reproductive seasons per year (default is one); in this case the year starts with a succession of all reproductive seasons. There are three choices for the scheduling of reproduction, survival, development and dispersal: -\itemize{ -\item \code{SurvSched=0}: For each reproductive season: reproduction; survival and development of all stages (apart from stage 0); dispersal; survival and development of stage 0. Then: aging; end of the year. -\item \code{SurvSched=1}: For each reproductive season: reproduction; dispersal; survival and successive development of all stages. Then: aging; end of the year. -\item \code{SurvSched=2}: For each reproductive season: reproduction; dispersal. Then: survival and development of all stages; aging; end of the year. This option applies only for species having multiple reproductive seasons in a year, otherwise it is equivalent to \code{SurvSched=1}. -} -Option \code{SurvSched=0} gives results that are comparable with the deterministic solution of the matrix. The choice will depend on the biology of the species. If the main mortality happens overwinter, option \code{SurvSched=1} might be more appropriate. - -Note that \code{SurvSched=1} in combination with multiple reproductive seasons (\code{RepSeasons>1}) implies several evaluations of the fecundity and the survival and development probabilities, so that the transition matrix should be set accordingly. -If the transition matrix contains the annual survival and development rates, \code{SurvSched=2} is the appropriate option (fecundity, however, is still given per reproductive event). - -\emph{Density dependence} can act on each of the three demographic phases (i.e. reproduction, survival and development) and is controlled by \code{FecDensDep,DevDensDep,SurvDensDep}. -It is implemented as an exponential decay \insertCite{neubert2000}{RangeShiftR}: - -\ifelse{html}{\out{   φi(r,t) = φ0,i * e - b(r) N(t) }}{\deqn{φ_i(r,t)=φ_(0,i) * exp(- b(r) N(t) ) }} - -\ifelse{html}{\out{   σi(r,t) = σ0,i * e - Cσ b(r) N(t) }}{\deqn{Ď_i(r,t)=Ď_(0,i) * exp(- C_\sigma b(r) N(t) ) }} - -\ifelse{html}{\out{   γi(r,t) = γ0,i * e - Cγ b(r) N(t) }}{\deqn{Îł_i(r,t)=Îł_(0,i) * exp(- C_Îł b(r) N(t) ) }} - -where \eqn{b(r)} is the strength of density dependence in fecundity at site \eqn{r}, which is given by the argument \code{K_or_DensDep} in the landscape module. -Furthermore, \ifelse{html}{\out{Cσ}}{\eqn{C_\sigma}} and \ifelse{html}{\out{Cγ}}{\eqn{C_Îł}} (\code{DevDensCoeff,SurvDensCoeff}) -scale the strength of density dependence in survival and development relative to that in fecundity. - -Moreover, the strength of density-dependence can be uniform for all stages or stage-dependent. Even greater complexity can be incorporated with -different stages contributing differently to density-dependence \insertCite{caswell2004}{RangeShiftR}: - -\ifelse{html}{\out{  φi(r,t) = φ0,i * e - b(r) ΣjS ωφ,ij N(j,t)}}{\deqn{φ_i(r,t)=φ_(0,i) * exp(- b(r) \Sigma_j^S ω_{φ,ij} N_j(t) ) }} - -\ifelse{html}{\out{  σi(r,t) = σ0,i * e - Cσ b(r) ΣjS ωσ,ij N(j,t) }}{\deqn{Ď_i(r,t)=Ď_(0,i) * exp(- C_\sigma b(r) \Sigma_j^S ω_{Ď,ij} N_j(t) )}} - -\ifelse{html}{\out{  γi(r,t) = γ0,i * e - Cγ b(r) ΣjS ωγ,ij N(j,t)}}{\deqn{Îł_i(r,t)=Îł_(0,i) * exp(- C_Îł b(r) \Sigma_j^S ω_{Îł,ij} N_j(t) )}} - -where \ifelse{html}{\out{ωφ}}{\eqn{ω_φ}}, \ifelse{html}{\out{ωσ}}{\eqn{ω_Ď}}, \ifelse{html}{\out{ωγ}}{\eqn{ω_Îł}} are weight matrices given by \code{FecStageWtsMatrix, DevStageWtsMatrix, SurvStageWtsMatrix}. Their elements \ifelse{html}{\out{ωij}}{\eqn{ω_ij}} -represent the contributions of the abundance of stage \eqn{j} to the density dependence in the fecundity / survival / development of stage \eqn{i}, thus they are quadratic matrices of size \code{Stages}\eqn{^2}. Note that the row sums are not required to be normalized, therefore they can be used -to scale the density-dependence for the different stages. In fact, any real value will be accepted for the single weights, so care should be taken when setting them. - -The demographic rates (fecundity, development probability and survival probability) can be allowed to vary spatially, if the landscape is an imported habitat quality map. In this case, additional maps with the same resolution and extent as the habitat quality map(s) need to be given -in \code{\link[RangeShiftR]{ImportedLandscape}()}. These additional layers contain percentage values between 0 and 100 and the matrices \code{FecLayer}, \code{DevLayer}, and \code{SurvLayer} indicate the mapping of each demographic rate to these layers. The local value -of a given demographic rate for a certain stage and sex in a cell or patch is then determined as the maximum value (the value given in the transition matrix \code{TransMatrix}) scaled with the percentage in the respective mapped layer. -For a patch-based landscape, the scaling percentage of a patch is given by the average percentage of its constituent cells. -Potential density-dependence mediated by the strength 1/b still takes effect also for spatially-varying demographic rates. The respective base values φ_0, Ď_0 or Îł_0 are then replaced by their locally scaled values. -} -\examples{ - # Stage-structure for simple sexual model -transmat <- matrix(c(0,1,0,0,0,0.3,0.4,0,1.5,0,0.6,0.3,2.5,0,0,0.8), ncol = 4) -stg <- StageStructure(Stages = 4, TransMatrix = transmat, FecDensDep = TRUE, SurvDensDep = TRUE, SurvDensCoeff = 1.5) -plotProbs(stg, stage=1:3) - - # Stage-structure for explicit sexual model -transmat_2 <- matrix(c(0,0.5,0,0,0,0,0,0.5,0,0,1.0,0.4,0,0.3,0,3.0,0,0.3,0,0.4,1.0,0,0,0.85,0,5,0,0,0,0.8), ncol = 6) -stg_2 <- StageStructure(Stages = 3, TransMatrix = transmat_2, FecDensDep = TRUE, DevDensDep = TRUE, DevDensCoeff = 1.2) -plotProbs(stg_2, stage=c(1,2), sex = 1) -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/Transfer.Rd b/RangeShiftR/man/Transfer.Rd deleted file mode 100644 index 4d5f973..0000000 --- a/RangeShiftR/man/Transfer.Rd +++ /dev/null @@ -1,33 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/class_DispersalParams.R -\docType{class} -\name{Transfer} -\alias{Transfer} -\alias{TransferParams} -\title{Set a Transfer method} -\description{ -Transfer (or transience) is the second phase of dispersal. It consists of the movement of an individual departing from its natal patch towards -a potential new patch, ending with settlement or mortality. This movement can be modelled by one of three alternative processes:\cr -- Dispersal kernel: use \code{\link[RangeShiftR]{DispersalKernel}}\cr -- Stochastic movement simulator (SMS): use \code{\link[RangeShiftR]{SMS}}\cr -- Correlated random walk (CRW): use \code{\link[RangeShiftR]{CorrRW}} -} -\details{ -The choice between the two main methods to model the transfer phase, i.e. phenomenological dispersal kernels or mechanistic movement processes -(SMS and CRW) depends on the information available for a given species and on the level of detail that is considered important to represent in -the model (which will depend on its aim and the scale). -\cr -Dispersal is often a costly process for an organism \insertCite{bonte2012costs}{RangeShiftR} and, in some cases, a dispersing individual may -suffer mortality. Obtaining a sensible -representation of dispersal requires that these mortality costs are described appropriately. The total dispersal mortality experienced will -be the sum of two main sources of mortality: First, as the result of individuals failing to reach suitable habitat, and second, as the result -of increased energetic, time or attritional costs that longer-distance dispersers will experience. -For more details, refer also to the respective Details sections of the different transfer methods. -In parameterising the model, it will be important to recognise this such that dispersal mortality is not double-accounted. -} -\references{ -\insertAllCited{} -} -\author{ -Anne-Kathleen Malchow -} diff --git a/RangeShiftR/man/createODD.Rd b/RangeShiftR/man/createODD.Rd deleted file mode 100644 index cdde048..0000000 --- a/RangeShiftR/man/createODD.Rd +++ /dev/null @@ -1,20 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{createODD} -\alias{createODD} -\title{Creating ODD template file for a specific RangeShiftR parameter master object} -\usage{ -createODD(filename, s, type) -} -\arguments{ -\item{filename}{Name of the R markdown file and document to be created, e.g. 'ODD_protocol.rmd'} - -\item{s}{RangeShiftR parameter object} - -\item{type}{file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document"} -} -\description{ -This function creates an ODD template file for a specific RangeShiftR parameter master object \code{s}. -It only creates a new file, if the \code{filename} doesn't exist in the folder. -If the \code{filename} already exists, it only renders the document to either pdf, word or md. -} diff --git a/RangeShiftR/man/createParameterTables.Rd b/RangeShiftR/man/createParameterTables.Rd deleted file mode 100644 index 99d5da4..0000000 --- a/RangeShiftR/man/createParameterTables.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{createParameterTables} -\alias{createParameterTables} -\title{Creating parameter table file for a specific RangeShiftR parameter master object} -\usage{ -createParameterTables(filename, s, type) -} -\arguments{ -\item{filename}{Name of the R markdown file and document to be created, e.g. 'Parameter_table.rmd'} - -\item{s}{RangeShiftR parameter object} - -\item{type}{file type of the rendering process output. Can be either "pdf_document", "doc_document" or "md_document"} -} -\description{ -This function creates template file including tables of the parameter set for a specific RangeShiftR parameter master object \code{s}. It only creates a new file, if the \code{filename} doesn't exist in the folder. -If the \code{filename} already exists, it only renders the document to either pdf, word or md. -} diff --git a/RangeShiftR/man/getLocalisedEquilPop.Rd b/RangeShiftR/man/getLocalisedEquilPop.Rd deleted file mode 100644 index 06b08f9..0000000 --- a/RangeShiftR/man/getLocalisedEquilPop.Rd +++ /dev/null @@ -1,44 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{getLocalisedEquilPop} -\alias{getLocalisedEquilPop} -\title{Calculates the equilibrium density and stage distribution for a localised (i.e. non-spatial) closed population} -\usage{ -getLocalisedEquilPop(demog, ...) -} -\arguments{ -\item{demog}{DemogParams object with a \code{StageStructure}} - -\item{DensDep_values}{values of \eqn{1/b} to run the matrix model for} - -\item{plot}{plot the equilibrium densities? (default is \code{TRUE})} - -\item{stages_out}{which stages to plot? (defaults to all)} - -\item{juv.stage}{use explicit juvenile (zeroth) stage? (default is \code{TRUE})} - -\item{t_rec}{number of time steps to record at the end (defaults to \eqn{1}); if \code{t_rec}\eqn{>1}, the mean over all recorded time steps is returned} - -\item{N_0}{initial condition, i.e. population density at time zero; must include stage zero regardless of the value of \code{juv.stage}} - -\item{t_max}{allowed number of time steps to reach equilibrium (default is \eqn{1000})} - -\item{delta}{tolerance to check for equilibrium (default is \eqn{.1}); the utilised measure is euclidian distance of current to previous time steps} - -\item{diagnostics}{in addition to recorded population vectors, returns the number of steps taken as well as the transition matrix and the value if delta at the last step (default is \code{FALSE})} -} -\value{ -a matrix of population densities with a named row for each stage and a column for each given value of \eqn{1/b} -} -\description{ -Uses the \emph{RangeShiftR} Demography module to create the corresponding matrix model and runs it until equilibrium is reached. -This corresponds to a localised population in a single cell without dispersal (i.e. no immigration or emigration). -Since the matrix model representation is used, some options (e.g. maximum age) of the \code{\link[RangeShiftR]{Demography}} module can not be taken into account. -} -\details{ -\emph{RangeShiftR} requires an additional juvenile stage to be added to the common transition matrix as stage \eqn{0} (in order -to allow for juvenile dispersal). For the simulation with \code{RunMatrixModel()}, this stage can be kept (\code{juv.stage=TRUE}) -or removed to yield the corresponding Lefkovitch matrix (\code{juv.stage=FALSE}).\cr -The default initial state \code{N_0} is a population at its respective density \eqn{1/b} with unpopulated juvenile stage and -all higher stages equally populated.\cr -} diff --git a/RangeShiftR/man/plotAbundance.Rd b/RangeShiftR/man/plotAbundance.Rd deleted file mode 100644 index f0ba235..0000000 --- a/RangeShiftR/man/plotAbundance.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{plotAbundance} -\alias{plotAbundance} -\title{Plot Abundance} -\usage{ -plotAbundance(s, ...) -} -\arguments{ -\item{s}{RSparams object or a data.frame in the 'range' file format} - -\item{dirpath}{RS directory path; required if \code{s} is a \code{RSparams}} - -\item{sd}{plot standard deviation? (default is \code{FALSE})} - -\item{replicates}{plot the replicates? (default is \code{TRUE})} - -\item{ylim}{upper limit to the y-axis} -} -\description{ -Uses the RangeShiftR output data 'range' to generate abundance time series. -Plots the mean abundance over all replicates, and optionally the standard deviation and/or the single replicates. -} diff --git a/RangeShiftR/man/plotOccupancy.Rd b/RangeShiftR/man/plotOccupancy.Rd deleted file mode 100644 index 4cd4d91..0000000 --- a/RangeShiftR/man/plotOccupancy.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{plotOccupancy} -\alias{plotOccupancy} -\title{Plot Occupancy} -\usage{ -plotOccupancy(s, ...) -} -\arguments{ -\item{s}{RSparams object or a data.frame in the 'range' file format} - -\item{dirpath}{RS directory path; required if \code{s} is a \code{RSparams}} - -\item{sd}{plot standard deviation? (default is \code{FALSE})} - -\item{replicates}{plot the replicates? (default is \code{TRUE})} - -\item{ylim}{upper limit to the y-axis} -} -\description{ -Uses the RangeShiftR output data 'range' to generate occupancy time series. -Plots the mean occupancy over all replicates, and optionally the standard deviation and/or the single replicates. -} diff --git a/RangeShiftR/man/plotProbs.Rd b/RangeShiftR/man/plotProbs.Rd deleted file mode 100644 index 66c321c..0000000 --- a/RangeShiftR/man/plotProbs.Rd +++ /dev/null @@ -1,38 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/plotProbs.R -\name{plotProbs} -\alias{plotProbs} -\title{Plot parameterised probabilities} -\usage{ -plotProbs(x, ...) -} -\arguments{ -\item{x}{a RangeShiftR parameter object} - -\item{...}{various options, depend on the given parameter module type} - -\item{xmax, ymax}{upper plotting limits (lower limits are fixed to \eqn{0})} - -\item{stage, sex}{stage(s) and sexe(s) to plot, default: all} -} -\description{ -Visualise the dependencies or distributions of probabilities of the various processes that are defined by the different parameter modules, -like e.g. fecundity or mortality. -} -\details{ -Available methods and their options: -\itemize{ - \item \code{\link[RangeShiftR]{Emigration}}: plot emigration probability - \item \code{\link[RangeShiftR]{DispersalKernel}}: - \itemize{ - \item \code{mortality=FALSE} - plot dispersal distance probability density (default) - \item \code{mortality= TRUE} - plot mortality probability - } - If a mixed kernel was defined (i.e. \code{DoubleKernel=TRUE}), plot the resulting dispersal probability by... - \itemize{ - \item \code{combinekernels=FALSE} - ...plotting both kernels separately (default) - \item \code{combinekernels= TRUE} - ...combining both kernels, i.e. \ifelse{html}{ \out{p(d; δ12) = pI p(d;δ1) + (1-pI) p(d;δ1) } }{\deqn{ p(d; δ_1,δ_2) = p_I p(d;δ_1) + (1-p_I) p(d;δ_2)} } - } - \item \code{\link[RangeShiftR]{StageStructure}}: plot fecundity as well as survival and development probabilities -} -} diff --git a/RangeShiftR/man/readPop.Rd b/RangeShiftR/man/readPop.Rd deleted file mode 100644 index ceed504..0000000 --- a/RangeShiftR/man/readPop.Rd +++ /dev/null @@ -1,22 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{readPop} -\alias{readPop} -\title{Read 'pop' file} -\usage{ -readPop(s, dirpath, ...) -} -\arguments{ -\item{s}{RSmaster parameter object} - -\item{dirpath}{RS directory path} - -\item{center}{In a cell-based model, the x- and y- coordinates will be converted from *nrow* and *ncol* (as in the 'pop' output file) -to true coordinates of the center of the cell measured in metres.} -} -\value{ -a data.frame -} -\description{ -Read the RangeShiftR output file 'pop' into a data.frame, if it was generated. -} diff --git a/RangeShiftR/man/readRange.Rd b/RangeShiftR/man/readRange.Rd deleted file mode 100644 index 2f5000a..0000000 --- a/RangeShiftR/man/readRange.Rd +++ /dev/null @@ -1,19 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/output_handling.R -\name{readRange} -\alias{readRange} -\title{Read 'range' file} -\usage{ -readRange(s, dirpath) -} -\arguments{ -\item{s}{RSmaster parameter object} - -\item{dirpath}{RS directory path} -} -\value{ -a data.frame -} -\description{ -Read the RangeShiftR output file 'range' into a data.frame, if it was generated. -} diff --git a/RangeShiftR/man/validateRSparams.Rd b/RangeShiftR/man/validateRSparams.Rd deleted file mode 100644 index 16840d5..0000000 --- a/RangeShiftR/man/validateRSparams.Rd +++ /dev/null @@ -1,11 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/Rfunctions.R -\name{validateRSparams} -\alias{validateRSparams} -\title{Validate a given RS parameter object} -\usage{ -validateRSparams(x) -} -\description{ -Validate a given RS parameter object -} diff --git a/RangeShiftR/src/Makevars b/RangeShiftR/src/Makevars deleted file mode 100644 index aeefb61..0000000 --- a/RangeShiftR/src/Makevars +++ /dev/null @@ -1,3 +0,0 @@ -CXX_STD = CXX20 -PKG_CXXFLAGS = -O2 -# PKG_CXXFLAGS = -Wall -pedantic diff --git a/RangeShiftR/src/Makevars.win b/RangeShiftR/src/Makevars.win deleted file mode 100644 index 71b592b..0000000 --- a/RangeShiftR/src/Makevars.win +++ /dev/null @@ -1,3 +0,0 @@ -#CXX_STD = CXX20 -PKG_CXXFLAGS = -DRSWIN64 -w -#PKG_CXXFLAGS = -H \ No newline at end of file diff --git a/RangeShiftR/src/RcppExports.cpp b/RangeShiftR/src/RcppExports.cpp deleted file mode 100644 index ce6d56e..0000000 --- a/RangeShiftR/src/RcppExports.cpp +++ /dev/null @@ -1,35 +0,0 @@ -// Generated by using Rcpp::compileAttributes() -> do not edit by hand -// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 - -#include -#include - -using namespace Rcpp; - -#ifdef RCPP_USE_GLOBAL_ROSTREAM -Rcpp::Rostream& Rcpp::Rcout = Rcpp::Rcpp_cout_get(); -Rcpp::Rostream& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get(); -#endif - -// BatchMainR -Rcpp::List BatchMainR(std::string dirpath, Rcpp::S4 ParMaster); -RcppExport SEXP _RangeShiftR_BatchMainR(SEXP dirpathSEXP, SEXP ParMasterSEXP) { -BEGIN_RCPP - Rcpp::RObject rcpp_result_gen; - Rcpp::RNGScope rcpp_rngScope_gen; - Rcpp::traits::input_parameter< std::string >::type dirpath(dirpathSEXP); - Rcpp::traits::input_parameter< Rcpp::S4 >::type ParMaster(ParMasterSEXP); - rcpp_result_gen = Rcpp::wrap(BatchMainR(dirpath, ParMaster)); - return rcpp_result_gen; -END_RCPP -} - -static const R_CallMethodDef CallEntries[] = { - {"_RangeShiftR_BatchMainR", (DL_FUNC) &_RangeShiftR_BatchMainR, 2}, - {NULL, NULL, 0} -}; - -RcppExport void R_init_RangeShiftR(DllInfo *dll) { - R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); - R_useDynamicSymbols(dll, FALSE); -} diff --git a/RangeShiftR/src/Rinterface.cpp b/RangeShiftR/src/Rinterface.cpp deleted file mode 100644 index 8f1ff42..0000000 --- a/RangeShiftR/src/Rinterface.cpp +++ /dev/null @@ -1,5468 +0,0 @@ -/*---------------------------------------------------------------------------- - * - * Copyright (C) 2020 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell - * - * This file is part of RangeShiftR. - * - * RangeShiftR is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * RangeShifter is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with RangeShiftR. If not, see . - * - --------------------------------------------------------------------------*/ - - -/*------------------------------------------------------------------------------ - -RangeShifter v2.0 Main - -Entry level function for the R-package RangeshiftR. - -For compilation with GCC g++ - -For full details of RangeShifter, please see: -Bocedi G., Palmer S.C.F., Pe'er G., Heikkinen R.K., Matsinos Y.G., Watts K. -and Travis J.M.J. (2014). RangeShifter: a platform for modelling spatial -eco-evolutionary dynamics and species' responses to environmental changes. -Methods in Ecology and Evolution, 5, 388-396. doi: 10.1111/2041-210X.12162 - -Author: Anne-Kathleen Malchow, Humboldt University Berlin - large parts modified from 'Main.cpp' and 'BatchMode.cpp' created by - Steve Palmer, University of Aberdeen - -------------------------------------------------------------------------------*/ - -#include "Rinterface.h" - -class msghdrs1; -string habmapname, patchmapname, distnmapname; // req'd for compilation, but not used -string costmapname, genfilename; // ditto -vector hfnames; // ditto - -paramGrad* paramsGrad; // pointer to environmental gradient parameters -paramStoch* paramsStoch; // pointer to environmental stochasticity parameters -paramInit* paramsInit; // pointer to initialisation parameters -paramSim* paramsSim; // pointer to simulation parameters - -Species* pSpecies; // pointer to species -Community* pComm; // pointer to community -RSrandom* pRandom; // pointer to random number routines - -#if RSDEBUG -ofstream DEBUGLOG; -ofstream MUTNLOG; -#endif -// ofstream batchlog; -ofstream rsLog; // performance log for recording simulation times, etc. - - -// global variables passed between parsing functions... -int batchnum; -int patchmodel, resolution, landtype, maxNhab, speciesdist, distresolution; -int reproductn; -#if SEASONAL -int nseasons; -#else -int repseasons; -#endif // SEASONAL -int stagestruct, stages, transfer; -int sexesDem; // no. of explicit sexes for demographic model -int sexesDisp; // no. of explicit sexes for dispersal model -int firstsimul; -int fileNtraits; // no. of traits defined in genetic architecture file -rasterdata landraster,patchraster,spdistraster,costsraster; -// rasterdata landraster; -#if RS_CONTAIN -rasterdata damageraster; -#endif // RS_CONTAIN -#if SPATIALMORT -rasterdata mortraster; -#endif // SPATIALMORT -// ...including names of the input files -// string parameterFile; -// string landFile; -string name_landscape, name_patch, name_sp_dist, name_costfile; -#if SPATIALDEMOG -short nDSlayer=NLAYERS; -#endif // SPATIALDEMOG -//string name_dynland; -//#if RS_CONTAIN -// string name_damagefile; -// string name_managefile; -//#endif // RS_CONTAIN -//#if SPATIALMORT -// string name_mortfile[2]; -//#endif // SPATIALMORT -//#if SEASONAL -// string seasonFile; -//#endif // SEASONAL -// string stageStructFile,transMatrix; -// string emigrationFile,transferFile,settleFile,geneticsFile,initialFile; -//#if VIRTUALECOLOGIST -// string virtEcolFile; -//#endif // VIRTUALECOLOGIST -//#if RS_ABC -// string abcParamsFile,abcObsFile; -// int nABCsamples; -//#endif // RS_ABC -// string prevInitialIndsFile = " "; -// -string msgnlines = "No. of lines for final Simulation "; -string msgshldbe = " should be "; -string msgresol0 = "*** Resolution of "; -string msgresol1 = " does not match set Resolution "; -string msgresol2 = " does not match set Distribution Resolution "; -string msghdrs0 = "*** Headers of "; -string msghdrs1 = " do not match headers of LandscapeFile"; -string msgpatch = " is required for patch-based model"; -string msgmatch = " must match the specification exactly"; -string msgcase = " case-sensitive parameter names"; -// -// float **matrix = NULL; // temporary matrix used in batch mode -// int matrixsize = 0; // size of temporary matrix - -//---------------------------- - -//-------- R interface globals -// static Rcpp::Environment global = Rcpp::Environment::global_env(); -// static Rcpp::S4 ParMaster; -// static Landscape *LandParamsR; -static bool anyIndVar; - -//------------------------------------------------------------------------------ -//------------------------------------------------------------------------------ - - -/* # // [[Rcpp::export(name = ".run_from_R")]] -// # // [[Rcpp::export]] -Rcpp::List run_from_R(Rcpp::S4 ParMaster, Rcpp::String dirpath) -{ - return BatchMainR(dirpath, ParMaster); -}*/ - -/* this function is for calling the file batch version from R; - * it is excluded atm since it is not supposed to be used before the GUI can not generate the batch parameter files from the settings made; - * to include, all file parsing and reading functions have to be included from the BatchMode.h/.cpp (like in the standalone version) -#if !RS_RCPP -Rcpp::List BatchMainFile(string dirpath, Rcpp::S4 ParMaster) -{ - // int i,t0,t1,Nruns; - int i, t0, t1; - int nSimuls, nLandscapes; // no. of simulations and landscapes in batch - - t0 = time(0); - - // set up parameter objects - paramsGrad = new paramGrad; - paramsStoch = new paramStoch; - paramsInit = new paramInit; - paramsSim = new paramSim; - - // set up working directory and control file name - - paramsSim->setDir(dirpath); // full path name of directory passed as a parameter - // NOT IMPLEMENTED: // control file number also passed as a parameter: - // int i = atoi(argv[2]); - // cname = paramsSim->getDir(0) + "Inputs/CONTROL" + Int2Str(i) + ".txt"; - cname = paramsSim->getDir(0) + "Inputs/CONTROL.txt"; - -#if RSDEBUG - Rcpp::Rcout << endl << "Working directory: " << paramsSim->getDir(0) << endl; - Rcpp::Rcout << endl << "Control file: " << cname << endl << endl; -#endif - - bool errorfolder = CheckDirectory(); - if(errorfolder) { - Rcpp::Rcout << endl << "***** Invalid working directory: " << paramsSim->getDir(0) << endl << endl; - Rcpp::Rcout << "***** Working directory must contain Inputs, Outputs and Output_Maps folders" << endl << endl; - Rcpp::Rcout << "*****" << endl; - Rcpp::Rcout << "***** Simulation ABORTED " << endl; - Rcpp::Rcout << "*****" << endl; - return Rcpp::List::create(666); - } - -#if RSDEBUG - // set up debugging log file - string name = paramsSim->getDir(2) + "DebugLog.txt"; - DEBUGLOG.open(name.c_str()); - name = paramsSim->getDir(2) + "MutnLog.txt"; - MUTNLOG.open(name.c_str()); - // DEBUGLOG << "Main(): paramsSim = " << paramsSim << endl; - if(DEBUGLOG.is_open()) - Rcpp::Rcout << endl << "Main(): DEBUGLOG is open" << endl << endl; - else - Rcpp::Rcout << endl << "Main(): DEBUGLOG is NOT open" << endl << endl; -#endif - - // set up species - // FOR MULTI-SPECIES MODEL, THERE WILL BE AN ARRAY OF SPECIES POINTERS - // OR A COMMUNITY CLASS TO HOLD THE SPECIES - pSpecies = new Species; - demogrParams dem = pSpecies->getDemogr(); - stageParams sstruct = pSpecies->getStage(); - trfrRules trfr = pSpecies->getTrfr(); - - batchfiles b; - string indir = paramsSim->getDir(1); - string outdir = paramsSim->getDir(2); - b = ParseControlFile(cname, indir, outdir); - if(b.ok) { - nSimuls = b.nSimuls; - nLandscapes = b.nLandscapes; - dem.repType = b.reproductn; - dem.repSeasons = b.repseasons; - if(b.stagestruct == 0) - dem.stageStruct = false; - else - dem.stageStruct = true; - sstruct.nStages = b.stages; - if(b.transfer == 0) - trfr.moveModel = false; - else { - trfr.moveModel = true; - trfr.moveType = b.transfer; - } - Rcpp::Rcout << endl << "Batch input files OK" << endl; - pSpecies->setDemogr(dem); - pSpecies->setStage(sstruct); - pSpecies->setTrfr(trfr); - simParams sim = paramsSim->getSim(); - sim.batchMode = true; - sim.batchNum = b.batchNum; - paramsSim->setSim(sim); - } else { - Rcpp::Rcout << endl << "Error in parsing batch input files - " << endl; - } -#if RSDEBUG - DEBUGLOG << "Main(): dem.repType = " << dem.repType << endl; -#endif - - clear_outPop(); - -// set up random number stream -#if RSDEBUG - pRandom = new RSrandom(666); -#else - pRandom = new RSrandom(0); -#endif - -#if RANDOMCHECK - randomCheck(); -#else - if(b.ok) { - RunBatch(nSimuls, nLandscapes); - } -#endif - - delete pRandom; - -#if RSDEBUG - if(DEBUGLOG.is_open()) { - DEBUGLOG.close(); - DEBUGLOG.clear(); - } - if(MUTNLOG.is_open()) { - MUTNLOG.close(); - MUTNLOG.clear(); - } -#endif - - delete paramsGrad; - delete paramsStoch; - delete paramsInit; - delete paramsSim; - delete pSpecies; - - t1 = time(0); - Rcpp::Rcout << endl << "***** Elapsed time " << t1 - t0 << " seconds" << endl << endl; - - Rcpp::Rcout << "*****" << endl; - Rcpp::Rcout << "***** Simulation completed " << endl; - Rcpp::Rcout << "***** Outputs folder: " << outdir << endl; - Rcpp::Rcout << "*****" << endl; - - - return Rcpp::List::create(0); -} -#endif // !RS_RCPP -*/ - - -//--------------------------------------------------------------------------- -//--------------------------------------------------------------------------- -//------ R interface -------------------------------------------------------- -//--------------------------------------------------------------------------- - - -//[[Rcpp::export(name = "run_from_R")]] -Rcpp::List BatchMainR(std::string dirpath, Rcpp::S4 ParMaster) -{ - // int i,t0,t1,Nruns; - int t0, t1; - int nSimuls, nLandscapes; // no. of simulations and landscapes in batch - - t0 = time(0); - //clear_outPop(); - - // set up parameter objects - paramsGrad = new paramGrad; - paramsStoch = new paramStoch; - paramsInit = new paramInit; - paramsSim = new paramSim; - - // set up working directory and log file names - paramsSim->setDir(dirpath); - -#if RSDEBUG - Rcpp::Rcout << endl << "Working directory: " << paramsSim->getDir(0) << endl; -#endif - - bool errorfolder = CheckDirectory(); - if(errorfolder) { - Rcpp::Rcout << endl << "***** Invalid working directory: " << paramsSim->getDir(0) << endl << endl; - Rcpp::Rcout << "***** Working directory must contain Inputs, Outputs and Output_Maps folders" << endl << endl; - Rcpp::Rcout << "*****" << endl; - Rcpp::Rcout << "***** Simulation ABORTED " << endl; - Rcpp::Rcout << "*****" << endl; - return Rcpp::List::create(Rcpp::Named("Errors") = 666); - } - -#if RSDEBUG - // set up debugging log file - string logname = paramsSim->getDir(2) + "DebugLog.txt"; - DEBUGLOG.open(logname.c_str()); - logname = paramsSim->getDir(2) + "MutnLog.txt"; - MUTNLOG.open(logname.c_str()); - if(DEBUGLOG.is_open()) - Rcpp::Rcout << endl << "Main(): DEBUGLOG is open" << endl << endl; - else - Rcpp::Rcout << endl << "Main(): DEBUGLOG is NOT open" << endl << endl; -#else -#endif - - - // set global variables - Rcpp::S4 control("ControlParams"); - // ParMaster = global.get(ParMaster_name); - control = Rcpp::as(ParMaster.slot("control")); - setglobalvarsR(control); - - nSimuls = 1; - nLandscapes = 1; - - //////////////////////// batchfiles ParseControlR(string dirpath) /////////////////// - - //string indir = dirpath + "Inputs/"; - string outdir = dirpath + "Outputs/"; - - // Doublecheck global variables - Rcpp::Rcout << "Checking Control parameters " << endl; - - int errors = 0; - string filetype = "Control parameters"; - - if(batchnum < 0) { - BatchErrorR(filetype, -999, 19, "BatchNum"); - errors++; - } - - if(patchmodel < 0 || patchmodel > 1) { - BatchErrorR(filetype, -999, 1, "PatchModel"); - errors++; - } - - if(resolution < 1) { - BatchErrorR(filetype, -999, 11, "Resolution"); - errors++; - } - -#if SEASONAL - if (landtype != 0) { - BatchError(filetype,-999,0,"LandType"); - batchlog << "LandType must be 0 for a seasonal model" << endl; - errors++; - } -#else - if(landtype != 0 && landtype != 2 && landtype != 9) { - BatchErrorR(filetype, -999, 0, "LandType"); - Rcpp::Rcout << "LandType must be 0, 2 or 9" << endl; - errors++; - } else { - if(landtype == 9 && patchmodel) { - BatchErrorR(filetype, -999, 0, "LandType"); - Rcpp::Rcout << "LandType may not be 9 for a patch-based model" << endl; - errors++; - } - } -#endif // SEASONAL - - if(landtype == 0) { // raster with unique habitat codes - if(maxNhab < 2) { - BatchErrorR(filetype, -999, 12, "MaxHabitats"); - errors++; - } - } else { // raster with habitat quality OR artificial landscape - if(maxNhab != 1) { - BatchErrorR(filetype, -999, 0, " "); - errors++; - Rcpp::Rcout << "MaxHabitats must be 1 for LandType = " << landtype << endl; - } - /*else - { - if (landtype == 9) // artificial landscape - // although the user enters 1, the actual number of habitats is 2 - b.maxNhab = 2; // only changes maxNhab in batchfile b, the global variable remains maxNhab=1 - }*/ - } - - if(speciesdist < 0 || speciesdist > 1) { - BatchErrorR(filetype, -999, 1, "SpeciesDist"); - errors++; - } else { - if(speciesdist != 0 && landtype == 9) { - BatchErrorR(filetype, -999, 0, "SpeciesDist"); - Rcpp::Rcout << "SpeciesDist must be 0 for an artificial landscape" << endl; - errors++; - } - } - - if(speciesdist == 1) { // distribution resolution is required - if(distresolution < resolution) { - BatchErrorR(filetype, -999, 0, "DistResolution"); - Rcpp::Rcout << "DistResolution may not be less than Resolution" << endl; - errors++; - } else { - if(distresolution % resolution) { - BatchErrorR(filetype, -999, 0, "DistResolution"); - Rcpp::Rcout << "DistResolution must be an integer multiple of Resolution" << endl; - errors++; - } - } - } - -#if GROUPDISP - if(reproductn < 0 || reproductn > 3) { - BatchErrorR(filetype, -999, 3, "Reproduction"); - errors++; - } -#else - if(reproductn < 0 || reproductn > 2) { - BatchErrorR(filetype, -999, 2, "Reproduction"); - errors++; - } -#endif - else { - switch(reproductn) { - case 0: { - sexesDem = 1; - sexesDisp = 1; - break; - } - case 1: { - sexesDem = 1; - sexesDisp = 2; - break; - } - case 2: { - sexesDem = 2; - sexesDisp = 2; - break; - } -#if GROUPDISP - case 3: { - sexesDem = 1; - sexesDisp = 1; - break; - } -#endif - } - } - -#if SEASONAL - if (nseasons < 2) { - BatchError(filetype,-999,12,"NSeasons"); - errors++; - } -#else - if(repseasons < 1) { - BatchErrorR(filetype, -999, 11, "RepSeasons"); - errors++; - } -#endif - -#if SEASONAL - if (stagestruct != 1) { - BatchError(filetype,-999,0," "); - errors++; - batchlog << "StageStruct must be 1 for a partial migration model" << endl; - } -#else - if(stagestruct < 0 || stagestruct > 1) { - BatchErrorR(filetype, -999, 1, "StageStruct"); - errors++; - } -#endif - - if(stagestruct) { - if(stages < 2 || stages > NSTAGES) { - BatchErrorR(filetype, -999, 0, " "); - errors++; - Rcpp::Rcout << "Stages must be between 2 and " << NSTAGES << endl; - } - } else { // non-stage-structured model must have 2 stages - stages = 2; - } - -#if RS_CONTAIN - if (transfer < 0 || transfer > 4) { - BatchError(filetype,-999,4,"Transfer"); - errors++; - } else { - if (stagestruct || transfer < 3) b.transfer = transfer; - else { - BatchError(filetype,-999,0," "); - errors++; - batchlog << "Transfer option " << transfer - << " is not allowed for a non-structured species" << endl; - } - } -#else - if(transfer < 0 || transfer > 2) { - BatchErrorR(filetype, -999, 2, "Transfer"); - errors++; - } -#endif // RS_CONTAIN - -#if RS_ABC - if(nABCsamples < 1) { - BatchErrorR(filetype, -999, 10, "ABCsamplesize"); - errors++; - } -#endif - - if(errors > 0) { // terminate batch error checking - - Rcpp::Rcout << endl << "*** Control parameters must be corrected before proceeding" << endl; - return Rcpp::List::create(Rcpp::Named("Errors") = errors); - } - - ////////////////////////////////////// - - - // set up species - // FOR MULTI-SPECIES MODEL, THERE WILL BE AN ARRAY OF SPECIES POINTERS - // OR A COMMUNITY CLASS TO HOLD THE SPECIES - pSpecies = new Species; - demogrParams dem = pSpecies->getDemogr(); - stageParams sstruct = pSpecies->getStage(); - trfrRules trfr = pSpecies->getTrfr(); - - if(errors == 0) { - // nSimuls = b.nSimuls; - // nLandscapes = b.nLandscapes; - dem.repType = reproductn; - dem.repSeasons = repseasons; - if(stagestruct == 0) - dem.stageStruct = false; - else - dem.stageStruct = true; - sstruct.nStages = stages; - if(transfer == 0) - trfr.moveModel = false; - else { - trfr.moveModel = true; - trfr.moveType = transfer; - } - pSpecies->setDemogr(dem); - pSpecies->setStage(sstruct); - pSpecies->setTrfr(trfr); - - simParams sim = paramsSim->getSim(); - sim.batchMode = true; - sim.batchNum = batchnum; - paramsSim->setSim(sim); - Rcpp::Rcout << endl << "Control Parameters checked" << endl; - } else { - Rcpp::Rcout << endl << "Error in parsing parameters - " << endl; - } - -#if RSDEBUG - DEBUGLOG << "BatchMainR(): dem.repType = " << dem.repType << endl; -#endif - - // set up random number stream - std::int64_t seed = Rcpp::as(control.slot("seed")); - - if(seed == 0) { // don't set seed from R -#if RSDEBUG - pRandom = new RSrandom(666); // fixed debug seed -#else - pRandom = new RSrandom(-1); // random seed -#endif - } - else pRandom = new RSrandom(seed); - - //Rcpp::RNGScope rngScope; - -#if RANDOMCHECK - randomCheck(); -#else - Rcpp::List list_outPop; - if(errors == 0) { - Rcpp::Rcout << endl << "Run Simulation(s)"; - if(seed > 0) { - Rcpp::Rcout << " with seed " << seed; - }else{ - Rcpp::Rcout << " with random seed"; - } - Rcpp::Rcout << " ..." << endl; - - list_outPop = RunBatchR(nSimuls, nLandscapes, ParMaster); - } -#endif - -#if RSDEBUG - if(DEBUGLOG.is_open()) { - DEBUGLOG.close(); - DEBUGLOG.clear(); - } - if(MUTNLOG.is_open()) { - MUTNLOG.close(); - MUTNLOG.clear(); - } -#endif - - simParams sim = paramsSim->getSim(); - - delete paramsGrad; - delete paramsStoch; - delete paramsInit; - delete paramsSim; - delete pSpecies; - - delete pRandom; - - t1 = time(0); - Rcpp::Rcout << endl << "***** Elapsed time: " << t1 - t0 << " seconds" << endl << endl; - - Rcpp::Rcout << "*****" << endl; - Rcpp::Rcout << "***** Simulation completed " << endl; - Rcpp::Rcout << "***** Outputs folder: " << outdir << endl; - Rcpp::Rcout << "*****" << endl; - - if(sim.ReturnPopRaster && sim.outIntPop > 0) { - // return Rcpp::List::create(Rcpp::Named("runs") = errors); - return list_outPop; - } else { - return Rcpp::List::create(Rcpp::Named("Errors") = errors); - } -} - -//--------------------------------------------------------------------------- - -bool ReadLandParamsR(Landscape* pLandscape, Rcpp::S4 ParMaster) -{ - landParams ppLand = pLandscape->getLandParams(); - genLandParams ppGenLand = pLandscape->getGenLandParams(); - - Rcpp::S4 LandParamsR("LandParams"); - LandParamsR = Rcpp::as(ParMaster.slot("land")); - - int errors = 0; - - if(landtype == 9) { // artificial landscape -#if RSDEBUG - DEBUGLOG << "ReadLandParamsR(): artificial: " << endl; -#endif - ppLand.nHab = 2; - ppLand.rasterType = 9; - ppLand.landNum = Rcpp::as(LandParamsR.slot("LandNum")); - ppGenLand.fractal = Rcpp::as(LandParamsR.slot("fractal")); - ppGenLand.continuous = Rcpp::as(LandParamsR.slot("continuous")); - ppLand.dimX = Rcpp::as(LandParamsR.slot("dimX")); - ppLand.dimY = Rcpp::as(LandParamsR.slot("dimY")); - ppGenLand.minPct = Rcpp::as(LandParamsR.slot("minPct")); - ppGenLand.maxPct = Rcpp::as(LandParamsR.slot("maxPct")); - ppGenLand.propSuit = Rcpp::as(LandParamsR.slot("propSuit")); - ppGenLand.hurst = Rcpp::as(LandParamsR.slot("hurst")); - ppLand.maxX = ppLand.dimX - 1; - ppLand.maxY = ppLand.dimY - 1; - - // check dimensions --> these shouldn't occur, as already checked for on R-level - if(ppGenLand.fractal && ppLand.maxX > ppLand.maxY) { - //return -901; - // fix it by swapping X and Y: - ppLand.maxX = ppLand.dimY - 1; - ppLand.maxY = ppLand.dimX - 1; - ppLand.dimX = ppLand.maxX + 1; - ppLand.dimY = ppLand.maxY + 1; - } - if(ppGenLand.fractal) { - if((ppLand.dimX < 3 || ppLand.dimX % 2 != 1) // why only check for uneven number, not ((power of 2)-1) ? - || (ppLand.dimY < 3 || ppLand.dimY % 2 != 1)) { - //return -902; // -> no action, should be covered on R-level - } - } - // SCFP 26/9/13 - min and max habitat percentages need to be set for all types of - // fractal landscape (including discrete), as they are passed to the fractal generator - // NOTE that will not have been checked for a discrete landscape - if(ppGenLand.fractal && !ppGenLand.continuous) { - ppGenLand.minPct = 1; - ppGenLand.maxPct = 100; - } - - } else { // imported raster map - - ppLand.landNum = Rcpp::as(LandParamsR.slot("LandNum")); - ppLand.nHab = Rcpp::as(LandParamsR.slot("Nhabitats")); // no longer necessary to read no. of habitats from landFile - if(landtype == 2) ppLand.nHab = 1; // habitat quality landscape has one habitat class - - Rcpp::IntegerVector dynland_years; - dynland_years = Rcpp::as(LandParamsR.slot("DynamicLandYears")); - if(dynland_years.size() == 1 && dynland_years[0] == 0 ) ppLand.dynamic = false; - else ppLand.dynamic = true; - -#if RS_THREADSAFE -// Rcpp::S4 habitatmaps("RasterStack"); -// Rcpp::S4 patchmaps("RasterStack"); -// Rcpp::S4 costmaps("RasterStack"); -// Rcpp::S4 spdistmap("RasterStack"); - Rcpp::List habitatmaps; - Rcpp::List patchmaps; - Rcpp::List costmaps; - Rcpp::List spdistmap; - habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); - patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); - costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); - spdistmap = Rcpp::as(LandParamsR.slot("SpDistFile")); -// name_landscape = Rcpp::as(habitatmaps.slot("filename")); -// name_patch = Rcpp::as(patchmaps.slot("filename")); -// name_costfile = Rcpp::as(costmaps.slot("filename")); -// name_sp_dist = Rcpp::as(spdistmap.slot("filename")); - if(!patchmodel && patchmaps.size() != 0) Rcpp::Rcout << "PatchFile must be empty in a cell-based model!" << endl; -#if SPATIALDEMOG - int nrDemogScaleLayers = 0; - Rcpp::List demogScaleLayers; - if (landtype == 2) { // habitat quality - nrDemogScaleLayers = Rcpp::as(LandParamsR.slot("nrDemogScaleLayers")); - if(nrDemogScaleLayers) { - ppLand.spatialdemog = true; - nDSlayer = nrDemogScaleLayers; - demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); - } - } -#endif - - // new slot for coordinates of lower left corner - Rcpp::NumericVector origin_coords; - origin_coords = Rcpp::as(LandParamsR.slot("OriginCoords")); - landOrigin origin; - origin.minEast = origin_coords[0]; - origin.minNorth = origin_coords[1]; - pLandscape->setOrigin(origin); -#else - Rcpp::StringVector habitatmaps, patchmaps, costmaps; - if(ppLand.dynamic) { - habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); - patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); - costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); - name_landscape = habitatmaps(0); - name_patch = patchmaps(0); - name_costfile = costmaps(0); - } else { - name_landscape = Rcpp::as(LandParamsR.slot("LandscapeFile")); - name_patch = Rcpp::as(LandParamsR.slot("PatchFile")); - name_costfile = Rcpp::as(LandParamsR.slot("CostsFile")); - } - name_sp_dist = Rcpp::as(LandParamsR.slot("SpDistFile")); - - if(!patchmodel && name_patch != "NULL") Rcpp::Rcout << "PatchFile must be NULL in a cell-based model!" << endl; -#endif // RS_THREADSAFE - -#if RS_CONTAIN - name_damage = Rcpp::as(LandParamsR.slot("DamageFile")); -#endif // RS_CONTAIN -#if SPATIALMORT - name_mort1 = Rcpp::as(LandParamsR.slot("MortFile1")); - name_mort2 = Rcpp::as(LandParamsR.slot("MortFile2")); -#endif // SPATIALMORT - -#if RS_THREADSAFE - if(patchmaps.size() == 0) { - if(patchmodel) { - BatchErrorR("LandFile", -999, 0, " "); - errors++; - Rcpp::Rcout << "PatchFile" << msgpatch << endl; - } - } - if (costmaps.size() == 0) { - if (transfer == 1) { // SMS - if (landtype == 2) { // habitat quality - BatchErrorR("LandFile", -999, 0, " "); - errors++; - Rcpp::Rcout << "CostsFile is required for a habitat quality landscape" << endl; - } - } - }else{ - if (transfer != 1) { // not SMS - BatchErrorR("LandFile", -999, 0, " "); - errors++; - Rcpp::Rcout << "CostsFile must be NULL if transfer model is not SMS" << endl; - } - } -#if SPATIALDEMOG - if (nrDemogScaleLayers && !stagestruct) { - BatchErrorR("LandFile", -999, 0, " "); - errors++; - Rcpp::Rcout << "Spatially varying demographic layers are only supported for stage-structured models" << endl; - } -#endif - if(ppLand.dynamic) { - int nlayers_hab; - nlayers_hab = habitatmaps.size(); - // check valid years - if(dynland_years[0]!=0) { - errors++; - Rcpp::Rcout << "First year in dynamic landscape must be 0." << endl; - } else { - for(int i=1; i= dynland_years[i]) { - errors++; - Rcpp::Rcout << "Years in dynamic landscape must strictly increase." << endl; - } - } - } - if(dynland_years.size() != nlayers_hab) { - errors++; - Rcpp::Rcout << "Dynamic landscape: DynamicLandYears must have as many elements as habitat maps." << endl; - } - if(patchmodel) { - if( dynland_years.size() != patchmaps.size() || nlayers_hab != patchmaps.size() ) { - errors++; - Rcpp::Rcout << "Dynamic landscape: Patchmaps must have as many elements as DynamicLandYears and habitat maps." << endl; - } - } - if (costmaps.size() != 0) { - if( dynland_years.size() != costmaps.size() || nlayers_hab != costmaps.size() ) { - errors++; - Rcpp::Rcout << "Dynamic landscape: Costmaps must have as many elements as DynamicLandYears and habitat maps." << endl; - } - } -#if SPATIALDEMOG - if (nrDemogScaleLayers) { - if( dynland_years.size() != demogScaleLayers.size() || nlayers_hab != demogScaleLayers.size() ) { - errors++; - Rcpp::Rcout << "Dynamic landscape: demogScaleLayers must have as many elements as DynamicLandYears and habitat maps." << endl; - } - } -#endif - if(errors==0) { - // store land changes - landChange chg; - for(int i=1; iaddLandChange(chg); - } - } - } // end dynamic landscapes - - if(spdistmap.size() == 0) { - if(speciesdist) { - BatchErrorR("LandFile", -999, 0, " "); - errors++; - Rcpp::Rcout << "Species Distribution map file is required as SpeciesDist is 1 in Control" << endl; - } - } -#if SPATIALDEMOG - if(nrDemogScaleLayers) { // test consistent number of layers (nrDemogScaleLayers) per dynland year - Rcpp::NumericVector yearLayers = Rcpp::as(demogScaleLayers[0]); - // get dimensions of landscape - Rcpp::IntegerVector DimsA = yearLayers.attr("dim"); - // test for correct size of demogr. layers array - if(DimsA[2] != nrDemogScaleLayers){ - errors++; - } - if(ppLand.dynamic) { - for(int i=1; i(demogScaleLayers[i]); - DimsA = yearLayers.attr("dim"); - if(DimsA[2] != nrDemogScaleLayers){ - errors++; - Rcpp::Rcout << "demogScaleLayers in dynamic year " << i << " has an incorrect amount of layers" << endl; - } - } - } - } -#endif - -#else //RS_THREADSAFE - - // CHECK IMPORTED RASTER FILES - string indir = paramsSim->getDir(1); - string ftype, fname; - string filetype = "LandFile"; - //rasterdata patchraster, spdistraster; //declared globally - - // check landscape filename - ftype = "LandscapeFile"; - fname = indir + name_landscape; - landraster = ParseRasterHead(fname); - if(landraster.ok) { - if(landraster.cellsize == resolution) - Rcpp::Rcout << ftype << " headers OK: " << fname << endl; - else { - errors++; - Rcpp::Rcout << msgresol0 << ftype << " " << fname << msgresol1 << endl; - } - } else { - errors++; - if(landraster.errors == -111) - OpenErrorR(ftype, fname); - else - FormatErrorR(fname, landraster.errors); - } - - // check patch map filename - ftype = "PatchFile"; - if(name_patch == "NULL") { - if(patchmodel) { - BatchErrorR(filetype, -999, 0, " "); - errors++; - Rcpp::Rcout << ftype << msgpatch << endl; - } - } else { - if(patchmodel) { - fname = indir + name_patch; - patchraster = ParseRasterHead(fname); - if(patchraster.ok) { - // check resolutions match - if(patchraster.cellsize == resolution) { - if(!errors) { - if(patchraster.cellsize == landraster.cellsize) { - // check that extent matches landscape extent - if(patchraster.ncols == landraster.ncols && patchraster.nrows == landraster.nrows) { - // check origins match - if((int)patchraster.xllcorner == (int)landraster.xllcorner && - (int)patchraster.yllcorner == (int)landraster.yllcorner) { - Rcpp::Rcout << ftype << " headers OK: " << fname << endl; - } else { - Rcpp::Rcout << "*** Origin co-ordinates of " << ftype << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << "*** Extent of " << ftype << " " << fname << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << msgresol0 << ftype << " " << fname << msghdrs1 << endl; - errors++; - } - } - } else { - Rcpp::Rcout << msgresol0 << ftype << " " << fname << msgresol1 << endl; - errors++; - } - } else { - errors++; - if(patchraster.errors == -111) - OpenErrorR(ftype, fname); - else - FormatErrorR(fname, patchraster.errors); - } - } - } - - // check cost map filename - ftype = "CostMapFile"; - if (name_costfile == "NULL") { - if (transfer == 1) { // SMS - if (landtype == 2) { // habitat quality - BatchErrorR(filetype, -999, 0, " "); - errors++; - Rcpp::Rcout << ftype << " is required for a habitat quality landscape" << endl; - } - } - } - else { - if (transfer == 1) { // SMS - fname = indir + name_costfile; - costsraster = ParseRasterHead(fname); - if(costsraster.ok) { - // check resolutions match - if(costsraster.cellsize == resolution) { - if(!errors) { - if(costsraster.cellsize == landraster.cellsize) { - // check that extent matches landscape extent - if(costsraster.ncols == landraster.ncols && costsraster.nrows == landraster.nrows) { - // check origins match - if((int)costsraster.xllcorner == (int)landraster.xllcorner && - (int)costsraster.yllcorner == (int)landraster.yllcorner) { - Rcpp::Rcout << ftype << " headers OK: " << fname << endl; - } else { - Rcpp::Rcout << "*** Origin co-ordinates of " << ftype << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << "*** Extent of " << ftype << " " << fname << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << msgresol0 << ftype << " " << fname << msghdrs1 << endl; - errors++; - } - } - } else { - Rcpp::Rcout << msgresol0 << ftype << " " << fname << msgresol1 << endl; - errors++; - } - } else { - errors++; - if(costsraster.errors == -111) - OpenErrorR(ftype, fname); - else - FormatErrorR(fname, costsraster.errors); - } - } - else { - BatchErrorR(filetype, -999, 0, " "); - errors++; - Rcpp::Rcout << ftype << " must be NULL if transfer model is not SMS" << endl; - } - } - - // check dynamic landscape filename - // ...most checks are done at reading time in ReadDynLandR() - ftype = "Dynamic landscape"; - if(ppLand.dynamic) { - // check valid years - if(dynland_years[0]!=0) { - errors++; - Rcpp::Rcout << "First year in dynamic landscape must be 0." << endl; - } else { - for(int i=1; i= dynland_years[i]) { - errors++; - Rcpp::Rcout << "Years in dynamic landscape must strictly increase." << endl; - } - } - } - if(dynland_years.size() != habitatmaps.size()) { - errors++; - Rcpp::Rcout << "Dynamic landscape: Years must have as many elements as habitat maps." << endl; - } - if(patchmodel) { - if( dynland_years.size() != patchmaps.size() || - habitatmaps.size() != patchmaps.size() ) { - errors++; - Rcpp::Rcout << "Dynamic landscape: Patchmaps must have as many elements as Years and habitat maps." << endl; - } - } - if (name_costfile != "NULL") { - if( dynland_years.size() != costmaps.size() || - habitatmaps.size() != costmaps.size() ) { - errors++; - Rcpp::Rcout << "Dynamic landscape: Costmaps must have as many elements as Years and habitat maps." << endl; - } - } - if(errors==0) { - // store land changes - string landchangefile,patchchangefile; - landChange chg; - for(int i=1; iaddLandChange(chg); - } - } - } // end dynamic landscapes - - // check initial distribution map filename - ftype = "Species Distribution map"; - if(name_sp_dist == "NULL") { - if(speciesdist) { - BatchErrorR(filetype, -999, 0, " "); - errors++; - Rcpp::Rcout << ftype << " is required as SpeciesDist is 1 in Control" << endl; - } - } else { - if(speciesdist) { - fname = indir + name_sp_dist; - spdistraster = ParseRasterHead(fname); - if(spdistraster.ok) { - if(spdistraster.cellsize == distresolution) { - if(!errors) { - // check origins match - if((int)spdistraster.xllcorner == (int)landraster.xllcorner && (int)spdistraster.yllcorner == (int)landraster.yllcorner) { - // check extents match - if(spdistraster.cellsize == landraster.cellsize) { - // same resolution - if(spdistraster.ncols == landraster.ncols && spdistraster.nrows == landraster.nrows) { - Rcpp::Rcout << ftype << " headers OK: " << fname << endl; - } else { - Rcpp::Rcout << "*** Extents of " << ftype << msghdrs1 << endl; - errors++; - } - } else { // different resolution - if((spdistraster.cellsize % landraster.cellsize)==0) { - double coarse = spdistraster.cellsize/landraster.cellsize; - double rightx = ceil(landraster.ncols/coarse); - double righty = ceil(landraster.nrows/coarse); - if( spdistraster.ncols == int(rightx) && spdistraster.nrows == int(righty) ) { - Rcpp::Rcout << ftype << " headers OK: " << fname << endl; - } else { - Rcpp::Rcout << "*** Extents of " << ftype << msghdrs1 << endl; - errors++; - } - } else { - BatchErrorR(filetype, -999, 0, "DistResolution"); - Rcpp::Rcout << "Resolution of initial distribution must be an integer multiple of Landscape resolution" << endl; - errors++; - } - } - } else { - Rcpp::Rcout << "*** Origin co-ordinates of " << ftype << msghdrs1 << endl; - errors++; - } - } - } else { - Rcpp::Rcout << msgresol0 << ftype << " " << fname << msgresol2 << endl; - errors++; - } - } else { - errors++; - if(spdistraster.errors == -111) - OpenErrorR(ftype, fname); - else - FormatErrorR(fname, spdistraster.errors); - } - } - } // end species dist map - -#if RS_CONTAIN - // check economic / environmental damage map filename /* *** not implemented in R-version - /* - ftype = "DamageFile"; - bLandFile >> intext; - if (intext != "NULL") { - if (true) { - fname = indir + intext; - damageraster = CheckRasterFile(fname); - if (damageraster.ok) { - if (damageraster.cellsize == resolution) { - if (damageraster.ncols == landraster.ncols - && damageraster.nrows == landraster.nrows - && damageraster.cellsize == landraster.cellsize - && (int)damageraster.xllcorner == (int)landraster.xllcorner - && (int)damageraster.yllcorner == (int)landraster.yllcorner) { - batchlog << ftype << " headers OK: " << fname << endl; - } else { - batchlog << "*** Headers of " << ftype << " " << fname - << " do not match headers of LandscapeFile" << endl; - errors++; - } - } else { - batchlog << msgresol0 << ftype << " " << fname - << msgresol1 << endl; - errors++; - } - } else { - errors++; - if (damageraster.errors == -111) - OpenError(ftype,fname); - else - FormatError(fname,damageraster.errors); - } - } - }*/ -#endif // RS_CONTAIN - -#if SPATIALMORT - // check mortality map filenames /* *** not implemented in R-version - /* - bool filenull[2]; - for (int mm = 0; mm < 2; mm++) { - int fnum = mm+1; - ftype = "MortFile" + Int2Str(fnum); - bLandFile >> intext; - if (intext == "NULL") { - filenull[mm] = true; - } - else { - filenull[mm] = false; - fname = indir + intext; - mortraster = CheckRasterFile(fname); - if (mortraster.ok) { - if (mortraster.cellsize == resolution) { - if (mortraster.ncols == landraster.ncols - && mortraster.nrows == landraster.nrows - && mortraster.cellsize == landraster.cellsize - && (int)mortraster.xllcorner == (int)landraster.xllcorner - && (int)mortraster.yllcorner == (int)landraster.yllcorner) { - batchlog << ftype << " headers OK: " << fname << endl; - } - else { - batchlog << "*** Headers of " << ftype << " " << fname - << " do not match headers of LandscapeFile" << endl; - errors++; - } - } - else { - batchlog << "*** Resolution of " << ftype << " " << fname - << " does not match Resolution in Control file" << endl; - errors++; - } - } - else { - errors++; - if (mortraster.errors == -111) - OpenError(ftype,fname); - else - FormatError(fname,mortraster.errors); - } - } - } - if ((filenull[0] && !filenull[1]) || (!filenull[0] && filenull[1])) { - batchlog << "*** There must be either two spatial mortality files," - << " or both must be NULL to omit spatial mortality" << endl; - errors++; - }*/ -#endif // SPATIALMORT - -#endif // RS_THREADSAFE - - } // end else (imported raster map) - - pLandscape->setLandParams(ppLand, true); - pLandscape->setGenLandParams(ppGenLand); - -#if RSDEBUG -// DEBUGLOG << "ReadLandParamsR(): NHab=" << ppLand.nHab << endl; - DEBUGLOG << "ReadLandParamsR(): ppLand.landNum=" << ppLand.landNum << endl; -#endif - - if(errors) return false; //=landOK - else return true; -} - -//--------------------------------------------------------------------------- - -#if RS_THREADSAFE -int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) -{ - Rcpp::List habitatmaps; - Rcpp::List patchmaps; - Rcpp::List costmaps; - - Rcpp::NumericMatrix hraster; - Rcpp::NumericMatrix praster; - Rcpp::NumericMatrix craster; - -#if SPATIALDEMOG - int nrDemogScaleLayers = 0; - Rcpp::List demogScaleLayers; - Rcpp::NumericVector yearLayers = Rcpp::NumericVector::create(-1); -#endif - - habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); - if (patchmodel) patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); - else praster = Rcpp::NumericMatrix(0); - bool costs = false; - costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); - if (costmaps.size() > 0) costs = true; - else craster = Rcpp::NumericMatrix(0); -#if SPATIALDEMOG - if (landtype == 2) { // habitat quality - nrDemogScaleLayers = Rcpp::as(LandParamsR.slot("nrDemogScaleLayers")); - if(nrDemogScaleLayers) demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); - } -#endif - - //------------ int ParseDynamicFile(string indir) { - - int errors = 0; - - if (patchmodel) { - pLandscape->createPatchChgMatrix(); - } - if (costs) { - pLandscape->createCostsChgMatrix(); - } - - for(int i=1; i < habitatmaps.size(); i++ ) { - // Now read raster data of Habitat and, if applicable, Patch and/or Cost maps: - int imported = 0; - - hraster = Rcpp::as(habitatmaps[i]); - if (patchmodel) praster = Rcpp::as(patchmaps[i]); - if (costs) craster = Rcpp::as(costmaps[i]); -#if SPATIALDEMOG - if (nrDemogScaleLayers) yearLayers = Rcpp::as(demogScaleLayers[i]); -#endif - - if (errors == 0) { -#if SPATIALDEMOG - imported = pLandscape->readLandChange(i-1, hraster, praster, craster, yearLayers); -#else - imported = pLandscape->readLandChange(i-1, hraster, praster, craster); -#endif - if (imported != 0) { - return imported; - } - if (patchmodel) { - pLandscape->recordPatchChanges(i); - } - if (costs) { - pLandscape->recordCostChanges(i); - } - } - } // end of loop over landscape changes i - - if(patchmodel) { - // record changes back to original landscape for multiple replicates - pLandscape->recordPatchChanges(0); - pLandscape->deletePatchChgMatrix(); - } - if (costs) { - pLandscape->recordCostChanges(0); - pLandscape->deleteCostsChgMatrix(); - } - return 0; -} - -#else // RS_THREADSAFE - -int ReadDynLandR(Landscape *pLandscape, Rcpp::S4 LandParamsR) -{ - -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): pLandscape=" << pLandscape << endl; -#endif - - Rcpp::StringVector habitatmaps, patchmaps, costmaps; - habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); - if (patchmodel) { - patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); - } - bool costs = false; - costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); - if (costmaps(0) != "NULL") costs = true; - - //------------ int ParseDynamicFile(string indir) { - - string indir = paramsSim->getDir(1); - string fname,ftype; - wstring header; - wifstream hfile,pfile,cfile; - int errors,ncols,nrows,cellsize,habnodata,pchnodata,costnodata; - double xllcorner,yllcorner; - - errors = ncols = nrows = cellsize = habnodata = pchnodata = costnodata = 0; - xllcorner = yllcorner = 0.0; - - if (patchmodel) { - pLandscape->createPatchChgMatrix(); - } - if (costs) { - pLandscape->createCostsChgMatrix(); - } - - for(int i=1; i < habitatmaps.size(); i++ ) { - - // Habitat change file - fname = indir + habitatmaps(i); - - // open file -#if RSWIN64 - hfile.open(fname.c_str()); -#else - hfile.open(fname, std::ios::binary); -#endif - if(!hfile.is_open()) { - OpenErrorR("Dynamic landscape habitat map ", fname); -#if RSDEBUG - DEBUGLOG << "Dynamic landscape habitat map failed to open: " << fname << std::endl; -#endif - hfile.clear(); - return -212; - } else { -#if RSDEBUG - DEBUGLOG << "Dynamic landscape habitat map #" << i << " open to read" << std::endl; -#endif -#if !RSWIN64 - // check BOM for UTF-16 - if(check_bom(fname) == "utf16") - // apply BOM-sensitive UTF-16 facet - hfile.imbue(std::locale(hfile.getloc(), new std::codecvt_utf16)); -#endif - // ASCII header - hfile >> header; - if (!hfile.good()) { -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): failed to read landscape habitat map #" << i << ": " << fname << std::endl; -#endif - errors = -1112; - hfile.close(); - hfile.clear(); - return errors; - } - if (header != L"ncols" && header != L"NCOLS") errors++; - hfile >> ncols; - - hfile >> header >> nrows; - if (header != L"nrows" && header != L"NROWS") errors++; - - hfile >> header >> xllcorner; - if (header != L"xllcorner" && header != L"XLLCORNER") errors++; - - hfile >> header >> yllcorner; - if (header != L"yllcorner" && header != L"YLLCORNER") errors++; - - hfile >> header >> cellsize; - if (header != L"cellsize" && header != L"CELLSIZE") errors++; - - hfile >> header >> habnodata; - if (header != L"NODATA_value" && header != L"NODATA_VALUE") errors++; - - if (errors > 0) { - FormatErrorR(fname,errors); -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): failed to read Raster header of landscape habitat map #" << i << ": " << fname << std::endl; -#endif - hfile.close(); - hfile.clear(); - } else { - // check resolution match - if (cellsize == resolution) { - // check that extent matches landscape extent - if(ncols == landraster.ncols && nrows == landraster.nrows) { - // check origins match - if((int)xllcorner == (int)landraster.xllcorner && - (int)yllcorner == (int)landraster.yllcorner) { - Rcpp::Rcout << "Dynamic landscape habitat map #" << i << ", headers OK: " << fname << endl; - } else { - Rcpp::Rcout << "*** Origin co-ordinates of " << fname << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << "*** Extent of " << fname << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << "*** Resolution of " << fname << msghdrs1 << endl; - errors++; - } - if (errors > 0) { - FormatErrorR(fname,errors); -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): Errors in raster header of landscape habitat map #" << i << ": " << fname << std::endl; -#endif - hfile.close(); - hfile.clear(); - } - } // end of reading ASCII header - } - - // Do the same for corresponding patch map, if applicable - if (patchmodel) { - // Patch change file - fname = indir + patchmaps(i); - - // open file -#if RSWIN64 - pfile.open(fname.c_str()); -#else - pfile.open(fname, std::ios::binary); -#endif - if(!pfile.is_open()) { - OpenErrorR("Dynamic landscape patch map ", fname); -#if RSDEBUG - DEBUGLOG << "Dynamic landscape patch map failed to open: " << fname << std::endl; -#endif - pfile.clear(); - return -213; - } else { -#if RSDEBUG - DEBUGLOG << "Dynamic landscape patch map #" << i << " open to read" << std::endl; -#endif -#if !RSWIN64 - // check BOM for UTF-16 - if(check_bom(fname) == "utf16") - // apply BOM-sensitive UTF-16 facet - pfile.imbue(std::locale(pfile.getloc(), new std::codecvt_utf16)); -#endif - // ASCII header - pfile >> header; - if (!pfile.good()) { -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): failed to read landscape patch map #" << i << ": " << fname << std::endl; -#endif - errors = -1113; - pfile.close(); - pfile.clear(); - return errors; - } - if (header != L"ncols" && header != L"NCOLS") errors++; - pfile >> ncols; - - pfile >> header >> nrows; - if (header != L"nrows" && header != L"NROWS") errors++; - - pfile >> header >> xllcorner; - if (header != L"xllcorner" && header != L"XLLCORNER") errors++; - - pfile >> header >> yllcorner; - if (header != L"yllcorner" && header != L"YLLCORNER") errors++; - - pfile >> header >> cellsize; - if (header != L"cellsize" && header != L"CELLSIZE") errors++; - - pfile >> header >> pchnodata; - if (header != L"NODATA_value" && header != L"NODATA_VALUE") errors++; - - if (errors > 0) { - FormatErrorR(fname,errors); -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): failed to read Raster header of landscape patch map #" << i << ": " << fname << std::endl; -#endif - pfile.close(); - pfile.clear(); - } else { - // check resolution match - if (cellsize == resolution) { - // check that extent matches landscape extent - if(ncols == landraster.ncols && nrows == landraster.nrows) { - // check origins match - if((int)xllcorner == (int)landraster.xllcorner && - (int)yllcorner == (int)landraster.yllcorner) { - Rcpp::Rcout << "Dynamic landscape patch map #" << i << ", headers OK: " << fname << endl; - } else { - Rcpp::Rcout << "*** Origin co-ordinates of " << fname << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << "*** Extent of " << fname << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << "*** Resolution of " << fname << msghdrs1 << endl; - errors++; - } - if (errors > 0) { - FormatErrorR(fname,errors); -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): Errors in raster header of landscape patch map #" << i << ": " << fname << std::endl; -#endif - pfile.close(); - pfile.clear(); - } - } // end of reading ASCII header - } - } // end of if(patchmodel) - else { - pfile.clear(); - } - - // Do the same for corresponding cost map, if applicable - if (costs) { - // Cost change file - fname = indir + costmaps(i); - - // open file -#if RSWIN64 - cfile.open(fname.c_str()); -#else - cfile.open(fname, std::ios::binary); -#endif - if(!cfile.is_open()) { - OpenErrorR("Dynamic SMS cost map ", fname); -#if RSDEBUG - DEBUGLOG << "Dynamic SMS cost map failed to open: " << fname << std::endl; -#endif - cfile.clear(); - return -214; - } else { -#if RSDEBUG - DEBUGLOG << "Dynamic SMS cost map #" << i << " open to read" << std::endl; -#endif -#if !RSWIN64 - // check BOM for UTF-16 - if(check_bom(fname) == "utf16") - // apply BOM-sensitive UTF-16 facet - cfile.imbue(std::locale(cfile.getloc(), new std::codecvt_utf16)); -#endif - // ASCII header - cfile >> header; - if (!cfile.good()) { -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): failed to read SMS cost map #" << i << ": " << fname << std::endl; -#endif - errors = -1113; - cfile.close(); - cfile.clear(); - return errors; - } - if (header != L"ncols" && header != L"NCOLS") errors++; - cfile >> ncols; - - cfile >> header >> nrows; - if (header != L"nrows" && header != L"NROWS") errors++; - - cfile >> header >> xllcorner; - if (header != L"xllcorner" && header != L"XLLCORNER") errors++; - - cfile >> header >> yllcorner; - if (header != L"yllcorner" && header != L"YLLCORNER") errors++; - - cfile >> header >> cellsize; - if (header != L"cellsize" && header != L"CELLSIZE") errors++; - - cfile >> header >> pchnodata; - if (header != L"NODATA_value" && header != L"NODATA_VALUE") errors++; - - if (errors > 0) { - FormatErrorR(fname,errors); -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): failed to read Raster header of SMS cost map #" << i << ": " << fname << std::endl; -#endif - cfile.close(); - cfile.clear(); - } else { - // check resolution match - if (cellsize == resolution) { - // check that extent matches landscape extent - if(ncols == landraster.ncols && nrows == landraster.nrows) { - // check origins match - if((int)xllcorner == (int)landraster.xllcorner && - (int)yllcorner == (int)landraster.yllcorner) { - Rcpp::Rcout << "Dynamic SMS cost map #" << i << ", headers OK: " << fname << endl; - } else { - Rcpp::Rcout << "*** Origin co-ordinates of " << fname << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << "*** Extent of " << fname << msghdrs1 << endl; - errors++; - } - } else { - Rcpp::Rcout << "*** Resolution of " << fname << msghdrs1 << endl; - errors++; - } - if (errors > 0) { - FormatErrorR(fname,errors); -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): Errors in raster header of SMS cost map #" << i << ": " << fname << std::endl; -#endif - cfile.close(); - cfile.clear(); - } - } // end of reading ASCII header - } - } // end of if(costs) - else { - cfile.clear(); - } - - // Now read raster data of Habitat and, if applicable, Patch and/or Cost maps: - int imported = 0; - if (errors == 0) { - imported = pLandscape->readLandChange(i-1, costs, hfile, pfile, cfile, habnodata, pchnodata, costnodata); - if (imported != 0) { - if(hfile.is_open()) hfile.close(); - hfile.clear(); - if(patchmodel) { - if(pfile.is_open()) pfile.close(); - pfile.clear(); - } - if (costs) { - if(cfile.is_open()) cfile.close(); - cfile.clear(); - } - return imported; - } - if (patchmodel) { - pLandscape->recordPatchChanges(i); - } - if (costs) { - pLandscape->recordCostChanges(i); - } - } - - // Close files - if(hfile.is_open()) hfile.close(); - hfile.clear(); - if(patchmodel) { - if(pfile.is_open()) pfile.close(); - pfile.clear(); - } - if (costs) { - if(cfile.is_open()) cfile.close(); - cfile.clear(); - } - } // end of loop over landscape changes i - - if(patchmodel) { - // record changes back to original landscape for multiple replicates - pLandscape->recordPatchChanges(0); - pLandscape->deletePatchChgMatrix(); - } - if (costs) { - pLandscape->recordCostChanges(0); - pLandscape->deleteCostsChgMatrix(); - } -#if RSDEBUG - DEBUGLOG << "ReadDynLandR(): finished" << endl; -#endif - return 0; -} - -#endif // RS_THREADSAFE - -//--------------------------------------------------------------------------- - -int ReadParametersR(Landscape* pLandscape, Rcpp::S4 ParMaster) -{ - Rcpp::S4 ParamParamsR("SimulationParams"); - ParamParamsR = Rcpp::as(ParMaster.slot("simul")); - - Rcpp::S4 DemogParamsR("DemogParams"); - DemogParamsR = Rcpp::as(ParMaster.slot("demog")); - - Rcpp::S4 LandParamsR("LandParams"); - LandParamsR = Rcpp::as(ParMaster.slot("land")); - - int error = 0; - landParams paramsLand = pLandscape->getLandParams(); - envStochParams env = paramsStoch->getStoch(); - demogrParams dem = pSpecies->getDemogr(); - simParams sim = paramsSim->getSim(); - - sim.simulation = Rcpp::as(ParamParamsR.slot("Simulation")); - sim.reps = Rcpp::as(ParamParamsR.slot("Replicates")); - sim.years = Rcpp::as(ParamParamsR.slot("Years")); -#if RSDEBUG - DEBUGLOG << "ReadParametersR(): paramsSim = " << paramsSim << endl; - DEBUGLOG << "ReadParametersR(): simulation = " << sim.simulation << " reps = " << sim.reps - << " years = " << sim.years << endl; -#endif -#if SPATIALMORT - // parameters >> sim.mortChgYear; -#endif - - int iiii, gradType, shift_begin, shift_stop; - float grad_inc, opt_y, f, optEXT, shift_rate; - bool shifting; - - // Landscape boundary and any 'no-data' areas are absorbing?: - sim.absorbing = Rcpp::as(ParamParamsR.slot("Absorbing")); - - // Environmental gradient: 0 = none, 1 = carrying capacity (or 1/b), 2 = growth rate (or fecundity), 3 = local - // extinction probability. Must be 0 for patch-based models. NOTE: change in code numbers from v1.0 - gradType = Rcpp::as(ParamParamsR.slot("Gradient")); - // following not required for Gradient = 0 - grad_inc = Rcpp::as(ParamParamsR.slot("GradSteep")); - opt_y = Rcpp::as(ParamParamsR.slot("Optimum")); - f = Rcpp::as(ParamParamsR.slot("f")); - optEXT = Rcpp::as(ParamParamsR.slot("ExtinctOptim")); - paramsGrad->setGradient(gradType, grad_inc, opt_y, f, optEXT); - - shifting = Rcpp::as(ParamParamsR.slot("Shifting")); - shift_rate = Rcpp::as(ParamParamsR.slot("ShiftRate")); - shift_begin = Rcpp::as(ParamParamsR.slot("ShiftStart")); - shift_stop = Rcpp::as(ParamParamsR.slot("ShiftEnd")); - if(shifting) - paramsGrad->setShifting(shift_rate, shift_begin, shift_stop); - else - paramsGrad->noShifting(); - - // Environmental stochasticity: 0 = none, 1 = global, 2 = local: - iiii = Rcpp::as(ParamParamsR.slot("EnvStoch")); - if(iiii == 0) - env.stoch = false; - else { - env.stoch = true; - if(iiii == 2) - env.local = true; - else - env.local = false; - } - // For a patch-based model, EnvStoch = 2 is NOT allowed: - if(paramsLand.patchModel && env.local) - error = 101; - - // Environmental stochasticity type: 0 = in growth rate, 1 = in carrying capacity - // Not required for EnvStoch = 0; stochasticity in carrying capacity is allowed for an artificial landscape only - env.inK = Rcpp::as(ParamParamsR.slot("EnvStochType")); - -#if BUTTERFLYDISP - // parameters >> iiii; - // if (iiii == 1) env.fromFile = true; - // else env.fromFile = false; - // string envfile; - // parameters >> envfile; - // if (env.fromFile) - // { - // envstochfilename = paramsSim->getDir(1) + envfile; - // } -#endif - - // as from v1.1, there is just one pair of min & max values, - // which are attributes of the species - // ULTIMATELY, THE PARAMETER FILE SHOULD HAVE ONLY TWO COLUMNS ... - env.ac = Rcpp::as(ParamParamsR.slot("ac")); // Temporal autocorrelation coefficient - env.std = Rcpp::as(ParamParamsR.slot( - "std")); // Amplitude of stochastic fluctuations: standard deviation of a normal distribution (having mean 0) - float minR, maxR, minK, maxK; - minR = Rcpp::as(ParamParamsR.slot("minR")); // not required for EnvStoch = 0 or EnvStochType = 1 - maxR = Rcpp::as(ParamParamsR.slot("maxR")); // -"- - minK = Rcpp::as(ParamParamsR.slot("minK")); // not required for EnvStoch = 0 or EnvStochType = 0 - maxK = Rcpp::as(ParamParamsR.slot("maxK")); // -"- - if(env.inK) { - float minKK, maxKK; - minKK = minK * (((float)(pow(paramsLand.resol, double(2)))) / 10000.0); - maxKK = maxK * (((float)(pow(paramsLand.resol, double(2)))) / 10000.0); - pSpecies->setMinMax(minKK, maxKK); - } else - pSpecies->setMinMax(minR, maxR); - - env.localExt = Rcpp::as(ParamParamsR.slot("LocalExt")); - // For a patch-based model no LocalExt allowed: - if(paramsLand.patchModel && env.localExt) - error = 102; - env.locExtProb = Rcpp::as(ParamParamsR.slot("LocalExtProb")); - paramsStoch->setStoch(env); - -#if BUTTERFLYDISP - // parameters >> iiii; - // if (dem.stageStruct) dem.dispersal = 1; - // else dem.dispersal = iiii; -#endif - - dem.propMales = Rcpp::as(DemogParamsR.slot("PropMales")); - dem.harem = Rcpp::as(DemogParamsR.slot("Harem")); - dem.bc = Rcpp::as(DemogParamsR.slot("bc")); - dem.lambda = Rcpp::as(DemogParamsR.slot("Rmax")); - -#if !GROUPDISP - pSpecies->setDemogr(dem); -#endif - - float k; - if(landtype == 9) { // artificial landscape - // only one value of K is read, but the first 'habitat' is the matrix where K = 0 -#if SEASONAL - pSpecies->createHabK(2,1); -#else - pSpecies->createHabK(2); -#endif // SEASONAL - k = Rcpp::as(LandParamsR.slot("K_or_DensDep")); - k *= ((double)(pow(paramsLand.resol, double(2)))) / 10000.0; -#if SEASONAL - pSpecies->setHabK(0,1,0); - pSpecies->setHabK(1,1,k); -#else - pSpecies->setHabK(0,0); - pSpecies->setHabK(1,k); -#endif // SEASONAL - } else { -#if SEASONAL - pSpecies->createHabK(paramsLand.nHabMax,dem.nSeasons); - Rcpp::NumericVector k_vec; - k_vec = Rcpp::as(LandParamsR.slot("K_or_DensDep")); - for (int j = 0; j < dem.nSeasons; j++) { - for (int i = 0; i < paramsLand.nHabMax; i++) { - k = k_vec[i] * ((double)(pow(paramsLand.resol, double(2)))) / 10000.0; - pSpecies->setHabK(i,j,k); - } - } -#else - pSpecies->createHabK(paramsLand.nHabMax); - Rcpp::NumericVector k_vec; - k_vec = Rcpp::as(LandParamsR.slot("K_or_DensDep")); - for (int i = 0; i < paramsLand.nHabMax; i++) { - k = k_vec[i] * ((double)(pow(paramsLand.resol, double(2)))) / 10000.0; - pSpecies->setHabK(i,k); - } -#endif // SEASONAL - } - -#if RSDEBUG - DEBUGLOG << "ReadParametersR(): dem.lambda = " << dem.lambda -#if SEASONAL - << " habK[0] = " << pSpecies->getHabK(0,0) -#else - << " habK[0] = " << pSpecies->getHabK(0) -#endif // SEASONAL - << " nHabMax = " << paramsLand.nHabMax << endl; -#endif - -#if GROUPDISP -// ADDITIONAL PARAMETERS FOR GROUP DISPERSAL MODEL -// parameters >> iiii; -// if (iiii == 1) dem.selfing = true; -// else dem.selfing = false; -// parameters >> dem.paternity >> dem.propLocal >> dem.propNghbr; -// pSpecies->setDemogr(dem); -#if PEDIGREE -// parameters >> sim.relMatSize; -#endif -#endif -#if SOCIALMODEL - // ADDITIONAL PARAMETERS FOR PROBIS SOCIAL POLYMORPHISM MODEL - // socialParams soc; - // parameters >> soc.asocK >> soc.asocRmax >> soc.asocBc >> soc.ra >> soc.rs - // >> soc.Ta >> soc.Ts >> soc.dK >> soc.alpha; - // parameters >> soc.asocK >> soc.asocRmax >> soc.asocBc - // >> soc.Ta >> soc.Ts >> soc.Ca >> soc.Cs >> soc.dK >> soc.alpha; - // parameters >> soc.socMean >> soc.socSD >> soc.socScale - // >> soc.asocK >> soc.asocRmax >> soc.asocBc - // >> soc.Ta >> soc.Ts >> soc.ca >> soc.cs >> soc.ba >> soc.bs >> soc.dK >> soc.alpha; - // pSpecies->setSocialParams(soc); -#endif - - // Output start years - sim.outStartPop = Rcpp::as(ParamParamsR.slot("OutStartPop")); - sim.outStartInd = Rcpp::as(ParamParamsR.slot("OutStartInd")); - sim.outStartGenetic = Rcpp::as(ParamParamsR.slot("OutStartGenetic")); - sim.outStartTraitCell = Rcpp::as(ParamParamsR.slot("OutStartTraitCell")); - sim.outStartTraitRow = Rcpp::as(ParamParamsR.slot("OutStartTraitRow")); - sim.outStartConn = Rcpp::as(ParamParamsR.slot("OutStartConn")); - sim.outStartPaths = Rcpp::as(ParamParamsR.slot("OutStartPaths")); -#if RS_CONTAIN - sim.OutStartDamage = Rcpp::as(ParamParamsR.slot("OutStartDamage")); -#endif - // Output intervals - sim.outIntRange = Rcpp::as(ParamParamsR.slot("OutIntRange")); - sim.outIntOcc = Rcpp::as(ParamParamsR.slot("OutIntOcc")); - sim.outIntPop = Rcpp::as(ParamParamsR.slot("OutIntPop")); - sim.outIntInd = Rcpp::as(ParamParamsR.slot("OutIntInd")); - sim.outIntGenetic = Rcpp::as(ParamParamsR.slot("OutIntGenetic")); - - if(sim.outIntRange > 0) - sim.outRange = true; - else - sim.outRange = false; - if(sim.outIntOcc > 0) - sim.outOccup = true; - else - sim.outOccup = false; - if(sim.outIntPop > 0) - sim.outPop = true; - else - sim.outPop = false; - if(sim.outIntInd > 0) - sim.outInds = true; - else - sim.outInds = false; - if(sim.outIntGenetic > 0) - sim.outGenetics = true; - else - sim.outGenetics = false; - - // Output genetics for: 0 = juveniles only, 1 = all individuals, 2 = adults only: - sim.outGenType = Rcpp::as(ParamParamsR.slot("OutGenType")); - - // Output genetics as a cross table? - sim.outGenXtab = Rcpp::as(ParamParamsR.slot("OutGenCrossTab")); - - sim.outIntTraitCell = Rcpp::as(ParamParamsR.slot("OutIntTraitCell")); - sim.outIntTraitRow = Rcpp::as(ParamParamsR.slot("OutIntTraitRow")); - sim.outIntConn = Rcpp::as(ParamParamsR.slot("OutIntConn")); - sim.outIntPaths = Rcpp::as(ParamParamsR.slot("OutIntPaths")); - if(sim.outIntTraitCell > 0) - sim.outTraitsCells = true; - else - sim.outTraitsCells = false; - if(sim.outIntTraitRow > 0) - sim.outTraitsRows = true; - else - sim.outTraitsRows = false; - if(sim.outIntConn > 0) - sim.outConnect = true; - else - sim.outConnect = false; - if(sim.outIntPaths > 0) - sim.outPaths = true; - else - sim.outPaths = false; - -#if RS_CONTAIN - sim.OutIntDamage = Rcpp::as(ParamParamsR.slot("OutIntDamage")); - if (sim.outIntDamage > 0) - sim.outDamage = true; - else sim.outDamage = false; -#endif - - if(sim.outOccup && sim.reps < 2) - error = 103; - if(paramsLand.patchModel) { - if(sim.outTraitsRows) - error = 104; - } else { - if(sim.outConnect) - error = 105; - } -#if RSDEBUG - DEBUGLOG << "ReadParametersR(): outRange = " << sim.outRange << " outInt = " << sim.outIntRange << endl; -#endif - - sim.saveMaps = Rcpp::as(ParamParamsR.slot("SaveMaps")); - sim.mapInt = Rcpp::as(ParamParamsR.slot("MapsInterval")); - sim.saveVisits = Rcpp::as(ParamParamsR.slot("SMSHeatMap")); - sim.drawLoaded = Rcpp::as(ParamParamsR.slot("DrawLoadedSp")); -// sim.saveInitMap = false; -#if RS_RCPP - sim.ReturnPopRaster = Rcpp::as(ParamParamsR.slot("ReturnPopRaster")); - sim.CreatePopFile = Rcpp::as(ParamParamsR.slot("CreatePopFile")); -#endif - - paramsSim->setSim(sim); - - return error; -} - -//--------------------------------------------------------------------------- - - -int ReadStageStructureR(Rcpp::S4 ParMaster) -{ - Rcpp::S4 DemogParamsR("DemogParams"); - DemogParamsR = Rcpp::as(ParMaster.slot("demog")); - Rcpp::S4 StagesParamsR("StagesParams"); - StagesParamsR = Rcpp::as(DemogParamsR.slot("StageStruct")); - - demogrParams dem = pSpecies->getDemogr(); - stageParams sstruct = pSpecies->getStage(); - int matrixsize, i, j, stg; - float ss, dd, devCoeff, survCoeff; - Rcpp::NumericMatrix trmatrix, wtsmatrix; - Rcpp::IntegerVector minAge; - -#if RSDEBUG - DEBUGLOG << "ReadStageStructureR(): sstruct.nStages = " << sstruct.nStages << endl; -#endif - // int simulation; - // simulation = Rcpp::as(StagesParamsR.slot("Simulation")); //Must match simulation numbers in ParamParams -#if GOBYMODEL - /* PARSE: - bStageStructFile >> infloat; // no check required on initial phenotype mean - bStageStructFile >> initPhenSD; - if (initPhenSD <= 0.0) { BatchError(filetype,line,10,"InitPhenSD"); errors++; } - bStageStructFile >> initPhenScale; - if (initPhenScale <= 0.0) { BatchError(filetype,line,10,"InitPhenScale"); errors++; } - if (initPhenSD > initPhenScale) { BatchError(filetype,line,3,"InitPhenSD","InitPhenScale"); errors++; } - bStageStructFile >> fasocial; - if (fasocial <= 0.0) { BatchError(filetype,line,10,"Fasocial"); errors++; } - * READ: - socialParams soc; - ssfile >> soc.socMean >> soc.socSD >> soc.socScale >> sstruct.asocF; - // pSpecies->setSocialParams(soc); */ -#endif - sstruct.disperseOnLoss = Rcpp::as(StagesParamsR.slot("PostDestructn")); - sstruct.probRep = Rcpp::as(StagesParamsR.slot("PRep")); - sstruct.repInterval = Rcpp::as(StagesParamsR.slot("RepInterval")); - sstruct.maxAge = Rcpp::as(StagesParamsR.slot("MaxAge")); -#if RS_CONTAIN - habdemfile = Rcpp::as(StagesParamsR.slot("HabDemFile")); - trmatrix = Rcpp::as(StagesParamsR.slot("TransMatrix")); - /* - * PARSING... - * - * READING: - pSpecies->resetDem(-1); // reset demography for all habitats - if (habdemfile == "NULL") { - dem.habDepDem = false; - } else { - dem.habDepDem = true; - hdfile.open((Inputs+habdemfile).c_str()); - ReadHabDemFile(sstruct.nStages,sexesDem); - hdfile.close(); - hdfile.clear(); - } - pSpecies->setDemogr(dem); - if (trmatrix != "NULL") { - #if SEASONAL - for (int i = 0; i < dem.nSeasons; i++) { - tmfile.open((Inputs+name).c_str()); - ReadTransitionMatrix(sstruct.nStages,sexesDem,0,i); - tmfile.close(); tmfile.clear(); - } - #else - tmfile.open((Inputs+name).c_str()); - ReadTransitionMatrix(sstruct.nStages,sexesDem,0,0); - tmfile.close(); tmfile.clear(); - #endif // SEASONAL - }*/ -#else -#if SEASONAL - seasonmatrix = Rcpp::as(StagesParamsR.slot("SeasonFile")); - /* - * PARSING... - * - * READING: - seasonfile.open((Inputs+seasonmatrix).c_str()); - ReadSeasonFile(1,dem.nSeasons); - seasonfile.close(); seasonfile.clear(); - }*/ -#else - trmatrix = Rcpp::as(StagesParamsR.slot("TransMatrix")); - // parsing is done on R-level -#endif // SEASONAL -#endif // RS_CONTAIN - minAge = Rcpp::as(StagesParamsR.slot("MinAge")); - - // Store Transition matrix: - if(dem.repType != 2) { // asexual or implicit sexual model - matrixsize = sstruct.nStages; - for(i = 0; i < matrixsize; i++) { - // set minimum ages - pSpecies->setMinAge(i, 0, minAge(i)); - // set fecundities - pSpecies->setFec(i, 0, (float)trmatrix(0, i)); - // set survival and development probalities - ss = (float)trmatrix(i, i); // survival prob - if((i + 1) != matrixsize) { - dd = (float)trmatrix(i + 1, i); - } // development prob - else { - dd = 0.0; - } - pSpecies->setSurv(i, 0, ss + dd); - pSpecies->setDev(i, 0, dd / (ss + dd)); - } - } else { // complex sexual model - matrixsize = sstruct.nStages * 2; // juv (i=0) sex-independent as ending stage -> columns = rows + 1 - stg = 1; - for(i = 1; i < (matrixsize - 1); i++) { // loop over rows - // set minAge and fecundities - if(i % 2) { // odd columns -> males (1) - pSpecies->setMinAge(stg, 1, minAge(i)); - pSpecies->setFec(stg, 1, (float)trmatrix(0, i + 1)); - } else { // even columns -> females (0) - pSpecies->setMinAge(stg, 0, minAge(i)); - pSpecies->setFec(stg, 0, (float)trmatrix(0, i + 1)); - stg++; - } - } - stg = 0; - for(i = 0; i < matrixsize; i++) { // loop over columns - // survival and development - if(i != 0) - ss = (float)trmatrix(i - 1, i); // survival prob - else - ss = (float)trmatrix(i, i); - if((i + 2) != matrixsize) - dd = (float)trmatrix(i + 1, i); // development prob - else - dd = 0.0; - if(i % 2 == 0) { // even rows -> males (1) - pSpecies->setSurv(stg, 1, ss + dd); - pSpecies->setDev(stg, 1, dd / (ss + dd)); - } else { // odd rows -> females (0) - pSpecies->setSurv(stg, 0, ss + dd); - pSpecies->setDev(stg, 0, dd / (ss + dd)); - stg++; - } - } - } -#if RSDEBUG - DEBUGLOG << "Read_Transition Matrix: matrix = " << trmatrix << endl; -#endif - - // Survival schedule: 0 = At reproduction; 1 = Between reproductive events; 2 = Annually - sstruct.survival = Rcpp::as(StagesParamsR.slot("SurvSched")); - - if(dem.repType != 2) - matrixsize = sstruct.nStages; - else - matrixsize = sstruct.nStages * NSEXES; - // Fecundity - sstruct.fecDens = Rcpp::as(StagesParamsR.slot("FecDensDep")); // Density-dependence in reproduction - sstruct.fecStageDens = - Rcpp::as(StagesParamsR.slot("FecStageWts")); // stage-specific density dependence of fecundity - if(sstruct.fecStageDens) { - wtsmatrix = Rcpp::as(StagesParamsR.slot("FecStageWtsMatrix")); - pSpecies->createDDwtFec(matrixsize); - for(i = 0; i < matrixsize; i++) { - for(j = 0; j < matrixsize; j++) { - pSpecies->setDDwtFec(i, j, wtsmatrix(i, j)); - } - } -#if RSDEBUG - DEBUGLOG << "Read_StageWeights(): completed reading fecundity weights matrix " << endl; -#endif - } - - // Development - sstruct.devDens = Rcpp::as(StagesParamsR.slot("DevDensDep")); // Density-dependence in development - devCoeff = Rcpp::as(StagesParamsR.slot("DevDensCoeff")); - sstruct.devStageDens = - Rcpp::as(StagesParamsR.slot("DevStageWts")); // stage-specific density dependence of development - if(sstruct.devStageDens) { - wtsmatrix = Rcpp::as(StagesParamsR.slot("DevStageWtsMatrix")); - pSpecies->createDDwtDev(matrixsize); - for(i = 0; i < matrixsize; i++) { - for(j = 0; j < matrixsize; j++) { - pSpecies->setDDwtDev(i, j, wtsmatrix(i, j)); - } - } -#if RSDEBUG - DEBUGLOG << "Read_StageWeights(): completed reading development weights matrix " << endl; -#endif - } - - // Survival - sstruct.survDens = Rcpp::as(StagesParamsR.slot("SurvDensDep")); // Density-dependence in survival - survCoeff = Rcpp::as(StagesParamsR.slot("SurvDensCoeff")); - sstruct.survStageDens = - Rcpp::as(StagesParamsR.slot("SurvStageWts")); // stage-specific density dependence of survival - if(sstruct.survStageDens) { - wtsmatrix = Rcpp::as(StagesParamsR.slot("SurvStageWtsMatrix")); - pSpecies->createDDwtSurv(matrixsize); - for(i = 0; i < matrixsize; i++) { - for(j = 0; j < matrixsize; j++) { - pSpecies->setDDwtSurv(i, j, wtsmatrix(i, j)); - } - } -#if RSDEBUG - DEBUGLOG << "Read_StageWeights(): completed reading survival weights matrix " << endl; -#endif - } - -#if SPATIALDEMOG - if (landtype == 2) { // habitat quality - // index of input layer corresponding to each spatially varying demographic rate - short layercols,layerrows,layerix; - Rcpp::IntegerMatrix feclayerMatrix, devlayerMatrix, survlayerMatrix; - - feclayerMatrix = Rcpp::as(StagesParamsR.slot("FecLayer")); - devlayerMatrix = Rcpp::as(StagesParamsR.slot("DevLayer")); - survlayerMatrix = Rcpp::as(StagesParamsR.slot("SurvLayer")); - - if(dem.repType == 2) {layercols = NSEXES;} else {layercols = 1;} - layerrows = sstruct.nStages; - - if(layercols == feclayerMatrix.ncol() && layerrows == feclayerMatrix.nrow() ) { - for(i = 0; i < layerrows; i++) { // stages in rows - for(j = 0; j < layercols; j++) { // sexes in columns - if( !R_IsNA( feclayerMatrix(i,j) ) ){ - layerix = feclayerMatrix(i,j); - pSpecies->setFecLayer(i, j, (layerix-1) ); // subtract 1 to account for different indexing in R and C - } - } - } - } else { - Rcpp::Rcout << "Dimensions of FecLayer matrix do not match; default values are used instead." << endl; - } - - if(layercols == devlayerMatrix.ncol() && layerrows == devlayerMatrix.nrow() ) { - for(i = 0; i < layerrows; i++) { // stages in rows - for(j = 0; j < layercols; j++) { // sexes in columns - if( !R_IsNA( devlayerMatrix(i,j) ) ){ - layerix = devlayerMatrix(i,j); - pSpecies->setDevLayer(i, j, (layerix-1) ); // subtract 1 to account for different indexing in R and C - } - } - } - } else { - Rcpp::Rcout << "Dimensions of DevLayer matrix do not match; default values are used instead." << endl; - } - - if(layercols == survlayerMatrix.ncol() && layerrows == survlayerMatrix.nrow() ) { - for(i = 0; i < layerrows; i++) { // stages in rows - for(j = 0; j < layercols; j++) { // sexes in columns - if( !R_IsNA( survlayerMatrix(i,j) ) ){ - layerix = survlayerMatrix(i,j); - pSpecies->setSurvLayer(i, j, (layerix-1) ); // subtract 1 to account for different indexing in R and C - } - } - } - } else { - Rcpp::Rcout << "Dimensions of SurvLayer matrix do not match; default values are used instead." << endl; - } - } - -#endif // SPATIALDEMOG - -#if PARTMIGRN - bStageStructFile >> header; - if (header != "PropPhilRes" ) errors++; - bStageStructFile >> header; - if (header != "PropPhilMigFxd" ) errors++; - bStageStructFile >> header; - if (header != "PropPhilMigVar" ) errors++; - bStageStructFile >> header; - if (header != "PropDispRes" ) errors++; - bStageStructFile >> header; - if (header != "PropDispMigFxd" ) errors++; - bStageStructFile >> header; - if (header != "PropDispMigVar" ) errors++; - bStageStructFile >> header; - if (header != "ResetMigrn" ) errors++; - /* - * PARSING... - * - * ReadING... - */ -#endif // PARTMIGRN -#if SEASONAL - bStageStructFile >> header; - if (header != "ExtremeFile" ) errors++; - /* - * PARSING... - * - * READING: - if (name != "NULL") { - pLandscape->resetExtEvents(); - extremefile.open((Inputs+name).c_str()); - ReadExtremeFile(pLandscape,nseasons); - extremefile.close(); extremefile.clear(); - }*/ -#endif // SEASONAL - - pSpecies->setStage(sstruct); - if(sstruct.devDens || sstruct.survDens) { - pSpecies->setDensDep(devCoeff, survCoeff); - } - - return 0; -} - -//--------------------------------------------------------------------------- - -int ReadEmigrationR(Rcpp::S4 ParMaster) -{ - - Rcpp::S4 DispParamsR("DispersalParams"); - DispParamsR = Rcpp::as(ParMaster.slot("dispersal")); - Rcpp::S4 EmigParamsR("EmigrationParams"); - EmigParamsR = Rcpp::as(DispParamsR.slot("Emigration")); - - int error = 0; - int Nlines, emigstage, stage, sex, offset; - Rcpp::NumericMatrix EmigMatrix; - Rcpp::NumericVector EmigScalesVec; -#if GOBYMODEL - // float asocD; -#endif - demogrParams dem = pSpecies->getDemogr(); - stageParams sstruct = pSpecies->getStage(); - emigRules emig = pSpecies->getEmig(); - emigTraits etraits; - emigParams eparams; - emigScales scale = pSpecies->getEmigScales(); - - // int simulation; - // simulation = Rcpp::as(EmigParamsR.slot("Simulation")); // REMOVED in R-interface // Must match simulation - // numbers in ParamParams - emig.densDep = Rcpp::as(EmigParamsR.slot("DensDep")); - pSpecies->setFullKernel(Rcpp::as(EmigParamsR.slot("UseFullKern"))); // Emigration rate derived from kernel. Only for kernel-based transfer and DensDep = 0 - emig.stgDep = Rcpp::as(EmigParamsR.slot("StageDep")); // Stage-dependent emigration. Must be 0 if IndVar is 1 - emig.sexDep = Rcpp::as(EmigParamsR.slot("SexDep")); // Sex-dependent emigration. - emig.indVar = - Rcpp::as(EmigParamsR.slot("IndVar")); // Inter-individual variability. Must be 0 if StageDep is 1 - if(stagestruct && emig.indVar){ - emigstage = Rcpp::as(EmigParamsR.slot("EmigStage")); // Stage which emigrates. Required for stage-strucutred population having IndVar = 1 - if(emigstage >= 0 && emigstage < sstruct.nStages) - emig.emigStage = emigstage; - else - emig.emigStage = 0; - } else { - emig.emigStage = 0; - } - - pSpecies->setEmig(emig); - - if(!dem.repType && emig.sexDep) - error = 301; - if(!dem.stageStruct && emig.stgDep) - error = 303; - -#if GROUPDISP - // int groupdisp; - // float groupmean; - // emigFile >> groupdisp >> groupmean; - // if (firstline) { - // if (groupdisp == 1) emig.groupdisp = true; - // else emig.groupdisp = false; - // emig.groupmean = groupmean; - // pSpecies->setEmig(emig); - // } -#endif -#if GOBYMODEL - // emigFile >> asocD; - // if (firstline) { - // emig.asocD = asocD; - // pSpecies->setEmig(emig); - // } -#endif - - // no.of lines according to known stage- and sex-dependency and corresponding column offset - if(emig.stgDep) { - if(emig.sexDep) { - Nlines = sstruct.nStages * sexesDisp; - offset = 2; - } else { - Nlines = sstruct.nStages; - offset = 1; - } - } else { - if(emig.sexDep) { - Nlines = sexesDisp; - offset = 1; - } else { - Nlines = 1; - offset = 0; - } - } - -#if RSDEBUG - DEBUGLOG << "ReadEmigrationR(): Nlines = " << Nlines << " emig.densDep = " << emig.densDep - << " emig.indVar = " << emig.indVar << " sexesDisp = " << sexesDisp << endl; -#endif - - EmigMatrix = Rcpp::as(EmigParamsR.slot("EmigProb")); - - for(int line = 0; line < Nlines; line++) { - - if(emig.stgDep) { - if(emig.sexDep) { - stage = (int)EmigMatrix(line, 0); - sex = (int)EmigMatrix(line, 1); - } else { - stage = (int)EmigMatrix(line, 0); - sex = 0; - } - } else { - if(emig.sexDep) { - stage = 0; - sex = (int)EmigMatrix(line, 0); - } else { - stage = 0; - sex = 0; - } - } - - if(emig.densDep) { - if(emig.indVar) { - eparams.d0Mean = (float)EmigMatrix(line, offset + 0); - eparams.d0SD = (float)EmigMatrix(line, offset + 1); - eparams.alphaMean = (float)EmigMatrix(line, offset + 2); - eparams.alphaSD = (float)EmigMatrix(line, offset + 3); - eparams.betaMean = (float)EmigMatrix(line, offset + 4); - eparams.betaSD = (float)EmigMatrix(line, offset + 5); - - pSpecies->setEmigParams(stage, sex, eparams); - } else { - etraits.d0 = (float)EmigMatrix(line, offset + 0); - etraits.alpha = (float)EmigMatrix(line, offset + 1); - etraits.beta = (float)EmigMatrix(line, offset + 2); - - pSpecies->setEmigTraits(stage, sex, etraits); - } - } else { // !emig.densDep - if(emig.indVar) { - eparams.d0Mean = (float)EmigMatrix(line, offset + 0); - eparams.d0SD = (float)EmigMatrix(line, offset + 1); - eparams.alphaMean = eparams.betaMean = 0.0; - eparams.alphaSD = eparams.betaSD = 0.00000001; - - pSpecies->setEmigParams(stage, sex, eparams); - } else { - etraits.d0 = (float)EmigMatrix(line, offset + 0); - etraits.alpha = etraits.beta = 0.0; - - pSpecies->setEmigTraits(stage, sex, etraits); - } - } - } // end of Nlines for loop - - EmigScalesVec = Rcpp::as(EmigParamsR.slot("TraitScaleFactor")); - - if(emig.indVar) { - if(emig.densDep) { - scale.d0Scale = (float)EmigScalesVec(0); - scale.alphaScale = (float)EmigScalesVec(1); - scale.betaScale = (float)EmigScalesVec(2); - } else { - scale.d0Scale = (float)EmigScalesVec(0); - scale.alphaScale = scale.betaScale = 0.00000001; - } - pSpecies->setEmigScales(scale); - } - - if(emig.indVar) anyIndVar = true; - - return error; -} - -//--------------------------------------------------------------------------- - -int ReadTransferR(Landscape* pLandscape, Rcpp::S4 ParMaster) -{ - Rcpp::S4 DispParamsR("DispersalParams"); - DispParamsR = Rcpp::as(ParMaster.slot("dispersal")); - - int Nlines, offset, stage, sex; - int error = 0; - - landParams paramsLand = pLandscape->getLandParams(); - demogrParams dem = pSpecies->getDemogr(); - stageParams sstruct = pSpecies->getStage(); - trfrRules trfr = pSpecies->getTrfr(); - -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): TransferType=" << trfr.moveModel - << " paramsLand.generated=" << paramsLand.generated - << " paramsLand.rasterType=" << paramsLand.rasterType - << " trfr.moveModel=" << trfr.moveModel -#if RS_CONTAIN - << " trfr.kernType=" << trfr.kernType -#else - << " trfr.twinKern=" << trfr.twinKern -#endif - << endl; -#endif - - // Create Costs vector of species - if(trfr.moveModel) { -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): creating cost/mortality matrix, dimension="; - if(paramsLand.generated) - DEBUGLOG << paramsLand.nHab; - else - DEBUGLOG << paramsLand.nHabMax; - DEBUGLOG << endl; -#endif - if(paramsLand.generated) { - pSpecies->createHabCostMort(paramsLand.nHab); - } else { - pSpecies->createHabCostMort(paramsLand.nHabMax); - } - } - - int TransferType; // new local variable to replace former global variable - if(trfr.moveModel) - TransferType = trfr.moveType; - else - TransferType = 0; - - trfrKernTraits k; - trfrMovtTraits movt; - trfrKernParams kparams; - trfrMortParams mort; - trfrScales scale; - string CostsFile; - trfrSMSParams smsparams; - trfrCRWParams mparams; -#if TEMPMORT - // string MortFile; -#endif - Rcpp::NumericVector ReadVec; - - switch(TransferType) { - case 0: { // dispersal kernel - - Rcpp::S4 TransParamsR("DispersalKernel"); - TransParamsR = Rcpp::as(DispParamsR.slot("Transfer")); - - Rcpp::NumericMatrix DispMatrix; - Rcpp::NumericVector DispScalesVec; - - // simulation = Rcpp::as(TransParamsR.slot("Simulation")); // REMOVED in R-interface //Must match - // simulation numbers in ParamParams - trfr.stgDep = Rcpp::as(TransParamsR.slot("StageDep")); // Stage-dependent transfer. Must be 0 if IndVar is 1 - trfr.sexDep = Rcpp::as(TransParamsR.slot("SexDep")); // Sex-dependent transfer. -#if RS_CONTAIN - trfr.kernType = Rcpp::as(TransParamsR.slot("KernType")); -#else - trfr.twinKern = Rcpp::as(TransParamsR.slot("DoubleKernel")); // 0 = negative exponential; 1 = double negative exponential -#endif - trfr.distMort = Rcpp::as(TransParamsR.slot("DistMort")); // Distance-dependent mortality - trfr.indVar = Rcpp::as(TransParamsR.slot("IndVar")); - - // some error checks - if(dem.repType == 0) { - if(trfr.sexDep) { - error = 401; - } - } - if(dem.stageStruct) { - } // if (trfr.indVar) error = 402; - else { - if(trfr.stgDep) { - error = 403; - } - } - - // set no. of lines according to known stage- and sex-dependency and corresponding column offset - if(trfr.stgDep) { - if(trfr.sexDep) { - Nlines = sstruct.nStages * sexesDisp; - offset = 2; - } else { - Nlines = sstruct.nStages; - offset = 1; - } - } else { - if(trfr.sexDep) { - Nlines = sexesDisp; - offset = 1; - } else { - Nlines = 1; - offset = 0; - } - } - - DispMatrix = Rcpp::as(TransParamsR.slot("Distances")); - - for(int line = 0; line < Nlines; line++) { - - if(trfr.stgDep) { - if(trfr.sexDep) { - stage = (int)DispMatrix(line, 0); - sex = (int)DispMatrix(line, 1); - } else { - stage = (int)DispMatrix(line, 0); - sex = 0; - } - } else { - if(trfr.sexDep) { - stage = 0; - sex = (int)DispMatrix(line, 0); - } else { - stage = 0; - sex = 0; - } - } - - if(trfr.twinKern) { - if(trfr.indVar) { - kparams.dist1Mean = (float)DispMatrix(line, offset + 0); - kparams.dist1SD = (float)DispMatrix(line, offset + 1); - kparams.dist2Mean = (float)DispMatrix(line, offset + 2); - kparams.dist2SD = (float)DispMatrix(line, offset + 3); - kparams.PKern1Mean = (float)DispMatrix(line, offset + 4); - kparams.PKern1SD = (float)DispMatrix(line, offset + 5); - // MAXDist = kparams.maxDist1; - pSpecies->setKernParams(stage, sex, kparams, paramsLand.resol); - } else { // const kernel parameters - k.meanDist1 = (float)DispMatrix(line, offset + 0); - k.meanDist2 = (float)DispMatrix(line, offset + 1); - k.probKern1 = (float)DispMatrix(line, offset + 2); - - pSpecies->setKernTraits(stage, sex, k, paramsLand.resol); - } - } else { // single kernel - if(trfr.indVar) { - kparams.dist1Mean = (float)DispMatrix(line, offset + 0); - kparams.dist1SD = (float)DispMatrix(line, offset + 1); - kparams.dist2Mean = kparams.dist1Mean; - kparams.dist2SD = kparams.dist1SD; - kparams.PKern1Mean = 0.999; - kparams.PKern1SD = 0.001; - - pSpecies->setKernParams(stage, sex, kparams, paramsLand.resol); - } else { // const kernel parameters - k.meanDist1 = (float)DispMatrix(line, offset + 0); - k.meanDist2 = k.meanDist1; - k.probKern1 = 1.0; - - pSpecies->setKernTraits(stage, sex, k, paramsLand.resol); - } - } - } // end of Nlines for-loop - - // Mutation scales - scale = pSpecies->getTrfrScales(); - DispScalesVec = Rcpp::as(TransParamsR.slot("TraitScaleFactor")); - if(trfr.indVar) { - // if (!trfr.indVar) error = 411; - // if (dem.stageStruct) error = 412; - if(trfr.twinKern) { - scale.dist1Scale = (float)DispScalesVec(0); - scale.dist2Scale = (float)DispScalesVec(1); - scale.PKern1Scale = (float)DispScalesVec(2); - } else { - scale.dist1Scale = (float)DispScalesVec(0); - scale.dist2Scale = scale.dist1Scale; - scale.PKern1Scale = 0.00000001; - } - pSpecies->setTrfrScales(scale); - } - - // mortality - mort.fixedMort = Rcpp::as(TransParamsR.slot("MortProb")); - mort.mortAlpha = Rcpp::as(TransParamsR.slot("Slope")); - mort.mortBeta = Rcpp::as(TransParamsR.slot("InflPoint")); - pSpecies->setMortParams(mort); - - pSpecies->setTrfr(trfr); - - } - break; // end of dispersal kernel - - case 1: { // SMS - - Rcpp::S4 TransParamsR("StochMove"); - TransParamsR = Rcpp::as(DispParamsR.slot("Transfer")); - - // simulation = Rcpp::as(TransParamsR.slot("Simulation")); // REMOVED in R-interface // Must match simulation numbers in ParamParams - movt.pr = Rcpp::as(TransParamsR.slot("PR")); // Perceptual range (cells) - movt.prMethod = Rcpp::as(TransParamsR.slot("PRMethod")); // Perceptual range method: 1 = arithmetic mean; 2 = harmonic mean; 3 = weighted arithmtic mean - movt.memSize = Rcpp::as(TransParamsR.slot("MemSize")); // No. of previous steps over which to calculate current direction to apply DP [1-14] - movt.goalType = Rcpp::as(TransParamsR.slot("GoalType")); // Goal type: 0 (none) or 2 (dispersal bias) - trfr.indVar = Rcpp::as(TransParamsR.slot("IndVar")); - if(trfr.indVar) { - smsparams = pSpecies->getSMSParams(0,0); - scale = pSpecies->getTrfrScales(); - } - ReadVec = Rcpp::as(TransParamsR.slot("DP")); // Directional persistence, Must be >= 1.0 - if(trfr.indVar) { - if(ReadVec.size() == 3) { - smsparams.dpMean = (float)ReadVec[0]; // Directional persistence initial mean (m); Required for IndVar = 1 - smsparams.dpSD = (float)ReadVec[1]; // Directional persistence initial SD (m); Required for IndVar = 1 - scale.dpScale = (float)ReadVec[2]; // Directional persistence scaling factor; Required for IndVar = 1 - } else { - error = 435; - } - } else { - if(ReadVec.size() == 1) { - movt.dp = (float)ReadVec[0]; - } else { - error = 436; - } - } - ReadVec = Rcpp::as(TransParamsR.slot("GoalBias")); // Goal bias strength, Must be >= 1.0 - if(trfr.indVar) { - if(ReadVec.size() == 3) { - smsparams.gbMean = (float)ReadVec[0]; // Goal bias strength initial mean (m); Required for IndVar = 1 - smsparams.gbSD = (float)ReadVec[1]; // Goal bias strength initial SD (m); Required for IndVar = 1 - scale.gbScale = (float)ReadVec[2]; // Goal bias strength scaling factor; Required for IndVar = 1 - } else { - error = 435; - } - } else { - if(ReadVec.size() == 1) { - movt.gb = (float)ReadVec[0]; - } else { - error = 436; - } - } - if(movt.goalType == 2) { // dispersal bias - ReadVec = Rcpp::as(TransParamsR.slot("AlphaDB")); // Dispersal bias decay rate (> 0) - if(trfr.indVar) { - if(ReadVec.size() == 3) { - smsparams.alphaDBMean = (float)ReadVec[0]; // decay rate initial mean (m); Required for IndVar = 1 - smsparams.alphaDBSD = (float)ReadVec[1]; // decay rate initial SD (m); Required for IndVar = 1 - scale.alphaDBScale = (float)ReadVec[2]; // decay rate scaling factor; Required for IndVar = 1 - } else { - error = 435; - } - } else { - if(ReadVec.size() == 1) { - movt.alphaDB = (float)ReadVec[0]; - } else { - error = 436; - } - } - ReadVec = Rcpp::as(TransParamsR.slot("BetaDB")); // Dispersal bias decay inflection point (no. of steps) (> 0) - if(trfr.indVar) { - if(ReadVec.size() == 3) { - smsparams.alphaDBMean = (float)ReadVec[0]; // decay inflection point initial mean (m); Required for IndVar = 1 - smsparams.alphaDBSD = (float)ReadVec[1]; // decay inflection point initial SD (m); Required for IndVar = 1 - scale.alphaDBScale = (float)ReadVec[2]; // decay inflection point scaling factor; Required for IndVar = 1 - } else { - error = 435; - } - } else { - if(ReadVec.size() == 1) { - movt.betaDB = (float)ReadVec[0]; - } else { - error = 436; - } - } - } -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): SMS" << endl - << " indVar=" << trfr.indVar << " PR=" << movt.pr << " PRmethod=" << movt.prMethod << endl; - DEBUGLOG << "ReadTransferR(): dp=" << movt.dp << " MemSize=" << movt.memSize << " gb=" << movt.gb - << " goaltype=" << movt.goalType << endl; -#endif - - //smsparams.dpMean = Rcpp::as(TransParamsR.slot("DPMean")); - //smsparams.dpSD = Rcpp::as(TransParamsR.slot("DPSD")); - //smsparams.gbMean = Rcpp::as(TransParamsR.slot("GBMean")); - //smsparams.gbSD = Rcpp::as(TransParamsR.slot("GBSD")); - //smsparams.alphaDBMean = Rcpp::as(TransParamsR.slot("AlphaDBMean")); - //smsparams.alphaDBSD = Rcpp::as(TransParamsR.slot("AlphaDBSD")); - //smsparams.betaDBMean = Rcpp::as(TransParamsR.slot("BetaDBMean")); - //smsparams.betaDBSD = Rcpp::as(TransParamsR.slot("BetaDBSD")); - - //scale.dpScale = Rcpp::as(TransParamsR.slot("DPScale")); - //scale.gbScale = Rcpp::as(TransParamsR.slot("GBScale")); - //scale.alphaDBScale = Rcpp::as(TransParamsR.slot("AlphaDBScale")); - //scale.betaDBScale = Rcpp::as(TransParamsR.slot("BetaDBScale")); - - if (trfr.indVar) { - pSpecies->setSMSParams(0,0,smsparams); - pSpecies->setTrfrScales(scale); - } - -#if TEMPMORT - /*bTransferFile >> header; - if (header != "StraightenPath" ) errors++; - bTransferFile >> header; - if (header != "SMtype" ) errors++; - bTransferFile >> header; - if (header != "SMconst" ) errors++; - bTransferFile >> header; - if (header != "MortFile" ) errors++; - * - * PARSING: - ftype = "MortFile"; - if (smtype == 2) { - if (intext == "NULL") { - BatchError(filetype,line,0," "); errors++; - batchlog << ftype << " is required if SMtype = 2" << endl; - } - else { - checkfile = true; - for (i = 0; i < (int)mortfiles.size(); i++) { - if (intext == mortfiles[i]) { // file has already been checked - checkfile = false; - } - } - if (checkfile) { - fname = indir + intext; - batchlog << "Checking " << ftype << " " << fname << endl; - bMortFile.open(fname.c_str()); - if (bMortFile.is_open()) { - int err = ParseMortFile(); - if (err == 0) FileHeadersOK(ftype); else errors++; - bMortFile.close(); - } - else { - OpenError(ftype,fname); errors++; - } - if (bMortFile.is_open()) bMortFile.close(); - bMortFile.clear(); - } // end of checkfile - mortfiles.push_back(intext); - } // end of intext != NULL - } - else { - if (intext != "NULL") { - BatchError(filetype,line,0," "); errors++; - batchlog << ftype << " should be NULL if SMtype is not 2" << endl; - } - } - * - * READING: - * - ransFile >> jjjj >> trfr.smType >> move.stepMort >> MortFile; - #if RSDEBUG - DEBUGLOG << "ReadTransfer(): MortFile=" << MortFile << endl; - #endif - if (trfr.smType == 2) { - mortfilename = paramsSim->getDir(1) + MortFile; - ReadMortalities(mortfilename); - } */ -#else - movt.straigtenPath = Rcpp::as(TransParamsR.slot("StraightenPath")); // Straighten path after decision not to settle? - - // Mortality - Rcpp::NumericVector HabMortVec; - HabMortVec = Rcpp::as(TransParamsR.slot("StepMort")); - if(HabMortVec.size() == 1) { - trfr.habMort = false; // Per-step mortality type: 0 = constant - movt.stepMort = (float)HabMortVec[0]; // Constant per-step mortality probability - } else { - trfr.habMort = true; // Per-step mortality type: 1 = habitat-dependent - movt.stepMort = -9; - if(paramsLand.generated) { - // values are for habitat (hab=1) then for matrix (hab=0) - pSpecies->setHabMort(1, (double)HabMortVec[1]); - pSpecies->setHabMort(0, (double)HabMortVec[0]); -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): Generated Landscpae with MortHabitat=" << pSpecies->getHabMort(1) - << " MortMatrix=" << pSpecies->getHabMort(0) << endl; -#endif - } - if(paramsLand.rasterType == 0) { -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): nHabMax = " << paramsLand.nHabMax << endl; -#endif - for(int i = 0; i < paramsLand.nHabMax; i++) { - pSpecies->setHabMort(i, (double)HabMortVec[i]); -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): Habitat #" << i << ": mortality = " << pSpecies->getHabMort(i) - << endl; -#endif - } - } - } -#endif // TEMPMORT - - -#if RSDEBUG -#if TEMPMORT - DEBUGLOG << "ReadTransferR(): SMtype=" << trfr.smType << " SMconst=" << movt.stepMort << endl; -#else - DEBUGLOG << "ReadTransferR(): SMtype=" << trfr.habMort << " SMconst=" << movt.stepMort << endl; -#endif -#endif - - // Costs - trfr.costMap = Rcpp::as(TransParamsR.slot("CostMap")); - - // read habitat costs for land types - Rcpp::NumericVector HabCostVec; - if(!trfr.costMap) { - HabCostVec = Rcpp::as(TransParamsR.slot("Costs")); -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): Read Habitat Cost vector of length " << HabCostVec.size() << endl; -#endif - } - - if(!paramsLand.generated) { // real landscape - if(paramsLand.rasterType == 0) { // habitat codes - if(!trfr.costMap) { // habitat costs - for(int i = 0; i < paramsLand.nHabMax; i++) { - pSpecies->setHabCost(i, (int)HabCostVec[i]); -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): Habitat #" << i << ": cost = " << pSpecies->getHabCost(i) << endl; -#endif - } - } - } else { // habitat quality - // should have trfr.costMap = 1 - } - } else { // artificial landscape - if(trfr.costMap) { // should not occur - // should have trfr.costMap = 0 - } else { // habitat costs - // costs are for habitat (hab=1) then for matrix (hab=0) - pSpecies->setHabCost(1, (int)HabCostVec[1]); - pSpecies->setHabCost(0, (int)HabCostVec[0]); - } - } - pSpecies->setTrfr(trfr); - pSpecies->setMovtTraits(movt); - } - break; // end of SMS - - case 2: { // CRW - - Rcpp::S4 TransParamsR("CorrRW"); - TransParamsR = Rcpp::as(DispParamsR.slot("Transfer")); - - // simulation = Rcpp::as(TransParamsR.slot("Simulation"));// REMOVED in R-interface //Must match - // simulation numbers in ParamParams - trfr.indVar = Rcpp::as(TransParamsR.slot("IndVar")); - - ReadVec = Rcpp::as(TransParamsR.slot("StepLength")); // Step length params - if(trfr.indVar) { - if(ReadVec.size() == 3) { - mparams.stepLgthMean = (float)ReadVec[0]; // Step length initial mean (m); Required for IndVar = 1 - mparams.stepLgthSD = (float)ReadVec[1]; // Step length initial SD (m); Required for IndVar = 1 - scale.stepLScale = (float)ReadVec[2]; // Step length scaling factor; Required for IndVar = 1 - } else { - error = 435; - } - } else { - if(ReadVec.size() == 1) { - movt.stepLength = (float)ReadVec[0]; // Step length (m); Required for IndVar = 0; must be > 0 - } else { - error = 436; - } - } - - ReadVec = Rcpp::as(TransParamsR.slot("Rho")); // Step correlation coefficient params - if(trfr.indVar) { - if(ReadVec.size() == 3) { - mparams.rhoMean = (float)ReadVec[0]; // Step correlation coefficient initial mean (m); Required for IndVar = 1 - mparams.rhoSD = (float)ReadVec[1]; // Step correlation coefficient initial SD (m); Required for IndVar = 1 - scale.rhoScale = (float)ReadVec[2]; // Step correlation coefficient scaling factor; Required for IndVar = 1 - } else { - error = 435; - } - } else { - if(ReadVec.size() == 1) { - movt.rho = - (float)ReadVec[0]; // Step correlation coefficient; Required for IndVar = 0; must be > 0.0 and < 1.0 - } else { - error = 436; - } - } - -#if TEMPMORT - transFile >> trfr.smType >> movt.stepMort >> jjjj; -#endif - movt.straigtenPath = Rcpp::as(TransParamsR.slot("StraightenPath")); // Straighten path after decision not to settle? - pSpecies->setTrfrScales(scale); - -#if RSDEBUG - DEBUGLOG << "ReadTransferR():" - << " paramsLand.rasterType=" << paramsLand.rasterType << " trfr.indVar=" << trfr.indVar - << " move.stepLength=" << movt.stepLength << " move.rho=" << movt.rho - << " mparams.stepLgthMean=" << mparams.stepLgthMean << " mparams.rhoMean=" << mparams.rhoMean - << " move.straigtenPath=" << movt.straigtenPath << endl; -#endif - - // Mortality - Rcpp::NumericVector HabMortVec; - HabMortVec = Rcpp::as(TransParamsR.slot("StepMort")); - - if(HabMortVec.size() == 1) { - trfr.habMort = 0; // Per-step mortality type: 0 = constant - movt.stepMort = (float)HabMortVec[0]; // Constant per-step mortality probability - } else { - trfr.habMort = 1; // Per-step mortality type: 1 = habitat-dependent - movt.stepMort = -9; - if(paramsLand.generated) { - // values are for habitat (hab=1) then for matrix (hab=0) - pSpecies->setHabMort(1, (double)HabMortVec[1]); - pSpecies->setHabMort(0, (double)HabMortVec[0]); -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): Generated Landscpae with MortHabitat=" << pSpecies->getHabMort(1) - << " MortMatrix=" << pSpecies->getHabMort(0) << endl; -#endif - } - if(paramsLand.rasterType == 0) { -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): nHabMax = " << paramsLand.nHabMax << endl; -#endif - for(int i = 0; i < paramsLand.nHabMax; i++) { - pSpecies->setHabMort(i, (double)HabMortVec[i]); -#if RSDEBUG - DEBUGLOG << "ReadTransferR(): Habitat #" << i << ": mortality = " << pSpecies->getHabMort(i) - << endl; -#endif - } - } - } -#if EVOLSMS - if(trfr.smType == 1 && paramsLand.rasterType != 0) - error = 434; -#else - if(trfr.habMort && paramsLand.rasterType != 0) - error = 434; // habitat percentage landscape cant have habitat-dependent mortality -#endif - -#if RSDEBUG -#if EVOLSMS - DEBUGLOG << "ReadTransferR(): SMtype=" << trfr.smType << " SMconst=" << movt.stepMort << endl; -#else - DEBUGLOG << "ReadTransferR(): SMtype=" << trfr.habMort << " SMconst=" << movt.stepMort << endl; -#endif -#endif - - pSpecies->setTrfr(trfr); - pSpecies->setMovtTraits(movt); - pSpecies->setCRWParams(0, 0, mparams); - - } - break; // end of CRW - -#if RS_CONTAIN - /* - case 3: { // 2Dt dispersal kernel - * - * PARSING: - * - batchlog << "Checking 2DT dispersal kernel format file" << endl; - bTransferFile >> header; if (header != "DistMort" ) errors++; - bTransferFile >> header; if (header != "U0Kernel1" ) errors++; - bTransferFile >> header; if (header != "P0Kernel1" ) errors++; - bTransferFile >> header; if (header != "U0Kernel2" ) errors++; - bTransferFile >> header; if (header != "P0Kernel2" ) errors++; - bTransferFile >> header; if (header != "PropKernel1" ) errors++; - bTransferFile >> header; if (header != "MortProb" ) errors++; - bTransferFile >> header; if (header != "Slope" ) errors++; - bTransferFile >> header; if (header != "InflPoint" ) errors++; - break; - - // read and validate columns relating to stage and sex-dependency and to IIV - current = CheckStageSex(filetype,line,simul,prev,0,0,0,0,0,true,false); - if (current.newsimul) simuls++; - errors += current.errors; - prev = current; - // validate mortality - bTransferFile >> distmort; - if (distmort < 0 || distmort > 1) { - BatchError(filetype,line,1,"DistMort"); errors++; - } - // read remaining columns of the current record - bTransferFile >> u0Kernel1 >> p0Kernel1 >> u0Kernel2 >> p0Kernel2 >> propKernel1; - bTransferFile >> mortProb >> slope >> inflPoint; - - if (u0Kernel1 < 0.0) { - BatchError(filetype,line,19,"U0Kernel1"); errors++; - } - if (p0Kernel1 < 0.0) { - BatchError(filetype,line,19,"P0Kernel1"); errors++; - } - if (u0Kernel2 < 0.0) { - BatchError(filetype,line,19,"U0Kernel2"); errors++; - } - if (p0Kernel2 < 0.0) { - BatchError(filetype,line,19,"P0Kernel2"); errors++; - } - if (propKernel1 < 0.0 || propKernel1 > 1.0) { - BatchError(filetype,line,20,"PropKernel1"); errors++; - } - - if (distmort) { // distance-dependent mortality - // WHAT CONDITIONS APPLY TO MORTALITY SLOPE AND INFLECTION POINT? - } - else { // constant mortality - if (mortProb < 0.0 || mortProb >= 1.0) { - BatchError(filetype,line,20,"MortProb"); errors++; - } - } - * - * READING: - * - - trfr2Dt t2; - - transFile >> simulation >> iiii; - if (iiii == 0) trfr.distMort = false; else trfr.distMort = true; - - transFile >> t2.u0Kernel1 >> t2.p0Kernel1 >> t2.u0Kernel2 >> t2.p0Kernel2 - >> t2.propKernel1; - pSpecies->setTrfr2Dt(t2); - - // mortality - trfrMortParams mort; - transFile >> mort.fixedMort >> mort.mortAlpha >> mort.mortBeta; - pSpecies->setMortParams(mort); - - #if RSDEBUG - DEBUGLOG << "ReadTransfer(): simulation=" << simulation - << " trfr.distMort=" << trfr.distMort - << " t2.u0Kernel1=" << t2.u0Kernel1 << " t2.p0Kernel1=" << t2.p0Kernel1 - << " t2.u0Kernel2=" << t2.u0Kernel2 << " t2.p0Kernel2=" << t2.p0Kernel2 - << " t2.propKernel1=" << t2.propKernel1 << " mort.fixedMort=" << mort.fixedMort - << endl; - #endif - - pSpecies->setTrfr(trfr); - - break; - } // end of 2Dt dispersal kernel - - case 4: { // WALD dispersal kernel - * - * PARSING: - * - batchlog << "Checking WALD dispersal kernel format file" << endl; - bTransferFile >> header; if (header != "DistMort" ) errors++; - bTransferFile >> header; if (header != "MeanU" ) errors++; - bTransferFile >> header; if (header != "SigmaW" ) errors++; - bTransferFile >> header; if (header != "Hc" ) errors++; - for (i = 1; i < stages; i++) { - colheader = "Hr" + Int2Str(i); - bTransferFile >> header; if (header != colheader ) hrerrors++; - } - bTransferFile >> header; if (header != "Vt" ) errors++; - bTransferFile >> header; if (header != "Kappa" ) errors++; - bTransferFile >> header; if (header != "DirnMean" ) errors++; - bTransferFile >> header; if (header != "DirnSD" ) errors++; - bTransferFile >> header; if (header != "MortProb" ) errors++; - bTransferFile >> header; if (header != "Slope" ) errors++; - bTransferFile >> header; if (header != "InflPoint" ) errors++; - break; - // read and validate columns relating to stage and sex-dependency and to IIV - current = CheckStageSex(filetype,line,simul,prev,0,0,0,0,0,true,false); - if (current.newsimul) simuls++; - errors += current.errors; - prev = current; - // validate mortality - bTransferFile >> distmort; - if (distmort < 0 || distmort > 1) { - BatchError(filetype,line,1,"DistMort"); - errors++; - } - // read remaining columns of the current record - bTransferFile >> meanU >> sigma_w >> hc; - if (meanU <= 0.0) { - BatchError(filetype,line,10,"MeanU"); - errors++; - } - if (sigma_w <= 0.0) { - BatchError(filetype,line,10,"SigmaW"); - errors++; - } - if (hc <= 0.0) { - BatchError(filetype,line,10,"Hc"); - errors++; - } - for (int i = 1; i < stages; i++) { - bTransferFile >> hr; - colheader = "Hr" + Int2Str(i); - if (hr <= 0.0) { - BatchError(filetype,line,10,colheader); - errors++; - } - if (hr > hc) { - BatchError(filetype,line,3,colheader,"Hc"); - errors++; - } - } - bTransferFile >> vt >> kappa >> dirnmean >> dirnsd; - if (vt <= 0.0) { - BatchError(filetype,line,10,"Vt"); - errors++; - } - if (kappa <= 0.0) { - BatchError(filetype,line,10,"Kappa"); - errors++; - } - if (dirnmean < 0.0 || dirnmean >= 360.0) { - BatchError(filetype,line,0," "); - errors++; - batchlog << "DirnMean must be >= 0.0 and < 360.0" << endl; - } - if (dirnsd <= 0.0) { - BatchError(filetype,line,10,"DirnSD"); - errors++; - } - bTransferFile >> mortProb >> slope >> inflPoint; - if (distmort) { // distance-dependent mortality - // WHAT CONDITIONS APPLY TO MORTALITY SLOPE AND INFLECTION POINT? - } else { // constant mortality - if (mortProb < 0.0 || mortProb >= 1.0) { - BatchError(filetype,line,20,"MortProb"); - errors++; - } - } - * - * READING: - * - - trfrWald w; - - transFile >> simulation >> iiii; - if (iiii == 0) trfr.distMort = false; else trfr.distMort = true; - - transFile >> w.meanU >> w.sigma_w >> w.hc; - for (int i = 1; i < sstruct.nStages; i++) { - float hr; - transFile >> hr; - pSpecies->setTrfrHr(hr,i); - } - transFile >> w.vt >> w.kappa >> w.meanDirn >> w.sdDirn; - pSpecies->setTrfrWald(w); - - // mortality - trfrMortParams m; - transFile >> m.fixedMort >> m.mortAlpha >> m.mortBeta; - pSpecies->setMortParams(m); - - #if RSDEBUG - DEBUGLOG << "ReadTransfer(): simulation=" << simulation - << " trfr.distMort=" << trfr.distMort - << " w.meanU=" << w.meanU << " w.sigma_w=" << w.sigma_w - << " w.hc=" << w.hc << " w.vt=" << w.vt - << " w.meanDirn=" << w.meanDirn << " w.sdDirn=" << w.sdDirn - << " m.fixedMort=" << m.fixedMort - << endl; - #endif - pSpecies->setTrfr(trfr); - - break; - } // end of WALD dispersal kernel - - */ -#endif // RS_CONTAIN - default: - error = 440; - } // end of switch (TransferType) - - if(trfr.indVar) anyIndVar = true; - - return error; -} - -//--------------------------------------------------------------------------- -// NOTE that stage- and sex-dependent settlement parameters are set for -// ALL stage/sex combinations, even if the species has stage- and/or -// sex-independent settlement rules -int ReadSettlementR(Rcpp::S4 ParMaster) -{ - - Rcpp::S4 DispParamsR("DispersalParams"); - DispParamsR = Rcpp::as(ParMaster.slot("dispersal")); - Rcpp::S4 SettleParamsR("SettlementParams"); - SettleParamsR = Rcpp::as(DispParamsR.slot("Settlement")); - - int Nlines, stage, sex, offset, sexSettle, settType; - int error = 0; - bool findmate, densdep; - - demogrParams dem = pSpecies->getDemogr(); - stageParams sstruct = pSpecies->getStage(); - trfrRules trfr = pSpecies->getTrfr(); - settleType sett = pSpecies->getSettle(); - settleRules srules; - settleSteps ssteps = pSpecies->getSteps(0,0); - settleTraits settleDD = pSpecies->getSettTraits(0,0); - settParams sparams = pSpecies->getSettParams(0,0); - -#if GOBYMODEL - float alphaSasoc, betaSasoc; -#endif - - // int simulation; - // simulation = Rcpp::as(SettleParamsR.slot("Simulation")); // REMOVED in R-interface // Must match simulation - // numbers in ParamParams - sett.stgDep = Rcpp::as(SettleParamsR.slot("StageDep")); // Stage-dependent settlement. - sett.sexDep = Rcpp::as(SettleParamsR.slot("SexDep")); // Sex-dependent settlement. -#if RS_CONTAIN - if (transfer == 0 || transfer == 3 || transfer == 4) { -#else - if (transfer == 0) { -#endif // RS_CONTAIN - // dispersal kernel // dispersal kernel - sett.indVar = false; - if(dem.repType == 0) { - if(sett.sexDep) - error = 501; // sex-dependent settlement is not possible with asexual models - } - if(!dem.stageStruct) { - if(sett.stgDep) - error = 502; // stage-dependent settlement is not possible without stage structure - } - } else { // movement process - sett.indVar = Rcpp::as(SettleParamsR.slot("IndVar")); - densdep = Rcpp::as(SettleParamsR.slot("DensDep")); - if(dem.repType == 0) { - if(sett.sexDep) - error = 508; // sex-dependent settlement is not possible with asexual models - } - if(!dem.stageStruct) { - if(sett.stgDep) - error = 509; // stage-dependent settlement is not possible without stage structure - } - } - pSpecies->setSettle(sett); - - // no.of lines according to known stage- and sex-dependency and corresponding column offset - if(sett.stgDep) { - if(sett.sexDep) { - Nlines = sstruct.nStages * sexesDisp; - offset = 2; - } else { - Nlines = sstruct.nStages; - offset = 1; - } - } else { - if(sett.sexDep) { - Nlines = sexesDisp; - offset = 1; - } else { - Nlines = 1; - offset = 0; - } - } -#if RSDEBUG - DEBUGLOG << "ReadSettlementR(): sett.stgDep = " << sett.stgDep << ", sett.sexDep = " << sett.sexDep - << ", sett.indVar = " << sett.indVar << endl; -#endif - - Rcpp::NumericMatrix SettleCondMatrix = Rcpp::as(SettleParamsR.slot("Settle")); - Rcpp::LogicalVector FindMate = Rcpp::as(SettleParamsR.slot("FindMate")); - bool constFindMate = false; - if(FindMate.length() == 1) { - constFindMate = true; - } - Rcpp::NumericVector MutationCoeffs = Rcpp::as(SettleParamsR.slot("TraitScaleFactor")); - Rcpp::IntegerVector MinSteps = Rcpp::as(SettleParamsR.slot("MinSteps")); - bool constMinSteps = false; - if(MinSteps.length() == 1) { - constMinSteps = true; - } - Rcpp::IntegerVector MaxSteps = Rcpp::as(SettleParamsR.slot("MaxSteps")); - bool constMaxSteps = false; - if(MaxSteps.length() == 1) { - constMaxSteps = true; - } - Rcpp::IntegerVector MaxStepsYr = Rcpp::as(SettleParamsR.slot("MaxStepsYear")); - bool constMaxStepsYr = false; - if(MaxStepsYr.length() == 1) { - constMaxStepsYr = true; - } - - sexSettle = 2 * sett.stgDep + sett.sexDep; - - for(int line = 0; line < Nlines; line++) { - - // determine stage and sex of this line - if(sett.stgDep) { - if(sett.sexDep) { - stage = (int)SettleCondMatrix(line, 0); - sex = (int)SettleCondMatrix(line, 1); - } else { - stage = (int)SettleCondMatrix(line, 0); - sex = 0; - } - } else { - if(sett.sexDep) { - stage = 0; - sex = (int)SettleCondMatrix(line, 0); - } else { - stage = 0; - sex = 0; - } - } - - // read settlement conditions for... - if(trfr.moveModel) { // ...movement process // /!\ different to ReadSettlement() : all cases are - // covered here (in a way that parameters for IIV (i.e. 'settParams sparams;') are only set - // for stage #0, - // however on R-level (IndVar && StageDep) is not - // admissible - - // densdep = (bool)SettleCondMatrix(line, offset+0); - if(constFindMate) { - findmate = (bool)FindMate(0); - } else { - findmate = (bool)FindMate(line); - } - if(findmate && dem.repType == 0) - error = 504; - - if(constMinSteps) { - ssteps.minSteps = (int)MinSteps(0); - } else { - ssteps.minSteps = (int)MinSteps(line); - } - if(constMaxSteps) { - ssteps.maxSteps = (int)MaxSteps(0); - } else { - ssteps.maxSteps = (int)MaxSteps(line); - } - if(constMaxStepsYr) { - ssteps.maxStepsYr = (int)MaxStepsYr(0); - } else { - ssteps.maxStepsYr = (int)MaxStepsYr(line); - } -#if GOBYMODEL - settFile >> alphaSasoc >> betaSasoc; - if(firstline) { - sett.alphaSasoc = alphaSasoc; - sett.betaSasoc = betaSasoc; - pSpecies->setSettle(sett); - } -#endif - if(densdep) { - if(sett.indVar) { - sparams.s0Mean = (float)SettleCondMatrix( - line, offset + 0); // Required for DensDep = 1 and IndVar = 1. 0.0 < S0 <= 1.0 - sparams.s0SD = (float)SettleCondMatrix( - line, offset + 1); // Required for DensDep = 1 and IndVar = 1. 0.0 < S0 <= 1.0 - sparams.alphaSMean = (float)SettleCondMatrix(line, offset + 2); - sparams.alphaSSD = (float)SettleCondMatrix(line, offset + 3); - sparams.betaSMean = (float)SettleCondMatrix(line, offset + 4); - sparams.betaSSD = (float)SettleCondMatrix(line, offset + 5); - if(stage == 0) { - sparams.s0Scale = (float)MutationCoeffs(0); - sparams.alphaSScale = (float)MutationCoeffs(1); - sparams.betaSScale = (float)MutationCoeffs(2); - } - } else { - settleDD.s0 = (float)SettleCondMatrix( - line, offset + 0); // Max. settlement probability for density reaction norm. Required for - // DensDep = 1 and IndVar = 0; 0.0 < S0 <= 1.0 - settleDD.alpha = - (float)SettleCondMatrix(line, offset + 1); // Required for DensDep = 1 and IndVar = 0 - settleDD.beta = - (float)SettleCondMatrix(line, offset + 2); // Required for DensDep = 1 and IndVar = 0 - } - } - - switch(sexSettle) { - - case 0: { // no sex- / stage-dependence // why do the parameters for stage=0, sex=1 not get set if - // (dem.stageStruct) ??? (remove the else?? ) and why the different rules for the sexes regarding - // setSettTraits() for stages>0 - srules = pSpecies->getSettRules(0, 0); - srules.densDep = densdep; - srules.findMate = findmate; - pSpecies->setSettRules(0, 0, srules); - pSpecies->setSteps(0, 0, ssteps); - if(srules.densDep) { - if(sett.indVar) - pSpecies->setSettParams(0, 0, sparams); - else - pSpecies->setSettTraits(0, 0, settleDD); - } - if(dem.stageStruct) { // model is structured - also set parameters for all stages - for(int i = 1; i < sstruct.nStages; i++) { - pSpecies->setSettRules(i, 0, srules); - pSpecies->setSteps(i, 0, ssteps); - if(srules.densDep && !sett.indVar) - pSpecies->setSettTraits(i, 0, settleDD); // /!\ different to ReadSettlement() - if(dem.repType > 0) { // model is sexual - also set parameters for males - pSpecies->setSettRules(i, 1, srules); - pSpecies->setSteps(i, 1, ssteps); - if(srules.densDep && !sett.indVar) - pSpecies->setSettTraits(i, 1, settleDD); - } - } - } else { // see comment above (at case label) - if(dem.repType > 0) { // model is sexual - also set parameters for males - pSpecies->setSettRules(0, 1, srules); - pSpecies->setSteps(0, 1, ssteps); - if(srules.densDep) { - if(sett.indVar) - pSpecies->setSettParams(0, 1, sparams); - else - pSpecies->setSettTraits(0, 1, settleDD); - } - } - } - } - break; - - case 1: { // sex-dependent - srules = pSpecies->getSettRules(0, sex); - srules.densDep = densdep; - srules.findMate = findmate; - pSpecies->setSettRules(0, sex, srules); - pSpecies->setSteps(0, sex, ssteps); -#if RSDEBUG - DEBUGLOG << "ReadSettlementR(): stage=" << stage << " sex=" << sex - << " ssteps.maxStepsYr =" << ssteps.maxStepsYr << endl; -#endif - if(srules.densDep) { - if(sett.indVar) - pSpecies->setSettParams(0, sex, sparams); - else - pSpecies->setSettTraits(0, sex, settleDD); - } - if(dem.stageStruct) { // model is structured - also set parameters for all stages - for(int i = 1; i < sstruct.nStages; i++) { - pSpecies->setSettRules(i, sex, srules); - pSpecies->setSteps(i, sex, ssteps); - if(srules.densDep && !sett.indVar) - pSpecies->setSettTraits(i, sex, settleDD); - } - } - } - break; - - case 2: { // stage-dependent - srules = pSpecies->getSettRules(stage, 0); - srules.densDep = densdep; - srules.findMate = findmate; - pSpecies->setSettRules(stage, 0, srules); - pSpecies->setSteps(stage, 0, ssteps); - if(srules.densDep) { - if(sett.indVar) { - if(stage == 0) - pSpecies->setSettParams(0, 0, sparams); - } else - pSpecies->setSettTraits(stage, 0, settleDD); - } - if(dem.repType > 0) { // model is sexual - also set parameters for males - pSpecies->setSettRules(stage, 1, srules); - pSpecies->setSteps(stage, 1, ssteps); - if(srules.densDep) { - if(sett.indVar) { - if(stage == 0) - pSpecies->setSettParams(0, 1, sparams); - } else - pSpecies->setSettTraits(stage, 1, settleDD); - } - } - } - break; - - case 3: { // sex- & stage-dependent - srules = pSpecies->getSettRules(stage, sex); - srules.densDep = densdep; - srules.findMate = findmate; - pSpecies->setSettRules(stage, sex, srules); - pSpecies->setSteps(stage, sex, ssteps); - if(srules.densDep) { - if(sett.indVar) { - if(stage == 0) - pSpecies->setSettParams(0, sex, sparams); - } else - pSpecies->setSettTraits(stage, sex, settleDD); - } - } - break; - } // end sexSettle - - } // end of movement model - - // read settlement conditions for... - else { // ...dispersal kernel - - settType = (int)SettleCondMatrix(line, - offset); // Settlement rule if the arrival cell/patch is unsuitable: 0 = die, 1 = wait, 2 = randomly - // choose a suitable cell/patch or die, 3 = randomly choose a suitable cell/patch or wait. - // Options 1 and 3 may be chosen for a stage-structured population only - if(constFindMate) { - findmate = (bool)FindMate(0); - } // Mating requirements to settle, required for a sexual population only - else { - findmate = (bool)FindMate(line); - } - if(findmate && dem.repType == 0) - error = 504; - - switch(sexSettle) { - case 0: { // no sex / stage dependence - if((settType == 1 || settType == 3) && !dem.stageStruct) - error = 503; - if(findmate && dem.repType == 0) - error = 504; - srules = pSpecies->getSettRules(0, 0); - switch(settType) { - case 0: - srules.wait = false; - srules.go2nbrLocn = false; - break; - case 1: - srules.wait = true; - srules.go2nbrLocn = false; - break; - case 2: - srules.wait = false; - srules.go2nbrLocn = true; - break; - case 3: - srules.wait = true; - srules.go2nbrLocn = true; - break; - } - srules.findMate = findmate; - if(dem.stageStruct) { // model is structured - also set parameters for all stages - for(int i = 0; i < sstruct.nStages; i++) { - pSpecies->setSettRules(i, 0, srules); - if(dem.repType > 0) { // model is sexual - also set parameters for males - pSpecies->setSettRules(i, 1, srules); - } - } - } else { - pSpecies->setSettRules(0, 0, srules); - if(dem.repType > 0) { // model is sexual - also set parameters for males - pSpecies->setSettRules(0, 1, srules); - } - } - } - break; - - case 1: { // sex dependent - if((settType == 1 || settType == 3) && dem.stageStruct == false) - error = 505; - srules = pSpecies->getSettRules(0, sex); - switch(settType) { - case 0: - srules.wait = false; - srules.go2nbrLocn = false; - break; - case 1: - srules.wait = true; - srules.go2nbrLocn = false; - break; - case 2: - srules.wait = false; - srules.go2nbrLocn = true; - break; - case 3: - srules.wait = true; - srules.go2nbrLocn = true; - break; - } - srules.findMate = findmate; - pSpecies->setSettRules(0, sex, srules); - if(dem.stageStruct) { // model is structured - also set parameters for all stages - for(int i = 1; i < sstruct.nStages; i++) { - pSpecies->setSettRules(i, sex, srules); - } - } - } - break; - - case 2: { // stage dependent - if(findmate && dem.repType == 0) - error = 507; - srules = pSpecies->getSettRules(stage, 0); - switch(settType) { - case 0: - srules.wait = false; - srules.go2nbrLocn = false; - break; - case 1: - srules.wait = true; - srules.go2nbrLocn = false; - break; - case 2: - srules.wait = false; - srules.go2nbrLocn = true; - break; - case 3: - srules.wait = true; - srules.go2nbrLocn = true; - break; - } - srules.findMate = findmate; - pSpecies->setSettRules(stage, 0, srules); - if(dem.repType > 0) { // model is sexual - also set parameters for males - pSpecies->setSettRules(stage, 1, srules); - } - } - break; - - case 3: { // sex & stage dependent - srules = pSpecies->getSettRules(stage, sex); - switch(settType) { - case 0: - srules.wait = false; - srules.go2nbrLocn = false; - break; - case 1: - srules.wait = true; - srules.go2nbrLocn = false; - break; - case 2: - srules.wait = false; - srules.go2nbrLocn = true; - break; - case 3: - srules.wait = true; - srules.go2nbrLocn = true; - break; - } - srules.findMate = findmate; - pSpecies->setSettRules(stage, sex, srules); - } - break; - - } // end of switch (sexSettle) - - } // end of dispersal kernel - - } // end of for line loop - - if(sett.indVar) anyIndVar = true; - - return error; -} - -//--------------------------------------------------------------------------- - -int ReadInitialisationR(Landscape* pLandscape, Rcpp::S4 ParMaster) -{ - - Rcpp::S4 InitParamsR("InitialisationParams"); - InitParamsR = Rcpp::as(ParMaster.slot("init")); - - Rcpp::NumericVector PropStages; - - landParams paramsLand = pLandscape->getLandParams(); - demogrParams dem = pSpecies->getDemogr(); - stageParams sstruct = pSpecies->getStage(); - initParams init = paramsInit->getInit(); - string Inputs = paramsSim->getDir(1); - - int maxcells; //,simulation - float p, check; - int error = 0; - - // simulation = Rcpp::as(InitParamsR.slot("Simulation"));// REMOVED in R-interface - init.seedType = Rcpp::as( - InitParamsR.slot("InitType")); // Initialisation type: 0 = free initialisation, 1 = from species distribution, 2 - // = from initial individuals file. Must be 0 for artificial landscapes. - init.freeType = Rcpp::as(InitParamsR.slot( - "FreeType")); // If SeedType = 0: Type of free initialisation (i.e. not from specified distribution): 0 = Random - // (given no. of cells/patches), 1 = All suitable cells/patches. - init.spDistType = Rcpp::as( - InitParamsR.slot("SpType")); // If SeedType = 1: Type of initialisation from species distribution: 0 = All - // suitable cells/patches within the distribution cells, 1 = Some randomly chosen - // suitable cells/patches within distribution cells - if(init.seedType == 1 && paramsLand.spDist == false) - error = 601; - - if(paramsLand.patchModel) { - init.initDens = Rcpp::as(InitParamsR.slot( - "InitDens")); // Initial density of individuals in each patch: 0 = at carrying capacity; 1 - // = at half carrying capacity; 2 = specified density. Patch carrying capacity - // is determined by the carrying capacities of the cells forming the patch. - init.indsHa = - Rcpp::as(InitParamsR.slot("IndsHaCell")); // If initDens = 2: Density of individuals to initialise - // per hectare; required for initDens = 2. - } else { - init.initDens = Rcpp::as( - InitParamsR.slot("InitDens")); // Initial no. of individuals in each cell: 0 = at carrying capacity; 1 = at - // half carrying capacity; 2 = specified no. of individuals - init.indsCell = - Rcpp::as(InitParamsR.slot("IndsHaCell")); // If initDens = 2: No. of individuals to initialise in each - // cell; required for initDens = 2, otherwise set to -9 - } - - init.minSeedX = - Rcpp::as(InitParamsR.slot("minX")); // Required for SeedType = 0 only; minX and minY may not be less than - // 0, maxX and maxY may not be less than corresponding minimum - init.maxSeedX = Rcpp::as(InitParamsR.slot("maxX")); // -"- - init.minSeedY = Rcpp::as(InitParamsR.slot("minY")); // -"- - init.maxSeedY = Rcpp::as(InitParamsR.slot("maxY")); // -"- - init.nSeedPatches = Rcpp::as( - InitParamsR.slot("NrCells")); // If SeedType = 0 and FreeType = 0: No. of cells/patches to initialise - init.nSpDistPatches = Rcpp::as(InitParamsR.slot( - "NrCells")); // If SeedType = 1 and SpType = 1: No. of species dist cells/patches to initialise - init.initFrzYr = - Rcpp::as(InitParamsR.slot("InitFreezeYear")); // Year until which species is confined to initial range - // limits. Must be >= 0 for SeedType = 0. - init.restrictRows = - Rcpp::as(InitParamsR.slot("RestrictRows")); // No. of rows at northern front to restrict range. Must be >0 - // if applied for SeedType = 0, otherwise 0. - init.restrictFreq = - Rcpp::as(InitParamsR.slot("RestrictFreq")); // Frequency (years) at which range is restricted to northern - // front. Must be > 0 if RestrictRows is > 0. - init.finalFrzYr = - Rcpp::as(InitParamsR.slot("FinalFreezeYear")); // Year after which species is confined to current range - // limits. Must be > InitFreezeYear if applied, otherwise 0. - init.indsFile = Rcpp::as(InitParamsR.slot("InitIndsFile")); // Name of the initial individuals file (*.txt). Required for SeedType = 2, otherwise NULL. -#if RSDEBUG - DEBUGLOG << "ReadInitialisationR():" - //<< " simulation=" << simulation - << " seedType=" << init.seedType - << " freeType=" << init.freeType << " spDistType=" << init.spDistType << " maxSeedX=" << init.maxSeedX - << " maxSeedY=" << init.maxSeedY << " initFrzYr=" << init.initFrzYr - << " restrictRows=" << init.restrictRows << " restrictFreq=" << init.restrictFreq - << " finalFrzYr=" << init.finalFrzYr << " indsFile=" << init.indsFile << endl; -#endif - init.restrictRange = false; - if(init.seedType == 0 && init.restrictRows > 0) - init.restrictRange = true; - - if(dem.stageStruct) { - init.initAge = Rcpp::as(InitParamsR.slot("InitAge")); // Initial age distribution within each stage: 0 = lowest possible age, 1 = randomised, 2 = - // quasi-equilibrium. Required for StageStruct = 1 only - otherwise OMIT COLUMNS. - PropStages = Rcpp::as(InitParamsR.slot("PropStages")); // Proportion of the initial individuals in stage class i>0 (No juveniles - // are initialized). Required for StageStruct = 1 only (number of columns - // is one less than number of stages) - otherwise OMIT COLUMNS - if(init.seedType != 2) { - check = 0.0; - for(int i = 1; i < sstruct.nStages; i++) { - p = (float)PropStages(i); - check += p; - paramsInit->setProp(i, p); - } - if(check < 1.0 || check > 1.0) { - // this condition should not occur - WHAT COULD BE DONE?? ABORT WITH ERROR CODE ... -#if RSDEBUG - DEBUGLOG << "ReadInitialisation(): check = " << check << endl; -#endif - } - } - } - paramsInit->setInit(init); - switch(init.seedType) { - case 0: { // free initialisation - if(init.minSeedX < 0) - init.minSeedX = 0; - if(init.minSeedY < 0) - init.minSeedY = 0; - if(init.maxSeedX < 0 || init.maxSeedX > paramsLand.maxX) - init.maxSeedX = paramsLand.maxX; // added upper boundary checks - if(init.maxSeedY < 0 || init.maxSeedY > paramsLand.maxY) - init.maxSeedY = paramsLand.maxY; // added upper boundary checks - if(init.minSeedY > init.maxSeedY || init.minSeedX > init.maxSeedX) { -#if RSDEBUG - DEBUGLOG << "ReadInitialisationR(): maxSeedX=" << init.maxSeedX << " paramsLand.maxX=" << paramsLand.maxX - << " maxSeedY=" << init.maxSeedY << " paramsLand.maxY=" << paramsLand.maxY << endl; -#endif - error = 603; - } - maxcells = (init.maxSeedY - init.minSeedY) * (init.maxSeedX - init.minSeedX); - if(init.freeType == 0 && init.nSeedPatches > maxcells) - error = 602; - } - break; - case 1: // from species distribution - break; - case 2: { // from initial individuals file - // if (init.indsFile != prevInitialIndsFile) { - // read and store the list of individuals to be initialised -#if RS_THREADSAFE - if(init.indsFile=="NULL"){ - simParams sim = paramsSim->getSim(); - Rcpp::List InitIndsList = Rcpp::as(InitParamsR.slot("InitIndsList")); - if(InitIndsList.size() != sim.reps) error = 603; - else error = ReadInitIndsFileR(0, pLandscape, Rcpp::as(InitIndsList[0])); // parse dataframe header and read lines, store in vector "initinds" - }else -#endif - error = ReadInitIndsFileR(0, pLandscape); //open, parse, read header and lines, store in vector "initinds" - // prevInitialIndsFile = init.indsFile; - //} - } - break; - default: - ; - } - return error; -} - -//--------------------------------------------------------------------------- - -int ReadGeneticsR(Rcpp::S4 GeneParamsR) -{ - emigRules emig = pSpecies->getEmig(); - trfrRules trfr = pSpecies->getTrfr(); - settleType sett = pSpecies->getSettle(); - demogrParams dem = pSpecies->getDemogr(); - - int arch; - string archfile; - int error = 0; - genomeData g; - - arch = Rcpp::as(GeneParamsR.slot("Architecture")); // 0 = One chromosome per trait, 1 = Read from file - g.nLoci = Rcpp::as(GeneParamsR.slot("NLoci")); // No. of loci per chromosome, Required for Architecture=0; > 0 - archfile = Rcpp::as(GeneParamsR.slot("ArchFile")); // Name of the genetic architecture file (*.txt),Required for Architecture=1, otherwise NULL - g.probMutn = Rcpp::as(GeneParamsR.slot("ProbMutn")); // Probability of mutation of an individual allele at meiosis, 0 <= prob <= 1 - g.probCrossover = Rcpp::as(GeneParamsR.slot("ProbCross")); // Probability of crossover at an individual locus at meiosis, 0 <= prob <= 1 - g.alleleSD = Rcpp::as(GeneParamsR.slot("AlleleSD")); // S.d. of initial allelic values around phenotypic value, > 0 - g.mutationSD = Rcpp::as(GeneParamsR.slot("MutationSD")); // S.d. of mutation magnitude, > 0 - - if (dem.repType == 0) g.diploid = false; - else g.diploid = true; - -#if RSDEBUG - DEBUGLOG << "ReadGeneticsR(): arch=" << arch - << " g.nLoci=" << g.nLoci << " archfile=" << archfile - << " g.probMutn=" << g.probMutn << " g.probCrossover=" << g.probCrossover - << " g.alleleSD=" << g.alleleSD << " g.mutationSD=" << g.mutationSD - << endl; -#endif - - g.neutralMarkers = false; - if (arch == 0) { // no architecture file - g.trait1Chromosome = true; - pSpecies->set1ChromPerTrait(g.nLoci); - } else { // architecture file - g.trait1Chromosome = false; - g.nLoci = 0; - if (!(emig.indVar || trfr.indVar || sett.indVar)) { - g.neutralMarkers = true; - } - //check architecture file - Rcpp::Rcout << "Checking Archiecture file " << archfile << endl; - string fname = paramsSim->getDir(1) + archfile; - wifstream archFile; - //open file -#if RSWIN64 - archFile.open(fname.c_str()); -#else - archFile.open(fname, std::ios::binary); -#endif - if(!archFile.is_open()) { - OpenErrorR("Architecture file", fname); -#if RSDEBUG - DEBUGLOG << "Architecture file failed to open: " << fname << std::endl; -#endif - return -217; - } else { -#if RSDEBUG - DEBUGLOG << "Architecture file open to read" << std::endl; -#endif -#if !RSWIN64 - // check BOM for UTF-16 - if(check_bom(fname) == "utf16") - // apply BOM-sensitive UTF-16 facet - archFile.imbue(std::locale(archFile.getloc(), new std::codecvt_utf16)); -#endif - - error = ReadArchFileR(archFile); - - if (archFile.is_open()) archFile.close(); - archFile.clear(); - } - } - - pSpecies->setGenomeData(g); - - return error; -} - -//--------------------------------------------------------------------------- - -int ReadArchFileR(wifstream& archFile) -{ - //int ParseArchFile(void){ - - wstring paramname; - int traitnum,prevtrait,nchromosomes,chrom,locus,nloci; - int errors = 0; - int fileNtraits = 0; - bool formatError = false; - int *chromsize = 0; - string filetype = "ArchFile"; - -// check no. of chromosomes, and terminate if in error - archFile >> paramname >> nchromosomes; - if (paramname == L"NChromosomes") { - if (nchromosomes < 1) { - BatchErrorR(filetype,-999,11,"NChromosomes"); - errors++; - return -111; - } - } else { - ArchFormatErrorR(); - return -111; - } - chromsize = new int[nchromosomes]; - for (int i = 0; i < nchromosomes; i++) chromsize[i] = 0; - -// check no. of loci on each chromosome, and terminate if in error - archFile >> paramname; - if (paramname != L"NLoci") formatError = true; - int locerrors = 0; - for (int i = 0; i < nchromosomes; i++) { - nloci = -999; - archFile >> nloci; - if (nloci < 1) locerrors++; - else chromsize[i] = nloci; - } - if (locerrors) { - BatchErrorR(filetype,-999,11,"NLoci"); - return -111; - } -//if (formatError) batchlog << "formatError is TRUE" << endl; -//else batchlog << "formatError is FALSE" << endl; - -// check unspecified no. of traits - fileNtraits = 0; - traitnum = prevtrait = -1; - bool traitError = false; - bool lociError = false; - bool chromError = false; - bool locusError = false; - paramname = L"XXXyyyZZZ"; -//batchlog << "paramname=" << paramname << endl; - archFile >> paramname; -//batchlog << "paramname=" << paramname << endl; - while (paramname != L"XXXyyyZZZ") { - archFile >> traitnum; -// batchlog << "traitnum=" << traitnum << endl; - if (paramname != L"Trait") formatError = true; - if (traitnum == (prevtrait+1)) prevtrait = traitnum; - else traitError = true; - archFile >> paramname >> nloci; -// batchlog << "paramname=" << paramname << " nloci=" << nloci << endl; - if (paramname != L"NLoci") formatError = true; - if (nloci < 1) lociError = true; - for (int i = 0; i < nloci; i++) { - chrom = locus = -999999; - archFile >> chrom >> locus; -// batchlog << "chrom=" << chrom << " locus=" << locus << endl; - if (chrom == -999999 || locus == -999999) { - BatchErrorR(filetype,-999,0," "); - errors++; - Rcpp::Rcout << "Too few loci listed for trait " << traitnum << endl; - } else { - if (chrom >= 0 && chrom < nchromosomes) { -// batchlog << "chromsize[" << chrom << "]=" << chromsize[chrom] << endl; - if (locus < 0 || locus >= chromsize[chrom]) locusError = true; - } else chromError = true; - } - } - fileNtraits++; - paramname = L"XXXyyyZZZ"; - archFile >> paramname; -// batchlog << "paramname=" << paramname << " (end of loop)" << endl; - } -//batchlog << "paramname=" << paramname << " (after loop)" << endl; - - if (traitError) { - BatchErrorR(filetype,-999,0," "); - errors++; - Rcpp::Rcout << "Traits must be sequentially numbered starting at 0 " << endl; - } - if (lociError) { - BatchErrorR(filetype,-999,11,"Trait NLoci"); - errors++; - } - if (chromError) { - BatchErrorR(filetype,-999,0," "); - errors++; - Rcpp::Rcout << "Chromosome no. must be from 0 to " << (nchromosomes-1) << endl; - } - if (locusError) { - BatchErrorR(filetype,-999,0," "); - errors++; - Rcpp::Rcout << "Locus no. must not exceed no. of loci on specified chromosome " << endl; - } - - if (chromsize != 0) delete[] chromsize; - -// check if parsing was successful before starting to read - if (formatError || errors > 0) { // terminate batch error checking - if (formatError) ArchFormatErrorR(); - return -111; - } else { - // final read should have hit EOF - if (!archFile.eof()) { - EOFerrorR(filetype); - } - archFile.clear(); - archFile.seekg(0); - archFile.sync(); - if(!archFile.good()) { - Rcpp::Rcout << "Error re-opening Architecture file with state " << archFile.rdstate() << endl; - return -331; - } - else Rcpp::Rcout << "Architecture file OK" << endl; - } - - // READING - //int ReadArchFile(string archfile){ - - emigRules emig = pSpecies->getEmig(); - trfrRules trfr = pSpecies->getTrfr(); - settleType sett = pSpecies->getSettle(); - -// set no. of chromosomes - archFile >> paramname >> nchromosomes; - pSpecies->setNChromosomes(nchromosomes); - int nchromset = pSpecies->getNChromosomes(); - - if (nchromset <= 0) errors = 1; - if (emig.indVar || trfr.indVar || sett.indVar) { - pSpecies->setTraitData(fileNtraits); - } else { // neutral markers only - pSpecies->setTraitData(0); - } -// set no. of loci for each chromosome - archFile >> paramname; - for (int i = 0; i < nchromosomes; i++) { - archFile >> nloci; - pSpecies->setNLoci(i,nloci); - } - if (emig.indVar || trfr.indVar || sett.indVar) { - // set trait maps - paramname = L"XXXyyyZZZ"; - archFile >> paramname; - while (paramname != L"XXXyyyZZZ") { - archFile >> traitnum >> paramname >> nloci; - pSpecies->setTraitMap(traitnum,nloci); - for (int allele = 0; allele < nloci; allele++) { - chrom = locus = -999999; - archFile >> chrom >> locus; - pSpecies->setTraitAllele(traitnum,allele,chrom,locus); - } - paramname = L"XXXyyyZZZ"; - archFile >> paramname; - }; - } - -// any loci not contributing to a trait are recorded as neutral - if (emig.indVar || trfr.indVar || sett.indVar) { - pSpecies->setNeutralLoci(false); - } else { // model has neutral markers only - pSpecies->setNeutralLoci(true); - } - - return errors; -} - -//--------------------------------------------------------------------------- - -Rcpp::List RunBatchR(int nSimuls, int nLandscapes, Rcpp::S4 ParMaster) -{ - int land_nr; -#if !RS_THREADSAFE - int t0, t1, t00, t01; -#endif - int read_error; - bool params_ok; - simParams sim = paramsSim->getSim(); -#if SEASONAL - demogrParams dem = pSpecies->getDemogr(); -#endif - - Rcpp::List list_outPop; - Landscape* pLandscape = NULL; // pointer to landscape - -#if RSDEBUG - DEBUGLOG << endl; - DEBUGLOG << "RunBatchR(): nSimuls=" << nSimuls << " nLandscapes=" << nLandscapes << endl; - DEBUGLOG << "RunBatchR(): landtype=" << landtype << " maxNhab=" << maxNhab << endl; -#endif - -#if !RS_THREADSAFE - t0 = time(0); -#endif - - // int batch_line = 0; - - string name = paramsSim->getDir(2) + "Batch" + Int2Str(sim.batchNum) + "_RS_log.csv"; -#if !RS_THREADSAFE - if(rsLog.is_open()) { - rsLog.close(); - rsLog.clear(); - } - rsLog.open(name.c_str()); - if(!rsLog.is_open()) { - Rcpp::Rcout << endl - << "Error - unable to open Batch" << sim.batchNum << "_RS_log.csv file - aborting batch run" - << endl; - return Rcpp::List::create(Rcpp::Named("Errors") = -678); - } - rsLog << "Event,Number,Reps,Years,Time" << endl; -#if RSDEBUG - rsLog << "WARNING,***** RSDEBUG mode is active *****,,," << endl; -#endif -#if GROUPDISP || RS_ABC || RS_RCPP - rsLog << "RNG SEED,,,," << RS_random_seed << endl; -#endif -#endif //!RS_THREADSAFE - - // loop over landscpaes - - for(int j = 0; j < nLandscapes; j++) { - -#if RSDEBUG - DEBUGLOG << endl; -#endif - // create new landscape - if(pLandscape != NULL) - delete pLandscape; - pLandscape = new Landscape; - bool landOK = true; - -#if !RS_THREADSAFE - t00 = time(0); -#endif - - landOK = ReadLandParamsR(pLandscape, ParMaster); - //land_nr = ReadLandParamsR(pLandscape, ParMaster); - land_nr = j; // TODO: ReadLandParamsR() is supposed to return land_nr; this is a temporary replacement - - if(!landOK) { -#if !RS_THREADSAFE - rsLog << "Error reading landscape ASCII haeders - aborting" << endl; -#endif - Rcpp::Rcout << "Error reading landscape ASCII haeders - aborting" << endl; - } else { - - MemoLine(("Starting landscape " + Int2Str(land_nr) + "...").c_str()); - -#if RSDEBUG - DEBUGLOG << endl << "RunBatchR(): j=" << j << " land_nr=" << land_nr << " landtype=" << landtype; - if(landtype != 9) - DEBUGLOG << " name_landscape=" << name_landscape - << " name_patch=" << name_patch - << " name_costfile=" << name_costfile - << " name_sp_dist=" << name_sp_dist; - DEBUGLOG << endl; -#endif - landParams paramsLand = pLandscape->getLandParams(); - paramsLand.patchModel = patchmodel; - paramsLand.resol = resolution; - paramsLand.rasterType = landtype; - if(landtype == 9) { - paramsLand.generated = true; - paramsLand.nHab = 2; - } else { - paramsLand.generated = false; - /*if(name_dynland == "NULL") - paramsLand.dynamic = false; - else - paramsLand.dynamic = true;*/ - } - paramsLand.nHabMax = maxNhab; - paramsLand.spDist = speciesdist; - paramsLand.spResol = distresolution; - pLandscape->setLandParams(paramsLand, sim.batchMode); - - if(landtype != 9) { // imported landscape - -#if RS_THREADSAFE - Rcpp::S4 LandParamsR("LandParams"); - LandParamsR = Rcpp::as(ParMaster.slot("land")); - - Rcpp::List habitatmaps; - Rcpp::List patchmaps; - Rcpp::List costmaps; - Rcpp::List spdistmap; - - habitatmaps = Rcpp::as(LandParamsR.slot("LandscapeFile")); - Rcpp::NumericMatrix hraster = Rcpp::as(habitatmaps[0]); - - Rcpp::NumericMatrix praster; - if (patchmodel) { - patchmaps = Rcpp::as(LandParamsR.slot("PatchFile")); - praster = Rcpp::as(patchmaps[0]); - } - else{ - praster = Rcpp::NumericMatrix(0); - } - - Rcpp::NumericMatrix craster; - costmaps = Rcpp::as(LandParamsR.slot("CostsFile")); - if (costmaps.size() > 0) Rcpp::NumericMatrix craster = Rcpp::as(costmaps[0]); - else craster = Rcpp::NumericMatrix(0); -#if SPATIALDEMOG - int nrDemogScaleLayers = 0; - Rcpp::List demogScaleLayers; // list of lists of layers for each dynamic land year - Rcpp::NumericVector scalinglayers = Rcpp::NumericVector::create(-1); // array of demog scaling layers for a given year (initialise invalid value) - - if(landtype == 2 && stagestruct) { - nrDemogScaleLayers = Rcpp::as(LandParamsR.slot("nrDemogScaleLayers")); - if(nrDemogScaleLayers) { - demogScaleLayers = Rcpp::as(LandParamsR.slot("demogScaleLayers")); - scalinglayers = demogScaleLayers[0]; // get array of scaling layers of year 0 - } - //else scalinglayers // no scaling layers -> create empty list - } -#endif - - int landcode; -#if SPATIALDEMOG - landcode = pLandscape->readLandscape(0, hraster, praster, craster, scalinglayers); -#else - landcode = pLandscape->readLandscape(0, hraster, praster, craster); -#endif - - if(landcode != 0) { - Rcpp::Rcout << endl << "Error reading landscape " << land_nr << " - aborting" << endl; - landOK = false; - } - if(paramsLand.dynamic) { - landcode = ReadDynLandR(pLandscape, LandParamsR); - if(landcode != 0) { - Rcpp::Rcout << endl << "Error reading landscape " << land_nr << " - aborting" << endl; - landOK = false; - } - } - if(landtype == 0) { - pLandscape->updateHabitatIndices(); - } - // species distribution - if(paramsLand.spDist) { // read initial species distribution - // WILL NEED TO BE CHANGED FOR MULTIPLE SPECIES ... - - spdistmap = Rcpp::as(LandParamsR.slot("SpDistFile")); - landcode = pLandscape->newDistribution(pSpecies, Rcpp::as(spdistmap[0]), distresolution); - if(landcode == 0) { - } else { - Rcpp::Rcout << endl - << "Error reading initial distribution for landscape " << land_nr << " - aborting" - << endl; - landOK = false; - } - } - paramsSim->setSim(sim); - - //if(landOK) t01 = time(0); - -#else // RS_THREADSAFE - - string hname = paramsSim->getDir(1) + name_landscape; - int landcode; - string cname; - if (name_costfile == "NULL" || name_costfile == "none") cname = "NULL"; - else cname = paramsSim->getDir(1) + name_costfile; - if(paramsLand.patchModel) { - string pname = paramsSim->getDir(1) + name_patch; - landcode = pLandscape->readLandscape(0, hname, pname, cname); - } else - landcode = pLandscape->readLandscape(0, hname, " ", cname); - if(landcode != 0) { - rsLog << "Landscape," << land_nr << ",ERROR,CODE," << landcode << endl; - Rcpp::Rcout << endl << "Error reading landscape " << land_nr << " - aborting" << endl; - landOK = false; - } - if(paramsLand.dynamic) { - Rcpp::S4 LandParamsR("LandParams"); - LandParamsR = Rcpp::as(ParMaster.slot("land")); - landcode = ReadDynLandR(pLandscape, LandParamsR); - if(landcode != 0) { - rsLog << "Landscape," << land_nr << ",ERROR,CODE," << landcode << endl; - Rcpp::Rcout << endl << "Error reading landscape " << land_nr << " - aborting" << endl; - landOK = false; - } - } - if(landtype == 0) { - pLandscape->updateHabitatIndices(); - } -#if RSDEBUG - landParams tempLand = pLandscape->getLandParams(); - DEBUGLOG << "RunBatchR(): j=" << j << " land_nr=" << land_nr << " landcode=" << landcode - << " nHab=" << tempLand.nHab << endl; -#endif - - // species distribution - - if(paramsLand.spDist) { // read initial species distribution - // WILL NEED TO BE CHANGED FOR MULTIPLE SPECIES ... - string distname = paramsSim->getDir(1) + name_sp_dist; - landcode = pLandscape->newDistribution(pSpecies, distname); - if(landcode == 0) { - } else { - rsLog << "Landscape," << land_nr << ",ERROR,CODE," << landcode << endl; - Rcpp::Rcout << endl - << "Error reading initial distribution for landscape " << land_nr << " - aborting" - << endl; - landOK = false; - } - } - paramsSim->setSim(sim); -#if RSDEBUG - DEBUGLOG << "RunBatchR(): j=" << j << " spDist=" << paramsLand.spDist << endl; -#endif - -#if SPATIALMORT - // optional spatial mortality files - if(name_mortfile[0] != "NULL") { - string mname[2]; - mname[0] = paramsSim->getDir(1) + name_mortfile[0]; - mname[1] = paramsSim->getDir(1) + name_mortfile[1]; - landcode = pLandscape->readMortalityFiles(mname[0], mname[1]); - if(landcode != 0) { - Rcpp::Rcout << endl - << "Error reading mortality files for landscape " << land_nr << " - aborting" << endl; - rsLog << "Landscape," << land_nr << ",ERROR,CODE," << landcode << endl; - landOK = false; - } - } -#endif - - if(landOK) { - t01 = time(0); - rsLog << "Landscape," << land_nr << ",,," << t01 - t00 << endl; - - } // end of landOK condition - -#endif // RS_THREADSAFE - - } // end of imported landscape - } - if(landOK) { - - // Open all other batch files and read header records -#if VIRTUALECOLOGIST - if(virtEcolFile != "NULL") - ReadVirtEcol(0); -#endif - - // nSimuls is the total number of lines (simulations) in - // the batch and is set in the control function - string msgsim = "Simulation,"; - string msgerr = ",ERROR CODE,"; - string msgabt = ",simulation aborted"; - for(int i = 0; i < nSimuls; i++) { // this loop is useless at the moment since nSimuls is set to one in R entry function BatchMainR() -#if !RS_THREADSAFE - t00 = time(0); - simParams sim = paramsSim->getSim(); -#endif - params_ok = true; - anyIndVar = false; - read_error = ReadParametersR(pLandscape, ParMaster); - if(read_error) { - #if !RS_THREADSAFE - rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; - #endif - params_ok = false; - } - if(stagestruct) { - ReadStageStructureR(ParMaster); - } - read_error = ReadEmigrationR(ParMaster); - if(read_error) { - #if !RS_THREADSAFE - rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; - #endif - params_ok = false; - } - read_error = ReadTransferR(pLandscape, ParMaster); - if(read_error) { - #if !RS_THREADSAFE - rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; - #endif - params_ok = false; - } - read_error = ReadSettlementR(ParMaster); - if(read_error) { - #if !RS_THREADSAFE - rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; - #endif - params_ok = false; - } - if(params_ok) { -#if RSDEBUG - DebugGUI("RunBatchR(): simulation i=" + Int2Str(i)); -#endif - pSpecies->setNChromosomes(0); - pSpecies->setTraits(); - } - Rcpp::S4 GeneParamsR("GeneticsParams"); - GeneParamsR = Rcpp::as(ParMaster.slot("gene")); - if (anyIndVar || Rcpp::as(GeneParamsR.slot("Architecture")) == 1) { - read_error = ReadGeneticsR(GeneParamsR); - if(read_error) { - #if !RS_THREADSAFE - rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; - #endif - params_ok = false; - } - } else { - // use default genetics parameters - // (by setting illegal values except for diploid) - genomeData g; - g.nLoci = -1; - g.probMutn = g.probCrossover = g.alleleSD = g.mutationSD = -1.0; - if(reproductn == 0) - g.diploid = false; - else - g.diploid = true; - g.neutralMarkers = g.trait1Chromosome = false; - - pSpecies->setGenomeData(g); - } - read_error = ReadInitialisationR(pLandscape, ParMaster); - if(read_error) { - #if !RS_THREADSAFE - rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; - #endif - params_ok = false; - } -#if VIRTUALECOLOGIST - if(virtEcolFile == "NULL") { - // no virtual ecologist - paramsSim->setVirtEcol(false); - } else { - paramsSim->setVirtEcol(true); - read_error = ReadVirtEcol(1); - if(read_error) { - #if !RS_THREADSAFE - rsLog << msgsim << sim.simulation << msgerr << read_error << msgabt << endl; - #endif - params_ok = false; - } - } -#endif - - if(params_ok) { - simParams sim = paramsSim->getSim(); -#if RS_ABC - - ABCmain(pLandscape); -#else - -#if RSDEBUG - DEBUGLOG << endl - << "RunBatchR(): i=" << i << " simulation=" << sim.simulation - //<< " landFile=" << landFile - << " outRange=" << sim.outRange << " outIntRange=" << sim.outIntRange << endl; -#endif - - Rcpp::Rcout << endl - << "Running simulation nr. " << Int2Str(sim.simulation) - //<< " on landscape no. " << Int2Str(land_nr) - << endl; - - MemoLine(("Starting simulation " + Int2Str(sim.simulation) + "...").c_str()); - - // for batch processing, include landscape number in parameter file name -#if !RS_THREADSAFE - OutParameters(pLandscape); -#endif - - // run the model -#if RS_THREADSAFE - list_outPop = RunModel(pLandscape, i, ParMaster); -#else - list_outPop = RunModel(pLandscape, i); -#endif - -#if RSDEBUG - // DEBUGLOG << endl << "RunBatchR(): real landscape, i = " << i - // << " simulation = " << sim.simulation << " landFile = " << landFile - // << endl; -#endif - -#endif // RS_ABC - -#if !RS_THREADSAFE - t01 = time(0); - rsLog << msgsim << sim.simulation << "," << sim.reps << "," << sim.years << "," << t01 - t00 - << endl; -#endif - } // end of if (params_ok) - else { - Rcpp::Rcout << endl << "Error in reading parameter file(s)... see RS log." << endl; - } -#if VCL - if(stopRun) - break; -#endif - } // end of nSimuls for loop - - // close input files -#if VIRTUALECOLOGIST - if(virtEcolFile != "NULL") - ReadVirtEcol(9); -#endif - -// if (landtype != 9) { - if (pLandscape != NULL) { - delete pLandscape; - pLandscape = NULL; - } - - } // end of landOK condition -#if VCL - if(stopRun) - break; -#endif - - } // end of nLandscapes loop - -// Write performance data to log file -#if !RS_THREADSAFE - t1 = time(0); - rsLog << endl << "Batch,,,," << t1 - t0 << endl; - - if(rsLog.is_open()) { - rsLog.close(); - rsLog.clear(); - } -#endif - - return list_outPop; -} - -//--------------------------------------------------------------------------- -//--------------------------------------------------------------------------- - -void setglobalvarsR(Rcpp::S4 control) -{ - - // nSimuls = 2; //read from parameterfile - // nLandscapes = 1; //read from landfile, but not yet used in R-class RSparams! - - batchnum = Rcpp::as(control.slot("batchnum")); - patchmodel = Rcpp::as(control.slot("patchmodel")); - resolution = Rcpp::as(control.slot("resolution")); - landtype = Rcpp::as(control.slot("landtype")); - maxNhab = Rcpp::as(control.slot("maxNhab")); - speciesdist = Rcpp::as(control.slot("speciesdist")); - distresolution = Rcpp::as(control.slot("distresolution")); - reproductn = Rcpp::as(control.slot("reproductn")); - repseasons = Rcpp::as(control.slot("repseasons")); - stagestruct = Rcpp::as(control.slot("stagestruct")); - stages = Rcpp::as(control.slot("stages")); - transfer = Rcpp::as(control.slot("transfer")); - -#if RSDEBUG - /* - Function slotNames("slotNames"); - CharacterVector snames = slotNames(obj); - for (int i = 0; i < snames.size(); i++) { - SEXP slot = obj.slot(Rcpp::as(snames[i])); - // do something with slot - } - */ -#endif -} - -//--------------------------------------------------------------------------- -//--------------------------------------------------------------------------- -//--------------------------------------------------------------------------- - -#if !RSWIN64 -// check for UTF-16 encoding -string check_bom(string file) -{ - /* - const char *UTF_16_BE_BOM = "\xFE\xFF"; - const char *UTF_16_LE_BOM = "\xFF\xFE"; - const char *UTF_8_BOM = "\xEF\xBB\xBF"; - const char *UTF_32_BE_BOM = "\x00\x00\xFE\xFF"; - const char *UTF_32_LE_BOM = "\xFF\xFE\x00\x00"; - */ - string enc = "undef"; - - ifstream infile(file, ios::in | ios::binary); - if(!infile) { - enc = "error"; - infile.clear(); - } else { - char buffer[20]; - infile.read(buffer, 4); - if(buffer[0] == '\xFE' && buffer[1] == '\xFF') { // UTF-16 LE - enc = "utf16"; - } - if(buffer[0] == '\xFF' && buffer[1] == '\xFE') { // UTF-16 BE - enc = "utf16"; - } - if(buffer[0] == '\xEF' && buffer[1] == '\xBB' && buffer[2] == '\xBF') { // UTF-8 - enc = "utf8"; - } - if(buffer[0] == '\x00' && buffer[1] == '\x00' && buffer[2] == '\xFE' && buffer[3] == '\xFF') { // UTF-32 BE - enc = "utf32"; - } - if(buffer[0] == '\xFF' && buffer[1] == '\xFE' && buffer[2] == '\x00' && buffer[3] == '\x00') { // UTF-32 BE - enc = "utf32"; - } - /* - if (size >= 3) { - if (memcmp(data, UTF_8_BOM, 3) == 0) - return "UTF-8"; - } - if (size >= 4) { - if (memcmp(data, UTF_32_LE_BOM, 4) == 0) - return "UTF-32-LE"; - if (memcmp(data, UTF_32_BE_BOM, 4) == 0) - return "UTF-32-BE"; - } - if (size >= 2) { - if (memcmp(data, UTF_16_LE_BOM, 2) == 0) - return "UTF-16-LE"; - if (memcmp(data, UTF_16_BE_BOM, 2) == 0) - return "UTF-16-BE"; - }*/ - infile.close(); - } - return enc; -} -#endif - -//--------------------------------------------------------------------------- - -rasterdata ParseRasterHead(string file) -{ - wifstream infile; - rasterdata r; - wstring header; - int inint; - - r.ok = true; - r.errors = r.ncols = r.nrows = r.cellsize = 0; - r.xllcorner = r.yllcorner = 0.0; - r.utf = false; - - // open file -#if RSWIN64 - infile.open(file.c_str()); -#else - infile.open(file, std::ios::binary); -#endif - if (infile.is_open()) { -#if RSDEBUG - DEBUGLOG << "Parsing raster file " << file << std::endl; -#endif -#if !RSWIN64 - // check BOM for UTF-16 - if(check_bom(file) == "utf16") { - // apply BOM-sensitive UTF-16 facet - infile.imbue(std::locale(infile.getloc(), new std::codecvt_utf16)); - r.utf = true; - } else { - r.utf = false; - } -#endif - // parse ASCII header - infile >> header; - if (!infile.good()) { -#if RSDEBUG - DEBUGLOG << "ParseRasterHead(): failed to read " << file << std::endl; -#endif - r.ok = false; - r.errors = -211; - infile.close(); - infile.clear(); - return r; - } - if (header != L"ncols" && header != L"NCOLS") r.errors++; - infile >> r.ncols; - - infile >> header >> r.nrows; - if (header != L"nrows" && header != L"NROWS") r.errors++; - - infile >> header >> r.xllcorner; - if (header != L"xllcorner" && header != L"XLLCORNER") r.errors++; - - infile >> header >> r.yllcorner; - if (header != L"yllcorner" && header != L"YLLCORNER") r.errors++; - - infile >> header >> r.cellsize; - if (header != L"cellsize" && header != L"CELLSIZE") r.errors++; - - infile >> header >> inint; - if (header != L"NODATA_value" && header != L"NODATA_VALUE") r.errors++; - - if (r.errors > 0) r.ok = false; - - } else { - r.ok = false; - r.errors = -111; - //OpenErrorR("Raster file ", file); -#if RSDEBUG - DEBUGLOG << "Raster file failed to open: " << file << std::endl; -#endif - } - infile.close(); - infile.clear(); - return r; -} - -//---------------------------------------------------------------------------------------------- - -#if RS_THREADSAFE - -int ReadInitIndsFileR(int option, Landscape* pLandscape, Rcpp::DataFrame initindslist ) -{ - landParams paramsLand = pLandscape->getLandParams(); - demogrParams dem = pSpecies->getDemogr(); - //stageParams sstruct = pSpecies->getStage(); - initParams init = paramsInit->getInit(); - string filetype = "InitIndsList"; - Rcpp::CharacterVector colnames = initindslist.names(); - int lines = initindslist.nrows(); - int errors = 0, col_ix = 0; - - Rcpp::IntegerVector df_year; - Rcpp::IntegerVector df_species; - Rcpp::IntegerVector df_patch; - Rcpp::IntegerVector df_X; - Rcpp::IntegerVector df_Y; - Rcpp::IntegerVector df_Ninds; - Rcpp::IntegerVector df_Sex; - Rcpp::IntegerVector df_Age; - Rcpp::IntegerVector df_Stage; - - if(option == 0) { // parse and read header and lines - - // Check right headers format - if(colnames[col_ix++] == "Year") df_year = initindslist["Year"]; - else errors++; - if(colnames[col_ix++] == "Species") df_species = initindslist["Species"]; - else errors++; - if(patchmodel) { - if(colnames[col_ix++] == "PatchID") df_patch = initindslist["PatchID"]; - else errors++; - } else { - if(colnames[col_ix++] == "X") df_X = initindslist["X"]; - else errors++; - if(colnames[col_ix++] == "Y") df_Y = initindslist["Y"]; - else errors++; - } - if(colnames[col_ix++] == "Ninds") df_Ninds = initindslist["Ninds"]; - else errors++; - if(reproductn > 0) { - if(colnames[col_ix++] == "Sex") df_Sex = initindslist["Sex"]; - else errors++; - } - if(stagestruct) { - if(colnames[col_ix++] == "Age") df_Age = initindslist["Age"]; - else errors++; - if(colnames[col_ix++] == "Stage") df_Stage = initindslist["Stage"]; - else errors++; - } - // Report any errors in headers, and if so, terminate validation - if(errors > 0) { - FormatErrorR(filetype, errors); - return -111; - } - - paramsInit->resetInitInds(); - - // Read dataframe lines - initInd iind; - iind.year = -98765; - int ninds; - int totinds = 0; - int prevyear = -98765; - - for(int l = 0; l < lines; l++) { // loop over dataframe rows - - // Year - iind.year = df_year[l]; - if(iind.year < 0) { - BatchErrorR(filetype, l, 19, "Year"); - errors++; - } else { - if(iind.year < prevyear) { - BatchErrorR(filetype, l, 2, "Year", "previous Year"); - errors++; - } - } - prevyear = iind.year; - - // Species - iind.species = df_species[l]; - if(iind.species != 0) { - BatchErrorR(filetype, l, 0, " "); - errors++; - Rcpp::Rcout << "Species must be 0" << endl; - } - - // Patch | Coordinates - if(paramsLand.patchModel) { - iind.patchID = df_patch[l]; - if(iind.patchID < 1) { - BatchErrorR(filetype, l, 11, "PatchID"); - errors++; - iind.x = iind.y = 0; - } - } else { - iind.x = df_X[l]; - iind.y = df_Y[l]; - if(iind.x < 0 || iind.y < 0) { - BatchErrorR(filetype, l, 19, "X and Y"); - errors++; - iind.patchID = 0; - } - } - - // No of individuals - ninds = df_Ninds[l]; - if(ninds < 1) { - BatchErrorR(filetype, l, 11, "Ninds"); - errors++; - } - - // Sex - if(dem.repType > 0){ - iind.sex = df_Sex[l]; - if(iind.sex < 0 || iind.sex > 1) { - BatchErrorR(filetype, l, 1, "Sex"); - errors++; - } - } - else iind.sex = 0; - - // Stage - if(dem.stageStruct) { - iind.age = df_Age[l]; - iind.stage = df_Stage[l]; - if(iind.age < 1) { - BatchErrorR(filetype, l, 11, "Age"); - errors++; - } - if(iind.stage < 1) { - BatchErrorR(filetype, l, 11, "Stage"); - errors++; - } - if(iind.stage >= stages) { - BatchErrorR(filetype, l, 4, "Stage", "no. of stages"); - errors++; - } - } else { - iind.age = iind.stage = 0; - } - - for(int i = 0; i < ninds; i++) { - totinds++; - paramsInit->addInitInd(iind); - } - - iind.year = -98765; // finished current line - if(errors){ // check for format errors - return errors; - } - } // end of loop over rows - - Rcpp::Rcout << "Initial individuals list OK" << std::endl; - return 0; //totinds; - - } // end of option 0 - - if(option == 9) { // close file - return 0; - } - return -1; -} - -#endif // RS_THREADSAFE - -int ReadInitIndsFileR(int option, Landscape* pLandscape) -{ - landParams paramsLand = pLandscape->getLandParams(); - demogrParams dem = pSpecies->getDemogr(); - //stageParams sstruct = pSpecies->getStage(); - initParams init = paramsInit->getInit(); - - string indsfile = paramsSim->getDir(1) + init.indsFile; - wifstream initIndsFile; - - wstring header; - string filetype = "InitIndsFile"; - string filename, ftype2, fname; - - int line, prevyear; - //int year, sex, species, patchID, x, y, ninds, age, stage; - - int errors = 0; - - if(option == 0) { // open file, parse and read header and lines - // open file -#if RSWIN64 - initIndsFile.open(indsfile.c_str()); -#else - initIndsFile.open(indsfile, std::ios::binary); -#endif - if(!initIndsFile.is_open()) { - OpenErrorR("Initial individuals file", indsfile); -#if RSDEBUG - DEBUGLOG << "Initial individuals file failed to open: " << indsfile << std::endl; -#endif - return -21; - } else { -#if RSDEBUG - DEBUGLOG << "Initial individuals file open to read" << std::endl; -#endif -#if !RSWIN64 - // check BOM for UTF-16 - if(check_bom(indsfile) == "utf16") - // apply BOM-sensitive UTF-16 facet - initIndsFile.imbue(std::locale(initIndsFile.getloc(), new std::codecvt_utf16)); -#endif - - // Check right headers format - initIndsFile >> header; - if(!initIndsFile.good()) { - Rcpp::Rcout << "Initial individuals failed to read" << std::endl; -#if RSDEBUG - DEBUGLOG << "Initial individuals failed to read" << std::endl; -#endif - return -211; - } - if(header != L"Year") - errors++; - initIndsFile >> header; - if(header != L"Species") - errors++; - if(patchmodel) { - initIndsFile >> header; - if(header != L"PatchID") - errors++; - } else { - initIndsFile >> header; - if(header != L"X") - errors++; - initIndsFile >> header; - if(header != L"Y") - errors++; - } - initIndsFile >> header; - if(header != L"Ninds") - errors++; - if(reproductn > 0) { - initIndsFile >> header; - if(header != L"Sex") - errors++; - } - if(stagestruct) { - initIndsFile >> header; - if(header != L"Age") - errors++; - initIndsFile >> header; - if(header != L"Stage") - errors++; - } - // Report any errors in headers, and if so, terminate validation - if(errors > 0) { - FormatErrorR(filetype, errors); - return -111; - } - - paramsInit->resetInitInds(); - - // Read data lines - initInd iind; - int ninds; - int totinds = 0; - - line = 1; - iind.year = prevyear = -98765; - initIndsFile >> iind.year; - - while(iind.year != -98765) { - // Year - if(iind.year < 0) { - BatchErrorR(filetype, line, 19, "Year"); - errors++; - } else { - if(iind.year < prevyear) { - BatchErrorR(filetype, line, 2, "Year", "previous Year"); - errors++; - } - } - prevyear = iind.year; - - // Species - initIndsFile >> iind.species; - if(iind.species != 0) { - BatchErrorR(filetype, line, 0, " "); - errors++; - Rcpp::Rcout << "Species must be 0" << endl; - } - - // Patch | Coordinates - if(paramsLand.patchModel) { - initIndsFile >> iind.patchID; - if(iind.patchID < 1) { - BatchErrorR(filetype, line, 11, "PatchID"); - errors++; - iind.x = iind.y = 0; - } - } else { - initIndsFile >> iind.x >> iind.y; - if(iind.x < 0 || iind.y < 0) { - BatchErrorR(filetype, line, 19, "X and Y"); - errors++; - iind.patchID = 0; - } - } - - // No of individuals - initIndsFile >> ninds; - if(ninds < 1) { - BatchErrorR(filetype, line, 11, "Ninds"); - errors++; - } - - // Sex - if(dem.repType > 0){ - initIndsFile >> iind.sex; - if(iind.sex < 0 || iind.sex > 1) { - BatchErrorR(filetype, line, 1, "Sex"); - errors++; - } - } - else iind.sex = 0; - - // Stage - if(dem.stageStruct) { - initIndsFile >> iind.age >> iind.stage; - if(iind.age < 1) { - BatchErrorR(filetype, line, 11, "Age"); - errors++; - } - if(iind.stage < 1) { - BatchErrorR(filetype, line, 11, "Stage"); - errors++; - } - if(iind.stage >= stages) { - BatchErrorR(filetype, line, 4, "Stage", "no. of stages"); - errors++; - } - } else { - iind.age = iind.stage = 0; - } - - for(int i = 0; i < ninds; i++) { - totinds++; - paramsInit->addInitInd(iind); - } - - line++; - iind.year = -98765; // finished current line - if(!errors){ // check for format errors - if(!initIndsFile.eof()) // check for EOF to end loop - initIndsFile >> iind.year; // read next year - } - } // end of while loop over lines - if(!initIndsFile.eof()) { - EOFerrorR(filetype); - errors++; - } - - } // end of "file is open" - - if(initIndsFile.is_open()) - initIndsFile.close(); - initIndsFile.clear(); - - Rcpp::Rcout << "Initial individuals file OK:" << indsfile << std::endl; - - return errors; //totinds; - - } // end of option 0 - - if(option == 9) { // close file - if(initIndsFile.is_open()) { - initIndsFile.close(); - } - initIndsFile.clear(); - return 0; - } - return -1; -} - -//--------------------------------------------------------------------------- - -void BatchErrorR(string filename, int line, int option, string fieldname) -{ - if(line == -999) { // message does not cite line number - Rcpp::Rcout << "*** Error in " << filename << ": "; - } else { - Rcpp::Rcout << "*** Error in " << filename << " at line " << line << ": "; - } - switch(option) { - case 0: - break; - case 1: - Rcpp::Rcout << fieldname << " must be 0 or 1"; - break; - case 2: - Rcpp::Rcout << fieldname << " must be 0, 1 or 2"; - break; - case 3: - Rcpp::Rcout << fieldname << " must be 0, 1, 2 or 3"; - break; - case 4: - Rcpp::Rcout << fieldname << " must be from 0 to 4"; - break; - case 5: - Rcpp::Rcout << fieldname << " must be from 0 to 5"; - break; - case 6: - Rcpp::Rcout << fieldname << " must be from 0 to 6"; - break; - case 7: - Rcpp::Rcout << fieldname << " must be from 0 to 7"; - break; - case 10: - Rcpp::Rcout << fieldname << " must be greater than zero"; - break; - case 11: - Rcpp::Rcout << fieldname << " must be 1 or more"; - break; - case 12: - Rcpp::Rcout << fieldname << " must be 2 or more"; - break; - case 13: - Rcpp::Rcout << fieldname << " must be 3 or more"; - break; - case 18: - Rcpp::Rcout << fieldname << " must be greater than 1.0"; - break; - case 19: - Rcpp::Rcout << fieldname << " must be 0 or more"; - break; - case 20: - Rcpp::Rcout << fieldname << " must be between 0 and 1"; - break; - case 21: - Rcpp::Rcout << fieldname << " must be greater than 1"; - break; - case 33: - Rcpp::Rcout << fieldname << " must be 1, 2 or 3"; - break; - case 44: - Rcpp::Rcout << fieldname << " must be from 1 to 4"; - break; - case 55: - Rcpp::Rcout << fieldname << " must be from 1 to 5"; - break; - case 66: - Rcpp::Rcout << fieldname << " must be from 1 to 6"; - break; - case 100: - Rcpp::Rcout << fieldname << " must be between 0 and 100"; - break; - case 111: - Rcpp::Rcout << fieldname << " must match the first Simulation in ParameterFile"; - break; - case 222: - Rcpp::Rcout << "Simulation numbers must be sequential integers"; - break; -#if SEASONAL - case 223: - Rcpp::Rcout << "Season numbers must be sequential integers"; - break; -#endif - case 333: - Rcpp::Rcout << "No. of " << fieldname << " columns must equal max. no. of habitats (" << maxNhab - << ") and be sequentially numbered starting from 1"; - break; - case 444: - Rcpp::Rcout << "No. of " << fieldname << " columns must be one fewer than no. of stages, i.e. " << stages - 1 - << ", and be sequentially numbered starting from 1"; - break; - case 555: - Rcpp::Rcout << "No. of " << fieldname << " columns must equal no. of stages, i.e. " << stages - << ", and be sequentially numbered starting from 0"; - break; - case 666: - Rcpp::Rcout << fieldname << " must be a unique positive integer"; - break; - default: - Rcpp::Rcout << "*** Unspecified error regarding parameter " << fieldname; - } - if(option != 0) - Rcpp::Rcout << endl; -} - -void BatchErrorR(string filename,int line,int option,string fieldname,string fieldname2) -{ - if (line == -999) { // message does not cite line number - Rcpp::Rcout << "*** Error in " << filename << ": "; - } else { - Rcpp::Rcout << "*** Error in " << filename << " at line " << line <<": "; - } - switch (option) { - case 0: - break; - case 1: - Rcpp::Rcout << fieldname << " must be greater than " << fieldname2; - break; - case 2: - Rcpp::Rcout << fieldname << " must be greater than or equal to " << fieldname2; - break; - case 3: - Rcpp::Rcout << fieldname << " must be less than or equal to " << fieldname2; - break; - case 4: - Rcpp::Rcout << fieldname << " must be less than " << fieldname2; - break; - default: - Rcpp::Rcout << "*** Unspecified error regarding parameters " << fieldname - << " and " << fieldname2; - ; - } - if (option != 0) Rcpp::Rcout << endl; -} - -void ArchFormatErrorR(void) -{ -//batchlog << "*** Format error in ArchFile: case-sensitive parameter names " -// << "must match the specification exactly" << endl; - Rcpp::Rcout << "*** Format error in ArchFile:" << msgcase << msgmatch << endl; -} - -void FormatErrorR(string filename, int errors) -{ - Rcpp::Rcout << "*** Format error in header line of "; - if(errors == 0) { - Rcpp::Rcout << filename << endl; - } else { - Rcpp::Rcout << filename << ": " << errors << " error"; - if(errors > 1) - Rcpp::Rcout << "s"; - Rcpp::Rcout << " detected" << endl; - } -} - -void OpenErrorR(string ftype, string fname) -{ - Rcpp::Rcout << "*** Unable to open " << ftype << " " << fname << std::endl; -} - -void EOFerrorR(string filename) -{ - Rcpp::Rcout << "*** Did not read to EOF in " << filename << std::endl; -} - -void StreamErrorR(string filename) -{ - Rcpp::Rcout << "*** Corrupted file stream in " << filename << std::endl << "Too few entries? Unsuppoerted file encoding? (You might try to use a different one, like UTF-8.)" << std::endl; -#if RSDEBUG - DEBUGLOG << "Corrupted file stream in " << filename << std::endl; -#endif -} - -//--------------------------------------------------------------------------- - -// Dummy functions corresponding to those used in GUI version - -/* Batch mode of v2.0 currently has no facility to save maps (unless initiated from GUI). - */ - -const string Int2Str(const int x) -{ - ostringstream o; - if(!(o << x)) - return "ERROR"; - return o.str(); -} -const string Int2Str(const int x, unsigned int width) -{ - ostringstream o; - if(!(o << std::setfill('0') << std::setw(width) << x)) - return "ERROR"; - return o.str(); -} -const string Float2Str(const float x) -{ - ostringstream o; - if(!(o << x)) - return "ERROR"; - return o.str(); -} -const string Double2Str(const double x) -{ - ostringstream o; - if(!(o << x)) - return "ERROR"; - return o.str(); -} - -void MemoLine(string msg) -{ - // dummy function for batch version -} - -#if RSDEBUG -void DebugGUI(string msg) -{ - // dummy function for batch version -} -#endif - -traitCanvas SetupTraitCanvas(void) -{ - traitCanvas tcanv; - for(int i = 0; i < NTRAITS; i++) { - tcanv.pcanvas[i] = 0; - } - return tcanv; -} - -void Landscape::setLandMap(void) -{ -} -void Landscape::drawLandscape(int rep, int yr, int landnum) -{ -} -void Community::viewOccSuit(int year, double mn, double se) -{ -} -void Community::draw(int rep, int yr, int gen, int landNum) -{ -} - -//--------------------------------------------------------------------------- -//--------------------------------------------------------------------------- -//--------------------------------------------------------------------------- diff --git a/RangeShiftR/src/Rinterface.h b/RangeShiftR/src/Rinterface.h deleted file mode 100644 index 4537937..0000000 --- a/RangeShiftR/src/Rinterface.h +++ /dev/null @@ -1,172 +0,0 @@ -/*---------------------------------------------------------------------------- - * - * Copyright (C) 2020 Anne-Kathleen Malchow, Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Damaris Zurell - * - * This file is part of RangeShiftR. - * - * RangeShiftR is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * RangeShifter is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with RangeShiftR. If not, see . - * - --------------------------------------------------------------------------*/ - - -/*------------------------------------------------------------------------------ - -RangeShifter v2.0 Rinterface - -Implements the interface to the R-package RangeshiftR. - -Author: Anne-Kathleen Malchow, Humboldt University Berlin - large parts modified from 'Main.cpp' and 'BatchMode.cpp' created by - Steve Palmer, University of Aberdeen - -------------------------------------------------------------------------------*/ - -#ifndef RinterfaceH -#define RinterfaceH - -//--------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if !RSWIN64 -#include -#endif -#include - -using namespace std; - -#include "Version.h" -#include "Parameters.h" -#include "Landscape.h" -#include "Species.h" -#include "SubCommunity.h" -#include "RSrandom.h" -#if RANDOMCHECK -#include "RandomCheck.h" -#endif -#include "Model.h" - - -//--------------------------------------------------------------------------- - - -//Rcpp::List run_from_R(Rcpp::S4, Rcpp::String); // entry functions from R -//Rcpp::List BatchMainFile(string, Rcpp::S4); // missing dependend functions for file reading/parsing, from BatchMode.h/.cpp -Rcpp::List BatchMainR(std::string, Rcpp::S4); - -bool ReadLandParamsR(Landscape*, Rcpp::S4); -int ReadDynLandR(Landscape*, Rcpp::S4); -int ReadParametersR(Landscape*, Rcpp::S4); -int ReadStageStructureR(Rcpp::S4); -int ReadEmigrationR(Rcpp::S4); -int ReadTransferR(Landscape*, Rcpp::S4); -int ReadSettlementR(Rcpp::S4); -int ReadInitialisationR(Landscape*, Rcpp::S4); -int ReadGeneticsR(Rcpp::S4); - -int ParseInitIndsFileR(wifstream&); -#if RS_THREADSAFE -int ReadInitIndsFileR(int,Landscape*,Rcpp::DataFrame); -#endif -int ReadInitIndsFileR(int,Landscape*); - -int ReadArchFileR(wifstream&); - -Rcpp::List RunBatchR(int, int, Rcpp::S4); -void setglobalvarsR(Rcpp::S4); - - -//--------------------------------------------------------------------------- - -#if !RSWIN64 -string check_bom(string); // check BOM of a text file for UTF-16 encoding -#endif -rasterdata ParseRasterHead(string); //parse, read and return ASCII raster head data - -void BatchErrorR(string,int,int,string); -void BatchErrorR(string,int,int,string,string); - -//void CtrlFormatError(void); -//void ArchFormatError(void); -#if VIRTUALECOLOGIST -//void SampleFormatError(void); -#endif // VIRTUALECOLOGIST -void FormatErrorR(string,int); -void OpenErrorR(string,string); -void EOFerrorR(string); -void StreamErrorR(string); -void ArchFormatErrorR(void); -//void FileOK(string,int,int); -//void FileHeadersOK(string); -//void SimulnCountError(string); - - - -//--------------------------------------------------------------------------- - -// Dummy functions corresponding to those used in GUI version - -/* Batch mode of v2.0 currently has no facility to save maps (unless initiated from GUI). -*/ - - // already declared in Parametrers.h: -//const string Int2Str(const int); -//const string Int2Str(const int, unsigned int); -//const string Float2Str(const float); -//const string Double2Str(const double); -void MemoLine(string); -#if RSDEBUG -void DebugGUI(string); -#endif - -traitCanvas SetupTraitCanvas(void); - - -//--------------------------------------------------------------------------- - -// external pointers - -#if RSDEBUG -extern ofstream DEBUGLOG; -#endif - -extern paramGrad *paramsGrad; -extern paramStoch *paramsStoch; -extern paramInit *paramsInit; -extern paramSim *paramsSim; - -extern Species *pSpecies; -extern string costmapname; // see FormMove.cpp (VCL) OR Main.cpp (batch) -extern string genfilename; // see FormGenetics.cpp (VCL) OR Main.cpp (batch) -#if VIRTUALECOLOGIST -extern string locfilename; // see FormVirtEcol.cpp (VCL) OR Main.cpp (batch) -extern string patchfilename; // see [NOT YET CODED FOR GUI] (VCL) OR Main.cpp (batch) -#endif // VIRTUALECOLOGIST -#if TEMPMORT -extern string mortfilename; // see [NOT YET CODED FOR GUI] (VCL) OR Main.cpp (batch) -#endif // TEMPMORT -#if !CLUSTER || RS_RCPP -extern std::uint32_t RS_random_seed; // see RSrandom.cpp -#endif // !CLUSTER || RS_RCPP - -//--------------------------------------------------------------------------- -#endif From 6a54e03204b178dd34d4094f656f60907297cc69 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Fri, 24 Jun 2022 13:05:03 +0200 Subject: [PATCH 30/35] adaptions for compiling --- Model.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Model.h b/Model.h index 2fd1b48..64e9081 100644 --- a/Model.h +++ b/Model.h @@ -77,7 +77,7 @@ using namespace std::filesystem; #include "Control.h" #endif // RS_CONTAIN #if RS_THREADSAFE -#include "Rinterface.h" +#include "../Rinterface.h" #endif // RS_THREADSAFE #if RSDEBUG From 05c0f7b61f0103affac12592359b85cb8f064258 Mon Sep 17 00:00:00 2001 From: JetteReeg <47744741+JetteReeg@users.noreply.github.com> Date: Thu, 28 Sep 2023 15:44:44 +0200 Subject: [PATCH 31/35] Update Parameters.h Adapted path for Version.h file --- Parameters.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Parameters.h b/Parameters.h index 0b26038..98b8e4b 100644 --- a/Parameters.h +++ b/Parameters.h @@ -34,9 +34,9 @@ paramStoch - Environmental stochasticity parameters Also declares some structures and functions used throughout the program. For full details of RangeShifter, please see: -Bocedi G., Palmer S.C.F., Pe’er G., Heikkinen R.K., Matsinos Y.G., Watts K. +Bocedi G., Palmer S.C.F., Pe’er G., Heikkinen R.K., Matsinos Y.G., Watts K. and Travis J.M.J. (2014). RangeShifter: a platform for modelling spatial -eco-evolutionary dynamics and species’ responses to environmental changes. +eco-evolutionary dynamics and species’ responses to environmental changes. Methods in Ecology and Evolution, 5, 388-396. doi: 10.1111/2041-210X.12162 Authors: Greta Bocedi & Steve Palmer, University of Aberdeen @@ -61,7 +61,7 @@ Last updated: 25 June 2021 by Steve Palmer #include using namespace std; -#include "Version.h" +#include "../Version.h" #include "RSrandom.h" #define NSTAGES 10 // maximum number of stages permitted From 4771e483a19516d777f9e02de22c29859e859a68 Mon Sep 17 00:00:00 2001 From: JetteReeg <47744741+JetteReeg@users.noreply.github.com> Date: Thu, 28 Sep 2023 17:01:27 +0200 Subject: [PATCH 32/35] updating paths for Version.h file --- Community.cpp | 25 ++++++++++++++----------- Community.h | 2 +- Landscape.h | 2 +- Model.h | 2 +- Patch.h | 2 +- RSrandom.h | 2 +- RandomCheck.h | 2 +- Species.cpp | 12 ++++++++++++ Species.h | 5 ++++- SubCommunity.h | 2 +- 10 files changed, 37 insertions(+), 19 deletions(-) diff --git a/Community.cpp b/Community.cpp index 083cb1e..27ba71d 100644 --- a/Community.cpp +++ b/Community.cpp @@ -2663,19 +2663,22 @@ Rcpp::IntegerMatrix Community::addYearToPopList(int rep, int yr) { // TODO: def pop_map_year(ppLand.dimY-1-y,x) = NA_INTEGER; } else { patch = pCell->getPatch(); - if (patch == 0) { // matrix cell - pop_map_year(ppLand.dimY-1-y,x) = 0; - } - else{ + if (patch != 0) { pPatch = (Patch*)patch; - subcomm = pPatch->getSubComm(); - if (subcomm == 0) { // check if sub-community exists + if (pPatch->getSeqNum() == 0) { // cell in matrix patch pop_map_year(ppLand.dimY-1-y,x) = 0; - } else { - pSubComm = (SubCommunity*)subcomm; - pop = pSubComm->getPopStats(); - //pop_map_year(ppLand.dimY-1-y,x) = pop.nInds; // use indices like this because matrix gets transposed upon casting it into a raster on R-level - pop_map_year(ppLand.dimY-1-y,x) = pop.nAdults; + } + else{ + pPatch = (Patch*)patch; + subcomm = pPatch->getSubComm(); + if (subcomm == 0) { // check if sub-community exists + pop_map_year(ppLand.dimY-1-y,x) = 0; + } else { + pSubComm = (SubCommunity*)subcomm; + pop = pSubComm->getPopStats(); + pop_map_year(ppLand.dimY-1-y,x) = pop.nInds; // use indices like this because matrix gets transposed upon casting it into a raster on R-level + //pop_map_year(ppLand.dimY-1-y,x) = pop.nAdults; + } } } } diff --git a/Community.h b/Community.h index 67ab9d8..6931ae7 100644 --- a/Community.h +++ b/Community.h @@ -58,7 +58,7 @@ Last updated: 25 June 2021 by Anne-Kathleen Malchow #include using namespace std; -#include "Version.h" +#include "../Version.h" #include "SubCommunity.h" #include "Landscape.h" #include "Patch.h" diff --git a/Landscape.h b/Landscape.h index 00f8006..dc943a8 100644 --- a/Landscape.h +++ b/Landscape.h @@ -71,7 +71,7 @@ Last updated: 28 July 2021 by Greta Bocedi #ifndef LandscapeH #define LandscapeH -#include "Version.h" +#include "../Version.h" #include #include diff --git a/Model.h b/Model.h index 64e9081..9fd0c25 100644 --- a/Model.h +++ b/Model.h @@ -52,7 +52,7 @@ Last updated: 28 July 2021 by Greta Bocedi #include #endif // RS_RCPP -#include "Version.h" +#include "../Version.h" #include "Parameters.h" #include "Landscape.h" #include "Community.h" diff --git a/Patch.h b/Patch.h index a09d959..36aeaff 100644 --- a/Patch.h +++ b/Patch.h @@ -68,7 +68,7 @@ Last updated: 25 June 2021 by Steve Palmer #include using namespace std; -#include "Version.h" +#include "../Version.h" #include "Parameters.h" #include "Cell.h" #include "Species.h" diff --git a/RSrandom.h b/RSrandom.h index ad292e6..ae5eaa4 100644 --- a/RSrandom.h +++ b/RSrandom.h @@ -40,7 +40,7 @@ Last updated: 12 January 2021 by Steve Palmer #include //#include -#include "Version.h" +#include "../Version.h" using namespace std; diff --git a/RandomCheck.h b/RandomCheck.h index 7cb00c9..243cb6b 100644 --- a/RandomCheck.h +++ b/RandomCheck.h @@ -28,7 +28,7 @@ #include using namespace std; -#include "Version.h" +#include "../Version.h" #include "Parameters.h" #include "RSrandom.h" diff --git a/Species.cpp b/Species.cpp index dd1244a..8595473 100644 --- a/Species.cpp +++ b/Species.cpp @@ -739,6 +739,18 @@ else return 0.0; #endif // RS_CONTAIN #if SPATIALDEMOG +void Species::setFecSpatial(bool spat) { + fecSpatial = spat; +} + +void Species::setDevSpatial(bool spat) { + devSpatial = spat; +} + +void Species::setSurvSpatial(bool spat) { + survSpatial = spat; +} + void Species::setFecLayer(short stg,short sex,short l) { if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES && l >= 0) fecLayer[stg][sex] = l; diff --git a/Species.h b/Species.h index 02069ef..547dbb5 100644 --- a/Species.h +++ b/Species.h @@ -49,7 +49,7 @@ Last updated: 28 July 2021 by Greta Bocedi #include #endif -#include "Version.h" +#include "../Version.h" #include "Parameters.h" #if SEASONAL @@ -485,8 +485,11 @@ class Species { #endif // RS_CONTAIN #if SPATIALDEMOG + void setFecSpatial(bool); bool getFecSpatial(void){return fecSpatial;}; + void setDevSpatial(bool); bool getDevSpatial(void){return devSpatial;}; + void setSurvSpatial(bool); bool getSurvSpatial(void){return survSpatial;}; void setFecLayer( // set the layer of the spatial demographic scaling used for fecundity short, // stage diff --git a/SubCommunity.h b/SubCommunity.h index b483f5a..bc451c3 100644 --- a/SubCommunity.h +++ b/SubCommunity.h @@ -54,7 +54,7 @@ Last updated: 25 June 2021 by Greta Bocedi #include using namespace std; -#include "Version.h" +#include "../Version.h" #include "Parameters.h" #include "Landscape.h" #include "Population.h" From 3c04ec40151b60c2a6fc843538ac08d569127e2a Mon Sep 17 00:00:00 2001 From: JetteReeg <47744741+JetteReeg@users.noreply.github.com> Date: Fri, 29 Sep 2023 11:43:43 +0200 Subject: [PATCH 33/35] remove Version.cpp and Version.h as files moved one level higher --- Version.cpp | 35 ------------------------------ Version.h | 61 ----------------------------------------------------- 2 files changed, 96 deletions(-) delete mode 100644 Version.cpp delete mode 100644 Version.h diff --git a/Version.cpp b/Version.cpp deleted file mode 100644 index febcff8..0000000 --- a/Version.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/*---------------------------------------------------------------------------- - * - * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell - * - * This file is part of RangeShifter. - * - * RangeShifter is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * RangeShifter is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with RangeShifter. If not, see . - * - --------------------------------------------------------------------------*/ - - -//--------------------------------------------------------------------------- -#if RS_EMBARCADERO -#pragma hdrstop -#endif - -#include "Version.h" - -#if RS_EMBARCADERO -#pragma package(smart_init) -#endif -//--------------------------------------------------------------------------- - - \ No newline at end of file diff --git a/Version.h b/Version.h deleted file mode 100644 index d35424d..0000000 --- a/Version.h +++ /dev/null @@ -1,61 +0,0 @@ -/*---------------------------------------------------------------------------- - * - * Copyright (C) 2020 Greta Bocedi, Stephen C.F. Palmer, Justin M.J. Travis, Anne-Kathleen Malchow, Damaris Zurell - * - * This file is part of RangeShifter. - * - * RangeShifter is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * RangeShifter is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with RangeShifter. If not, see . - * - --------------------------------------------------------------------------*/ - -//Last updated: 26 November 2020 by Greta Bocedi - -//--------------------------------------------------------------------------- - -#ifndef VersionH -#define VersionH - -#define RSDEBUG 0 - -#define LINUX_CLUSTER 0 -//#define RSWIN64 0 - -#define RANDOMCHECK 0 - -#define BATCH 1 -#define VCL 0 - -#define RS_RCPP 1 -//#define R_CMD 0 - -#define RS_EMBARCADERO 0 - -//--------------------------------------------------------------------------- - -#define RS_THREADSAFE 1 - -#define SPATIALDEMOG 1 - - #if SPATIALDEMOG - #define RS_THREADSAFE 1 - #endif // SPATIALDEMOG - #if RS_THREADSAFE - #define RS_RCPP 1 - #define RSDEBUG 0 - #endif // RS_THREADSAFE - -//--------------------------------------------------------------------------- - - -#endif From 33e498b0f6a84db47c036574a0d8813fc43a1fe3 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Fri, 16 Feb 2024 08:07:55 +0100 Subject: [PATCH 34/35] potential bugfix: MinSteps and MaxSteps now stage and sex dependent --- Model.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++--------- Species.cpp | 28 +++++++++++++++------------ Species.h | 4 ++-- 3 files changed, 65 insertions(+), 23 deletions(-) diff --git a/Model.cpp b/Model.cpp index 8a70924..c3c1cb8 100644 --- a/Model.cpp +++ b/Model.cpp @@ -3246,12 +3246,12 @@ outPar << endl << "DISPERSAL - SETTLEMENT:" << endl; if (trfr.moveModel) { string plusmating = "+ mating requirements"; - ssteps = pSpecies->getSteps(0,0); - - outPar << "MIN. No. OF STEPS:\t " << ssteps.minSteps << endl; - outPar << "MAX. No. OF STEPS:\t "; - if (ssteps.maxSteps == 99999999) outPar << "not applied" << endl; - else outPar << ssteps.maxSteps << endl; + // ssteps = pSpecies->getSteps(0, 0); + // + // outPar << "MIN. No. OF STEPS:\t " << ssteps.minSteps << endl; + // outPar << "MAX. No. OF STEPS:\t "; + // if (ssteps.maxSteps == 99999999) outPar << "not applied" << endl; + // else outPar << ssteps.maxSteps << endl; if (sett.sexDep) { nsexes = 2; @@ -3259,22 +3259,60 @@ if (trfr.moveModel) { if (sett.stgDep) { nstages = sstruct.nStages; outPar << stgdept << "yes" << endl; - } + for (int i = 0; i < nstages; i++) { + if (dem.stageStruct && nstages > 1) outPar << "stage " << i << ": " << endl; + for (int sx = 0; sx < nsexes; sx++) { + if (sx == 0) outPar << "FEMALES:" << endl; + else outPar << "MALES:" << endl; + ssteps = pSpecies->getSteps(i, sx); + + outPar << "MIN. No. OF STEPS:\t " << ssteps.minSteps << endl; + outPar << "MAX. No. OF STEPS:\t "; + if (ssteps.maxSteps == 99999999) outPar << "not applied" << endl; + else outPar << ssteps.maxSteps << endl + } + } + } else { // !sett.stgDep nstages = 1; outPar << stgdept << "no" << endl; + for (int sx = 0; sx < nsexes; sx++) { + if (sx == 0) outPar << "FEMALES:" << endl; + else outPar << "MALES:" << endl; + ssteps = pSpecies->getSteps(0, sx); + + outPar << "MIN. No. OF STEPS:\t " << ssteps.minSteps << endl; + outPar << "MAX. No. OF STEPS:\t "; + if (ssteps.maxSteps == 99999999) outPar << "not applied" << endl; + else outPar << ssteps.maxSteps << endl; + } + } } - } else { // !sett.sexDep nsexes = 1; outPar << sexdept << "no" << endl; if (sett.stgDep) { nstages = sstruct.nStages; outPar << stgdept << "yes" << endl; - } + for (int i = 0; i < nstages; i++) { + if (dem.stageStruct && nstages > 1) outPar << "stage " << i << ": " << endl; + ssteps = pSpecies->getSteps(i, 0); + + outPar << "MIN. No. OF STEPS:\t " << ssteps.minSteps << endl; + outPar << "MAX. No. OF STEPS:\t "; + if (ssteps.maxSteps == 99999999) outPar << "not applied" << endl; + else outPar << ssteps.maxSteps << endl; + } + } else { // !sett.stgDep nstages = 1; outPar << stgdept << "no" << endl; + ssteps = pSpecies->getSteps(0, 0); + + outPar << "MIN. No. OF STEPS:\t " << ssteps.minSteps << endl; + outPar << "MAX. No. OF STEPS:\t "; + if (ssteps.maxSteps == 99999999) outPar << "not applied" << endl; + else outPar << ssteps.maxSteps << endl; } } for (int sx = 0; sx < nsexes; sx++) { diff --git a/Species.cpp b/Species.cpp index 8595473..109ce43 100644 --- a/Species.cpp +++ b/Species.cpp @@ -206,11 +206,11 @@ for (int i = 0; i < NSTAGES; i++) hr[i] = 1.0; // initialise settlement parameters stgDepSett = false; sexDepSett = false; indVarSett = false; -minSteps = 0; maxSteps = 99999999; + for (int i = 0; i < NSTAGES; i++) { for (int j = 0; j < NSEXES; j++) { densDepSett[i][j] = false; wait[i][j] = false; go2nbrLocn[i][j] = false; findMate[i][j] = false; - maxStepsYr[i][j] = 99999999; + maxStepsYr[i][j] = 99999999; minSteps[i][j] = 0; maxSteps[i][j] = 99999999; s0[i][j] = 1.0; alphaS[i][j] = 0.0; betaS[i][j] = 1.0; } } @@ -2205,24 +2205,28 @@ return s; } void Species::setSteps(const short stg,const short sex,const settleSteps s) { -if (stg == 0 && sex == 0) { - if (s.minSteps >= 0) minSteps = s.minSteps; - else minSteps = 0; - if (s.maxSteps >= 1) maxSteps = s.maxSteps; - else maxSteps = 99999999; -} if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) { if (s.maxStepsYr >= 1) maxStepsYr[stg][sex] = s.maxStepsYr; else maxStepsYr[stg][sex] = 99999999; + if (s.minSteps >= 0) minSteps[stg][sex] = s.minSteps; + else minSteps[stg][sex] = 0; + if (s.maxSteps >= 1) maxSteps[stg][sex] = s.maxSteps; + else maxSteps[stg][sex] = 99999999; } } settleSteps Species::getSteps(short stg,short sex) { settleSteps s; -s.minSteps = minSteps; -s.maxSteps = maxSteps; -if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) s.maxStepsYr = maxStepsYr[stg][sex]; -else s.maxStepsYr = 99999999; + if (stg >= 0 && stg < NSTAGES && sex >= 0 && sex < NSEXES) { + s.maxStepsYr = maxStepsYr[stg][sex]; + s.minSteps = minSteps[stg][sex]; + s.maxSteps = maxSteps[stg][sex]; + } + else { + s.maxStepsYr = 99999999; + s.minSteps = 0; + s.maxSteps = 99999999; + } return s; } diff --git a/Species.h b/Species.h index 547dbb5..5815b28 100644 --- a/Species.h +++ b/Species.h @@ -1144,8 +1144,8 @@ class Species { bool wait[NSTAGES][NSEXES]; // wait to continue moving next season (stage-structured model only) bool go2nbrLocn[NSTAGES][NSEXES]; // settle in neighbouring cell/patch if available (ditto) bool findMate[NSTAGES][NSEXES]; - int minSteps; // minimum no. of steps - int maxSteps; // maximum total no. of steps + int minSteps[NSTAGES][NSEXES]; // minimum no. of steps + int maxSteps[NSTAGES][NSEXES]; // maximum total no. of steps int maxStepsYr[NSTAGES][NSEXES]; // maximum no. of steps in any one dispersal period float s0[NSTAGES][NSEXES]; // maximum settlement probability float alphaS[NSTAGES][NSEXES]; // slope of the settlement reaction norm to density From 183920a27bd6a99631ba6a72c87e2e55fa5343f4 Mon Sep 17 00:00:00 2001 From: Jette Reeg Date: Wed, 24 Jul 2024 09:07:18 +0200 Subject: [PATCH 35/35] added missing semicolon --- Model.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Model.cpp b/Model.cpp index c3c1cb8..576dafc 100644 --- a/Model.cpp +++ b/Model.cpp @@ -3269,7 +3269,7 @@ if (trfr.moveModel) { outPar << "MIN. No. OF STEPS:\t " << ssteps.minSteps << endl; outPar << "MAX. No. OF STEPS:\t "; if (ssteps.maxSteps == 99999999) outPar << "not applied" << endl; - else outPar << ssteps.maxSteps << endl + else outPar << ssteps.maxSteps << endl; } } }