cuas-mpi

MPI-parallel implementation of confined–unconfined aquifer system

https://github.com/tudasc/cuas-mpi

Science Score: 65.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 6 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization tudasc has institutional domain (www.sc.informatik.tu-darmstadt.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

MPI-parallel implementation of confined–unconfined aquifer system

Basic Info
  • Host: GitHub
  • Owner: tudasc
  • License: bsd-3-clause
  • Language: C++
  • Default Branch: main
  • Size: 967 KB
Statistics
  • Stars: 1
  • Watchers: 4
  • Forks: 1
  • Open Issues: 1
  • Releases: 2
Created over 3 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog License Citation Authors

README.md

CUAS-MPI · License

What is CUAS-MPI?

CUAS-MPI is an MPI parallel implementation of the Confined-Unconfined Aquifer System model (CUAS18) for subglacial hydrology. The implementation relies on the parallel data structures and linear system solvers provided by the Portable, Extensible Toolkit for Scientific Computation (PETSc). The model uses a one-layer equivalent porous medium (EPM) approach for efficient (channel-like) and inefficient (cavity-like) subglacial water transport. A two-dimensional Darcy-type groundwater flow equation with spatially and temporarily varying hydraulic transmissivity is solved considering confined and unconfined aquifer conditions.

How to use it?

One of the integration tests can be used to generate a simple setup to explore the modelling choices and command line options. The example below needs ncks and ncap2 from the NCO toolkit to manipulate the NetCDF files.

```

modifiy according to your installation

CUASBUILDDIR=$CUAS_ROOT/CUAS-MPI/cmake-build-debug/

number of MPI processes

NN=4

generate simple input file from example integration test

exact=$CUASBUILDDIR/test/cuascore/integration/test-exactSteadySolution mpirun -n $NN $exact 1000.0 101 101 31 86400 out0.nc

convert output to CUAS-MPI input and forcing file format

ncks -O -d time,-1 -v topg,bnd_mask,thk out0.nc input.nc ncap2 -O -s "bmelt=watersource * 365243600" out0.nc forcing.nc

run a simple experiment

cuas=$CUASBUILDDIR/tools/cuas.exe

set-up the solver

TOL="-ksprtol 1e-7 -kspatol 1e-15 -kspmaxit 10000 -kspconvergedusemininitialresidualnorm" export PETSCOPTIONS="-optionsleft -kspinitialguessnonzero -pctype bjacobi -ksp_type gmres $TOL"

make use of many options for this example

mpirun -n $NN $cuas --totaltime '15 days' --dt '1 hour' --saveEvery 1 --verbose --outputSize large \ --doChannels --Tmax 100 --Tmin 1.e-08 --initialHead Nzero $opts \ --conductivity 10 --layerThickness 0.1 \ --flowConstant 3.4e-24 --cavityBeta 5e-4 --basalVelocityIce 1e-6 --supplyMultiplier 1.0 \ --forcingFile forcing.nc \ input.nc output.nc ```

How to install?

Requirements

  • c++ compiler
    • at least support for c++ 17
    • the code is tested using gcc/10.2.0
  • MPI
    • we use OpenMPI
    • https://www.open-mpi.org/
    • version 4.0.x and 4.1.x
  • PETSc
    • https://petsc.org/
    • we tested version 3.14.6
    • with MPI support
  • netcdf-c
    • https://www.unidata.ucar.edu/software/netcdf/
    • we use version 4.7.4
    • with MPI and hdf5 1.8.22

Build

Starting from the CUAS-MPI directory: cmake -B build -DCMAKE_BUILD_TYPE=Release -DPETSC_DIR=<petsc-root-directory> -DNETCDF_DIR=<netcdf-root-directory> cmake --build build cmake --install build --prefix <prefix> You may want to use legacy cmake calls to generate Makefiles and build CUAS-MPI: mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DPETSC_DIR=<petsc-root-directory> -DNETCDF_DIR=<netcdf-root-directory> -DCMAKE_INSTALL_PREFIX=<prefix> make make install

CUAS-MPI makes use of the following options: | Option | Default | Description | | --- | :---: |--------------------------------------------------------------------------------------------------------------| | CUAS_ENABLE_TESTS | OFF | Enables targets building tests. | | CUAS_ENABLE_DOCS | OFF | Enables targets building documentation. |

References

[CUAS18] Beyer, Sebastian and Kleiner, Thomas and Aizinger, Vadym and Rückamp, Martin and Humbert, Angelika A confined–unconfined aquifer model for subglacial hydrology and its application to the Northeast Greenland Ice Stream. In The Cryosphere, pages 3931–3947, 2018.
[CUAS23] Fischler, Yannic and Kleiner, Thomas and Bischof, Christian and Schmiedel, Jeremie and Sayag, Roiy and Emunds, Raban and Oestreich, Lennart Frederik and Humbert, Angelika A parallel implementation of the confined–unconfined aquifer system model for subglacial hydrology: design, verification, and performance analysis (CUAS-MPI v0.1.0) . In Geoscientific Model Development, pages 5305-5322, 2023.

CUAS-MPI Applications

Owner

  • Name: Scientific Computing @ TU Darmstadt
  • Login: tudasc
  • Kind: organization
  • Location: Darmstadt, Germany

Research software developed at the Institute for Scientific Computing at TU Darmstadt

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite its initial paper."
authors:
  - family-names: Fischler
    given-names: Yannic
    orcid: https://orcid.org/0000-0001-7664-3895
  - family-names: Kleiner
    given-names: Thomas
    orcid: https://orcid.org/0000-0001-7825-5765
  - family-names: Bischof
    given-names: Christian
    orcid: https://orcid.org/0000-0003-2711-3032
  - family-names: Schmiedel
    given-names: Jeremie
    orcid: https://orcid.org/0000-0002-7559-3379
  - family-names: Sayag
    given-names: Roiy
    orcid: https://orcid.org/0000-0002-1672-982X
  - family-names: Emunds
    given-names: Raban
    orcid: https://orcid.org/0000-0002-8184-5026
  - family-names: Oestreich
    given-names: "Lennart Frederik"
    orcid: https://orcid.org/0000-0001-9374-4364
  - family-names: Humbert
    given-names: Angelika
    orcid: https://orcid.org/0000-0002-0244-8760
title: "A parallel implementation of the confined-unconfined aquifer system model for subglacial hydrology: design, verification, and performance analysis (CUAS-MPI v0.1.0)"
doi:
version: 0.1.0
date-released: 2023-01-20

GitHub Events

Total
  • Issues event: 1
  • Watch event: 1
  • Push event: 19
Last Year
  • Issues event: 1
  • Watch event: 1
  • Push event: 19

Issues and Pull Requests

Last synced: over 1 year 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
  • inwoo-park (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels