Data from: Habitat-based predictions of bridle shiner (Notropis bifrenatus) in the northeastern United States
Data files
Dec 12, 2025 version files 3.01 GB
-
1_GRASS-GIS.Rmd
15.48 KB
-
2_PresenceAbsencePoints.Rmd
45.50 KB
-
3_SoilGrid_downloads.Rmd
6.82 KB
-
4_LANDFIRE_by_HUCs.Rmd
76.38 KB
-
5_BDSbiomod_functions.R
34.94 KB
-
5_BDSbiomod.Rmd
120.15 KB
-
AllBridleShinerPoints.zip
26.40 KB
-
BDS_all_points_current.csv
239 KB
-
BDS_Local_Covs.csv
20.70 KB
-
BDSHistoricalRecords.csv
14.30 KB
-
BoundingBoxHomolosine.zip
2.01 KB
-
BridleShinerHabitatModels.Rproj
218 B
-
change_large_hucs.zip
15.10 MB
-
change_small_hucs.zip
6.50 MB
-
cL_final_prediction.zip
15.11 MB
-
cS_final_prediction.zip
6.53 MB
-
CurrentBridleShinerPoints.csv
104.11 KB
-
CurrentBridleShinerPoints.zip
33.32 KB
-
CurrentPointsGroupedME.zip
40.78 KB
-
CurrentPointsGroupedNH.zip
25.23 KB
-
DEM_mosaic_10m.tif
1.20 GB
-
Elevation_HUC6_30m.tif
1.35 GB
-
full_dataset_evals.csv
697 B
-
HighestPruneAccuracy-ModelC.tif
33.60 MB
-
HighestPruneAccuracy-ModelD.tif
24.88 MB
-
HighestSensitivity-ModelA.tif
24.88 MB
-
HighestSensitivity-ModelB.tif
244.80 MB
-
HistoricalBridleShinerPoints.csv
31.60 KB
-
HistoricalBridleShinerPoints.zip
13.31 KB
-
hL_final_prediction.zip
15.11 MB
-
hS_final_prediction.zip
6.53 MB
-
HUC10-100km.tif
19.02 MB
-
input_points_L_pa_curr.zip
108.65 KB
-
input_points_L_pa_hist.zip
108.63 KB
-
input_points_S_pa_curr.zip
319.15 KB
-
input_points_S_pa_hist.zip
319.12 KB
-
landfire_MENH_sw_300m.tif
508.19 KB
-
large_hucs.zip
19.90 MB
-
LocalHabitatCART.Rmd
43.13 KB
-
Maine_boundary.zip
1.04 MB
-
Marine_habitats.zip
2.29 MB
-
Model_extent.zip
526.86 KB
-
ModelAsummarystats.csv
2.52 KB
-
ModelBsummarystats.csv
4.55 KB
-
ModelCsummarystats.csv
5.78 KB
-
ModelDsummarystats.csv
5.13 KB
-
NH_BS_data_dryad.csv
79.76 KB
-
NLCD_Canopy_2021.tif
1.98 MB
-
rcls_values.csv
896 B
-
README.md
51.85 KB
-
SacoMerrimackHUC6.zip
1.02 MB
-
small_hucs.zip
10.49 MB
-
top_model_predict.csv
3.35 KB
Abstract
We sought to assess bridle shiner (Notropis bifrenatus) habitat associations at local and regional scales across southern Maine and New Hampshire. We used local habitat data at 95 Maine sites to predict occupancy with classification and regression trees (CART). We then used ensemble species distribution models (SDM) to model the historical (1898-2008) and current (2009-2022) ranges of the species. We used the BIOMOD platform to model the association between 35 environmental variables and bridle shiner presence during both time periods and at fine (pseudo-HUC14) and coarse (HUC12) spatial scales. We then calculated the change in predicted occupied drainages to estimate the change in the species’ distribution at both scales. Within a site, bridle shiners were associated with submerged aquatic vegetation, organic substrate, and watermilfoil (Myriophyllum spp.). SDMs revealed an association with Appalachian (Hemlock-)Northern Hardwood Forest, sand substrate, and low elevation terrain (at both spatial scales). Ensemble fine-scale SDMs suggest a substantial loss of historical bridle shiner habitat in both Maine (36% of drainages) and New Hampshire (16%) with comparable described losses (of 21% and 14%) at a coarse scale. Our local and regional models may be used to focus surveys on areas with high predicted habitat suitability, or to inform habitat restoration efforts.
Dataset DOI: 10.5061/dryad.wstqjq2xq
Description of the data and file structure
We used local habitat data at 95 Maine sites to predict bridle shiner (Notropis bifrenatus) occupancy with classification and regression trees (CART). We then used ensemble species distribution models (SDM) to model the historical (1898-2008) and current (2009-2022) ranges of the species. We used the BIOMOD platform to model the association between 35 environmental variables and bridle shiner presence during both time periods and at fine (pseudo-HUC14) and coarse (HUC12) spatial scales. We then calculated the change in predicted occupied drainages to estimate the change in the species’ distribution at both scales.
Files and variables: Local habitat models
Raster datasets
File: NLCD_Canopy_2021.tif
Description: Raster dataset: 2016 National Land Cover Database (NLCD) Tree Canopy Cover dataset (Coulston et al. 2012; USFS 2023) showing percent tree canopy cover (resolution: 300-m, projected coordinate system: NAD 1983 UTM Zone 19N). Clipped to the northeastern United States. Source: Google Earth Engine. Public domain data from USFS (USDA Forest Service. 2023. USFS Tree Canopy Cover v2021.4 (Conterminous United States and Southeastern Alaska). Salt Lake City, Utah.). Full dataset downloadable from: https://developers.google.com/earth-engine/datasets/catalog/USGS_NLCD_RELEASES_2021_REL_TCC_v2021-4
File: DEM_mosaic_10m.tif
Description: Raster dataset: 1998 Digital Elevation Model (USGS 1998) showing elevation in meters (resolution: 10-m, projected coordinate system: NAD 1983 UTM Zone 19N). Clipped to Maine bridle shiner survey points. Source: Google Earth Engine. Public domain data from USGS. Full dataset downloadable from: https://developers.google.com/earth-engine/datasets/catalog/USGS_3DEP_10m
Input data
File: BDS_Local_Covs.csv
Description: Input data for the local habitat CART models. Plant common names correspond with Integrated Taxonomic Information System names (https://itis.gov/).
Variables
- Site: Each row of the dataset corresponds to one site surveyed for bridle shiners (Notropis bifrenatus) between 2021 and 2022. Sites were surveyed using environmental DNA (eDNA), and some sites were also surveyed via seine netting to validate eDNA results. There were 95 sites in total and habitat variables were measured at each site.
- Occ: Occupancy
- 1: Bridle shiner presence determined by eDNA and/or seine netting
- 0: Did not detect bridle shiners at the site
- NA: Samples lost or degraded, habitat survey conducted but bridle shiner presence unknown
- catchment: We assessed the catchment position of a site using the method of Pregler et al. (2019) and data from the Northeast Aquatic Habitat Classification System (NAHCS; Olivero and Anderson 2008). NAHCS stream orders:
- 1a: Headwater: 0<3.861 sq.mi,
- 1b: Creek: >=3.861<38.61 sq.mi.,
- 2: Small River: >= 38.61<200 sq.mi.,
- 3a: Medium Tributary River: >=200<1000 sq.mi.,
- 3b: Medium Mainstem River: >=1000<3861 sq.mi.,
- 4: Large River: >=3861<9653 sq.mi.,
- 5: Great River: >=9653 sq.mi.
- conductivity: Conductivity of the water at the site (µS/cm).
- dams: Number of dams within 2-km of sampling location (determined via ArcGIS Pro using state dam point locations).
- dom.substrate: Dominant substrate at the site.
- L:Ledge (> 1m diameter),
- B:Submerged boulders or rocks (> 50cm diameter),
- R:Rubble or rocks from 10-20" (25-50 cm),
- O:Cobble rocks 2.5-10" (6.3-25 cm); G-Gravel 0.6-2.5" (1.5-6.3cm),
- P:Pea gravel (7.6-15 mm),
- S:Sand or granular material < 1/16" (0.0625-2 mm),
- F:Silt or fine powdery inorganic material,
- M: Mud or decomposed organic material,
- D:Detritus or large particles of organic material such as leaves, bark, sawdust, etc.
- prop.org.subst: Proportion of site dominated by organic substrate (estimated at site [2022] or from site photos [2021]).
- prop.large.subst: Proportion of site dominated by large, inorganic substrates (>2-mm diameter; estimated at site [2022] or from site photos [2021]).
- prop.sm.subst: Proportion of site dominated by small, inorganic substrates (<2-mm diameter; estimated at site [2022] or from site photos [2021]).
- TDS: Total dissolved solids (ppm) measured at the site.
- WBType: Waterbody type.
- "LakePond"
- "StreamRiver"
- subm: Proportion of site dominated by submerged aquatic vegetation (proportion data, continous)
- emerg: Proportion of site dominated by emergent aquatic vegetation (proportion data, continous)
- float: Proportion of site dominated by floating aquatic vegetation (proportion data, continous)
- open: Proportion of site dominated by open water (no vegetation) (proportion data, continous)
- subm.complex: Proportion of submerged vegetation category dominated by complex-leaved species (proportion data, continous)
- subm.simple: Proportion of submerged vegetation category dominated by simple-leaved species (proportion data, continuous)
- subm.grasslike: Proportion of submerged vegetation category dominated by mat-forming and/or grass-like species (proportion data, continuous)
- emerg.persist: Proportion of emergent vegetation category dominated by persistent emergent species (proportion data, continuous)
- emerg.cattail: Proportion of emergent vegetation category dominated by Typha spp. (cattails) (proportion data, continuous)
- emerg.broad: Proportion of emergent vegetation category dominated by broad-leaved deciduous species (proportion data, continuous)
- canopy: Percent canopy cover via the 2016 National Land Cover Database (NLCD) Tree Canopy Cover dataset (Coulston et al. 2012; USFS 2023)
- elevation: Mean elevation (m) at the site via the DEM (USGS 1998)
- ALNINC: Presence of Alnus incana (gray alder)
- BIDBEC: Presence of Bidens beckii (Beck's water-marigold)
- BRASCH: Presence of Brasenia schreberi (watershield)
- CALLSP: Presence of Callitriche spp. (water-starworts)
- CARESP: Presence of Carex spp. (sedges)
- CEPOCC: Presence of Cephalanthus occidentalis (buttonbush)
- CERASP: Presence of Ceratophyllum spp. (C. demersum or C. echinatum; hornworts)
- DULARU: Presence of Dulichium arundinaceum (threeway sedge)
- ELATRI: Presence of Elatine triandra (Longstem waterwort)
- ELEACI: Presence of Eleocharis acicularis (needle spikesedge)
- ELEROB: Presence of Eleocharis robbinsii (Robbins' spikerush)
- ELODSP: Presence of Elodea spp. (waterweeds)
- ERIOSP: Presence of Eriocaulon spp. (pipeworts)
- EQUISP: Presence of Equisetum spp. (horsetails)
- GRAAUR: Presence of Gratiola aurea (golden hedge-hyssop)
- GRASS: Presence of Grass spp. (including Leersia oryzoides, Glyceria spp., etc.)
- ISOESP: Presence of Isoetes spp. (quillworts)
- JUNCSP: Presence of Juncus spp. (J. canadensis or J. effusus; Canadian or lamp rush)
- JUNMIL: Presence of Juncus militaris (bayonet rush)
- ILEVER: Presence of Ilex verticillata (common winterberry)
- LEMNSP: Presence of Lemna spp. (duckweeds)
- LUDPAL: Presence of Ludwigia palustris (marsh primrose-willow)
- LYSTER: Presence of Lysimachia terrestris (swamp candles)
- MOSS1: Presence of Bryophyta sp. 2 (moss sp.)
- MOSS2: Presence of Bryophyta sp. 1 (moss sp.)
- MYRTEN: Presence of Myriophyllum tenellum (slender watermilfoil)
- MYRISP: Presence of Myriophyllum spp. (including M. heterophyllum; watermilfoils)
- NAJASP: Presence of Najas spp. (waternymphs)
- NASOFF: Presence of Nasturtium officinale (watercress)
- NUPVAR: Presence of Nuphar variegata (varigated yellow pond-lily)
- NYMCOR: Presence of Nymphoides cordata (little floatingheart)
- NYMODO: Presence of Nymphaea odorata (white waterlily)
- PERSSP: Presence of Persicaria spp. (smartweeds)
- PONCOR: Presence of Pontederia cordata (pickerelweed)
- POTAMP: Presence of Potamogeton amplifolius (largeleaf pondweed)
- POTEPI: Presence of Potamogeton epihydrus (ribbonleaf pondweed)
- POTGEM: Presence of Potamogeton pusillus (small pondweed)
- POTILL: Presence of Potamogeton illinoensis (Illinois pondweed)
- POTNAT: Presence of Potamogeton natans (floating pondweed)
- POTOAK: Presence of Potamogeton oakesianus (Oakes' pondweed)
- POTPER: Presence of Potamogeton perfoliatus (claspingleaf pondweed)
- POTROB: Presence of Potamogeton robbinsii (Robbins' pondweed)
- SAGFIL: Presence of Sagittaria filiformis (threadleaf arrowhead)
- SAGLAT: Presence of Sagittaria latifolia (common arrowhead)
- SCHSUB: Presence of Schoenoplectus subterminalis (swaying bulrush)
- SCICYP: Presence of Scirpus cyperinus (woolgrass)
- SPARSP: Presence of Sparganium spp. (bur-reeds)
- TYPHSP: Presence of Typha spp. (T. angustifolia or T. latifolia; cattails)
- UTRINT: Presence of Utricularia intermedia (flatleaf bladderwort)
- UTRISP: Presence of Utricularia sp. (including Utricularia purpurea; bladderworts)
- VACCSP: Presence of Vaccinium spp. (cranberries)
- VALAME: Presence of Vallisneria americana (watercelery)
- ZANPAL: Presence of Zannichellia palustris (horned pondweed)
Analysis
File: BridleShinerHabitatModels.Rproj
Description: R project file for local and species distribution models.
File: LocalHabitatCART.Rmd
Description: This code builds classification and regression trees (CART) to determine which environmental variable(s) best distinguish between sites with bridle shiners and sites without bridle shiners. This is a nonparametric procedure that can be applied to datasets with mixed data types and missing values. The explanatory variables are a mix of categorical, binary, and continuous variables.
Results and summary statistics
File: ModelAsummarystats.csv
Description: Summary statistics from the rpart package for Model A (corresponds with Model 1a in Katz et al. 2025, Figure SC1). This model had the highest sensitivity and correctly classified 69 sites (13 presences and 56 absences).
File: ModelBsummarystats.csv
Description: Summary statistics from the rpart package for Model B (corresponds with Model 1b in Katz et al. 2025).
File: ModelCsummarystats.csv
Description: Summary statistics from the rpart package for Model C (corresponds with Model 1c in Katz et al. 2025).
File: ModelDsummarystats.csv
Description: Summary statistics from the rpart package for Model D (corresponds with Model 1d in Katz et al. 2025).
File: full_dataset_evals.csv
Description: Sensitivity, specificity, and accuracy evaluation of the four top-performing CART models. The training, testing, and full datasets were evaluated. These outputs correspond with Table SC1 in Katz et al. 2025, Supplement C.
Variables
- Model: Model name (A-D, correspond with models 1a-d in Katz et al. 2025)
- Seed: Random number seed used to split local habitat data into training (60%) and testing (40%) data
- minsplit: Minimum number of observations required to split a node
- Train.Accuracy: Unpruned tree classification accuracy (training dataset)
- Test.Accuracy: Unpruned tree classification accuracy (testing dataset)
- Prune.Accuracy: Pruned tree classification accuracy (testing dataset, tree pruned using 1-SE rule)
- Sensitivity.prune: Pruned tree sensitivity (true positive rate; testing dataset)
- Specificity.prune: Pruned tree specificity (true negative rate; testing dataset)
- First.splitting.var: First splitting variable for this model
- Second.splitting.var: Second splitting variable for this model
- Third.splitting.var: Third splitting variable for this model (if applicable)
- Accuracy: Pruned tree classification accuracy (full dataset)
- Sensitivity.full: Pruned tree sensitivity (true positive rate; full dataset)
- Specificity.full: Pruned tree specificity (true negative rate; full dataset)
Figures and tables
File: HighestSensitivity-ModelA.tif
Description: Corresponds with Figure SC1 in Katz et al. 2025 (Supplement C). Classification and regression tree (CART) model of bridle shiner (Notropis bifrenatus) presence-absence (2021-2022) as a response to 76 local habitat variables in Maine. Of the four top models, this model (Model 1a) had the highest sensitivity (76.5% true positive rate) but lowest overall classification accuracy (72.6%; Table SC1). Habitat variable abbreviations: “subm” refers to the proportion of the site dominated by submerged aquatic vegetation and “MYRISP” refers to the presence of Myriophyllum spp. (watermilfoils including M. heterophyllum; Table 1).
File: HighestSensitivity-ModelB.tif
Description: Classification and regression tree (CART) model of bridle shiner (Notropis bifrenatus) presence-absence (2021-2022) as a response to 76 local habitat variables in Maine. Of the four top models, this model (Model 1b) had a sensitivity/true positive rate of 58.8% and an overall classification accuracy of 81.1% (Table SC1 in Supplement C of Katz et al. 2025). Habitat variable abbreviations: “dom.substrate” refers to the dominant substrate at the site; "GRASS" refers to the presence of aquatic/wetland grass species (e.g., Leersia oryzoides, Glyceria spp.) at a site; "PONCOR" refers to the presence of Pontederia cordata (pickerelweed) at a site (Table 1).
File: HighestPruneAccuracy-ModelC.tif
Description: Corresponds with Figure SC2 in Katz et al. 2025 (Supplement C). Classification and regression tree (CART) model of bridle shiner (Notropis bifrenatus) presence-absence (2021-2022) as a response to 76 local habitat variables in Maine. Of the four top models, this model (Model 1c) had the highest classification accuracy (91.6%) but lowest sensitivity (58.8% true positive rate; Table SC1). Habitat variable abbreviations: “subm” refers to the proportion of the site dominated by submerged aquatic vegetation; “MYRISP” refers to the presence of Myriophyllum spp. (watermilfoils including M. heterophyllum); “prop.org.subst” refers to the proportion of the site dominated by organic substrates; “emerg.cattail” refers to the proportion of the site dominated by cattails (Typha spp.); “POTNAT” refers to the presence of Potamogeton natans (floating pondweed; Table 1).
File: HighestPruneAccuracy-ModelD.tif
Description: Classification and regression tree (CART) model of bridle shiner (Notropis bifrenatus) presence-absence (2021-2022) as a response to 76 local habitat variables in Maine. Of the four top models, this model (Model 1d) had the second-highest classification accuracy (90.5%) but lowest sensitivity (47.1% true positive rate; Table SC1). Habitat variable abbreviations: “MYRISP” refers to the presence of Myriophyllum spp. (watermilfoils including M. heterophyllum); “prop.sm.subst” refers to the proportion of the site dominated by small, inorganic substrates; “TDS” refers to the level of total dissolved solids (ppm) at the site; “elevation” refers to the mean elevation at the site in meters (Table 1).
File: top_model_predict.csv
Description: Corresponds with Table SC2 in Katz et al. 2025 (Supplement C). Predictions of the top four classification and regression tree (CART) models of bridle shiner (Notropis bifrenatus) local habitat associations and the proportion of models that correctly classified occupancy at each site.
Variables
- Site: Each row of the dataset corresponds to one site surveyed for bridle shiners (Notropis bifrenatus) between 2021 and 2022. Sites were surveyed using environmental DNA (eDNA), and some sites were also surveyed via seine netting to validate eDNA results.
- Occ: True occupancy value (determined via eDNA and/or seine net survey)
- Model.A: Model 1a's predicted occupancy at the site
- Model.B: Model 1b's predicted occupancy at the site
- Model.C: Model 1c's predicted occupancy at the site
- Model.D: Model 1d's predicted occupancy at the site
- correct: Percentage of models that correctly predicted occupancy at each site
Files and variables: Species distribution models (Maine & New Hampshire)
Raster datasets
File: Elevation_HUC6_30m.tif
Description: Elevation raster encompassing New England. 30-m resolution, projection: NAD83 UTM Zone 19N. Used to calculate pseudo-HUC14 polygons in code "1_GRASS-GIS.Rmd". Downloaded from Google Earth Engine (public domain data from USGS) at https://developers.google.com/earth-engine/datasets/catalog/USGS_3DEP_10m.
File: HUC10-100km.tif
Description: Mask raster clipped to the outline of all HUC10s that fall within a 100-km radius of the known bridle shiner range (Saco and Merrimack HUC6 basins). Resolution: 30-m. Projection: NAD 1983 UTM Zone 19N.
File: landfire_MENH_sw_300m.tif
Description: LANDFIRE (Rollins 2009) raster projected to NAD83 UTM Zone 19N, clipped to the outline of Maine and New Hampshire, with duplicate landcover classes merged, resampled to a 300-m resolution. Originally downloaded at a 30-m resolution from Google Earth Engine (public domain data) at https://developers.google.com/earth-engine/datasets/catalog/LANDFIRE_Vegetation_BPS_v1_4_0.
Shapefiles
File: BoundingBoxHomolosine.zip
Description: Bounding box used in the "3_SoilGrid_downloads.Rmd" script to mark the region of interest. Needs to be in the Homolosine projection.
File: Maine_boundary.zip
Description: Shapefile of the State of Maine boundary with islands removed. Projected coordinate system: NAD 1983 UTM Zone 19N. Source (public domain data): https://maine.hub.arcgis.com/datasets/maine::maine-town-and-townships-boundary-polygons-feature-1/explore
File: SacoMerrimackHUC6.zip
Description: Shapefile of the known bridle shiner range in Maine and New Hampshire. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: Model_extent.zip
Description: Shapefile of the model extent of the BIOMOD2 species distribution models. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: Marine_habitats.zip
Description: Shapefile of marine habitats used to remove areas of newly-generated pseudo-HUC14 drainages that extend beyond the coastline. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: small_hucs.zip
Description: Shapefile of pseudo-HUC14 drainage polygons created by the "1_GRASS-GIS.Rmd" script. Clipped to the coastline and to only include drainages within a 50-km radius of the known bridle shiner range. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: large_hucs.zip
Description: Shapefile of HUC12 drainage polygons within a 50-km radius of the known bridle shiner range. Clipped to the coastline in "1_GRASS-GIS.Rmd" script. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: CurrentBridleShinerPoints.zip
Description: This shapefile is created by the "2_PresenceAbsencePoints.Rmd" script and includes all point locations for current (2009-2022) bridle shiner surveys in Maine and New Hampshire. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: HistoricalBridleShinerPoints.zip
Description: This shapefile is created by the "2_PresenceAbsencePoints.Rmd" script and includes all point locations for historical (1898-2008) bridle shiner surveys in Maine and New Hampshire. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: AllBridleShinerPoints.zip
Description: This shapefile is created by the "2_PresenceAbsencePoints.Rmd" script and combines all bridle shiner survey points in Maine and New Hampshire (1898-2022). Projected coordinate system: NAD 1983 UTM Zone 19N.
File: CurrentPointsGroupedME.zip
Description: Intermediate output of the "2_PresenceAbsencePoints.Rmd script". Shapefile of Maine survey points (2021-2022) assigned to groups based on survey site. For example, all eDNA replicate point locations and all seine haul point locations at the site "OCSACO" were assigned to the "OCSACO" point group to calculate a mean point location in R. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: CurrentPointsGroupedNH.zip
Description: Intermediate output of the "2_PresenceAbsencePoints.Rmd" script. Shapefile of New Hampshire survey points (2009-2022) assigned to groups based on survey site. Groups were assigned based on proximity and on site description in ArcGIS Pro. For example, the 2019 and 2020 surveys of the Pemingewasset Lake outlet were assigned to the same point group to calculate a mean point location in R.
Points were assigned to different groups if they were in close proximity but were separated by a barrier (e.g., culverts, dams, open or flowing water). Projected coordinate system: NAD 1983 UTM Zone 19N.
Input data
File: rcls_values.csv
Description: This CSV identifies duplicate and triplicate raster cell classifications for the same LANDFIRE landcover type and provides one classification value for each type. Input data for the "4_LANDFIRE_by_HUCs.Rmd" script.
Variables
- from: Original raster cell classification from the LANDFIRE Biophysical Settings dataset.
- to: Reclassified raster cell classification.
File: NH_BS_data_dryad.csv
Description: New Hampshire Fish and Game Dept. (NHFGD) bridle shiner survey data from M. Carpenter (excluding columns not used in subsequent analyses). '9999' and '-9999' are used instead of 'NA' in integer columns so that unknowns can be distinguished from zeroes in ArcGIS Pro.
Variables
- ACT_ID: Site ID in yyyymmdd-hhmm-project-waterbody-town-method format
- Year: Year surveyed (if known). Unknown years are labeled with -9999 if the survey marked a historical site (1898-2008) and with 9999 if the survey marked a recently-visited site (2009-2022).
- Date: Date surveyed in yyyymmdd format. Unknown survey dates are left blank.
- Time: Survey time. Unknown times are left blank.
- Project: NHFGD project code. "BS" refers to targeted bridle shiner surveys, all other project names refer to incidental bridle shiner observations. Unknown project names are marked "UNK".
- Water_Body: Waterbody name of survey site. Later changed to comply with GNIS place names (https://www.usgs.gov/tools/geographic-names-information-system-gnis).
- Site_Name: A local name for a site within the larger waterbody (e.g., Fish Cove within Lake Winnipesaukee). Sites without a name were left blank.
- Town: Town or towns where the survey took place
- County: County where the survey took place (some are blank).
- Gear: Survey gear
- 'DIPNET': dip net survey
- 'SEINE': seine net survey
- 'EBOAT': electrofishing boat survey
- 'EFISH': backpack electrofishing survey
- 'MINNOWTRAP': minnow traps deployed
- Blank: Unknown survey method
- Lat_Start: Latitude in decimal degrees of the survey or survey start point
- Long_Start: Longitude in decimal degrees of the survey or survey start point
- Survey_location_description: Free text describing survey location or left blank (sometimes marked with a 0 to denote no data).
- Survey_comments: Free text describing habitat, bridle shiner abundance, or the origin of the survey record. Left blank or marked with a 0 when there were no comments.
- BS: Bridle shiner presence at site
- 'P': present
- 'A': not detected
File: BDSHistoricalRecords.csv
Description: Historical (1898-2010) incidental bridle shiner observations in Maine. Compiled from Maine Dept. of Inland Fisheries and Wildlife records, Kendall 1914, Maine Aquatic Biodiversity Project, Fishmap.org, EPA Environmental Monitoring and Assessment Program (EMAP), Doering et al. 1995, and stream fish surveys via M. Gallagher (MDIFW). '-9999' is used instead of 'NA' in integer columns so that unknowns can be distinguished from zeroes in ArcGIS Pro.
Variables
- Source: Source of the survey point
- Date: Date first surveyed in mm/dd/yyyy format (if known). Unknowns denoted with "NA".
- Year_Est: Year first surveyed (if known). Unknowns denoted with "Unknown".
- YearSamp: Year last sampled (if known). Unknowns denoted with "Unknown".
- WBType: "LakePond" or "StreamRiver"
- Water_Body: Waterbody name. Later changed to comply with GNIS place names (https://www.usgs.gov/tools/geographic-names-information-system-gnis).
- State: "ME" for Maine
- Site_Name: Site name assigned by L. Katz during 2021-2022 bridle shiner surveys. Sites that were not surveyed during this period have a site name that corresponds with their respective waterbody name.
- Site_code: MDIFW site name (if applicable), left blank if none exists.
- SiteHist: Free text describing the history of the site or of bridle shiners at the site. Left blank if none exists.
- Abundance: Bridle shiner abundance at the site (if known, else left blank).
- East_new: Corrected easting of site point (some points needed to be snapped to the nearest NHD flowline so they did not appear on land). All points were given an easting value regardless of whether they were corrected. -9999 indicates an unknown location (no point).
- North_new: Corrected northing of site point (some points needed to be snapped to the nearest NHD flowline so they did not appear on land). All points were given a northing value regardless of whether they were corrected. -9999 indicates an unknown location (no point).
- BS_Pres: Bridle shiner presence at the site
- 'Historical': A historical record of presence
- 'Historic record, likely misidentified or miscoded': A historical record of presence that was most likely a misidentification, typo, or introduction due to its location far outside the known bridle shiner range in Maine. Determined by M. Gallagher (MDIFW).
- HStatus
- 'Present in waterbody': Historical presence with a known survey location (or at least a known waterbody or stream reach)
- 'Present (likely misidentified or miscoded)': most likely a misidentification, typo, or introduction due to its location far outside the known bridle shiner range in Maine.
- 'Present in vicinity of coordinates': Coordinates do not denote the exact location where bridle shiners were found.
- 'Present in county': No specific location known. Not included in future analyses.
- CStatus: All 'NA'. This column is a placeholder column for current status (added in R script).
- hOccu: A '1' denotes presence, a '-9999' denotes presences that were likely misidentified or miscoded.
- cOccu: Placeholder column for current surveys (all set to '-9999').
- PointType: Details of how the location was obtained and how precise it is.
- TopUTMX: Electrofishing easting coordinate from MDIFW surveys (top of the surveyed reach). Left blank if not applicable.
- TopUTMY: Electrofishing northing coordinate from MDIFW surveys (top of the surveyed reach). Left blank if not applicable.
- BtmUTMX: Electrofishing easting coordinate from MDIFW surveys (bottom of the surveyed reach). Left blank if not applicable.
- BtmUTMY: Electrofishing northing coordinate from MDIFW surveys (bottom of the surveyed reach). Left blank if not applicable.
- LengthSection: Length of the surveyed reach in meters from MDIFW surveys. Left blank if not applicable or not recorded.
- AveWidth: Average width of the surveyed reach in meters from MDIFW surveys. Left blank if not applicable.
File: BDS_all_points_current.csv
Description: Maine bridle shiner surveys conducted by L. Katz in 2021-2022. '9999' (2009-2022) and '-9999' (before 2008) are used instead of 'NA' in integer columns so that unknowns can be distinguished from zeroes in ArcGIS Pro.
Variables
- Date: Survey date in m/d/yyyy format.
- SiteName: Site name assigned by L. Katz.
- WaterBody: Waterbody name. Later changed to comply with GNIS place names (https://www.usgs.gov/tools/geographic-names-information-system-gnis).
- County: County where survey took place.
- Town: Town where survey took place.
- SamplingNotes: Details of the survey location or left blank.
- Subsite: Seine net subsite if applicable, otherwise given an 'NA'.
- Sample: Seine haul number (1-8) or eDNA replicate (R1, R2, Control, etc.). There are 2-4 rows per eDNA replicate depending on whether four 250-mL bottles (2021) or two 500-mL bottles (2022) were used to collect water.
- Datum: Datum of survey point: either collected in the field (NAD-83) or later digitized based on Google Earth imagery (WGS-84). Digitization was sometimes necessary when survey GPS points were not accurate enough.
- Easting: Easting (NAD83 UTM Zone 19N) of survey point
- Northing: Northing (NAD83 UTM Zone 19N) of survey point
- BDS_PA:
- '1': Bridle shiners detected
- '0': Bridle shiners not detected in sample
- '-9999': Sample unusable or lost, unknown bridle shiner presence
- SurveyMethod: Seine net (1 row per haul) or eDNA (1 row per water sample)
- PointGroup: Column left blank to be filled in with the "2_PresenceAbsencePoints.Rmd" script.
Analysis and intermediate outputs
File: 1_GRASS-GIS.Rmd
Description: This script creates drainages using GRASS GIS in R.
Required inputs
- Geodatabase of Watershed Boundary Dataset for 2-digit HUC 01 (via https://www.sciencebase.gov/catalog/item/5a03bdb3e4b0dc0b45b31a81)
- NHD geodatabase for Maine (via https://www.sciencebase.gov/catalog/item/61f8b8dad34e622189c32914)
- DEM raster provided ("Elevation_HUC6_30m.tif")
- Extent shapefile of the known bridle shiner range in Maine and New Hampshire: "SacoMerrimackHUC6.shp"
- Mask raster: "HUC10-100km.tif"
File: 2_PresenceAbsencePoints.Rmd
Description: This script organizes Maine and New Hampshire bridle shiner surveys into historical (1898-2008) and current (2009-2022) point locations.
Required inputs
- Maine historical bridle shiner surveys: "BDSHistoricalRecords.csv"
- New Hampshire bridle shiner surveys through 2022: "NH_BS_data_dryad.csv"
- Maine 2021-2022 bridle shiner surveys: "BDS_all_points_current.csv"
- Maine points with group labels to combine surveys at the same site over different years or different replicate locations of the same surveys. Groups assigned manually in ArcGIS Pro by L. Katz: "CurrentPointsGrouped.shp"
- New Hampshire points with group labels to combine surveys at the same site over different years or different replicate locations of the same surveys. Groups assigned manually in ArcGIS Pro by L. Katz: "CurrentPointsGroupedNH.shp"
File: input_points_S_pa_curr.zip
Description: Pseudo-HUC14 ("small" drainage) centroid points joined with current (2009-2022) bridle shiner presence-absence data and environmental covariates. Intermediate output of the "2_PresenceAbsencePoints.Rmd" script and input for the "4_LANDFIRE_by_HUCs.Rmd" script. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: input_points_L_pa_curr.zip
Description: HUC12 ("large" drainage) centroid points joined with current (2009-2022) bridle shiner presence-absence data and environmental covariates. Intermediate output of the "2_PresenceAbsencePoints.Rmd" script and input for the "4_LANDFIRE_by_HUCs.Rmd" script. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: input_points_S_pa_hist.zip
Description: Pseudo-HUC14 ("small" drainage) centroid points joined with historical (1898-2008) bridle shiner presence-absence data and environmental covariates. Intermediate output of the "2_PresenceAbsencePoints.Rmd" script and input for the "4_LANDFIRE_by_HUCs.Rmd" script. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: input_points_L_pa_hist.zip
Description: HUC12 ("large" drainage) centroid points joined with historical (1898-2008) bridle shiner presence-absence data and environmental covariates. Intermediate output of the "2_PresenceAbsencePoints.Rmd" script and input for the "4_LANDFIRE_by_HUCs.Rmd" script. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: 3_SoilGrid_downloads.Rmd
Description: This script downloads soil content rasters from SoilGrids (Poggio et al. 2021). Rasters are at a 250-m resolution and are converted to the NAD83 UTM Zone 19N projection before use in the next script. Rasters show the mean soil content at a depth of 0-5cm.
Required inputs
- BoundingBoxHomolosine.shp
File: 4_LANDFIRE_by_HUCs.Rmd
Description: This script calculates the proportion of each drainage covered by each LANDFIRE habitat type and lithology class, the mean soil composition in the drainage, and the mean elevation of the drainage. It then joins the bridle shiner presence-absence points to the drainage polygons and environmental variables. It then creates the point shapefiles used in the "5_BDSbiomod.Rmd" script.
Required inputs
- SacoMerrimackHUC6.shp
- Marine_habitats.shp
- Model_extent.shp
- rcls_values.csv
- small_hucs.shp
- large_hucs.shp
- landfire_MENH_sw_300m.tif
- Lithology raster (download at a 90m resolution from Google Earth Engine: https://developers.google.com/earth-engine/datasets/catalog/CSP_ERGo_1_0_US_lithology)
- Elevation_HUC6_30m.tif
- Clay content raster via SoilGrids.org (must be downloaded/projected to NAD83 UTM Zone 19N with the "3_SoilGrid_downloads.Rmd" script)
- Sand content raster via SoilGrids.org (must be downloaded/projected to NAD83 UTM Zone 19N with the "3_SoilGrid_downloads.Rmd" script)
- Silt content raster via SoilGrids.org (must be downloaded/projected to NAD83 UTM Zone 19N with the "3_SoilGrid_downloads.Rmd" script)
- CurrentBridleShinerPoints.shp
- HistoricalBridleShinerPoints.shp
- Maine_boundary.shp
- New Hampshire boundary polygon (can be downloaded from NH GRANIT GIS at https://new-hampshire-geodata-portal-1-nhgranit.hub.arcgis.com/datasets/722120928dc148bf9a5c9ac7ad1c4a7c_6/explore?location=43.981797%2C-71.629700%2C7.93)
File: 5_BDSbiomod.Rmd
Description: This script generates and evaluates ensemble bridle shiner species distribution models using the biomod2 package in Program R. A detailed description of the methods and hyperparameters can be found in Katz et al. 2025, Supplement F.
Required inputs
- "5_BDSbiomod_functions.R" script
- input_points_S_pa_curr.shp
- input_points_L_pa_curr.shp
- input_points_S_pa_hist.shp
- input_points_L_pa_hist.shp
File: 5_BDSbiomod_functions.R
Description: This code defines the functions prep_env, model.params, and biomod_loop used in the "5_BDSbiomod.Rmd" script.
Outputs
File: cL_final_prediction.zip
Description: This shapefile contains the final ensemble model output of current (2009-2022) predicted bridle shiner presence at the HUC12 ("coarse" or "large") scale. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: cS_final_prediction.zip
Description: This shapefile contains the final ensemble model output of current (2009-2022) predicted bridle shiner presence at the pseudo-HUC14 ("fine" or "small") scale. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: hS_final_prediction.zip
Description: This shapefile contains the final ensemble model output of historical (1898-2008) predicted bridle shiner presence at the pseudo-HUC14 ("fine" or "small") scale. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: hL_final_prediction.zip
Description: This shapefile contains the final ensemble model output of historical (1898-2008) predicted bridle shiner presence at the HUC12 ("coarse" or "large") scale. Projected coordinate system: NAD 1983 UTM Zone 19N.
File: change_large_hucs.zip
Description: This shapefile shows the predicted ensemble model output at the HUC12 scale. For each drainage, a change of '0' means that presence was not predicted to differ between the two time scales (historical and current). A change of '-1' means that bridle shiners were predicted to be present by the historical model and predicted to be absent by the current model (predicted habitat loss). A change of '1' means that bridle shiners in were predicted to be absent by the historical model and predicted to be present by the current model (predicted habitat gain). Projected coordinate system: NAD 1983 UTM Zone 19N.
File: change_small_hucs.zip
Description: This shapefile shows the predicted ensemble model output at the pseudo-HUC14 scale. For each drainage, a change of '0' means that presence was not predicted to differ between the two time scales (historical and current). A change of '-1' means that bridle shiners were predicted to be present by the historical model and predicted to be absent by the current model (predicted habitat loss). A change of '1' means that bridle shiners in were predicted to be absent by the historical model and predicted to be present by the current model (predicted habitat gain). Projected coordinate system: NAD 1983 UTM Zone 19N.
File: CurrentBridleShinerPoints.csv
Description: Output csv of "2_PresenceAbsencePoints.Rmd" script that corresponds with the CurrentBridleShinerPoints shapefile. '9999' is used instead of 'NA' in integer columns so that unknowns can be distinguished from zeroes in ArcGIS Pro.
Variables
- row: Row number
- Source: Updated sources of the survey points
- Year: Year of survey or '9999' for surveys conducted sometime between 2009 and 2022 (no precise year known).
- Date: Date surveyed in m/d/yyyy format (if known, otherwise 'NA').
- WBType: LakePond or StreamRiver. Lake/pond inlet and outlet surveys were classified as 'LakePond' if they fell within the lake/pond boundary and as 'StreamRiver' if they fell outside of the lake/pond boundary.
- WaterBody: Waterbody names from GNIS
- State: 'ME' for Maine or 'NH' for New Hampshire
- Mean_x: Mean easting coordinate of the surveyed group of points
- Mean_y: Mean northing coordinate of the surveyed group of points
- SiteName: Surveyed site name
- SiteCode: A unique identifier for each survey point
- SiteHist: Free text with site descriptions, site histories, and notes on bridle shiner abundance.
- BS_Pres: Bridle shiner presence at site
- 'Historically present in waterbody': A known historical record of bridle shiner presence at this site
- 'Current': This site has no historical record of occupancy but currently supports bridle shiners
- 'Historically present in river': Bridle shiners historically occupied the river reach or nearby reaches of the same river
- 'Historically present in vicinity of coordinates': There is a historical record of nearby occupancy, but no precise coordinates
- 'No historical record of occupancy': This site has no historical record of occupancy and no bridle shiners were detected
- 'Historically present in the river and surrounding watershed': There is a historical record of nearby occupancy within the same watershed but not necessarily the same river. No precise coordinates known.
- CStatus: Current occupancy status
- 'Absent': Not detected during the most recent site survey
- 'Extirpated': Bridle shiners known to be extirpated from a site (some sites in NH)
- 'Present': Bridle shiners were detected during a recent site survey
- 'Presumed extirpated': Bridle shiners were likely extirpated from the site but may persist at low abundances and are difficult to detect.
- cOccu: Occupancy status (binary)
- '1': Detected
- '0': Not detected
- PointType: How the survey point was calculated (e.g., digitized, GPS point, mean center point of multiple surveys)
File: HistoricalBridleShinerPoints.csv
Description: Output csv of "2_PresenceAbsencePoints.Rmd" script that corresponds with the HistoricalBridleShinerPoints shapefile. '-9999' is used instead of 'NA' in integer columns so that unknowns can be distinguished from zeroes in ArcGIS Pro.
Variables
- row: Row number
- Source: Updated sources of the survey points
- Year: Year of survey or '-9999' for surveys conducted sometime before 2008 (no precise year known).
- Date: Date surveyed in m/d/yyyy format (if known, otherwise 'NA').
- WBType: LakePond or StreamRiver. Lake/pond inlet and outlet surveys were classified as 'LakePond' if they fell within the lake/pond boundary and as 'StreamRiver' if they fell outside of the lake/pond boundary.
- WaterBody: Waterbody names from GNIS
- x: Easting
- y: Northing
- State: 'ME' for Maine or 'NH' for New Hampshire
- Site_Name: Surveyed site name
- Site_code: A unique identifier for each survey point
- SiteHist: Free text with site descriptions, site histories, and notes on bridle shiner abundance.
- BS_Pres: Bridle shiner presence at site
- 'Historical': A known historical record of bridle shiner presence at this site
- 'Historic record, likely misidentified or miscoded': A historical record of presence that was most likely a misidentification, typo, or introduction due to its location far outside the known bridle shiner range in Maine. Determined by M. Gallagher (MDIFW).
- HStatus: History of bridle shiner occupancy at the site
- 'Present': Historical record of presence at the coordinates
- 'Present in waterbody': Historical presence within the same waterbody as the coordinates, but the location within the waterbody is not known
- 'Present (likely misidentified or miscoded)': most likely a misidentification, typo, or introduction due to its location far outside the known bridle shiner range in Maine.
- 'Present in vicinity of coordinates': Coordinates do not denote the exact location where bridle shiners were found.
- hOccu: Historical occupancy (binary)
- '1': Present
- '-9999': Likely misidentified or miscoded, or the centerpoint of a large lake that should not be included in species distribution models as a presence
- PointType: How the survey point was calculated (e.g., digitized, GPS point, mean center point of multiple surveys) or other details about the point.
Code/software
Local habitat models
Software needed:
These analyses were performed using Program R version 4.3.3.
Required packages
rparttidyverseforeachparallelrattlerpart.plot
R scripts
File: BridleShinerHabitatModels.Rproj
Description: R project file for local and species distribution models.
File: LocalHabitatCART.Rmd
Description: This code builds classification and regression trees (CART) to determine which environmental variable(s) best distinguish between sites with bridle shiners and sites without bridle shiners. This is a nonparametric procedure that can be applied to datasets with mixed data types and missing values. The explanatory variables are a mix of categorical, binary, and continuous variables.
Species distribution models
Software needed:
These analyses were performed using Program R version 4.3.3, GRASS-GIS version 8.3, and ArcGIS Pro (visualization and mapping purposes).
R scripts
File: BridleShinerHabitatModels.Rproj
Description: R project file for local and species distribution models.
File: 1_GRASS-GIS.Rmd
Description: This script creates drainages using GRASS GIS in R.
rgrasslink2GItmapdplyrterrasf
- Geodatabase of Watershed Boundary Dataset for 2-digit HUC 01 (via https://www.sciencebase.gov/catalog/item/5a03bdb3e4b0dc0b45b31a81)
- NHD geodatabase for Maine (via https://www.sciencebase.gov/catalog/item/61f8b8dad34e622189c32914)
- DEM raster provided ("Elevation_HUC6_30m.tif")
- Extent shapefile of the known bridle shiner range in Maine and New Hampshire: "SacoMerrimackHUC6.shp"
- Mask raster: "HUC10-100km.tif"
File: 2_PresenceAbsencePoints.Rmd
Description: This script organizes Maine and New Hampshire bridle shiner surveys into historical (1898-2008) and current (2009-2022) point locations.
tidyversesflubridateoce
- Maine historical bridle shiner surveys: "BDSHistoricalRecords.csv"
- New Hampshire bridle shiner surveys through 2022: "NH_BS_data_dryad.csv"
- Maine 2021-2022 bridle shiner surveys: "BDS_all_points_current.csv"
- Maine points with group labels to combine surveys at the same site over different years or different replicate locations of the same surveys. Groups assigned manually in ArcGIS Pro by L. Katz: "CurrentPointsGrouped.shp"
- New Hampshire points with group labels to combine surveys at the same site over different years or different replicate locations of the same surveys. Groups assigned manually in ArcGIS Pro by L. Katz: "CurrentPointsGroupedNH.shp"
File: 3_SoilGrid_downloads.Rmd
Description: This script downloads soil content rasters from SoilGrids (Poggio et al. 2021). Rasters are at a 250-m resolution and are converted to the NAD83 UTM Zone 19N projection before use in the next script. Rasters show the mean soil content at a depth of 0-5cm.
XMLrgdalgdalUtilitiesrastersfdplyr
- BoundingBoxHomolosine.shp
File: 4_LANDFIRE_by_HUCs.Rmd
Description: This script calculates the proportion of each drainage covered by each LANDFIRE habitat type and lithology class, the mean soil composition in the drainage, and the mean elevation of the drainage. It then joins the bridle shiner presence-absence points to the drainage polygons and environmental variables. It then creates the point shapefiles used in the "5_BDSbiomod.Rmd" script.
rasterterratidyterratidyversesfggplot2ggspatial
- SacoMerrimackHUC6.shp
- Marine_habitats.shp
- Model_extent.shp
- rcls_values.csv
- small_hucs.shp
- large_hucs.shp
- landfire_MENH_sw_300m.tif
- Lithology raster from Earth Engine Data Catalog (https://developers.google.com/earth-engine/datasets/catalog/CSP_ERGo_1_0_US_lithology)
- Elevation_HUC6_30m.tif
- SoilGrids.org clay content raster
- SoilGrids.org sand content raster
- SoilGrids.org silt content raster
- CurrentBridleShinerPoints.shp
- HistoricalBridleShinerPoints.shp
- Maine_boundary.shp
- New Hampshire boundary polygon shapefile from NH GRANIT GIS (https://new-hampshire-geodata-portal-1-nhgranit.hub.arcgis.com/datasets/722120928dc148bf9a5c9ac7ad1c4a7c_6/explore?location=43.981797%2C-71.629700%2C7.93)
File: 5_BDSbiomod.Rmd
Description: This script generates and evaluates ensemble bridle shiner species distribution models using the biomod2 package in Program R. A detailed description of the methods and hyperparameters can be found in Katz et al. 2025, Supplement F.
biomod2corrplotsftidyversestatsreshapeggtextrandomForestreshape2parallelpROCmatrixStatsmodeestterratidyterraviridis
- "5_BDSbiomod_functions.R" script
- input_points_S_pa_curr.shp
- input_points_L_pa_curr.shp
- input_points_S_pa_hist.shp
- input_points_L_pa_hist.shp
File: 5_BDSbiomod_functions.R
Description: This code defines the functions prep_env, model.params, and biomod_loop used in the "5_BDSbiomod.Rmd" script.
Access information
Other publicly accessible locations of the data:
Data were derived from the following sources:
- Canopy cover: https://www.mrlc.gov/data/nlcd-2016-usfs-tree-canopy-cover-conus-0
- Maine stream fish surveys (historical): http://www.gulfofmaine.org/kb/2.0/record.html?recordid=9233
- Maine stream fish surveys (recent): http://www.gulfofmaine.org/kb/2.0/record.html?recordid=9234
- SoilGrids: https://soilgrids.org
- New Hampshire fish survey map: https://nhfg.maps.arcgis.com/apps/MapJournal/index.html?appid=d6549e90155b441fa0e29bdc44eebc2b#
- Fishmap.org: https://fishmap.org/species/Bridle-Shiner.html
- USEPA Regional Environmental Monitoring and Assessment Program: https://archive.epa.gov/emap/archive-emap/web/html/index-158.html
- Maine Aquatic Biodiversity Project Database: https://www.gulfofmaine.org/kb/2.0/record.html?recordid=9790
- Lithology dataset: https://developers.google.com/earth-engine/datasets/catalog/CSP_ERGo_1_0_US_lithology
- LANDFIRE Biophysical Settings: https://developers.google.com/earth-engine/datasets/catalog/LANDFIRE_Vegetation_BPS_v1_4_0
- Digital elevation model: https://developers.google.com/earth-engine/datasets/catalog/USGS_3DEP_10m
- USGS Watershed Boundary Dataset: https://www.sciencebase.gov/catalog/item/5a03bdb3e4b0dc0b45b31a81
- USGS National Hydrography Dataset (Maine): https://www.sciencebase.gov/catalog/item/61f8b8dad34e622189c32914
- Maine Town and Townships Boundary Polygons: https://maine.hub.arcgis.com/datasets/289a91e826fd4f518debdd824d5dd16d
- New Hampshire boundary polygons: https://new-hampshire-geodata-portal-1-nhgranit.hub.arcgis.com/datasets/722120928dc148bf9a5c9ac7ad1c4a7c_6/explore?location=44.241790%2C-72.954468%2C9.81
- National Wetlands Inventory (for marine/freshwater boundary): https://fwsprimary.wim.usgs.gov/wetlands/apps/wetlands-mapper/
