DOI: 10.5061/dryad.ngf1vhj1t
title: Data from: navigating uncertainty: managing herbivore communities enhances savanna ecosystem resilience under climate change

description: Savannas are characterized by water scarcity and degradation, making them
 highly vulnerable to increased uncertainties in water availability
 resulting from climate change. This poses a significant threat to
 ecosystem services and rural livelihoods that depend on them. In addition,
 the lack of consensus among climate models on precipitation change makes
 it difficult for land managers to plan for the future. Therefore, savanna
 rangeland management needs to develop strategies that can sustain savanna
 resilience and avoid tipping points under an uncertain future climate. Our
 study aims to analyze the impacts of climate change and rangeland
 management on degradation in savanna ecosystems of southern Africa,
 providing insights for the management of semi-arid savannas under
 uncertain conditions worldwide. To achieve this, we simulated the effects
 of projected changes in temperature and precipitation, as predicted by ten
 global climate models, on water resources and vegetation (cover,
 functional diversity, tipping points (transition from grass-dominated to
 shrub-dominated vegetation)). We simulated three different rangeland
 management options (herbivore community dominated by grazers, by browser
 and by mixed-feeders), each with low and high animal densities using the
 ecohydrological model EcoHyD. Our results identified intensive grazing as
 the primary contributor to the increased risk of degradation in response
 to changing climatic conditions across all climate change scenarios. This
 degradation encompassed a reduction in available water for plant growth
 within the context of predicted climate change. It also entails a decline
 in the overall vegetation cover, the loss of functionally important plant
 species, and the inefficient utilization of available water resources,
 leading to earlier tipping points. Our findings underscore that in the
 face of climate uncertainty, farmers' most effective strategy for
 securing their livelihoods and ecosystem stability is to integrate
 browsers and apply management of mixed herbivore communities. This
 management approach not only significantly delays or averts tipping points
 but also maintained greater plant functional diversity, fostering a more
 robust and resilient ecosystem that acts as a vital buffer against adverse
 climatic conditions.
description: # Navigating Uncertainty: Managing Herbivore Communities Enhances Savanna
 Ecosystem Resilience under Climate Change
 In this paper, we employed
 an ecohydrological modeling approach to assess how diverse climate change
 projections and various rangeland management strategies influence the
 resilience of savanna ecosystems. # Content description and contact
 information This repository contains all R-scripts and respective model
 output data required to reproduce the methods, results and figures of the
 manuscript *Navigating Uncertainty: Managing Herbivore Communities
 Enhances Savanna Ecosystem Resilience under Climate Change* by Katja Irob,
 Niels Blaum and Britta Tietjen. For enhanced compatibility and to
 facilitate result and figure reproduction, we recommend utilising the
 R-project file labeled *Climate_resilience.Rproj* and the Rmarkdown script
 titled *Jappl_Navigating_Uncertainty.Rmd*. Rmarkdown scripts should be
 used to reproduce all figures and statistical procedures, along with the
 corresponding data in the "Data" folder. For any questions
 regarding content in this repository please contact Katja Irob. |
 Script | Description |
 |------------------------------------|------------------------------------| |Jappl_Navigating_Uncertainty.Rmd | Rmarkdown script to reproduce all results, figures and tables of the main manuscript as well as the appendix. All output can be retrieved locally within in the script or can be rendered together into one HTML output. | |Jappl_Navigating_Uncertainty.html | Html file containing all rendered figures and tables in interactive format of both the main manuscript and the appendix. | ## Folder /Analysis R scripts to process simulation output and to prepare climate input in a format that can be handled by the model. To replicate the results, please download the repository and execute the code using R, preferably in R-Studio. For any questions regarding the R-Scripts please contact Katja Irob. | Script | Description | |------------------------------------|------------------------------------| | Analyses/Prepare_climate_input.R | Script to bring raw climate data into hourly format for each climate model and climate change scenarios. Several visual and descriptive tests including to check for correct length and climate distribution. | | Analyses/data_summary.R | Script to bring vegetation yearly data into a concised and summarised data frame. | | Analyses/data_summary_daily.R | Script to bring hydrological daily data into a concised and summarised data frame. | ## Folder /Data This folder contains model output files for yearly output of grazing, mixed-feeding and browsing scenarios for the stocking rates 20 ha/LSU and 40 ha/LSU and 130 years simulation time for the ten climate models under two climate change scenarios. The *ctrl* scenarios refer to the simulation without projected climate change, partly based on historical data and modelled climate under current climatic conditions. The data presented in this folder have already been concised and summarised from the original data using the script */Analysis/data_summary.R* or *Analyses/data_summary_daily.R*. The files contain the complete model output and are condensed to the variables of interest using the R scripts in */Analyses*. Only the output variables used in for the analysis in this study are explained below. NA values indicate undefined data points arising from either 1) boundary conditions, where the model lacks information or cannot generate a valid output, or 2) extreme conditions, where simulations involve unforeseen scenarios beyond the model's explicit design, leading to the presence of NAs. | File | Description | |------------------------------------|------------------------------------| | Hydro_CC_ssp585_370_10mods_1970-2100_daily.csv | EcoHyD daily simulation output for 130 years based on environmental conditions at Etosha Heights, Namibia. <br> **year**: year from 1970-2099 <br> **day**: day from 0 - 364 <br> **scenario**: refers to land use type (Grazing, Mixed, Browsing) and intensity (low, high [ha/LSU]) <br> **model**: name of climate model [-] <br> **CCScen**: name of climate scenario (SSP370 and SSP585) [-] <br> **Rain**: Daily rain sum [mm] <br> **Temperature**: Daily temperature [°C] <br> **ML1**: Soil moisture in upper soil layer [Vol] <br> **ML2**: Soil moisture in lower soil layer [Vol] <br> **MeanTranspirationL1**: Plant transpiration in upper soil layer <br> **meanEP**: Soil evaporation | | PFTcoverall_1970-2100_CCs_10mod.csv | EcoHyD yearly simulation output for 130 years based on environmental conditions at Etosha Heights, Namibia. <br> **year**: year from 1970-2099 <br> **scenario**: refers to land use type (Grazing, Mixed, Browsing) and intensity (low, high [ha/LSU]) <br> **model**: name of climate model [-] <br> **CCScen**: name of climate scenario (SSP370 and SSP585) [-] <br> **browse/graze_deficit_per_ha**: amount of biomass of woody/grass vegetation still needed to fulfill the annual fodder demand of the herbivore community [kg/ha] <br> **modelrep**: number of model repetition [1] <br> **ML1**: Soil moisture in layer one (upper) [Vol%] <br> **ML2**: Soil moisture in layer two (lower) [Vol%] <br> **AnnualRain**: Annual precipitation sum [mm] <br> **Annualevaporation**: Annual soil evaporation amount [Vol%] <br> **AnnualtranspirationL1**: Annual transpiration amount in upper soil layer [Vol%] <br> **AnnualtranspirationL2**: Annual transpiration amount in lower soil layer [Vol%] <br> **PFT**: name of sub-PFT (annuals, perennials, shrub) [-] <br> **cover**: mean yearly vegetation cover of each sub-PFT [%] <br> **type**: plant functional type [-] <br> **intensity**: land use intensity (low, high) [-] <br> **landuse**: Type of land use by herbivores (grazing, mixed, browsing) [-] | | trait_matrix_CC_resilience.txt | Matrix with values for each trait (column names) for each PFT (row names) [-] | | ClimFiles/EH_85years\_*ClimModelName*\_/*climScen*.txt | Processed climate files at hourly resolution in Year, Month, Day, Hour format starting from the modelled time series in 2015. <br> **Rain**: hourly precipitation amount [kg m-2 s-1] <br> **Temp**: hourly temperature [°C] | ### Folder /ClimFiles/ISIMIP3b_Kunene_KatjaIrob/ This directory comprises ten subfolders, each dedicated to a specific climate model. Within each folder, you will find bias-corrected raw daily data for precipitation (pr) and temperature (ta) across three climate change scenarios (ssp126, ssp370, ssp585), along with historical data. # Folder /Model Model source files can be found in */Source*. To reproduce examples, download repository and keep folder structure. Output files are stored in */Results*. | File | Description | |------------|--------------------------------------------------| | compile.sh | Example bash script to compile and run the model | ## Folder /Parameters | File | Description | |------------------------------------|------------------------------------| | elevation_30_EH.txt | Digital elevation map in 30 by 30 grid based on study site at Etosha Heights. [m] | | modelparameters_control.txt | General configuration parameters for model EcoHyD. <br> **Site**: name of site [-] <br> **Latitude**: latitude of the site [°S] <br> **simYears**: total simulation time [years] <br> **xsize**: x length of the grid (number of x-cells) [-] <br> **ysize**: y length of the grid (number of y-cells) [-] <br> **cellsize**: size of a single cell [m] <br> **vegTimeStep**: number of days after which vegetation is updated [days] | | modelscenarios.txt | Scenarios, climate repetitions and repetitions are determined here. Input files will be chosen and output files will be coded based on IDs and repetitions you indicate here | | soilparameters_EH.txt | Soil parameters for loamy sand, calibrated for Etosha Heights | | vegetationparameters\_*ScenarioName*.txt | General vegetation parameters and specific parameters for the PFTs shrubs, perennial and annual grasses. Sub-types are generated here | ## Folder /EcoHyD | File | Description | |------------------------------------|------------------------------------| | Annual.cpp | Unique declarations and processes for annual grasses (growth, mortaility, etc.) | | Annual.h | Contains functions and declarations #included in Annual.cpp | | Grass.cpp | Unique declarations and processes for all grasses | | Grass.h | Contains functions and declarations #included in Grass.cpp | | Parameters.cpp | Parameter object is responsible for communication between objects | | Parameters.h | Contains general model parameters | | Perennial.cpp | Unique declarations and processes for perennial grasses (growth, available moisture, mortality) | | Perennial.h | Contains functions and declarations #included in Perennial.cpp | | PlantFunctionalType.cpp | Methods defined here are universal for all plant functional types | | PlantFunctionalType.h | Contains functions and declarations #included in PlantFunctionalType.cpp | | RandomNumberGenerator.cpp | Functions to generate random numbers (set seed, random integers/floats for different distributions) | | RandomNumberGenerator.h | Contains functions and declarations #included in RandomNumberGenerator.cpp | | Shrub.cpp | Methods defined here are unique to all shrubs (available moisture, growth, mortality, etc) | | Shrub.h | Contains functions and declarations #included in Shrub.cpp | | SortedList.cpp | Methods to create neat lists | | SortedList.h | Contains functions and declarations #included in SortedList.cpp | | VegetationCell.cpp | Describes vegetation dynamics in one grid cell | | VegetationCell.h | Contains functions and declarations #included in VegetationCell.cpp | | VegetationLandscape.cpp | Main vegetation processes (growth, mortality, dispersal, herbivory, ...) and generation of yearly output file | | VegetationLandscape.h | Contains functions and declarations #included in VegetationLandscape.cpp | | WaterCell.cpp | Feedbacks between water and vegetation (infiltration, runoff, evaporation, transpiration), promoted by vegetation, further dependent on unique soil texture | | WaterCell.h | Contains functions and declarations #included in WaterCell.cpp | | WaterLandscape.cpp | Calculation of all hydrological processes and generation of hourly output file | | WaterLandscape.h | Contains functions and declarations #included in WaterLandscape.cpp | | Weather.cpp | Describes all functions related to climate | | Weather.h | Contains functions and declarations #included in Weather.cpp | | Woody.cpp | Methods defined here are unique for all woody plants | | Woody.h | Contains functions and declarations #included in Woody.cpp | | controller.cpp | This file contains the main routine to start the simulation. Objects are constructed, the communication between objects is handled | | controller.h | Contains functions and declarations #included in controller.cpp | ## Folder /Weather Climate input data for EcoHyD. Precipitation and temperature time series generated in NamRain based on TRMM series. | File | Description | |------------------------------------|------------------------------------| | EH_130years\_*ClimModelName*\_/*ClimScen*.txt | Climate files at hourly resolution in Year, Month, Day, Hour format. All files share the same historical data based on the time series that was closest to station data. Historical data was used for the spin up phase (1970-2015). <br> **Rain**: hourly precipitation amount [mm] <br> **Temp**: hourly temperature [°C] | ## Folder /Results Empty folder where model outputs will be stored after each simulation run. ## Folder /Figures Empty folder where result figures and visualised output can be stored.