January 2012 was a historically cold month in Fairbanks, the fifth-coldest in more than 100 years of records. According to the National Weather Service office in Fairbanks:
January 2012 was the coldest month in more than 40 years in Fairbanks. Not since January 1971 has the Fairbanks area endured a month as cold as this.
The average high temperature for January was 18.2 below and the average low was 35 below. The monthly average temperature of 26.9 below was 19 degrees below normal and made this the fifth coldest January of record. The coldest January of record was 1971, when the average temperature was 31.7 below. The highest temperature at the airport was 21 degrees on the 10th, one of only three days when the temperature rose above zero. This ties with 1966 as the most days in January with highs of zero or lower. There were 16 days with a low temperature of 40 below or lower. Only four months in Fairbanks in more than a century of weather records have had more 40 below days. The lowest temperature at the airport was 51 below on the 29th.
Here’s a figure showing some of the relevant information:
The vertical bars show how much colder (or warmer for the red bars) the average daily temperature at the airport was compared with the 30-year average. You can see from these bars that we had only four days where the temperature was slightly above normal. The blue horizontal line shows the average anomaly for the period, and the orange (Fairbanks airport) and dark cyan (Goldstream Creek) horizontal lines show the actual average temperatures over the period. The average temperature at our house was -27.7°F for the month of January.
Finally, the circles and + symbols represent the minimum daily temperatures recorded at the airport (orange) and our house (dark cyan). You can see the two days late in the month where we got down to -54 and -55°F; cold enough that the propane in our tank remained a liquid and we couldn’t use our stove without heating up the tank.
No matter how you slice it, it was a very cold month.
Here’s some of the R code used to make the plot:
library(lubridate) library(ggplot2) library(RPostgreSQL) # (Read in dw1454 data here) dw_1454$date <- force_tz( ymd(as.character(dw_1454$date)), tzone = "America/Anchorage") dw_1454$label <- 'dw1454 average' # (Read FAI data here) plot_data$line_color <- as.factor( as.numeric(plot_data$avg_temp_anomaly > 0)) plot_data$anomaly <- as.factor( ifelse(plot_data$line_color == 0, "degrees colder", "degrees warmer")) plot_data$daily <- 'FAI average' q <- ggplot(data = plot_data, aes(x = date + hours(9))) # TZ? q + geom_hline(y = avg_mean_anomaly, colour = "blue", size = 0.25) + geom_hline(y = avg_mean_pafg, colour = "orange", size = 0.25) + geom_hline(y = avg_mean_dw1454, colour = "darkcyan", size = 0.25) + geom_linerange(aes(ymin = avg_temp_anomaly, ymax = 0, colour = anomaly)) + theme_bw() + scale_y_continuous(name = "Temperature (degrees F)") + scale_color_manual(name = "Daily temperature", c("degrees colder" = "blue", "degrees warmer" = "red", "FAI average" = "orange", "dw1454 average" = "darkcyan")) + scale_x_datetime(name = "Date") + geom_point(aes(y = min_temp, colour = daily), shape = 1, size = 1) + geom_point(data = dw_1454, aes(x = date, y = dw1454_min, colour = label), shape = 3, size = 1) + opts(title = "Average Daily Temperature Anomaly") + geom_text(aes(x = ymd('2012-01-31'), y = avg_mean_dw1454 - 1.5), label = round(avg_mean_dw1454, 1), colour = "darkcyan", size = 4)