Jakobshavn Isbrae tutorial
Goals
Change into IntroductionIn this tutorial, we construct a 2-dimensional model of Jakobshavn-Isbræ, West Greenland, and use it to invert for the basal friction parameter. DownloadFor this tutorial, we will use a dataset from the SeaRISE Initiative: runme fileThe
We will follow these steps one by one by changing the selected step at the top in Step 1: Mesh generationOpen steps = [1];
In the first step, we create a triangle mesh with 2,000 meter resolution using the domain outline file md=bamg(md,'hmin',1200,'hmax',15000,'field',vel,'err',5);
Go to $ cd $ISSM_DIR
$ matlab
>> cd examples/Jakobshavn/
Then execute the first step: >> runme
Step 1: Mesh creation
Anisotropic mesh adaptation
WARNING: mesh present but no geometry found. Reconstructing...
new number of triangles = 3017
Step 2: Model parameterizationIn this step parameterize the model. We set for example the geometry and ice material parameters. We use the Open >> runme
Step 2: Parameterization
Loading SeaRISE data from NetCDF
Interpolating thicknesses
Interpolating bedrock topography
Constructing surface elevation
Interpolating velocities
Interpolating temperatures
Interpolating surface mass balance
Construct basal friction parameters
Construct ice rheological properties
Set other boundary conditions
boundary conditions for stressbalance model: spc set as observed velocities
no smb.precipitation specified: values set as zero
no basalforcings.melting_rate specified: values set as zero
no balancethickness.thickening_rate specified: values set as zero
Step 3: Control methodIn the parameterization step, we applied a uniform friction coefficient of 30. Here, we use the basal friction coefficient as a control so that the modelled surface velocities match the observed ones. The mismatch between observation and modelled surface velocities is quantified by the value of a cost function. The type of cost function determines to a large degree the result of the inversion process. Different cost functions are available, type md.inversion to see a list of available cost functions: Available cost functions:
101: SurfaceAbsVelMisfit
102: SurfaceRelVelMisfit
103: SurfaceLogVelMisfit
104: SurfaceLogVxVyMisfit
105: SurfaceAverageVelMisfit
201: ThicknessAbsMisfit
501: DragCoefficientAbsGradient
502: RheologyBbarAbsGradient
503: ThicknessAbsGradient
Inverting for basal drag, we can use the cost functions that start with a 1. The cost functions can be combined and weighted individually: %Cost functions
md.inversion.cost_functions=[101 103];
md.inversion.cost_functions_coefficients=ones(md.mesh.numberofvertices,2);
md.inversion.cost_functions_coefficients(:,1)=40;
md.inversion.cost_functions_coefficients(:,2)=1;
Our cost function is thus the sum of ``SurfaceAbsVelMisfit'', the absolute of the velocity misfit, and ``SurfaceLogVelMisfit'', the logarithm of the velocity misfit. We weigh the first cost function 40 times more than the latter one. Open >> runme
Step 3: Control method friction
checking model consistency
marshalling file Jakobshavn.bin
uploading input file and queueing script
launching solution sequence on remote cluster
Launching solution sequence
call computational core:
preparing initial solution
control method step 1/20
....
Step 4: Display resultsHere, we display the results. Open |