The Azimuth Project
Blog - El Niño project (part 3) (Rev #3)

This is a blog article in progress, written by John Baez. To see discussions of the article as it is being written, visit the Azimuth Forum.

If you want to write your own article, please read the directions on How to blog.

This paper claimed there’s a 3/4 chance that the next El Niño will arrive by the end of 2014:

• Josef Ludescher, Avi Gozolchiani, Mikhail I. Bogachev, Armin Bunde, Shlomo Havlin, and Hans Joachim Schellnhuber, Very early warning of next El Niño, Proceedings of the National Academy of Sciences, February 2014. (Click title for free version, journal name for official version.)

Since it was published in a reputable journal, it created a big stir. But that’s not the main reason we at the Azimuth Project want to analyze and improve this paper! The main reason is that it uses a climate network.

Very roughly, the idea is this. Draw a big network of dots representing different places in the Pacific Ocean. Connect two dots with an edge if the sea surface temperatures at those two places are strongly correlated. The paper claims that when a El Niño is getting ready to happen, we get a lot of edges this way. In other words, temperatures in a big region of the Pacific Ocean tend to go up and down in synch!

Whether this idea is right or wrong, it’s interesting— and it’s not very hard for programmers to dive in and study it.

Two Azimuth members have done just that: David Tanzer, a software developer who works for financial firms in New York, and Graham Jones, a self-employed programmer who also works on genomics and Bayesian statistics. These guys have really brought new life to the Azimuth Code Project in the last few weeks, and it’s exciting! It’s even gotten me to do some programming myself.

Soon I’ll start talking about the programs they’ve written, and how you can help.
But today I’ll summarize the paper by Ludescher et al. The methodology is also explained here:

• Josef Ludescher, Avi Gozolchiani, Mikhail I. Bogachev, Armin Bunde, Shlomo Havlin, and Hans Joachim Schellnhuber, Improved El Niño forecasting by cooperativity detection, Proceedings of the National Academy of Sciences, 30 May 2013.

The basic idea

The basic idea is to use a climate network. There are lots of variants on this idea, but here’s a simple one. Start with a bunch of points representing different places on the Earth. Draw an edge between two points if the weather at those two place is strongly correlated… in some way that we get to decide. This gives us a bunch of points and edges between points, or in other words, an undirected graph. That’s our climate network! Then we calculate stuff about this network.

There are lots of ways to fill in the details. For example, for any pair of points ii and jj we could compute the cross-correlation of temperature histories at these points. We could use say that ii and jj are connected by an edge if the cross-correlation is bigger than some value.

The papers by Ludescher et al try to predict El Niños by studying correlations between daily temperature data for “14 grid points in the El Niño basin and 193 grid points outside this domain”, as shown here:

The red dots are the points in the El Niño basin.

Starting from this temperature data, they build a climate network that changes with time. And starting from that, they calculate a number. When this number is bigger than a certain fixed value, they claim an El Niño is coming.

How do they decide if an El Niño actually arrives? One way is to use the ‘Nin&ntildelo 3.4 index’. This the area-averaged sea surface temperature anomaly in the yellow region here:

Anomaly means the temperature minus its average over time: how much hotter than usual it is.

Here is what they get:

The red line is the Nin&ntildelo 3.4 index. When this gets above…

The details

For any f(t)f(t), denote the moving average over the past year by:

f(t)=1365 d=0 364f(td)\langle f(t) \rangle = \frac{1}{365} \sum_{d = 0}^{364} f(t - d)

Let ii be a node in the El Niño basin, and jj be a node outside of it.

Let tt range over every tenth day in the time span from 1950 to 2011.

Let T k(t)T_k(t) be the daily atmospheric temperature anomalies (actual temperature value minus climatological average for each calendar day).

Define the time-delayed cross-covariance function by:

C i,j t(τ)=T i(t)T j(tτ)T i(t)T j(tτ) C_{i,j}^{t}(-\tau) = \langle T_i(t) T_j(t - \tau) \rangle - \langle T_i(t) \rangle \langle T_j(t - \tau) \rangle
C i,j t(τ)=T i(tτ)T j(t)T i(tτ)T j(t) C_{i,j}^{t}(\tau) = \langle T_i(t - \tau) T_j(t) \rangle - \langle T_i(t - \tau) \rangle \langle T_j(t) \rangle

They consider time lags τ\tau between 0 and 200 d, where “a reliable estime of the backround noise level can be guaranteed.”

Divide the cross-covariances by the standard deviations of T iT_i and T jT_j to obtain the cross-correlations.

Only temperature data from the past are considered when estimating the cross-correlation function at day tt.

Next, for nodes ii and jj, and for each time point tt, the maximum, the mean and the standard deviation around the mean are determined for C i,j tC_{i,j}^t, as τ\tau varies across its range.

Define the link strength S ij(t)S_{i j}(t) as the difference between the maximum and the mean value, divided by the standard deviation.

They say:

Accordingly, S ij(t)S_{i j}(t) describes the link strength at day t relative to the underlying background and thus quantifies the dynamical teleconnections between nodes ii and jj.

Niño 3.4

Niño 3.4 is the area-averaged sea surface temperature anomaly in the region 5°S-5°N and 170°-120°W. You can get Niño3.4 data here:

Niño 3.4 is just one of several official regions in the Pacific:

  • Niño 1: 80°W-90°W and 5°S-10°S.
  • Niño 2: 80°W-90°W and 0°S-5°S
  • Niño 3: 90°W-150°W and 5°S-5°N.
  • Niño 3.4: 120°W-170°W and 5°S-5°N.
  • Niño 4: 160°E-150°W and 5°S-5°N.

For more details, read this:

category: blog, climate