When Counting Gets Difficult, Part 2

Prion sp., March 22, 2016, seen just west of Heard Island.  Image credit: Bill Mitchell.
Prion sp., March 22, 2016, seen just west of Heard Island. Image credit: Bill Mitchell.

Earlier I posed a question: suppose a group of 40 birds are identified to genus level (prion sp.). Four photographs of random birds are identified to species level, all of one species that was expected to be in the minority (fulmar prion) and likely would be present in mixed flocks. How many birds of the 40 should be upgraded from genus-level ID to species-level ID?

Clearly there is a minimum of one fulmar prion present, because it was identified in the photographs. With four photographs and 40 birds, the chance of randomly catching the same bird all four times is quite small, so the number of fulmar prions is probably much higher than 1. At the same time, it would not be reasonable from a sample of our photographs to say all 40 were fulmar prions.

If we have four photographs of fulmar prions (A), what is the minimum number of non-fulmar prions (B) needed in a 40-prion flock to have a 95% chance of photographing at least one non-fulmar prion?

To answer this question, I used a Monte Carlo simulation, which I wrote in R. I generated 40-element combinations of A and B ranging from all A to all B. Then for each of those populations, I ran 100,000 trials, sampling 4 random birds from each population (with replacement). By tracking the proportion of trials for each population that had at least one B, it becomes possible to find the 95% confidence limit.

pop_size <- 40  # Set the population size
sample_n <- 4  # Set the number of samples (photographs)
n_trials <- 100000  # Set the number of trials for each population

x <- seq(0:pop_size)  # Create a vector of the numbers from 0 to pop_size (i.e. how many B in population)

sample_from_pop <- function(population, sample_size, n_trials){
	# Run Monte Carlo sampling, taking sample_size samples (with replacement)
                # from population (vector of TRUE/FALSE), repeating n_trials times
	# population: vector of TRUE/FALSE representing e.g. species A (TRUE) and B (FALSE)
	# sample_size: the number of members of the population to inspect
	# n_trials: the number of times to repeat the sampling
	my_count <- 0
	for(k in 1:n_trials){  # Repeat sampling n_trials times
		my_results <- sample(population, sample_size, replace=TRUE)  # Get the samples
		if(FALSE %in% my_results){  # Look for whether it had species B
			my_count <- my_count + 1  # Add one to the count if it did
		}
	}
	return(my_count/n_trials)  # Return the proportion of trials detecting species B
}

create_pop <- function(n,N){  # Make the populations
	return(append(rep(TRUE,N-n),rep(FALSE,n)))  # Populations have N-n repetitions of TRUE (sp. A), n reps of FALSE (sp. B)
}

mypops <- lapply(0:pop_size, create_pop, pop_size)  # Create populations for sampling

# Apply the sampling function to the populations, recording the proportion of trials sampling at least one of species B
my_percentages <- sapply(mypops, sample_from_pop, sample_size=sample_n, n_trials=n_trials)

My simulation results showed that with 22 or more birds of species B (non-fulmar prions), there was a >95% that they would be detected. In other words, from my photographic data, there is a 95% probability that the flock of 40 prions contained no fewer than 19 fulmar prions.

Let’s take a look at it graphically.

library(ggplot2)

mydata <- data.frame(my_percentages, 0:pop_size)  # Make a data.frame with the results and the # of species B
names(mydata) <- c("DetProb", "B")  # Rename the columns to something friendly and vaguely descriptive

p <- ggplot(mydata2, aes(x=B,y=DetProb)) + geom_point() # Create the basic ggplot2 scatterplot
p <- p + geom_hline(yintercept=0.95)  # Add a horizontal line at 95%
p <- p + theme_bw() + labs(x="# of species B (pop. 40)", y="Detection probability of B")  # Tidy up the presentation and labeling
print(p)  # Display it!
Results of the Monte Carlo simulation.  At left is all A, while at right is a population with all B.  The horizontal line is the 95% probability line.  Points above the line have a >95% chance of detecting species B.
Results of the Monte Carlo simulation. At left is all A, while at right is a population with all B. The horizontal line is the 95% probability line. Points above the line have a >95% chance of detecting species B.

With 22 or more non-fulmar prions, there’s a >95% chance one would be photographed. With 19 fulmar prions and 21 non-fulmar prions, there’s a >5% chance the non-fulmar prions would be missed. So our minimum number of fulmar prions is 19. I may have seen a flock of 40 fulmar prions, but there aren’t enough observations to say with statistical confidence that they were all fulmar prions.

When Counting is Difficult

A fulmar prion glides swiftly over the swell of the Southern Ocean.  Image credit: Bill Mitchell (CC-BY)
A fulmar prion glides swiftly over the swell of the Southern Ocean. Image credit: Bill Mitchell (CC-BY)

During the Heard Island Expedition, including the nearly three weeks at sea on the Southern Ocean, I made a few observations for a citizen science project: eBird. It’s a pretty simple system: identify and count all the birds you see in a small area and/or time period, then submit your list to a centralized database. That database is used for research, and keeps track of your life/year/county lists. With so few observations in the southern Indian Ocean in March and April (and no penguins on my life list before the expedition), I figured I would make a few counts.

On its face, identifying and counting birds is straightforward. Get a good look, maybe a photograph, and count (or estimate) the number present of that species.

It gets more difficult when you go outside your usual spot, particularly when the biome is much different. Although I have some familiarity with the Sibley Guide for North American birds, I’ve never payed very close attention to the seabird section, and have never birded at sea before. All the birds I expected to see on this expedition would be life birds, and that changes things a bit. I would have to observe very closely, and photograph where I could.

Before the expedition, I read up on the birds I would likely find on the island. In addition to four species of penguins, there were three species of albatross (wandering, black-browed, and light-mantled sooty) and two species of prions (Antarctic and fulmar). Albatrosses are large and the species near Heard are readily distinguished. Prions, however, can be quite difficult even with good observations. They’re not quite to the level of the Empidonax flycatchers, but close.

At sea, we usually had prions flying near the ship. I took pictures, knowing that I might be able to get help with ID if I needed it—and of course I needed it.

That’s where the problem started: I had a count where I had observed 40 prions flying around the ship, which I identified only to genus level. From my reading on Heard Island, I knew that breeding populations for prions on Heard Island were generally larger Antarctic prions than fulmar prions, with an estimate of a 10:1 margin. I had four clear pictures of individual birds, which my helpful eBird reviewer was able to get to an expert for further identification. All four were fulmar prions.

With 40 birds identified to genus level, and four photos of random birds identified to species level as a species expected to be a minor proportion, how many of the original 40 birds can I reasonably assign as fulmar prions?

I have an answer to this question, which I will post next week.

Azorella Peninsula Gigapan

Processing the Azorella Peninsula gigapan.  Image credit: Bill Mitchell (CC-BY).
Processing the Azorella Peninsula gigapan. Image credit: Bill Mitchell (CC-BY).

This is the second in a series of three posts about the gigapan images taken on Heard Island (1: Big Ben, 3: Windy City), with more information about the Azorella Peninsula gigapan.

The Azorella Peninsula is on the northern edge of the main part of Heard Island, east of the Laurens Peninsula. It forms the eastern boundary of Atlas Cove (Laurens Peninsula forms the western boundary; see map below). At the west end of the Azorella Peninsula’s southern margin is the heritage zone around the ANARE campsite, two water-tank shelters, a green “apple” shelter, and the area where our expedition made camp. That many of the camps are all in the same area is no accident: Atlas Cove is probably the best harbor on the island (though still not sheltered from a northerly swell), there is a convenient beach for boat landings, and a small step up of elevation from the lava flows of the Azorella Peninsula provides higher ground than the sometimes-inundated Nullarbor.

Heard Island Map, 1985. Image credit: excerpt from the Division of National Mapping.
Heard Island Map, 1985. Image credit: excerpt from the Division of National Mapping.

Getting a gigapan here was not as straightforward as I had hoped. Although there were plenty of pahoehoe flow tops, cracks where a flow had deflated and collapsed in on itself, and other lava flow features, few of them were of a scale and in a location which enabled them to be nicely gigapanned with the tripod I had. With another 3–5 m of elevation, the gigapan would be spectacular.

As it was, there were some additional features besides the lava flows which I wanted to include. For one, the landscape has significant erosional processes happening, and there are sandy areas which get washed when it rains. Even more than the rain, though, the wind creates eolian features. Many of the small rocks have a little dune in their lee, and often the Kerguelen cabbage and Azorella moss grow on the leeward side of rock barriers as well. Some of this organization is visible in the gigapan.

At the top right of the Gigapan image, and lost to the fog and overexposure of the image, is a strongly layered prominence: Corinth Head. Although I would have liked to go see this outcrop up close, our permit did not allow that—the area is a major nesting site for burrowing seabirds, and in places there are lava tubes with thin ceilings which may give way underfoot.

Corinth Head, Heard Island, viewed from the south (further east than the Gigapan was taken).  Layering is clearly visible, and is likely of igneous origin.  Image credit: Bill Mitchell (CC-BY).
Corinth Head, Heard Island, viewed from the south (further east than the Gigapan was taken). Layering is clearly visible, and is likely of igneous origin. Image credit: Bill Mitchell (CC-BY).

Where the Azorella Peninsula lava flow field meets the Nullarbor, there was a little flow which caught my eye. There, one flow clearly traveled through an older channel or tube. Weathering has removed some of the older flow, giving a cross-sectional view of the dark vesicular rock.

Lava flows of the Azorella Peninsula meet the Nullarbor.  An older, grey unit is visible with a redder unit in the middle.  Notebook is 19 cm wide.  Image credit: Bill Mitchell (CC-BY).
Lava flows of the Azorella Peninsula meet the Nullarbor. An older, grey unit is visible with a redder unit in the middle. Notebook is 19 cm wide. Image credit: Bill Mitchell (CC-BY).

Some lava tubes showed obvious signs of deflation or lava tube collapse. The one seen below had eolian features nearby, and the Kerguelen cabbage and Azorella moss can be seen growing on the leeward side of the rocks. An elephant seal is also present.

Deflated lava flow beside the Nullarbor on the Azorella Peninsula, Heard Island.  Some eolian features are present.  Note the Azorella moss and Kerguelen cabbage at right, in the lee of the solid rocks.  The tan mass at right is an elephant seal.  Notebook is 12x19 cm.  Image credit: Bill Mitchell (CC-BY).
Deflated lava flow beside the Nullarbor on the Azorella Peninsula, Heard Island. Some eolian features are present. Note the Azorella moss and Kerguelen cabbage at right, in the lee of the solid rocks. The tan mass at right is an elephant seal. Notebook is 12×19 cm. Image credit: Bill Mitchell (CC-BY).

Finally, here is another example of a collapsed lava tube, which shows off a cross-section of the top of the lava tube as well as some pahoehoe flow tops.

A collapsed lava tube on the Azorella Peninsula, Heard Island, gives a cross-sectional view of the roof of the lava tube.  Kerguelen cabbage plants in foreground are roughly 25 cm across.  Several pahoehoe flow tops are visible: small-scale in the foreground, and large-scale in the center toward the top of the image.  Image credit: Bill Mitchell (CC-BY).
A collapsed lava tube on the Azorella Peninsula, Heard Island, gives a cross-sectional view of the roof of the lava tube. Kerguelen cabbage plants in foreground are roughly 25 cm across. Several pahoehoe flow tops are visible: small-scale in the foreground, and large-scale in the center toward the top of the image. Image credit: Bill Mitchell (CC-BY).

Science on a Plane

Temperature profile flying in to MSP around 2120 UTC on April 25, 2016.  Image credit: Bill Mitchell (CC-BY).
Temperature profile flying in to MSP around 2120 UTC on April 25, 2016. Image credit: Bill Mitchell (CC-BY).

One of my favorite things to do on an airplane, when I can, is to take a temperature profile during the descent. Until recently, this could generally only be done on long international flights, when they had little screens which showed the altitude and temperature along with other flight data. However, I found on my latest trip that sometimes now even domestic flights have this information in a nice tabular form.

To take a temperature profile, when the captain makes the announcement that the descent is beginning, get out your notebook and set your screen to the flight information, where hopefully it tells you altitude (m) and temperature (°C). Record the altitude and temperature as frequently as they are updated on the way down, though you might set a minimum altitude change (20 m) to avoid lots of identical points if the plane levels off for a while. When you land, be sure to include the time, date, and location of arrival.

When you get a chance, transfer the data to a CSV (comma-separated value) file, including the column headers like in the example below.


Alt (m),Temp (C)
10325,-52
10138,-51
9992,-48
...
250,17

You can then use your favorite plotting program (I like R with ggplot) to plot up the data. I’ve included my R script for plotting at the bottom of the page. Just adjust the filename for infile, and it should do the rest for you.

At the top of the page is the profile I took on my way in to Minneapolis on the afternoon of April 25th. There were storms in the area, and we see a clear inversion layer (warmer air above than below) about 1 km up, with a smaller inversion at 1.6 km. From the linear regression, the average lapse rate was -6.44 °C/km, a bit lower than the typical value of 7 °C/km.

On the way in to Los Angeles the morning of April 25th, no strong inversion layer was present and temperature increased to the ground.

Temperature profile descending into Los Angeles on the morning of April 25, 2016.  Image credit: Bill Mitchell (CC-BY).
Temperature profile descending into Los Angeles on the morning of April 25, 2016. Image credit: Bill Mitchell (CC-BY).

This is a pretty easy way to do a little bit of science while you’re on the plane, and to practice the your plotting skills when you’re on the ground. For comparison, the University of Wyoming has records of weather balloon profiles from around the world. You can plot them yourself from the “Text: List” data, or use the “GIF: to 10mb” option to have it plotted for you.

Here is the code, although the long lines have been wrapped and will need to be rejoined before use.


# Script for plotting Alt/Temp profile
# File in format Alt (m),Temp (C)

infile <- "20160425_MSP_profile.csv" # Name of CSV file for plotting

library(ggplot2) # Needed for plotting
library(tools) # Needed for removing file extension to automate output filename

mydata <- read.csv(infile) # Import data
mydata[,1] <- mydata[,1]/1000 # convert m to km
mystats <- lm(mydata[,2]~mydata[,1]) # Run linear regression to get lapse rate
myslope <- mystats$coefficients[2] # Slope of regression
myint <- mystats$coefficients[1] # Intercept of regression

p <- ggplot(mydata, aes(x=mydata[,2], y=mydata[,1])) + stat_smooth(method="lm", color="blue") + geom_point() + labs(x="Temp (C)",y="Altitude (km)") + annotate("text", x=-30, y=1, label=sprintf("y=%.2fx + %.2f",myslope,myint)) + theme_classic() # Create plot

png(file=paste(file_path_sans_ext(infile),"png",sep="."), width=800, height=800) # Set output image info
print(p) # Plot it!
dev.off() # Done plotting

Big Ben Gigapan

Processing the Big Ben gigapan.  Screenshot by Bill Mitchell.
Processing the Big Ben gigapan. Screenshot by Bill Mitchell.

This post is the first in a series of three on the gigapans I took on Heard Island. (Part 2)

My first gigapan on Heard Island, this one of Big Ben, came unexpectedly. As I was out hiking one afternoon, my hiking partner, Arliss, noticed that we had a clear view of the summit of Big Ben. Clearings like this can be relatively short and infrequent, so we took a few pictures immediately. We headed back to base camp just east of Atlas Cove, arriving under an hour before sunset. The mountain was still visible, so I moved quickly to set everything up and get the gigapan taken before the light faded.

From camp, Big Ben is situated to the southeast, rising up beyond the flat sandy plain of the nullarbor. In this view, the moraines and glaciers begin about 2 km from the camera. To the right of the image is the eastern slope of Mt. Drygalski. The edge of the Azorella Peninsula lava flow is in the bottom left corner.

Glacial features dominate the landscape, including a prominent moraine now covered in vegetation (lower right). Coming toward the camera are the Schmidt and Baudissin glaciers. I think this view covers from the Allison and Vahsel glaciers (at right) to the Ealey glacier (at left).

On the Nullarbor, there are a few king penguins and elephant seals, primarily to the left of center.

Big Ben itself has a range of rock types, including basanites, alkali basalts, and trachybasalts, overlying limestones and volcanic/glacial deposits.[1-4]

[1] Quilty, P. G.; Wheller, G. (2000) Heard Island and The McDonald Islands: a Window into the Kerguelen Plateau. Papers and Proceedings of the Royal Society of Tasmania. 133 (2), 1–12.

[2] Barling, J.; Goldstein, S. L. (1990) Extreme isotopic variations in Heard Island lavas and the nature of mantle reservoirs. Nature 348:59–62, doi 10.1038/348059a0.

[3] Barling, J.; Goldstein, S. L.; Nicholls, I. A. (1994) Geochemistry of Heard Island (Southern Indian Ocean): Characterization of an Enriched Mantle Component and Implications for Enrichment of the Sub-Indian Ocean Mantle. Journal of Petrology 35:1017–1053, doi 10.1093/petrology/35.4.1017.

[4] Stephenson, J.; Barling, J.; Wheller, G.; Clarke, I. “The geology and volcanic geomorphology of Heard Island”, in Heard Island: Southern Ocean Sentinel (Eds K. Green and E. Woehler) Surrey Beatey & Sons, 2006, p. 10–27.

Back to Shore

Carlos and Bill on the prow of the Braveheart, between Heard Island and western Australia.  Image credit: Braveheart crew, used with permission.
Carlos and Bill on the prow of the Braveheart, between Heard Island and western Australia. Image credit: Braveheart crew, used with permission.

After a 10-11 day voyage, our expedition team has arrived in port. It’s good to be back on land again, though I will very much miss the company and atmosphere aboard the ship. The crew aboard the Braveheart were amazing, the food was delicious, and it was kind of fun to unplug (mostly) from the internet and civilization for a while.

Heading Home

Yellow-nosed albatross flying alongside the Braveheart.  Image credit: Bill Mitchell (CC-BY).
Yellow-nosed albatross flying alongside the Braveheart. Image credit: Bill Mitchell (CC-BY).

As may have been apparent from the silence here, we have left Heard Island and the good satellite connection we had there. Aboard the Braveheart, we have had only sparse email access on a special pared-down email account. Today, however, with good weather conditions and a very gentle sea state, we have been able to use the satellite internet terminal again.

Presently we are roughly 200 miles WSW of Fremantle, Australia, and expect to enter the harbor on Friday. The sun is beginning to set, and there is a beautiful warm light on the sea and the ship.

On board, we have been going through photographs and paring down the unusable ones, processing the good ones, exchanging images with each other, and writing descriptions of those which are of particular note or are of unusual things. Our science team have been processing samples and preparing them for shipment. Daily cloud observations and occasional 10-minute bird counts are still being performed.

Heard Island was a magnificent place to visit, and I am very glad to have had the opportunity to go. I managed to take three gigapan pictures, including one of Big Ben. I wish there had been more gigapans, but time and weather windows were quite limited and limiting. When I have a bigger, more reliable connection I’ll write more about the gigapan project results (and upload the gigapans).

There are still a few days of travel ahead, plus a flurry of activity in Fremantle. It’ll be a struggle to get photos processed and documented, enter a little data about the scientific samples, and get a couple presentations written before getting home. Even then, I will still need to write up some of the results of my scientific projects on the island.

%d bloggers like this: