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?
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?
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.