A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

FReDT

Provide a better understanding of the degree of impact flood events can have on physical assets like buildings, roads, railways, transmission lines, etc.
https://github.com/geospatialresearch/digital-twins

Category: Climate Change
Sub Category: Natural Hazard and Storm

Last synced: about 12 hours ago
JSON representation

Repository metadata

README.md

Copyright © 2021-2025 Geospatial Research Institute Toi Hangarau

Flood Resilience Digital Twin (FReDT)

image

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

Starting the Digital Twin application (localhost)

  1. Clone this repository to your local machine.

  2. Create a file called api_keys.env, copy the contents of api_keys.env.template and fill in the blank values with API credentials from the above links.

  3. 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 as CESIUM_ACCESS_TOKEN and POSTGRES_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.

  4. From project root, run the command docker compose up -d to run the database, backend web servers, and helper services.

  5. You may inspect the logs of the backend using docker compose logs -f backend celery_worker

Using the Digital Twin application

  1. With the docker compose application running, the default web address is http://localhost:8080 to view the web application.
  2. Choose input variables from the available input boxes at the top of the page.
  3. 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.
  4. Monitor progress by checking the logs using docker compose logs -f celery_worker.
  5. The API is available by default on http://localhost:5000. Visit https://geospatialresearch.github.io/Digital-Twins/api for API documentation.

Contributing

If you are interested in contributing to this project, please see our contributing page here.

Support

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.

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.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 5 days ago

Total Commits: 1,973
Total Committers: 13
Avg Commits per committer: 151.769
Development Distribution Score (DDS): 0.381

Commits in past year: 73
Committers in past year: 7
Avg Commits per committer in past year: 10.429
Development Distribution Score (DDS) in past year: 0.342

Name Email Commits
Casey Li c****i@c****z 1221
Luke Parkinson l****n@c****z 402
Pooja3894 8****4 139
Pooja Khosla p****a@c****z 123
Rose Pearson R****n@n****z 37
Xander Cai x****i@g****m 20
GRI Admin 1****n 9
Luke Parkinson l****n 7
Martin m****4@g****m 6
Sam Thompson s****0@g****m 4
Angus L a****8@u****z 3
Pooja3894 8****4 1
martin20494 t****2@u****z 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 242
Total pull requests: 161
Average time to close issues: 5 months
Average time to close pull requests: about 1 month
Total issue authors: 11
Total pull request authors: 12
Average comments per issue: 0.92
Average comments per pull request: 0.98
Merged pull request: 128
Bot issues: 0
Bot pull requests: 0

Past year issues: 138
Past year pull requests: 96
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 5 days
Past year issue authors: 7
Past year pull request authors: 8
Past year average comments per issue: 0.86
Past year average comments per pull request: 0.61
Past year merged pull request: 70
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/geospatialresearch/digital-twins

Top Issue Authors

  • LukeParky (166)
  • caseyli92 (49)
  • rosepearson (8)
  • changliao1025 (5)
  • MatthewDWilson (4)
  • Flame1190 (2)
  • Pooja3894 (2)
  • Martin20494 (2)
  • xandercai (2)
  • pritamd47 (1)
  • GRI-Admin (1)

Top Pull Request Authors

  • LukeParky (66)
  • caseyli92 (44)
  • Martin20494 (16)
  • Pooja3894 (11)
  • GRI-Admin (7)
  • xandercai (6)
  • Flame1190 (3)
  • rosepearson (2)
  • A-Load-Of-c0de (2)
  • alistairjmcintyre (2)
  • anirudh1117 (1)
  • 0xkon1 (1)

Top Issue Labels

  • bug (37)
  • front-end (35)
  • back-end (35)
  • AA - Non Functional (30)
  • A2 - Pollutant Modelling (23)
  • A0 - Not Associated (22)
  • devops/ci/cd (20)
  • enhancement (18)
  • good first issue (14)
  • wontfix (12)
  • A6 - Usability (12)
  • security (11)
  • check with project manager (11)
  • documentation (11)
  • question (7)
  • testing (7)
  • A3 - Toggling Layers (6)
  • EPIC (5)
  • blocked (5)
  • help wanted (4)
  • A4 - Exporting (4)
  • Needed for JOSS (2)
  • A1 - Upload Structures (1)
  • duplicate (1)
  • A7 - Upload Layers (1)
  • A5 - User Auth (1)

Top Pull Request Labels

  • check with project manager (1)
  • blocked (1)
  • documentation (1)
  • front-end (1)
  • back-end (1)

Dependencies

.github/workflows/add-issue-to-project.yml actions
  • actions/add-to-project v0.4.0 composite
.github/workflows/blocking-issues.yml actions
  • Levi-Lesches/blocking-issues v2 composite
.github/workflows/run-tests.yml actions
  • SonarSource/sonarcloud-github-action master composite
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
Dockerfile docker
  • continuumio/miniconda3 latest build
docker-compose.yml docker
  • postgis/postgis latest
.github/workflows/build-documentation.yml actions
  • actions/checkout v2 composite
visualisation/Dockerfile docker
  • nginx stable build
  • node lts-slim build
visualisation/package-lock.json npm
  • 1635 dependencies
visualisation/package.json npm
  • @typescript-eslint/eslint-plugin ^4.18.0 development
  • @typescript-eslint/parser ^4.18.0 development
  • @vue/cli-plugin-babel ~4.5.0 development
  • @vue/cli-plugin-eslint ~4.5.0 development
  • @vue/cli-plugin-typescript ~4.5.0 development
  • @vue/cli-service ~4.5.0 development
  • @vue/eslint-config-standard ^5.1.2 development
  • @vue/eslint-config-typescript ^7.0.0 development
  • eslint ^6.7.2 development
  • eslint-plugin-import ^2.20.2 development
  • eslint-plugin-node ^11.1.0 development
  • eslint-plugin-promise ^4.2.1 development
  • eslint-plugin-standard ^4.0.0 development
  • eslint-plugin-vue ^6.2.2 development
  • raw-loader ^4.0.2 development
  • typescript ~4.1.5 development
  • vue-template-compiler ^2.6.11 development
  • axios ^0.21.4
  • bootstrap-vue ^2.22.0
  • core-js ^3.6.5
  • geo-visualisation-components 0.0.5-alpha
  • vue ^2.6.11
  • vue-router ^3.6.0
environment.yml pypi
  • celery ==5.2.7
  • geovoronoi ==0.4.0
  • gunicorn ==20.1.0
sphinx/requirements.txt pypi
  • sphinx-autoapi *
  • sphinx_rtd_theme *

Score: 6.349138991379798