DOI: 10.5061/dryad.15dv41p9b
title: Code from: Multiple environmental conditions precede Ebola spillovers in central Africa

description: To assess potential environmental determinants of Zaire ebolavirus (EBOV)
 spillovers, we analyzed time series of vegetation health, rainfall,
 temperature, forest loss, and human population size surrounding Central
 African spillover locations from 1990 to 2022. We evaluated whether
 environmental conditions before spillover were atypical for each location
 by quantifying the similarities in environmental time series between
 spillover years and non-spillover years. This dataset includes the
 environmental and anthropogenic time series analyzed around EBOV spillover
 locations from 1990 to 2022. These data are all publicly available and
 were retrieved from data repositories in Google Earth Engine, The Climate
 Data Store, or Worldpop. 
description: # Code from: Multiple environmental conditions precede Ebola spillovers in
 central Africa Dataset DOI:
 [10.5061/dryad.15dv41p9b](https://doi.org/10.5061/dryad.15dv41p9b) ##
 Description of the data and file structure Code to accompany
 "Multiple Environmental Conditions Precede Ebola Spillovers in
 Central Africa" by Baranowski and Bharti, 2025, submitted to Biology
 Letters Special Feature on Disease Ecology.  All data were retrieved from
 publicly available sources and served as input files for the code. Due to
 licensing restrictions (because Dryad datasets are published under the CC0
 license waiver), the data files required to run the code are not included.
 However, users can contact the corresponding author to request the
 necessary input files at: [ktb5143@psu.edu](mailto:ktb5143@psu.edu)
 (Kelsee Baranowski) ### Files and variables **File:
 deforestation_panel_regression.R** **Description:** R code to perform
 panel regression on the hectares of forest area and forest loss by
 spillover location. This code calculates forest loss around spillover
 locations, identifies years with significant spillover, and fits
 bias-corrected fixed-effects logistic models to predict spillover events.
 It then evaluates model performance using ROC curves and AUC, and reshapes
 predictions for plotting and analysis. **File: DTW_env_ts_20kmbuffer.R**
 **Description:** R code to perform Dynamic Time Warping on the
 environmental variables of interest by spillover location. The code uses
 Dynamic Time Warping to compare environmental time series (rainfall,
 temperature, EVI) across spillover and non-spillover years, tests for
 significant differences with permutation tests, and visualizes alignment
 costs within locations. ## Code/software We used R and RStudio for the
 Dynamic Time Warping and Panel Regression Analyses.  R packages used for
 cleaning: plyr, dplyr, tidyr, stingr R packages used for analysis: astsa,
 bife, IncDTW, pROC R packages used for visualizations: ggplot2, ggpubr,
 dendextend ## Access information Data for this manuscript come from
 open-source data: MODIS MYD13Q1 16-day EVI from Google Earth Engine:
 [https://developers.google.com/earth-engine/datasets/catalog/MODIS_061_MOD13Q,1,](https://developers.google.com/earth-engine/datasets/catalog/MODIS_061_MOD13Q1) summarized as field "spmean_EVI" in csv files in "environmental_time_series_DTW.zip" ERA5-Land post-processed daily statistics from 1950 to present 2m-temperature from the Climate Data Store: [https://cds.climate.copernicus.eu/datasets/derived-era5-land-daily-statistics?tab=overview](https://cds.climate.copernicus.eu/datasets/derived-era5-land-daily-statistics?tab=overview) summarized as field "spmean_temp" in csv files in "environmental_time_series_DTW.zip" CHIRPS Daily Rainfall from R API code: [https://data.chc.ucsb.edu/products/CHIRPS-2.,0/](https://data.chc.ucsb.edu/products/CHIRPS-2.0/) summarized as field "spmean_rain" in csv files in "environmental_time_series_DTW.zip" Landscan Annual Human Population Counts from Google Earth Engine: [https://developers.google.com/earth-engine/datasets/catalog/projects_sat-io_open-datasets_ORNL_LANDSCAN_GLOBAL](https://developers.google.com/earth-engine/datasets/catalog/projects_sat-io_open-datasets_ORNL_LANDSCAN_GLOBAL) summarized in each buffer size in "after200spills_allbuffs_landscanfinaldf_20250810.csv" WorldPop Annual Human Population Counts from Worldpop: [https://hub.worldpop.org/geodata/listing?id=74](https://hub.worldpop.org/geodata/listing?id=74) calibrated ratio of population in each buffer size in "after200spills_allbuffs_landscan_wpopr_finaldf_20250820.csv" Copernicus Climate Change Initiative Annual Land Cover from the Climate Data Store: [https://cds.climate.copernicus.eu/datasets/satellite-land-cover?tab=overview](https://cds.climate.copernicus.eu/datasets/satellite-land-cover?tab=overview) area of each lands summarized in each buffer in "allspills_allbuffs_CCIland_20250828.csv" Resolve Ecoregions and Biomes from ArcGIS Living Atlas: [https://hub.arcgis.com/datasets/esri::resolve-ecoregions-and-biomes/about](https://hub.arcgis.com/datasets/esri::resolve-ecoregions-and-biomes/about) used for visualization and grouping in Figure 2C and Figure S5.