# Lab1.r # # Scripts to read in, process and analyse monthly climate data from Hollyburn Ridge # and ENSO index # # 2009-Jan-12 RDM #################################################################### # Read in data files #################################################################### en = read.csv("http://www.geog.ubc.ca/~rdmoore/Geog507/EN.csv") hb = read.csv("http://www.geog.ubc.ca/~rdmoore/Geog507/HBMCD.csv") #################################################################### # Create time variable and plot HB climate data #################################################################### windows(height = 4in, width = 6in) Time = ISOdate(hb$Year, hb$Month, 15) plot( Time, hb$Tmax, type = "l", col = "red", ylab = expression( "T ("*degree*"C)" ), main = "Monthly mean temperatures at Hollyburn Ridge", ylim = c(-15, 25) ) lines( Time, hb$Tmin, col = "blue") legend( "bottomleft", c("Max", "Min"), lty = c(1,1), col = c("red", "blue"), bty = "n" ) abline( h = 0, lty = 3 ) #################################################################### # Generate box plots of snowfall by month #################################################################### boxplot( hb$SF ~ hb$Month, col = "blue", ylab = "Snowfall (cm)", xlab = "Month", main = "Monthly Snowfall at Hollyburn Ridge" ) abline( h = 0, lty = 3 ) #################################################################### # Recode El Nino index #################################################################### en.levels = c( "La Nina", "Neutral", "El Nino" ) enso = character( length(en$EN) ) en.index = numeric( length(en$EN) ) en.index = 1*(en$EN < 0) + 2*(en$EN == 0) + 3*(en$EN > 0) enso = en.levels[en.index] en2 = data.frame(Year = en$YEAR,enso) #################################################################### # Create data frame with February HB climate data and EN index values #################################################################### hb.feb = subset( hb, Month == 2 ) en3 = subset( en2, Year >= min(hb.feb$Year) & Year <= max(hb.feb$Year) ) hb.en = data.frame(hb.feb, enso = en3$enso) boxplot(hb.en$SF ~ hb.en$enso, ylim = c(0, 500))