People Skills Needed
At the heart of the BCO-DMO operation are the efforts of the Data Managers working closely with investigators and other data contributors. Besides needing to understand how the various components of the BCO-DMO Data Management System work, they require and have a broad and oftentimes deep knowledge of oceanographic data: how the data are collected, processed and used. This enables them to "talk the same language" as the scientists with whom they work and at the same time make useful recommendations for how best to serve the scientists' data.
Collectively, BCO-DMO's Data Managers can deal with a wide variety of data, including but not limited to biological, chemical and physical oceanography measurements. We routinely deal with CTD, biological abundance, meteorological, nutrient, pH, carbonate, PAR, sea surface temperature, heat and momentum flux, sediment composition, trace metals, primary production, and pigment concentration measurements, and with images and movies.
No computer based system can operate without the skills of computer programmers. Many programmer skill sets are needed to support BCO-DMO's data management system. These include:
- Perl - For MapServer code (although it may be available in other languages as well); for our Perl library which provides access to our MySQL-based metadata database; for several Perl based report applications; and for some parts of the JGOFS/GLOBEC data management system.
- C language - The JGOFS/GLOBEC data management system is mainly written in C, and familiarity with Unix scripting languages is also necessary.
- PHP - Drupal modules are written in PHP, and some of our newer applications use PHP; also, some of the geospatial access software is written in PHP.
- Drupal - This public domain content management system manages and serves all our web content, including all the metadata for the data we manage.
- OpenLayers - Provides the interface for interrogating and drawing some of the features in our geospatial interface.
- JavaScript, ExtJS and other JavaScript libraries - Adds to the online environment, using widgets, etc.
- SQL - We use MySQL as the relational database, although others will work too.
- HTML, CSS - Website.
- Systems programming - Support hardware and system software updates, backup strategy and implementation, and deal with unexpected system failures.