Copyright © 2021-2025 Geospatial Research Institute Toi Hangarau
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.
The following list defines the basic steps required to set up and run the digital twin.
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
-
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 fields such asCESIUM_ACCESS_TOKEN
andPOSTGRES_PASSWORD
.POSTGRES_PASSWORD
can be a password of your choosing. You may modify other configuration variables if needed to suit particular deployment environemnts.Note: If you modify the geoserver admin password (important for public deployments) you must also update the password manually in the Geoserver interface. See https://docs.geoserver.org/main/en/user/security/webadmin/ugr.html#edit-user-group-service.
-
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
- 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.
If you are interested in contributing to this project, please see our contributing page here.
If you run into an issue, bug, or need help with the software, please consider opening an issue or discussion, this will be the best way to reach us.
Visit our wiki for some instructions on how to set up your development machine to work with on the FReDT project.