This document provides the neccessary steps to:
The National Center for Environmental Prediction (NCEP) Reanalysis is a project that began in the National Centre for Atmospheric Research (NCAR). The project employed multiple datasets and complex systems of programmes which required human input. Over the years it became evident that human errors were increasingly problematic, and when the Program of Climate Model Diagnosis and Intercomparison (PCMDI) of the Lawrence Livermore Laboratory provided the computing power required, the Reanalysis project began its second phase (Kanamitsu, et al, 2002). Today it records up-to-date data, alongside correcting for human error through reanalysis. One of the datasets, the monthly mean precipitation rate data, recorded at surface level was used to reconstruct precipitation in the Atlantic for this project. The dataset is available from this site: https://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.derived.surfaceflux.html (NOAA, 2018a)
The Island of Ireland precipitation dataseries was produced by Dr. Simon Noone and colleagues. It involves precipation data from 25 stations across the island from 1850-2014. Further information on this work can be found in this paper Homogenization and analysis of an expanded long-term monthly rainfall network for the Island of Ireland (1850-2010) https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.4522 As this data series began in 1850, while the NCEP data starts from 1948, for the purposes of this project precipitation for the Island of Ireland was taken from Murphy et al’s work from the recent paper A 305-year continuous monthly rainfall series for the Island of Ireland (1711-2016). More information on this paper can be found here: https://www.clim-past.net/14/413/2018/
The North Atlantic Oscillation Index (NAOi) is an index produced from the recording of surface sea-level pressure differences between the Subpolar Low (Iceland) and the Subtropical High (Azores). The NAO has impacts for storm tracks across Europe due to basin wide changes in the intensity of the North Atlantic jet stream (NOAA, 2018b). Monthly NAO data from 1899-2016 was downloaded for use in this project.
Call libraries and set working directory
As this map is produced in R, there are some libraries that need to be loaded along with the appropriate data. The following calls are used to do this:
setwd("D:\\CC\\S2 Climate Data, Analysis and Modelling\\Oceanography workshop")
library(sp)
library(raster)
library(ncdf4)
library(rgdal)
library(RColorBrewer)
library(lattice)
library(latticeExtra)
library(OpenStreetMap)
library(reshape2)
library(rasterVis)
Clear workspace
To ensure a clear working environment in R, the following two lines of code clears all graphics and plots that may be open, while the third line sets the path to the data
graphics.off()
rm(list=ls())
path <- file.path(getwd(),"data")
Add Coastline
These commands add a linear outline to the coasts when plotted on the map. The first line uses readOGR to read the coastline, while the second line converts to the correct projections required.
world.coast <- readOGR(dsn = file.path(path,"ne_110m_coastline"), layer = "ne_110m_coastline" )
## OGR data source with driver: ESRI Shapefile
## Source: "D:/CC/S2 Climate Data, Analysis and Modelling/Oceanography workshop/data/ne_110m_coastline", layer: "ne_110m_coastline"
## with 134 features
## It has 3 fields
## Integer64 fields read as strings: scalerank
world.coast <- spTransform(world.coast, CRS( "+proj=longlat +datum=WGS84" ) )
Add NCEP monthly mean precipitation rate data from 1948-2014
This data is NetCDF format and is widely used for geophysical data. “NetCDF is a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data” (UCAR, 2017). Printing the file (using the ‘print’ function) after opening allows for examination of the variables included.
nc<-nc_open(file.path(path,'NCEP_Reanalysis_1948_2014.prate.sfc.mon.mean.nc'))
print(nc)
## File D:/CC/S2 Climate Data, Analysis and Modelling/Oceanography workshop/data/NCEP_Reanalysis_1948_2014.prate.sfc.mon.mean.nc (NC_FORMAT_CLASSIC):
##
## 1 variables (excluding dimension variables):
## float prate[lon,lat,time]
## long_name: Monthly Mean of Precipitation Rate
## valid_range: -400
## valid_range: 700
## actual_range: -2.3283064365387e-10
## actual_range: 0.000589039991609752
## units: Kg/m^2/s
## add_offset: 0
## scale_factor: 1
## missing_value: -9.96920996838687e+36
## precision: 1
## least_significant_digit: 0
## var_desc: Precipitation Rate
## dataset: CDC Derived NCEP Reanalysis Products
## level_desc: Surface
## statistic: Mean
## parent_stat: Individual Obs
##
## 3 dimensions:
## lat Size:94
## units: degrees_north
## actual_range: 88.5419998168945
## actual_range: -88.5419998168945
## long_name: Latitude
## standard_name: latitude
## axis: Y
## lon Size:192
## units: degrees_east
## long_name: Longitude
## actual_range: 0
## actual_range: 358.125
## standard_name: longitude
## axis: X
## time Size:801 *** is unlimited ***
## units: hours since 1-1-1 00:00:0.0
## long_name: Time
## actual_range: 17067072
## actual_range: 17651472
## delta_t: 0000-01-00 00:00:00
## avg_period: 0000-01-00 00:00:00
## prev_avg_period: 0000-00-01 00:00:00
## standard_name: time
## axis: T
##
## 7 global attributes:
## title: 4x daily NMC reanalysis
## history: Mon Jul 5 23:55:54 1999: ncrcat prate.mon.mean.nc /Datasets/ncep.reanalysis.derived/surface_gauss/prate.mon.mean.nc /dm/dmwork/nmc.rean.ingest/combinedMMs/prate.mon.mean.nc
## /home/hoop/crdc/cpreanjuke2farm/cpreanjuke2farm Mon Oct 23 21:04:20 1995 from prate.sfc.gauss.85.nc
## created 95/03/13 by Hoop (netCDF2.3)
## description: Data is from NMC initialized reanalysis
## (4x/day). It consists of T42 variables interpolated to
## pressure surfaces from model (sigma) surfaces.
## platform: Model
## Conventions: COARDS
## references: http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.derived.html
## NCO: 20121013
Prepare variables
In order to plot the information from this dataset, some preparatory work must be undertaken to map the observations in time and space:
lat <- ncvar_get(nc, 'lat') # latitude, calls the latitude from the nc file
lon <- ncvar_get(nc, 'lon') # longitude, calls the longitude from the nc file
time<-ncvar_get(nc, 'time') # time, calls the time from the nc file
# get units
tunits<-ncatt_get(nc,"time",attname="units")
tustr<-strsplit(tunits$value, " ")
# check you are happy with the data time origin
date<-as.character(as.Date(time/24-2,origin=unlist(tustr)[3])) #This provides the date as yyyy-mm-dd
Adjusting for missing values
Like many datasets, NCEP may have missing values. ‘ncatt_get’ is a command to read an attribute from the NetCDF file (Rdocumentation, 2018). Missing values are replaced with NA, although many datasets have different fillvalues.
prate <- ncvar_get(nc, 'prate')
fillvalue <- ncatt_get(nc,"prate","_FillValue")
prate[prate==fillvalue$value] <- NA
missvalue <- ncatt_get(nc,"prate","missing_value")
prate[prate==missvalue$value] <- NA
prate[prate==-1000] <- NA
prate <- prate * 86400
The units given are in kg/m2/s1. To change it this to millimeters per day mm/day, the variable must be multiplied by 86400 (24x60x60 hours by minutes by seconds) to get a daily rate.
To centre the map at the 0o meridian the longitude must be split, this is done using the following few lines of code:
lon_split = which(lon==180)
lon = c(lon[(lon_split+1):length(lon)]-360,lon[1:lon_split])
prate= prate[c((lon_split+1):length(lon),1:lon_split),,];
# the missing indices at the end (2 commas) are for latitude and longitude so it will run for all latitude and all longitude
Modifying the data into annual averages using ‘aggregate’ function
year <- format(as.Date(date, format="%Y-%m-%d"),"%Y")
gmean <- colMeans(prate, na.rm = TRUE, dims=2) #Provides a monthly mean for 67 year series up to September 2014
annmean <- aggregate(gmean,by=list(year),FUN=mean,na.rm=TRUE) #Provides an annual mean for each year of the 67-year series
avprate = rowMeans(prate,na.rm=FALSE,dims=2)
colors <- rev(brewer.pal(10, "RdYlBu")) #Prepare colours for plots
pal <- colorRampPalette(colors)
Images / Plots
Use ‘image’ for simple plots. Latitude and longitude can be added simply enough, however, the order of latitude (and corr. col. in the matrix) needs to be reversed as ‘image’ expects increasing values. This is adjusted in second line of code. However, ‘image’ function makes it difficult to add to the plot e.g. coastlines and colorbars, for this we can use ‘levelplot’ from the lattice package.
image(avprate,col=colors)
Figure 1: Simple plot display using ‘image’ function
image(lon,lat[nrow(lat):1],avprate[,nrow(lat):1], col=colors,xlab="Longitude",ylab="Latitude",main="Average Precipitation")
Figure 2: Same as Figure 1 but flipped
levelplot(avprate,col.regions = pal(100), main="Average Precipitation")
Figure 3: Levelplot with colour chart
As levelplot likes to work with dataframes, ‘expand.grid’ is employed to add latitude and longitude. The avprate to be plotted can be added as a vector, expanding the existing grid. Setting the colourbar at 1:10 is important to display the data usefully.
grid <- expand.grid(x=lon, y=lat)
grid$avprate <- as.vector(avprate)
levelplot(avprate~x*y,grid,col.regions = pal(100), at=c(0:10),
xlab='Longitude',ylab='Latitude',main='Average Precipitation (mm/day)') + layer(sp.lines(world.coast))
Figure 4: Plot including 1:10 colour chart, coastlines, displaying average precipitation (mm/day)
It is difficult to understand the chart so adding the world coast layer helps to get a sense of the precipitation patterns, which are in line with the tricellular atmospheric circulations with more precipitation in the lower latitudes. The chart shows little precipitation in the desert and polar regions also.
Generate a timeseries of precipitation anomalies centred over Ireland
‘unique’ returns the unique values in a RasterLayer, or the unique combinations of values in a multi-layer raster object. ‘aprate’ contains the annual precipitation rate, declare it here to have the correct size to speed up computation. A for loop is used to load the annual data into aprate.
yrs <- unique(year)
nyr <- length(yrs)
aprate <- array(NA,c(length(lon),length(lat),nyr))
for (k in 1:nyr) {
aprate[,,k] <- rowMeans(prate[,,year==yrs[k]],na.rm=FALSE,dims=2) #Annual averages from monthly data
}
To see regional variability, the global mean must be removed. This can be done using a traditional loop
gmean <- colMeans(aprate, na.rm = TRUE, dims=2)
for (k in 1:nyr){
aprate[,,k]<-aprate[,,k]-matrix(gmean[k],length(lon),length(lat))
}
lon0 <- -6 # These coordinates centre the anomalies over Ireland
lat0 <- 53 #
prate_ts<-aprate[max(which(lon<=lon0)),min(which(lat<=lat0)),] # Creates the timeseries
plot(yrs,prate_ts,type='l',xlab='Year',ylab='prate Anomaly',main=paste0('Timeseries of Precipiation Anomalies for Ireland')) # Plots timeseries
Figure 5: Precipitation rate anomaly plotted for Ireland 1948-2014 (NCEP data)
The plot shows variabilty in the precipitation rate through time. The data is not highly correlated as it does not display a linear pattern, it instead shows a ‘sawtooth’ pattern. The most prominent feature in this plot is the dip in the late 1960s and early 1970s. This correlates with the major drought period of 1969-1977 as indicated in the Noone et al paper on drought index (2017).
Calculate and plot the correlation of this timeseries with precipitation anomalies over the North Atlantic
cmatrix <- matrix(NA,length(lon),length(lat))
for (i in 1:length(lon)) {
for (j in 1:length(lat)) {
cmatrix[i,j] <- cor(aprate[i,j,], prate_ts)
}
}
Add this to the grid for plotting
grid$corr <- as.vector(cmatrix)
levelplot(corr~x*y, data=grid , xlim=c(-120,70),ylim=c(-40,80), # at=c(-1:1),
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Correlation of prate with Ireland Long=', lon0, ',Lat=', lat0)) + layer(sp.lines(world.coast))
Figure 6: Correlation of precipitation rate with Ireland (NCEP data)
Describe the correlation pattern
The levelplot shows correlation over the Atlantic to the West of Ireland and northeast towards Scandinavia, or downstream of the wind that carries the precipitation. Ireland is the first land that vapour from the Atlantic encounters. All the land above 750m lies within 56km of the coastline with the highest peaks situated in the southwest, this makes it one of the most efficient climatic regimes in the world (Sweeney, 1985). It results in an uneven distribution of rain on the west of the island (Figure 7). There is little other evidence of correlation in the plot, a few areas are light orange but this represents a correlation of only ~0.3.
Figure 7: Annual Mean Rainfall map of Ireland (mm), 1981-2010 Source: Met Éireann, 2018
Plot timeseries and correlation pattern for Iceland
The steps for plotting Iceland and Newfoundland are the same as for Q.2, with some minor changes to code and a change to latitude and longitude.
yrs <- unique(year)
nyr <- length(yrs)
lon1 <- -19.5 #Coordinates for Iceland
lat1 <- 67.5
prate_ts_Iceland<-aprate[max(which(lon<=lon1)),min(which(lat<=lat1)),]
plot(yrs,prate_ts_Iceland,type='l',xlab='Year',ylab='Precipiation Anomaly (mm)',main=paste0('Timeseries of Precipiation Anomalies for Iceland at Long=', lon1, ',Lat=', lat1))
Figure 8: Precipitation rate anomaly plotted for Iceland 1948-2014 (NCEP data)
aprate <- array(NA,c(length(lon),length(lat),nyr)) # aprate will contain the annual prate, declare it here to have the correct size, this
for (k in 1:nyr) {
aprate[,,k] <- rowMeans(prate[,,year==yrs[k]],na.rm=FALSE,dims=2) # annual averages from monthly data
}
grid$an_avprate <- as.vector(rowMeans(aprate,na.rm=FALSE,dims=2))
cmatrix <- matrix(NA,length(lon),length(lat))
for (i in 1:length(lon)) {
for (j in 1:length(lat)) {
cmatrix[i,j] <- cor(aprate[i,j,], prate_ts_Iceland)
}
}
grid$corr <- as.vector(cmatrix)
levelplot(corr~x*y, data=grid , xlim=c(-90,70),ylim=c(-40,90), # at=c(0:10),
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Correlation of prate for Iceland Long=', lon1, ',Lat=', lat1)) + layer(sp.lines(world.coast))
Figure 9: Correlation plot of precipitation rate centred at Iceland (NCEP data)
Plot timeseries and correlation pattern for Newfoundland
lon2 <- -57.5 #
lat2 <- 53.5 #
prate_ts<-aprate[max(which(lon<=lon2)),min(which(lat<=lat2)),]
plot(yrs,prate_ts,type='l',xlab='Year',ylab='Precipiation Anomaly',main=paste0('Timeseries Precipiation Anomalies for Newfoundland at Long=', lon2, ',Lat=', lat2))
Figure 10: Precipitation rate anomaly plotted for Newfoundland 1948-2014 (NCEP data)
# Correlation
cmatrix <- matrix(NA,length(lon),length(lat))
for (i in 1:length(lon)) {
for (j in 1:length(lat)) {
cmatrix[i,j] <- cor(aprate[i,j,], prate_ts)
}
}
grid$corr <- as.vector(cmatrix)
levelplot(corr~x*y, data=grid , xlim=c(-120,20),ylim=c(-40,90), # at=c(-10:10)/10,
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Correlation of prate for Newfoundland Long=', lon2, ',Lat=', lat2)) + layer(sp.lines(world.coast))
Figure 11: Correlation plot of precipitation rate centred at Newfoundland (NCEP data)
Correlation Pattern:
There is a greater spread of correlation (although not a strong presence) in the Iceland map when compared with Newfoundland. Most of this correlation is positive from 0.3-0.5, indicated by the light yellow/orange colours. However, equally there is a large presence of light to dark blues showing no correlation to a somewhat negative correlation, mostly in the minus 0.1-0.3 range.
While the areas in yellow/orange on the Newfoundland image are sporadic and mostly on coastal edges or marine areas, the yellow/oranges in the Iceland image are predominatly located in the north pole with a band spread from ~10oN to ~20oS.
In contrast to both these correlation images, Ireland shows very little correlation with other locations. The presence of yellow/orange is over the sea immediately west of the island and south of Iceland, and on a diagonal track across the UK and up to Scandanavia. Most of the correlation diagram focussed on Ireland displays -0.2 to +0.2 correlation in precipitation rate.
Calculate the correlation pattern in the NCEP dataset associated with this external timeseries. Key is to get them on the same timebase. Do the same with an NAO timeseries. How do the patterns differ and how are they the similar?
The basic steps to set up the Island of Ireland preciptation data, and prepare it for mapping, including trimming the data in line with the NCEP dataset, are as follows:
path <- file.path(getwd(),"data")
IoI <- read.csv("IOI_1711_SERIES.csv")
IoI_trim <- IoI[c(2845:3645), c(1:3)]
annual <- aggregate(IoI_trim$Median.montly.series, by= list(IoI_trim$Year), FUN=mean, na.rm= TRUE)
yrs <- unique(year)
nyr <- length(yrs)
aprate <- array(NA,c(length(lon),length(lat),nyr))
for (k in 1:nyr) {
aprate[,,k] <- rowMeans(prate[,,year==yrs[k]],na.rm=FALSE,dims=2)
}
The NCEP dataset used mean data, the Island of Ireland data uses median values, to resolve this the annual mean is calculated from the monthly median data. The mean allows for greater visibility of outliers than median values. This is evident in the different patterns visible in Figure 12 when compared with Figure 6.
gmean <- colMeans(aprate, na.rm = TRUE, dims=2)
for (k in 1:nyr){
aprate[,,k]<-aprate[,,k]-matrix(gmean[k],length(lon),length(lat))
}
cmatrix2 <- matrix(NA,length(lon),length(lat))
for (i in 1:length(lon)) {
for (j in 1:length(lat)) {
cmatrix2[i,j] <- cor(aprate[i,j,], annual$x)
}
}
grid$corr <- as.vector(cmatrix2)
levelplot(corr~x*y, data=grid , #xlim=c(-120,70),ylim=c(-40,80), # at=c(-1:1),
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Correlation of precipitation anomaly for Island Of Ireland data')) + layer(sp.lines(world.coast))
Figure 12: Plot of correlation pattern in the NCEP dataset associated with the Island of Ireland precipitation timeseries data
The pattern for the precipitation anomaly in the NCEP dataset in relation Ireland of Ireland precipitation series shows similarities to Figure 6 above and Figure 14 below. However there is a tail pattern evident here that is missing from Figure 6, this is possbily due to the use of annual mean values, for which outliers are more prominent. It is evident that the winds have a major impact on the pathway of precipitation, as the tail forms along the gulf stream, over Ireland and up into Scandanavia.
North Atantic Oscillation Index
The same process is followed for the North Atlantic Oscillation index (NAOi) data. As the data is laid out differently in NAOi, ‘rowMeans’ is used to get annual averages:
NAO <- read.csv("nao_pc_monthly.csv")
NAO_trim <- NAO[c(50:116), c(2:13)]
avNAO = rowMeans(NAO_trim, na.rm = FALSE)
yrs <- unique(year)
nyr <- length(yrs)
aprate <- array(NA,c(length(lon),length(lat),nyr))
for (k in 1:nyr) {
aprate[,,k] <- rowMeans(prate[,,year==yrs[k]],na.rm=FALSE,dims=2)
}
gmean <- colMeans(aprate, na.rm = TRUE, dims=2)
for (k in 1:nyr){
aprate[,,k]<-aprate[,,k]-matrix(gmean[k],length(lon),length(lat))
}
cmatrix3 <- matrix(NA,length(lon),length(lat))
for (i in 1:length(lon)) {
for (j in 1:length(lat)) {
cmatrix3[i,j] <- cor(aprate[i,j,], avNAO)
}
}
grid$corr <- as.vector(cmatrix3)
levelplot(corr~x*y, data=grid , xlim=c(-120,40),ylim=c(-20,80), # at=c(-1:1),
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Correlation of precipitation anomaly for NAO')) + layer(sp.lines(world.coast))
Figure 13: Plot of correlation pattern in the NCEP dataset associated with the North Atlantic Oscillation Index data
Figure 13 very clearly shows the ‘see-saw’ effect of the North Atlantic Oscillation from the subpolar low (near Iceland), to the subtropical high (near Azores). The plot shows a positive correlation with the subpolar low and a negative correlation with the tropical high.
Matrices and for loops are used to run correlation test on all the values in the dataset. This is an efficient method to test and log all the results. The code for this is as follows:
ann.matrix <- matrix(NA, length(lon), length(lat))
annt.matrix <- matrix(NA, length(lon), length(lat))
for (i in 1:length(lon)) {
for (j in 1:length(lat)) {
ann.matrix[i,j] <- cor(aprate[i,j,], annual$x)
ann.matrixcor <- cor.test(aprate[i,j,], annual$x)
annt.matrix[i,j] <- ann.matrixcor$p.value
}
}
The following set of code plots the p-values, which are a representation of the significance of correlation in the data. THe first set plots all the p-values, while the second chunk of code plots only the significant p-values.
grid$corr <- as.vector(ann.matrix)
grid$corr.annp <- as.vector(annt.matrix)
levelplot(corr~x*y, data=grid , xlim=c(-120,40),ylim=c(-20,80), # at=c(-1:1),
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Correlation of p-values for Island of Ireland precipitation series')) + layer(sp.lines(world.coast))
Figure 14: Correlation of p-values plotted for the Island of Ireland precipitation dataset
grid$corr[grid$corr.annp > 0.05] <- NA
levelplot(corr~x*y, data=grid , xlim=c(-120,40),ylim=c(-20,80), # at=c(-1:1),
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Significant p-values for Island of Ireland Series')) + layer(sp.lines(world.coast))
Figure 15: Plot of significant p-values for the Island of Ireland dataset, reds signify positive correlation, blues indicate negative correlation
Figure 14 displays a pattern very similar to Figures 6 and 12. Figure 15 on the other hand provides more detail to the dataset. The red areas display the positive significant p-values, while the blue areas show a negative correlation with all insignificant responses removed. Significance level is set to 0.05. There is a very distinct positive and negative correlation with the Island of Ireland precipitation series. The positive correlation covers a large area out on the Atlantic, the source of most of Ireland’s precipitation (Sweeney, 1985). This positive correlation covers all of Ireland and the UK (lessening in intensity on the east and north coasts), and in a northeasterly direction to south Sweden. The negative correlation is situated to the northwest of Denmark and over the ocean. The Gulf Stream is evident in Figure 14, but the values are not significant enough for inclusion in Figure 15.
c.matrix <- matrix(NA, length(lon), length(lat))
t.matrix <- matrix(NA, length(lon), length(lat))
for (i in 1:length(lon)) {
for (j in 1:length(lat)) {
c.matrix[i,j] <- cor(aprate[i,j,], avNAO)
c.matrixcor <- cor.test(aprate[i,j,], avNAO)
t.matrix[i,j] <- c.matrixcor$p.value
}
}
grid$corr <- as.vector(c.matrix)
grid$corr.p <- as.vector(t.matrix)
levelplot(corr~x*y, data=grid , xlim=c(-120,40),ylim=c(-20,80), # at=c(-1:1),
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Correlation of p values for NAOi')) + layer(sp.lines(world.coast))
Figure 16: Correlation of p-values plotted for the North Atlantic Oscillation Index dataset
grid$corr[grid$corr.p > 0.05] <- NA
levelplot(corr~x*y, data=grid , xlim=c(-120,40),ylim=c(-20,80), # at=c(-1:1),
col.regions = pal(100),xlab='Longitude',ylab='Latitude',
main=paste0('Significant p values for NAOi')) + layer(sp.lines(world.coast))
Figure 17: Plot of significant p-values for the North Atlantic Oscillation Index dataset, reds signify positive correlation, blues indicate negative correlation
There is a lot of colour in Figure 16 making it somewhat difficult to decipher, the removal of insignficant responses in Figure 17 makes it easier to see what is going on in the correlation of the North Atlantic Oscillation with the NCEP data. The see-saw regions of the NAO are ‘hotspots’ for correlation with a postive at the subpolar low and a negative at the subtropical high. There is a more diffuse pattern to the plot than that of the Island of Ireland dataset. Areas of positive and negative correlation cover other land and ocean areas. The NAO is known to have impacts on storm tracks and on the direction of the jetstream, however this pattern is not what the operator expected to find. She expected to find two isolated areas. Although it is possible that the plot is indicating human error in either the NAO dataset or the NCEP dataset, it is equally possible it is the interaction with other atmospheric and ocean processes and systems that are represented here. Investigating the NAO index is outside the scope of this project, and a definitive answer for the pattern found in Figure 17 cannot be presented.
Reference List:
Kanamitsu, M., Ebisuzaki, W., Woollen, J., Yang, S.K., Hinlo, J.J., Fiorino, M., and Potter, G.L. (2002) NCEP-DOE AMIP-11 Reanalysis (R-2) BAMS [online]. 83(11), 1631-1644. Available at: DOI:10.1175/BAMS-83-11-631 (accessed 6 April 2018).
Met Éireann (2018) Rainfall [online]. Available at: https://www.met.ie/climate-ireland/rainfall.asp (accessed 9 January 2018).
Murphy, C. et al (2018) A 305-year continuous monthly rainfall series for the Island of Ireland (1711-2016) Climate of the Past [online]. 14, 413-440. Available at: doi.org/10.5194/cp-14-413-2018 (accessed 6 April 2018).
NOAA Earth System Research Laboratory, Physical Sciences Division (2018a) NCEP/NCAR Reanalysis Monthly Means and Other Derived Variables [online]. Available at: https://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.derived.surfaceflux.html (accessed 6 April 2018).
NOAA National Climatic Data Centre (2018b) North Atlantic Oscillation [online]. Available at: https://www.ncdc.noaa.gov/teleconnections/nao/ (accessed 6 April 2018).
Noone, S. et al (2016) Homogenization and analysis of an expanded long-term monthly rainfall network for the Island of Ireland (1850-2010). International Journal of Climatology [online] 36, 2837-2853. Available at: DOI:10.1002/joc.4522 (accessed 13 December 2017).
Noone, S., Broderick, C., Duffy, C., Matthews, T., Wilby, R. L., and Murphy, C.(2017) A 250-year drought catalogue for the island of Ireland (1765-2015) International Journal of Climatology [online] 37, 239-254. Available at: https://doi.org/10.1002/joc.4999 (accessed 11 April 2018).
Rdocumentation (2018) ncatt_get [online]. Available at: https://www.rdocumentation.org/packages/ncdf4/versions/1.16/topics/ncatt_get (accessed 5 April 2018).
Sweeney, J. (1985) The changing synoptic origins of Irish precipitation. Transactions of the Institute of British Geographers. 10, 467-480.
UCAR Community Programs (2017) Network Common Data Form (NetCDF) [online]. Available at: https://www.unidata.ucar.edu/software/netcdf/ (accessed 5 April 2018).