undefined

Coding for Geophysics

By Dara Goldberg

I’m Dara, a geophysicist at the Scripps Institution of Oceanography at the University of California, San Diego. I study the physics of large earthquakes, and best practices for earthquake and tsunami early warning.

undefined

When I started college, I had absolutely no programming experience. I majored in geology and engineering because I have always loved problem solving and was intrigued by the many unsolved problems in the fields of earth and planetary sciences. I was required to take a single introductory computer science course during my sophomore year where we learned the basics of Matlab and C.

Now, as a geophysics PhD student, almost everything I do involves coding, either for creating new computational methods or for visualizing large datasets. The goal of early warning is not to predict earthquakes (earthquake prediction continues to elude scientists!), but rather to detect the start of an earthquake using precise instruments and transmit a warning to nearby communities ahead of the arrival of damaging seismic waves.

The algorithms that recognize earthquakes, determine their location, and estimate when a nearby community will experience shaking, must be automated.

The algorithms that recognize earthquakes, determine their location, and estimate when a nearby community will experience shaking, must be automated; they run continuously as our instruments collect data so they are ready at any time to trigger the warning system. The fastest traveling seismic waves, P-waves, are small and typically harmless. The larger, slower-traveling S-waves and surface waves cause the major damage we see after an earthquake. So, automated algorithms that can accurately detect P-waves give us time to warn those nearby before the destructive S and surface waves arrive. Just a few seconds of warning is enough to take simple precautions like getting under a desk, slowing trains to a stop to avoid derailment, or clearing bridge traffic.

Coding allows me to analyze huge datasets efficiently.

Coding allows me to analyze huge datasets efficiently. When a large earthquake occurs, there may be hundred of instruments that recorded it. With just a few lines of code, I can add new data to previous analyses, and quickly understand how the new earthquake behaved in comparison to all the earthquakes previously studied.

What tools and languages do I use?

  • Python
  • Matlab
  • C
  • Generic Mapping Tools (GMT)
  • Bash
undefined

Outside of work, you can find Dara outdoors, horseback riding or hiking.