This simulation was the final project in my computer engineering applications (ie, Matlab) class. I was just following an algorithm and some initial conditions provided so I really don't know anything about the oil spill itself or if this is an accurate simulation, but I think it demonstrates a couple of useful techniques for graph generation & visualization. Please see the Source Code (GPL License)
This image shows the oil spill stemming from the center-left of the grid. The oil spreads almost immediately into the east, but the number of captures is set too low to see any cells become oil-free.
Matlab provides the very convenient movie() function, enabling visualizations of graph changes over time. This simulation uses a grid-overlayed scatterplot to show oil propagation and ties a number of these state captures together.
None of the default visualizations are really intended for spatial data. Conveniently, the simulation already works on a grid; After drawing a grid for each frame, the mapping from array data to spatial data is apparent.
I really wanted to use such toys as the Google Earth toolbox or the Google Maps loader to overlay the simulation grid on top of the real location in the Prince William Sound. I decided against it only because of the unknown accuracy of the simulation; It seemed a little pointless since I don't actually know which way the wind really blows.
Drawing a grid is actually a rather painful process, and attempting to do so on-the-fly would make the runtime unreasonable.
This script generates and saves a grid figure to serve as the field, then uses load(file, '-mat') to load the figure. I elected to use load instead of hgload in order to avoid opening the figure while drawing. Ironically, after going through all the effort of 'silently' drawing each frame, I discovered that movie() forces a frame to become visible briefly in order to capture it.
load(file, '-mat') loads the figure data into a matlab structure; The relevant figure data (a nested structure) is hiding inside of the hgS_070000 key. This is then converted into a figure with struct2handle(figure.hgS_070000, 0) -- the zero corresponding to the parent figure. ('root figure': the Matlab environment.)
With evaporation and wind velocity set to higher values, oil can be seen being blown out/evaporated out of cells. Most of the oil is just being blown around, though, probably mostly onto Bligh Island. (Directly to the east of the spill location. )