Geochemical Modelling of Igneous Processes – Principles and Recipes in R language*

Book Review -- Geochemical Modelling of Igneous Processes - Principles and Recipes in R LanguageOver the past few decades, igneous petrology has gained great power because geochemical modeling can now be used to test geological hypotheses. Technological advances have led to an exponential increase in high-quality geochemical data for igneous rocks and minerals, which is being used to decipher processes in the Earth’s crust and upper mantle. Particularly powerful have been the use of trace elements and radiogenic isotopes. The abundant geochemical data on rocks has been supported by experimental studies, particularly on the behaviour of trace elements, such that we now have a rich database of well-­determined mineral–melt partition coefficients which are used in much of the modelling. Of course, our models are just that: geochemical modelling does not always have the ability to produce a unique solution to a geological problem. Nevertheless, modelling offers a powerful way by which to place limits on a range of possible geological processes.

Clearly, good computer tools are necessary in this field, and there a large number of software packages which serve this purpose. This book is about one of the more recent developments. The authors tell us in their preface that this new offering is an improvement on previous programs inasmuch as it is not a ‘black box’ with inaccessible code in which the user loses track of what is happening to their data. Rather, the authors offer a programming tool with code which can be easily understood and adapted to the user’s needs and which produces publication-quality graphics. Thus, we are introduced to the R language and the software package Geochemical Data Toolkit (GCDkit), both freely available online at and capable of functioning on all the main platforms. All this makes the book something of a hybrid. In part, it is a textbook which discusses the theory of geochemical modelling as applied to whole-rock major and trace element data and to radiogenic isotopes; yet it is also a handbook which shows how the modelling might be carried out using the programming language R and the software package GCDkit. For this reason, this is not so much a book to read but a book to use.

The book begins with an introduction to the R language and the GCDkit package and shows, with a large number of examples, how geochemical data can be manipulated and plotted using these tools. The detailed syntax of the R language and the GCDkit package are explained more fully in appendices. GCDkit allows the user to carry out a number of statistical routines and plot many of the conventional geochemical and geotectonic diagrams, all of which are accessed from drop-down menus within the R console.

The heart of the book discusses how to use major elements, trace elements and radiogenic isotopes in geochemical modelling and covers all the major geochemical processes: fractional crystallisation, assimilation and fractional crystallization (AFC) processes, partial melting, and mixing. In this part of the text, the emphasis is on processes and their mathematical and graphical expression. Subsequent chapters are devoted to how these processes can be modelled in the R language, and guidance is given on the necessary coding. At present there is no facility to carry this modelling within the GCDkit package, although the authors have announced on-line that this capability will soon be released.

The final part of the book is about the practicalities of geochemical modelling, including two extensive case studies. It is written in a different style and becomes more of a petrology text with less emphasis on coding. The authors discuss the limitations of geochemical modelling and provide practical advice on how to constrain a geochemical model using geological and petrological information. They also discuss how an initial semi-quantitative approach to geochemical modelling using information gleaned from bivariate plots, published partition coefficients and the potential role of accessory phases is often an important place to start. I applaud the emphasis on the importance of geological controls on geochemical models for there is always a danger in attempting to solve geological problems with ever-increasing amounts of geochemical data without ground-truthing the models in the field.

If this book has a bias it is towards the geochemistry of felsic igneous rocks. This is illustrated in many of the exercises and worked examples in the text and also in the case-study on migmatites in the final chapter. However, felsic rocks are difficult to model geochemically because they do not always behave as true melts. Rather they often comprise mineral–melt mixtures. It is perhaps for this reason that we do not find here a comparison with packages such as MELTS, which is designed to model magmatic evolution in igneous systems in which there is a clearer delineation between the melt and the solid phases.

I did not find this an easy book to read. I was constantly being distracted by the large number of minor misuses of English grammar, vocabulary and expression. One constantly recurring example is the use of the term ‘reverse modelling’, instead of the more widely used (and more accurate) term, ‘inverse modelling’. These minor errors pervade the text and could easily have been addressed by careful proof reading by the authors and the editors.

The authors tell us that text is intended for ‘senior undergraduate and postgraduate courses as well as professional geochemists wanting to use R and GCDkit’. I agree. A starting graduate student in geochemistry would benefit from spending time with this book. It is well produced, the text is clear and the coding sections are printed in a different font for clarity, it is well illustrated with excellent diagrams, some of which are in colour, and each chapter is thoroughly referenced.


Janoušek V, Moyen J-F, Martin H, Erban V, Farrow C (2016) Geochemical modelling of igneous processes – principles and recipes in R language. Springer Heidelberg Germany, 346 pp, ISBN 978-3-662-46791-6, $99.00 (Hardback), $69.99 (ebook)