Skip to content

wehrad/diuca

Repository files navigation

https://www.repostatus.org/badges/latest/wip.svg https://img.shields.io/badge/License-LGPL_v2.1-blue.svg Continuous integration pre-commit https://img.shields.io/badge/code%20style-LLVM-brightgreen.svg

Diuca: Glacier physics modelling with the MOOSE framework

Diuca is a MOOSE application to simulate the viscous and elastic deformation of ice in various conditions.

Diuca currently includes:

  • a new Full-Stokes model for viscous ice deformation tested with both Finite Elements (FE) and Finite Volumes (FV). It includes key elements for the modeling of tidewater glaciers such as an ocean boundary condition and a basal sliding law.

  • setups for the simulation of elastic ice deformation so far applied to the study of glacier resonance through full response functions and impulse-response experiments.

Why Diuca?

To follow the MOOSE convention of naming new applications after animals, Diuca was named after the White-winged Diuca Finch (Idiopsar speculifer), also known as the glacier finch for its unique nesting behavior in glacier cavities (Johnson, 1967, Hardy & Hardy, 2008, Lazo et al, 2025).

A recent BBC Earth video reveals for the first time the life of a family of Diuca finch at Quelccaya Glacier in Peru. Screenshot

Installation

Diuca requires a MOOSE installation. To install MOOSE, please follow the steps described here.

Once MOOSE is installed, Diuca can be cloned locally:

git clone https://github.com/wehrad/Diuca.git

Make sure to clone both MOOSE and Diuca in the same projects/ folder. This makes pointing at MOOSE from Diuca easier.

Then, switch to the main branch:

cd Diuca
git checkout main

Make sure your MOOSE conda environment is activated:

conda activate moose

Compile Diuca (-j sets the number of cores to use for compilation):

make -j 4

And run the tests:

./run_tests -j 4

If the installation was successful, you should see that all tests passing and some skipped. You can now use Diuca to simulate glacier physics!

To run Diuca on a simple input file, use the newly-created executable:

./diuca-opt -i inputs/simple_input.i

In multiprocessing with mpiexec:

mpiexec -n 6 ./diuca-opt -i inputs/simple_input.i

About

Glacier physics modelling with MOOSE

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •