Homework #6 earth surface processes Humphrey 2022
(You have enough information to do this, but feel free to ask me on Tuesday if it doesn’t make sense)
We continue to investigate geomorphic processes by
applying simple numerical algorithms. We also build on the skills you
developed in the previous homework, where we looked at how we calculate the
output of a hillslope by dividing the slope into short regions (or bins), and
summing the process over time and space. Here we again look over time and
space to predict the evolution of a landscape shape that is fairly easily
eroded by creep processes. The sketch below is a profile through a small
fault (earthquake) scarp, which has broken the surface of a desert landscape.
The feature is basically 2 dimensional, since it continues unchanged in and out
of the plane of the diagram. The scarp is made up of easily eroded desert
regolith (light and dark brown in picture).
The height of the scarp is 2 meters. Assume
the only process operating over time in this environment is one of our distributed
“slope processes”, probably mainly rainsplash. Assume; that in this
desert environment, the time evolution of this feature can be approximately
described by the difference equation we developed in class, operating on a
landscape that has been divided into ‘bins’:
where Z is the elevation of “bin” i at time t, and the x length of bins is Dx. The time step size is Dt, in seconds, and the governing rate coefficient for the distributed process is Cprocess. Note; in the equation all the quantities on the right are known at time “now” (or t) and only the new elevation at t+1 appears on the left as the unknown. Calculate the time evolution of this (2D) feature for 10,000yrs into the future.
You will need to discretize the scarp: I recommend setting the elevation (Z) to zero at the base of the scarp and to 2 at the top. You will need to divide the region into bins, probably 1 meter bins will work although ˝ meter bins would be better. Use the above equation ‘A’ we developed in class. Each individual point has to be calculated using the value of the elevation at that point, plus the current value of the elevation on each side. You will need values of the end points (or Boundary Conditions). You may assume these boundary conditions (BCs) are that the top and bottom points (x=0 and x=10m) and are fixed in elevation. The initial conditions (ICs) are your digitized profile. The coefficient C for rainsplash is 5x10-12m2s-1. Calculate profiles for 1000, 2000, 3000 and 10,000 years, and plot the resulting profiles, and the original profile.
(Important Note) The non-dimensional group (C Dt /(Dx)2) is numerical equivalent to the scaling relationship I talked about in class. In other words, if this group is large, then the process is basically finished, while if it is small (less than 1) the process is still going on. As a result, you need to keep this group less than about ˝. If you make the time step too large, or the space step too small, the model will “blow-up”, and you will get spikes instead of smooth curves. This occurs because you are saying the process continues into the future, when in fact it eventually stops.. You should keep the size of the time step less than the ratio (Dx)2/C, (I think 500 or 1000 year steps will work).
You can do this problem 2 ways:
For most of you, you can set it up as an EXCEL spreadsheet (or a MATLAB or PYTHON problem), and solve the algebraic difference equation we developed in class (eqn A). See below for a hint on how to use Excel. Plot your results over time.
For the mathematically inclined, you can solve the governing (continuous) diffusion equation. In this case you can assume the initial step is vertical and the BCs are at x(+/- infinity), this makes the math easier since the solution becomes the appropriately scaled complementary error function. You need to show your work and plot your answer.
Note for Excel users:
There is similarity between this problem and the previous conveyor-belt hillslope problem. We use the same idea of ‘binning’ the hillslope into excel cells, and then writing a simple equation to do repetitive calculations on the cells. Time is represented by stepping across your cells, column by column. Space is represented by the rows in your grid, row 1 (representing bin1) being the left side of the problem and row n being the right side of the problem. The idea is to put all the starting elevations in column 1. To step forward in time, the first and the last bins or cells (in other words the BCs) get transferred directly to the next-rightward column, which will be the elevations at the next time step. In terms of what we talked about in class, this sets the BC elevations to a constant value. This next-rightward column is then filled with the new elevations by writing a ‘formula’ which duplicates our in-class formula to produce the value of the rightward cell from the values of the leftward cell, and the cell above and below. Once you have the ‘formula’ operate on the entire column, the rightward column becomes the new starting column and represents the elevations at one time step into the future. You then start the whole process over to produce a new rightward column out of the current column, and thus take another time step.
When plotting the results, note that you can ‘right-click’ on any of the features of the plot, such as the axes or the wording or the lines and change their properties such as font size or line styles. This can really help the plot become more readable.
Some thoughts on other programming languages:
If you know a little MATLAB, here is a sample program that does a similar program. And here is a short primer on MATLAB
The future of scientific programming is probably best represented by Python and Numpy/Scipy, which is a complete, free and the fastest growing scientific programming environment. Here is a Python sample program, using the plotting routines from python MatPlotLib and using numeric arrays from Numpy. Here is a short primer on PYTHON. I recommend the ‘ANACONDA’ free distribution of Python.
Tutorials on Excel, MATLAB and Python
There are numerous tutorials out there, in book form or on the web. They may help you in the above problem. Two that I have found to be useful are for Excel and MATLAB. (note these are web pages outside the University, so you get whatever is there)