Welcome!

Linux Authors: John Funnell, Maureen O'Gara, Jerry Huang, Jeremy Geelan, Bill Bauman

Related Topics: Open Source, Java, Eclipse

Open Source: Article

How I Spent My Summer

Three months in Antarctica with Eclipse and Java

I recently came home from three months in Antarctica. As a software engineer, Antarctica was the last place I expected to be. I was there as part of the ANDRILL project, a multinational collaboration comprised of scientists, educators, students, technicians, drillers, and support staff from Germany, Italy, New Zealand, and the United States.

Their goal is to uncover the elusive geological history of Antarctica by drilling and recovering sediment core samples from under the Antarctic ice shelf and sea-ice in hopes it will reveal how the ice on and around Antarctica reacted in past periods of climate change. They were using PSICAT (pronounced sigh-cat), a Java-based graphical editing tool I developed, to describe the core samples they were drilling. Since the expedition's fate depended on this data, and because PSICAT was largely unproven, I accompanied the project to ensure that PSICAT performed as expected. This gave me the unique opportunity to be fully involved with the people who were actually using the software - to see what worked, what didn't, and improve the quality of the software and user experience on a daily basis. The journey was long, with plenty of trials along the way, but in the end PSICAT performed better than anyone expected and, most importantly, the people who actually had to use it were still talking to me at the end of the expedition. This article will discuss the design and implementation of PSICAT for use on the harshest continent in the world.

Background
PSICAT, which stands for Paleontological Stratigraphic Interval Construction and Analysis Tool, is a standalone Java-based graphical editing tool for creating and viewing core description diagrams. Core description diagrams are the primary record of the cylindrical rock samples that result from scientific drilling. As the cores come out of the ground, they are examined and described by sedimentologists - scientists who specialize in identifying and interpreting the "story" of the sediments in the sample. Some of the many things that sedimentologists look for when examining a sample include: what type of sediment is present - for example, is it sand? mud? - where does the type and size of the sediment change; are there special structures like bedding or faults presents; and are there fossil traces. All of these features are represented pictorially on the core description diagram. This description process and the resulting diagrams are very important since they provide the scaffolding on which all further analysis is built.

On past drilling expeditions, the sedimentologists drew these diagrams by hand, usually including four meters of core per page, and then passed them off to a dedicated draftsman who would draft them up in a graphics application like CorelDraw or Adobe Illustrator. Although the process worked and allowed scientists to create nice diagrams, it had several shortcomings.

Because of the complexity of the graphics software and of the information to be captured, it required a person dedicated to drafting the diagrams. It also required the diagrams to be created at least twice - once by hand and then a second time in a digital format. Once digitized, the diagrams were static images, which was a problem when changes had to be made. Small local changes to individual diagrams could be made fairly easily, but making changes spanning multiple diagrams was a burden. Truly substantial changes, like changing the symbol that represents a type of rock, would have required re-drafting every diagram - an onerous job when there are diagrams for 1,000 meters of core to update. Static images also complicated the task of searching for specific features in the information-dense diagrams because it required searching each of the individual diagrams for the features of interest.

Realizing the shortcomings of the traditional approach, when it came time for the ANDRILL project to decide on the core description process for their upcoming Antarctic drilling expeditions, they decided to explore other options. Being a new project, they had the chance to modernize their core description process without having to support legacy approaches. They evaluated several commercial core description applications, but none offered the level of detail and flexibility that ANDRILL required.

Around that time, I was doing graduate work with the CHRONOS project at Iowa State University. CHRONOS specializes in providing IT resources and know-how to the geoscience community. My advisor, Dr. Cinzia Cervato, heard about ANDRILL's search for a core description solution and approached them about developing some software to meet their specific needs. Thus PSICAT was born.

Design
The crux of the problem with the traditional approach is that the sedimentologist is drawing a diagram that represents some data without actually capturing the data itself. It's like drawing a bar chart without keeping the data being charted. However, for scientists, capturing the data is as important as displaying it. Having the data makes searching for specific features easy: one simply specifies the constraints of what is interesting - for example, sections of core that are at least two meters in length and contain no pyrite - and the software crunches the data to find the areas that satisfy those constraints. Working with data also has the advantage that if diagrams can be generated from the data then changes at any scale become simpler - just update the data and regenerate the diagrams.

A data-centric approach opens up many other interesting possibilities. The core samples are initially described in a high level of detail. Often, however, it's useful to see the general trends in larger sections of the core. Without the data behind the diagrams, summarization requires going back through the original detailed diagrams and pulling out the key features by hand. By capturing the data, this summarization can be done programmatically. Decoupling the data from the diagram allows it to be visualized in different ways. For example, one user may want to see each individual occurrence of a specific trace fossil. Another may want to see a histogram of all trace fossil occurrences per meter. Since they both access the same data, both these visualizations are possible and easily done.

In the traditional approach used by previous Antarctic geologic expeditions, no core description data was collected in a digital format. The challenge was to collect the data without drastically modifying the core logging routine that the scientists were accustomed to. PSICAT takes the innovative approach of automatically capturing the data as the user drafts the digital core description diagram. It provides a drawing environment similar to other graphics software, but it's customized to draw core description diagrams. This simplifies the software since the user only sees the tools that she is likely to use. She selects one of the tools available from the palette and begins drawing the diagram. Behind the scenes, PSICAT is capturing the data - depth, grain size, type of rock, symbols - that the user is drawing and simultaneously generates a visual representation of those data on the screen. In addition to capturing data through what the user is drawing, PSICAT also provides a property area to enter data directly. This lets the user enter data that can't be drawn, such as written descriptions and lithology definitions, and specify exact values for properties like depth and grain size, which can be difficult to draw exactly with a mouse. When PSICAT is closed and reopened, it completely regenerates the diagram from the saved data. The user can then continue to add data or edit previously drawn objects, and the additions and changes are immediately reflected on the screen. When the user is finished, she can export the diagram, or a subset of it, to various graphic formats as a single image or multiple (e.g., two meters/page) images.

More Stories By Josh Reed

Josh Reed is a Masters student in the Human Computer Interaction program at Iowa State University and the IT and Data Manager for the ANDRILL project's 2006-2007 McMurdo Ice Shelf drilling expedition. He has over 5 years of Java programming experience working on a variety of web and rich client applications. He is finishing up his Masters degree in June after which he hopes to continue solving complex IT problems.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Charles Dowdell 03/12/07 09:08:15 PM EDT

Good text Josh. I think you got a lot out of being on the ice from the sounds of it. The connections between the SME and the analysis seems to be a key connection that makes the difference between good and great.

Charlie (happy camper classmate)