This script will find the national average, min, and max temperatures for each day (Fahrenheit) as well as the total precipitation (inches).

library(prism)
library(tidyverse)
library(lubridate)
library(DomoR)
library(raster)

options(prism.path = "./PRISM_Files")
prismFileList <- ls_prism_data(absPath = TRUE)

stableMean <- prismFileList[which(grepl("_tmean_stable_4kmD1_",
                                       prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = 26, end = -5)))

lastStableDate <- max(stableMean$Date)

get_prism_dailys(type = "ppt",
                 minDate = lastStableDate,
                 maxDate = Sys.Date() - 1,
                 keepZip = F)

get_prism_dailys(type = "tmean",
                 minDate = lastStableDate,
                 maxDate = Sys.Date() - 1,
                 keepZip = F)

get_prism_dailys(type = "tmax",
                 minDate = lastStableDate,
                 maxDate = Sys.Date() - 1,
                 keepZip = F)

get_prism_dailys(type = "tmin",
                 minDate = lastStableDate,
                 maxDate = Sys.Date() - 1,
                 keepZip = F)
stablePpt <- prismFileList[which(grepl("_ppt_stable_4kmD",
                                       prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5)))

lastStableDate <- max(stablePpt$Date)

provisionalPpt <- prismFileList[which(grepl("_ppt_provisional_4kmD",
                                            prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5))) %>%
        filter(Date > ymd(lastStableDate))

lastProvisionalDate <- max(provisionalPpt$Date)

earlyPpt <- prismFileList[which(grepl("_ppt_early_4kmD",
                                      prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5))) %>%
        filter(Date > ymd(lastProvisionalDate))

lastEarlyDate <- max(earlyPpt$Date)

pptFiles <- stablePpt %>%
        rbind(provisionalPpt) %>%
        rbind(earlyPpt)

stableMean <- prismFileList[which(grepl("_tmean_stable_4kmD",
                                       prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5)))

provisionalMean <- prismFileList[which(grepl("_tmean_provisional_4kmD",
                                            prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5))) %>%
        filter(Date > ymd(lastStableDate))

earlyMean <- prismFileList[which(grepl("_tmean_early_4kmD",
                                      prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5))) %>%
        filter(Date > ymd(lastProvisionalDate))

meanFiles <- stableMean %>%
        rbind(provisionalMean) %>%
        rbind(earlyMean)

stableMax <- prismFileList[which(grepl("_tmax_stable_4kmD",
                                        prismFileList$files)),] %>%
        mutate(Date = (str_sub(files, start = -12, end = -5)))

provisionalMax <- prismFileList[which(grepl("_tmax_provisional_4kmD",
                                             prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5))) %>%
        filter(Date > ymd(lastStableDate))

earlyMax <- prismFileList[which(grepl("_tmax_early_4kmD",
                                       prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5))) %>%
        filter(Date > ymd(lastProvisionalDate))

maxFiles <- stableMax %>%
        rbind(provisionalMax) %>%
        rbind(earlyMax)

stableMin <- prismFileList[which(grepl("_tmin_stable_4kmD",
                                       prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5)))

provisionalMin <- prismFileList[which(grepl("_tmin_provisional_4kmD",
                                            prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5))) %>%
        filter(Date > ymd(lastStableDate))

earlyMin <- prismFileList[which(grepl("_tmin_early_4kmD",
                                      prismFileList$files)),] %>%
        mutate(Date = ymd(str_sub(files, start = -12, end = -5))) %>%
        filter(Date > ymd(lastProvisionalDate))

minFiles <- stableMin %>%
        rbind(provisionalMin) %>%
        rbind(earlyMin)

if (!file.exists("stableData.csv")) {
        i <- 1
        
        nationalDaily <- data.frame(Date = stableMean$Date) %>%
                mutate(tmean = NA, 
                       tmax = NA,
                       tmin = NA,
                       ppt = NA)
        
        for (i in 1:length(stableMean$Date)) {
                r = raster(meanFiles$abs_path[i])
                r_spdf = as(r, "SpatialPixelsDataFrame")
                r_df = as.data.frame(r_spdf)
                colnames(r_df) = c("value", "x", "y") 
                nationalDaily$tmean[i] <- mean(r_df$value)
                
                r = raster(maxFiles$abs_path[i])
                r_spdf = as(r, "SpatialPixelsDataFrame")
                r_df = as.data.frame(r_spdf)
                colnames(r_df) = c("value", "x", "y") 
                nationalDaily$tmax[i] <- max(r_df$value)
                
                r = raster(minFiles$abs_path[i])
                r_spdf = as(r, "SpatialPixelsDataFrame")
                r_df = as.data.frame(r_spdf)
                colnames(r_df) = c("value", "x", "y") 
                nationalDaily$tmin[i] <- min(r_df$value)
                
                r = raster(pptFiles$abs_path[i])
                r_spdf = as(r, "SpatialPixelsDataFrame")
                r_df = as.data.frame(r_spdf)
                colnames(r_df) = c("value", "x", "y") 
                nationalDaily$ppt[i] <- sum(r_df$value)
                
                i = i + 1
        }
    write.csv(nationalDaily, file = "stableData.csv")
}

stableData <- read.csv("stableData.csv") %>% 
        dplyr::select(-1) %>%
        mutate(Date = as.Date(Date))

if (lastStableDate > stableData$Date[length(stableData$Date)]) {
        i <- length(stableData$Date) + 1
        
        newStableDates <- data.frame(Date = stableMean$Date[i:length(stableMean$Date)],
                                     tmean = NA, tmax = NA, tmin = NA, ppt = NA)
        
        stableData <- rbind(stableData, newStableDates)
        
        for (i in i:length(stableMean$Date)) {
                r = raster(meanFiles$abs_path[i])
                r_spdf = as(r, "SpatialPixelsDataFrame")
                r_df = as.data.frame(r_spdf)
                colnames(r_df) = c("value", "x", "y") 
                stableData$tmean[i] <- mean(r_df$value)
                
                r = raster(maxFiles$abs_path[i])
                r_spdf = as(r, "SpatialPixelsDataFrame")
                r_df = as.data.frame(r_spdf)
                colnames(r_df) = c("value", "x", "y") 
                stableData$tmax[i] <- max(r_df$value)
                
                r = raster(minFiles$abs_path[i])
                r_spdf = as(r, "SpatialPixelsDataFrame")
                r_df = as.data.frame(r_spdf)
                colnames(r_df) = c("value", "x", "y") 
                stableData$tmin[i] <- min(r_df$value)
                
                r = raster(pptFiles$abs_path[i])
                r_spdf = as(r, "SpatialPixelsDataFrame")
                r_df = as.data.frame(r_spdf)
                colnames(r_df) = c("value", "x", "y") 
                stableData$ppt[i] <- sum(r_df$value)
                
                i = i + 1
        }
        write.csv(stableData, file = "stableData.csv")
}

stableData <- read.csv("stableData.csv") %>% 
        dplyr::select(-1) %>%
        mutate(Date = as.Date(Date))

nationalDaily <- data.frame(Date = meanFiles$Date) %>%
        left_join(stableData)

i <- length(stableData$Date)

for (i in i:length(nationalDaily$Date)) {
        r = raster(meanFiles$abs_path[i])
        r_spdf = as(r, "SpatialPixelsDataFrame")
        r_df = as.data.frame(r_spdf)
        colnames(r_df) = c("value", "x", "y") 
        nationalDaily$tmean[i] <- mean(r_df$value)
        
        r = raster(maxFiles$abs_path[i])
        r_spdf = as(r, "SpatialPixelsDataFrame")
        r_df = as.data.frame(r_spdf)
        colnames(r_df) = c("value", "x", "y") 
        nationalDaily$tmax[i] <- max(r_df$value)
        
        r = raster(minFiles$abs_path[i])
        r_spdf = as(r, "SpatialPixelsDataFrame")
        r_df = as.data.frame(r_spdf)
        colnames(r_df) = c("value", "x", "y") 
        nationalDaily$tmin[i] <- min(r_df$value)
        
        r = raster(pptFiles$abs_path[i])
        r_spdf = as(r, "SpatialPixelsDataFrame")
        r_df = as.data.frame(r_spdf)
        colnames(r_df) = c("value", "x", "y") 
        nationalDaily$ppt[i] <- sum(r_df$value)
        
        i = i + 1
}

nationalDaily <- nationalDaily %>%
        mutate(meanTemp = (tmean * 9/5) + 32,
               maxTemp = (tmax * 9/5) + 32,
               minTemp = (tmin * 9/5) + 32,
               pptInches = ppt/25.4) %>%
        dplyr::select(-tmean, -tmax, -tmin, -ppt)

load("domoCustomer")
load("domoAccessToken")
DomoR::init(domoCustomer, domoAccessToken)
#DomoR::create(nationalDaily, "National Weather Meta Data")
DomoR::replace_ds("50623da1-cdfc-4237-bf83-ce0321459349", nationalDaily)

head(nationalDaily %>% arrange(desc(Date)))