RegPatterns <- function(ano, lat, lon, PCs = 4, 
                        nrow = NULL, ncol = NULL, show = FALSE) {
  nlat <- length(lat)
  nlon <- length(lon)
  nPCs <- dim(PCs)[2]

  PLEASE PUT COHERENT DIMENSION NAMES
  proj.regr <- array(NA, c(nPCs, nlat, nlon))

  ## Regress the PC:
  for (t in 1:nPCs) {
    ## Standardize the PC before proyecting it:
    PCs.stand <- (PCs[,t] - mean(PCs[,t])) / sd(PCs[,t])
    pos.time <- which(dim(ano) == length(PCs.stand))
    lm_fun <- function(x,y) lm(y~x)$coefficients[[2]]
    proj.regr[t,,] <- apply(ano, (1:length(dim(ano)))[-pos.time], lm_fun, x=PCs.stand)
  }

  if (show) {
    PlotLayout(PlotEquiMap, c(2,3), var=proj.regr, lat=lat, lon=lon, 
               filled.continents=FALSE, bar_scale=.5, nrow=nrow, ncol=ncol)
    invisible(proj.regr)
  } else {
    proj.regr
  }
}
