Skip to content

A Few Papers I’m Reading This Summer

June 2, 2014

Hey look at this, I’m posting on this blog again! The academic year has ended and I feel like I can take a breath. When people told me that being a tenure-track junior prof was going to keep me very busy they weren’t kidding, holey moley. But, it’s all exciting, fun, exhausting, challenging, and rewarding.

In an attempt to resuscitate this blog, I wanted to post about a few papers in sedimentary geoscience that I’m currently reading (or will read) this summer:

  • From gullies to mountain belts: A review of sediment budgets at various scales — Matthias Hinderer, Sedimentary Geology, 2012 — This is a review paper taking a look at the importance of considering mass balance in Earth surface systems with an emphasis on methods for determining sediment budgets at geologic timescales. This is not about calculating sediment budgets in a hydrology/geomorphology sense — where flux can be monitored and measured in real time along different reaches of a stream, for example — this is about what we can (and, importantly, cannot) estimate or infer regarding paleo sediment budgets. For example, what tools are being used and what critical uncertainties exist for determining sediment budget in Quaternary (<2 million years old) systems? What about further back in time? The paper includes several case study examples that span a range of spatial and temporal scales.
  • Scaling laws for aggradation, denudation, and progradation rates: The case for timescale invariance at sediment sources and sinks — Peter Sadler and Douglas Jerolmack, online-early contribution to upcoming GSL Special Publication “Strata and Time: Probing the Gaps in Our Understanding” — I predict this paper will be cited a lot by those of us interested in Earth surface dynamics, it’s a good one. I’ve written about Sadler’s contributions on this blog before (nearly seven years ago, time flies!), which deal with how unsteady depositional processes create a potentially misleading ‘artifact’ when comparing accumulation rates measured over different durations. Sadler & Jerolmack make the point that denudation (mass removal) rates rarely have this problem because methods like catchment-wide cosmogenics or thermochronology (for exhumation information) already sample the entire area of interest. Depositional (mass accumulation) rates, on the other hand, are typically measured in single locations, e.g., a borehole or outcrop section, which rarely are representative of the entire depositional area. This is perhaps an obvious point to make, but sometimes really important points are simple, and I think they articulate it very well. They then go on to make the case that cross-sectional area (a 2-D slice through a depositional volume) is potentially sufficient to approximate the true 3-D mass balance, which is difficult to impossible to constrain in ancient records.
  • Mid-Cretaceous to Paleocene North American drainage reorganization from detrital zircons — Mike Blum and Mark Pecha, Geology, 2014 — I have not read this yet, I’m looking forward to diving in soon. This paper uses a database of >5,000 detrital zircon ages to reconstruct continent-scale drainage basin evolution of North American over 10s of millions of years of geologic history. The punchline is that during the Cretaceous much of North American drained north, toward the Arctic, and then in the Paleocene it switched towards the Gulf of Mexico (i.e., what has become the modern Mississippi drainage system).

Happy reading.


Friday Field Photo #188: Cross Section of Alluvial Fan Barform

November 22, 2013


This week’s photo is from the mouth of Wildrose Canyon in Panamint Valley, California. My grad student (for scale) and I were out this way doing field work last spring and ended up driving by this nice outcrop on our ‘commute’ from the campsite to the field site.

We didn’t spend much time examining these deposits, but they are almost certainly Pleistocene (maybe Pliocene?) alluvial-fan deposits. Notable features include the poorly sorted, matrix-supported character and the large, inclined surfaces (dipping towards the basin, from right to left).

Happy Friday!

(You probably see an advertisement right below the post. Sorry to clutter up this content with annoying ads, I don’t like it either, but I would otherwise have to pay for hosting. This option is the least intrusive.)

A lot going on, just not on this blog

October 31, 2013

Remember when I used to post semi-regularly on this blog? Yeah, not so much these days. Incredibly busy with three graduate students working on three different projects, two undergraduate researchers, teaching two courses and a seminar this semester, trouble-shooting instrument issues in my lab, working with collaborators over email/phone, and trying to make progress on a couple of papers and two proposals with whatever time is left.

Overall, I’m lovin’ it, these are exciting times. It’s a joy working with motivated and curious graduate and undergraduate students. They make me want to improve how I do my science. I’m trying to continue to learn new skills (or, in some cases, re-learn skills I once knew).

Perhaps someday I’ll get back to posting on here!

Read more…

Wish list of digital ‘tools’ for stratigraphic analysis

October 5, 2013

Matt Hall and Evan Bianco of Agile Geoscience recently ran a two-day ‘hackathon’ where participants got together in a room and created some digital tools for working with geophysical data of subsurface geology. It’s a great idea — get some creative and passionate geoscientists and programmers (many participants are both of those) into the same room for a couple of days and build something. And they did.

The success of the Geophysics Hackathon has initiated discussion among the more stratigraphically oriented subsurface interpreters to have a similar event. The when, where, how, and other logistical matters need to be figured out. It takes a critical mass of interested people willing to do the leg work to make stuff like this happen, so we’ll see what happens.

But, for this post, I figured I would brainstorm some digital tools (apps?) that I would love to have for the work I do. Some may be easy to deal with, some may not … it’s a wish list. My focus is on outcrop-derived data because outcrop-based stratigraphy is a focus of my research group. But, these outcrop data are used directly or indirectly to inform how subsurface interpreters make predictions and/or characterize their data.

  • Tools for converting outcrop measured sections (and core descriptions) into useable data. To me, this is the primary need. I could envision an entire event focused on this. As outcrop stratigraphers, we typically draft up our 1-D measured sections from scanned images of our field notebooks into a figure. There is value in simply looking at detailed section of sedimentological information in graphic form. This is why we spend time to draft these illustrations. However, we also need to extract quantitative information from these illustrations (an image file of some kind) — information including bed thickness stats, facies proportions, grain-size ‘logs’, package/cycle thickness stats, and more. The key is it has to flexible and able to work with an image file. That is, the data extraction workflow cannot dictate how the original data is collected in the field or how the section is drafted. Sections are drafted in different ways, at different resolutions, and are dependent on the exposure quality, purpose of study, etc. The post-processing must be able to deal with a huge variety.
  • Tools for processing outcrop/core data (above) and generating metrics/statistics. Whether integrated into a single tool or as part of a multi-step workflow, we then need some tools that automate the processing of the outcrop/core data to generate metrics we are interested in. For example, if I have 10 sections and I want to calculate the percentages of various facies (e.g., as different colors in image or based on a grain-size log), it would be amazing to have script to automate that.
  • A simple and accurate ‘ruler’ app for subsurface visualization software. I find myself constantly wanting to do quick (but not dirty, I want it to be accurate) measurements of dimensions of stratigraphy of interest. Some software packages have built-in rulers to make measurements and some of these are okay, but it’s usually clunky and I end up unsatisfied. I want to know how wide (in meters) and how thick (in TWT milliseconds) something is in seismic-reflection data? And I want it in a matter of seconds. Launch the app, a couple clicks, and I got it. I can move on and don’t have to mess around with any display settings.  And if I want to do the same on a different subsurface visualization software, I can use the same app. I have no idea if this is even possible across multiple proprietary software packages, but this is what I want.

Please add comments, write your own post, start a wiki page, etc. to add to this.

Read more…

Grain Settling Equations and Plots With R

August 18, 2013

Zoltan Sylvester wrote a nice post a couple weeks ago exploring grain settling equations. He plotted up these equations using some Python code. Here, I simply reproduce what Zoltan did but with R code. So, go read Zoltan’s post first. This was more of an exercise in continuing to learn R rather than an exploration of grain settling physics. And, in this case, doing the ‘translation’ is a nice introduction to how Python works.

My R code works (yay), but seems bulky and cumbersome (boo). I’m sure there are ways to streamline it, feel free to comment with suggestions.

This first box of code defines constants, the three equations to be plotted, and then applies those equations to a range of particle sizes (diameters from 0 to 0.5 mm).

# Some constants for the equations
rop = 2650.0 # density of particle in kg/m^3
rof = 1000.0 # density of water in kg/m^3
visc = 1.002*1E-3 # dynamic viscosity in Pa*s at 20C
C1 = 18 # constant in Ferguson-Church equation
C2 = 1 # constant in Ferguson-Church equation

# Stokes
v_stokes = function(d){
  R = (rop-rof)/rof # submerged specific gravity
  w = R*9.81*(d^2)/(C1*(visc/rof))
# Turbulent
v_turb = function(d){
  R = (rop-rof)/rof 
  w = ((4*R*9.81*d)/(3*C2))^0.5
# Ferguson-Church equation
v_ferg = function(d){
  R = (rop-rof)/rof 
  w = ((R*9.81*(d^2))/(C1*(visc/rof)+

# Define a range (sequence) of particle diameters
d = seq(0,0.0005,0.000001)

# Invoke the function for that range of particle diameters
ws = v_stokes(d)
wt = v_turb(d)
wf = v_ferg(d)

This next box then creates the plot shown below the code.

# Plot diameter (in mm) vs. settling velocity for diameters 0-0.5 mm
plot(d*1000, ws, ylim=c(0,0.15), type="l", lwd=3, col="blue", 
     xlab="Particle Diameter (mm)", 
     ylab="Settling Velocity (m/s)", yaxt="n")
lines(d*1000, wt, col="darkgreen", lwd=3)
lines(d*1000, wf, col="red", lwd=3)
# Axes labels, ticks, annotation, legend
axis(2, at=seq(0,0.14,0.02), cex.axis=0.85, las=1)
abline(v=c(0.063,0.125,0.250), col="gray40", lwd=0.9, lty=5)
text(0.022,0.105, "clay & silt", cex=0.75)
text(0.094,0.105, "vf sand", cex=0.75)
text(0.190,0.105, "fine sand", cex=0.75)
text(0.410,0.105, "medium sand", cex=0.75)
legend(0,0.15,legend=c("Stokes","Turbulent","Ferguson & Church"),
       cex=0.7, lty=c(1,1,1), lwd=c(3,3,3), col=c("blue","darkgreen","red"))
# Plot points from Table 2 of Ferguson & Church
D = c(0.068,0.081,0.096,0.115,0.136,0.273,0.386,0.550,0.770,1.090,2.180,4.360)
W = c(0.00425,0.0060,0.0075,0.0110,0.0139,0.0388,
points(D,W, pch=20)


The next part is the same equations but for an expanded range of particle diameters (up to pebbles) and plotted in log-log space.

# Define a range (sequence) of particle diameters
d = seq(0,0.01,0.00001)

# Invoke the function for that range of particle diameters
ws = v_stokes(d)
wt = v_turb(d)
wf = v_ferg(d)

# Plot in log-log space
plot(d*1000, ws, ylim=c(0.00001,10), xlim=c(0.01,10), type="l", log="xy", 
     lwd=3, col="blue", xlab="Particle Diameter (mm)", 
     ylab="Settling Velocity (m/s)", xaxt="n", yaxt="n")
lines(d*1000, wt, col="darkgreen", lwd=3)
lines(d*1000, wf, col="red", lwd=3)
# Axes labels, ticks, annotation, legend
axis(2, at=c(0.00001,0.0001,0.001,0.01,0.1,1,10), cex.axis=0.85, las=1)
axis(1, at=c(0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10), cex.axis=0.85, las=1)
abline(v=c(0.0156,0.031,0.063,0.125,0.250,0.5,1,2,4), col="gray40", lwd=0.9, lty=5)
text(0.011,0.0008, "fine silt", cex=0.75, srt=90)
text(0.022,0.0021, "medium silt", cex=0.75, srt=90)
text(0.043,0.0004, "coarse silt", cex=0.75, srt=90)
text(0.09,0.0004, "very fine sand", cex=0.75, srt=90)
text(0.17,0.0004, "fine sand", cex=0.75, srt=90)
text(0.33,0.0004, "medium sand", cex=0.75, srt=90)
text(0.7,0.0004, "coarse sand", cex=0.75, srt=90)
text(1.4,0.0004, "very coarse sand", cex=0.75, srt=90)
text(2.7,0.0004, "granules", cex=0.75, srt=90)
text(7,0.0004, "pebbles", cex=0.75, srt=90)
legend(0.01,6,legend=c("Stokes","Turbulent","Ferguson & Church"),
       cex=0.7, lty=c(1,1,1), lwd=c(3,3,3), col=c("blue","darkgreen","red"))
# Plot points from Table 2 of Ferguson & Church
D = c(0.068,0.081,0.096,0.115,0.136,0.273,0.386,0.550,0.770,1.090,2.180,4.360)
W = c(0.00425,0.0060,0.0075,0.0110,0.0139,0.0388,
points(D,W, pch=20)


Comparing Zoltan’s Python code to my R code is a great way to see how each language works.

I’ve been working with and thinking a lot about the silt range of grain sizes lately … look for a post in the future focused on that.

See all my posts about R here.

(You probably see an advertisement right below the post. Sorry to clutter up this content with annoying ads, I don’t like it either, but I would otherwise have to pay for hosting. This option is the least intrusive.)

Friday Field Photo #187: Lava Channel on the Big Island

August 9, 2013


As an Earth scientist who studies surface processes I’m fascinated by channels. Channels are found all over the Earth’s surface, on land and in the deep sea, and we have mapped ancient and active channels on the surface of other planets/moons. As a sedimentary geologist I typically ponder the types of channels that shape landscapes and seascapes, move sediment across the surface, and serve as long-term repositories of deposited sediment.

This week’s photo is indeed a channel but instead of moving sediment it moved molten rock across the surface of the Big Island in Hawaii. It’s now frozen in time, an abandoned channel, perhaps it will be reoccupied by younger lava flows someday. I don’t know the first thing about lava channels, but it seems that it must solidify from the edges inward, resulting in the down ‘stream’ texture (?).

Happy Friday!

This photo and more from the Big Island on my Flickr page.

Using R to Import and Perform Simple Calculation on Multiple Files

July 25, 2013

My first post about using R back in January focused on creating custom plots and led to some interaction with other R users in the comment thread and this post from R expert Gavin Simpson in which he kindly offered a solution (and code) to what I was trying to do. I ended up using a slightly modified version of that code to make a bunch of plots for a paper I’m working on. (In fact, I should be working on that paper right now … yep.)

Anyway, for this post I want to briefly summarize another aspect of R (or most programming languages for that matter) that is quite powerful: automating data processing and/or computational tasks that need to be done for multiple files. This funny graphic* below was going around some months ago and very nicely illustrates what I’m talking about.


Just a bit of background before I get on to the R code. I’m starting some research that will take me and my current/future students at least a few years, perhaps more, to accomplish simply because of the huge number of samples. I have a literal boatload of deep-sea sediment samples from IODP Expedition 342 (see this post for context) that will be used to better understand the history of deep ocean circulation in response to past climate change. Specifically, we’ll be measuring the variability in grain size of the terrigenous (land-derived, non-biogenic) sediment through time. To the naked eye, all this sediment is mud. But, subtle differences in the mean size of the silt fraction over time can tell us about the relative intensity of long-lived abyssal currents that transported the sediment. (If you want to know more about this approach, including all the assumptions, limitations, and caveats, this is a nice review.)

Read more…