Skip to content

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

November 22, 2013

fan-foresets

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))
  return(w)
}
# Turbulent
v_turb = function(d){
  R = (rop-rof)/rof 
  w = ((4*R*9.81*d)/(3*C2))^0.5
  return(w)
}
# Ferguson-Church equation
v_ferg = function(d){
  R = (rop-rof)/rof 
  w = ((R*9.81*(d^2))/(C1*(visc/rof)+
      (0.75*C2*R*9.81*(d^3))^0.5))
  return(w)
}

# 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,
     0.0551,0.0729,0.0930,0.141,0.209,0.307)
points(D,W, pch=20)

plot1

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,
      0.0551,0.0729,0.0930,0.141,0.209,0.307)
points(D,W, pch=20)

plot2

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

DSCF9164

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.

geeks-repetitive-tasks

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…

Friday Field Photo #186: Coastal California Turbidites

July 12, 2013

DSCF9895

It’s been two years since we moved from California to Virginia, time flies! We really love where we live now, but there are times where I do miss California. I especially miss exploring the outcrops along the coast. Many of these wave-washed bluffs have gorgeous exposures of bed-scale sedimentary geology, a real delight for those who like sedimentary structures.

The above photo shows some Paleocene turbidites along beach cliffs in the town of Gualala, a few hours north of the Bay Area.

Happy Friday!

Follow

Get every new post delivered to your Inbox.

Join 107 other followers