Awesome
Flood Resilience Digital Twin (FReDT)
Introduction
According to the National Emergency Management Agency, flooding is the greatest hazard in New Zealand, in terms of frequency, losses and civil defence emergencies. With major flood events occurring on average every 8 months (New Zealand – FloodList), it is necessary to produce high precision flood models and in order to do better planning, risk assessment and response to flood events.
The Flood Resilience Digital Twin can provide a better understanding of the degree of impact flood events can have on physical assets like buildings, roads, railways, transmission lines, etc. The digital twin not only represents the current status of the visualised assets but also how they will perform/react to future situations. The digital twin, when used to run flood models combined with other sources of information can allow us to make predictions.
Data for analysis and modelling are collected from open data portals provided by multiple organisations or data providers such as LINZ, StatsNZ, opentopography, NIWA, MFE, and more.
See our draft paper for Journal of Open Source Software for more details.
Basic running instructions
The following list defines the basic steps required to set up and run the digital twin.
Requirements
Required Credentials:
Create API keys for each of these services. You may need to create an account and log in
- Stats NZ API Key
- LINZ API Key
- MFE API Key
- NIWA Application API Key - Create an app that has the Tide API enabled.
- Cesium Ion Access Token
Starting the Digital Twin application (localhost)
-
Clone this repository to your local machine.
-
Create a file called
api_keys.env
, copy the contents ofapi_keys.env.template
and fill in the blank values with API credentials from the above links. -
Create a file called
.env
in the project root, copy the contents of.env.template
and fill in all blank fields unless a comment says you can leave it blank. Blank fields to fill in include things like thePOSTGRES_PASSWORD
variable andCESIUM_ACCESS_TOKEN
. You may configure other variables as needed. -
From project root, run the command
docker compose up -d
to run the database, backend web servers, and helper services. -
You may inspect the logs of the backend using
docker compose logs -f backend celery_worker
Using the Digital Twin application
- With the docker compose application running, the default web address is http://localhost:8080 to view the web application.
- Choose input variables from the available input boxes at the top of the page.
- Select an area using Shift+click+drag to draw a bounding box of your area to start generating a model. It will take a long time, especially for the first run of an area.
- Monitor progress by checking the logs using
docker compose logs -f celery_worker
. - The API is available by default on http://localhost:5000. Visit https://geospatialresearch.github.io/Digital-Twins/api for API documentation.
Setup for FReDT project software developers
Visit our wiki for some instructions on how to set up your development machine to work with on the FReDT project.