The Sassy Scientist – Of Codes And Cares

The Sassy Scientist – Of Codes And Cares

On the matter of code choices, Alexa could have asked Siri, but instead chose an old-fashioned medium of enquiry compatible across all operating systems and wrote in to ask:

Should I perform my research with an in-house code, an open source code or a commercial code?

Dear Alexa,

As a famous novel does not quite begin, it is a truth universally acknowledged that a geodynamicist in possession of a good grant must be in want of a code. So how should you choose that code? You have already lit upon three possible courses of action in your question, so I will discuss the merits of each.

The in-house option depends entirely on the character of your project. As you may have observed, all happy research groups are alike; each unhappy collaboration is unhappy in its own way. Do you have the skills, patience, communication, good humour and time to make it work? If so and if one is lucky, a solitary scientific fantasy can transform one million segmentation faults into beautiful mountain belts and ocean basins. Clearly, however, a day wasted debugging others’ code is not wasted on one’s self, it requires a nobleness of heart to remember it, especially if the project publication list is looking a bit sparse.

If your research family cannot support in-house development, worry not because the real voyage of discovery consists, not of seeking new landscapes, but of having new eyes to see the scientific marvels therein. Using an external code will save much of the heartache of development, giving you time and space to really look around you. The question then remains, open source or commercial? There are several considerations here: financial, legal and practical. Whilst a smooth, intuitive, professional code may be a charming reconciler and peacemaker for a researcher, it is no good if there are simply not the funds to buy it. Conveniently though in geodynamics, the other two considerations lean towards using open source code. Geodynamics is a rather niche academic field. It does happily happen, but most of us are not developing codes with an eye to selling them to industry. The legal aspect, where an open source code may not be used for profiteering, is therefore of less concern to a geodynamicist than to a seismologist or mineralogist. Lastly there is the practical aspect: there are not a great many geodynamicists in the world, and with our strange penchant for modelling long time scales, complex media, high strains, enormous temperatures and non-linear rheologies, commercial codes are rarely optimised for our problems. With the advent of so many specialist geodynamics codes, modelling everything from subduction zones to phase transformations to plate movements and giving us beautiful ways to plot and map our results, why should we not stand on the shoulders of giants and forgive the open source codes their occasional lack of polish?

Yours truly,

The Sassy Scientist.

PS: This post is written fully in the expectation that the editor-in-chief will withdraw it due to the abuses to the literary cannon.

Avatar photo
I am currently employed at a first tier research institute where I am continuously working with the greatest minds to further our understanding of the solid Earth system. Whether it is mantle or lithosphere structure and dynamics, solid Earth rheology parameters, earthquake processes, integrating observations with model predictions or inversions: you have read a paper of mine. Even if you are working on a topic I haven’t mentioned here, I still know everything about it. Do you have any problems in your research career? I have already experienced them. Do you struggle with your work-life balance? Been there, done that. Nowadays, I have only one hobby: helping you out by answering the most poignant questions in geodynamics, research and life. I am waiting for you right here. Get inspired.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>