The YoSurfer website was a huge challenge. Creating a range of graphical surf reports for around 5,000 surf spots around the world was an ambitious project and required a range of skills from web design to installing meteorological software.
The first task was acquiring the data for the state of the World’s oceans. This is freely available several times a day from the National Oceanic and Atmospheric Administration (NOAA) in America. The first problem to overcome was how to get this data from a ‘grib’ file into a database. This was solved using ‘degrib’ software which was installed on the hosting server. The next problem was putting this sheer volume of data into the local database, several million rows a day. To do this the files are converted to CSV which can then be quickly be loaded into the database using MySQL’s LOAD DATA INFILE function.
The next step was to produce the graphical / heat-map type representations of this data. This took hours of internet forums, sifting from sparse documentation and mostly trial and error. The software to do this is GrADS which was also installed on the server. This is used to produce maps for swell size, wind speed and water temperature. Further software was also installed to calculate tide times.
Compared to this the rest of the site development was familiar territory. It is built using the Codeigniter PHP framework and relies heavily on the caching functionality. One work around that was required was to allow logged in users access to certain dynamic features on pages that are cached. This was achieved using AJAX to write to the loaded page dynamically so offering a mix of cached and dynamic content.