Mapping vulnerability to climate-related hazards to inform local authority action in adaptation: a feasibility study
James Thomas, Josh Howkins, Eunice Lo, Jeffrey Neal
August 2023
This repository contains the code used in the analysis for:
Howkins, J. et al. "Mapping vulnerability to climate-related hazards to inform local authority action in adaptation: a feasibility study," Submitted for publication.
In disasters, there are three broad areas of risk to health:
- the hazard that can cause damage,
- exposure to the hazard,
- the vulnerability (or adaptive capacity) of the exposed population.
We first consider the two hazards heat and flooding, estimating the exposure of people in South Gloucestershire. We then estimate the vulnerability of those people. We finally calculate an overall risk using our vulnerability estimate and either of the heat or flooding exposure estimates.
We perform these calculations at the level of Lower Layer Super Output Areas (LSOAs). These are UK statistical geographies covering 1,000-3,000 people each.
flowchart TD
subgraph "Hazard exposure"
subgraph heat["Heat"]
heat1["Source data\n(HadUK-Grid from Met Office)"]
-- "Process on HPC cluster" --> heat2["Gridded input data\n(Average maximum temperature and\ndays exceeding threshold metrics)"]
-- "Process in Jupyter Notebook" --> heat3["LSOA data\n(Average maximum temperature and\ndays exceeding threshold metrics)"]
end
subgraph flood["Flooding"]
flood1["Source data\n(Flood level data from Fathom)"]
-- "Process in Jupyter Notebook" ---> flood2["LSOA data\n(Proportion of buildings flooded\nin typical and disaster scenarios)"]
end
end
subgraph vuln["Vulnerability"]
vuln1["Source data\n(Census and IMD)"]
-- "Process using Python scripts\n\nProcess in Jupyter Notebook" --> vuln2["LSOA data\n(metrics, sub-domains\nand domains)"]
end
subgraph risk["Overall risk assessment"]
risk1["Heat risk assessment"]
risk2["Flooding risk assessment"]
end
heat --> risk
flood --> risk
vuln --> risk
style heat fill:#fbb4ae
style flood fill:#b3cde3
style vuln fill:#ccebc5
style risk fill:#decbe4
For more detailed explanations for the pipeline, check the README
files in the hazard
and
vulnerability
directories, and the embedded documentation with the Python scripts and Jupyter
Notebooks.
-
Met Office HadUK‐Grid - historical daily maximum and minimum temperature observations at 1 km grid resolution.
-
Hollis, D. et al. (2019) "HadUK‐Grid—A new UK dataset of gridded climate observations," Geoscience Data Journal, 6(2), 151–159. doi:10.1002/gdj3.78
-
Met Office et al. (2022) "HadUK-Grid Gridded Climate Observations on a 1km grid over the UK," v1.1.0.0 (1836-2021). NERC EDS Centre for Environmental Data Analysis, 26 May 2022. doi:10.5285/bbca3267dc7d4219af484976734c9527
-
-
OS OpenMap - Local - building footprints and centroids.
- Contains Ordnance Survey data © Crown copyright and database right 2022
-
Office for National Statistics geospatial data - LSOA extents.
- Office for National Statistics licensed under the Open Government Licence v.3.0
-
Fathom flood level predictions - coastal, pluvial and fluvial flooding under various climate models, date ranges and return periods (probabilities) at 10 m grid resolution.
- Bates, P.D. et al. "A climate-conditioned catastrophe risk model for UK flooding," Natural Hazards and Earth System Sciences. 2023;23(2):891-908.
-
OS OpenMap - Local - building footprints and centroids.
- Contains Ordnance Survey data © Crown copyright and database right 2022
-
Office for National Statistics geospatial data - LSOA extents.
- Office for National Statistics licensed under the Open Government Licence v.3.0
-
Census 2021 - TS001, 006, 007, 008, 017, 029, 037, 038, 039, 044, 045, 054, 069.
- Office for National Statistics licensed under the Open Government Licence v.3.0
-
English indices of deprivation - IMD domains and underlying indicators.
- Ministry of Housing, Communities & Local Government licensed under the Open Government Licence v.3.0
-
Office for National Statistics geospatial data - LSOA and MSOA extents, LSOA to MSOA lookup, LSOA 2011 to 2021 lookup.
- Office for National Statistics licensed under the Open Government Licence v.3.0
This code is written in Python and there is a combination of .py
scripts and .ipynb
Jupyter
Notebooks. There is also a justfile
that will run all parts of the pipeline automatically.
All the necessary dependencies can be installed using conda.
To run the entire processing pipeline, you will need to:
-
Have access to HadUK-Grid data - this is a very large dataset! You can download the specific files required, however it is much easier to use a high performance computing (HPC) cluster that provides access to the dataset already. One example of such a system is JASMIN and the CEDA Archive.
-
Have access to Fathom flood level data - you will need to have a current data sharing agreement in place with Fathom.
-
Have downloaded the Building layer from OS OpenMap - Local - access to the dataset is provided for free on the OS Data Hub. Choose an ESRI® Sharefile covering at least the area you are interested in. Only the
ST_Building
layer is required.
All other data files specified in data_sources.yaml
will be downloaded automatically. However note that the URLs for the data
sources are as they were when the analysis for the publication was performed.
They may have changed as new versions of the data sources are released are
updated, and so may need to be updated before the pipeline will run.
The outline process is as follows:
-
Create a conda environment using
environment-frozen.yml
(orenvironment.yml
).conda env create -n southglos -f environment-frozen.yml
-
Ensure the raw data is in place:
-
hazard/data/input/buildings/
- from OS Open Data, -
hazard/data/input/fathom/
- proprietary data from Fathom, -
hazard/data/input/buildings/
- pre-processed data from HadUK-Grid (runcalculate_heat_hazard_indicators.py
on an appropriate HPC with access to the HadUK-Grid dataset), -
vulnerability data will be downloaded automatically.
-
-
Use
just
to run the processing from your activated conda environment, exporting the outputs to static HTML (if required):conda activate southglos just overall just export_notebooks_to_html
-
Review outputs:
-
Heat hazard
-
hazard/data/output/heat/
-
hazard/notebooks/Heat_hazard_analysis
-
-
Flooding hazard
-
hazard/data/output/flooding/
-
hazard/notebooks/Flooding_hazard_analysis.html
-
hazard/notebooks/Flooding_hazard_analysis_disaster.html
-
-
Vulnerability
-
vulnerability/data/06_index/
-
vulnerability/notebooks/Developing_vulnerability_indicators.html
-
-
For demonstration purposes, an example of an overall risk assessment
-
vulnerability/data/07_overall/
-
vulnerability/notebooks/Overall_risk_assessment.html
-
-
Parts of the pipeline can be run individually using just
:
just overall # Build everything from scratch
# (flooding + heat + vulnerability)
just flooding # Process the flooding hazard
# exposure data
just heat # Process the heat hazard exposure
# data
just vulnerability # Download and process the
# vulnerability data
just export_notebooks_to_html # Export Jupyter Notebooks into
# static HTML (without running
# them)
There are also hidden rules int he justfile
that break down the vulnerability
step further.
This work was carried out using the computational facilities of JASMIN and the Advanced Computing Research Centre at the University of Bristol, using data hosted by the CEDA Archive.
We thank Fathom for kindly making flood level data for the South Gloucestershire area available to the University of Bristol for use in this work.
MIT License