| Title: | Conducts Analyses Informing Ecosystem Restoration Decisions |
|---|---|
| Description: | Three sets of data and functions for informing ecosystem restoration decisions, particularly in the context of the U.S. Army Corps of Engineers. First, model parameters are compiled as a data set and associated metadata for over 300 habitat suitability models developed by the U.S. Fish and Wildlife Service (USFWS 1980, <https://www.fws.gov/policy-library/870fw1>). Second, functions for conducting habitat suitability analyses both for the models described above as well as generic user-specified model parameterizations. Third, a suite of decision support tools for conducting cost-effectiveness and incremental cost analyses (Robinson et al. 1995, IWR Report 95-R-1, U.S. Army Corps of Engineers). |
| Authors: | S. Kyle McKay [aut, cre] (ORCID: <https://orcid.org/0000-0003-2703-3841>), Darixa D. Hernandez-Abrams [aut], Kiara C. Cushway [aut] |
| Maintainer: | S. Kyle McKay <[email protected]> |
| License: | CC0 |
| Version: | 2.0.3 |
| Built: | 2026-05-21 17:17:54 UTC |
| Source: | https://github.com/cran/ecorest |
annualizer computes time-averaged quantities based on linear interpolation.
annualizer(timevec, benefits)annualizer(timevec, benefits)
timevec |
a numeric vector, matrix, or data frame of time intervals. |
benefits |
a numeric vector, matrix, or data frame of ecological output values for a single condition (e.g., future with project) to be interpolated. |
A time-averaged value over the specified time horizon.
Robinson R., Hansen W., and Orth K. 1995. Evaluation of environmental investments procedures manual interim: Cost effectiveness and incremental cost analyses. IWR Report 95-R-1. Institute for Water Resources, U.S. Army Corps of Engineers, Alexandria, Virginia.
#Constant value through time annualizer(c(0,50), c(100,100)) annualizer(seq(0,50), rep(100,51)) #Simple time series annualizer(seq(0,50), seq(0,50)) #User-specified time intervals demo.timevec <- c(0,2,20,50) demo.ben <- c(0,100,90,80) annualizer(demo.timevec, demo.ben)#Constant value through time annualizer(c(0,50), c(100,100)) annualizer(seq(0,50), rep(100,51)) #Simple time series annualizer(seq(0,50), seq(0,50)) #User-specified time intervals demo.timevec <- c(0,2,20,50) demo.ben <- c(0,100,90,80) annualizer(demo.timevec, demo.ben)
BBfinder this analysis examines the slope of the cost-effectiveness frontier to
isolate how unit cost (cost/benefit) increases with increasing environmental benefit.
Restoration actions with the lowest slope of unit cost are considered "best buys".
BBfinder(benefit, cost, CE)BBfinder(benefit, cost, CE)
benefit |
a vector, matrix, or data frame of restoration benefits. Typically, these are time-averaged ecological outcomes (e.g., average annual habitat units). Often project benefits are best presented as the "lift" associated with a restoration action (i.e., the benefits of an alternative minus the benefits of a "no action" plan). |
cost |
a vector, matrix, or data frame of restoration costs. Typically, these are monetary costs associated with a given restoration action such as project first cost or annualized economic cost. Notably, these functions are agnostic to units, so costs could also be non-monetary such as lost political capital or social costs of each alternative. |
CE |
a numeric vector, matrix, or data frame of 0's and 1's indicating whether a plan is cost-effective (1) or non-cost-effective (0). Can be derived from ecorest::CEfinder. |
A list with summaries of all restoration actions as well as best buy plans only.
Robinson R., Hansen W., and Orth K. 1995. Evaluation of environmental investments procedures manual interim: Cost effectiveness and incremental cost analyses. IWR Report 95-R-1. Institute for Water Resources, U.S. Army Corps of Engineers, Alexandria, Virginia
#Identify cost-effective actions based on random vectors of benefits and costs benefit <- runif(50,min=0,max=10) cost <- runif(50, min=0,max=1000) CE <- CEfinder(benefit, cost) BBfinder(benefit, cost, CE) #Identify cost-effective actions based on a small number of user-specified benefits and costs restben <- c(0, 10, 5, 20, 20) restcost <- c(0, 100, 100, 200, 150) restCE <- CEfinder(restben, restcost) BBfinder(restben, restcost, restCE)#Identify cost-effective actions based on random vectors of benefits and costs benefit <- runif(50,min=0,max=10) cost <- runif(50, min=0,max=1000) CE <- CEfinder(benefit, cost) BBfinder(benefit, cost, CE) #Identify cost-effective actions based on a small number of user-specified benefits and costs restben <- c(0, 10, 5, 20, 20) restcost <- c(0, 100, 100, 200, 150) restCE <- CEfinder(restben, restcost) BBfinder(restben, restcost, restCE)
CEfinder returns cost-effectiveness analysis for a particular set of alternatives.
CEfinder(benefit, cost)CEfinder(benefit, cost)
benefit |
a vector, matrix, or data frame of restoration benefits. Typically, these are time-averaged ecological outcomes (e.g., average annual habitat units). Often project benefits are best presented as the "lift" associated with a restoration action (i.e., the benefits of an alternative minus the benefits of a "no action" plan). |
cost |
a vector, matrix, or data frame of restoration costs. Typically, these are monetary costs associated with a given restoration action such as project first cost or annualized economic cost. Notably, these functions are agnostic to units, so costs could also be non-monetary such as lost political capital or social costs of each alternative. |
A numeric vector identifying each plan as cost-effective (1) or non-cost-effective (0). The cost-effective actions comprise the Pareto frontier of non-dominated alternatives at a given level of cost or benefit.
Robinson R., Hansen W., and Orth K. 1995. Evaluation of environmental investments procedures manual interim: Cost effectiveness and incremental cost analyses. IWR Report 95-R-1. Institute for Water Resources, U.S. Army Corps of Engineers, Alexandria, Virginia
#Identify cost-effective actions based on random vectors of benefits and costs CEfinder(runif(50,min=0,max=10), runif(50, min=0,max=1000)) #Identify cost-effective actions based on a small number of user-specified benefits and costs restben <- c(0, 10, 5, 20, 20) restcost <- c(0, 100, 100, 200, 150) CEfinder(restben, restcost)#Identify cost-effective actions based on random vectors of benefits and costs CEfinder(runif(50,min=0,max=10), runif(50, min=0,max=1000)) #Identify cost-effective actions based on a small number of user-specified benefits and costs restben <- c(0, 10, 5, 20, 20) restcost <- c(0, 100, 100, 200, 150) CEfinder(restben, restcost)
CEICAplotter Plots Cost-effective Incremental Cost Analysis (CEICA) in *.jpeg format.
CEICAplotter(altnames, benefit, cost, CE, BB, figure.name)CEICAplotter(altnames, benefit, cost, CE, BB, figure.name)
altnames |
a vector of numeric or character values representing unique restoration action identifiers. |
benefit |
a vector, matrix, or data frame of restoration benefits. Typically, these are time-averaged ecological outcomes (e.g., average annual habitat units). Often project benefits are best presented as the "lift" associated with a restoration action (i.e., the benefits of an alternative minus the benefits of a "no action" plan). |
cost |
a vector, matrix, or data frame of restoration costs. Typically, these are monetary costs associated with a given restoration action such as project first cost or annualized economic cost. Notably, these functions are agnostic to units, so costs could also be non-monetary such as lost political capital or social costs of each alternative. |
CE |
a numeric vector, matrix, or data frame of 0's and 1's indicating whether a plan is cost-effective (1) or non-cost-effective (0). Can be derived from ecorest::CEfinder. |
BB |
a numeric vector, matrix, or data frame of 0's and 1's indicating whether a plan is a best buy (1) or not (0). Can be derived from ecorest::BBfinder. |
figure.name |
output figure file name structured as "filename.jpeg". |
A multi-panel *.jpeg figure summarizing cost-effectiveness and incremental cost analyses.
Robinson R., Hansen W., and Orth K. 1995. Evaluation of environmental investments procedures manual interim: Cost effectiveness and incremental cost analyses. IWR Report 95-R-1. Institute for Water Resources, U.S. Army Corps of Engineers, Alexandria, Virginia
#Identify cost-effective actions based on random vectors of benefits and costs altnames<- paste("Alt",seq(1,50), sep="") benefit <- runif(50,min=0,max=10) cost <- runif(50, min=0,max=1000) CE <- CEfinder(benefit, cost) BB <- BBfinder(benefit, cost, CE)[[1]][,4] CEICAplotter(altnames, benefit, cost, CE, BB, tempfile("CEICAexample",fileext=".jpeg"))#Identify cost-effective actions based on random vectors of benefits and costs altnames<- paste("Alt",seq(1,50), sep="") benefit <- runif(50,min=0,max=10) cost <- runif(50, min=0,max=1000) CE <- CEfinder(benefit, cost) BB <- BBfinder(benefit, cost, CE)[[1]][,4] CEICAplotter(altnames, benefit, cost, CE, BB, tempfile("CEICAexample",fileext=".jpeg"))
HSIarimean uses an arithmetic mean to combine suitability indices into an
overarching habitat suitability index. Note that U.S. Army Corps of
Engineers users applying the HSIarimean function must have approval from the
National Ecosystem Planning Center of Expertise (Eco-PCX) prior to
development or application of a new model.
HSIarimean(x)HSIarimean(x)
x |
a vector, matrix, or data frame of suitability indices with values ranging from 0 to 1. |
A value of habitat quality ranging from 0 to 1 (ignoring NA values).
US Fish and Wildlife Service. (1980). Habitat as a basis for environmental assessment. Ecological Services Manual, 101.
US Fish and Wildlife Service. (1980). Habitat Evaluation Procedures (HEP). Ecological Services Manual, 102.
US Fish and Wildlife Service. (1981). Standards for the Development of Habitat Suitability Index Models. Ecological Services Manual, 103.
#Determine patch quality based on a vector of four suitability indices. HSIarimean(c(0.1, 0.25, 0.25, 0.25)) #Determine patch quality based on a vector of suitability indices with an NA. HSIarimean(c(0.1, 0.25, NA, 0.25)) #Determine patch quality based on a data frame of suitability indices x = data.frame(0.1, 0.25, 0.25, 0.25) colnames(x) = c("var1", "var2", "var3", "var4") HSIarimean(x)#Determine patch quality based on a vector of four suitability indices. HSIarimean(c(0.1, 0.25, 0.25, 0.25)) #Determine patch quality based on a vector of suitability indices with an NA. HSIarimean(c(0.1, 0.25, NA, 0.25)) #Determine patch quality based on a data frame of suitability indices x = data.frame(0.1, 0.25, 0.25, 0.25) colnames(x) = c("var1", "var2", "var3", "var4") HSIarimean(x)
HSIeqtn computes a habitat suitability index based on equations specified
in U.S. Fish and Wildlife Service habitat suitability models contained within ecorest
via HSImodels and HSImetadata. Habitat suitability indices represent an overall assessment
of habitat quality from combining individual suitability indices for multiple independent
variables. The function computes an overall habitat suitability index. Note that models
compatible with HSIeqtn are certified for use by the U.S. Army Corps of Engineers
by the National Ecosystem Planning Center of Expertise (Eco-PCX).
HSIeqtn(HSImodelname, SIV, HSImetadata, exclude = NULL)HSIeqtn(HSImodelname, SIV, HSImetadata, exclude = NULL)
HSImodelname |
a character string in quotations that must match an existing model name in HSImetadata. |
SIV |
a named vector, dataframe, or matrix of suitability index values ranging from 0 to 1 used in the model specified in HSImodelname. Names must correspond exactly with SIV names (e.g., "SIV1", "SIV1B", "SIV2", etc.) |
HSImetadata |
a data frame of HSI model metadata within the ecorest package. |
exclude |
a vector of character strings specifying components to be excluded from calculations. Non-NULL 'exclude' inputs are only applicable to models that explicitly provide instructions for use in the note column of HSImetadata. |
A numeric value between zero and one representing the composite habitat suitability index score.
US Fish and Wildlife Service. (1980). Habitat as a basis for environmental assessment. Ecological Services Manual, 101.
US Fish and Wildlife Service. (1980). Habitat Evaluation Procedures (HEP). Ecological Services Manual, 102.
US Fish and Wildlife Service. (1981). Standards for the Development of Habitat Suitability Index Models. Ecological Services Manual, 103.
#Compute patch quality for the Barred Owl model (no components) #Allen A.W. 1982. Habitat Suitability Index Models: Barred owl. FWS/OBS 82/10.143. #U.S. Fish and Wildlife Service. https://pubs.er.usgs.gov/publication/fwsobs82_10_143. #Suitability indices relate to density of large trees (SIV1), #mean diameter of overstory trees (SIV2), and percent canopy cover of overstory (SIV3). HSIeqtn("barredowl", c("SIV1" = 1, "SIV2" = 1, "SIV3" = 1), HSImetadata) #c(1,1,1) should result in 1.00 HSIeqtn("barredowl", c("SIV1" = 0.5, "SIV2" = 1, "SIV3" = 1), HSImetadata) #c(0.5,1,1) should result in 0.707 HSIeqtn("barredowl", c("SIV1" = 0, "SIV2" = 1, "SIV3" = 1), HSImetadata) #c(0,1,1) should result in 0.00 #Compute patch quality for the Juvenile Alewife model (two components) #Pardue, G.B. 1983. Habitat Suitability index models: alewife and blueback herring. #U.S. Dept. Int. Fish Wildl. Serv. FWS/OBS-82/10.58. 22pp. #Suitability indices relate to zooplankton density, salinity, and water temperature HSIeqtn("alewifeJuv", c("SIV1" = NA, "SIV2" = NA, "SIV3" = 1, "SIV4" = 1, "SIV5" = 1), HSImetadata) #should result in 1.00 HSIeqtn("alewifeJuv", c("SIV1" = NA, "SIV2" = NA, "SIV3" = 0.5, "SIV4" = 1, "SIV5" = 1), HSImetadata) # should result in 0.50 HSIeqtn("alewifeJuv", c("SIV1" = NA, "SIV2" = NA, "SIV3" = 0, "SIV4" = 1, "SIV5" = 1), HSImetadata) # should result in 0.00 #Compute patch quality for Cutthroat trout model for lacustrine habitats (7 components) #with spawning and lacustrine habitat and with only lacustrine habitat (i.e., #embryo component is excluded). #Hickman, T., and R.F. Raleigh. 1982. Habitat suitability index models: #Cutthroat trout. U.S.D.I. Fish and Wildlife Service. FWS/OBS-82/10.5. 38 pp. #Suitability indices relate to temperature during the warmest period of the year, #maximum temperature during embryo development, minimum dissolved oxygen during #the late growing season, average velocity over spawning areas, average size #of substrate in spawning areas, annual maximal or minimal pH, and percent fines #in the spawning area. #should result in 1 HSIeqtn("cutthroatLacGenLtoe15C", c("SIV1" = 1, "SIV2" = 1, "SIV3" = 1, "SIV5" = 1, "SIV7" = 1, "SIV13" = 1, "SIV16" = 1), HSImetadata) #should result in 0 HSIeqtn("cutthroatLacGenLtoe15C", c("SIV1" = 0.5, "SIV2" = 1, "SIV3" = 0.5, "SIV5" = 0, "SIV7" = 1, "SIV13" = 1, "SIV16" = 1), HSImetadata) #should result in 0.63 HSIeqtn("cutthroatLacGenLtoe15C", c("SIV1" = 1, "SIV2" = NA, "SIV3" = 0.5, "SIV5" = NA, "SIV7" = NA, "SIV13" = 0.5, "SIV16" = NA), HSImetadata, exclude=c("CE"))#Compute patch quality for the Barred Owl model (no components) #Allen A.W. 1982. Habitat Suitability Index Models: Barred owl. FWS/OBS 82/10.143. #U.S. Fish and Wildlife Service. https://pubs.er.usgs.gov/publication/fwsobs82_10_143. #Suitability indices relate to density of large trees (SIV1), #mean diameter of overstory trees (SIV2), and percent canopy cover of overstory (SIV3). HSIeqtn("barredowl", c("SIV1" = 1, "SIV2" = 1, "SIV3" = 1), HSImetadata) #c(1,1,1) should result in 1.00 HSIeqtn("barredowl", c("SIV1" = 0.5, "SIV2" = 1, "SIV3" = 1), HSImetadata) #c(0.5,1,1) should result in 0.707 HSIeqtn("barredowl", c("SIV1" = 0, "SIV2" = 1, "SIV3" = 1), HSImetadata) #c(0,1,1) should result in 0.00 #Compute patch quality for the Juvenile Alewife model (two components) #Pardue, G.B. 1983. Habitat Suitability index models: alewife and blueback herring. #U.S. Dept. Int. Fish Wildl. Serv. FWS/OBS-82/10.58. 22pp. #Suitability indices relate to zooplankton density, salinity, and water temperature HSIeqtn("alewifeJuv", c("SIV1" = NA, "SIV2" = NA, "SIV3" = 1, "SIV4" = 1, "SIV5" = 1), HSImetadata) #should result in 1.00 HSIeqtn("alewifeJuv", c("SIV1" = NA, "SIV2" = NA, "SIV3" = 0.5, "SIV4" = 1, "SIV5" = 1), HSImetadata) # should result in 0.50 HSIeqtn("alewifeJuv", c("SIV1" = NA, "SIV2" = NA, "SIV3" = 0, "SIV4" = 1, "SIV5" = 1), HSImetadata) # should result in 0.00 #Compute patch quality for Cutthroat trout model for lacustrine habitats (7 components) #with spawning and lacustrine habitat and with only lacustrine habitat (i.e., #embryo component is excluded). #Hickman, T., and R.F. Raleigh. 1982. Habitat suitability index models: #Cutthroat trout. U.S.D.I. Fish and Wildlife Service. FWS/OBS-82/10.5. 38 pp. #Suitability indices relate to temperature during the warmest period of the year, #maximum temperature during embryo development, minimum dissolved oxygen during #the late growing season, average velocity over spawning areas, average size #of substrate in spawning areas, annual maximal or minimal pH, and percent fines #in the spawning area. #should result in 1 HSIeqtn("cutthroatLacGenLtoe15C", c("SIV1" = 1, "SIV2" = 1, "SIV3" = 1, "SIV5" = 1, "SIV7" = 1, "SIV13" = 1, "SIV16" = 1), HSImetadata) #should result in 0 HSIeqtn("cutthroatLacGenLtoe15C", c("SIV1" = 0.5, "SIV2" = 1, "SIV3" = 0.5, "SIV5" = 0, "SIV7" = 1, "SIV13" = 1, "SIV16" = 1), HSImetadata) #should result in 0.63 HSIeqtn("cutthroatLacGenLtoe15C", c("SIV1" = 1, "SIV2" = NA, "SIV3" = 0.5, "SIV5" = NA, "SIV7" = NA, "SIV13" = 0.5, "SIV16" = NA), HSImetadata, exclude=c("CE"))
HSIgeomean uses a geometric mean to combine suitability indices into an
overarching habitat suitability index. Note that U.S. Army Corps of
Engineers users applying the HSIgeomean function must have approval from
the National Ecosystem Planning Center of Expertise (Eco-PCX) prior to
application of a new model.
HSIgeomean(x)HSIgeomean(x)
x |
a vector, matrix, or data frame of suitability indices with values ranging from 0 to 1. |
A value of habitat quality ranging from 0 to 1 (ignoring NA values).
US Fish and Wildlife Service. (1980). Habitat as a basis for environmental assessment. Ecological Services Manual, 101.
US Fish and Wildlife Service. (1980). Habitat Evaluation Procedures (HEP). Ecological Services Manual, 102.
US Fish and Wildlife Service. (1981). Standards for the Development of Habitat Suitability Index Models. Ecological Services Manual, 103.
#Determine patch quality based on a vector of four suitability indices. HSIgeomean(c(0.25, 0.25, 0.25, 0.25)) #Determine patch quality based on a vector of suitability indices with an NA. HSIgeomean(c(0.25, 0.25, NA, 0.25)) #Determine patch quality based on a vector of suitability indices with a zero-value. HSIgeomean(c(0.25, 0.25, 0.0, 0.25)) #Determine patch quality based on a dataframe of suitability indices x = data.frame(0.25, 0.25, 0.25, 0.25) colnames(x) = c("var1", "var2", "var3", "var4") HSIgeomean(x)#Determine patch quality based on a vector of four suitability indices. HSIgeomean(c(0.25, 0.25, 0.25, 0.25)) #Determine patch quality based on a vector of suitability indices with an NA. HSIgeomean(c(0.25, 0.25, NA, 0.25)) #Determine patch quality based on a vector of suitability indices with a zero-value. HSIgeomean(c(0.25, 0.25, 0.0, 0.25)) #Determine patch quality based on a dataframe of suitability indices x = data.frame(0.25, 0.25, 0.25, 0.25) colnames(x) = c("var1", "var2", "var3", "var4") HSIgeomean(x)
Metadata for 351 U.S. Fish and Wildlife Service Habitat suitability index (HSI) models
HSImetadataHSImetadata
A data frame with 351 rows and 85 variables:
Model name
Model specifications
Scientific nomenclature of modeled taxa
Geographic range of organism
Type of habitat
Citation of original model
Conditions under which model may be applied
Link to individual model source
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Suitability index values for each organism specific condition
Food component equation
Food/reproduction component equation
Roosting-nesting component equation
Cover component equation
Cover roosting component equation
Cover-reproduction-food component equation
Cover-food component equation
Cover-food shrub component equation
Cover-food herbaceous component equation
Winter food component
Summer food component
Fall food component
Water component
Cover breeding component
Brood component
Nest component
Nest-brood cover component
Cover nesting component
Pair habitat component
Water quality component
Reproduction component
Cover reproduction component
Disturbance component
Other component
Larval component
Embryo and larval component
Embryo component
Juvenile component
Fry component
Spawning component
Adult component
Island component
Interspersion component
Non-island component
Winter cover food component
Summer food brood component
Fall spring winter food component
Spring food component
Winter cover component
Fall to spring cover component
Substrate-suspended solids component
Topography component
Temperature component
Juvenile adult component
HSI overarching model equation in R syntax
HSImin uses the minimum of given suitability indices to calculate an
overarching habitat suitability index. Note that U.S. Army Corps of
Engineers users applying the HSImin function must have approval from the
National Ecosystem Planning Center of Expertise (Eco-PCX) prior to
application of a new model.
HSImin(x)HSImin(x)
x |
a vector, matrix, or data frame of suitability indices ranging from 0 to 1. |
A value of habitat quality ranging from 0 to 1 (ignoring NA values).
US Fish and Wildlife Service. (1980). Habitat as a basis for environmental assessment. Ecological Services Manual, 101.
US Fish and Wildlife Service. (1980). Habitat Evaluation Procedures (HEP). Ecological Services Manual, 102.
US Fish and Wildlife Service. (1981). Standards for the Development of Habitat Suitability Index Models. Ecological Services Manual, 103.
#Determine patch quality based on a vector of four suitability indices. HSImin(c(0.1, 0.25, 0.25, 0.25)) #Determine patch quality based on a vector of suitability indices with an NA. HSImin(c(0.1, 0.25, NA, 0.25)) #Determine patch quality based on a data frame of suitability indices x = data.frame(0.1, 0.25, 0.25, 0.25) colnames(x) = c("var1", "var2", "var3", "var4") HSImin(x)#Determine patch quality based on a vector of four suitability indices. HSImin(c(0.1, 0.25, 0.25, 0.25)) #Determine patch quality based on a vector of suitability indices with an NA. HSImin(c(0.1, 0.25, NA, 0.25)) #Determine patch quality based on a data frame of suitability indices x = data.frame(0.1, 0.25, 0.25, 0.25) colnames(x) = c("var1", "var2", "var3", "var4") HSImin(x)
This list of data frames contains 351 U.S. Fish and Wildlife Service Habitat suitability index (HSI) models. Please note that some of the original HSI documents provide little reference data for constructing suitability curves; hence, some suitability curves are estimated using the authors' best judgement. Users should always cross-reference results with the original documentation.
HSImodelsHSImodels
An object of class list of length 349.
@format A list with 351 data frames each containing an HSI model with multiple independent variables and associated habitat suitability indices (a 0 to 1 value). Data represent break points in curves with linear extrapolation between. Categorical input variables are coded as letters.
independent variable for assessing habitat suitability
suitability index value relative to variable1
additional variables and suitability indices
HSIplotter plots all suitability curves. Note that U.S. Army Corps
of Engineers users must have approval from the National Ecosystem Planning
Center of Expertise (Eco-PCX) prior to application of a new model.
HSIplotter(SI, figure.name)HSIplotter(SI, figure.name)
SI |
list, matrix, or data frame of suitability curves ordered as parameter breakpoints and associated suitability indices for each parameter with appropriate column names. Models containing both categorical and continuous parameters must be entered as a dataframe. |
figure.name |
output figure file name structured as "filename.jpeg". |
A multi-panel *.jpeg figure showing all suitability curves.
US Fish and Wildlife Service. (1980). Habitat as a basis for environmental assessment. Ecological Services Manual, 101.
US Fish and Wildlife Service. (1980). Habitat Evaluation Procedures (HEP). Ecological Services Manual, 102.
US Fish and Wildlife Service. (1981). Standards for the Development of Habitat Suitability Index Models. Ecological Services Manual, 103.
#Build and define a matrix of the Barred Owl suitability curves #Allen A.W. 1982. Habitat Suitability Index Models: Barred owl. FWS/OBS 82/10.143. #U.S. Fish and Wildlife Service. https://pubs.er.usgs.gov/publication/fwsobs82_10_143. var1 <- cbind(c(0,2,4,NA), c(0.1,1,1,NA)) #Number of trees > 51cm diameter per 0.4 ha plot var2 <- cbind(c(0,5,20,NA), c(0,0,1,NA)) #Mean diameter of overstory trees var3 <- cbind(c(0,20,60,100), c(0,0,1,1)) #Percent canopy cover of overstory trees barredowl <- cbind(var1, var2, var3) colnames(barredowl)<- c("tree.num", "tree.num.SIV", "avg.dbh.in", "avg.dbh.SIV", "can.cov", "can.cov.SIV") #Create suitability curve summary plot HSIplotter(barredowl, tempfile("BarredOwl",fileext=".jpeg")) #Build and define a matrix of the alewifeSAEL curves #Pardue, GB. 1983. Habitat suitability index models: alewife and blueback herring. #U.S. Dept. Int. Fish Wildl. Serv. FWS/OBS-82/10.58. 22pp. var1 = data.frame(subs.type.class = c("a", "b", "c", NA, NA, NA), subs.type.class.SIV = c(1, 0.5, 0.1, NA, NA, NA)) var2 = data.frame("avg.daily.wtr.temp.spwn.C" = c(5, 10, 15, 20, 27, 30), "avg.daily.wtr.temp.spwn.C.SIV" = c(0, 0, 1, 1, 0, 0)) alewifeSAEL = data.frame(var1, var2) #Create suitability curve summary plot HSIplotter(alewifeSAEL, tempfile("AlewifeSAEL",fileext=".jpeg")) #Use HSIplotter with inputs from HSImodels HSIplotter(HSImodels$barredowl, tempfile("BarredOwl",fileext=".jpeg"))#Build and define a matrix of the Barred Owl suitability curves #Allen A.W. 1982. Habitat Suitability Index Models: Barred owl. FWS/OBS 82/10.143. #U.S. Fish and Wildlife Service. https://pubs.er.usgs.gov/publication/fwsobs82_10_143. var1 <- cbind(c(0,2,4,NA), c(0.1,1,1,NA)) #Number of trees > 51cm diameter per 0.4 ha plot var2 <- cbind(c(0,5,20,NA), c(0,0,1,NA)) #Mean diameter of overstory trees var3 <- cbind(c(0,20,60,100), c(0,0,1,1)) #Percent canopy cover of overstory trees barredowl <- cbind(var1, var2, var3) colnames(barredowl)<- c("tree.num", "tree.num.SIV", "avg.dbh.in", "avg.dbh.SIV", "can.cov", "can.cov.SIV") #Create suitability curve summary plot HSIplotter(barredowl, tempfile("BarredOwl",fileext=".jpeg")) #Build and define a matrix of the alewifeSAEL curves #Pardue, GB. 1983. Habitat suitability index models: alewife and blueback herring. #U.S. Dept. Int. Fish Wildl. Serv. FWS/OBS-82/10.58. 22pp. var1 = data.frame(subs.type.class = c("a", "b", "c", NA, NA, NA), subs.type.class.SIV = c(1, 0.5, 0.1, NA, NA, NA)) var2 = data.frame("avg.daily.wtr.temp.spwn.C" = c(5, 10, 15, 20, 27, 30), "avg.daily.wtr.temp.spwn.C.SIV" = c(0, 0, 1, 1, 0, 0)) alewifeSAEL = data.frame(var1, var2) #Create suitability curve summary plot HSIplotter(alewifeSAEL, tempfile("AlewifeSAEL",fileext=".jpeg")) #Use HSIplotter with inputs from HSImodels HSIplotter(HSImodels$barredowl, tempfile("BarredOwl",fileext=".jpeg"))
HSIwarimean uses a weighted arithmetic mean to combine suitability
indices into an overarching habitat suitability index. Note that U.S. Army
Corps of Engineers users applying the HSIwarimean function must have
approval from the National Ecosystem Planning Center of Expertise (Eco-PCX)
prior to application of a new model or weighting system.
HSIwarimean(x, w)HSIwarimean(x, w)
x |
is a vector, matrix, or data frame of suitability indices ranging from 0 to 1. |
w |
is a vector, matrix, or data frame of weights ranging from 0 to 1 that must sum to one. |
A value of habitat quality ranging from 0 to 1 (ignoring NA values).
US Fish and Wildlife Service. (1980). Habitat as a basis for environmental assessment. Ecological Services Manual, 101.
US Fish and Wildlife Service. (1980). Habitat Evaluation Procedures (HEP). Ecological Services Manual, 102.
US Fish and Wildlife Service. (1981). Standards for the Development of Habitat Suitability Index Models. Ecological Services Manual, 103.
#Determine patch quality based on a vector of four, equal-weight suitability indices. HSIwarimean(c(1, 0, 0, 0), c(0.25, 0.25, 0.25, 0.25)) #Determine patch quality based on a vector of four, unequal-weight suitability indices. HSIwarimean(c(1, 0, 0, 0), c(1, 0, 0, 0)) #Determine patch quality based on a vector of four, unequal-weight suitability indices. HSIwarimean(c(1, 0, 0, 0), c(0, 1, 0, 0)) #Determine patch quality based on a data frame of four, unequal-weight suitability indices df = data.frame(x = c(0.25, 0.5, 0.5, 0.5), w = c(0.25, 0.2, 0.5, 0.05)) HSIwarimean(df$x, df$w)#Determine patch quality based on a vector of four, equal-weight suitability indices. HSIwarimean(c(1, 0, 0, 0), c(0.25, 0.25, 0.25, 0.25)) #Determine patch quality based on a vector of four, unequal-weight suitability indices. HSIwarimean(c(1, 0, 0, 0), c(1, 0, 0, 0)) #Determine patch quality based on a vector of four, unequal-weight suitability indices. HSIwarimean(c(1, 0, 0, 0), c(0, 1, 0, 0)) #Determine patch quality based on a data frame of four, unequal-weight suitability indices df = data.frame(x = c(0.25, 0.5, 0.5, 0.5), w = c(0.25, 0.2, 0.5, 0.05)) HSIwarimean(df$x, df$w)
HUcalc computes habitat units given a set of suitability indices,
a habitat suitability index equation, and habitat quantity. Note that U.S.
Army Corps of Engineers users applying HUcalc must have approval from the
National Ecosystem Planning Center of Expertise (Eco-PCX) prior to
application of a new model.
HUcalc(SI.out, habitat.quantity, HSIfunc, ...)HUcalc(SI.out, habitat.quantity, HSIfunc, ...)
SI.out |
is a vector, matrix, or data frame of application-specific suitability indices between 0 and 1, which can be produced from SIcalc. |
habitat.quantity |
is a numeric value representing habitat size associated with these suitability indices (i.e., length, area, or volume). |
HSIfunc |
is a function used to combine suitability indices into a composite habitat suitability index (HSI score) (e.g., ecorest functions like HSIarimean or HSIgeomean or functions outside ecorest like max or mean) |
... |
optional arguments to HSIfunc. |
A vector of habitat quality, habitat quantity, and index units (quantity times quality).
US Fish and Wildlife Service. (1980). Habitat as a basis for environmental assessment. Ecological Services Manual, 101.
US Fish and Wildlife Service. (1980). Habitat Evaluation Procedures (HEP). Ecological Services Manual, 102.
US Fish and Wildlife Service. (1981). Standards for the Development of Habitat Suitability Index Models. Ecological Services Manual, 103.
#Summarize habitat outcomes based on a vector of two suitability indices #using multiple combination equations. HUcalc(c(0.1,1), 100, HSIarimean) HUcalc(c(0.1,1), 100, HSIgeomean) HUcalc(c(0.1,1), 100, HSImin) HUcalc(c(0.1,1), 100, HSIwarimean, c(1,0)) HUcalc(c(0.1,1), 100, HSIwarimean, c(0,1)) #HSIfunc can also represent functions outside of the ecorest package HUcalc(c(0.1,1), 100, mean) HUcalc(c(0.1,1), 100, max) #Summarize habitat outcomes based on a data frame of three suitability indices SI.out = data.frame(SI = c(0.1, 0.4, 0.5)) HUcalc(SI.out, 10, HSImin)#Summarize habitat outcomes based on a vector of two suitability indices #using multiple combination equations. HUcalc(c(0.1,1), 100, HSIarimean) HUcalc(c(0.1,1), 100, HSIgeomean) HUcalc(c(0.1,1), 100, HSImin) HUcalc(c(0.1,1), 100, HSIwarimean, c(1,0)) HUcalc(c(0.1,1), 100, HSIwarimean, c(0,1)) #HSIfunc can also represent functions outside of the ecorest package HUcalc(c(0.1,1), 100, mean) HUcalc(c(0.1,1), 100, max) #Summarize habitat outcomes based on a data frame of three suitability indices SI.out = data.frame(SI = c(0.1, 0.4, 0.5)) HUcalc(SI.out, 10, HSImin)
SIcalc computes suitability indices given a set of suitability curves
and project-specific inputs. Suitability indices may be computed based on
either linear interpolation (for continuous variables)
or a lookup method (for categorical variables).
SIcalc(SI, input.proj)SIcalc(SI, input.proj)
SI |
matrix or dataframe of suitability curves ordered as parameter breakpoints and associated suitability indices for each parameter. Suitability curves that contain both continuous and categorical variables should be formatted as a dataframe rather than a matrix. |
input.proj |
numeric or categorical vector of application-specific input parameters associated with the suitability curve data from SI. Note that users should enter NA for excluded variables in HSImodels. |
A named vector of suitability index values ranging from 0 to 1 that match given user inputs.
US Fish and Wildlife Service. (1980). Habitat as a basis for environmental assessment. Ecological Services Manual, 101.
US Fish and Wildlife Service. (1980). Habitat Evaluation Procedures (HEP). Ecological Services Manual, 102.
US Fish and Wildlife Service. (1981). Standards for the Development of Habitat Suitability Index Models. Ecological Services Manual, 103.
#Build and define a matrix of the Barred Owl suitability curves #Allen A.W. 1982. Habitat Suitability Index Models: Barred owl. FWS/OBS 82/10.143. #U.S. Fish and Wildlife Service. https://pubs.er.usgs.gov/publication/fwsobs82_10_143. var1 <- cbind(c(0,2,4,NA), c(0.1,1,1,NA)) #Number of trees > 51cm diameter per 0.4 ha plot var2 <- cbind(c(0,13,51,NA), c(0,0,1,NA)) #Mean diameter of overstory trees var3 <- cbind(c(0,20,60,100), c(0,0,1,NA)) #Percent canopy cover of overstory trees barredowl <- cbind(var1, var2, var3) colnames(barredowl)<- c("tree.num", "tree.num.SIV", "avg.dbh.cm", "avg.dbh.SIV", "can.cov", "can.cov.SIV") #Set user input variables (in cm) that should return (1, 0, 0) input.demo1 <- c(2, 0, 0) SIcalc(barredowl, input.demo1) #Set user input variables (in cm) that should return (1, 1, 1) input.demo2 <- c(4, 51, 60) SIcalc(barredowl, input.demo2) #Set user input variables (in cm) that should return (1, 1, 0.5) input.demo3 <- c(4, 51, 40) SIcalc(barredowl, input.demo3) #Suitability curves may also be drawn from HSImodels (data within ecorest) #Import Barred Owl suitability curves with HSImodels$barredowl #The input examples are repeated from above #Set user input variables that should return (1, 0, 0) SIcalc(HSImodels$barredowl, input.demo1) #Set user input variables that should return (1, 1, 1) SIcalc(HSImodels$barredowl, input.demo2) #Set user input variables that should return (1, 1, 0.5) SIcalc(HSImodels$barredowl, input.demo3) #Import juvenile Alewife suitability curves with HSImodels$alewifeJuv #Demonstrate how to enter NA for excluded variables in HSImodels #Pardue, GB. 1983. Habitat suitability index models: alewife and blueback herring. #U.S. Dept. Int. Fish Wildl. Serv. FWS/OBS-82/10.58. 22pp. #Set user variables that should return (NA, NA, 1, 1, 0) input.demo4 <- c(NA, NA, 125, 5, 5) SIcalc(HSImodels$alewifeJuv, input.demo4) #Demonstrate use with out of range continuous inputs input.demo5 <- c(NA, NA, 140, 5, 5) SIcalc(HSImodels$alewifeJuv, input.demo5)#Build and define a matrix of the Barred Owl suitability curves #Allen A.W. 1982. Habitat Suitability Index Models: Barred owl. FWS/OBS 82/10.143. #U.S. Fish and Wildlife Service. https://pubs.er.usgs.gov/publication/fwsobs82_10_143. var1 <- cbind(c(0,2,4,NA), c(0.1,1,1,NA)) #Number of trees > 51cm diameter per 0.4 ha plot var2 <- cbind(c(0,13,51,NA), c(0,0,1,NA)) #Mean diameter of overstory trees var3 <- cbind(c(0,20,60,100), c(0,0,1,NA)) #Percent canopy cover of overstory trees barredowl <- cbind(var1, var2, var3) colnames(barredowl)<- c("tree.num", "tree.num.SIV", "avg.dbh.cm", "avg.dbh.SIV", "can.cov", "can.cov.SIV") #Set user input variables (in cm) that should return (1, 0, 0) input.demo1 <- c(2, 0, 0) SIcalc(barredowl, input.demo1) #Set user input variables (in cm) that should return (1, 1, 1) input.demo2 <- c(4, 51, 60) SIcalc(barredowl, input.demo2) #Set user input variables (in cm) that should return (1, 1, 0.5) input.demo3 <- c(4, 51, 40) SIcalc(barredowl, input.demo3) #Suitability curves may also be drawn from HSImodels (data within ecorest) #Import Barred Owl suitability curves with HSImodels$barredowl #The input examples are repeated from above #Set user input variables that should return (1, 0, 0) SIcalc(HSImodels$barredowl, input.demo1) #Set user input variables that should return (1, 1, 1) SIcalc(HSImodels$barredowl, input.demo2) #Set user input variables that should return (1, 1, 0.5) SIcalc(HSImodels$barredowl, input.demo3) #Import juvenile Alewife suitability curves with HSImodels$alewifeJuv #Demonstrate how to enter NA for excluded variables in HSImodels #Pardue, GB. 1983. Habitat suitability index models: alewife and blueback herring. #U.S. Dept. Int. Fish Wildl. Serv. FWS/OBS-82/10.58. 22pp. #Set user variables that should return (NA, NA, 1, 1, 0) input.demo4 <- c(NA, NA, 125, 5, 5) SIcalc(HSImodels$alewifeJuv, input.demo4) #Demonstrate use with out of range continuous inputs input.demo5 <- c(NA, NA, 140, 5, 5) SIcalc(HSImodels$alewifeJuv, input.demo5)