Skip to content
Hilmar Gudmundsson edited this page Aug 30, 2018 · 53 revisions

Úa

A finite-element ice-flow model.

Úa is a finite-element ice-flow model developed at the University of Northumbria, Newcastle, UK, developed by Hilmar Gudmundsson (hilmar.gudmundsson@northumbria.ac.uk).

The model is based on a vertically integrated formulation of the momentum equations and can be used to simulate the flow of large ice sheets such as the Antarctic and the Greenland Ice Sheets, ice caps and mountain glaciers.

The ice-flow equations are solved on an unstructured mesh consisting of linear, quadratic or cubic triangular elements. Various meshing options are available, including automated mesh refinement and coarsening. When simulating the flow of marine ice sheets these meshing options allow, for example, the areas around grounding lines to be automatically highly resolved as the grounding-lines migrate through the computational domain. Elements can also be activated and deactivated in the course of a run. This enables the computational domain itself to change in the course of a run, for example when simulating the growth and decay of a large group of mountain glaciers.

Inversion for model parameters is done using the adjoint method.

Forward time integration can be done in a fully coupled manner, and the resulting non-linear system is solved using the Newton-Raphson method.

A weekly-long international user meeting and workshop is held annually, usually in early June.

Running Úa

The code is written in Matlab and to run the model you need a Matlab installation. No special toolboxes are required, however, some optional features can only be used with toolboxes such as the Optimisation and the Machine Learning toolboxes.

  1. Add the folder with the Úa m-files, and its subfolders, to your matlab path. This can be done using the 'Home/Set' Path menu item, or from the command prompt doing something like:
addpath(genpath('MyUaSourceFileFolder'))
  1. Define the Matlab environmental variable 'UaHomeDirectory'. This can for example be done as follows:
setenv('UaHomeDirectory','MyUaSourceFileFolder')
  1. If using the mesh generator `gmsh' (almost always the case) then also define the Matlab environmental variable 'GmshHomeDirectory'. The gmsh program for windows is in a subfolder of Ua/Source So if you are running windows
setenv('GmshHomeDirectory','MyDrive/Ua/Source/gmsh-2.12.0-Windows')

will do. Alternativily you might want to install your own copy of gmsh. If running on a Unix system, then most likely gmsh can be called without the need to set the Matlab environmental variable 'GmshHomeDirectory'.

Now you can run Úa from within Matlab by writing:

Ua [Ret]

Summary: Before running Ua do for example:

setenv('UaHomeDirectory','C:\cygwin64\home\Hilmar\ghg\Ua\Source')
setenv('GmshHomeDirectory','C:\cygwin64\home\Hilmar\ghg\Ua\Source\gmsh-2.12.0-Windows')
UaHomeDirectory=getenv('UaHomeDirectory'); addpath(genpath(UaHomeDirectory))

Then run Ua from the Source directory to see if everyting is OK.

Getting help

You can get help on the use of Úa in the same way as you would get help on various in-build matlab commands by writing

 help Ua  

in the matlab command line, or

doc Ua 

Most m-files that are part of the Ua program have some inbuild help text, for example try

doc Ua2D_DefaultParameters

Clone this wiki locally