tsunami-inundation-emulator

Site specific emulators for tsunami run-up simulations.

https://github.com/norwegian-geotechnical-institute/tsunami-inundation-emulator

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Site specific emulators for tsunami run-up simulations.

Basic Info
  • Host: GitHub
  • Owner: norwegian-geotechnical-institute
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 6.5 MB
Statistics
  • Stars: 4
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Site specific emulators for tsunami run-up simulations.

SQAaaS badge

SQAaaS badge shields.io

Local Probabilistic Tsunami Hazard Analysis (PTHA) aims to quantify the probability distribution of inundation intensity parameters, such as maximum flow-depth, on a given location over a given period of time. A common workflow consists of three main stages [Gibbons 2020]:

  1. Establish a stochastic model of the tsunami sources. Based on this model a set of (weighted) scenarios is generated.
  2. For each source scenario, approximate maps of the inundation intensity parameters are calculated. To this end one apply depth integrated equations, i.e., the shallow water equations. Linearized shallow water equations are suitable when wave heights are small compared with the depth, however, as waves approach land, the full nonlinear shallow water equations are needed to model the run-up.
  3. Hazard aggregation.

To obtain a sufficiently accurate representation of the distribution of the source, a large number of scenarios is necessary. In such cases, a site specific tsunami runup emulator, trained on precalculated data, enables fast simulations, and hence the assessment of a large number of scenarios.

In this project, we seek to construct a sufficiently accurate emulator to meet the needs associated with PTHA and PTF (Probabilistic Tsunami Forecasting).

Content

This repository contains the code used to build, train and test ML-models for predicting tsunami inundation maps from offshore time-series. The results are documented in the article Machine Learning Emulation of High Resolution Inundation Maps (Submitted to GJI). The code is written in Julia using Flux.

Usage

First create a data directory for defining test and training sets. The training data is defined in a text file. Each line should contain the path (relative to a root data folder) to each scenario file. Test data is specified similarly. The current setup assumes the data is stored in NetCDF. The loading of the data applies NCDatasets.jl and is implemented in the datareader.jl module.

The analysis is divided into three main steps: 1. [Create] The creation of a model is done in the notebook create-model.ipynb. As a final step, the model is stored as a subfolder of a runs directory. The model folder contains the following: - A Flux model stored as a .bson file. - A config.yml file used to store dataset configuration and training parameters. - The scripts used to run the training (a copy current version of train-model.jl and datareader.jl).

Your folder structure should now look like:
```
├── data
|   ├── test.txt
|   └── train.txt
├── runs
|   └── model_name
|       ├── config.yml
|       ├── ct_mask.txt
|       ├── datareader.jl
|       ├── model_name.jls
|       ├── model_config.jl
|       ├── optimizer.bson
|       └── train-model.jl
├── notebooks
├── scripts
├── Project.toml
├── Manifest.jl
└── .gitignore
```
  1. [Train] To train the model apply the script train-model.jl. I.e., terminal [rundir/model_name]$ julia --project train-model.jl Note that you can set the training parameters directly in the model folder without applying the create-model.ipynb. After training the summary file "train-summary.txt" is available in the model folder.

  2. [Evaluate] The evaluation of the model is described in evaluate-model.ipynb. There are also other notebooks used for evaluation and comparison of model results. Note also the predict.jl script used to make predictions of specific events.

Prerequisites

  • Make sure you have julia installed. Version information is stored in Manifest.toml.
  • GPU. The current script runs on CUDA. However, only minor changes in train-model.jl is needed to run on CPU.

Improvements.

Currently the loading of the data has been written with training sets that are too large to fit in memory in mind. Several of the applied datsets do fit in memory. It would make training much faster if we could include a switch to load the whole set into memory before training.

Publication.

If you use the code, we would like you to refer to the following publication:

Briseid Storrøsten, Erlend; Ragu Ramalingam, Naveen; Lorito, Stefano;
Volpe, Manuela; Sánchez-Linares, Carlos; Løvholt, Finn; Gibbons, Steven J (2024).
Machine learning emulation of high resolution inundation maps,
Geophysical Journal International, 238, Issue 1, pp. 382–399,
https://doi.org/10.1093/gji/ggae151

Screenshot from the above paper (https://doi.org/10.1093/gji/ggae151)

References

Owner

  • Name: Norwegian Geotechnical Institute (NGI)
  • Login: norwegian-geotechnical-institute
  • Kind: organization

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: tsunami-inundation-emulator
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Erlend
    family-names: Briseid Storrøsten
    email: erlend.briseid.storrosten@ngi.no
    affiliation: Norwegian Geotechnical Institute
    orcid: 'https://orcid.org/0000-0002-6549-6268'
repository-code: >-
  https://github.com/norwegian-geotechnical-institute/tsunami-inundation-emulator
license: MIT
commit: 43d9c6ea57de9ab69331cb111cb9ea77f5fd31b7
date-released: '2023-11-08'

GitHub Events

Total
  • Watch event: 1
  • Push event: 4
Last Year
  • Watch event: 1
  • Push event: 4

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels