## 3 Results  
Almost a terabyte of image data was collected at NREL from 15 October 2015 through 16 April 2016. The measured DNI values were recorded using NREL's CHP1-L pyranometer with units of Watts/m\({}^{2}\). Days were grouped into three categories: (1) Clear Sky; consisting of predominantly clear days with little or no cloud cover; (2) Overcast; large masses of clouds that obscure the sun for most of the day; and finally (3) Moderately Cloudy; characterized by large variation in irradiance values and multiple ramp events. For Clear Sky and Overcast conditions there is no forecasting to do -persistence can't be beat. Other cloud cover classifications are possible. One could use unsupervised ML clustering algorithms on the raw irradiance data to find other breakdowns. Standard METAR cloud classification separates clouds into low, middle, and high level. All clouds affect measured irradiance [68]. We focus on cumulus clouds because they have the greatest effect on ramp events. Prediction of intra-hour GHI can be partitioned into several distinct sub-tasks. (1) Acquiring a time series of all-sky images. Every 15 s a new raw image is fused [69] from three different exposure times to allow for High Dynamic Range (HDR) [70]. (2) Using the recent past images and optical flow to extrapolate cloud locations 15 min into the future. It is possible to enhance the algorithm, but it must not hamper production of real time forecasts. (3) Using the predicted image and the weights from training the neural network, a predicted GHI value is output to the microgrid management system. In the original configuration, our software used optical flow to track movement of cumulus clouds and then ray tracing to predict cloud shadow locations. A better methodology would utilize artificial intelligence (AI) to classify the reduction in GHI that will result when cumulus clouds are predicted in the circumsolar region. It is expensive to train neural networks, but this is done offline for a given location. Once optimal weights are determined, the calculation of a single GHI value is very fast-amounting to an inner product. If the optical flow calculation requires too much time, a second single board computer can be added to the hardware as was employed at NREL. Details of our research on machine learning to predict solar irradiance are described in the paper [9]. Our intent here is to provide the reader with a concise summary of that research. A critical outcome was verification that the SkyImager with the Pi camera can measure GHI in real time. Lacking the accuracy of an expensive pyranometer, this approach would use the image sequence acquired to solve the forecasting problem, in order to simultaneously estimate GHI. This data could be  
Figure 16: Feature matching by SIFT algorithm in a pair of images from both cameras. incorporated with readings from the WeatherBoard to provide additional inputs to the MGMS using MQTT or DDS protocols. Variables that are considered deterministic should be treated as stochastic random variables. Convolutional neural networks [58] which preserve spatial information offer the best performance for image datasets. Expensive offline training of the networks is normally done one time but it is possible to do continuous learning where the networks use feedback in the form of newly acquired data to refine the learned weights. In the field of machine learning, there are standard ways of visualizing both the input dataset consisting of vectors in a high dimensional space, as well as targets and predicted outputs. The UTSA SkyImager collected all images in this study on the ESIF building rooftop at NREL as part of the INTEGRATE project. During 147 days from October, 2015 until May, 2016 there were 14 days of no data collected (technical reasons) and 27 days of partial data collection. The remaining 106 days of no missing data formed the inputs for training and testing the neural networks. This yielded 156,495 observations (examples or rows) for input to the neural networks.