### Point patterns on stream networks (1)

Our new paper on point patterns on stream networks just got published in Earth Surface Processes and Landforms and is open-access (thanks to the DEAL agreement). In this post, I’d like to talk about what the new class PPS is and what it is good for.

Read the rest of this entry »### Finding the right mn-ratio using mnoptimvar

River profile analysis based on the stream-power model usually requires finding the right mn ratio (also termed the concavity index theta). While many researchers often refer to the standard value of 0.45, there is not much reason to believe that this value is universally valid. And the issue is crucial. Many metrics such as ksn or chi are very sensitive to changes in the mn-ratio (see the recent paper by Boris Gailleton and colleagues).

TopoToolbox features a function that uses Bayesian Optimization to find a suitable value of the mn-ratio (mnoptim, see this blog post). If the study area consists of several drainage basins, the function finds an optimal value using cross-validation. This means, it finds a good value in a subset of the basins and tests it with the remaining catchments. This approach works well when the majority of basins is in steady state.

Read the rest of this entry »### A river is rarely straight…

I just watched Ajay Limaye‘s Landscapes Live talk about river meandering. Wondering, how to calculate sinuosity using TopoToolbox, I then realized that I had actually written a function that does the job a while ago. It’s called – guess what – sinuosity.

Read the rest of this entry »### Labelling composite figures quickly

In one of my previous posts, I wrote that I am increasingly using MATLAB to make publication-ready figures. In fact, MATLAB offers everything that you need to create maps and figures that can be exported to any format and quality required by journals (see also Martin Trauth’s blog post on this).

Read the rest of this entry »### Working with cell arrays in TopoToolbox

Do you work with MATLAB’s cell arrays? If yes, you’ll know that they are a convenient data format to store all kind of data such as strings, numeric data, and dates.

A = cell(1,3); A{1} = 'Happy New Year'; A{2} = [1 2 3]; A{3} = datetime(2021,1,1); >> A A = 1×3 cell array {'Happy New Year'} {1×3 double} {[01-Jan-2021]}

Now, you can also use cell arrays to store data generated using TopoToolbox. Today, I’ll show how you can make efficient use of cell arrays by exploiting some recent enhancements to the function STREAMobj2cell. To this end, these new functionalities enable several new ways to plot stream networks, to run analysis tasks in parallel, and to automate workflows.

### Plotting knickpoints using @PPS

The new class PPS (Point Pattern on Stream networks) is available now for a while, but I missed to write about it. I hope that in the coming weeks, I’ll find some time.

Briefly, what is PPS good for? PPS implements methods of point pattern analysis on stream networks. Point pattern analysis is a branch in spatial statistics and aims to explore and to infer the mechanisms that generate events or phenoma represented as points distributed in space. The analysis of point patterns on networks is a very active branch of research and focusses on events that occur on or alongside networks. If you want to learn more about points on networks, you may want to look at the R package spatstat and many of the publications by Adrian Baddeley and his co-authors. Our paper on EarthArxiv may also be a good start and looks at point patterns on stream networks in particular.

Read the rest of this entry »### Location, location, location!

This post is about a new function which adds to the tools for stream-network analysis. Admittedly, this function does no magic. It is rather generic and, to this end, I am wondering how you might use it in your own research. For me, the motivation to write it, was to identify locations where I’d expect knickpoints (abrupt changes in channel gradient) – given a model of knickpoint migration. This is something that we explored in our Roan Plateau paper. Other questions could be:

- Where are the locations along the river network that are exactly some distance upstream from the stream outlet?
- Where do rivers cross a specific elevation contour?
- Where are locations with maximum ksn value?

### Use of Chi analysis in experimental landscapes (DULAB)

*This blog post is written by Kobi Havusha. Kobi is member of Liran Goran‘s group at the Department of Earth and Environmental Sciences of the Ben-Gurion University of the Negev. The blog post is a tutorial that shows how TopoToolbox is applied to study divide dynamics simulated in an experimental landscape.*

Before using this tutorial, please make sure you have TopoToolbox, the DEM file “Diff_EXP_17hr”, the functions “ChiPrimeTransform”, “ChiAtNearestStream”, and “ChiAsymmetry” which can be found on this GitHub repository.

### How does lithological composition vary downstream (2)

In my last blog post, I showed how TopoToolbox can be used to plot the lithological composition as a function of distance along a river profile. This worked rather nicely with a single river. But how do you visualize these patterns if you have a catchment with multiple streams.

### How does lithological composition vary downstream?

Matthew Morris recently asked on Twitter whether it is possibly to plot river profiles together with the lithological composition of their upstream area. I found this idea challenging and so I decided to write some code that does it.

Read the rest of this entry »