I'm a programmer, but I'm no mathematician, so I need a little help understanding what is required to accomplish this task.
Here's a short explanation of the data I have from the Coastal Data Information Program (CDIP) site:
//h-----------------------------------------------------------------------------
//h .root/data_access/MEM_2dspectra.cdip
//h
//h Creates a 2D (dir/freq) energy spectra from a standard CDIP spectral
//h file using the Maximum Entropy Method (MEM).
//h
//h NOTE: This is ONE WAY to estimate a 2d spectrum from the buoy data.
//h CDIP uses it because it makes narrow directional spectra for swell in the
//h Pacific.
//h
//h By default the directions are grouped in 5-degree bins, and the
//h frequencies bands are the same as in the sp file. Values are given
//h in units of m*m/Hz/deg.
//h
//h Data is output as a matrix: +------Direction bands------>
//h - First column is centered at 5 degrees; | 72 columns
//h - Last column is centered at 360 degrees; |
//h - First row is the lowest freq (.025 Hz |
//h for directional buoys); Frequency bands
//h - Last row is the highest freq (.58 Hz | 64 rows for
//h for directional buoys); | directional buoys
//h |
//h v
//h
//h Arguments: 1 - either a 3-digit station ID (or 5-digit MO ID) for the
//h latest data, or a 19-character sp (or mp) filename.
//h 2 - optional; set to 'even' to get evenly spaced freq bands,
//h all with a bandwidth of 0.01Hz (0.03Hz-0.58Hz)
//h
//h Usage:
//h http://cdip.ucsd.edu/data_access/MEM_2dspectra.cdip?{args}
//h where {args} examples are:
//h 1. h -> returns this help
//h 2. 029 -> MEM spectra for most recent 029 sp
//h 3. sp10001200606232058 -> MEM spectra for sp10001200606232058
//h 4. 106+even -> Latest 106 spectra, 0.01Hz bands
Here's a sample of the data for buoy 100 (Torrey Pines): http://cdip.ucsd.edu/data_access/MEM_2dspectra.cdip?100
Here's the resulting heat or intensity map from CDIP: http://cdip.ucsd.edu/?nav=recent&sub=observed&units=metric&tz=UTC&pub=public&map_stati=1,2,3&stn=100&stream=p1&xitem=dir_spectrum
How do I take this data and create the heat or intensity map?
P.S. I'm looking at various image processing and graphics libraries, such as GD, ImageMagic and GnuPlot, as well as Ruby-specific solutions like RMagick or the ruby-gd gem, and also looked at Google Visualization options. If you have any suggestions with respect to the programming side of things, by all means make a suggestion, but overall I need to understand the idea first before I can approach the programming aspects of this problem.