TopoToolbox dependencies

Posted on

TopoToolbox is a MATLAB software. MATLAB consists of the core product MATLAB and can be extended by numerous toolboxes that have specific purposes, and that cost extra. TopoToolbox also comes as a toolbox, and is free. When typing ver in the command line, TopoToolbox should be listed together with the other available toolboxes.

TopoToolbox relies mainly on core MATLAB functions, but unfortunately it also requires a few toolboxes. Many universities and academic institutions may have licences for these toolboxes, but if you are working for a private company or some governmental administration, access to these toolboxes may be limited, often due to monetary reasons. Accordingly, usability of TopoToolbox may be limited for many.

Dirk and I are well aware of this problem. Thus, we have designed TopoToolbox in a way that keeps toolbox dependencies at a minimum. However, this is not completely feasible. This is because, first, we only have limited time available for our TopoToolbox work. Writing some functions of other Toolboxes ourself would certainly be possible, but it is likely that they would not run with the same efficiency and speed. It would also mean reinventing the wheel. Second, we could make use of external and free third-party toolboxes and libraries that are available on the MATLAB file exchange and github. However, that would also mean maintaining these dependencies which can be difficult if there are major changes. Of course, MATLAB toolboxes are also changed frequently, but these changes are usually well documented in the release notes. Thus, to secure a positive user-experience we largely refrain from using third-party toolboxes.

What are toolbox dependencies of TopoToolbox?

DEM analysis heavily relies on image processing algorithms. In fact, gridded DEMs are just georeferenced gray-scale images. Thus, TopoToolbox requires the Image Processing (IP) Toolbox which provides access to numerous filtering and morphological algorithms (e.g. image erosion and dilation, gray-weighted distance transforms). If you don’t have the IP toolbox, you will quickly encounter errors that state that a particular function is missing. If you don’t have the IP Toolbox but you want to still use TopoToolbox, I’d recommend using dipimage, an excellent image processing toolbox. But this would mean making numerous changes to the code. I won’t say it is impossible, but it’ll be quite some work.

Then, you should have the Mapping Toolbox. If you don’t have it, reading and writing geocoded data (geotiffs, shapefiles) is a bit tedious. Moreover, some of the functions (e.g. STREAMobj2latlon) would not work because they rely on the Mapping Toolbox functions that transform coordinates from projected to geographic systems and vice versa. TopoToolbox works well without georeferencing, but having the Mapping Toolbox is much more convenient.

Some new functions (crs, smooth (only if output is positive only), quantcarve) need the Optimization Toolbox because they rely on large-scale sparse linear and quadratic programming algorithms. If you don’t have the Optimization Toolbox, you won’t be able to run these functions. There are some third-party optimization products available, but I haven’t looked at alternatives so far. If you know good alternative toolboxes that are free and implement large-scale sparse optimization techniques, please let me know. mnoptim uses the bayesopt function that come with the Statistics and Machine Learning Toolbox.

Finally, some of the functions are coded so that they make use of the Parallel Computing Toolbox. However, they run without this toolbox, too.

All in all, to run TopoToolbox you should definitely have the Image Processing Toolbox and the Mapping Toolbox. Some functions require other toolboxes, but perhaps you don’t really need these functions. Hope I didn’t forget any dependencies. If I did, please let me know.


iceTEA – Tools for Exposure Ages from ice margins

Posted on


My guest blogger today is Richard Selwyn Jones from Durham University. He developed iceTEA, a set of MATLAB tools to calculate exposure ages. He kindly accepted my invitation to write here about his software. Thanks!

iceTEA (Tools for Exposure Ages) is a new toolbox for plotting and analysing cosmogenic-nuclide surface-exposure data. The tools were originally intended for data that are used to reconstruct past glacier and ice sheet geometries, but they can potentially be used for many other geochronology and geomorphology applications of cosmogenic nuclides.

The iceTEA tools are available via an online interface (http://ice-tea.org) and as MATLAB code with a ready-to-use front-end script for each tool (https://github.com/iceTEA-code). While the online version performs all primary analysis and plotting functionality, the code provides the user with greater flexibility to apply the tools for specific needs and also includes some additional options.

There are eight tools, which provide the following functionality: 1) calculate exposure ages from 10Be and 26Al data, 2) plot exposure ages as kernel density estimates and as a horizontal or vertical transect, 3) identify and remove outliers within a dataset, 4) plot nuclide concentrations on a two-isotope diagram and as a function of depth, 5) correct exposure ages for cover of the rock surface, 6) correct ages for changes in elevation through time, and estimate 7) average and 8) continuous rates of change (e.g. ice margin retreat or thinning).

Here is an example of how you can use the code to correct data for long-term uplift:

data_name = 'input_data.xlsx';  % File name used for sample data

scaling_model = 'LSD';     % 'DE','DU','LI','ST','LM','LSD','LSDn'
% Set elevation correction
correction_type = 'rate';  % Select 'model' or 'rate'
GIA_model = [];            % If 'model', set GIA model to use - 'I5G' or 'I6G'
elev_rate = 2;             % If 'rate', set rate of elevation change (m/ka)

sample_data = get_data(data_name);  % Load sample data
% Calculate Elevation-corrected Exposure Ages
if strcmp(correction_type,'model')
    elev_input = GIA_model;
elseif strcmp(correction_type,'rate')
    elev_input = elev_rate;
corrected = elev_correct(sample_data,scaling_model,correction_type,elev_input);

The corrected exposure ages can then be plotted as kernel density estimates:

% Plot settings
feature = 1;    % Data from single feature?  yes = 1, no = 0
save_plot = 0;  % Save plot?  1 to save as .png and .eps, otherwise 0
mask = [];      % Select samples to plot (default is all)
time_lim = [];  % Optionally set x-axis limits (in ka)
weighted = [];  % Optionally select weighted (1) or unweighted (0) mean and standard deviation (default is weighted)
% Plot figure

A two-isotope diagram. Samples that plot inside the “simple exposure region” (marked by black lines) were continuously exposed, whereas samples that plot below this region have been buried in the past with a complex exposure history.
A kernel density estimate plot for exposure ages from a moraine. Individual ages are shown in light red, with the summed probability as a dark red line. One of the tools allows the user to evaluate the effects of surface cover on their dataset using different types and depths of surface cover (shown here as green summed probability lines for snow and till).
Rates of change can be estimated using linear regression in a Monte Carlo framework, or continuously using Fourier Series analysis or Bayesian penalized spline regression. The latter is shown here. The exposure age constraints (with age and sample position uncertainties) are modelled (upper panel) in order to generate rates of change (lower panel). In this example, ice sheet thinning was most rapid at approx. 8 ka.

The purpose of these tools is to allow users to explore the spatial and temporal patterns in their data in a consistent and inter-comparable way, and also to initiate discussion of further improvements in the application and analysis of surface-exposure data. We welcome suggestions for additional plotting or analysis tools.


Jones, R.S., Small, D., Cahill, N., Bentley, M.J. and Whitehouse, P.L., 2019. iceTEA: Tools for plotting and analysing cosmogenic-nuclide surface-exposure data from former ice margins. Quaternary Geochronology, 51, 72-86. [DOI: 10.1016/j.quageo.2019.01.001]

Two PhD positions “Elevated Low Relief Landscapes in Mountain Belts: Active Tectonics or Glacial Reshaping? A Case Study in the Eastern Alps”

Posted on

Two PhD positions within the FWFproject “Elevated Low Relief Landscapes in Mountain Belts: Active Tectonics or Glacial Reshaping? A Case Study in the Eastern Alps

This project will focus on the evolution of elevated low relief landscapes (plateaus) in active mountain ranges. The project is funded by the Austrian Science Fund (FWF) and the government of Salzburg for a period of three years and will commence in March 2019. Details of the research project are available under: www.geodynamics.at.

Duration of the employment

The two PhD positions will be fully financed for 36 months. In accordance with the Collective Labour Agreement for Austrian Universities in Austrian (§ 26 “Kollektivvertrag für die ArbeitnehmerInnen der Universitäten“ Verwendungsgruppe B1), a salary of € 2,096,00 gross per month (14 x) for a 30-h / week employment.

Desired skills and experience

The successful candidate should have:


  • Master’s degree (or equivalent) in Geology, Geomorphology, Geophysics, Geochemistry, Computational Science

Excellent skills and practical experience in one or more of the following research areas:

  • experience in numerical simulationtools and programming skills (e.g. C++, Fortran, Python, R, Matlab…)
  • ability to work in rugged alpine terrain and caves
  • experience with lab-work and chemical preparation of rock samples
  • knowledge of the principles of earthsurface dynamics (in particular the interaction of processes driven by climate and tectonics)
  • autonomous and proactive working
  • written and spoken English proficiency
  • skills in dissemination of scientific results (e.g. writing scientific publications)
  • flexibility and the ability to workin a team

Specification of the main focus of the two PhD positions:

  • PhD-candidate A will work at the University of Salzburg under the supervision of Jörg Robl.She/He will focus on morphometry and landscape evolution modelling (glacialerosion). A stay abroad at Aarhus University (David Egholm) is planned. For this position we seek for an ambitious young scientist with a strong affinity to numerical modeling. Experience with field work in alpine environments is an advantage.
  • PhD-candidate B is based in Graz and will work under the supervision of Kurt Stüwe. She/He willfocus on cosmogenic nuclide dating of cave sediments. A stay abroad at the SUERC Glasgow (Derek Fabel, Fin Stuart) is planned. For this position we seek for a motivated researcher with a strong affinity to lab work and caves. The ability to work in rugged alpine terrain and caves is a prerequisite.

A tight cooperation between all team members is expected. Amongst others this will include joint field work in the Eastern Alps, meetings in Salzburg and Graz, GIS and modelling workshops, conference visits, and paper writing.

The Application should include:

  • letter of motivation for the desired position (PhD-A: Salzburg or PhD-B: Graz)
  • CV (academic career, scientific publications, research interests, skills)

The applications can be submitted until December 31 to the following Email address: joerg.robl@sbg.ac.at

Open Ph.D. position at the University of Roma

Posted on

Here is an advertisement for an open PhD position at the University of Roma for a project led by Paolo Ballato and Claudio Faccenna. I am collaborating in the project.

Ph.D. position at the Department of Science (Section Geology) of the University of Roma

Deciphering the Mantle Contribution on Surface uplift in the Atlas-Meseta system (Morocco).

The idea that mantle flow dynamics may contribute to the topographic development of orogens has changed our vision on mountain building processes and inspired an increasing number of modelling studies. Isolating and documenting such a contribution however, has been proved to be difficult, especially in continental settings where the paleontological record is not as determinant as in marine systems. This research proposal aims to decipher the influence of mantle flow on the topographic growth of the Atlas-Meseta system of Morocco. There, the occurrence of several hundred of meters of mantle driven uplift, offers the possibility to investigate magnitude, timing and rates of surface uplift, by means of a multidisciplinary approach involving recent advancements on stratigraphy, geomorphology, geochronology, and low-temperature thermochronology. The outcome of this field- and laboratory-based approach will be finally integrated for developing an analogue geodynamic model and gain more insights into the mechanisms of mantle flow. Specifically, the candidate student will quantify longitudinal and latitudinal spatio-temporal patterns of surface uplift and regional tilting induced by mantle flow along two transects across the Atlas-Meseta system. In addition, the expected results will provide geological information that will be used for calibrating a final geodynamic analogue model, which will be of general interest for unravelling the evolution of mountain belts that are not supported by orogenic roots.


Paolo Ballato and Claudio Faccenna (University of Roma Tre)


Taylor Schildgen (GFZ Poytsdam), Wolfgang Schwanghart (University of Potsdam), Giuditta Fellin (ETH Zurich), Francesca Funiciello and Federico Rossetti (University of Roma Tre)


The successful candidate must have high motivation, a MSc degree in Geology, Earth Sciences or equivalent, solid basic knowledge in field geology, geomorphology, stratigraphy and tectonics. Basic knowledge in ArcGIS and MATLAB are also required. Applicants must be also proficient in spoken and written English and have teamwork skills.

Information and application

To apply, please send a cover letter clarifying your overall motivation together with your curriculum vitae and names, telephone numbers, and e-mail addresses of two referees to Paolo Ballato (paolo.ballato@uniroma3.it), before June 18th.

Conditions of employment

The project will start on November 1st as part of the University of Roma Tre Ph.D. programme (34th cycle) and will last 3 years. The scholarship has an annual amount of 13.638,47 Euro (social security fee included) and is increased (+50%) for periods of study or research abroad.

If you have any questions regarding this offer please feel free to contact Paolo Ballato (paolo.ballato@uniroma3.it) and/or Claudio Faccenna (claudio.faccenna@uniroma3.it).

TopoToolbox 2.2 released

Posted on


The last weeks had been quite busy to finish version 2.2 which was available as a prerelease for a long while. TopoToolbox users who keep their software constantly updated (for example by using GIT) won’t see much changes.  For those that do not keep pace with the frequent commits to our repository, we encourage them to do so now. There are a lot of new functions and modifications. Benjamin Campforts added TTLEM, the TopoToolbox Landscape Evolution Model. The scope of functions for working with river networks (STREAMobj) has tremendously increased with new plotting functions, low-level chi analysis tools, and tools for geometric modifications. We added new functions to hydrologically correct and smooth river networks and values measured along them (e.g. constrained regularized smoothing (CRS)). TopoToolbox now supports multiple flow directions and there are several new functions for working with grids (GRIDobj). In addition, we consolidated the help sections in each function and increased compatibility with older MATLAB versions. Please see the readme-file for a complete overview of changes.

With version 2.2, we offer TopoToolbox as a MATLAB® toolbox file (mltbx-file). This file will make installation very easy. Simply download it, double-click, and follow the instructions.

Dirk and I met this morning in the train (here we are!) …

Dirk (left) and I taking a selfie…

… and discussed possible directions for a next version. The number of functions has increased a lot which entails the threat that TopoToolbox might become confusing and even deterrent in particular for new users. Simply adding new functionalities is thus not the way forward. Instead, we decided that a new version should have a better documentation that should be integrated in MATLABs documentation browser. To quote John D’Errico, a long-time and excellent contributor of MATLAB code: Your job as a programmer does not stop when you write the last line of code. If you think so, then you should be fired. You should document your code. Provide help. Otherwise, that code is just a bunch of random bits, useful to nobody else in the world.

With this in mind, let’s go for 2.3.

Geomorphometry Short Course at the EGU 2017, Vienna

Posted on


Only few days left until the EGU begins, the largest European annual geoscience meeting in Vienna. In case you attend you should consider to participate the short course in geomorphometry: Getting the most out of DEMs of Difference. The course is organized by Tobias Heckmann, Paolo Tarolli and me and will be on Wednesday, 26 April, 13:30-15:00 in Room N1.

Please see here for further details on the course’s aims and scope.

Short courses on the analysis of elevation data at the University of Potsdam

Posted on


Two short courses are scheduled for mid June at Potsdam University. The short courses are independent of each other; however, the topics are related and probably address a similar audience.

Geoscience investigations of point clouds, June 7-9, 2017. Instructors B. Bookhagen, R. Arrowsmith, M. Isenburg, C. Crosby.

This course will explore the acquisition, post-processing, and classification of point clouds derived from airborne and terrestrial lidar scanners and structure from motion (SfM) photogrammetry from drones. The course will take place at campus Golm (UP) and includes one day of field-data collection and two days of data post-processing and analysis.
The application is here: https://goo.gl/forms/NrRAcaASXPuseRs62. The course is sponsored by Geo-X.
Here is the flyer: PDF for more details.

Advancing understanding of geomorphology with topographic analysis emphasizing high resolution topography, June 12-15, 2017. Instructors R. Arrowsmith, W. Schwanghart, C. Crosby, B. Bookhagen.

This course will focus on advanced understanding of geomorphology with topographic analysis emphasizing high-resolution topography. The course will take place at campus Golm (UP) and includes theoretical background and analysis of digital topography using TopoToolbox in a Matlab environment. The course is sponsored by StRATEGy.
Here is the flyer: PDF for more details.

I’d be glad to see you in Potsdam!