MetPy Monday #10 - Harvey and Irma

Seisminc noise from hurricane Irma
Hurricane Irma

Wow! We’ve had a very active couple of weeks in the Atlantic and I wanted to break the planned series of MetPy Monday posts with a bit of timely data analysis and some interesting animations. The new (and still experimental/non-operational) GOES-16 satellite has provided us with some incredible views of hurricanes Harvey and Irma, and likely will with Jose as well.

The first animation I wanted to share is an RGB composite. This one is a bit tricky to put together for multiple reasons. First off, the GOES-16 imager (the ABI) has 16-channels, but not one of them is a true “green” channel! Thanks to advice from community member Pete Pokrandt, I was able to make a “fake” green channel by combining the red, blue, and “veggie” bands. The second challenge was that the red channel is sampled at a different resolution than everything else. You can find the script I used here and see exactly how the resampling and linear combining of channels was done.

Next, I wanted to combine a seismic dataset with the GOES-16 imagery. Seismologists have long been able to see seismic noise from storms and even back project the source location. Dr. Charles Ammon at Penn State has been making graphics showing this for decades. I wanted to adapt that idea into a movie with imagery and a single seismic station. Using the ObsPy library, I was able to download the seismic data from a seismometer in San Juan, Puerto Rico. I down sampled everything so that the movie was a reasonable length, filtered low-frequency drift and noise out of the seismometer data, and created an animation!

Again, you can see the full script here. The biggest challenge here came from the fact that due to the experimental nature of the data, the projection was actually being modified. Hence, there is a block checking the projection name and modifying the map projection accordingly. Hopefully we will be able to make that step much easier in the future. You’ll also notice that the frames of the animation are written out as images. I then made them into the movie using FFMPEG afterwards. A slightly different technique than using the matplotlib animation module as done in the RGB animation.

While I don’t want to dive into the details of any specific part of these scripts, I did want to share them and the resulting animations with you. Working with MetPy and Siphon to make these animations and products for events and MetPy Monday posts helps us find the rough edges and things that we’d like to smooth out for our users. Next on our list is making plotting hurricane paths, recon flight data, and buoy data easier. To help with this, we’ll be archiving data from Harvey and Irma as case studies and be working to make more interesting visualizations to share with you.


Hi John -

As I am a (retired)RGB guru, I got interested in your MetPy Monday #10 example. However, trying to run your code I have immediately hit 2 problems. For both of the following calls Pythons pretends to see invalid syntax:

import matplotlib.pyplot as plt
from metpy.plots import add_logo

The vexing thing for me is that, at least for matplotlib, there are similar calls that are working. Is my installation somewhat incomplete?

cheers, HP

Posted by Roesli HansPeter on December 24, 2017 at 06:39 AM MST #

Hi HP - sounds like an install issue for sure. Email and we'll help get it figured out.

Posted by John Leeman on December 29, 2017 at 08:42 AM MST #

Post a Comment:
  • HTML Syntax: Allowed
Unidata Developer's Blog
A weblog about software development by Unidata developers*
Unidata Developer's Blog
A weblog about software development by Unidata developers*



News@Unidata blog

Recent Entries:
Take a poll!

What if we had an ongoing user poll in here?

Browse By Topic
Browse by Topic
« January 2018