The model description follows the ODD (Overview, Design concepts, Details) protocol for describing individual- and agent-based models (Grimm et al. 2006), as updated by Grimm et al. (2020).
abmAME.kaza-ele.The proximate purpose of this model is to accurately predict changes in African savanna elephant (Loxodonta africana) movement patterns after the decommissioning (i.e., partial or full removal) of veterinary fences. Veterinary fences, built to mitigate livestock disease risk, heavily restrict wildlife movements in southern Africa; the ultimate purpose of this work is to facilitate policymakers’ decisions to decommission fences by providing insight on savanna elephant movement changes pre- and post-decommissioning.
We aim to replicate four patterns seen in location data from savanna elephants fitted with GPS-enabled collars, 42 in Namibia and XX in Botswana. These patterns can be divided into two spatial patterns and two temporal patterns. These patterns are represented in Figure Xa and b, respectively. TBD: These figures have yet to be made!
Figure 1. Linear feature crossing rates figure and table. (left) A chart of crossing rates for three barrier types for males and females. (right) Table elements are the proportion (%) of time that a barrier was crossed when an elephant came within 1km of that barrier. Rates are given by feature type and elephant sex, with values adapted from Naidoo et al 2022.
Model entities are individual agents (African savanna elephant L. africana); linear features (rivers, roads, fences); point features (natural waterholes and artificial waterholes); and raster features (burn time, distance from human settlement, habitat type, vegetation index, distance from water). Physical characteristics of the agents, linear and point features are static in time, but raster features may change temporally.
| Entity | Description |
|---|---|
| Elephant | African savanna elephant are the focus of our model. |
| Environment | The physical landscape perceived by the agent. |
| Barrier | Elephant often encounter linear features on the landscape which must be treated separately from environmental grid cells. |
| Waterhole | Elephant drink daily, and so often rely on artificial waterholes across the landscape in Khaudum National Park. |
| Step Parameters | Step selection is determined by four hyperparameters (two for step length, two for turning angle), which are selected based on the time of year and agent activity state and sex. |
| Entity | Attribute | Description | Values And Type | Spatial Scale | Temporal Scale |
|---|---|---|---|---|---|
| Elephant | Sex | Sex of elephant, which also indirectly indicates group status (solitary male or female in herds with juveniles) | categorical [“male”, “female”] | Static | |
| Activity State | Current activity state of the elephant. This state is randomly selected and defined using a Hidden Markov Model. | categorical [“resting”, “foraging”, “exploring”] | Hourly | ||
| Location | Current location of the elephant. | lon-lat | Hourly | ||
| Step Options List | A set of \(q\) possible next steps for the elephant to take, as well as environmental weights. | a \(q\)-length list of lon-lat and weights (0,1) | Hourly | ||
| Environment | Season | African savanna processes are highly dependent on season – during the wet season, rains flush the landscape and allow elephant to travel far from permanent water sources; during the dry season, elephant movements are restricted | categorical [“wet”, “dry”] | Seasonal | |
| Hour of day | GPS data points for elephant movement are given on the hourly scale, so our simulation models agent steps on an hourly scale | ordinal [1-24] | Hourly | ||
| Enhanced Vegetation Index | The Landsat EVI is an indicator of vegetative productivity on the landscape | numeric (-1.0, 1.0) | 30m | Monthly | |
| Fire incidence | MODIS Burned Area Product - whether pixel has burned in the past month. | binary TRUE/FALSE | 250m | Monthly | |
| Elevation | Elevation above sea level (USGS SRTM DEM) | numeric (0 – 3,000) meters | 30m | Static | |
| Landcover | KAZA Landcover 2021 (WWF based on Sentinel data) | categorical [“closed”, “open”, “sparse”] | 10m | Static | |
| Distance from human settlements | Distance from nearest pixel on World Settlement Footprint 2019 (based on Sentinel data) | numeric (0 – 7,500) meters | 10m | Static | |
| Distance from water | Distance from nearest water source (waterhole or river); this can change by season as waterholes fill up or dry out. | numeric (0 – 7,500) meters | 10m | Seasonal | |
| Barrier | Type | Several types of linear barriers influence elephant movement. | categorical [“fence”, “river”, “road”] | Static | |
| Permeability | The permeability of a barrier is determined by the barrier type and the sex of the agent encountering the barrier. A barrier with a permeability of 1 does not affect agent movement at all; a barrier of permeability 0 allows no movement. | numeric [0-1] (probability) | Static | ||
| Step Parameters | Hyperparameters | Hyperparameters (\(\mu_s\) and \(\sigma_s\) for step length; \(\mu_t\) and \(\kappa_t\) [concentration] for turning angle) are updated based on the agent’s current activity state. | numeric: \(\mu_s\) (0, 5000); \(\sigma_s\) (0, 5000); \(\mu_t\) (\(-2\pi\), \(2\pi\)); \(\kappa_t\) (0, 1) | Hourly | |
| Hyperparameter Options Table | A table of hyperparameter options (one set for each activity state) is updated by season, as elephant generally move differently in the wet season than the dry season. | a list of three sets of hyperparameters, one for each activity state | Seasonal |
Spatial and temporal scales are given in Table 3. The spatial extent of our model is the Kavango-Zambezi Transfrontier Conservation Area in central southern Africa. The temporal extent of our model is 2012-2022.
The processes in our ABM are executed on different temporal scales. The outer process (“Temporal Assignment Wrapper”) executes on a monthly basis, while the inner process (“Agent-Based Model”) executes on an hourly basis. The outer TAW chains together several inner ABM processes, updating the environment and step selection parameters before running each ABM. Within each ABM, a third process (“Step Drawing and Barrier Handling”) compares each possible next step against linear barriers and accepts or rejects possible barrier crossings based on each barrier’s permeability.
This wrapper schedule is executed once per “month”.
This main model schedule is executed once per “hour”.
This sub-model schedule is executed until \(q\) viable steps are selected, or until 5000 attempts are made.
The next few sections are under construction!
The TAW is the code governing the long-term trends of landscape change. Given the overall simulation time period as an input, the program compiles a list of spatial data for each of m months in the simulation. The initial position x0 of the agent is randomly selected on the landscape and fed into the ABS process (outlined below) for \(n\) iterations corresponding to the number of hours in the current month \(m\). Then, the output of \(ABS_{m}\) (simulated hourly movement data for the month \(m\)) is saved and the spatial raster data updated to the new month m+1. The final step of \(ABS_{m}\), \(x_m\), is used as the new \(x_0\) for \(ABS_{m+1}\). The TAW continues in this pattern until the entire simulation is run.
The ABS is the core functionality of this project, written in C++. For each iteration i of n total iterations, the program begins with a current location \(x_0\) and randomly selects a behavioral state \(s_i\). If the behavioral state has been updated (\(s_i\neq s_{i+1}\)), the agent selects a new long-term destination. The program then selects parameters to define the Gamma and von Mises distributions for step length and turning angle, respectively, based on the chosen behavioral state \(s_i\).
The program then randomly draws pairs of turning angles and step lengths from these distributions (based on \(s_i\)) using the SDBH process (outlined below) until the program reaches a user-supplied q number of viable pairs, or until 5000 attempts are made. Once all q pairs have been drawn (detailed in the sub-process below), the model then assigns a weight (\(w_j\)) to each pair based on the environmental raster supplied, the distance to the selected long-term destination, and distance from any supplied avoidance points. Finally, step \(x_i\) is selected randomly given these weights, and the program is run again for iteration \(i+1\), with location \(x_0=x_i\) as the starting point.
The SDBH is a sub-process used in the ABS to properly sample barrier crossings by agents based on each barrier’s permeability, \(p_b\), supplied by the user. This process is written in C++.
For each line \(j\) between the current location \(x_i\) and a potential new location \(x'_{i+1}\), the program checks whether line \(j\) will cross any linear barrier. If there is a potential crossing, for each barrier \(b\) (of those potentially crossed), a random number \(P_j\) is drawn and compared to the barrier’s inherent probability of crossing. If \(P_j > p_b\), the new location \(x'_{i+1}\) is rejected and a new one selected. This process continues until \(q\) viable pairs are selected, or until 5000 attempts are made.