Volcanic Solar Dimming, ENSO and Temperature Anomalies

In previous posts I have shown plots of global temperature anomaly, volcano and Nino34 trends (here , here). In this post , I want to further  explore the role of volcanic eruptions and Nino34 phases (El Nino, La Nina) on temperature anomalies.

This post shows a 5-panel chart of monthly climate trend data: 1) time line of major volcanoes and Volcanic Explosivity Index (VEI),  2) Mauna Loa Observatory (MLO) Atmospheric  Transmission  (AT) measurements,  3) Stratospheric Aerosol Optical Thickness (SATO) Index,   4) , Nino 34 as an indicator of ENSO and 5)  GISS land-ocean temperature anomaly.

The RClimate script and Climate Time Series data file (CTS.csv) links are provided.

First, here is  the 5-panel chart that I have made showing the monthly volcano time line with Volcano Explosivity Index (VEI) , Atmospheric Transmission at Mauna Loa Observatory, SATO Index as well as the Nino34 SSTA and GISS LOTA. (Click Image to Enlarge)

volcano_VEI_MLOAT_NINO34_GISS_plot

Volcanic Eruptions

Laki Eruption , 1783: “For millennia humans no doubt have noticed that smoke and ash from volcanic eruptions can block sunlight for many days. But Benjamin Franklin went a step further in 1783, proposing that a massive volcanic eruption of the Laki fissure in Iceland caused months of unusually cold weather in Europe. By the early 1900s, scientists had begun trying to quantify how volcanic eruptions affect climate, but measurements and climate models were too crude to conclusively link the two. It wasn’t until the late 20th century that scientists understood precisely how Laki’s eruption and the subsequent strange blue haze that wafted over Europe cooled temperatures, and how this related to the “human volcano” of air pollution.” Source: NOVA Global Dimming

Volcanoes can inject large amounts of aerosols into the atmosphere, affecting the amount of solar radiation that reaches the Earth’s surface.  Aerosols are a suspension of fine solid particles or liquid droplets in a gas.

Sulfur aerosols play an important role in reducing the amount of solar radiation that reaches the earth’s surface.  Sulfur emissions from volcanoes vary widely, from 0.5% to 12% of all gaseous emissions ( link).

Here is part of Wikipedia’s discussion (link) of volcanic sulfur aerosols:

“Sulfur aerosols are common in the troposphere as a result of pollution with sulfur dioxide from burning coal, and from natural processes. Volcanos are the major source of particles in the stratosphere as the force of the volcanic eruption propels sulfur-containing gases into the stratosphere.”

“Stratospheric sulfur aerosols are tiny sulfur-rich particles of solid or liquid, or a mixture of the two, which exist in the stratosphere region of the Earth’s atmosphere. When present, after a strong volcanic eruption such as Mount Pinatubo, they produce a cooling effect for a few years before the particles fall out, by reflecting sunlight, and by modifying clouds as they fall out of the stratosphere.” Wikipedia link

The major volcano time line includes volcanoes with a VEI of 4 or more. The plot labels the 5 volcanic eruptions with VEI s of  5-6.  Pinatubo was the only VEI @ 6 in the 1958-2011 period. It was followed by Hudson Cerro, VEI of 5,  a little less than 2 months later.

El Chichon actually had 2 eruptions only 5 days apart (3/28/91 @ 4, 4/3/91 @ 5).

Volcanic Dimming Indicators

My chart shows 2 atmospheric optical indicators,  SATO and Mauna Loa Observatory (MLO) Atmospheric Transmission.

NASA uses the Stratospheric Aerosol Optical Thickness (SATO) index in their climate models (link).

“The optical depth expresses the quantity of light removed from a beam by scattering or absorption during its path through a medium. If I0 is the intensity of radiation at the source and I is the observed intensity after a given path, then optical depth τ is defined by the following equation:Wikipedia

I / I_0 = e^{-\tau}.\,

This simple plot shows the optical depth – transmission relationship.

The SATO index reflects the portion of the solar radiation that passes through the stratosphere. Here is the SATO index data link.

The Maunal Loa Observatory measures clear-sky atmospheric transmission monthly (link). This data series shows the fraction of the top-of-atmosphere solar radiation that is reaching the  surface. Here is the raw data link.

If we look at the MLO AT and SATO trend lines we can see significant decreases in AT and increases in SATO that coincide with the El Chichon and Pinatubo – Hudson Cerro eruptions. The El Chichon period AT decreased from approximately 0.92 to 0.79 2 months later. It took 28 months for the AT to return to its pre-Pinatubo level.

The Pinatubo period AT decreased from 0.93 to a low of 0.85  3 months later. It took 29 months for the AT to return back to the pre-El Chichon level.

It is important to note that the VEI is note a good indicator of volcanic dimming. The Mt St Helens eruption had a VEI of 5 with no noticeable change in either SATO or AT.

The Agung (VEI 5) eruption is interesting because it seems to have increased SATO and reduced the AT from pre-Agung levels of

Ron  at The Whiteboard has an interesting post on the role that the time of year and location (latitude) play in volcanic eruption impacts on climate  (link).

Interplay of Nino 34 and Volcanic Dimming

Nino 34 is one of several ENSO (El Nino Southern Oscillation) indicators.  I have a number of previous Nino 34 posts (here, here, here). El Nino conditions tend to increase global temperature anomalies and La Nina conditions tend to lower global temperature anomalies, after a multi-month lag.  Major volcanic eruptions with high SATO index and lower AT will tend to lower global temperature.

The GISS anomaly series shows a variability caused by natural variation, and the aperiodic impacts of volcanic dimming and ENSO impacts.

RClimate Script and Data File

In working on this post, I developed a new Climate Time Series file (CTS.csv) that includes the 5 major land ocean temperature anomaly series, the climate oscillation series (Nino34, PDO, AMO, AO), MLO’s CO2 series,  SATO, MLO Atmospheric Transmission as well as volcano VEIs.

I will update this file monthly to reflect the the latest agency updates for each series.

My RClimate script for this post chart uses my new CTS.csv file, greatly simplifying data download and preparation.

I continue to use traditional graphics for my R charts, even for my panel charts.  For the 1st time, I used the layout() function to generate this 5-panel chart rather than the par(mfrow=) that I have used previously. I find that png() works better with the layout() so I’ll be sticking with layout().

Here are the links to my RClimate script and CTS.csv files.

About these ads

24 responses to “Volcanic Solar Dimming, ENSO and Temperature Anomalies

  1. Pingback: UAH Temperature Anomalies Following Predictable Pattern | Climate Charts & Graphs

  2. Pingback: How easily it is to get fooled | Louo.net

  3. Pingback: Atmospheric Temperature Structure : 2 – Stratospheric Cooling | Climate Charts & Graphs

  4. Pingback: The Climate Change Debate Thread - Page 490

  5. Robert

    I’ve updated the KNML script to include writing a csv file to your designated location.

    Here’s the link to the updated R script here

    • Hey Kelly,
      From what I can understand about the RClimate.txt file is that this is the code needed for each archive to be downloaded and formatted. How does one export the data from there however into a .csv file for example?

      Also the RScript written for KNML is not working for me in terms of outputting a .csv

      I input the following code.

      output_link <- C:\\Learn_R\\myfile.csv
      write.csv(df, link, quote=FALSE, row.names = F)

      but got the following error message:

      Error: unexpected input in " output_link <- C:\ "

      Any ideas? Sorry to be a pain. Thanks though!

    • Robert

      The output link text string must be in quotes “C:\\Learn_R\\myfile.csv”

      Once you add the quotes for the text string, it should work!!

    • Hey Kelly,
      I added the quotes for the string but I still got an error. This time a different one. If you like I can be emailed directly at robert_way19@hotmail.com rather than discussing this so publicly. Either way the error I received was that it said

      can only open URLs for readingError in file (file, ifelse(append, “a”, “w”)) : cannot open the connection.

      I typed in:
      output_link <- "c:\\Learn_R\\test1.csv"
      write.csv(df, link, quote=FALSE, row.names = F)

    • You have defined output_link with quotes.

      However, you are writing to link. Adjust your write.csv to output_link.

    • I just realized where I erred. Dumb mistake of mine. Thanks.

  6. Hey Kelly
    I have begun looking into R. I downloaded your R presentations and such and am basically at the 4th one (of 5) but I am obviously by no means turning into an expert although I do understand some basics now. I certainly see the advantage in using R it is just a matter of working out the bugs in my understanding. I had a look at your R script and it looks interesting. Certainly to be able to output to a .csv would be useful nowmatter what, whether I use R to plot or excel. I should be pretty good with using this script for KNML files but I do see that there will be probably some issues with compatibility when I go to try using files downloaded from other websites that have a different formatting which would include the traditional headers of year/month Jan.. Feb.. etc…
    In general I will take any data series and format it into the following format:
    Year/Month Jan Feb Mar
    1880
    1881
    So considering I will do most formatting into that framework I am curious whether this script will deal with that situation the same as the KNML stuff.

    Nevertheless within the framework of the KNML work I could certainly use this and it will be very useful. Thank you for your help.
    I hope the KNML site has been useful.

  7. Hey Søren Rosdahl Jensen,
    Would all the commands be the same in Matlab with the exception of the last one? Any idea what I could do to output it using Matlab if the last one is different?

    Thanks for your commentary.

    • Robert

      Here’s a link to a highly commented (# used for comments in R) script that downloads the Temperature anomaly from the KNML site.

      I can add a csv file export to this if you want to still use Excel.

      If you think you want to try R, I suggest you look at my LearnR Toolkit, link.

      As a first step, I suggest my Getting Familiar with R and Excel & R Worlds to give you a sense for R and why, as an Excel chart guru, I switch to R.

      This script is generic for KNML files, just change the link and you should be all set.

    • Søren Rosdahl Jensen

      Hi Robert
      The code below works in Matlab, you just need to remove header text and other text from the data-file and make sure it ends on .txt.
      It is very similar to the Scilab code, so I have not commented it. If you don’t have Excel on your system the xlswrite-function will instead write in csv-format. Instead you can then write in txt format and then import that to Excel. Use this command to write in txt-format:
      dlmwrite(‘gissdata3.txt’,[time temp],’delimiter’, ‘\t’, ‘precision’,’%4.4f’)
      If you want the numbers seperated with a single space instead of a tab replace ‘\t’ with ‘ ‘.

      Here is the code
      clear
      M = dlmread(‘gissdata2.txt’)
      year=M(:,1);
      time=year(1)+0.5/12:1/12:year(130)+11.5/12;
      time=time’;
      temp1=M(:,2:13);
      temp2=temp1′;
      temp=temp2(:);
      % write to file
      xlswrite(‘gissdata.xls’,[time temp])

  8. Hey Kelly,
    An example would be here http://www.cru.uea.ac.uk/cru/data/temperature/hadcrut3vgl.txt

    Excluding the quirky 2nd row for each year (I don’t know why they include that) we essentially have a matrix with years by monthly temperature anomaly.

    If I want to turn that into a usable format in excel for monthly analysis, how would I go about it? I know how to bring it into excel but only how to get yearly values. Basically the months going across I would like to have going down like as follows:
    Year/month Jan Feb Mar …
    1880

    turned into:
    1880 Jan
    1880 Feb
    1880 Mar

    etc… I would like to use excel because I don’t know R (trying to pick up python at least!) Any ideas?

  9. Kelly,
    you don’t by any chance have a script for excel which turns matrices to vectors do you? I’m having trouble making monthly data when it comes in the traditional
    jan feb mar…
    1880
    1881

    • I’m not sure what you are asking for.

      I’ll try to help, 1st a few questions:

      1. What data series are you working with?
      2. Not clear what you mean by “turns matrices to vectors”? In R speak, a matrix consists of 2 or more vectors.
      3. “script for Excel”. Are you asking for Excel VBA script or R script?

    • Søren Rosdahl Jensen

      I think I know what the question is about.
      I use the following commands in Scilab to turn the GISTEMP output into a column vector of monthly anomalies.
      //Open file
      M=fscanfMat(“path to file \gissdata.txt”);
      //Vector of years
      year=M(:,1);
      //Vector of months
      time=year(1)+0.5/12:1/12:year(130)+11/12;
      //Pick out monthly anomalies from the GISS-file, i.e. column 2 to 13 for all rows
      temp1=M(:,2:13);
      // temp1 is now a matrix of 131 rows – one for each year, and 12 columns – one for each month
      // Next, transform temp1 to a matrix of 12 rows and 131 columns
      temp2=temp1′;
      //The first column is the monthly anomalies for 1880, the second column is the monthly anomalies of 1880 and so on. We want to place the data from 1881 below 1880, and from 1882 below 1881…etc.
      This command wil do that
      temp=temp2(:)
      // Now write time and temp to a txt-file:
      fprintfMat(‘path to file\yourfilename.txt’, [time' temp])

      The file has the format:
      month temp_anomaly

      The output file can then be read into Excel or whatever. Scilab cannot write directly to xls format, but it is possible to write to csv using the write_csv command.
      This also works with Matlab if you change the code for saving the file.

  10. Pingback: Climate Blog and News Recap 2011 01 22 « The Whiteboard

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s