Data and code from: At-nest drone monitoring causes minimal behavioural disturbance in breeding Eurasian curlew
Data files
Sep 03, 2026 version files 79.48 KB
-
all_heights.csv
15.10 KB
-
code_for_‘At-nest_drone_monitoring__paper.R
51.26 KB
-
one_entry_per_trial.csv
5.37 KB
-
README.md
7.76 KB
Abstract
The use of Unmanned Aerial Vehicles (UAVs, hereafter drones) for monitoring ground-nesting birds is expanding rapidly, yet the potential for disturbance during nest finding and at-nest monitoring remains poorly quantified. Notably, there is a lack of knowledge on safe flight protocols and disturbance risk in relation to breeding Eurasian Curlew (Numenius arquata), a globally Red Listed species that continues to be the focus of a surge of active research and recovery programs, many of which involve practical interventions and monitoring around the nest. We assessed behavioural responses of incubating Eurasian Curlew to drone flights across 14 nests in floodplain meadows in lowland England. Each trial started at 50 m above the nest, and involved the drone slowly descending to 40, 30 and 25 m, at which point the flight was terminated. The behaviour of the incubating bird was monitored throughout each flight. Across 26 drone trials, incubating birds showed minimal behavioural disturbance: although most trials involved birds looking at the drone (80% of the 25 trials with a bird on the nest at 50 m), only three trials (12%) resulted in a bird leaving the nest. Birds were more likely to look up at the drone as it descended, but the probability of displacement was unrelated to flight height (25-50 m), and displacement was not necessarily preceded by looking. However, the data suggest that birds may be more likely to remain on the nest under higher wind gusts, implying that environmental conditions, rather than drone proximity, could influence the displacement response. Practical implication: These results indicate that, when operated under the appropriate protocols, drones can provide an effective, low-impact alternative to traditional, more invasive monitoring methods. For a species of such high conservation concern, minimising disturbance is essential; drone-based approaches offer opportunities to improve monitoring efficiency and enhance data collection for conservation management of breeding Curlew.
Dataset DOI: 10.5061/dryad.c866t1gpj
This work was core-funded by WWT, as part of our wider Severn & Avon Vales curlew project.
Description of the data and file structure
This dataset contains code (.R script) and input files (.csv files) associated with the paper ‘At-nest drone monitoring causes minimal behavioural disturbance in breeding Eurasian Curlew' published in Ecological Solutions and Evidence. All results and figures presented in the paper and Supplementary Information can be reproduced using this code, except for Figure 1 and Figure 2 which were created separately (using QGIS and a web-based Sankey diagram creator, respectively - the URL and input information for the latter are provided at the end of the code).
A summary of the paper's shortened abstract is reproduced here for context:
The use of drones to monitor ground-nesting birds is increasing, but concerns remain about disturbance to breeding individuals. This is particularly important for the Eurasian Curlew (Numenius arquata), a globally Red Listed species of high conservation concern.
We assessed behavioural responses of incubating Curlews to drone flights at 14 nests in lowland England. Across 26 trials, drones were flown above nests and gradually lowered from 50 m to 25 m while behaviour was recorded.
Disturbance was minimal. Although most birds looked at the drone, birds only left the nest during 12% of flights. While birds were more likely to look up as the drone descended, leaving the nest was unrelated to flight height. However, birds may be more likely to remain on the nest under higher wind gusts.
These findings suggest that, under appropriate protocols, drones provide an effective, low-impact method for monitoring breeding curlews.
Files and variables
File: code_for_‘At-nest_drone_monitoring__paper.R
Description: R script that reads in the two input files and runs analyses/generates figures. The code is commented to explain what's happening at each step and what the finding is.
File: all_heights.csv
Description: Input data as collected across all heights - i.e. for each flight, up to four entries (50 m, 40 m, 30 m and 25 m) are recorded (fewer if the bird left the nest prior to the drone reaching 25 m).
Variables
- Date: Date of trial. Note that if the .csv file is opened, the Date column reverts to a default format, so this column needs to be manually set to YYYY-MM-DD in order for the R script to handle it properly, if opening the .csv file before running the code.
- Nest_ID: Letter assigned to identify nests (n=14).
- Bird_IDs: Bird IDs for each nesting pair were recorded where known – for example, ‘Yellow AJ + Unr’ refers to a pair where one bird had a yellow leg flag enscribed ‘AJ’ and the other was unringed, whereas some pair identities were ‘Unknown’.
- Nest_success_YN: Did the nest go on to hatch? Yes/no.
- Flight_number: 1st, 2nd or 3rd trial per nest.
- Trial_ID: Trial ID = nest ID x flight number, e.g. A2 = second trial of nest A.
- Fenced_YN: Was the nest fenced (with temporary predator-exclusion fencing) at the time of the trial? Yes/no.
- Incubation_stage: Estimated days for which the clutch had been incubated on the day of the trial.
- Second_clutch_YN: Was the nest a second clutch for the pair that season (i.e. was it a replacement clutch as opposed to a first attempt)? Yes/no.
- Focal_bird_sex: Focal bird sex was recorded as F = female, M = male, or NA = unknown, referring to the bird on the nest at the time of the trial.
- Temperature: Temperature in degrees Celsius at the time of the trial (as extracted at a later date).
- Wind_speed: Wind speed in miles per hour at the time of the trial (as extracted at a later date).
- Wind_direction: Wind direction at the time of the trial (as extracted at a later date).
- Wind_gust: Wind gust in miles per hour at the time of the trial (as extracted at a later date).
- Cloud_cover: Proportional cloud cover as estimated by eye at the time of the trial.
- Mean_vegetation_height: Mean vegetation height in centimetres across four points around the nest as estimated at the time of the trial.
- Found_via_hotspot_YN: Was the nest located for the trial by using the drone's thermal camera to find a hotspot? Yes/no.
- Start_time: Time at which drone took off, in HH:MM:SS format. See comment on times below.
- Finish_time: Time at which drone landed, in HH:MM:SS format. See comment on times below.
- Flight_duration: Time in minutes from drone take-off to drone landing.
- Time_arriving_nest: Time at which drone arrived above the nest at 50 m, in HH:MM:SS format. See comment on times below.
- Time_leaving_nest: Time at which drone returned to 50 m and departed from above the nest, in HH:MM:SS format. See comment on times below.
- Nest_duration: Time in minutes for which the drone was over the nest (at any height).
- Height_timestamp: Time at which drone reached each height, in HH:MM:SS format. See comment on times below.
- Flight_height: Height in metres at which the drone was held during the trial (in order: 50 m , 40 m, 30 m , and 25 m).
- Looking_YN: Did the focal bird look at the drone (at each flight height)? Yes/no.
- Off_nest_YN: Did the focal bird leave the nest (at any of the flight heights, with displacement ending the trial)? Yes/no.
- Activity: Observations of Curlew behaviour during the trial.
- Comments: Additional notes.
Times (start/finish times and nest arrival/departure times, height timestamp) are shown in HH:MM:SS per Excel options, but values were recorded to the nearest minute (hence all SS = 00 in the spreadsheet), so the variables are recoded to HH:MM in the R script.
File: one_entry_per_trial.csv
Description: Input data as processed to provide one value for the trial as a whole i.e. the responses of 'looking' and 'off nest' refer to whether each outcome occurred across the whole trial.
Variables - as above except for:
- Lowest_height_timestamp: Derived from the 'all heights' dataset's 'height timestamp' variable, this variable records only the time at which the drone reached the lowest height during the trial. This is shown in HH:MM:SS per Excel options, but values were recorded to the nearest minute (hence all SS = 00 in the spreadsheet), so the variable is recoded to HH:MM in the R script.
- Lowest_flight_height: Derived from the 'all heights' dataset's 'flight height' variable, this variable records only the lowest height reached by the drone during the trial.
- Looking_YN: This variable now refers to whether the focal bird looked at the drone at any height during the trial.
- Off_nest_YN: This variable now refers to whether the focal bird left the nest at any height during the trial.
- Comments: Here the 'all heights' dataset's 'Activity' and 'Comments' variables are combined to represent what was observed across the whole trial.
Code/software
The code was written in R version 4.4.1 (R Core Team, 2024), and loads the following packages:
‘chron’ (version 2.3-61; James & Hornik, 2023)
‘dplyr’ (version 1.1.4; Wickham et al., 2023)
‘lme4’ (version 1.1-35.5; Bates et al., 2015)
‘lubridate’ (version 1.9.3; Grolemund & Wickham, 2011)
‘AICcmodavg’ (version 2.3.3; Mazerolle, 2023)
‘petersenlab’ (version 1.2.0; Petersen, 2025)
R Core Team. (2024). R: A language and environment for statistical computing. https://www.R-project.org/
The code reads in the two provided .csv files, which need to be in the same directory (folder) from which the code is run.
