X inferiority

Posted on

I just need to finish the year with a quick blog entry… And this one is – once again – about chi maps.

I thought about different ways to display chi maps. chi maps are usually plotted using stream networks. However, to this end, chi maps are not so much about stream networks but rather about drainage divides and how they potentially migrate in the future. In addition, the distance of potential divide migration depends on the relative difference of chi values on either side of the divide, not so much on the absolute values. How could we create a map that reflects this information

Here is an idea: First, we create a chi transform of the river network (see function chitransform). Then we map these chi-values to the entire grid. This can be accomplished with the new function mapfromnal which lets you map values from a stream network to its nearest upstream contributing pixels. Then, we will derive some-pixel wide fringes of chi values around the divides and calculate their spatial average. Dividing the chi values by these spatial averages then quantifies the degree to which some part of the divide is either a victim or an aggressor. Since victims have higher values, I call this metric the chi-inferiority.

Now here is the code:

DEM = GRIDobj('srtm_bigtujunga30m_utm11.tif');
FD  = FLOWobj(DEM);
S   = STREAMobj(FD,'minarea',500);
S   = removeedgeeffects(S,FD);
[~,zb] = zerobaselevel(S,DEM);
A   = flowacc(FD);

c   = zb + chitransform(S,A);
C   = mapfromnal(FD,S,c);
D   = drainagebasins(FD,S);

for r = 1:max(D)
    I = D==r;
    I = erode(I,ones(21)) & I;
    C.Z(I.Z) = nan;
end

C1 = dilate(C,ones(21));
C2 = erode(C,ones(21));

C  = C/((C1 + C2)/2);
imageschs(DEM,C,'colormap',ttscm('vik'),...
    'colorbarylabel','\chi-inferiority',...
    'ticklabels','nice');
hold on
plot(S,'k')
hold off
Map of chi-inferiority of the Big Tujunga catchment. Coloring is based on the vik colormap of the scientific colormaps of Fabio Crameri.

Happy New Year everone!

Advertisements

Earth surface processes in the age of consequences

Posted on

Rafael Schmitt and I have proposed a session for the EGU 2019 focussing on human-environment interactions. We aim to evaluate the current knowledge on how humans engineer landscape processes and on feedbacks between earth surface processes, their anthropic alterations and the resulting socio-economic repercussions.

For further information, please see the complete session description here. We invite presentations that shed light on the role of earth surface processes during past, present, and future human-environment interactions. Moreover, we solicit studies on innovative techniques of data collection and modelling to identify new approaches to value and manage sediment.

Hope to see you at the EGU! Note that the deadline for the receipt of abstracts is on Jan 10, 2019.

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:

Obligatory:

  • 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

Smoothing the planform geometry of river networks

Posted on

In previous posts (here, here, here), I have covered some of the tools and applications of smoothing in the analysis of river networks. Thereby, I have focused on the analysis of river profiles (see also our paper here). However, these tools can also be used to smooth and analyse the planform patterns of river networks.

Here is how:

DEM = GRIDobj('srtm_bigtujunga30m_utm11.tif');
FD = FLOWobj(DEM,'preprocess','carve');
S  = STREAMobj(FD,'minarea',1000);
S  = klargestconncomps(S);
y = smooth(S,S.y,'k',500,'nstribs',true);
x = smooth(S,S.x,'k',500,'nstribs',true);

[~,~,xs,ys] = STREAMobj2XY(S,x,y);
subplot(2,1,1)
plot(S)
subplot(2,1,2)
plot(xs,ys)
Upper panel: Original river network data. Lower panel: Smoothed river network.

Now what is this good for? First, simplification by smoothing might help in visualization. Second, the smoothed river coordinates can be used to derive metrics such as planform curvature of river networks. These metrics are strongly affected by the circumstance that river networks derived from digital elevation models are forced to follow the diagonal and cardinal directions of the grid. This results in local flow directions in steps of multiples of 45°. Changes in flow direction thus occur in jumps, and accordingly planform curvature of river networks are highly erratic. These erratic values may hide some of the larger-scale curvature patterns that we might be interested in.

The STREAMobj/curvature function features an example that shows how to accentuate larger-scale curvature patterns using smoothing. Following up on the code above, deriving curvature from smoothed planform coordinates can be done as follows:

y = smooth(S,S.y,'k',100,'nstribs',true);
x = smooth(S,S.x,'k',100,'nstribs',true);
c = curvature(S,x,y);
plotc(S,c)
box on
% center 0-value in colormap
caxis([-1 1]*max(abs(caxis)))
colormap(ttscm('vik'))
h = colorbar;
h.Label.String = 'Curvature';
Planform curvature of the river networks.

Clearly, the amount of smoothing determines the spatial scale of curvature. Here, the chosen smoothing parameter (K=100) accentuates the bends at a scale of a few hundred meters.

There are a number of applications for this kind of analysis. Lateral erosion of rivers may undercut slopes and it may be interesting to investigate if planform curvature metrics help to detect and predict locations of landsliding. Just an idea…

mappingapp – a tiny tool to map points along river networks

Posted on Updated on

TopoToolbox has a new tool. Ok, it’s a small tool with limited functionality, but it might be helpful if your aim is to map points along river networks. “Mapping points can be easily done in any GIS!”, you might think. True, but as I am currently working on knickpoints in river profiles (see also the automated knickpointfinder), I wrote this tool to quickly map knickpoints both in planform and profile view of the river network.

So, here is mappingapp. Give it a try.

DEM = GRIDobj('srtm_bigtujunga30m_utm11.tif');
FD = FLOWobj(DEM);
S  = STREAMobj(FD,'minarea',1000);
mappingapp(DEM,S)
DrZMINIW4AEMnH6.jpg large.jpg
mapping-app. A tiny tool to map knickpoints along river profiles.

Currently, the GUI is limited to a few basic tools. You can map a single point which automatically snaps to the river network S. The zoom tools allow you to navigate the DEM. You can add a new point using the + button. This will make the previous point permanent and add a new row to the table. Finally, the table can be exported to the workspace. The table contains the coordinates and z-values as well as a column IXgrid. IXgrid contains the linear indices into the DEM.

Controls of mappingapp

Multiple colormaps in one axis

Posted on Updated on

I recently mentioned that MATLAB now lets you easily use different colormaps in one figure. The trick is to provide the axis handle as first input argument to the colormap function call.

DEM = GRIDobj('srtm_bigtujunga30m_utm11.tif');
ax(1) = subplot(2,1,1);
imagesc(DEM); 
colorbar;

ax(2) = subplot(2,1,2);
imagesc(DEM); 
% Use the axis handle as first input argument
% to colormap
colormap(ax(2),landcolor); 
colorbar

multiplecmaps.png
Multiple colormaps in one figure.

However, how do you use multiple colormaps in one axes? That’s a little more tricky. Below, you find commented code that shows how to plot a colored and hillshaded DEM together with a stream network colored with ksn-values.

% Some data (DEM and ksn of river network)
DEM = GRIDobj('srtm_bigtujunga30m_utm11.tif');
FD  = FLOWobj(DEM);
A   = flowacc(FD);
S   = STREAMobj(FD,'minarea',1000);
k   = smooth(S,ksn(S,DEM,A),'K',1000);

% Create a new figure
hFig = figure;
% Call imageschs which has some parameter/value pairs
% to control colormap and colorbar appearance 
imageschs(DEM,[],'colormap','landcolor',...
                 'colorbar',true,...
                 'colorbarylabel','Elevation');

% Get the current axes
h_ax = gca;
% Create a new axes in the same position as the
% first one, overlaid on top.
h_ax_stream = axes('position', get(h_ax, 'position'),...
                   'Color','none'); 
% Plot the stream network               
plotc(S,k,'LineWidth',2);
% Make axis invisible
set(h_ax_stream,'Color','none');
% Create a colorbar
hc = colorbar(h_ax_stream,'Location','southoutside');
% ... and label it
hc.Label.String = 'ksn';
% Adjust color range
caxis(h_ax_stream,[0 200])
% Perfectly align both axes
set(h_ax_stream,'position', get(h_ax, 'position'),...
                'XLim',xlim(h_ax),...
                'YLim',ylim(h_ax),...
                'DataAspectRatio',[1 1 1]...
                );
% Link both axes so that you can zoom in and out            
linkaxes([h_ax,h_ax_stream],'xy');

% Resizing the figure may screw it all. Using the figure
% property ResizeFcn makes sure both axes remain perfectly
% aligned
hFig.ResizeFcn = @(varargin) ...
    set(h_ax_stream,'Position',get(h_ax, 'position'));

multipleaxes.png
Multiple colormaps in one axis.

The trick is to use additional axes. The difficulty lies in perfectly aligning them and to make alignment robust against resizing the figure.

Limits to hydropower expansion in the Himalayas

Posted on Updated on

Fig_S1_GEARTH_blog
The Upper Trishuli 3A hydropower project following the Gorkha Earthquake in 2015. Red lines are mapped coseismic landslides.

The 2015 Gorkha earthquake in Nepal caused severe losses in the hydropower sector. The country temporarily lost ~20% of its hydropower capacity, and >30 hydropower projects were damaged. In our paper that was just published in Geophysical Research Letters, we show that the projects hit hardest were those that were affected by earthquake‐triggered landslides. These projects are located along very steep rivers with towering sidewalls that are prone to become unstable during strong seismic ground shaking. A statistical classification based on a topographic metric that expresses river steepness and earthquake ground acceleration is able to approximately predict hydropower damage during future earthquakes, based on successful testing of past cases. Thus, our model enables us to estimate earthquake damages to hydropower projects in other parts of the Himalayas. We find that >10% of the Himalayan drainage network may be unsuitable for hydropower infrastructure given high probabilities of high earthquake damages.

Of course, we conducted the analysis primarily using TopoToolbox. A few functions that we used and partly developed for the purpose of our analysis are

  • STREAMobj/chitransform
  • STREAMobj/mchi
  • STREAMobj/smooth
  • STREAMobj/hillslopearea

References

Schwanghart, W., Ryan, M., Korup, O., 2018. Topographic and seismic constraints on the vulnerability of Himalayan hydropower. Geophysical Research Letters, in press. [DOI: 10.1029/2018GL079173]

see also Nature News article by Jane Qiu, 2018. Landslides pose threat to Himalayan hydropower dream. [DOI: 10.1038/d41586-018-06212-8]