Category Archives: geoscience

Hurricane Harvey update

The Greater Houston Metro just got pounded by one of the largest storms (in terms of rainfall) on record: Hurricane Harvey. There was widespread flooding across all parts of the metro, but my home and Rice university were largely spared. The skies are clear today, after ~5 days of nearly continuous rainfall. However, the cleanup effort for this disaster will last years and cost billions of dollars. Nonetheless, I am certain that Houston will come back stronger and better than ever. This ordeal has made me even more proud to be a Houstonian.

At my house, we had a small leak in an interior bathroom, but because we received so much rain over the duration of the event, the roof became saturated and the sheetrock partially collapsed. No one was hurt, thankfully, and repairs are already underway.

I am currently working on an NSF RAPID grant, which I compiled the following figure for. This figure shows total rainfall during the Harvey event with the City of Houston (CoH) labeled. The precipitation data were collected from the National Weather Service and then summed to produce the total rainfall numbers for the below plot. I am proposing some work on the Brazos River (BR) so this feature is also labeled.

Outreach module — Flooding risk in low-lying landscapes

I have put together an outreach module that describes some of the risks of flooding in low-lying landscapes. The module runs in Matlab, either within a licensed environment, or with the Matlab Runtime Environment (which is available to anyone).

Accompanying the GUI is a worksheet that steps through all the aspects of the GUI and attempts to demonstrate the principles of flooding in deltas without detailing the math or physics behind the model. My hope is that it will be helpful to High School educators in their course work.

So far, I have only written a worksheet targeted at 9-12th graders, but plan to write two more (one for younger students, and one for more advanced undergraduate/graduate students) worksheets in the near future.

Below is a demonstration of the GUI. The full information for the module (including the source code) is on my GitHub here. The project website is here.



This material is based upon work supported by the National Science Foundation (NSF) Graduate Research Fellowship under Grant No.145068 and NSF EAR-1427177. Any opinion, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Accepted article — Continental divide location and mobility

My first peer-reviewed manuscript was recently accepted for publication in Basin Research! The manuscript explores the controls on continental divide location and mobility. In particular we explore the impacts of exogenic (allogenic) forcings that adjust topographic gradients in the landscape and ascertain what the relevant length scales for driving continental divide migration may be.

See the full publication here:

A preview (submission version) can be found here, in accordance with the terms of the license agreement.

Appalachian 150 km filter overlain with contours of calculated total rock deformation (thick gray lines) since 3.5 Ma, resulting from the combined effects of mantle induced dynamic topography and the flexural response of the lithosphere to unloading and loading of sediments across the surface (Moucha & Ruetenik, 2017). Prince et al. (2011) suggest that the Roanoke River (R) will eventually capture the headwaters of the New River (N), causing the actual divide to jump farther west, ultimately approaching or reaching the synthetic divide. This prediction is consistent with patterns of rock deformation (Moucha & Ruetenik, 2017) and calculated χ values (Fig. 9), and crudely co-located with the Central Appalachian Anomaly (CAA) tomographically imaged by Schmandt & Lin (2014). Inset shows the record of sediment flux off the Appalachians into the Atlantic passive margin Baltimore Canyon Trough basin (Pazzaglia & Brandon, 1996). The unsteady flux is characterized by pulses in increased sediment deposition that are interpreted to result from large-scale drainage captures that rapidly incise an enlarged Atlantic slope drainage area. FZ – Fall Zone, scarp – Orangeburg, Chippenham, and Thornburg scarps from Rowley et al. (2013).



Exogenic forcing and autogenic processes on continental divide location and mobility

The position and mobility of drainage divides is an expression of exogenic landscape forcing and autogenic channel network processes integrated across a range of scales. At the large scale, represented by major rivers and continental drainage divides, the organization of drainage patterns and divide migration reflects the long-wavelength gradients of the topography, which are exogenically influenced by tectonics, isostasy, and/or dynamic topography. This analysis utilizes long-wavelength topography synthesized by a low-pass filter, which provides a novel framework for predicting the direction of divide movement as well as an estimate of the ultimate divide location, that is complementary to recent studies that have focused on the χ channel metric. The Gibraltar Arc active plate boundary and Appalachian stable plate interior, two tectonically diverse settings with ongoing drainage system reorganization, are chosen to explore the length scales of exogenic forcings that influence continental drainage divide location and migration. The major watersheds draining both the active and decay-phase orogens studied here are organized by topographic gradients that are expressed in long-wavelength low-pass filtered topography (λ ≥ 100 km). In contrast, the river network and divide location is insensitive to topographic gradients measured over filtered wavelengths < 100 km that are set by local crustal structures and rock type. The lag time between exogenic forcing and geomorphic response and feedbacks cause divide migration to be unsteady, and occur through pulses of drainage capture and drainage network reorganization that are recorded in sedimentological, geomorphic, or denudation data.

This article is protected by copyright. All rights reserved.


This material is based upon work supported by the National Science Foundation (NSF) Graduate Research Fellowship under Grant No.145068 and NSF EAR-1427177. Any opinion, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

China field work 2017

I’m heading off tomorrow for my third summer field campaign in China. That also means that I’ve completed three years of my PhD.

I always seem to act a bit introspective around this time of the year, reevaluating decisions, remembering achievements, and reliving failures. This year hasn’t been especially easy for me; I’ve lost two important people in my life, and I’ve struggled to get my research moving at a pace that I feel is fast enough. Nonetheless, I’ve done a lot of good things this year too; I will be an author on (at least) two papers coming out this year, I won a service award for my department, and I am starting a new series of symposia at Rice that I’m especially excited about.

Our field campaign marks another journey halfway around the world to collect data on one of the most exceptional rivers in the world. My research goals for this year are to collect water column data during a flood. My analysis of the last two years’ data suggests that at high discharges, the concentrations of sediment become sufficiently high to dampen turbulence in the flow and introduce “density stratification”. I’m hoping to constrain the development of the density stratification in the lower Yellow River during this field campaign.

I’ll be working with some of the best people on our field campaign. Our campaign will be led by myself, Brandee Carlson, my advisor Jeff Nittrouer, and Hongbo Ma, and we will be helped (immensely) by Tian Dong, Chenliang Wu, Eric Barefoot, Dan Parsons, and Austin Chadwick.

Cheers for another year! Wish us luck!

Brandee Carlson and me towards the end of our 2016 field campaign

The exceptional sediment load of fine-grained dispersal systems: Example of the Yellow River, China — Ma et al., 2017

We’ve just published an exciting new paper in Science Advances which assess the transport of sediment in fine-grain river systems. The research is driven by Postdoctoral Researcher Hongbo Ma, who is the first author on the publication. I led the field survey and processed the Multibeam data of the Yellow River channel bed that you see in a few of the figures in the paper.

Hongbo has identified a physical explanation for why fine-grain rivers are able to move so much sediment. In short, it has to do with the organization of the channel bed, whereby dunes are wiped out at high Froude number flows with a small grain size on the bed. This reduces the form drag in the river and allows for more skin friction on sediment to bring into suspension. Hongbo continues to make strides in identifying a “phase transition” in sediment transporting systems that helps to explain the observations made in the Yellow River.

Yellow River at Hukou Waterfall. The river here is a bedrock-alluvial river, but this image provides a good demonstration of the comparatively massive volume of sediment transported by the Yellow River

You can get the paper here, or uploaded to my site as a pdf here.
There is a full article about the research with loads more information, including a video interview, from the Rice press department here. And an article from the National Science Foundation (funding organization) here. A Scientific American video explaining some of the research is available here.


Vibracore extraction tripod engineering drawings — Vibracore system

For our research in China, I was charged with building a Vibracore system. The Vibracore works by utilizing a concrete vibrator to rapidly vibrate an upright thin-walled aluminium pipe into the sand/dirt/mud below. A tripod is then set up over the in-ground pipe to pull it up from the ground. The pipe (now called a core I suppose…) is then cut open with a saw and analyzed/sampled.

dimetric view of assembled tripod

This system is nothing we invented, although I’m not sure of its origin. I based the design for our tripod on an apparatus that our colleague John Anderson has in his collection of field equipment. Our only substantial modification to the design was to make the legs of our system separable so that instead of a solid 10′ pipes of aluminium, we have two 5′ pipes, joined by a coupler. This is quite useful for us, since we send our system to China each year, and it makes it much easier to handle for shipping.

I recently made some engineering drawings of our system for a colleague and figured I would share them here in case they may be helpful to others. You can find the plans as a .pdf file here, or explore the system in three dimensions in the software they were designed in (OnShape CAD) at this link.

example drawing: head assembly top plate

Rice crew Vibracoring the Yellow River delta

In the future, I hope that my colleague Brandee Carlson (who leads the research using the Vibracore) and I can write a bit of an updated guide to the system based on our experiences using the system in the field, but for now I’ll just leave you with a few references for the system design below.

Land-based Vibracoring and Vibracore analysis: Tips, Tricks, and Traps. Occasional Paper 58. Thompson, T. A., Miller, C. S., Doss, P. K., Thompson, L. D. P., and Baedke. 1991.

Collection and analysis techniques for paleoecological studies in coastal-deltaic settings — Robert A. Gastaldo

Building a simple delta numerical model: Part VI

This will be the final piece of the model that we need to get to have a working code for delta growth: the time routine. We will define a few more terms in order to set up the model to be able to loop through all the time steps and update the evolving delta.

T = 500; % yrs
timestep = 0.1; % timestep, fraction of years
t = T/timestep; % number of timesteps
dtsec = 31557600 * timestep; % seconds in a timestep

T is the total time the model will be run for (in years), timestep is the fraction of year that will be simulated with each timestep, expressed in seconds as dtsec, and t is the number of timesteps to loop through. Now we simply take our block of code that we’ve built up to calculate all the propertyies of the delta (slope, sediment transport, deposition, etc.) and surround it with a for statement:

for i = 1:t
[S] = get_slope(eta, nx, dx); % bed slope at each node
[H] = get_backwater_fixed(eta, S, H0, Cf, qw, nx, dx); % flow depth
U = Qw ./ (H .* B0); % velocity
[qs] = get_transport(U, Cf, d50, Beta);
qsu = qs(1); % fixed equilibrium at upstream
[dqsdx] = get_dqsdx(qs, qsu, nx, dx, au);
[eta] = update_eta(eta, dqsdx, phi, If, dtsec);

To explain in words the above block, now, we are going to go through every timestep i and calculate the slope of the bed (eta) everywhere in the model domain, then we use this slope (and other defined parameters) to determine the flow depth and velocity through the entire delta. The velocity is used to calculate sediment transport, and the change in sediment transport over space produces a change in the channel bed elevation over time (i.e., the Exner equation). Finally, we return to the top of the loop to calculate a new slope based on our new bed.

That’s it! Our delta model is now complete and we can outfit it with all sorts of bells and whistles to test hypotheses about delta evolution in the natural (or experimental) world. A powerful tool indeed!

Below is a simple movie output from this model that shows the results of our hard work! The complete code for the delta model can be found here.

Note that there is a small instability that grows at the front of the sediment wedge, this isn’t a huge problem depending on what you want to do with your model, but you can tweak dx and dt to make things run “smoother” (see the CFL number for more information).

This material is based upon work supported by the National Science Foundation (NSF) Graduate Research Fellowship under Grant No.145068 and NSF EAR-1427177. Any opinion, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Building a simple delta numerical model: Part V

Now we need to add a routine to update the channel bed, based upon the calculated change in sediment transport over space from the previous step. We’ll use the calculation from the last Part of the tutorial (get_dqsdx) in order to update the channel bed (η) at the end of each timestep. Define the following parameters

phi = 0.6; % bed porosity
If = 0.2; % intermittency factor

where If is an intermittency factor representing the fraction of the year that the river is experiencing significant morphodynamic activity. We are basically assuming that the only major change to the river occurs when the river is in flood. One year is the temporal resolution for the model, which we’ll define in the next Part.

function [eta] = update_eta(eta, dqsdx, phi, If, dtsec)
eta0 = eta;
eta = eta0 - ((1/(1-phi)) .* dqsdx .* (If * dtsec));

This module works simply by multiplying our vector for change in sediment transport capacity over space to the Exner equation (reproduced below) to evaluate the change in bed elevation over time (i.e., at the next timestep).

There isn’t really anything exciting to show at this stage, as we’ve only calculated the change in the bed for a given dqsdx vector, which represents only a single timestep. In the next Part, we’ll add a time routine to the model, completing the setup required for the simple delta model.

This material is based upon work supported by the National Science Foundation (NSF) Graduate Research Fellowship under Grant No.145068 and NSF EAR-1427177. Any opinion, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Manuscript submitted — continental divides

I’ve been out of undergraduate for almost three years now. I’ve finally resubmitted the work I began as an undergraduate at Lehigh with co-author Frank Pazzaglia. We submitted the paper in 2015, but it was ultimately rejected by the editor. While it naturally stung for a while, I think that this was actually a good thing to happen to me, let me explain.

I have spent the past ~1.5 years working with my co-authors to overhaul the manuscript. I’ve largely spent evenings and weekends working on the research, because it isn’t technically my PhD research. It was something of a “hobby” for dorks like me. I had a retrospective moment today and I realized that the manuscript (in my humble opinion) is 100x better than it was when we submitted just over two years ago. The paper is more organized, more quantitative, and more robust in terms of novel results, discussion and implications. I really wish I could just publish it now, but I guess that isn’t really how peer review works…but that’s kind of the point I’m trying to make I think — that is, peer review works. I was frustrated in the moment when my hard work as an undergrad got shot down, but now I see how much better the paper (and by extension me) is because of the rejection.

Anyway, here is a figure from the manuscript that motivates a lot of the paper.

The analysis uses low-pass filtering of topography to isolate the long-wavelength gradients of the landscape. We define a “synthetic” divide along the crest of this long-wavelength topography and explore how offset in the actual (black line above) and synthetic (blue dashed line) correspond with geomorphic, sedimentological, and geodynamic data from two study settings. The above figure shows the North American Rockies region where, curiously, all the major rivers of the region are organized to the long-wavelength topography — said another way, the major rivers all drain radially away from the regional high areas defined by Yellowstone (Y above) and the Colorado Plateau (C above).

This is in fact one of the major results to come out of our research and it has implications for long-term landscape evolution, including continental divide migration, delivery of sediment to margins, and the length scales that control these processes.

Anyway, stay tuned and look for our paper in Basin Research later this year (fingers crossed!).

Andrew J., Moodie, Pazzaglia, Frank J., Berti, Claudio (submitted) Exogenic and autogenic checks on the location and migration of continental divides, Basin Research.

Building a simple delta numerical model: Part IV

In this part of “Building a simple delta numerical model”, we’ll write the part of our model that will solve the “Exner” equation, which determines changes in bed elevation through time. We’ll start with the module in this post, and then implement the time-updating routine in the next post of this series.

We’re going to make an assumption about the adaptation length of sediment in the flow in order to simplify the Exner equation. The full Exner equation contains two terms for sediment transport, a bed-material load and a suspended load term. The bed material load is probably transported predominantly as suspended load in an actual river, but because it is in frequent contact and exchange with the bed (i.e., suspension transport is unsteady), the flow and bed can be considered to be in equilibrium over short spatial scales, or rather, there is a short adaptation length.

It has been suggested that in fine-grain rivers the adaptation length of the flow to the bed conditions, and vice versa, is so long that sediment stays in suspension over a sufficiently long distance that the fraction of sediment mass held in suspension must be conserved separately from the bed fraction of sediment. We’re going to neglect this idea, because 1) we’re considering medium sand which likely has a short suspension period, and 2) the process may actually not be that important for fine-grain rivers either (An et al., in prep).

So, the Exner equation is then given by (Equation 1):

where λp = 0.6 is the channel-bed porosity, η is the bed elevation, t is time, qs is sediment transport capacity per-unit channel width, and x is the downstream coordinate. The form of Equation 1 shows that a reduction in the sediment transport over space (negative ∂qs/∂x) causes a positive change in the bed elevation over time (∂η/∂t).

In the last post we calculated a vector qs for the sediment transport capacity everywhere, and now we simply need to calculate the change in this sediment transport capacity over space (x). We’ll do this with a winding scheme and vectorized version of the calculation for speed. This guide is not meant to be comprehensive for solving PDEs or even winding calculations, and we already did a similar calculation for slope, so I’ll just present the code below:

au = 1; % winding coefficient
qsu = qs(1); % fixed equilibrium at upstream

function [dqsdx] = get_dqsdx(qs, qsu, nx, dx, au)
dqsdx = NaN(1, nx+1);% preallocate
dqsdx(nx+1) = (qs(nx+1) - qs(nx)) / dx; % gradient at downstream boundary, downwind always
dqsdx(1) = au*(qs(1)-qsu)/dx + (1-au)*(qs(2)-qs(1))/dx; % gradient at upstream boundary (qt at the ghost node is qt_u)
dqsdx(2:nx) = au*(qs(2:nx)-qs(1:nx-1))/dx + (1-au)*(qs(3:nx+1)-qs(2:nx))/dx; % use winding coefficient in central portion

We’ve introduced two new parameters in this step, a winding coefficient (au) and an upstream sediment feed rate (qsu). The sediment feed rate constitutes a necessary boundary condition for solving the equation. Here, we set this boundary to be in perfect equilibrium by defining the feed rate as the transport capacity of the first model cell; however, this condition has interesting implications for the model application (more discussion on this in Part VI!).

The calculation then, for a single t (which we implicitly set to be 1 second with out sediment transport calculation), the change in sediment transport capacity over space is maximized in the backwater region.

This vector is converted to the commensurate change in bed elevation over this single t by multiplying by (1/(1-λp)). Of course, we can consider many ts at once, and so the vector would again be multiplied by the timestep (Δt). We’ll consider this in the next post, where we add a time loop to the model, such that on ever timestep, the backwater, slope, sediment transport and change in bed elevation are each recalculated and updated so that we have a delta model which evolves in time!

The code for this part of the model is available here.


This material is based upon work supported by the National Science Foundation (NSF) Graduate Research Fellowship under Grant No.145068 and NSF EAR-1427177. Any opinion, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.