Data and scripts from: Development of optimized methods for unbiased dusky grouse population monitoring using real and simulated data
Data files
Jun 26, 2026 version files 1.29 MB
-
Abun_Det_2019surveys.R
1.56 KB
-
Abun_Det_2020_2021_DUGRsurveys.R
21.62 KB
-
DuskyData_2020_2021_HDS_line.csv
50.54 KB
-
DuskyData_2020_2021_HDS_pc.csv
264.28 KB
-
DuskyData_2020_2021_Nmix.csv
513.41 KB
-
DuskyData_2020_2021_TR_HDS.csv
277.84 KB
-
DuskySpringSurveys2019.csv
9.82 KB
-
PowerAnalysis.R
24.94 KB
-
README.md
12.89 KB
-
route_type_data.csv
107.02 KB
-
RouteTypeAbundance.R
3.99 KB
Aug 06, 2026 version files 1.29 MB
-
Abun_Det_2019surveys.R
1.56 KB
-
Abun_Det_2020_2021_DUGRsurveys.R
21.62 KB
-
DuskyData_2020_2021_HDS_line.csv
50.54 KB
-
DuskyData_2020_2021_HDS_pc.csv
264.28 KB
-
DuskyData_2020_2021_Nmix.csv
513.41 KB
-
DuskyData_2020_2021_TR_HDS.csv
277.84 KB
-
DuskySpringSurveys2019.csv
9.82 KB
-
PowerAnalysis.R
24.94 KB
-
README.md
12.89 KB
-
route_type_data.csv
107.02 KB
-
RouteTypeAbundance.R
3.99 KB
Abstract
Rigorous state-wide monitoring programs are lacking for dusky grouse (Dendragapus obscurus), a North American species of forest grouse with relatively low detectability that is found in coniferous and mountainous areas in the western United States and Canada. Hierarchical models for estimating abundance show promise for overcoming issues associated cryptic forest grouse behavior and low population densities. Our objectives were to evaluate protocols (i.e., number of sites, visits, and route type) and analytical methods for producing annual unbiased and precise indices of abundance (CV < 15%) of dusky grouse to inform a statewide monitoring program. During 2019–2022, we designed and implemented multiple survey protocols throughout western Montana, USA, including spring point-counts (> 2200 unique sites) and transect-level (> 390 unique transects) distance sampling. We used an iterative process of field data collection and simulation analyses to evaluate the performance of four different statistical estimators for abundance (N-mixture model, hierarchical time-removal model with distance sampling, detection-naïve model, and hierarchical distance sampling model) for point-counts and transects to produce unbiased and precise estimates of dusky grouse abundance. Our study provides baseline information necessary for the development of state-wide monitoring programs of dusky grouse and more broadly illustrates an approach for developing rigorous and achievable monitoring programs for other species of forest grouse.
Dataset DOI: 10.5061/dryad.m63xsj4dm
Description of the data and file structure
File: Abun_Det_2019surveys.R
Description: Code for obtaining abundance and probablity of detection estimates using N-mixture models from 2019 data
File: Abun_Det_2020_2021_DUGRsurveys.R
Description: Code for obtaining average and regional abundance and average and maximum probabilty of detection estimates using 2020-2021 surveys of dusky grouse. For point-count data, estimates are obtained using N-mixture models, hierarchical distance sampling models, and hierarchical distance sampling with time removal models. For transect data, estimates are obtained using hierarchical distance sampling models.
File: DuskyData_2020_2021_HDS_line.csv
Description: Dusky grouse survey data from 2020-2021 for line transects (set up to analyze using hierarchical distance sampling)
Variables
- SurveyYear: year during which survey was conducted
- Region: Montana Fish Wildlife & Parks administrative region. Varies from 1-5
- Type: location of surveys (road, trail, off-trail)
- TransectName: ID for individual transects
- Visit: visit/rep number for a survey site
- DUGR_Dist_0.25: distance bin of 0-25 m (# of detections within that bin)
- DUGR_Dist_26.50: distance bin of 26-50m (# of detections within that bin)
- DUGR_Dist_51.75: distance bin of 51-75m (# of detections within that bin)
- DUGR_Dist_76.100: distance bin of 76-100m (# of detections within that bin)
- Transect_Length: length of transect (meters) generated using GPS tracks
- NuObservers: number of observers
- Day.Since.Start: day since survey season started (Day 1 = April 10)
File: DuskyData_2020_2021_HDS_pc.csv
Description: Dusky grouse survey data from 2020-2021 for point-counts (set up to analyze using hierarchical distance sampling)
Variables
- SurveyYear: year during which survey was conducted
- TransectName: name of transect
- PointName: name of site within a transect
- Region: Montana Fish Wildlife & Parks administrative region. Varies from 1-5
- Type: location of surveys (road, trail, off-trail)
- DUGR_Dist_0.25: distance bin of 0-25 m (# of detections within that bin)
- DUGR_Dist_26.50: distance bin of 26-50m (# of detections within that bin)
- DUGR_Dist_51.75: distance bin of 51-75m (# of detections within that bin)
- DUGR_Dist_76.100: distance bin of 76-100m (# of detections within that bin)
- DUGR_Dist_.100: distance bin of 100m+ (# of detections within that bin)
- Temperature: temperature in Celsius
- Wind: average wind speed during survey km/hr
- Precipitation: N/A.N = None, F = Fog, R = Rain, S = Snow
- CloudCover: 0-15%, 16-50%, 51-80%, 81-100%
- NoiseLevel: background noise level during the point count (0 = no background noise, 1 = slight background noise, but no auditory impairment, 2 = some background noise and some auditory impairment, and 3 = high levels of background noise and auditory impairment)
- Day.Since.Start: day since survey season started (Day 1 = April 10)
- Minutes: minute since sunrise
File: DuskySpringSurveys2019.csv
Description: Dusky grouse survey data from 2019 from point-counts (set up to analyze using N-mixture models)
Variables
- Year: year during which survey was conducted
- Transect: ID/name for individual transects
- Point ID: name of site within a transect
- Visit: Visit/rep number (1, 2, or 3)
- DUGR: Number of dusky grouse detections/observations.
File: DuskyData_2020_2021_TR_HDS.csv
Description: Dusky grouse survey data from 2020-2021 for point-counts (set up to analyze using hierarchical distance sampling with time-removal)
Variables
- SurveyYear: year during which survey was conducted
- PointName: name of site within a transect
- Minutes: Minute since sunrise
- Days: day since survey season started (Day 1 = April 10)
- CloudCover: Percent cloud cover category: 0-15%, 16-50%, 51-80%, 81-100%
- Precip: N/A.N = None, F = Fog, R = Rain, S = Snow
- Wind: average wind speed during survey km/hr
- Temp: temperature (Celsius)
- NoiseLevel: background noise level during the point count (0 = no background noise, 1 = slight background noise, but no auditory impairment, 2 = some background noise and some auditory impairment, and 3 = high levels of background noise and auditory impairment)
- Region: Montana Fish Wildlife & Parks administrative region. Varies from 1-5
- Type: location of surveys (road, trail, off-trail)
- TransectName: ID/name for individual transects
- D25: distance bin of 0-25 m (# of detections within that bin)
- D50: distance bin of 26-50 m (# of detections within that bin)
- D75: distance bin of 51-75 m (# of detections within that bin)
- D100: distance bin of 76-100 m (# of detections within that bin)
- Minute1: # of detections occuring in first minute of survey (0-60sec)
- Minute2: # of detections occuring in second minute of survey (61-120sec)
- Minute3: # of detections occuring in third minute of survey (121-180sec)
- Minute4: # of detections occuring in fourth minute of survey (181-240sec)
File: DuskyData_2020_2021_Nmix.csv
Description: Dusky grouse survey data from 2020-2021 for point-counts (set up to analyze using N-mixture models)
Variables
- SurveyYear: year during which survey was conducted
- PointName: name of site within a transect
- Minutes1: minutes since sunrise during visit 1
- Minutes2: minutes since sunrise during visit 2
- Minutes3: minutes since sunrise during visit 3
- Minutes4: minutes since sunrise during visit 4
- Days1: day since survey season started (Day 1 = April 10) during visit 1
- Days2: day since survey season started (Day 1 = April 10) during visit 2
- Days3: day since survey season started (Day 1 = April 10) during visit 3
- Days4: day since survey season started (Day 1 = April 10) during visit 4
- Num.Obs1: number of observers during visit 1
- Num.Obs2: number of observers during visit 2
- Num.Obs3: number of observers during visit 3
- Num.Obs4: number of observers during visit 4
- CloudCover1: 0-15%, 16-50%, 51-80%, 81-100% during visit 1
- CloudCover2: 0-15%, 16-50%, 51-80%, 81-100% during visit 2
- CloudCover3: 0-15%, 16-50%, 51-80%, 81-100% during visit 3
- CloudCover4: 0-15%, 16-50%, 51-80%, 81-100% during visit 4
- Precip1: N/A.N = None, F = Fog, R = Rain, S = Snow during visit 1
- Precip2: N/A.N = None, F = Fog, R = Rain, S = Snow during visit 2
- Precip3: N/A.N = None, F = Fog, R = Rain, S = Snow during visit 3
- Precip4: N/A.N = None, F = Fog, R = Rain, S = Snow during visit 4
- Wind1: average wind speed during survey km/hr during visit 1
- Wind2: average wind speed during survey km/hr during visit 2
- Wind3: average wind speed during survey km/hr during visit 3
- Wind4: average wind speed during survey km/hr during visit 4
- Temp1: temperature (Celsius) during visit 1
- Temp2: temperature (Celsius) during visit 2
- Temp3: temperature (Celsius) during visit 3
- Temp4: temperature (Celsius) during visit 4
- NoiseLevel1: background noise level during the point count (0 = no background noise, 1 = slight background noise, but no auditory impairment, 2 = some background noise and some auditory impairment, and 3 = high levels of background noise and auditory impairment) during visit 1
- NoiseLevel2: background noise level during the point count (0 = no background noise, 1 = slight background noise, but no auditory impairment, 2 = some background noise and some auditory impairment, and 3 = high levels of background noise and auditory impairment) during visit 2
- NoiseLevel3: background noise level during the point count (0 = no background noise, 1 = slight background noise, but no auditory impairment, 2 = some background noise and some auditory impairment, and 3 = high levels of background noise and auditory impairment) during visit 3
- NoiseLevel4: background noise level during the point count (0 = no background noise, 1 = slight background noise, but no auditory impairment, 2 = some background noise and some auditory impairment, and 3 = high levels of background noise and auditory impairment) during visit 4
- Region: Montana Fish Wildlife & Parks administrative region. Varies from 1-5
- Type: location of surveys (road, trail, off-trail)
- TransectName: ID/name for individual transects
- X1: number of dusky grouse observed during visit 1
- X2: number of dusky grouse observed during visit 2
- X3: number of dusky grouse observed during visit 3
- X4: number of dusky grouse observed during visit 4
File: HDS_Simulation_Pointcounts.R (Zenodo)
Description: Simulation code for point-counts analyzed using hierarchical distance sampling
File: HDS_Simulation_Transects.R (Zenodo)
Description: Simulation code for transects analyzed using hierarchical distance sampling
File: Naive_Simulation.R (Zenodo)
Description: Simulation code for point-counts analyzed using a naive model where probablity of detection is not taken into account
File: Nmix_Simulation.R (Zenodo)
Description: Simulation code for point-counts analyzed using single-season N-mixture models
File: Nmix_CorrelatedCounts_Simulation.R (Zenodo)
Description: Simulation code for point-counts analyzed using single-season N-mixture models with correlated point-counts
File: PowerAnalysis.R
Description: Simulation code for conducting a power analysis for a suggested protocol for analyzing point-count data with N-mixture models
File: RouteTypeAbundance.R
Description: Code for evaluating the effect of route type (off-trail, trail, road) of dusky grouse abundance
File: TimeRemovalHDS_Simulation.R (Zenodo)
Description: Simulation code for point-counts analyzed using hierarchical distance sampling with time-removal models
File: route_type_data.csv
Description: Point-count data for dusky grouse from 2019-2021 in MFWP Region 3.
Variables
- PointName: name of site within a transect
- SurveyYear: year during which survey was conducted
- Type: location of surveys (road, trail, off-trail)
- Region: Montana Fish Wildlife & Parks administrative region. Varies from 1-5
- X1: number of dusky grouse observed during visit 1
- X2: number of dusky grouse observed during visit 2
- X3: number of dusky grouse observed during visit 3
- X4: number of dusky grouse observed during visit 4
- CloudCover1: % cloud cover (0-15, 16-50, 51-80, 81-100) for visit 1
- CloudCover2: % cloud cover (0-15, 16-50, 51-80, 81-100) for visit 2
- CloudCover3: % cloud cover (0-15, 16-50, 51-80, 81-100) for visit 3
- CloudCover4: % cloud cover (0-15, 16-50, 51-80, 81-100) for visit 4
- Days1: day during the survey period (April 10 = Day 1) for visit 1
- Days2: day during the survey period (April 10 = Day 1) for visit 2
- Days3: day during the survey period (April 10 = Day 1) for visit 3
- Days4: day during the survey period (April 10 = Day 1) for visit 4
- Minutes1: minutes since sunrise for visit 1
- Minutes2: minutes since sunrise for visit 2
- Minutes3: minutes since sunrise for visit 3
- Minutes4: minutes since sunrise for visit 4
- Precip1: N/A.N = None, F = Fog, R = Rain, S = Snow during visit 1
- Precip2: N/A.N = None, F = Fog, R = Rain, S = Snow during visit 2
- Precip3: N/A.N = None, F = Fog, R = Rain, S = Snow during visit 3
- Precip4: N/A.N = None, F = Fog, R = Rain, S = Snow during visit 4
- Temp1: temperature (Celsius) during the point-count for visit 1
- Temp2: temperature (Celsius) during the point-count for visit 2
- Temp3: temperature (Celsius) during the point-count for visit 3
- Temp4: temperature (Celsius) during the point-count for visit 4
- Wind1: average wind speed during survey km/hr during visit 1
- Wind2: average wind speed during survey km/hr during visit 2
- Wind3: average wind speed during survey km/hr during visit 3
- Wind4: average wind speed during survey km/hr during visit 4
Code/software
Analysis/code is conducted in R. Please note some scripts are hosted on Dryad and some are on Zenodo in the Software Related Works section.
Within each R script page is listed the packages needed to run the code. The code consists of analysis for obtaining estimates of detection and abundance for dusky grouse as well as simulations for comparing different statistical estimators for estimating abundance under different protocols (# of visits, # of sites) and different scenarios (varying abundance & detection probablities). Within the simulations, the code writes a text file that is saved within the working directory. This text file houses the Bayesian model needed by JAGS for conducting the analysis of the simulated data, and is called during the simulation. R version 3.5 was used in the creation of the simulations.
Data consists of point-count surveys conducted in western Montana, off-trail in spring 2019, and on roads and trails in springs 2020 and 2021. During the 2019 season, we surveyed each point three times on three different mornings within a 2-week period, and during the 2020 and 2021 seasons, 4 point-counts were conducted within the same morning.
In 2019, surveys consisted of two 4-minute consecutive point-counts, the first without electronic playback, and the second with electronic playback played used a portable speaker. During the spring, we used electronic playback of a female dusky grouse call (cantus, whinny, and cackle). Playback recordings consisted of 30 seconds of playback, then 30 seconds of silence, repeated for the entire 4-minute period.
In 2020 and 2021, surveys were only conducted using electronic playback of a female dusky grouse call (cantus and cackle).
During all years of the study, all dusky grouse observations (visual and auditory) were recorded, with observers trained to not record the same individual twice within a single survey. Point-count surveys were conducted between dawn and 11am on days without precipitation and minimum (< 19 km/hr) wind speed. We recorded survey conditions, which included day (relative to the first day of the survey period, which was 10 April), minutes since sunrise, background noise level, temperature (C), precipitation (fog, rain, snow, or none), wind speed (km/hr), and cloud cover (0-15%, 16-50%, 51-80%, 81-100%).
Changes after Jun 26, 2026: Updated a revised copy of the Abun_Det_2020_2021_DUGRsurveys.R. The previous version indexed the unscaled Temperature (line 85) and Noise Level (line 86) variables based on a previous version of the dataset that had the columns organized slightly differently, this version of the code correctly indexes the variables as they are in the dataset here.
