exec/gridMETA_aggregate.R

#
library(RSFIA)
library(ncdf4)
library(ncdf4.helpers)
data('FIA')
c0 <- CoordVecsToList(FIA@coords)
vars <- c('pr', 'sph', 'srad', 'tmmn', 'tmmx', 'vs')
yrs <- c(2000:2018)


WTH_DIR <- '/media/bem/scratch/wth'
fls <- list.files(WTH_DIR)

AggregateGridMeta <- function(data_dir = WTH_DIR, vars = vars, yrs = yrs) {
  for (i in seq_along(vars)) {
    ii <- vars[i]
    fli <- fls[grep(ii, fls)]

    for (j in seq_along(yrs)) {
      jj <- yrs[j]
      flj <- fli[grep(jj, fli)]
      if (length(flj) > 1) stop()

      ncj <- ncdf4::nc_open(paste0(WTH_DIR, '/', flj), write = F)
      vj <- ncdf4.helpers::nc.get.variable.list(ncj)
      nk <- matrix(nrow = sapply(ncj$dim, function(x) x$len)['lon'], ncol = sapply(ncj$dim, function(x) x$len)['lat'])

      ct <- 0L
      for (k in seq(nrow(nk))) {
        for (q in seq(ncol(nk))) {
          ct <- ct + 1L
          browser()
          cat('\r\r', format(ct / length(nk) * 100, digits = 2, nsmall = 2), '%')
          st <- c(k, q, 1)
          ct <- c(1, 1, -1)
          ncvarkq <- ncdf4::ncvar_get(nc = ncj, varid = vj, start = st, count = ct)
          if (all(is.na(ncvarkq))) {
            nk[k, q] <- NA
            next
          }
          if (ii == 'pr') {
            browser() # should pr be a sum?
          } else {
            kq0 <- mean(ncvarkq, na.rm = T)
          }
          nk[k, q] <- kq0
          stop()
        }

      }

      nc_close(ncj)

    }
  }
}

fl0 <- paste0(WTH_DIR, '/', list.files(WTH_DIR)[1])
bmcnellis/RSFIA documentation built on June 1, 2019, 7:40 a.m.