Architecture
The model is run on a server in a JavaScript environment called Google Apps Script. The main advantages of this is that Google Apps Script programs are free, can be run on time-driven triggers, and can interact with Google services such as Google Sheets, which is useful for data storage. The model is run every 5 minutes, corresponding to the update cycle of the radar mosaic images.
Data
The model has just one data source: radar images. Specifically, the model uses sections of U.S. radar mosaics provided by the Iowa Environmental Mesonet. These images, which are actually GIS map overlay tiles, are provided in PNG format. Unfortunately, Apps Script does not have a built-in API for working with PNGs (such as the canvas API in web browsers), so the model includes a custom-built PNG parser function that intakes raw binary PNG data and outputs an array of RGB colors corresponding to the pixels of the image. Each element on this array is then compared against a key to covert it to an array of precip intensity.
Algorithm
Once the model is run, it begins by assembling radar mosaic data from the last 65 minutes in 5-minute increments. From this, a general precip direction and speed for the entire view is calculated for each consecutive increment, and then averaged together. Using the direction value, a line drawing algorithm is then used to create an array of precip intensity values going out from the pre-determined location. Then, certain precip intensity values are picked from the array based on the speed value to create a 60-minute prediction in 1-minute increments. This is then normalized using a rolling average and saved to a Google Sheet along with the time of the model run.
Utility and Limitations
The fact that the model is not an actual atmospheric simulation and instead a set of geometric algorithms based on radar data give it some distinct advantages, but also disadvantages. It is very easy and fast to run, so it has the ability to 'nowcast' unlike a traditional weather model, but it cannot in any way anticipate or account for the dynamic and chaotic atmosphere.
Verification
It is important to measure and track the accuracy of the model, which is why this website will soon include a number of metrics and charts for that purpose in the 'Verification' section. This is currently a work in progress.