waterchannel

This code computes the bottom topography in a water channel.

https://github.com/ju310/waterchannel

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 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.7%) to scientific vocabulary

Keywords

bathymetry-reconstruction pde-constrained-optimization
Last synced: 6 months ago · JSON representation ·

Repository

This code computes the bottom topography in a water channel.

Basic Info
  • Host: GitHub
  • Owner: ju310
  • License: bsd-2-clause
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.91 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 3
Topics
bathymetry-reconstruction pde-constrained-optimization
Created almost 2 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

Bathymetry Reconstruction in a Water Channel

Description

This code reconstructs the bathymetry in a water channel using either simulated or experimental observation data. We use gradient descent to minimise an objective functional, where we compute the numerical solution of the continuous adjoint problem in order to determine the gradient. The forward problem is modelled by the nonlinear nonrotating shallow water equations and discretised with the spectral methods framework Dedalus.

How to reproduce the data and plots

After cloning this repository, download the measurement data from the water flume here. You can compute and save the mean of the measurements by uncommenting the lower lines in compare_observations.py. This file will also produce the plots of the means with confidence intervals.

Solutions of the SWE

  • Go to the file ProblemRelatedFiles/Compute_channel_forward.py.
  • Set variables as needed. In particular, set save = True. To obtain the plots in the paper, you may copy the parameters from simdataTiefe=0,3A=40F=0,35meanBathyExactRampT=12M=128.txt.
  • Execute the file. ### Plots of the solution of the SWE
  • Go to the file create_plots_forward.py.
  • Insert the file name that was generated by ProblemRelatedFiles/Compute_channel_forward.py.
  • Set save = True.
  • Execute the file. ### Optimisation results If you want to generate the optimisation results, use the file gradient_descent.py as follows.
  • Set useOtherParams = True if you want to reproduce the data from the paper.
  • If you set useOtherParams = True: Set folder to one of the folders with parameters, e.g. sim_obs_sensor_pos.
  • If you don't want to use one of the predefined parameter files, change the indicated variables in ProblemRelatedFiles/params.py as needed.
  • Set save = True.
  • Execute the file gradient_descent.py. ### Plots of the bathymetry reconstruction etc.
  • Go to the file create_plots.py.
  • Insert the folder name that contains the hdf5 file with the optimisation data (e.g. 202402220912_AM).
  • Set save = True.
  • Execute the file. ### Plot of the bathymetry
  • Execute the file plot_bathymetry.py.
  • Optional: Uncomment the code lines at the bottom to save the figure.

Requirements

Installation of Dedalus version 3.0.0 or newer is required. Please read the installation instructions on the Dedalus website. For the versions of NumPy, SciPy etc. see the file requirements.txt.

Acknowledgements

This project has received funding from the European High-Performance Computing Joint Undertaking (JU) under grant agreement No 955701 (Time-X). The JU receives support from the European Union’s Horizon 2020 research and innovation programme and Belgium, France, Germany, and Switzerland. This project also received funding from the German Federal Ministry of Education and Research (BMBF) grant 16HPC048. The authors acknowledge the support by the Deutsche Forschungsgemeinschaft (DFG) within the Research Training Group GRK 2583 ``Modeling, Simulation and Optimization of Fluid Dynamic Applications''.

                 

                 

Owner

  • Login: ju310
  • Kind: user

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: Waterchannel
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Judith
    family-names: Angel
    orcid: 'https://orcid.org/0009-0008-2098-4883'
    email: judith.angel@tuhh.de
    affiliation: Hamburg University of Technology
  - given-names: Daniel
    family-names: Ruprecht
    email: ruprecht@tuhh.de
    affiliation: Hamburg University of Technology
    orcid: 'https://orcid.org/0000-0003-1904-2473'
  - given-names: Sebastian
    family-names: Götschel
    email: sebastian.goetschel@tuhh.de
    affiliation: Hamburg University of Technology
    orcid: 'https://orcid.org/0000-0003-0287-2120'
repository-code: 'https://github.com/ju310/Waterchannel'
license: BSD-2-Clause

GitHub Events

Total
  • Release event: 1
  • Push event: 15
  • Create event: 1
Last Year
  • Release event: 1
  • Push event: 15
  • Create event: 1

Dependencies

requirements.txt pypi
  • dedalus ==3.0.0a0
  • h5py ==3.7.0
  • matplotlib ==3.6.0
  • numpy ==1.23.3
  • scipy ==1.9.1