EGU General Assembly 2022
© Author(s) 2022. This work is distributed under
the Creative Commons Attribution 4.0 License.

The Recipes for Earth Sciences Go Trilingual: MATLAB, Python and Julia

Martin H. Trauth
Martin H. Trauth
  • University of Potsdam, Institute for Geosciences, Potsdam, Germany (

It’s been almost 30 years since I started with MATLAB, coming from FORTRAN77, and at a time when Python was still in its infancy and 20 years before Julia was developed. However, I recognize the popularity of Python, including the growing prevalence of Julia, and find that a bilingual and trilingual version of my MATLAB-based books and my courses could be beneficial. I’ve been learning Python for a few months now, with the goal of writing a Python version of my first book, MATLAB Recipes for Earth Sciences, 5th Edition (Springer 2021). In the meantime, almost all chapters of the book, with topics such as time series analysis, signal processing, digital terrain analysis and image processing, have been translated from MATLAB into Python, some also into Julia. Using the trilingual code in a master's course shows an unexpected but extremely positive side effect: students get away from a particular software or programming language, and focus instead on the method they want to implement. In addition, solutions often use mixtures of programming languages, exploiting the advantages of each. This is an advantage, also helps a lot to produce sustainable and reproducible code. Furthermore, this approach makes the students fit for a job in academia or industry, where other software tools are used than the ones we use in class. Here, I will share my experiences with courses on data analysis in earth sciences with 2–3 programming languages and with translating a data analysis book from one to another programming language.

How to cite: Trauth, M. H.: The Recipes for Earth Sciences Go Trilingual: MATLAB, Python and Julia, EGU General Assembly 2022, Vienna, Austria, 23–27 May 2022, EGU22-2165,, 2022.

Comments on the display material

to access the discussion