Our main computing platform is Linux, as opposed to one of those other
lesser OS's. While it would have been possible to
do what we do on most other brands of Unix, Linux seems to make development
just a bit little easier (and a heck of a lot more fun).
I mean, what other operating system would ship a utility like ddate?
And according to ddate...
All hail Discordia!!
MATLAB is the compute engine behind our processing. A series of m-files
execute on an hourly basis to ingest new data, append it to our NetCDF files,
produce all the plots, and update our latest observations database.
MATLAB is usually run interactively, but can also be set up to run periodically (via cron jobs), and every time a buoy phones in a new set of observations, it's MATLAB that processes the data. It may not be free, BUT IT'S WORTH EVERY PENNY (no I don't own any Mathworks stock).
|MySQL is the underlying database that drives our processing. Thank goodness an interface between it and MATLAB exists (thanks to Kimmo Uutela at the Low Temperature Laboratory, Helsinki Institute of Technology). The interface has just been rock-solid. And MySQL was a breeze to set up and administer. If you have Linux on your system, chances are good it came with MySQL already installed, so check it out!|
|If you are going to do dynamic database-driven web content, then you just have to take a gander at PHP. Practically all the content having to do with buoys on the GoMOOS web site is produced using PHP.|
|NetCDF is a self-describing machine-independent file format for representing scientific data. It is particularly well-suited to time series data. We use it as a permanent repository for the buoy data, which is then fed into the MySQL database. "But isn't that redundant?" you may ask. Not on your life. It's much easier to track and QC the data with NetCDF files serving as the basis than it would be otherwise. Self-describing file formats rule. NetCDF is freely available and has interfaces for C, Perl, Matlab, Java, Fortran, and Python.|
Questions? Contact the Webmaster