Dan J. Bower
Seismological Laboratory, Caltech, MC 252-21, Pasadena, CA 91125-2100, USA
Tools of the Trade
I am an advocate for open-source software use in academia. Although there may be inertia when migrating to an open-source mentality, skeptics soon discover software that is often more robust, faster, more versatile, and customisable than proprietary equivalents. In this corner of my website I pay tribute to the communities that continue to develop, maintain and support open-source software projects, particularly those pertinent to academic research.
Here are my tools of the trade (in alphabetical order):
- "Completely free enterprise-ready Python distribution for large-scale data processing, predictive analytics, and scientific computing". This is great software for hassle-free installation of python and scientific packages (numpy, scipy, matplotlib, etc.). Highly recommended.
Computational Infrastructure for Geodynamics (CIG) (http://www.geodynamics.org/)
- "A membership-governed organization that supports and promotes Earth science by developing and maintaining software for computational geophysics and related fields". For mantle convection, CIG distributes and develops Aspect, CitcomCU, CitcomS, and ConMan.
Generic Mapping Tools (GMT) (http://gmt.soest.hawaii.edu/)
- "Command-line tools for manipulating geographic and Cartesian data sets".
- Bibliography reference manager. Although the GUI is basic in comparison to other options, the main advantage is that JabRef reads and writes directly to a BibTeX .bib file. It therefore ensures that special characters and capitalisations are correct in the reference entries of LaTeX documents.
LaTeX and BibTeX (http://www.latex-project.org/ and http://www.bibtex.org/)
- With elementary scripting ability you can produce staggeringly beautiful and well-rendered documents (even presentations with the beamer class) in LaTeX whilst BibTeX robustly creates your bibliography from a database of entries. The fundamental ethos is that content and style are separate components of the document and thus can easily be isolated from one another. This freedom allows an author to produce, for example, a journal article using a particular style file from the publisher, and then later changing just the style file (i.e. one line of the script) to merge the textual content into a thesis.
- Arguably the most visible example of open-source software and the operating system of choice for workstations and supercomputers. I personally prefer the usability of Ubuntu but there are other great Linux distributions available.
- Robust visualisation software package for bringing VTK files to life. Ideal for making 3-D eye candy for your latest grant proposal or Science journal cover.
- The workhorse for my scripting to predominantly pre- and post-process datasets and prototype models. Also provides a great framework for dealing with VTK files through the Visualization Toolkit (VTK) python bindings. Along with the NumPy, SciPy, and matplotlib packages you will never again be required to have an internet connection and battle with the rest of an academic campus for MATLAB licenses.
Apache Subversion (svn) (http://subversion.apache.org/)
- Keeps track of the modifications made to files (e.g., python scripts, LaTeX documents). Particularly useful when multiple parties are contributing to a project.
- Every computational scientist has their text editor of choice and over the years I have largely settled on Vim because it is so ubiquitous. One day I should examine emacs more carefully, but for the time being at least my editing needs are fully satisfied by Vim.
Visualization Toolkit (VTK) (http://www.vtk.org/)
- VTK and the associated python bindings provide a set of convenient functions to read/write/edit VTK files which can then be visualized using software such as Paraview.