Category Archives: Climate Agencies

Climate Charts, Data and RClimate Scripts

While there are many online climate data resources, the source data files are in numerous data formats, presenting a challenge to climate citizen scientists who want to retrieve and analyze several climate indicators at the same time.

I have been working to develop a consolidated open access data file and RClimate scripts that users can use to retrieve climate data, conduct their own analysis  and generate their own climate charts.  My goal is to make it easier for climate citizen scientists to get their hands on the data in a simple,  usable format (CSV). This post updates the status of my RClimate efforts.

Continue reading

RClimate Tools for Do It Yourself Climate Trend Analysis

In this post I introduce my RClimate functions which allow R users to easily download and plot monthly temperature anomaly data for the 5 major global temperature anomaly data series: GISS, HAD, NOAA, RSS, UAH.

Consolidated LOTA Data File

In this previous post I introduced my global  Land Ocean Temperature Anomaly (LOTA) monthly csv file that Excel and R users can download to conduct climate trend analysis.

In this post, I introduce my RClimate.txt R scripts that users can source() to simplify access to the LOTA data.  Please note that I have used the “.txt” descriptor  for my file type to avoid download problems encountered when I use the standard R file descriptor.

Continue reading

Tracking Climate Trends with RClimate Scripts and Links

Some of my visitors may have noticed that I have added a new Climate Images page and have been adding climate data images to my right side panel. So far, I have 6 trend charts, 4 map images, 1 photo image and 1  data value  showing the CO2 concentrations, recent total solar irradiance (TSI) , temperature anomalies and  Arctic sea ice extent trends and map images of global and SST anomalies and  Arctic sea ice extent.

Continue reading

RClimate Script: Arctic Sea Ice Extent Trend By Month

This RClimate Script lets users retrieve and plot the latest data on Arctic Sea Ice Extent  trends by month from 1979 to latest completed month. The trend chart shows National Snow and Ice Data Center’s (NSIDC)  monthly Arctic Sea Ice extent data.

Arctic Sea Ice Trend by Month

I’ve discussed the Arctic sea ice extent trends in this earlier post.

Here’s NSIDC’s Arctic  sea ice extent trend by month chart  since 1979.

This chart shows the 12 monthly sea ice extent trends, with the latest completed month highlighted in red.

Here are the data and RClimate Script links:

RCimate Script: RSS Global Temperature Anomaly Trends

This RClimate Script lets users retrieve and plot the latest data file on monthly global RSS temperature anomaly data based for the lower troposphere.   The trend chart shows monthly and annual anomalies since 1979.

RSS Temperature Anomalies – Lower troposphere

I’ve discussed RSS temperature anomalies in this earlier post.

Here’s Remote Sensing Systems (RSS)  global land and ocean temperature  anomaly data series trend since 1979.

This chart shows the monthly and annual mean satellite based global temperature anomalies s and highlights the latest monthly anomaly.

Here are the data and RClimate Script links:

RClimate Script: Sea Surface Temperature (SST) Anomaly Trends

This RClimate Script lets users retrieve and plot the National Climatic Data Center’s monthly Sea Surface Temperature (SST) Anomaly dat series .  Links to the NCDC data file and my RClimate script are included. Users can run my script with a simple R source() statement.

NCDC  SST Anomaly

I’ve discussed the Hadley SST anomaly trends in this earlier post.

Here’s NCDC’s global SST anomaly data series trend since 1880.

This chart shows the decadal means and highlights the latest monthly SST anomaly.

Here are the data and RClimate Script links:

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 <- "http://www.cpc.noaa.gov/data/indices/wksst.for"
link <- "http://www.cpc.ncep.noaa.gov/data/indices/wksst8110.for"
 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 - http://chartsgraphs.wordpress.com", 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)
 }