PlotBox <- function(NAO, yr1, yr2, toptitle = "NAO index", tar = "DJF", 
                    pr.qu = expression("NAO index (PC1) SLP" ~ (sigma)), 
                    expname = "exp 1", obsname = "obs 1", 
                    fileout = "NAO_fc.ps") {
  nyr <- dim(NAO$NAOO.ver)[3]
  postscript(fileout, horizontal = TRUE)
  ## Observed time series.
  pc.o <- ts(NAO$NAOO.ver[1, 1, ], deltat = 1, start = yr1, 
    end = yr2)
  ## Normalization of obs, forecast members. Fabian
  ## Normalization of forecast should be according to ensemble
  ## mean, to keep info on ensemble spread, no? Lauriane pc.o <-
  ## pc.o/sd(pc.o) sd.fc <- apply(NAO$NAOF.ver[1,,],c(1),sd)
  ## NAO$NAOF.ver[1,,] <- NAO$NAOF.ver[1,,]/sd.fc mn.fc <-
  ## apply(NAO$NAOF.ver[1,,],2,mean) NAO$NAOF.ver[1,,] <-
  ## NAO$NAOF.ver[1,,]/sd(mn.fc) Produce plot.
  par(mar = c(5, 6, 4, 2))
  boxplot(NAO$NAOF.ver[1, , ], add = FALSE, main = paste(toptitle, tar), 
    ylab = "", xlab = "", col = "red", lwd = 2, t = "b", 
    axes = FALSE, cex.main = 2, ylim = c(-max(abs(c(NAO$NAOF.ver[1, 
      , ], pc.o))), max(abs(c(NAO$NAOF.ver[1, , ], pc.o)))))
  lines(1:nyr, pc.o, lwd = 3, col = "blue")
  abline(h = 0, lty = 1)
  legend("bottomleft", c(obsname, expname), lty = c(1, 1), lwd = c(3, 
    3), pch = c(NA, NA), col = c("blue", "red"), horiz = TRUE, 
    bty = "n", cex = 2.2)
  axis(1, c(1:nyr), NA, cex.axis = 2)
  axis(1, seq(1, nyr, by = 1), seq(start(pc.o)[1], end(pc.o)[1], 
    by = 1), cex.axis = 2)
  mtext(1, line = 3, text = tar, cex = 1.9)
  mtext(3, line = -2, text = paste(" AC =", round(cor(pc.o, 
    apply(NAO$NAOF.ver[1, , ], c(2), mean)), 2)), cex = 1.9, 
    adj = 0)
  axis(2, cex.axis = 2)
  mtext(2, line = 3, text = pr.qu, cex = 1.9)
  box()
  dev.off()
}

