R/utils/batch.land.use.l30.l90.R

Defines functions batch.land.use.l30.l90

land.use.list <- c('aop', 'cch', 'cci', 'ccn', 'cfr', 'cir', 'cmo', 'cnr', 'ctg', 'dbl', 'fnp',
                   'for', 'fsp', 'gom', 'gwm', 'hfr', 'lhy', 'mch', 'mci', 'mcn', 'mir', 'mnr', 
                   'mtg', 'nch', 'nci', 'nir', 'nnr', 'ntg', 'oac', 'ohy', 'osp', 'pas', 'sch',
                   'scl', 'sgg', 'sho', 'som', 'soy', 'stb', 'stf', 'swm', 'wfp', 'wto')

batch.land.use.l30.l90 <- function(dirpath, land.use.list) {
  csv.list <- list.files(path = dirpath, pattern = "_0111-0211-0411\\.csv$", recursive = FALSE)
  
  land.use.table <- data.frame(matrix(data = NA, nrow = length(csv.list), ncol = 1+length(land.use.list)))
  colnames(land.use.table) = c('segment', land.use.list)
  land.use.table.2 <- land.use.table
  
  for (i in 1:length(csv.list)) {
    data <- try(read.csv(paste(dirpath, csv.list[i], sep = '/')))
    trim <- which(as.Date(data$thisdate) >= as.Date('1991-01-01') & as.Date(data$thisdate) <= as.Date('2000-12-31'))
    data <- data[trim,]
    
    print(paste('Downloading data for segment', i, 'of', length(csv.list), sep = ' '))
    
    segment <- substr(csv.list[i], 1, 6)
    
    if (class(data) == 'try-error') {
      stop(paste0("ERROR: Missing climate .csv files (including ", dirpath, "/", csv.list[i]))
    }
    
    land.use.table$segment[i] <- segment
    
    data.aop <- aggregate(aop_suro+aop_ifwo+aop_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.aop) <- c('date', 'flow')
    data.cch <- aggregate(cch_suro+cch_ifwo+cch_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.cch) <- c('date', 'flow')
    data.cci <- aggregate(cci_suro+cci_ifwo+cci_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.cci) <- c('date', 'flow')
    data.ccn <- aggregate(ccn_suro+ccn_ifwo+ccn_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.ccn) <- c('date', 'flow')
    data.cfr <- aggregate(cfr_suro+cfr_ifwo+cfr_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.cfr) <- c('date', 'flow')
    data.cir <- aggregate(cir_suro+cir_ifwo+cir_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.cir) <- c('date', 'flow')
    data.cmo <- aggregate(cmo_suro+cmo_ifwo+cmo_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.cmo) <- c('date', 'flow')
    data.cnr <- aggregate(cnr_suro+cnr_ifwo+cnr_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.cnr) <- c('date', 'flow')
    data.ctg <- aggregate(ctg_suro+ctg_ifwo+ctg_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.ctg) <- c('date', 'flow')
    data.dbl <- aggregate(dbl_suro+dbl_ifwo+dbl_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.dbl) <- c('date', 'flow')
    data.fnp <- aggregate(fnp_suro+fnp_ifwo+fnp_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.fnp) <- c('date', 'flow')
    data.for <- aggregate(for_suro+for_ifwo+for_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.for) <- c('date', 'flow')
    data.fsp <- aggregate(fsp_suro+fsp_ifwo+fsp_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.fsp) <- c('date', 'flow')
    data.gom <- aggregate(gom_suro+gom_ifwo+gom_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.gom) <- c('date', 'flow')
    data.gwm <- aggregate(gwm_suro+gwm_ifwo+gwm_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.gwm) <- c('date', 'flow')
    data.hfr <- aggregate(hfr_suro+hfr_ifwo+hfr_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.hfr) <- c('date', 'flow')
    data.lhy <- aggregate(lhy_suro+lhy_ifwo+lhy_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.lhy) <- c('date', 'flow')
    data.mch <- aggregate(mch_suro+mch_ifwo+mch_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.mch) <- c('date', 'flow')
    data.mci <- aggregate(mci_suro+mci_ifwo+mci_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.mci) <- c('date', 'flow')
    data.mcn <- aggregate(mcn_suro+mcn_ifwo+mcn_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.mcn) <- c('date', 'flow')
    data.mir <- aggregate(mir_suro+mir_ifwo+mir_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.mir) <- c('date', 'flow')
    data.mnr <- aggregate(mnr_suro+mnr_ifwo+mnr_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.mnr) <- c('date', 'flow')
    data.mtg <- aggregate(mtg_suro+mtg_ifwo+mtg_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.mtg) <- c('date', 'flow')
    data.nch <- aggregate(nch_suro+nch_ifwo+nch_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.nch) <- c('date', 'flow')
    data.nci <- aggregate(nci_suro+nci_ifwo+nci_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.nci) <- c('date', 'flow')
    data.nir <- aggregate(nir_suro+nir_ifwo+nir_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.nir) <- c('date', 'flow')
    data.nnr <- aggregate(nnr_suro+nnr_ifwo+nnr_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.nnr) <- c('date', 'flow')
    data.ntg <- aggregate(ntg_suro+ntg_ifwo+ntg_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.ntg) <- c('date', 'flow')
    data.oac <- aggregate(oac_suro+oac_ifwo+oac_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.oac) <- c('date', 'flow')
    data.ohy <- aggregate(ohy_suro+ohy_ifwo+ohy_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.ohy) <- c('date', 'flow')
    data.osp <- aggregate(osp_suro+osp_ifwo+osp_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.osp) <- c('date', 'flow')
    data.pas <- aggregate(pas_suro+pas_ifwo+pas_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.pas) <- c('date', 'flow')
    data.sch <- aggregate(sch_suro+sch_ifwo+sch_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.sch) <- c('date', 'flow')
    data.scl <- aggregate(scl_suro+scl_ifwo+scl_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.scl) <- c('date', 'flow')
    data.sgg <- aggregate(sgg_suro+sgg_ifwo+sgg_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.sgg) <- c('date', 'flow')
    data.sho <- aggregate(sho_suro+sho_ifwo+sho_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.sho) <- c('date', 'flow')
    data.som <- aggregate(som_suro+som_ifwo+som_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.som) <- c('date', 'flow')
    data.soy <- aggregate(soy_suro+soy_ifwo+soy_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.soy) <- c('date', 'flow')
    data.stb <- aggregate(stb_suro+stb_ifwo+stb_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.stb) <- c('date', 'flow')
    data.stf <- aggregate(stf_suro+stf_ifwo+stf_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.stf) <- c('date', 'flow')
    data.swm <- aggregate(swm_suro+swm_ifwo+swm_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.swm) <- c('date', 'flow')
    data.wfp <- aggregate(wfp_suro+wfp_ifwo+wfp_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.wfp) <- c('date', 'flow')
    data.wto <- aggregate(wto_suro+wto_ifwo+wto_agwo ~ as.Date(thisdate), data, FUN = sum)
    colnames(data.wto) <- c('date', 'flow')
    
    land.use.table$aop[i] <- num_day_min(data.aop, num.day = 30, min_or_med = "min")
    land.use.table$cch[i] <- num_day_min(data.cch, num.day = 30, min_or_med = "min")
    land.use.table$cci[i] <- num_day_min(data.cci, num.day = 30, min_or_med = "min")
    land.use.table$ccn[i] <- num_day_min(data.ccn, num.day = 30, min_or_med = "min")
    land.use.table$cfr[i] <- num_day_min(data.cfr, num.day = 30, min_or_med = "min")
    land.use.table$cir[i] <- num_day_min(data.cir, num.day = 30, min_or_med = "min")
    land.use.table$cmo[i] <- num_day_min(data.cmo, num.day = 30, min_or_med = "min")
    land.use.table$cnr[i] <- num_day_min(data.cnr, num.day = 30, min_or_med = "min")
    land.use.table$ctg[i] <- num_day_min(data.ctg, num.day = 30, min_or_med = "min")
    land.use.table$dbl[i] <- num_day_min(data.dbl, num.day = 30, min_or_med = "min")
    land.use.table$fnp[i] <- num_day_min(data.fnp, num.day = 30, min_or_med = "min")
    land.use.table$`for`[i] <- num_day_min(data.for, num.day = 30, min_or_med = "min")
    land.use.table$fsp[i] <- num_day_min(data.fsp, num.day = 30, min_or_med = "min")
    land.use.table$gom[i] <- num_day_min(data.gom, num.day = 30, min_or_med = "min")
    land.use.table$gwm[i] <- num_day_min(data.gwm, num.day = 30, min_or_med = "min")
    land.use.table$hfr[i] <- num_day_min(data.hfr, num.day = 30, min_or_med = "min")
    land.use.table$lhy[i] <- num_day_min(data.lhy, num.day = 30, min_or_med = "min")
    land.use.table$mch[i] <- num_day_min(data.mch, num.day = 30, min_or_med = "min")
    land.use.table$mci[i] <- num_day_min(data.mci, num.day = 30, min_or_med = "min")
    land.use.table$mcn[i] <- num_day_min(data.mcn, num.day = 30, min_or_med = "min")
    land.use.table$mir[i] <- num_day_min(data.mir, num.day = 30, min_or_med = "min")
    land.use.table$mnr[i] <- num_day_min(data.mnr, num.day = 30, min_or_med = "min")
    land.use.table$mtg[i] <- num_day_min(data.mtg, num.day = 30, min_or_med = "min")
    land.use.table$nch[i] <- num_day_min(data.nch, num.day = 30, min_or_med = "min")
    land.use.table$nci[i] <- num_day_min(data.nci, num.day = 30, min_or_med = "min")
    land.use.table$nir[i] <- num_day_min(data.nir, num.day = 30, min_or_med = "min")
    land.use.table$nnr[i] <- num_day_min(data.nnr, num.day = 30, min_or_med = "min")
    land.use.table$ntg[i] <- num_day_min(data.ntg, num.day = 30, min_or_med = "min")
    land.use.table$oac[i] <- num_day_min(data.oac, num.day = 30, min_or_med = "min")
    land.use.table$ohy[i] <- num_day_min(data.ohy, num.day = 30, min_or_med = "min")
    land.use.table$osp[i] <- num_day_min(data.osp, num.day = 30, min_or_med = "min")
    land.use.table$pas[i] <- num_day_min(data.pas, num.day = 30, min_or_med = "min")
    land.use.table$sch[i] <- num_day_min(data.sch, num.day = 30, min_or_med = "min")
    land.use.table$scl[i] <- num_day_min(data.scl, num.day = 30, min_or_med = "min")
    land.use.table$sgg[i] <- num_day_min(data.sgg, num.day = 30, min_or_med = "min")
    land.use.table$sho[i] <- num_day_min(data.sho, num.day = 30, min_or_med = "min")
    land.use.table$som[i] <- num_day_min(data.som, num.day = 30, min_or_med = "min")
    land.use.table$soy[i] <- num_day_min(data.soy, num.day = 30, min_or_med = "min")
    land.use.table$stb[i] <- num_day_min(data.stb, num.day = 30, min_or_med = "min")
    land.use.table$stf[i] <- num_day_min(data.stf, num.day = 30, min_or_med = "min")
    land.use.table$swm[i] <- num_day_min(data.swm, num.day = 30, min_or_med = "min")
    land.use.table$wfp[i] <- num_day_min(data.wfp, num.day = 30, min_or_med = "min")
    land.use.table$wto[i] <- num_day_min(data.wto, num.day = 30, min_or_med = "min")
    
    land.use.table.2$aop[i] <- num_day_min(data.aop, num.day = 90, min_or_med = "min")
    land.use.table.2$cch[i] <- num_day_min(data.cch, num.day = 90, min_or_med = "min")
    land.use.table.2$cci[i] <- num_day_min(data.cci, num.day = 90, min_or_med = "min")
    land.use.table.2$ccn[i] <- num_day_min(data.ccn, num.day = 90, min_or_med = "min")
    land.use.table.2$cfr[i] <- num_day_min(data.cfr, num.day = 90, min_or_med = "min")
    land.use.table.2$cir[i] <- num_day_min(data.cir, num.day = 90, min_or_med = "min")
    land.use.table.2$cmo[i] <- num_day_min(data.cmo, num.day = 90, min_or_med = "min")
    land.use.table.2$cnr[i] <- num_day_min(data.cnr, num.day = 90, min_or_med = "min")
    land.use.table.2$ctg[i] <- num_day_min(data.ctg, num.day = 90, min_or_med = "min")
    land.use.table.2$dbl[i] <- num_day_min(data.dbl, num.day = 90, min_or_med = "min")
    land.use.table.2$fnp[i] <- num_day_min(data.fnp, num.day = 90, min_or_med = "min")
    land.use.table.2$`for`[i] <- num_day_min(data.for, num.day = 90, min_or_med = "min")
    land.use.table.2$fsp[i] <- num_day_min(data.fsp, num.day = 90, min_or_med = "min")
    land.use.table.2$gom[i] <- num_day_min(data.gom, num.day = 90, min_or_med = "min")
    land.use.table.2$gwm[i] <- num_day_min(data.gwm, num.day = 90, min_or_med = "min")
    land.use.table.2$hfr[i] <- num_day_min(data.hfr, num.day = 90, min_or_med = "min")
    land.use.table.2$lhy[i] <- num_day_min(data.lhy, num.day = 90, min_or_med = "min")
    land.use.table.2$mch[i] <- num_day_min(data.mch, num.day = 90, min_or_med = "min")
    land.use.table.2$mci[i] <- num_day_min(data.mci, num.day = 90, min_or_med = "min")
    land.use.table.2$mcn[i] <- num_day_min(data.mcn, num.day = 90, min_or_med = "min")
    land.use.table.2$mir[i] <- num_day_min(data.mir, num.day = 90, min_or_med = "min")
    land.use.table.2$mnr[i] <- num_day_min(data.mnr, num.day = 90, min_or_med = "min")
    land.use.table.2$mtg[i] <- num_day_min(data.mtg, num.day = 90, min_or_med = "min")
    land.use.table.2$nch[i] <- num_day_min(data.nch, num.day = 90, min_or_med = "min")
    land.use.table.2$nci[i] <- num_day_min(data.nci, num.day = 90, min_or_med = "min")
    land.use.table.2$nir[i] <- num_day_min(data.nir, num.day = 90, min_or_med = "min")
    land.use.table.2$nnr[i] <- num_day_min(data.nnr, num.day = 90, min_or_med = "min")
    land.use.table.2$ntg[i] <- num_day_min(data.ntg, num.day = 90, min_or_med = "min")
    land.use.table.2$oac[i] <- num_day_min(data.oac, num.day = 90, min_or_med = "min")
    land.use.table.2$ohy[i] <- num_day_min(data.ohy, num.day = 90, min_or_med = "min")
    land.use.table.2$osp[i] <- num_day_min(data.osp, num.day = 90, min_or_med = "min")
    land.use.table.2$pas[i] <- num_day_min(data.pas, num.day = 90, min_or_med = "min")
    land.use.table.2$sch[i] <- num_day_min(data.sch, num.day = 90, min_or_med = "min")
    land.use.table.2$scl[i] <- num_day_min(data.scl, num.day = 90, min_or_med = "min")
    land.use.table.2$sgg[i] <- num_day_min(data.sgg, num.day = 90, min_or_med = "min")
    land.use.table.2$sho[i] <- num_day_min(data.sho, num.day = 90, min_or_med = "min")
    land.use.table.2$som[i] <- num_day_min(data.som, num.day = 90, min_or_med = "min")
    land.use.table.2$soy[i] <- num_day_min(data.soy, num.day = 90, min_or_med = "min")
    land.use.table.2$stb[i] <- num_day_min(data.stb, num.day = 90, min_or_med = "min")
    land.use.table.2$stf[i] <- num_day_min(data.stf, num.day = 90, min_or_med = "min")
    land.use.table.2$swm[i] <- num_day_min(data.swm, num.day = 90, min_or_med = "min")
    land.use.table.2$wfp[i] <- num_day_min(data.wfp, num.day = 90, min_or_med = "min")
    land.use.table.2$wto[i] <- num_day_min(data.wto, num.day = 90, min_or_med = "min")
  }
  
  write.csv(land.use.table, paste(dirpath, 'land.use.table.l30.csv', sep = '/'))
  write.csv(land.use.table.2, paste(dirpath, 'land.use.table.l90.csv', sep = '/'))
}
HARPgroup/openmi-om documentation built on March 4, 2023, 6:56 p.m.