Skip to contents

Implements the standard disaster-risk decomposition \(Risk = Hazard \times Exposure \times Vulnerability\). Each input layer is normalised to \([0, 1]\), the three are multiplied cell by cell, and the product is re-normalised to give a relative risk index. Because the combination is multiplicative, risk is zero wherever any component is zero: there is no risk without all of hazard, something exposed, and susceptibility.

Usage

flood_vulnerability(x, exposure, vulnerability = NULL, hazard = NULL)

Arguments

x

A flood_project whose route slot supplies the hazard (peak depth), or a numeric hazard vector / SpatRaster directly.

exposure

Numeric vector or SpatRaster of exposure (for example population or building density).

vulnerability

Optional numeric vector or SpatRaster of social vulnerability (for example a deprivation index). If NULL, treated as uniform.

hazard

Optional explicit hazard layer when x is a flood_project; overrides deriving hazard from the project.

Value

If x is a flood_project, the same object with its vulnerability slot populated. Otherwise a list of class flood_vulnerability with elements risk (the normalised risk index), components (the normalised hazard, exposure and vulnerability), and summary (min, mean, max of risk).

Details

Inputs are numeric vectors (aligned cell values) or, when terra is installed, SpatRaster layers. Vulnerability may be omitted, in which case exposure alone weights the hazard.

References

Reimann, L. et al. (2024) An empirical social vulnerability map for flood risk assessment at global scale. Earth's Future 12. doi:10.1029/2023EF003895

See also

flood_route for the hazard layer.

Examples

set.seed(1)
hazard <- runif(100, 0, 5)      # flood depth
pop <- rpois(100, 50)           # exposure
deprivation <- runif(100)       # vulnerability
v <- flood_vulnerability(hazard, exposure = pop,
                         vulnerability = deprivation)
range(v$risk)
#> [1] 0 1