diff --git a/greenGridr/R/processGridSpyFiles.R b/greenGridr/R/processGridSpyFiles.R
new file mode 100644
index 0000000000000000000000000000000000000000..0d25c5ac20ef77b3ef69c2494327105b10ec3cba
--- /dev/null
+++ b/greenGridr/R/processGridSpyFiles.R
@@ -0,0 +1,26 @@
+#' Functions for processing grid spy data files
+#'
+#' \code{list1mGridSpyFiles}. Lists all available 1 minute grid spy files from data repository. The functions, like most others in this package will fail
+#'    if you do not have the data in a folder/directory corresponding to 'path'. Code borrows extensively from similar SAVE project function.
+#'    This could take quite a long time if you have a lot of files.
+#' @param fpath the name of the directory where the function should look
+#' @param pattern a pattern to match. Use the pattern to filter e.g. 1m (xx_at1.csv) from 30s () files
+#'
+#' @author Ben Anderson, \email{b.anderson@@soton.ac.uk}
+#' @export
+#'
+list1mGridSpyFiles <- function(fpath, pattern){
+  # /Volumes/hum-csafe/Research Projects/GREEN Grid/_RAW DATA/GridSpyData
+  # "*at1.csv$"
+  print(paste0("Looking for files matching ", pattern, " in ", fpath))
+  fileListDT <- as.data.table(list.files(path = fpath, pattern = pattern, # use the pattern to filter e.g. 1m from 30s files
+                                         recursive = TRUE))
+  fileListDT <- fileListDT[,
+                           c("hhID","fileName") :=  tstrsplit(V1, "/") # get actual household id & filename
+                           ]
+  fileListDT <- fileListDT[,
+                           fullPath := paste0(fpath,"/",V1) # get actual file name
+                           ]
+  print(paste0("Found ", tidyNum(nrow(fileListDT)), " of them."))
+  return(fileListDT)
+}