Home Research CV Documents Computing Tools Pictures


University of Washington
Box 357940
Seattle, WA 98105
eleanor@ocean.washington.edu
339A Ocean Sciences Building
Tel: 206-221-6734

Computing

- or, a collection of computer tools and software to help a physical oceanographer do what they do
  1. Get data and analyze it
  2. Much of what a physical oceanographer does is data analysis.  For me, this means computer programming.  My tool of choice is Matlab, but others use Ferret, numerical models, IDL, etc.  Since there is no standard programming tool, there is also no standard data format that works for everyone and everything.  As a result, much of the free downloadable data on the web--Argo hydrographic profiles, satellite data, climatologies--are in a variety of formats. For my own work, I've needed to download them and convert them to a Matlab-readable format in order to work with them. The first section below, downloading oceanographic data into Matlab is a collection of instructions and scripts to do that.

  3. Make figures showing the results
  4. We make figures to visualize the data and results. Since I use Matlab, my first step is to use matlab to make figures. There are a few free packages to improve the quality of Matlab figures. For publication-quality, I currently prefer GMT. I've included a brief list of Matlab to GMT equivalencies and comparisons. [I'll try to add some direct comparisons between Matlab and GMT figures. Many things in GMT you can do with Matlab, but you need to pick your renderer carefully, and hack the code. GMT makes things beautiful automatically, and beauty is a strength if it shows the results more clearly.]

  5. Talk to people about the results
  6. Once we have figures, we talk to people about them. If the collaborator isn't down the hall or upstairs, there are a number of great, free, internet services to improve communication.

  7. Write the paper
  8. The research paper needs to be written to document the results or findings. I use Latex for my writing, and have put up some quick instructions and templates for bibtex (to keep track of bibliographies) and presentations using the Latex beamer class. I plan to add a template for an oceanographic CV once I make one I like.



Steps and m-files to download oceanographic data - satellite, hydrographic, reanalysis and climatologies

In this section, I am including the details I have used to download and read data into Matlab from a variety of sources (Argo floats, satellite altimetry, NCEP/NCAR II Reanalysis, World Ocean Atlas and World Ocean Database).  The code is not extensively tested and is provided without guarantee of any kind.  For data sources like climatologies (World Ocean Atlas or World Ocean Database) I am primarily interested in temperature, salinity and pressure fields, so my code will deal mostly or only with those.  It may break when you try to use it.  Still, I offer it as a starting point to hopefully speed your progress towards the real scientific data analysis rather than spending hours converting data from one to another format.

Matlab figure tricks - packages and one-liners to make better figures

Here're some Matlab tricks to make figure improvements feasible.  For software packages available elsewhere, I'll show demos and describe capabilities (m_map and jlab), or link to useful files on the Matlab Central File Exchange.  For other tricks, I'll provide my own code snippets and examples.  At the time of writing, I am using 2007a.

Generic Mapping Toolbox a way to make better data figures - though not necessarily a better way to make figures

For publication quality figures, Matlab is not the best tool out there.  Some folks I know will import each final figure into Adobe Illustrator and replace every line, bit of text and pixel with sharper Illustrator bits.  I learned GMT before I learned Illustrator, so it is my tool of choice.  Yes, it adds an extra step to making your figures (as a Matlab user, I must export the data used to create the figure, then write a script in GMT to plot the figure).  However, given the number of times you may have to make and remake a figure, for print, web, projector or poster, you should probably be saving the data and writing a separate plotting figure in Matlab to ease the iterations.  And in the end, GMT is designed to make beautiful plots, while Matlab was designed for data analysis.  See for yourself.

Online tools to enable long-distance collaboration - internet phone, video chat and screen sharing

There are many tools for information sharing, internet phone and video chat, screen sharing, document editing etc available on the web for free!  Combine video chat and screen sharing (so you can POINT at part of a figure with your mouse rather than saying "you see those two dots over there?" which two dots? "those two dots, that form a line!") and you may be on different continents and hardly know it.   I'll describe the ones I'm familiar with for PC-PC, Mac-PC and Mac-Mac communication (Phone and video: Skype, iVisit; Screen-sharing: Unyte, VNC; Documents: Google docs, Word, Acrobat pro; web: Google (or other) wikis)

Latex how-to and templates - Bibtex and Beamer

There are tons of Latex help bits on the web.  I'll add my own to the pile, including a template for an oceanographic CV (basically, a regular CV but a with an additional section for cruises).  I'll also give my two-cents on presentations using Latex.  I use beamer, with minimal background fanciness, and YES you can include movies, and YES do the "slow-reveal" or line-by-line, bullet-by-bullet adding things to slides (though Tufte recommends against it).  What you can't do easily is align multiple figures (I hack it with nested minipages) or annotate figures.  Finally, I'll include structure for bibtex-ing for papers.