Monthly Archives: January 2010

RClimate Script: NINO 3.4 SST Anomaly Trends

This RClimate Script lets users retrieve and plot the weekly NOAA NINO 3.4 SST  anomaly data for 1990 to the most recent value.  Links to the NOAA data file and my RClimate script are included. Users can run my script with a simple R source() statement.

NINO 3.4 SST Anomaly

I’ve discussed ENSO and NINO 3.4 in this earlier post.

SST’s in 4 equatorial Pacific zones are closely monitored to assess the status of El Nino – Southern Oscillation (ENSO).

NINO 3.4 SST anomaly provides a quick and effective indication of ENSO conditions. NOAA updates the NINO 1,2,3,3.4 and 4 SST and SSTA series weekly.

Here’s theweekly NINO 3.4 trend from 1990 to the most recent weekly reading. Click image to enlarge.

Here is the Data Link.

Here is the R script that I used to generate this chart.

## set link & read data
 #link <- ""
link <- ""
 nino_34 <- read.fwf(link, widths=c(10,-31,4,4,-17),skip = 4, header=F)
 names(nino_34) <- c("cdt", "sst", "ssta")

## calc yr_frac
 dt <- as.Date(nino_34$cdt, format="%d%b%Y")
 yr <- as.numeric(format(dt, format="%Y"))
 mo <- as.numeric(format(dt, format="%m"))
 dy <- as.numeric(format(dt, format="%d"))
 yr_frac <- as.numeric(yr + (mo-1)/12 + (dy/30)/12)
 nino_34 <- data.frame(dt,yr_frac, nino_34[,2:3])

## Determine Month, Year for last reading
 c <- nrow(nino_34) # Find number of data rows
 ldt <- nino_34[c,1]
 ldt_c <- paste(mo[c],"/", dy[c],"/", yr[c],sep="")
 l_yr_frac <- nino_34[c,2]
 l_nino_34 <- nino_34[c,4]
 lp_note <- paste(ldt_c, " @ ",l_nino_34,"C",sep="")

## subset data to add color for LaNina & El Nino cnditions
 la_nina <- subset(nino_34, ssta < 0)
 el_nino <- subset(nino_34, ssta>= 0)

## Plot titles
 title = "NINO 3.4 SST Anomaly Trend (Baseline: 1950-1979) \n NOAA: Weekly Data Centered on Wed"
 y_lab <- expression(paste("SST Anomaly ",degree,"C (1950-1979)", sep=""))

p_fun <- function() {
## set plot pars
 par(ps=10); par(las=1); par(oma=c(3.5,1,0,1)); par(mar=c(2,4,2,0))

plot(nino_34$yr_frac, nino_34$ssta, type = "n", main=title, xlab="", ylab = y_lab,
 cex.main=0.95, cex.lab=0.95)
 points(la_nina$yr_frac, la_nina$ssta, col = "blue", type = "h")
 points(el_nino$yr_frac, el_nino$ssta, col = "red", type = "h")
 points(l_yr_frac, l_nino_34, pch=19, col = "black",cex=0.75)
 points(1991.5, -2, pch=19, col="black", cex=0.75)
 text (1992, -2, lp_note, adj=0, cex=0.8)

## Generate and add bottom footer KOD, source, System date notes
 source_note <- paste("Data Source: ", link)
 mtext("D Kelly O'Day -", 1,1, adj = 0, cex = 0.8, outer=TRUE)
 mtext(format(Sys.time(), "%m/%d/ %Y"), 1, 1, adj = 1, cex = 0.8, outer=TRUE)
 mtext(source_note, 1,0,adj=0.5, cex=0.8, outer=T)

RClimate Script: Polar Amplification – 2000 to 2009

This RClimate Script lets users retrieve and plot the NASA GISS temperature anomaly data for 2000 to 2009 by latitude zone during the past decade. A link is provided to the NASA GISS data generation query page as well as links to my saved file of the GISS data and my RClimate script that users can run with a simple R source() statement.


I’ve discussed polar amplification in this previous post.

NASA has reported that 2009 was the 2nd warmest year on record and that 2000 to 2009 was the warmest decade on record, based on global mean anomaly values. The increased anomalies over the decade were not uniform, as shown in this NASA image of 2000 – 2009 anomalies  compared to the 1951-1980 baseline period. (Click image to enlarge it)

Continue reading

RCimate Script: Recent Total Solar Irradiance (TSI) Trends

This RClimate Script lets users retrieve and plot the latest data file on daily total solar irradiance (TSI) data from NASA’s  Solar Radiation and Climate Experiment (SORCE) Mission. The trend trend chart shows daily values from 2/25/03 to about one week before when the R script is run.

Recent TSI Trends

Here’s the 1/21/10 plot of NASA’s SORCE TSI data.

Here are the data and RClimate Script links:

RClimate Script: CO2 Trends

This RClimate Script lets users retrieve the latest data file on monthly Mauna Loa  CO2 levels and generate a trend chart with the latest reading highlighted.

CO2 TrendsKeeling Curve

Here’s the Mauna Loa Observatory CO2 trend from 1958 to Dec., 2009.

Here are the data and RClimate Script links:

RClimate Script Introduction

Would you like to be able to generate a GISS temperature anomaly trend chart on your PC with just 1 line of R script? What about downloading the R script to your PC so that you can edit the script to fit your needs?

In this post I present my first RClimate Script so that users with just a little R experience who have R and 2 R libraries up and running on their PC  can  retrieve the latest NASA file on monthly GISS temperature anomalies, generate a trend chart and calculate the anomaly trend rate in 1-2 minutes.

Continue reading

Arctic Sea Ice Extent Trends With R

This post shows how to retrieve on-line Arctic Sea Ice Extent data from the National Snow and Ice Data Center (NSIDC), consolidate the data files, generate a csv file, summarize and plot the data and post it as a Google Docs so that interested readers can download and analyze this data series themselves.

Links to the NSIDC source data files, R script and my Google Docs csv file are provided.

Sea Ice Extent Data and Definition

The Japan Aerospace Exploration Agency (JAXA) provides daily updates to the Arctic Sea Ice Extent and maintains a downloadable csv  file of daily values from June, 2002 at this link.

JAXA and other  climate science data sites define  sea ice extent as the area of the  ocean where sea-ice concentration is 15% of more.

NSIDC maintains a series of 12 ASCII files (one for each month) that include the monthly average sea ice extent values for the period 1979 to present. I am using the NSIDC data set because it covers a longer period (31 years) than the JAXA data series.

Here’s the 1979 – 2009 trend chart of monthly Arctic sea ice extent measurement data based on NSIDC files. (Click image to enlarge)

Continue reading