# Plotting Wolman counts

Wolman counts can be used to characterise the size of bed material in a gravel bed river – Tambo River at Ramrod Creek.

Wolman counts are a method of measuring the size of material on a stream bed.  The approach was first proposed by Wolman (1954) who suggested collecting 100 pebbles on a grid and measuring their size.  Hey and Thorn (1983) developed a ‘gravelometer’ which increased the speed and accuracy of determining particle sizes and Bevenger and King (1995) suggested sampling ‘at toe point’ as you walk along the stream zig-zaging from left to right bank.

Gravelometer as developed by Hey and Thorn (1983)

At the conclusion of sampling you have 100 or more values which represent the size of the sampled bed material.  Using the gravelometer will result in a discrete set of values that depends on the size of the holes (see the picture above).  My gravelometer has holes of the following sizes (mm): 4, 5.7, 8, 11.3, 16, 22.5, 32, 45, 60, 90, 128, 180, 256, 362.  In addition, a 2 mm sand grain can be measured by comparing it to the edge of the gravelometer. Once the data are collected, they need to be plotted.  An R function (PhiPlot) is shown below which will produce something similar to the following plot.

Plot of data from a Wolman count

```# Function to produce a % finer plot from wolman counts
# Used with gravelometer data

# Arguments
#   wolman.count = vector of gravel sizes
#   phi.max = largest phi value for plotting
#   phi.min = smallest phi value for plotting

PhiPlot <- function(wolman.count, phi.max = 512, phi.min = 1, ...){

# set up phi intervals for plotting

phi.n.max <- log(phi.max, base = 2)
phi.n.min <- log(phi.min, base = 2)
phi.n <- c(phi.n.min:phi.n.max)
phi.size <- 2^ phi.n

# gravelometer sizes
wolman.size <- c(2, 4, 5.7, 8, 11.3, 16, 22.5, 32, 45,
60, 90, 128, 180, 256, 362)

# number recorded for each gravelometer size

wolman.count.f <- factor(wolman.count, levels = wolman.size)
wolman.count.t <- table(wolman.count.f)

wolman.pcfiner <- 100*cumsum(wolman.count.t)/sum(wolman.count.t)

plot(wolman.size, wolman.pcfiner, # set up plot
log='x',
xaxt='n',
yaxt = 'n',
xlim=c(phi.max, phi.min),
type='n',
las = 1,
xlab = '',
ylab = '',
...
)

axis(side = 1, at = phi.size, label = phi.size)
axis(side = 2, at = axTicks(2), label = axTicks(2), las = 1)
title(xlab = 'Grain size (mm)', ylab = '% finer')

abline(h = axTicks(2), lty=2, col='grey')
abline(v = phi.size, lty=2, col='grey')

# add size description on top
axis(side = 3, at = c(256, 64, 2, 0.0625), label=NA)
mtext(text = 'Boulders', side = 3, at = 300, adj=1)
mtext(text = 'Cobbles', side = 3, at = 128)
mtext(text = 'Gravel', side = 3, at = 8)
mtext(text = 'Sand', side = 3, at = 1.5, adj = 0)

lines(wolman.size, wolman.pcfiner,
type = 's')

}

#_____________________________________________________________________

# Example
# Generate some Wolman count data

wolman.size <- c(2, 4, 5.7, 8, 11.3, 16, 22.5, 32, 45,
60, 90, 128, 180, 256, 362)

wolman.count <- sample(wolman.size, 100, replace = TRUE, prob = 1/wolman.size)
PhiPlot(wolman.count)

```